diff --git a/.github/workflows/scripts/linux/build-dependencies-qt.sh b/.github/workflows/scripts/linux/build-dependencies-qt.sh index 95dec36e2da65..f0d9d8742a8dd 100755 --- a/.github/workflows/scripts/linux/build-dependencies-qt.sh +++ b/.github/workflows/scripts/linux/build-dependencies-qt.sh @@ -16,10 +16,10 @@ fi LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075 LIBJPEG=9f -LIBPNG=1.6.44 -LIBWEBP=1.4.0 +LIBPNG=1.6.45 +LIBWEBP=1.5.0 LZ4=b8fd2d15309dd4e605070bd4486e26b6ef814e29 -SDL=SDL2-2.30.10 +SDL=SDL2-2.30.11 QT=6.8.1 ZSTD=1.5.6 @@ -34,10 +34,10 @@ cd deps-build cat > SHASUMS < SHASUMS < SHASUMS < + + $path + $version + + + "@ + + Write-Host $output + + $output | Out-File Directory.build.props + # actions/checkout elides tags, fetch them primarily for releases - name: Fetch Tags if: ${{ inputs.fetchTags }} diff --git a/3rdparty/cpuinfo/include/cpuinfo.h b/3rdparty/cpuinfo/include/cpuinfo.h index 387611cc9bd3b..6eb4b8c38efc2 100644 --- a/3rdparty/cpuinfo/include/cpuinfo.h +++ b/3rdparty/cpuinfo/include/cpuinfo.h @@ -419,6 +419,8 @@ enum cpuinfo_uarch { cpuinfo_uarch_zen3 = 0x0020010B, /** AMD Zen 4 microarchitecture. */ cpuinfo_uarch_zen4 = 0x0020010C, + /** AMD Zen 5 microarchitecture. */ + cpuinfo_uarch_zen5 = 0x0020010D, /** NSC Geode and AMD Geode GX and LX. */ cpuinfo_uarch_geode = 0x00200200, @@ -818,6 +820,7 @@ struct cpuinfo_x86_isa { bool avx512vp2intersect; bool avx512_4vnniw; bool avx512_4fmaps; + bool avx10_1; bool amx_bf16; bool amx_tile; bool amx_int8; @@ -1433,6 +1436,14 @@ static inline bool cpuinfo_has_x86_avx_ne_convert(void) { #endif } +static inline bool cpuinfo_has_x86_avx10_1(void) { +#if CPUINFO_ARCH_X86 || CPUINFO_ARCH_X86_64 + return cpuinfo_isa.avx10_1; +#else + return false; +#endif +} + static inline bool cpuinfo_has_x86_hle(void) { #if CPUINFO_ARCH_X86 || CPUINFO_ARCH_X86_64 return cpuinfo_isa.hle; diff --git a/3rdparty/cpuinfo/src/arm/cache.c b/3rdparty/cpuinfo/src/arm/cache.c index dd19919311b15..97740c43722ff 100644 --- a/3rdparty/cpuinfo/src/arm/cache.c +++ b/3rdparty/cpuinfo/src/arm/cache.c @@ -1341,7 +1341,8 @@ void cpuinfo_arm_decode_cache( * information, please refer to the technical manuals * linked above */ - const uint32_t min_l2_size_KB = uarch == cpuinfo_uarch_neoverse_v2 ? 1024 : 256; + const uint32_t min_l2_size_KB = + (uarch == cpuinfo_uarch_neoverse_v2 || midr_is_ampere_altra(midr)) ? 1024 : 256; const uint32_t min_l3_size_KB = 0; *l1i = (struct cpuinfo_cache){ diff --git a/3rdparty/cpuinfo/src/arm/midr.h b/3rdparty/cpuinfo/src/arm/midr.h index 89ebbb5836809..5530d5a9960e9 100644 --- a/3rdparty/cpuinfo/src/arm/midr.h +++ b/3rdparty/cpuinfo/src/arm/midr.h @@ -34,6 +34,7 @@ #define CPUINFO_ARM_MIDR_KRYO_SILVER_820 UINT32_C(0x510F2110) #define CPUINFO_ARM_MIDR_EXYNOS_M1_M2 UINT32_C(0x530F0010) #define CPUINFO_ARM_MIDR_DENVER2 UINT32_C(0x4E0F0030) +#define CPUINFO_ARM_MIDR_AMPERE_ALTRA UINT32_C(0x413fd0c1) inline static uint32_t midr_set_implementer(uint32_t midr, uint32_t implementer) { return (midr & ~CPUINFO_ARM_MIDR_IMPLEMENTER_MASK) | @@ -167,6 +168,11 @@ inline static bool midr_is_kryo_gold(uint32_t midr) { return (midr & uarch_mask) == (CPUINFO_ARM_MIDR_KRYO_GOLD & uarch_mask); } +inline static bool midr_is_ampere_altra(uint32_t midr) { + const uint32_t uarch_mask = CPUINFO_ARM_MIDR_IMPLEMENTER_MASK | CPUINFO_ARM_MIDR_PART_MASK; + return (midr & uarch_mask) == (CPUINFO_ARM_MIDR_AMPERE_ALTRA & uarch_mask); +} + inline static uint32_t midr_score_core(uint32_t midr) { const uint32_t core_mask = CPUINFO_ARM_MIDR_IMPLEMENTER_MASK | CPUINFO_ARM_MIDR_PART_MASK; switch (midr & core_mask) { diff --git a/3rdparty/cpuinfo/src/x86/isa.c b/3rdparty/cpuinfo/src/x86/isa.c index bfd5e776b185c..47a6afa320968 100644 --- a/3rdparty/cpuinfo/src/x86/isa.c +++ b/3rdparty/cpuinfo/src/x86/isa.c @@ -429,6 +429,11 @@ struct cpuinfo_x86_isa cpuinfo_x86_detect_isa( */ isa.avx512f = avx512_regs && !!(structured_feature_info0.ebx & UINT32_C(0x00010000)); + /* + * AVX 10.1 instructions: + */ + isa.avx10_1 = avx512_regs && !!(structured_feature_info1.edx & UINT32_C(0x00080000)); + /* * AVX512PF instructions: * - Intel: ebx[bit 26] in structured feature info (ecx = 0). diff --git a/3rdparty/cpuinfo/src/x86/uarch.c b/3rdparty/cpuinfo/src/x86/uarch.c index b291ebcf0cec3..a21eabb0a0ab1 100644 --- a/3rdparty/cpuinfo/src/x86/uarch.c +++ b/3rdparty/cpuinfo/src/x86/uarch.c @@ -387,6 +387,8 @@ enum cpuinfo_uarch cpuinfo_x86_decode_uarch( return cpuinfo_uarch_zen4; } break; + case 0x1a: + return cpuinfo_uarch_zen5; } break; case cpuinfo_vendor_hygon: diff --git a/3rdparty/fmt/CMakeLists.txt b/3rdparty/fmt/CMakeLists.txt index 6f49af1d94958..059b150238450 100644 --- a/3rdparty/fmt/CMakeLists.txt +++ b/3rdparty/fmt/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8...3.26) +cmake_minimum_required(VERSION 3.8...3.28) # Fallback for using newer policies on CMake <3.12. if (${CMAKE_VERSION} VERSION_LESS 3.12) @@ -36,6 +36,12 @@ function(enable_module target) endif () endfunction() +set(FMT_USE_CMAKE_MODULES FALSE) +if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.28 AND + CMAKE_GENERATOR STREQUAL "Ninja") + set(FMT_USE_CMAKE_MODULES TRUE) +endif () + # Adds a library compiled with C++20 module support. # `enabled` is a CMake variables that specifies if modules are enabled. # If modules are disabled `add_module_library` falls back to creating a @@ -53,6 +59,7 @@ function(add_module_library name) if (NOT ${${AML_IF}}) # Create a non-modular library. target_sources(${name} PRIVATE ${AML_FALLBACK}) + set_target_properties(${name} PROPERTIES CXX_SCAN_FOR_MODULES OFF) return() endif () @@ -62,48 +69,55 @@ function(add_module_library name) target_compile_options(${name} PUBLIC -fmodules-ts) endif () - # `std` is affected by CMake options and may be higher than C++20. - get_target_property(std ${name} CXX_STANDARD) - - if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(pcms) - foreach (src ${sources}) - get_filename_component(pcm ${src} NAME_WE) - set(pcm ${pcm}.pcm) - - # Propagate -fmodule-file=*.pcm to targets that link with this library. - target_compile_options( - ${name} PUBLIC -fmodule-file=${CMAKE_CURRENT_BINARY_DIR}/${pcm}) - - # Use an absolute path to prevent target_link_libraries prepending -l - # to it. - set(pcms ${pcms} ${CMAKE_CURRENT_BINARY_DIR}/${pcm}) - add_custom_command( - OUTPUT ${pcm} - COMMAND ${CMAKE_CXX_COMPILER} - -std=c++${std} -x c++-module --precompile -c - -o ${pcm} ${CMAKE_CURRENT_SOURCE_DIR}/${src} - "-I$,;-I>" - # Required by the -I generator expression above. - COMMAND_EXPAND_LISTS - DEPENDS ${src}) - endforeach () - - # Add .pcm files as sources to make sure they are built before the library. - set(sources) - foreach (pcm ${pcms}) - get_filename_component(pcm_we ${pcm} NAME_WE) - set(obj ${pcm_we}.o) - # Use an absolute path to prevent target_link_libraries prepending -l. - set(sources ${sources} ${pcm} ${CMAKE_CURRENT_BINARY_DIR}/${obj}) - add_custom_command( - OUTPUT ${obj} - COMMAND ${CMAKE_CXX_COMPILER} $ - -c -o ${obj} ${pcm} - DEPENDS ${pcm}) - endforeach () - endif () - target_sources(${name} PRIVATE ${sources}) + target_compile_definitions(${name} PRIVATE FMT_MODULE) + + if (FMT_USE_CMAKE_MODULES) + target_sources(${name} PUBLIC FILE_SET fmt TYPE CXX_MODULES + FILES ${sources}) + else() + # `std` is affected by CMake options and may be higher than C++20. + get_target_property(std ${name} CXX_STANDARD) + + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(pcms) + foreach (src ${sources}) + get_filename_component(pcm ${src} NAME_WE) + set(pcm ${pcm}.pcm) + + # Propagate -fmodule-file=*.pcm to targets that link with this library. + target_compile_options( + ${name} PUBLIC -fmodule-file=${CMAKE_CURRENT_BINARY_DIR}/${pcm}) + + # Use an absolute path to prevent target_link_libraries prepending -l + # to it. + set(pcms ${pcms} ${CMAKE_CURRENT_BINARY_DIR}/${pcm}) + add_custom_command( + OUTPUT ${pcm} + COMMAND ${CMAKE_CXX_COMPILER} + -std=c++${std} -x c++-module --precompile -c + -o ${pcm} ${CMAKE_CURRENT_SOURCE_DIR}/${src} + "-I$,;-I>" + # Required by the -I generator expression above. + COMMAND_EXPAND_LISTS + DEPENDS ${src}) + endforeach () + + # Add .pcm files as sources to make sure they are built before the library. + set(sources) + foreach (pcm ${pcms}) + get_filename_component(pcm_we ${pcm} NAME_WE) + set(obj ${pcm_we}.o) + # Use an absolute path to prevent target_link_libraries prepending -l. + set(sources ${sources} ${pcm} ${CMAKE_CURRENT_BINARY_DIR}/${obj}) + add_custom_command( + OUTPUT ${obj} + COMMAND ${CMAKE_CXX_COMPILER} $ + -c -o ${obj} ${pcm} + DEPENDS ${pcm}) + endforeach () + endif () + target_sources(${name} PRIVATE ${sources}) + endif() endfunction() include(CMakeParseArguments) @@ -145,21 +159,33 @@ option(FMT_WERROR "Halt the compilation with an error on compiler warnings." OFF) # Options that control generation of various targets. +option(FMT_DOC "Generate the doc target." ${FMT_MASTER_PROJECT}) option(FMT_INSTALL "Generate the install target." ON) +option(FMT_TEST "Generate the test target." ${FMT_MASTER_PROJECT}) option(FMT_FUZZ "Generate the fuzz target." OFF) -option(FMT_OS "Include core requiring OS (Windows/Posix) " ON) +option(FMT_CUDA_TEST "Generate the cuda-test target." OFF) +option(FMT_OS "Include OS-specific APIs." ON) option(FMT_MODULE "Build a module instead of a traditional library." OFF) option(FMT_SYSTEM_HEADERS "Expose headers with marking them as system." OFF) +option(FMT_UNICODE "Enable Unicode support." ON) +if (FMT_TEST AND FMT_MODULE) + # The tests require {fmt} to be compiled as traditional library + message(STATUS "Testing is incompatible with build mode 'module'.") +endif () set(FMT_SYSTEM_HEADERS_ATTRIBUTE "") if (FMT_SYSTEM_HEADERS) set(FMT_SYSTEM_HEADERS_ATTRIBUTE SYSTEM) endif () +if (CMAKE_SYSTEM_NAME STREQUAL "MSDOS") + set(FMT_TEST OFF) + message(STATUS "MSDOS is incompatible with gtest") +endif () -# Get version from core.h -file(READ include/fmt/core.h core_h) -if (NOT core_h MATCHES "FMT_VERSION ([0-9]+)([0-9][0-9])([0-9][0-9])") - message(FATAL_ERROR "Cannot get FMT_VERSION from core.h.") +# Get version from base.h +file(READ include/fmt/base.h base_h) +if (NOT base_h MATCHES "FMT_VERSION ([0-9]+)([0-9][0-9])([0-9][0-9])") + message(FATAL_ERROR "Cannot get FMT_VERSION from base.h.") endif () # Use math to skip leading zeros if any. math(EXPR CPACK_PACKAGE_VERSION_MAJOR ${CMAKE_MATCH_1}) @@ -167,7 +193,7 @@ math(EXPR CPACK_PACKAGE_VERSION_MINOR ${CMAKE_MATCH_2}) math(EXPR CPACK_PACKAGE_VERSION_PATCH ${CMAKE_MATCH_3}) join(FMT_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}. ${CPACK_PACKAGE_VERSION_PATCH}) -message(STATUS "Version: ${FMT_VERSION}") +message(STATUS "{fmt} version: ${FMT_VERSION}") message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") @@ -214,7 +240,13 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") endif () if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0) set(PEDANTIC_COMPILE_FLAGS ${PEDANTIC_COMPILE_FLAGS} -Wshift-overflow=2 - -Wnull-dereference -Wduplicated-cond) + -Wduplicated-cond) + # Workaround for GCC regression + # [12/13/14/15 regression] New (since gcc 12) false positive null-dereference in vector.resize + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108860 + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.0) + set(PEDANTIC_COMPILE_FLAGS ${PEDANTIC_COMPILE_FLAGS} -Wnull-dereference) + endif () endif () set(WERROR_FLAG -Werror) endif () @@ -263,13 +295,10 @@ function(add_headers VAR) endfunction() # Define the fmt library, its includes and the needed defines. -add_headers(FMT_HEADERS args.h chrono.h color.h compile.h core.h format.h +add_headers(FMT_HEADERS args.h base.h chrono.h color.h compile.h core.h format.h format-inl.h os.h ostream.h printf.h ranges.h std.h xchar.h) set(FMT_SOURCES src/format.cc) -if (FMT_OS) - set(FMT_SOURCES ${FMT_SOURCES} src/os.cc) -endif () add_module_library(fmt src/fmt.cc FALLBACK ${FMT_SOURCES} ${FMT_HEADERS} README.md ChangeLog.md @@ -277,6 +306,10 @@ add_module_library(fmt src/fmt.cc FALLBACK add_library(fmt::fmt ALIAS fmt) if (FMT_MODULE) enable_module(fmt) +elseif (FMT_OS) + target_sources(fmt PRIVATE src/os.cc) +else() + target_compile_definitions(fmt PRIVATE FMT_OS=0) endif () if (FMT_WERROR) @@ -292,7 +325,7 @@ else () message(WARNING "Feature cxx_std_11 is unknown for the CXX compiler") endif () -target_include_directories(fmt ${FMT_SYSTEM_HEADERS_ATTRIBUTE} PUBLIC +target_include_directories(fmt ${FMT_SYSTEM_HEADERS_ATTRIBUTE} BEFORE PUBLIC $ $) @@ -328,11 +361,21 @@ endif () add_library(fmt-header-only INTERFACE) add_library(fmt::fmt-header-only ALIAS fmt-header-only) +if (NOT MSVC) + # Unicode is always supported on compilers other than MSVC. +elseif (FMT_UNICODE) + # Unicode support requires compiling with /utf-8. + target_compile_options(fmt PUBLIC $<$,$>:/utf-8>) + target_compile_options(fmt-header-only INTERFACE $<$,$>:/utf-8>) +else () + target_compile_definitions(fmt PUBLIC FMT_UNICODE=0) +endif () + target_compile_definitions(fmt-header-only INTERFACE FMT_HEADER_ONLY=1) target_compile_features(fmt-header-only INTERFACE cxx_std_11) target_include_directories(fmt-header-only - ${FMT_SYSTEM_HEADERS_ATTRIBUTE} INTERFACE + ${FMT_SYSTEM_HEADERS_ATTRIBUTE} BEFORE INTERFACE $ $) @@ -377,12 +420,20 @@ if (FMT_INSTALL) set(INSTALL_TARGETS fmt fmt-header-only) + set(INSTALL_FILE_SET) + if (FMT_USE_CMAKE_MODULES) + set(INSTALL_FILE_SET FILE_SET fmt DESTINATION "${FMT_INC_DIR}/fmt") + endif() + # Install the library and headers. - install(TARGETS ${INSTALL_TARGETS} EXPORT ${targets_export_name} + install(TARGETS ${INSTALL_TARGETS} + COMPONENT fmt-core + EXPORT ${targets_export_name} LIBRARY DESTINATION ${FMT_LIB_DIR} ARCHIVE DESTINATION ${FMT_LIB_DIR} PUBLIC_HEADER DESTINATION "${FMT_INC_DIR}/fmt" - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ${INSTALL_FILE_SET}) # Use a namespace because CMake provides better diagnostics for namespaced # imported targets. @@ -390,13 +441,61 @@ if (FMT_INSTALL) FILE ${PROJECT_BINARY_DIR}/${targets_export_name}.cmake) # Install version, config and target files. - install( - FILES ${project_config} ${version_config} - DESTINATION ${FMT_CMAKE_DIR}) + install(FILES ${project_config} ${version_config} + DESTINATION ${FMT_CMAKE_DIR} + COMPONENT fmt-core) install(EXPORT ${targets_export_name} DESTINATION ${FMT_CMAKE_DIR} - NAMESPACE fmt::) + NAMESPACE fmt:: + COMPONENT fmt-core) + + install(FILES "${pkgconfig}" DESTINATION "${FMT_PKGCONFIG_DIR}" + COMPONENT fmt-core) +endif () + +function(add_doc_target) + find_program(DOXYGEN doxygen + PATHS "$ENV{ProgramFiles}/doxygen/bin" + "$ENV{ProgramFiles\(x86\)}/doxygen/bin") + if (NOT DOXYGEN) + message(STATUS "Target 'doc' disabled because doxygen not found") + return () + endif () + + find_program(MKDOCS mkdocs) + if (NOT MKDOCS) + message(STATUS "Target 'doc' disabled because mkdocs not found") + return () + endif () + + set(sources ) + foreach (source api.md index.md syntax.md get-started.md fmt.css fmt.js) + set(sources ${sources} doc/${source}) + endforeach() + + add_custom_target( + doc + COMMAND + ${CMAKE_COMMAND} + -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}/support/python + ${MKDOCS} build -f ${CMAKE_CURRENT_SOURCE_DIR}/support/mkdocs.yml + # MkDocs requires the site dir to be outside of the doc dir. + --site-dir ${CMAKE_CURRENT_BINARY_DIR}/doc-html + --no-directory-urls + SOURCES ${sources}) + + include(GNUInstallDirs) + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc-html/ + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/fmt + COMPONENT fmt-doc OPTIONAL) +endfunction() + +if (FMT_DOC) + add_doc_target() +endif () - install(FILES "${pkgconfig}" DESTINATION "${FMT_PKGCONFIG_DIR}") +if (FMT_TEST) + enable_testing() + add_subdirectory(test) endif () # Control fuzzing independent of the unit tests. @@ -421,8 +520,7 @@ if (FMT_MASTER_PROJECT AND EXISTS ${gitignore}) string(REPLACE "*" ".*" line "${line}") set(ignored_files ${ignored_files} "${line}$" "${line}/") endforeach () - set(ignored_files ${ignored_files} - /.git /breathe /format-benchmark sphinx/ .buildinfo .doctrees) + set(ignored_files ${ignored_files} /.git /build/doxyxml .vagrant) set(CPACK_SOURCE_GENERATOR ZIP) set(CPACK_SOURCE_IGNORE_FILES ${ignored_files}) diff --git a/3rdparty/fmt/ChangeLog.md b/3rdparty/fmt/ChangeLog.md index 515f9fdc1d90e..08ded7d65db15 100644 --- a/3rdparty/fmt/ChangeLog.md +++ b/3rdparty/fmt/ChangeLog.md @@ -1,5533 +1,2891 @@ -# 10.2.1 - 2024-01-03 +# 11.1.2 - 2025-01-12 + +- Fixed ABI compatibility with earlier 11.x versions + (https://github.com/fmtlib/fmt/issues/4292). + +- Added `wchar_t` support to the `std::bitset` formatter + (https://github.com/fmtlib/fmt/issues/4285, + https://github.com/fmtlib/fmt/pull/4286, + https://github.com/fmtlib/fmt/issues/4289, + https://github.com/fmtlib/fmt/pull/4290). Thanks @phprus. -- Fixed ABI compatibility with earlier 10.x versions - (https://github.com/fmtlib/fmt/pull/3786). Thanks @saraedum. +- Prefixed CMake components with `fmt-` to simplify usage of {fmt} via + `add_subdirectory` (https://github.com/fmtlib/fmt/issues/4283). -# 10.2.0 - 2024-01-01 +- Updated docs for meson (https://github.com/fmtlib/fmt/pull/4291). + Thanks @trim21. + +- Fixed a compilation error in chrono on nvcc + (https://github.com/fmtlib/fmt/issues/4297, + https://github.com/fmtlib/fmt/pull/4301). Thanks @breyerml. + +- Fixed various warnings + (https://github.com/fmtlib/fmt/pull/4288, + https://github.com/fmtlib/fmt/pull/4299). Thanks @GamesTrap and @edo9300. + +# 11.1.1 - 2024-12-27 + +- Fixed ABI compatibility with earlier 11.x versions + (https://github.com/fmtlib/fmt/issues/4278). + +- Defined CMake components (`core` and `doc`) to allow docs to be installed + separately (https://github.com/fmtlib/fmt/pull/4276). + Thanks @carlsmedstad. + +# 11.1.0 - 2024-12-25 + +- Improved C++20 module support + (https://github.com/fmtlib/fmt/issues/4081, + https://github.com/fmtlib/fmt/pull/4083, + https://github.com/fmtlib/fmt/pull/4084, + https://github.com/fmtlib/fmt/pull/4152, + https://github.com/fmtlib/fmt/issues/4153, + https://github.com/fmtlib/fmt/pull/4169, + https://github.com/fmtlib/fmt/issues/4190, + https://github.com/fmtlib/fmt/issues/4234, + https://github.com/fmtlib/fmt/pull/4239). + Thanks @kamrann and @Arghnews. + +- Reduced debug (unoptimized) binary code size and the number of template + instantiations when passing formatting arguments. For example, unoptimized + binary code size for `fmt::print("{}", 42)` was reduced by ~40% on GCC and + ~60% on clang (x86-64). + + GCC: + - Before: 161 instructions of which 105 are in reusable functions + ([godbolt](https://www.godbolt.org/z/s9bGoo4ze)). + - After: 116 instructions of which 60 are in reusable functions + ([godbolt](https://www.godbolt.org/z/r7GGGxMs6)). -- Added support for the `%j` specifier (the number of days) for - `std::chrono::duration` (https://github.com/fmtlib/fmt/issues/3643, - https://github.com/fmtlib/fmt/pull/3732). Thanks @intelfx. + Clang: + - Before: 310 instructions of which 251 are in reusable functions + ([godbolt](https://www.godbolt.org/z/Ts88b7M9o)). + - After: 194 instructions of which 135 are in reusable functions + ([godbolt](https://www.godbolt.org/z/vcrjP8ceW)). -- Added support for the chrono suffix for days and changed - the suffix for minutes from "m" to the correct "min" - (https://github.com/fmtlib/fmt/issues/3662, - https://github.com/fmtlib/fmt/pull/3664). - For example ([godbolt](https://godbolt.org/z/9KhMnq9ba)): +- Added an experimental `fmt::writer` API that can be used for writing to + different destinations such as files or strings + (https://github.com/fmtlib/fmt/issues/2354). + For example ([godbolt](https://www.godbolt.org/z/rWoKfbP7e)): - ```c++ - #include + ```c++ + #include - int main() { - fmt::print("{}\n", std::chrono::days(42)); // prints "42d" - } - ``` + void write_text(fmt::writer w) { + w.print("The answer is {}.", 42); + } - Thanks @Richardk2n. + int main() { + // Write to FILE. + write_text(stdout); + + // Write to fmt::ostream. + auto f = fmt::output_file("myfile"); + write_text(f); + + // Write to std::string. + auto sb = fmt::string_buffer(); + write_text(sb); + std::string s = sb.str(); + } + ``` + +- Added width and alignment support to the formatter of `std::error_code`. -- Fixed an overflow in `std::chrono::time_point` formatting with large dates - (https://github.com/fmtlib/fmt/issues/3725, - https://github.com/fmtlib/fmt/pull/3727). Thanks @cschreib. +- Made `std::expected` formattable + (https://github.com/fmtlib/fmt/issues/4145, + https://github.com/fmtlib/fmt/pull/4148). + For example ([godbolt](https://www.godbolt.org/z/hrj5c6G86)): -- Added a formatter for `std::source_location` - (https://github.com/fmtlib/fmt/pull/3730). - For example ([godbolt](https://godbolt.org/z/YajfKjhhr)): + ```c++ + fmt::print("{}", std::expected()); + ``` - ```c++ - #include - #include + prints - int main() { - fmt::print("{}\n", std::source_location::current()); - } - ``` + ``` + expected() + ``` - prints + Thanks @phprus. - ``` - /app/example.cpp:5:51: int main() - ``` +- Made `fmt::is_formattable` SFINAE-friendly + (https://github.com/fmtlib/fmt/issues/4147). - Thanks @felix642. +- Added support for `_BitInt` formatting when using clang + (https://github.com/fmtlib/fmt/issues/4007, + https://github.com/fmtlib/fmt/pull/4072, + https://github.com/fmtlib/fmt/issues/4140, + https://github.com/fmtlib/fmt/issues/4173, + https://github.com/fmtlib/fmt/pull/4176). + For example ([godbolt](https://www.godbolt.org/z/KWjbWec5z)): -- Added a formatter for `std::bitset` - (https://github.com/fmtlib/fmt/pull/3660). - For example ([godbolt](https://godbolt.org/z/bdEaGeYxe)): + ```c++ + using int42 = _BitInt(42); + fmt::print("{}", int42(100)); + ``` - ```c++ - #include - #include + Thanks @Arghnews. + +- Added the `n` specifier for tuples and pairs + (https://github.com/fmtlib/fmt/pull/4107). Thanks @someonewithpc. + +- Added support for tuple-like types to `fmt::join` + (https://github.com/fmtlib/fmt/issues/4226, + https://github.com/fmtlib/fmt/pull/4230). Thanks @phprus. + +- Made more types formattable at compile time + (https://github.com/fmtlib/fmt/pull/4127). Thanks @AnthonyVH. + +- Implemented a more efficient compile-time `fmt::formatted_size` + (https://github.com/fmtlib/fmt/issues/4102, + https://github.com/fmtlib/fmt/pull/4103). Thanks @phprus. + +- Fixed compile-time formatting of some string types + (https://github.com/fmtlib/fmt/pull/4065). Thanks @torshepherd. + +- Made compiled version of `fmt::format_to` work with + `std::back_insert_iterator>` + (https://github.com/fmtlib/fmt/issues/4206, + https://github.com/fmtlib/fmt/pull/4211). Thanks @phprus. + +- Added a formatter for `std::reference_wrapper` + (https://github.com/fmtlib/fmt/pull/4163, + https://github.com/fmtlib/fmt/pull/4164). Thanks @yfeldblum and @phprus. + +- Added experimental padding support (glibc `strftime` extension) to `%m`, `%j` + and `%Y` (https://github.com/fmtlib/fmt/pull/4161). Thanks @KKhanhH. + +- Made microseconds formatted as `us` instead of `µs` if the Unicode support is + disabled (https://github.com/fmtlib/fmt/issues/4088). + +- Fixed an unreleased regression in transcoding of surrogate pairs + (https://github.com/fmtlib/fmt/issues/4094, + https://github.com/fmtlib/fmt/pull/4095). Thanks @phprus. + +- Made `fmt::appender` satisfy `std::output_iterator` concept + (https://github.com/fmtlib/fmt/issues/4092, + https://github.com/fmtlib/fmt/pull/4093). Thanks @phprus. + +- Made `std::iterator_traits` standard-conforming + (https://github.com/fmtlib/fmt/pull/4185). Thanks @CaseyCarter. + +- Made it easier to reuse `fmt::formatter` for types with + an implicit conversion to `std::string_view` + (https://github.com/fmtlib/fmt/issues/4036, + https://github.com/fmtlib/fmt/pull/4055). Thanks @Arghnews. + +- Made it possible to disable `` use via `FMT_CPP_LIB_FILESYSTEM` + for compatibility with some video game console SDKs, e.g. Nintendo Switch SDK + (https://github.com/fmtlib/fmt/issues/4257, + https://github.com/fmtlib/fmt/pull/4258, + https://github.com/fmtlib/fmt/pull/4259). Thanks @W4RH4WK and @phprus. + +- Fixed compatibility with platforms that use 80-bit `long double` + (https://github.com/fmtlib/fmt/issues/4245, + https://github.com/fmtlib/fmt/pull/4246). Thanks @jsirpoma. + +- Added support for UTF-32 code units greater than `0xFFFF` in fill + (https://github.com/fmtlib/fmt/issues/4201). + +- Fixed handling of legacy encodings on Windows with GCC + (https://github.com/fmtlib/fmt/issues/4162). + +- Made `fmt::to_string` take `fmt::basic_memory_buffer` by const reference + (https://github.com/fmtlib/fmt/issues/4261, + https://github.com/fmtlib/fmt/pull/4262). Thanks @sascha-devel. + +- Added `fmt::dynamic_format_arg_store::size` + (https://github.com/fmtlib/fmt/pull/4270). Thanks @hannes-harnisch. + +- Removed the ability to control locale usage via an undocumented + `FMT_STATIC_THOUSANDS_SEPARATOR` in favor of `FMT_USE_LOCALE`. + +- Renamed `FMT_EXCEPTIONS` to `FMT_USE_EXCEPTIONS` for consistency with other + similar macros. + +- Improved include directory ordering to reduce the chance of including + incorrect headers when using multiple versions of {fmt} + (https://github.com/fmtlib/fmt/pull/4116). Thanks @cdzhan. + +- Made it possible to compile a subset of {fmt} without the C++ runtime. + +- Improved documentation and README + (https://github.com/fmtlib/fmt/pull/4066, + https://github.com/fmtlib/fmt/issues/4117, + https://github.com/fmtlib/fmt/issues/4203, + https://github.com/fmtlib/fmt/pull/4235). Thanks @zyctree and @nikola-sh. + +- Improved the documentation generator (https://github.com/fmtlib/fmt/pull/4110, + https://github.com/fmtlib/fmt/pull/4115). Thanks @rturrado. + +- Improved CI (https://github.com/fmtlib/fmt/pull/4155, + https://github.com/fmtlib/fmt/pull/4151). Thanks @phprus. + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/issues/2708, + https://github.com/fmtlib/fmt/issues/4091, + https://github.com/fmtlib/fmt/issues/4109, + https://github.com/fmtlib/fmt/issues/4113, + https://github.com/fmtlib/fmt/issues/4125, + https://github.com/fmtlib/fmt/issues/4129, + https://github.com/fmtlib/fmt/pull/4130, + https://github.com/fmtlib/fmt/pull/4131, + https://github.com/fmtlib/fmt/pull/4132, + https://github.com/fmtlib/fmt/issues/4133, + https://github.com/fmtlib/fmt/issues/4144, + https://github.com/fmtlib/fmt/issues/4150, + https://github.com/fmtlib/fmt/issues/4158, + https://github.com/fmtlib/fmt/pull/4159, + https://github.com/fmtlib/fmt/issues/4160, + https://github.com/fmtlib/fmt/pull/4170, + https://github.com/fmtlib/fmt/issues/4177, + https://github.com/fmtlib/fmt/pull/4187, + https://github.com/fmtlib/fmt/pull/4188, + https://github.com/fmtlib/fmt/pull/4194, + https://github.com/fmtlib/fmt/pull/4200, + https://github.com/fmtlib/fmt/issues/4205, + https://github.com/fmtlib/fmt/issues/4207, + https://github.com/fmtlib/fmt/pull/4208, + https://github.com/fmtlib/fmt/pull/4210, + https://github.com/fmtlib/fmt/issues/4220, + https://github.com/fmtlib/fmt/issues/4231, + https://github.com/fmtlib/fmt/issues/4232, + https://github.com/fmtlib/fmt/pull/4233, + https://github.com/fmtlib/fmt/pull/4236, + https://github.com/fmtlib/fmt/pull/4267, + https://github.com/fmtlib/fmt/pull/4271). + Thanks @torsten48, @Arghnews, @tinfoilboy, @aminya, @Ottani, @zeroomega, + @c4v4, @kongy, @vinayyadav3016, @sergio-nsk, @phprus and @YexuanXiao. + +# 11.0.2 - 2024-07-20 + +- Fixed compatibility with non-POSIX systems + (https://github.com/fmtlib/fmt/issues/4054, + https://github.com/fmtlib/fmt/issues/4060). + +- Fixed performance regressions when using `std::back_insert_iterator` with + `fmt::format_to` (https://github.com/fmtlib/fmt/issues/4070). + +- Fixed handling of `std::generator` and move-only iterators + (https://github.com/fmtlib/fmt/issues/4053, + https://github.com/fmtlib/fmt/pull/4057). Thanks @Arghnews. + +- Made `formatter::parse` work with types convertible to + `std::string_view` (https://github.com/fmtlib/fmt/issues/4036, + https://github.com/fmtlib/fmt/pull/4055). Thanks @Arghnews. + +- Made `volatile void*` formattable + (https://github.com/fmtlib/fmt/issues/4049, + https://github.com/fmtlib/fmt/pull/4056). Thanks @Arghnews. + +- Made `Glib::ustring` not be confused with `std::string` + (https://github.com/fmtlib/fmt/issues/4052). + +- Made `fmt::context` iterator compatible with STL algorithms that rely on + iterator category (https://github.com/fmtlib/fmt/issues/4079). + +# 11.0.1 - 2024-07-05 + +- Fixed version number in the inline namespace + (https://github.com/fmtlib/fmt/issues/4047). + +- Fixed disabling Unicode support via CMake + (https://github.com/fmtlib/fmt/issues/4051). + +- Fixed deprecated `visit_format_arg` (https://github.com/fmtlib/fmt/pull/4043). + Thanks @nebkat. + +- Fixed handling of a sign and improved the `std::complex` formater + (https://github.com/fmtlib/fmt/pull/4034, + https://github.com/fmtlib/fmt/pull/4050). Thanks @tesch1 and @phprus. + +- Fixed ADL issues in `fmt::printf` when using C++20 + (https://github.com/fmtlib/fmt/pull/4042). Thanks @toge. + +- Removed a redundant check in the formatter for `std::expected` + (https://github.com/fmtlib/fmt/pull/4040). Thanks @phprus. + +# 11.0.0 - 2024-07-01 + +- Added `fmt/base.h` which provides a subset of the API with minimal include + dependencies and enough functionality to replace all uses of the `printf` + family of functions. This brings the compile time of code using {fmt} much + closer to the equivalent `printf` code as shown on the following benchmark + that compiles 100 source files: + + | Method | Compile Time (s) | + |--------------|------------------| + | printf | 1.6 | + | IOStreams | 25.9 | + | fmt 10.x | 19.0 | + | fmt 11.0 | 4.8 | + | tinyformat | 29.1 | + | Boost Format | 55.0 | + + This gives almost 4x improvement in build speed compared to version 10. + Note that the benchmark is purely formatting code and includes. In real + projects the difference from `printf` will be smaller partly because common + standard headers will be included in almost any translation unit (TU) anyway. + In particular, in every case except `printf` above ~1s is spent in total on + including `` in all TUs. + +- Optimized includes in other headers such as `fmt/format.h` which is now + roughly equivalent to the old `fmt/core.h` in terms of build speed. + +- Migrated the documentation at https://fmt.dev/ from Sphinx to MkDocs. + +- Improved C++20 module support + (https://github.com/fmtlib/fmt/issues/3990, + https://github.com/fmtlib/fmt/pull/3991, + https://github.com/fmtlib/fmt/issues/3993, + https://github.com/fmtlib/fmt/pull/3994, + https://github.com/fmtlib/fmt/pull/3997, + https://github.com/fmtlib/fmt/pull/3998, + https://github.com/fmtlib/fmt/pull/4004, + https://github.com/fmtlib/fmt/pull/4005, + https://github.com/fmtlib/fmt/pull/4006, + https://github.com/fmtlib/fmt/pull/4013, + https://github.com/fmtlib/fmt/pull/4027, + https://github.com/fmtlib/fmt/pull/4029). In particular, native CMake support + for modules is now used if available. Thanks @yujincheng08 and @matt77hias. + +- Added an option to replace standard includes with `import std` enabled via + the `FMT_IMPORT_STD` macro (https://github.com/fmtlib/fmt/issues/3921, + https://github.com/fmtlib/fmt/pull/3928). Thanks @matt77hias. + +- Exported `fmt::range_format`, `fmt::range_format_kind` and + `fmt::compiled_string` from the `fmt` module + (https://github.com/fmtlib/fmt/pull/3970, + https://github.com/fmtlib/fmt/pull/3999). + Thanks @matt77hias and @yujincheng08. + +- Improved integration with stdio in `fmt::print`, enabling direct writes + into a C stream buffer in common cases. This may give significant + performance improvements ranging from tens of percent to [2x]( + https://stackoverflow.com/a/78457454/471164) and eliminates dynamic memory + allocations on the buffer level. It is currently enabled for built-in and + string types with wider availability coming up in future releases. + + For example, it gives ~24% improvement on a [simple benchmark]( + https://isocpp.org/files/papers/P3107R5.html#perf) compiled with Apple clang + version 15.0.0 (clang-1500.1.0.2.5) and run on macOS 14.2.1: + + ``` + ------------------------------------------------------- + Benchmark Time CPU Iterations + ------------------------------------------------------- + printf 81.8 ns 81.5 ns 8496899 + fmt::print (10.x) 63.8 ns 61.9 ns 11524151 + fmt::print (11.0) 51.3 ns 51.0 ns 13846580 + ``` + +- Improved safety of `fmt::format_to` when writing to an array + (https://github.com/fmtlib/fmt/pull/3805). + For example ([godbolt](https://www.godbolt.org/z/cYrn8dWY8)): + + ```c++ + auto volkswagen = char[4]; + auto result = fmt::format_to(volkswagen, "elephant"); + ``` + + no longer results in a buffer overflow. Instead the output will be truncated + and you can get the end iterator and whether truncation occurred from the + `result` object. Thanks @ThePhD. + +- Enabled Unicode support by default in MSVC, bringing it on par with other + compilers and making it unnecessary for users to enable it explicitly. + Most of {fmt} is encoding-agnostic but this prevents mojibake in places + where encoding matters such as path formatting and terminal output. + You can control the Unicode support via the CMake `FMT_UNICODE` option. + Note that some {fmt} packages such as the one in vcpkg have already been + compiled with Unicode enabled. + +- Added a formatter for `std::expected` + (https://github.com/fmtlib/fmt/pull/3834). Thanks @dominicpoeschko. + +- Added a formatter for `std::complex` + (https://github.com/fmtlib/fmt/issues/1467, + https://github.com/fmtlib/fmt/issues/3886, + https://github.com/fmtlib/fmt/pull/3892, + https://github.com/fmtlib/fmt/pull/3900). Thanks @phprus. + +- Added a formatter for `std::type_info` + (https://github.com/fmtlib/fmt/pull/3978). Thanks @matt77hias. + +- Specialized `formatter` for `std::basic_string` types with custom traits + and allocators (https://github.com/fmtlib/fmt/issues/3938, + https://github.com/fmtlib/fmt/pull/3943). Thanks @dieram3. + +- Added formatters for `std::chrono::day`, `std::chrono::month`, + `std::chrono::year` and `std::chrono::year_month_day` + (https://github.com/fmtlib/fmt/issues/3758, + https://github.com/fmtlib/fmt/issues/3772, + https://github.com/fmtlib/fmt/pull/3906, + https://github.com/fmtlib/fmt/pull/3913). For example: + + ```c++ + #include + #include + + int main() { + fmt::print(fg(fmt::color::green), "{}\n", std::chrono::day(7)); + } + ``` + + prints a green day: + + image + + Thanks @zivshek. + +- Fixed handling of precision in `%S` (https://github.com/fmtlib/fmt/issues/3794, + https://github.com/fmtlib/fmt/pull/3814). Thanks @js324. - int main() { - fmt::print("{}\n", std::bitset<6>(42)); // prints "101010" - } - ``` +- Added support for the `-` specifier (glibc `strftime` extension) to day of + the month (`%d`) and week of the year (`%W`, `%U`, `%V`) specifiers + (https://github.com/fmtlib/fmt/pull/3976). Thanks @ZaheenJ. - Thanks @muggenhor. +- Fixed the scope of the `-` extension in chrono formatting so that it doesn't + apply to subsequent specifiers (https://github.com/fmtlib/fmt/issues/3811, + https://github.com/fmtlib/fmt/pull/3812). Thanks @phprus. -- Added an experimental `nested_formatter` that provides an easy way of - applying a formatter to one or more subobjects while automatically handling - width, fill and alignment. For example: +- Improved handling of `time_point::min()` + (https://github.com/fmtlib/fmt/issues/3282). - ```c++ - #include +- Added support for character range formatting + (https://github.com/fmtlib/fmt/issues/3857, + https://github.com/fmtlib/fmt/pull/3863). Thanks @js324. - struct point { - double x, y; - }; +- Added `string` and `debug_string` range formatters + (https://github.com/fmtlib/fmt/pull/3973, + https://github.com/fmtlib/fmt/pull/4024). Thanks @matt77hias. + +- Enabled ADL for `begin` and `end` in `fmt::join` + (https://github.com/fmtlib/fmt/issues/3813, + https://github.com/fmtlib/fmt/pull/3824). Thanks @bbolli. + +- Made contiguous iterator optimizations apply to `std::basic_string` iterators + (https://github.com/fmtlib/fmt/pull/3798). Thanks @phprus. + +- Added support for ranges with mutable `begin` and `end` + (https://github.com/fmtlib/fmt/issues/3752, + https://github.com/fmtlib/fmt/pull/3800, + https://github.com/fmtlib/fmt/pull/3955). Thanks @tcbrindle and @Arghnews. + +- Added support for move-only iterators to `fmt::join` + (https://github.com/fmtlib/fmt/issues/3802, + https://github.com/fmtlib/fmt/pull/3946). Thanks @Arghnews. + +- Moved range and iterator overloads of `fmt::join` to `fmt/ranges.h`, next + to other overloads. + +- Fixed handling of types with `begin` returning `void` such as Eigen matrices + (https://github.com/fmtlib/fmt/issues/3839, + https://github.com/fmtlib/fmt/pull/3964). Thanks @Arghnews. + +- Added an `fmt::formattable` concept (https://github.com/fmtlib/fmt/pull/3974). + Thanks @matt77hias. + +- Added support for `__float128` (https://github.com/fmtlib/fmt/issues/3494). + +- Fixed rounding issues when formatting `long double` with fixed precision + (https://github.com/fmtlib/fmt/issues/3539). + +- Made `fmt::isnan` not trigger floating-point exception for NaN values + (https://github.com/fmtlib/fmt/issues/3948, + https://github.com/fmtlib/fmt/pull/3951). Thanks @alexdewar. + +- Removed dependency on `` for `std::allocator_traits` when possible + (https://github.com/fmtlib/fmt/pull/3804). Thanks @phprus. + +- Enabled compile-time checks in formatting functions that take text colors and + styles. + +- Deprecated wide stream overloads of `fmt::print` that take text styles. + +- Made format string compilation work with clang 12 and later despite + only partial non-type template parameter support + (https://github.com/fmtlib/fmt/issues/4000, + https://github.com/fmtlib/fmt/pull/4001). Thanks @yujincheng08. + +- Made `fmt::iterator_buffer`'s move constructor `noexcept` + (https://github.com/fmtlib/fmt/pull/3808). Thanks @waywardmonkeys. + +- Started enforcing that `formatter::format` is const for compatibility + with `std::format` (https://github.com/fmtlib/fmt/issues/3447). + +- Added `fmt::basic_format_arg::visit` and deprecated `fmt::visit_format_arg`. + +- Made `fmt::basic_string_view` not constructible from `nullptr` for + consistency with `std::string_view` in C++23 + (https://github.com/fmtlib/fmt/pull/3846). Thanks @dalle. + +- Fixed `fmt::group_digits` for negative integers + (https://github.com/fmtlib/fmt/issues/3891, + https://github.com/fmtlib/fmt/pull/3901). Thanks @phprus. + +- Fixed handling of negative ids in `fmt::basic_format_args::get` + (https://github.com/fmtlib/fmt/pull/3945). Thanks @marlenecota. + +- Fixed handling of a buffer boundary on flush + (https://github.com/fmtlib/fmt/issues/4229). + +- Improved named argument validation + (https://github.com/fmtlib/fmt/issues/3817). + +- Disabled copy construction/assignment for `fmt::format_arg_store` and + fixed moved construction (https://github.com/fmtlib/fmt/pull/3833). + Thanks @ivafanas. + +- Worked around a locale issue in RHEL/devtoolset + (https://github.com/fmtlib/fmt/issues/3858, + https://github.com/fmtlib/fmt/pull/3859). Thanks @g199209. + +- Added RTTI detection for MSVC (https://github.com/fmtlib/fmt/pull/3821, + https://github.com/fmtlib/fmt/pull/3963). Thanks @edo9300. + +- Migrated the documentation from Sphinx to MkDocs. + +- Improved documentation and README + (https://github.com/fmtlib/fmt/issues/3775, + https://github.com/fmtlib/fmt/pull/3784, + https://github.com/fmtlib/fmt/issues/3788, + https://github.com/fmtlib/fmt/pull/3789, + https://github.com/fmtlib/fmt/pull/3793, + https://github.com/fmtlib/fmt/issues/3818, + https://github.com/fmtlib/fmt/pull/3820, + https://github.com/fmtlib/fmt/pull/3822, + https://github.com/fmtlib/fmt/pull/3843, + https://github.com/fmtlib/fmt/pull/3890, + https://github.com/fmtlib/fmt/issues/3894, + https://github.com/fmtlib/fmt/pull/3895, + https://github.com/fmtlib/fmt/pull/3905, + https://github.com/fmtlib/fmt/issues/3942, + https://github.com/fmtlib/fmt/pull/4008). + Thanks @zencatalyst, WolleTD, @tupaschoal, @Dobiasd, @frank-weinberg, @bbolli, + @phprus, @waywardmonkeys, @js324 and @tchaikov. + +- Improved CI and tests + (https://github.com/fmtlib/fmt/issues/3878, + https://github.com/fmtlib/fmt/pull/3883, + https://github.com/fmtlib/fmt/issues/3897, + https://github.com/fmtlib/fmt/pull/3979, + https://github.com/fmtlib/fmt/pull/3980, + https://github.com/fmtlib/fmt/pull/3988, + https://github.com/fmtlib/fmt/pull/4010, + https://github.com/fmtlib/fmt/pull/4012, + https://github.com/fmtlib/fmt/pull/4038). + Thanks @vgorrX, @waywardmonkeys, @tchaikov and @phprus. + +- Fixed buffer overflow when using format string compilation with debug format + and `std::back_insert_iterator` (https://github.com/fmtlib/fmt/issues/3795, + https://github.com/fmtlib/fmt/pull/3797). Thanks @phprus. + +- Improved Bazel support + (https://github.com/fmtlib/fmt/pull/3792, + https://github.com/fmtlib/fmt/pull/3801, + https://github.com/fmtlib/fmt/pull/3962, + https://github.com/fmtlib/fmt/pull/3965). Thanks @Vertexwahn. + +- Improved/fixed the CMake config + (https://github.com/fmtlib/fmt/issues/3777, + https://github.com/fmtlib/fmt/pull/3783, + https://github.com/fmtlib/fmt/issues/3847, + https://github.com/fmtlib/fmt/pull/3907). Thanks @phprus and @xTachyon. + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/issues/3685, + https://github.com/fmtlib/fmt/issues/3769, + https://github.com/fmtlib/fmt/issues/3796, + https://github.com/fmtlib/fmt/issues/3803, + https://github.com/fmtlib/fmt/pull/3806, + https://github.com/fmtlib/fmt/pull/3807, + https://github.com/fmtlib/fmt/issues/3809, + https://github.com/fmtlib/fmt/pull/3810, + https://github.com/fmtlib/fmt/issues/3830, + https://github.com/fmtlib/fmt/pull/3832, + https://github.com/fmtlib/fmt/issues/3835, + https://github.com/fmtlib/fmt/pull/3844, + https://github.com/fmtlib/fmt/issues/3854, + https://github.com/fmtlib/fmt/pull/3856, + https://github.com/fmtlib/fmt/pull/3865, + https://github.com/fmtlib/fmt/pull/3866, + https://github.com/fmtlib/fmt/pull/3880, + https://github.com/fmtlib/fmt/issues/3881, + https://github.com/fmtlib/fmt/issues/3884, + https://github.com/fmtlib/fmt/issues/3898, + https://github.com/fmtlib/fmt/pull/3899, + https://github.com/fmtlib/fmt/pull/3909, + https://github.com/fmtlib/fmt/pull/3917, + https://github.com/fmtlib/fmt/pull/3923, + https://github.com/fmtlib/fmt/pull/3924, + https://github.com/fmtlib/fmt/issues/3925, + https://github.com/fmtlib/fmt/pull/3930, + https://github.com/fmtlib/fmt/pull/3931, + https://github.com/fmtlib/fmt/pull/3933, + https://github.com/fmtlib/fmt/issues/3935, + https://github.com/fmtlib/fmt/pull/3937, + https://github.com/fmtlib/fmt/pull/3967, + https://github.com/fmtlib/fmt/pull/3968, + https://github.com/fmtlib/fmt/pull/3972, + https://github.com/fmtlib/fmt/pull/3983, + https://github.com/fmtlib/fmt/issues/3992, + https://github.com/fmtlib/fmt/pull/3995, + https://github.com/fmtlib/fmt/pull/4009, + https://github.com/fmtlib/fmt/pull/4023). + Thanks @hmbj, @phprus, @res2k, @Baardi, @matt77hias, @waywardmonkeys, @hmbj, + @yakra, @prlw1, @Arghnews, @mtillmann0, @ShifftC, @eepp, @jimmy-park and + @ChristianGebhardt. + +# 10.2.1 - 2024-01-04 + +- Fixed ABI compatibility with earlier 10.x versions + (https://github.com/fmtlib/fmt/issues/3785, + https://github.com/fmtlib/fmt/pull/3786). Thanks @saraedum. - template <> - struct fmt::formatter : nested_formatter { - auto format(point p, format_context& ctx) const { - return write_padded(ctx, [=](auto out) { - return format_to(out, "({}, {})", nested(p.x), nested(p.y)); - }); - } - }; +# 10.2.0 - 2024-01-01 - int main() { - fmt::print("[{:>20.2f}]", point{1, 2}); - } - ``` +- Added support for the `%j` specifier (the number of days) for + `std::chrono::duration` (https://github.com/fmtlib/fmt/issues/3643, + https://github.com/fmtlib/fmt/pull/3732). Thanks @intelfx. - prints +- Added support for the chrono suffix for days and changed + the suffix for minutes from "m" to the correct "min" + (https://github.com/fmtlib/fmt/issues/3662, + https://github.com/fmtlib/fmt/pull/3664). + For example ([godbolt](https://godbolt.org/z/9KhMnq9ba)): - ``` - [ (1.00, 2.00)] - ``` + ```c++ + #include -- Added the generic representation (`g`) to `std::filesystem::path` - (https://github.com/fmtlib/fmt/issues/3715, - https://github.com/fmtlib/fmt/pull/3729). For example: + int main() { + fmt::print("{}\n", std::chrono::days(42)); // prints "42d" + } + ``` - ```c++ - #include - #include + Thanks @Richardk2n. - int main() { - fmt::print("{:g}\n", std::filesystem::path("C:\\foo")); - } - ``` - - prints `"C:/foo"` on Windows. - - Thanks @js324. - -- Made `format_as` work with references - (https://github.com/fmtlib/fmt/pull/3739). Thanks @tchaikov. - -- Fixed formatting of invalid UTF-8 with precision - (https://github.com/fmtlib/fmt/issues/3284). - -- Fixed an inconsistency between `fmt::to_string` and `fmt::format` - (https://github.com/fmtlib/fmt/issues/3684). - -- Disallowed unsafe uses of `fmt::styled` - (https://github.com/fmtlib/fmt/issues/3625): - - ```c++ - auto s = fmt::styled(std::string("dangle"), fmt::emphasis::bold); - fmt::print("{}\n", s); // compile error - ``` - - Pass `fmt::styled(...)` as a parameter instead. - -- Added a null check when formatting a C string with the `s` specifier - (https://github.com/fmtlib/fmt/issues/3706). - -- Disallowed the `c` specifier for `bool` - (https://github.com/fmtlib/fmt/issues/3726, - https://github.com/fmtlib/fmt/pull/3734). Thanks @js324. - -- Made the default formatting unlocalized in `fmt::ostream_formatter` for - consistency with the rest of the library - (https://github.com/fmtlib/fmt/issues/3460). - -- Fixed localized formatting in bases other than decimal - (https://github.com/fmtlib/fmt/issues/3693, - https://github.com/fmtlib/fmt/pull/3750). Thanks @js324. - -- Fixed a performance regression in experimental `fmt::ostream::print` - (https://github.com/fmtlib/fmt/issues/3674). - -- Added synchronization with the underlying output stream when writing to - the Windows console - (https://github.com/fmtlib/fmt/pull/3668, - https://github.com/fmtlib/fmt/issues/3688, - https://github.com/fmtlib/fmt/pull/3689). - Thanks @Roman-Koshelev and @dimztimz. - -- Changed to only export `format_error` when {fmt} is built as a shared - library (https://github.com/fmtlib/fmt/issues/3626, - https://github.com/fmtlib/fmt/pull/3627). Thanks @phprus. - -- Made `fmt::streamed` `constexpr`. - (https://github.com/fmtlib/fmt/pull/3650). Thanks @muggenhor. - -- Enabled `consteval` on older versions of MSVC - (https://github.com/fmtlib/fmt/pull/3757). Thanks @phprus. - -- Added an option to build without `wchar_t` support on Windows - (https://github.com/fmtlib/fmt/issues/3631, - https://github.com/fmtlib/fmt/pull/3636). Thanks @glebm. - -- Improved build and CI configuration - (https://github.com/fmtlib/fmt/pull/3679, - https://github.com/fmtlib/fmt/issues/3701, - https://github.com/fmtlib/fmt/pull/3702, - https://github.com/fmtlib/fmt/pull/3749). - Thanks @jcar87, @pklima and @tchaikov. - -- Fixed various warnings, compilation and test issues - (https://github.com/fmtlib/fmt/issues/3607, - https://github.com/fmtlib/fmt/pull/3610, - https://github.com/fmtlib/fmt/pull/3624, - https://github.com/fmtlib/fmt/pull/3630, - https://github.com/fmtlib/fmt/pull/3634, - https://github.com/fmtlib/fmt/pull/3638, - https://github.com/fmtlib/fmt/issues/3645, - https://github.com/fmtlib/fmt/issues/3646, - https://github.com/fmtlib/fmt/pull/3647, - https://github.com/fmtlib/fmt/pull/3652, - https://github.com/fmtlib/fmt/issues/3654, - https://github.com/fmtlib/fmt/pull/3663, - https://github.com/fmtlib/fmt/issues/3670, - https://github.com/fmtlib/fmt/pull/3680, - https://github.com/fmtlib/fmt/issues/3694, - https://github.com/fmtlib/fmt/pull/3695, - https://github.com/fmtlib/fmt/pull/3699, - https://github.com/fmtlib/fmt/issues/3705, - https://github.com/fmtlib/fmt/issues/3710, - https://github.com/fmtlib/fmt/issues/3712, - https://github.com/fmtlib/fmt/pull/3713, - https://github.com/fmtlib/fmt/issues/3714, - https://github.com/fmtlib/fmt/pull/3716, - https://github.com/fmtlib/fmt/pull/3723, - https://github.com/fmtlib/fmt/issues/3738, - https://github.com/fmtlib/fmt/issues/3740, - https://github.com/fmtlib/fmt/pull/3741, - https://github.com/fmtlib/fmt/pull/3743, - https://github.com/fmtlib/fmt/issues/3745, - https://github.com/fmtlib/fmt/pull/3747, - https://github.com/fmtlib/fmt/pull/3748, - https://github.com/fmtlib/fmt/pull/3751, - https://github.com/fmtlib/fmt/pull/3754, - https://github.com/fmtlib/fmt/pull/3755, - https://github.com/fmtlib/fmt/issues/3760, - https://github.com/fmtlib/fmt/pull/3762, - https://github.com/fmtlib/fmt/issues/3763, - https://github.com/fmtlib/fmt/pull/3764, - https://github.com/fmtlib/fmt/issues/3774, - https://github.com/fmtlib/fmt/pull/3779). - Thanks @danakj, @vinayyadav3016, @cyyever, @phprus, @qimiko, @saschasc, - @gsjaardema, @lazka, @Zhaojun-Liu, @carlsmedstad, @hotwatermorning, - @cptFracassa, @kuguma, @PeterJohnson, @H1X4Dev, @asantoni, @eltociear, - @msimberg, @tchaikov, @waywardmonkeys. - -- Improved documentation and README - (https://github.com/fmtlib/fmt/issues/2086, - https://github.com/fmtlib/fmt/issues/3637, - https://github.com/fmtlib/fmt/pull/3642, - https://github.com/fmtlib/fmt/pull/3653, - https://github.com/fmtlib/fmt/pull/3655, - https://github.com/fmtlib/fmt/pull/3661, - https://github.com/fmtlib/fmt/issues/3673, - https://github.com/fmtlib/fmt/pull/3677, - https://github.com/fmtlib/fmt/pull/3737, - https://github.com/fmtlib/fmt/issues/3742, - https://github.com/fmtlib/fmt/pull/3744). - Thanks @idzm, @perlun, @joycebrum, @fennewald, @reinhardt1053, @GeorgeLS. - -- Updated CI dependencies - (https://github.com/fmtlib/fmt/pull/3615, - https://github.com/fmtlib/fmt/pull/3622, - https://github.com/fmtlib/fmt/pull/3623, - https://github.com/fmtlib/fmt/pull/3666, - https://github.com/fmtlib/fmt/pull/3696, - https://github.com/fmtlib/fmt/pull/3697, - https://github.com/fmtlib/fmt/pull/3759, - https://github.com/fmtlib/fmt/pull/3782). +- Fixed an overflow in `std::chrono::time_point` formatting with large dates + (https://github.com/fmtlib/fmt/issues/3725, + https://github.com/fmtlib/fmt/pull/3727). Thanks @cschreib. -# 10.1.1 - 2023-08-28 +- Added a formatter for `std::source_location` + (https://github.com/fmtlib/fmt/pull/3730). + For example ([godbolt](https://godbolt.org/z/YajfKjhhr)): -- Added formatters for `std::atomic` and `atomic_flag` - (https://github.com/fmtlib/fmt/pull/3574, - https://github.com/fmtlib/fmt/pull/3594). - Thanks @wangzw and @AlexGuteniev. -- Fixed an error about partial specialization of `formatter` - after instantiation when compiled with gcc and C++20 - (https://github.com/fmtlib/fmt/issues/3584). -- Fixed compilation as a C++20 module with gcc and clang - (https://github.com/fmtlib/fmt/issues/3587, - https://github.com/fmtlib/fmt/pull/3597, - https://github.com/fmtlib/fmt/pull/3605). - Thanks @MathewBensonCode. -- Made `fmt::to_string` work with types that have `format_as` - overloads (https://github.com/fmtlib/fmt/pull/3575). Thanks @phprus. -- Made `formatted_size` work with integral format specifiers at - compile time (https://github.com/fmtlib/fmt/pull/3591). - Thanks @elbeno. -- Fixed a warning about the `no_unique_address` attribute on clang-cl - (https://github.com/fmtlib/fmt/pull/3599). Thanks @lukester1975. -- Improved compatibility with the legacy GBK encoding - (https://github.com/fmtlib/fmt/issues/3598, - https://github.com/fmtlib/fmt/pull/3599). Thanks @YuHuanTin. -- Added OpenSSF Scorecard analysis - (https://github.com/fmtlib/fmt/issues/3530, - https://github.com/fmtlib/fmt/pull/3571). Thanks @joycebrum. -- Updated CI dependencies - (https://github.com/fmtlib/fmt/pull/3591, - https://github.com/fmtlib/fmt/pull/3592, - https://github.com/fmtlib/fmt/pull/3593, - https://github.com/fmtlib/fmt/pull/3602). + ```c++ + #include + #include -# 10.1.0 - 2023-08-12 + int main() { + fmt::print("{}\n", std::source_location::current()); + } + ``` -- Optimized format string compilation resulting in up to 40% speed up - in compiled `format_to` and \~4x speed up in compiled `format_to_n` - on a concatenation benchmark - (https://github.com/fmtlib/fmt/issues/3133, - https://github.com/fmtlib/fmt/issues/3484). + prints - {fmt} 10.0: + ``` + /app/example.cpp:5:51: int main() + ``` - --------------------------------------------------------- - Benchmark Time CPU Iterations - --------------------------------------------------------- - BM_format_to 78.9 ns 78.9 ns 8881746 - BM_format_to_n 568 ns 568 ns 1232089 + Thanks @felix642. - {fmt} 10.1: +- Added a formatter for `std::bitset` + (https://github.com/fmtlib/fmt/pull/3660). + For example ([godbolt](https://godbolt.org/z/bdEaGeYxe)): - --------------------------------------------------------- - Benchmark Time CPU Iterations - --------------------------------------------------------- - BM_format_to 54.9 ns 54.9 ns 12727944 - BM_format_to_n 133 ns 133 ns 5257795 + ```c++ + #include + #include -- Optimized storage of an empty allocator in `basic_memory_buffer` - (https://github.com/fmtlib/fmt/pull/3485). Thanks @Minty-Meeo. + int main() { + fmt::print("{}\n", std::bitset<6>(42)); // prints "101010" + } + ``` -- Added formatters for proxy references to elements of - `std::vector` and `std::bitset` - (https://github.com/fmtlib/fmt/issues/3567, - https://github.com/fmtlib/fmt/pull/3570). For example - ([godbolt](https://godbolt.org/z/zYb79Pvn8)): + Thanks @muggenhor. - ```c++ - #include - #include +- Added an experimental `nested_formatter` that provides an easy way of + applying a formatter to one or more subobjects while automatically handling + width, fill and alignment. For example: - int main() { - auto v = std::vector{true}; - fmt::print("{}", v[0]); - } - ``` - - Thanks @phprus and @felix642. - -- Fixed an ambiguous formatter specialization for containers that look - like container adaptors such as `boost::flat_set` - (https://github.com/fmtlib/fmt/issues/3556, - https://github.com/fmtlib/fmt/pull/3561). Thanks @5chmidti. - -- Fixed compilation when formatting durations not convertible from - `std::chrono::seconds` - (https://github.com/fmtlib/fmt/pull/3430). Thanks @patlkli. - -- Made the `formatter` specialization for `char*` const-correct - (https://github.com/fmtlib/fmt/pull/3432). Thanks @timsong-cpp. - -- Made `{}` and `{:}` handled consistently during compile-time checks - (https://github.com/fmtlib/fmt/issues/3526). - -- Disallowed passing temporaries to `make_format_args` to improve API - safety by preventing dangling references. - -- Improved the compile-time error for unformattable types - (https://github.com/fmtlib/fmt/pull/3478). Thanks @BRevzin. - -- Improved the floating-point formatter - (https://github.com/fmtlib/fmt/pull/3448, - https://github.com/fmtlib/fmt/pull/3450). - Thanks @florimond-collette. - -- Fixed handling of precision for `long double` larger than 64 bits. - (https://github.com/fmtlib/fmt/issues/3539, - https://github.com/fmtlib/fmt/issues/3564). - -- Made floating-point and chrono tests less platform-dependent - (https://github.com/fmtlib/fmt/issues/3337, - https://github.com/fmtlib/fmt/issues/3433, - https://github.com/fmtlib/fmt/pull/3434). Thanks @phprus. - -- Removed the remnants of the Grisu floating-point formatter that has - been replaced by Dragonbox in earlier versions. - -- Added `throw_format_error` to the public API - (https://github.com/fmtlib/fmt/pull/3551). Thanks @mjerabek. - -- Made `FMT_THROW` assert even if assertions are disabled when - compiling with exceptions disabled - (https://github.com/fmtlib/fmt/issues/3418, - https://github.com/fmtlib/fmt/pull/3439). Thanks @BRevzin. - -- Made `format_as` and `std::filesystem::path` formatter work with - exotic code unit types. - (https://github.com/fmtlib/fmt/pull/3457, - https://github.com/fmtlib/fmt/pull/3476). Thanks @gix and @hmbj. - -- Added support for the `?` format specifier to - `std::filesystem::path` and made the default unescaped for - consistency with strings. - -- Deprecated the wide stream overload of `printf`. - -- Removed unused `basic_printf_parse_context`. - -- Improved RTTI detection used when formatting exceptions - (https://github.com/fmtlib/fmt/pull/3468). Thanks @danakj. - -- Improved compatibility with VxWorks7 - (https://github.com/fmtlib/fmt/pull/3467). Thanks @wenshan1. - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/3174, - https://github.com/fmtlib/fmt/issues/3423, - https://github.com/fmtlib/fmt/pull/3454, - https://github.com/fmtlib/fmt/issues/3458, - https://github.com/fmtlib/fmt/pull/3461, - https://github.com/fmtlib/fmt/issues/3487, - https://github.com/fmtlib/fmt/pull/3515). - Thanks @zencatalyst, @rlalik and @mikecrowe. - -- Improved build and CI configurations - (https://github.com/fmtlib/fmt/issues/3449, - https://github.com/fmtlib/fmt/pull/3451, - https://github.com/fmtlib/fmt/pull/3452, - https://github.com/fmtlib/fmt/pull/3453, - https://github.com/fmtlib/fmt/pull/3459, - https://github.com/fmtlib/fmt/issues/3481, - https://github.com/fmtlib/fmt/pull/3486, - https://github.com/fmtlib/fmt/issues/3489, - https://github.com/fmtlib/fmt/pull/3496, - https://github.com/fmtlib/fmt/issues/3517, - https://github.com/fmtlib/fmt/pull/3523, - https://github.com/fmtlib/fmt/pull/3563). - Thanks @joycebrum, @glebm, @phprus, @petrmanek, @setoye and @abouvier. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/issues/3408, - https://github.com/fmtlib/fmt/issues/3424, - https://github.com/fmtlib/fmt/issues/3444, - https://github.com/fmtlib/fmt/pull/3446, - https://github.com/fmtlib/fmt/pull/3475, - https://github.com/fmtlib/fmt/pull/3482, - https://github.com/fmtlib/fmt/issues/3492, - https://github.com/fmtlib/fmt/pull/3493, - https://github.com/fmtlib/fmt/pull/3508, - https://github.com/fmtlib/fmt/issues/3509, - https://github.com/fmtlib/fmt/issues/3533, - https://github.com/fmtlib/fmt/pull/3542, - https://github.com/fmtlib/fmt/issues/3543, - https://github.com/fmtlib/fmt/issues/3540, - https://github.com/fmtlib/fmt/pull/3544, - https://github.com/fmtlib/fmt/issues/3548, - https://github.com/fmtlib/fmt/pull/3549, - https://github.com/fmtlib/fmt/pull/3550, - https://github.com/fmtlib/fmt/pull/3552). - Thanks @adesitter, @hmbj, @Minty-Meeo, @phprus, @TobiSchluter, - @kieranclancy, @alexeedm, @jurihock, @Ozomahtli and @razaqq. + ```c++ + #include -# 10.0.0 - 2023-05-09 + struct point { + double x, y; + }; -- Replaced Grisu with a new floating-point formatting algorithm for - given precision (https://github.com/fmtlib/fmt/issues/3262, - https://github.com/fmtlib/fmt/issues/2750, - https://github.com/fmtlib/fmt/pull/3269, - https://github.com/fmtlib/fmt/pull/3276). The new algorithm - is based on Dragonbox already used for the shortest representation - and gives substantial performance improvement: - - ![](https://user-images.githubusercontent.com/33922675/211956670-84891a09-6867-47d9-82fc-3230da7abe0f.png) - - - Red: new algorithm - - Green: new algorithm with `FMT_USE_FULL_CACHE_DRAGONBOX` defined - to 1 - - Blue: old algorithm - - Thanks @jk-jeon. - -- Replaced `snprintf`-based hex float formatter with an internal - implementation (https://github.com/fmtlib/fmt/pull/3179, - https://github.com/fmtlib/fmt/pull/3203). This removes the - last usage of `s(n)printf` in {fmt}. Thanks @phprus. - -- Fixed alignment of floating-point numbers with localization - (https://github.com/fmtlib/fmt/issues/3263, - https://github.com/fmtlib/fmt/pull/3272). Thanks @ShawnZhong. - -- Made handling of `#` consistent with `std::format`. - -- Improved C++20 module support - (https://github.com/fmtlib/fmt/pull/3134, - https://github.com/fmtlib/fmt/pull/3254, - https://github.com/fmtlib/fmt/pull/3386, - https://github.com/fmtlib/fmt/pull/3387, - https://github.com/fmtlib/fmt/pull/3388, - https://github.com/fmtlib/fmt/pull/3392, - https://github.com/fmtlib/fmt/pull/3397, - https://github.com/fmtlib/fmt/pull/3399, - https://github.com/fmtlib/fmt/pull/3400). - Thanks @laitingsheng, @Orvid and @DanielaE. - -- Switched to the [modules CMake library](https://github.com/vitaut/modules) - which allows building {fmt} as a C++20 module with clang: - - CXX=clang++ cmake -DFMT_MODULE=ON . - make - -- Made `format_as` work with any user-defined type and not just enums. - For example ([godbolt](https://godbolt.org/z/b7rqhq5Kh)): - - ```c++ - #include - - struct floaty_mc_floatface { - double value; - }; - - auto format_as(floaty_mc_floatface f) { return f.value; } - - int main() { - fmt::print("{:8}\n", floaty_mc_floatface{0.42}); // prints " 0.42" + template <> + struct fmt::formatter : nested_formatter { + auto format(point p, format_context& ctx) const { + return write_padded(ctx, [=](auto out) { + return format_to(out, "({}, {})", nested(p.x), nested(p.y)); + }); } - ``` - -- Removed deprecated implicit conversions for enums and conversions to - primitive types for compatibility with `std::format` and to prevent - potential ODR violations. Use `format_as` instead. + }; -- Added support for fill, align and width to the time point formatter - (https://github.com/fmtlib/fmt/issues/3237, - https://github.com/fmtlib/fmt/pull/3260, - https://github.com/fmtlib/fmt/pull/3275). For example - ([godbolt](https://godbolt.org/z/rKP6MGz6c)): - - ```c++ - #include - - int main() { - // prints " 2023" - fmt::print("{:>8%Y}\n", std::chrono::system_clock::now()); - } - ``` + int main() { + fmt::print("[{:>20.2f}]", point{1, 2}); + } + ``` - Thanks @ShawnZhong. + prints -- Implemented formatting of subseconds - (https://github.com/fmtlib/fmt/issues/2207, - https://github.com/fmtlib/fmt/issues/3117, - https://github.com/fmtlib/fmt/pull/3115, - https://github.com/fmtlib/fmt/pull/3143, - https://github.com/fmtlib/fmt/pull/3144, - https://github.com/fmtlib/fmt/pull/3349). For example - ([godbolt](https://godbolt.org/z/45738oGEo)): + ``` + [ (1.00, 2.00)] + ``` - ```c++ - #include +- Added the generic representation (`g`) to `std::filesystem::path` + (https://github.com/fmtlib/fmt/issues/3715, + https://github.com/fmtlib/fmt/pull/3729). For example: + + ```c++ + #include + #include + + int main() { + fmt::print("{:g}\n", std::filesystem::path("C:\\foo")); + } + ``` + + prints `"C:/foo"` on Windows. + + Thanks @js324. + +- Made `format_as` work with references + (https://github.com/fmtlib/fmt/pull/3739). Thanks @tchaikov. + +- Fixed formatting of invalid UTF-8 with precision + (https://github.com/fmtlib/fmt/issues/3284). + +- Fixed an inconsistency between `fmt::to_string` and `fmt::format` + (https://github.com/fmtlib/fmt/issues/3684). + +- Disallowed unsafe uses of `fmt::styled` + (https://github.com/fmtlib/fmt/issues/3625): + + ```c++ + auto s = fmt::styled(std::string("dangle"), fmt::emphasis::bold); + fmt::print("{}\n", s); // compile error + ``` + + Pass `fmt::styled(...)` as a parameter instead. + +- Added a null check when formatting a C string with the `s` specifier + (https://github.com/fmtlib/fmt/issues/3706). + +- Disallowed the `c` specifier for `bool` + (https://github.com/fmtlib/fmt/issues/3726, + https://github.com/fmtlib/fmt/pull/3734). Thanks @js324. + +- Made the default formatting unlocalized in `fmt::ostream_formatter` for + consistency with the rest of the library + (https://github.com/fmtlib/fmt/issues/3460). + +- Fixed localized formatting in bases other than decimal + (https://github.com/fmtlib/fmt/issues/3693, + https://github.com/fmtlib/fmt/pull/3750). Thanks @js324. + +- Fixed a performance regression in experimental `fmt::ostream::print` + (https://github.com/fmtlib/fmt/issues/3674). + +- Added synchronization with the underlying output stream when writing to + the Windows console + (https://github.com/fmtlib/fmt/pull/3668, + https://github.com/fmtlib/fmt/issues/3688, + https://github.com/fmtlib/fmt/pull/3689). + Thanks @Roman-Koshelev and @dimztimz. + +- Changed to only export `format_error` when {fmt} is built as a shared + library (https://github.com/fmtlib/fmt/issues/3626, + https://github.com/fmtlib/fmt/pull/3627). Thanks @phprus. + +- Made `fmt::streamed` `constexpr`. + (https://github.com/fmtlib/fmt/pull/3650). Thanks @muggenhor. + +- Made `fmt::format_int` `constexpr` + (https://github.com/fmtlib/fmt/issues/4031, + https://github.com/fmtlib/fmt/pull/4032). Thanks @dixlorenz. + +- Enabled `consteval` on older versions of MSVC + (https://github.com/fmtlib/fmt/pull/3757). Thanks @phprus. + +- Added an option to build without `wchar_t` support on Windows + (https://github.com/fmtlib/fmt/issues/3631, + https://github.com/fmtlib/fmt/pull/3636). Thanks @glebm. + +- Improved build and CI configuration + (https://github.com/fmtlib/fmt/pull/3679, + https://github.com/fmtlib/fmt/issues/3701, + https://github.com/fmtlib/fmt/pull/3702, + https://github.com/fmtlib/fmt/pull/3749). + Thanks @jcar87, @pklima and @tchaikov. + +- Fixed various warnings, compilation and test issues + (https://github.com/fmtlib/fmt/issues/3607, + https://github.com/fmtlib/fmt/pull/3610, + https://github.com/fmtlib/fmt/pull/3624, + https://github.com/fmtlib/fmt/pull/3630, + https://github.com/fmtlib/fmt/pull/3634, + https://github.com/fmtlib/fmt/pull/3638, + https://github.com/fmtlib/fmt/issues/3645, + https://github.com/fmtlib/fmt/issues/3646, + https://github.com/fmtlib/fmt/pull/3647, + https://github.com/fmtlib/fmt/pull/3652, + https://github.com/fmtlib/fmt/issues/3654, + https://github.com/fmtlib/fmt/pull/3663, + https://github.com/fmtlib/fmt/issues/3670, + https://github.com/fmtlib/fmt/pull/3680, + https://github.com/fmtlib/fmt/issues/3694, + https://github.com/fmtlib/fmt/pull/3695, + https://github.com/fmtlib/fmt/pull/3699, + https://github.com/fmtlib/fmt/issues/3705, + https://github.com/fmtlib/fmt/issues/3710, + https://github.com/fmtlib/fmt/issues/3712, + https://github.com/fmtlib/fmt/pull/3713, + https://github.com/fmtlib/fmt/issues/3714, + https://github.com/fmtlib/fmt/pull/3716, + https://github.com/fmtlib/fmt/pull/3723, + https://github.com/fmtlib/fmt/issues/3738, + https://github.com/fmtlib/fmt/issues/3740, + https://github.com/fmtlib/fmt/pull/3741, + https://github.com/fmtlib/fmt/pull/3743, + https://github.com/fmtlib/fmt/issues/3745, + https://github.com/fmtlib/fmt/pull/3747, + https://github.com/fmtlib/fmt/pull/3748, + https://github.com/fmtlib/fmt/pull/3751, + https://github.com/fmtlib/fmt/pull/3754, + https://github.com/fmtlib/fmt/pull/3755, + https://github.com/fmtlib/fmt/issues/3760, + https://github.com/fmtlib/fmt/pull/3762, + https://github.com/fmtlib/fmt/issues/3763, + https://github.com/fmtlib/fmt/pull/3764, + https://github.com/fmtlib/fmt/issues/3774, + https://github.com/fmtlib/fmt/pull/3779). + Thanks @danakj, @vinayyadav3016, @cyyever, @phprus, @qimiko, @saschasc, + @gsjaardema, @lazka, @Zhaojun-Liu, @carlsmedstad, @hotwatermorning, + @cptFracassa, @kuguma, @PeterJohnson, @H1X4Dev, @asantoni, @eltociear, + @msimberg, @tchaikov, @waywardmonkeys. + +- Improved documentation and README + (https://github.com/fmtlib/fmt/issues/2086, + https://github.com/fmtlib/fmt/issues/3637, + https://github.com/fmtlib/fmt/pull/3642, + https://github.com/fmtlib/fmt/pull/3653, + https://github.com/fmtlib/fmt/pull/3655, + https://github.com/fmtlib/fmt/pull/3661, + https://github.com/fmtlib/fmt/issues/3673, + https://github.com/fmtlib/fmt/pull/3677, + https://github.com/fmtlib/fmt/pull/3737, + https://github.com/fmtlib/fmt/issues/3742, + https://github.com/fmtlib/fmt/pull/3744). + Thanks @idzm, @perlun, @joycebrum, @fennewald, @reinhardt1053, @GeorgeLS. + +- Updated CI dependencies + (https://github.com/fmtlib/fmt/pull/3615, + https://github.com/fmtlib/fmt/pull/3622, + https://github.com/fmtlib/fmt/pull/3623, + https://github.com/fmtlib/fmt/pull/3666, + https://github.com/fmtlib/fmt/pull/3696, + https://github.com/fmtlib/fmt/pull/3697, + https://github.com/fmtlib/fmt/pull/3759, + https://github.com/fmtlib/fmt/pull/3782). - int main() { - // prints 01.234567 - fmt::print("{:%S}\n", std::chrono::microseconds(1234567)); - } - ``` +# 10.1.1 - 2023-08-28 - Thanks @patrickroocks @phprus and @BRevzin. +- Added formatters for `std::atomic` and `atomic_flag` + (https://github.com/fmtlib/fmt/pull/3574, + https://github.com/fmtlib/fmt/pull/3594). + Thanks @wangzw and @AlexGuteniev. +- Fixed an error about partial specialization of `formatter` + after instantiation when compiled with gcc and C++20 + (https://github.com/fmtlib/fmt/issues/3584). +- Fixed compilation as a C++20 module with gcc and clang + (https://github.com/fmtlib/fmt/issues/3587, + https://github.com/fmtlib/fmt/pull/3597, + https://github.com/fmtlib/fmt/pull/3605). + Thanks @MathewBensonCode. +- Made `fmt::to_string` work with types that have `format_as` + overloads (https://github.com/fmtlib/fmt/pull/3575). Thanks @phprus. +- Made `formatted_size` work with integral format specifiers at + compile time (https://github.com/fmtlib/fmt/pull/3591). + Thanks @elbeno. +- Fixed a warning about the `no_unique_address` attribute on clang-cl + (https://github.com/fmtlib/fmt/pull/3599). Thanks @lukester1975. +- Improved compatibility with the legacy GBK encoding + (https://github.com/fmtlib/fmt/issues/3598, + https://github.com/fmtlib/fmt/pull/3599). Thanks @YuHuanTin. +- Added OpenSSF Scorecard analysis + (https://github.com/fmtlib/fmt/issues/3530, + https://github.com/fmtlib/fmt/pull/3571). Thanks @joycebrum. +- Updated CI dependencies + (https://github.com/fmtlib/fmt/pull/3591, + https://github.com/fmtlib/fmt/pull/3592, + https://github.com/fmtlib/fmt/pull/3593, + https://github.com/fmtlib/fmt/pull/3602). -- Added precision support to `%S` - (https://github.com/fmtlib/fmt/pull/3148). Thanks @SappyJoy +# 10.1.0 - 2023-08-12 -- Added support for `std::utc_time` - (https://github.com/fmtlib/fmt/issues/3098, - https://github.com/fmtlib/fmt/pull/3110). Thanks @patrickroocks. +- Optimized format string compilation resulting in up to 40% speed up + in compiled `format_to` and \~4x speed up in compiled `format_to_n` + on a concatenation benchmark + (https://github.com/fmtlib/fmt/issues/3133, + https://github.com/fmtlib/fmt/issues/3484). -- Switched formatting of `std::chrono::system_clock` from local time - to UTC for compatibility with the standard - (https://github.com/fmtlib/fmt/issues/3199, - https://github.com/fmtlib/fmt/pull/3230). Thanks @ned14. + {fmt} 10.0: -- Added support for `%Ez` and `%Oz` to chrono formatters. - (https://github.com/fmtlib/fmt/issues/3220, - https://github.com/fmtlib/fmt/pull/3222). Thanks @phprus. + --------------------------------------------------------- + Benchmark Time CPU Iterations + --------------------------------------------------------- + BM_format_to 78.9 ns 78.9 ns 8881746 + BM_format_to_n 568 ns 568 ns 1232089 -- Improved validation of format specifiers for `std::chrono::duration` - (https://github.com/fmtlib/fmt/issues/3219, - https://github.com/fmtlib/fmt/pull/3232). Thanks @ShawnZhong. + {fmt} 10.1: -- Fixed formatting of time points before the epoch - (https://github.com/fmtlib/fmt/issues/3117, - https://github.com/fmtlib/fmt/pull/3261). For example - ([godbolt](https://godbolt.org/z/f7bcznb3W)): + --------------------------------------------------------- + Benchmark Time CPU Iterations + --------------------------------------------------------- + BM_format_to 54.9 ns 54.9 ns 12727944 + BM_format_to_n 133 ns 133 ns 5257795 - ```c++ - #include +- Optimized storage of an empty allocator in `basic_memory_buffer` + (https://github.com/fmtlib/fmt/pull/3485). Thanks @Minty-Meeo. + +- Added formatters for proxy references to elements of + `std::vector` and `std::bitset` + (https://github.com/fmtlib/fmt/issues/3567, + https://github.com/fmtlib/fmt/pull/3570). For example + ([godbolt](https://godbolt.org/z/zYb79Pvn8)): + + ```c++ + #include + #include + + int main() { + auto v = std::vector{true}; + fmt::print("{}", v[0]); + } + ``` + + Thanks @phprus and @felix642. + +- Fixed an ambiguous formatter specialization for containers that look + like container adaptors such as `boost::flat_set` + (https://github.com/fmtlib/fmt/issues/3556, + https://github.com/fmtlib/fmt/pull/3561). Thanks @5chmidti. + +- Fixed compilation when formatting durations not convertible from + `std::chrono::seconds` + (https://github.com/fmtlib/fmt/pull/3430). Thanks @patlkli. + +- Made the `formatter` specialization for `char*` const-correct + (https://github.com/fmtlib/fmt/pull/3432). Thanks @timsong-cpp. + +- Made `{}` and `{:}` handled consistently during compile-time checks + (https://github.com/fmtlib/fmt/issues/3526). + +- Disallowed passing temporaries to `make_format_args` to improve API + safety by preventing dangling references. + +- Improved the compile-time error for unformattable types + (https://github.com/fmtlib/fmt/pull/3478). Thanks @BRevzin. + +- Improved the floating-point formatter + (https://github.com/fmtlib/fmt/pull/3448, + https://github.com/fmtlib/fmt/pull/3450). + Thanks @florimond-collette. + +- Fixed handling of precision for `long double` larger than 64 bits. + (https://github.com/fmtlib/fmt/issues/3539, + https://github.com/fmtlib/fmt/issues/3564). + +- Made floating-point and chrono tests less platform-dependent + (https://github.com/fmtlib/fmt/issues/3337, + https://github.com/fmtlib/fmt/issues/3433, + https://github.com/fmtlib/fmt/pull/3434). Thanks @phprus. + +- Removed the remnants of the Grisu floating-point formatter that has + been replaced by Dragonbox in earlier versions. + +- Added `throw_format_error` to the public API + (https://github.com/fmtlib/fmt/pull/3551). Thanks @mjerabek. + +- Made `FMT_THROW` assert even if assertions are disabled when + compiling with exceptions disabled + (https://github.com/fmtlib/fmt/issues/3418, + https://github.com/fmtlib/fmt/pull/3439). Thanks @BRevzin. + +- Made `format_as` and `std::filesystem::path` formatter work with + exotic code unit types. + (https://github.com/fmtlib/fmt/pull/3457, + https://github.com/fmtlib/fmt/pull/3476). Thanks @gix and @hmbj. + +- Added support for the `?` format specifier to + `std::filesystem::path` and made the default unescaped for + consistency with strings. + +- Deprecated the wide stream overload of `printf`. + +- Removed unused `basic_printf_parse_context`. + +- Improved RTTI detection used when formatting exceptions + (https://github.com/fmtlib/fmt/pull/3468). Thanks @danakj. + +- Improved compatibility with VxWorks7 + (https://github.com/fmtlib/fmt/pull/3467). Thanks @wenshan1. + +- Improved documentation + (https://github.com/fmtlib/fmt/issues/3174, + https://github.com/fmtlib/fmt/issues/3423, + https://github.com/fmtlib/fmt/pull/3454, + https://github.com/fmtlib/fmt/issues/3458, + https://github.com/fmtlib/fmt/pull/3461, + https://github.com/fmtlib/fmt/issues/3487, + https://github.com/fmtlib/fmt/pull/3515). + Thanks @zencatalyst, @rlalik and @mikecrowe. + +- Improved build and CI configurations + (https://github.com/fmtlib/fmt/issues/3449, + https://github.com/fmtlib/fmt/pull/3451, + https://github.com/fmtlib/fmt/pull/3452, + https://github.com/fmtlib/fmt/pull/3453, + https://github.com/fmtlib/fmt/pull/3459, + https://github.com/fmtlib/fmt/issues/3481, + https://github.com/fmtlib/fmt/pull/3486, + https://github.com/fmtlib/fmt/issues/3489, + https://github.com/fmtlib/fmt/pull/3496, + https://github.com/fmtlib/fmt/issues/3517, + https://github.com/fmtlib/fmt/pull/3523, + https://github.com/fmtlib/fmt/pull/3563). + Thanks @joycebrum, @glebm, @phprus, @petrmanek, @setoye and @abouvier. + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/issues/3408, + https://github.com/fmtlib/fmt/issues/3424, + https://github.com/fmtlib/fmt/issues/3444, + https://github.com/fmtlib/fmt/pull/3446, + https://github.com/fmtlib/fmt/pull/3475, + https://github.com/fmtlib/fmt/pull/3482, + https://github.com/fmtlib/fmt/issues/3492, + https://github.com/fmtlib/fmt/pull/3493, + https://github.com/fmtlib/fmt/pull/3508, + https://github.com/fmtlib/fmt/issues/3509, + https://github.com/fmtlib/fmt/issues/3533, + https://github.com/fmtlib/fmt/pull/3542, + https://github.com/fmtlib/fmt/issues/3543, + https://github.com/fmtlib/fmt/issues/3540, + https://github.com/fmtlib/fmt/pull/3544, + https://github.com/fmtlib/fmt/issues/3548, + https://github.com/fmtlib/fmt/pull/3549, + https://github.com/fmtlib/fmt/pull/3550, + https://github.com/fmtlib/fmt/pull/3552). + Thanks @adesitter, @hmbj, @Minty-Meeo, @phprus, @TobiSchluter, + @kieranclancy, @alexeedm, @jurihock, @Ozomahtli and @razaqq. - int main() { - auto t = std::chrono::system_clock::from_time_t(0) - - std::chrono::milliseconds(250); - fmt::print("{:%S}\n", t); // prints 59.750000000 - } - ``` - - Thanks @ShawnZhong. - -- Experimental: implemented glibc extension for padding seconds, - minutes and hours - (https://github.com/fmtlib/fmt/issues/2959, - https://github.com/fmtlib/fmt/pull/3271). Thanks @ShawnZhong. - -- Added a formatter for `std::exception` - (https://github.com/fmtlib/fmt/issues/2977, - https://github.com/fmtlib/fmt/issues/3012, - https://github.com/fmtlib/fmt/pull/3062, - https://github.com/fmtlib/fmt/pull/3076, - https://github.com/fmtlib/fmt/pull/3119). For example - ([godbolt](https://godbolt.org/z/8xoWGs9e4)): - - ```c++ - #include - #include - - int main() { - try { - std::vector().at(0); - } catch(const std::exception& e) { - fmt::print("{}", e); - } - } - ``` +# 10.0.0 - 2023-05-09 - prints: +- Replaced Grisu with a new floating-point formatting algorithm for + given precision (https://github.com/fmtlib/fmt/issues/3262, + https://github.com/fmtlib/fmt/issues/2750, + https://github.com/fmtlib/fmt/pull/3269, + https://github.com/fmtlib/fmt/pull/3276). The new algorithm + is based on Dragonbox already used for the shortest representation + and gives substantial performance improvement: + + ![](https://user-images.githubusercontent.com/33922675/211956670-84891a09-6867-47d9-82fc-3230da7abe0f.png) + + - Red: new algorithm + - Green: new algorithm with `FMT_USE_FULL_CACHE_DRAGONBOX` defined + to 1 + - Blue: old algorithm + + Thanks @jk-jeon. + +- Replaced `snprintf`-based hex float formatter with an internal + implementation (https://github.com/fmtlib/fmt/pull/3179, + https://github.com/fmtlib/fmt/pull/3203). This removes the + last usage of `s(n)printf` in {fmt}. Thanks @phprus. + +- Fixed alignment of floating-point numbers with localization + (https://github.com/fmtlib/fmt/issues/3263, + https://github.com/fmtlib/fmt/pull/3272). Thanks @ShawnZhong. + +- Made handling of `#` consistent with `std::format`. + +- Improved C++20 module support + (https://github.com/fmtlib/fmt/pull/3134, + https://github.com/fmtlib/fmt/pull/3254, + https://github.com/fmtlib/fmt/pull/3386, + https://github.com/fmtlib/fmt/pull/3387, + https://github.com/fmtlib/fmt/pull/3388, + https://github.com/fmtlib/fmt/pull/3392, + https://github.com/fmtlib/fmt/pull/3397, + https://github.com/fmtlib/fmt/pull/3399, + https://github.com/fmtlib/fmt/pull/3400). + Thanks @laitingsheng, @Orvid and @DanielaE. + +- Switched to the [modules CMake library](https://github.com/vitaut/modules) + which allows building {fmt} as a C++20 module with clang: + + CXX=clang++ cmake -DFMT_MODULE=ON . + make + +- Made `format_as` work with any user-defined type and not just enums. + For example ([godbolt](https://godbolt.org/z/b7rqhq5Kh)): + + ```c++ + #include + + struct floaty_mc_floatface { + double value; + }; + + auto format_as(floaty_mc_floatface f) { return f.value; } + + int main() { + fmt::print("{:8}\n", floaty_mc_floatface{0.42}); // prints " 0.42" + } + ``` + +- Removed deprecated implicit conversions for enums and conversions to + primitive types for compatibility with `std::format` and to prevent + potential ODR violations. Use `format_as` instead. + +- Added support for fill, align and width to the time point formatter + (https://github.com/fmtlib/fmt/issues/3237, + https://github.com/fmtlib/fmt/pull/3260, + https://github.com/fmtlib/fmt/pull/3275). For example + ([godbolt](https://godbolt.org/z/rKP6MGz6c)): + + ```c++ + #include + + int main() { + // prints " 2023" + fmt::print("{:>8%Y}\n", std::chrono::system_clock::now()); + } + ``` + + Thanks @ShawnZhong. + +- Implemented formatting of subseconds + (https://github.com/fmtlib/fmt/issues/2207, + https://github.com/fmtlib/fmt/issues/3117, + https://github.com/fmtlib/fmt/pull/3115, + https://github.com/fmtlib/fmt/pull/3143, + https://github.com/fmtlib/fmt/pull/3144, + https://github.com/fmtlib/fmt/pull/3349). For example + ([godbolt](https://godbolt.org/z/45738oGEo)): + + ```c++ + #include + + int main() { + // prints 01.234567 + fmt::print("{:%S}\n", std::chrono::microseconds(1234567)); + } + ``` + + Thanks @patrickroocks @phprus and @BRevzin. + +- Added precision support to `%S` + (https://github.com/fmtlib/fmt/pull/3148). Thanks @SappyJoy + +- Added support for `std::utc_time` + (https://github.com/fmtlib/fmt/issues/3098, + https://github.com/fmtlib/fmt/pull/3110). Thanks @patrickroocks. + +- Switched formatting of `std::chrono::system_clock` from local time + to UTC for compatibility with the standard + (https://github.com/fmtlib/fmt/issues/3199, + https://github.com/fmtlib/fmt/pull/3230). Thanks @ned14. + +- Added support for `%Ez` and `%Oz` to chrono formatters. + (https://github.com/fmtlib/fmt/issues/3220, + https://github.com/fmtlib/fmt/pull/3222). Thanks @phprus. + +- Improved validation of format specifiers for `std::chrono::duration` + (https://github.com/fmtlib/fmt/issues/3219, + https://github.com/fmtlib/fmt/pull/3232). Thanks @ShawnZhong. + +- Fixed formatting of time points before the epoch + (https://github.com/fmtlib/fmt/issues/3117, + https://github.com/fmtlib/fmt/pull/3261). For example + ([godbolt](https://godbolt.org/z/f7bcznb3W)): + + ```c++ + #include + + int main() { + auto t = std::chrono::system_clock::from_time_t(0) - + std::chrono::milliseconds(250); + fmt::print("{:%S}\n", t); // prints 59.750000000 + } + ``` + + Thanks @ShawnZhong. - vector::_M_range_check: __n (which is 0) >= this->size() (which is 0) +- Experimental: implemented glibc extension for padding seconds, + minutes and hours + (https://github.com/fmtlib/fmt/issues/2959, + https://github.com/fmtlib/fmt/pull/3271). Thanks @ShawnZhong. + +- Added a formatter for `std::exception` + (https://github.com/fmtlib/fmt/issues/2977, + https://github.com/fmtlib/fmt/issues/3012, + https://github.com/fmtlib/fmt/pull/3062, + https://github.com/fmtlib/fmt/pull/3076, + https://github.com/fmtlib/fmt/pull/3119). For example + ([godbolt](https://godbolt.org/z/8xoWGs9e4)): + + ```c++ + #include + #include + + int main() { + try { + std::vector().at(0); + } catch(const std::exception& e) { + fmt::print("{}", e); + } + } + ``` - on libstdc++. Thanks @zach2good and @phprus. + prints: + + vector::_M_range_check: __n (which is 0) >= this->size() (which is 0) -- Moved `std::error_code` formatter from `fmt/os.h` to `fmt/std.h`. - (https://github.com/fmtlib/fmt/pull/3125). Thanks @phprus. + on libstdc++. Thanks @zach2good and @phprus. -- Added formatters for standard container adapters: - `std::priority_queue`, `std::queue` and `std::stack` - (https://github.com/fmtlib/fmt/issues/3215, - https://github.com/fmtlib/fmt/pull/3279). For example - ([godbolt](https://godbolt.org/z/74h1xY9qK)): +- Moved `std::error_code` formatter from `fmt/os.h` to `fmt/std.h`. + (https://github.com/fmtlib/fmt/pull/3125). Thanks @phprus. - ```c++ - #include - #include - #include +- Added formatters for standard container adapters: + `std::priority_queue`, `std::queue` and `std::stack` + (https://github.com/fmtlib/fmt/issues/3215, + https://github.com/fmtlib/fmt/pull/3279). For example + ([godbolt](https://godbolt.org/z/74h1xY9qK)): - int main() { - auto s = std::stack>(); - for (auto b: {true, false, true}) s.push(b); - fmt::print("{}\n", s); // prints [true, false, true] - } - ``` - - Thanks @ShawnZhong. - -- Added a formatter for `std::optional` to `fmt/std.h` - (https://github.com/fmtlib/fmt/issues/1367, - https://github.com/fmtlib/fmt/pull/3303). - Thanks @tom-huntington. - -- Fixed formatting of valueless by exception variants - (https://github.com/fmtlib/fmt/pull/3347). Thanks @TheOmegaCarrot. - -- Made `fmt::ptr` accept `unique_ptr` with a custom deleter - (https://github.com/fmtlib/fmt/pull/3177). Thanks @hmbj. - -- Fixed formatting of noncopyable ranges and nested ranges of chars - (https://github.com/fmtlib/fmt/pull/3158 - https://github.com/fmtlib/fmt/issues/3286, - https://github.com/fmtlib/fmt/pull/3290). Thanks @BRevzin. - -- Fixed issues with formatting of paths and ranges of paths - (https://github.com/fmtlib/fmt/issues/3319, - https://github.com/fmtlib/fmt/pull/3321 - https://github.com/fmtlib/fmt/issues/3322). Thanks @phprus. - -- Improved handling of invalid Unicode in paths. - -- Enabled compile-time checks on Apple clang 14 and later - (https://github.com/fmtlib/fmt/pull/3331). Thanks @cloyce. - -- Improved compile-time checks of named arguments - (https://github.com/fmtlib/fmt/issues/3105, - https://github.com/fmtlib/fmt/pull/3214). Thanks @rbrich. - -- Fixed formatting when both alignment and `0` are given - (https://github.com/fmtlib/fmt/issues/3236, - https://github.com/fmtlib/fmt/pull/3248). Thanks @ShawnZhong. - -- Improved Unicode support in the experimental file API on Windows - (https://github.com/fmtlib/fmt/issues/3234, - https://github.com/fmtlib/fmt/pull/3293). Thanks @Fros1er. - -- Unified UTF transcoding - (https://github.com/fmtlib/fmt/pull/3416). Thanks @phprus. - -- Added support for UTF-8 digit separators via an experimental locale - facet (https://github.com/fmtlib/fmt/issues/1861). For - example ([godbolt](https://godbolt.org/z/f7bcznb3W)): - - ```c++ - auto loc = std::locale( - std::locale(), new fmt::format_facet("’")); - auto s = fmt::format(loc, "{:L}", 1000); - ``` - - where `’` is U+2019 used as a digit separator in the de_CH locale. - -- Added an overload of `formatted_size` that takes a locale - (https://github.com/fmtlib/fmt/issues/3084, - https://github.com/fmtlib/fmt/pull/3087). Thanks @gerboengels. - -- Removed the deprecated `FMT_DEPRECATED_OSTREAM`. - -- Fixed a UB when using a null `std::string_view` with - `fmt::to_string` or format string compilation - (https://github.com/fmtlib/fmt/issues/3241, - https://github.com/fmtlib/fmt/pull/3244). Thanks @phprus. - -- Added `starts_with` to the fallback `string_view` implementation - (https://github.com/fmtlib/fmt/pull/3080). Thanks @phprus. - -- Added `fmt::basic_format_string::get()` for compatibility with - `basic_format_string` - (https://github.com/fmtlib/fmt/pull/3111). Thanks @huangqinjin. - -- Added `println` for compatibility with C++23 - (https://github.com/fmtlib/fmt/pull/3267). Thanks @ShawnZhong. - -- Renamed the `FMT_EXPORT` macro for shared library usage to - `FMT_LIB_EXPORT`. - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/3108, - https://github.com/fmtlib/fmt/issues/3169, - https://github.com/fmtlib/fmt/pull/3243). - https://github.com/fmtlib/fmt/pull/3404). - Thanks @Cleroth and @Vertexwahn. - -- Improved build configuration and tests - (https://github.com/fmtlib/fmt/pull/3118, - https://github.com/fmtlib/fmt/pull/3120, - https://github.com/fmtlib/fmt/pull/3188, - https://github.com/fmtlib/fmt/issues/3189, - https://github.com/fmtlib/fmt/pull/3198, - https://github.com/fmtlib/fmt/pull/3205, - https://github.com/fmtlib/fmt/pull/3207, - https://github.com/fmtlib/fmt/pull/3210, - https://github.com/fmtlib/fmt/pull/3240, - https://github.com/fmtlib/fmt/pull/3256, - https://github.com/fmtlib/fmt/pull/3264, - https://github.com/fmtlib/fmt/issues/3299, - https://github.com/fmtlib/fmt/pull/3302, - https://github.com/fmtlib/fmt/pull/3312, - https://github.com/fmtlib/fmt/issues/3317, - https://github.com/fmtlib/fmt/pull/3328, - https://github.com/fmtlib/fmt/pull/3333, - https://github.com/fmtlib/fmt/pull/3369, - https://github.com/fmtlib/fmt/issues/3373, - https://github.com/fmtlib/fmt/pull/3395, - https://github.com/fmtlib/fmt/pull/3406, - https://github.com/fmtlib/fmt/pull/3411). - Thanks @dimztimz, @phprus, @DavidKorczynski, @ChrisThrasher, - @FrancoisCarouge, @kennyweiss, @luzpaz, @codeinred, @Mixaill, @joycebrum, - @kevinhwang and @Vertexwahn. - -- Fixed a regression in handling empty format specifiers after a colon - (`{:}`) (https://github.com/fmtlib/fmt/pull/3086). Thanks @oxidase. - -- Worked around a broken implementation of - `std::is_constant_evaluated` in some versions of libstdc++ on clang - (https://github.com/fmtlib/fmt/issues/3247, - https://github.com/fmtlib/fmt/pull/3281). Thanks @phprus. - -- Fixed formatting of volatile variables - (https://github.com/fmtlib/fmt/pull/3068). - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/pull/3057, - https://github.com/fmtlib/fmt/pull/3066, - https://github.com/fmtlib/fmt/pull/3072, - https://github.com/fmtlib/fmt/pull/3082, - https://github.com/fmtlib/fmt/pull/3091, - https://github.com/fmtlib/fmt/issues/3092, - https://github.com/fmtlib/fmt/pull/3093, - https://github.com/fmtlib/fmt/pull/3095, - https://github.com/fmtlib/fmt/issues/3096, - https://github.com/fmtlib/fmt/pull/3097, - https://github.com/fmtlib/fmt/issues/3128, - https://github.com/fmtlib/fmt/pull/3129, - https://github.com/fmtlib/fmt/pull/3137, - https://github.com/fmtlib/fmt/pull/3139, - https://github.com/fmtlib/fmt/issues/3140, - https://github.com/fmtlib/fmt/pull/3142, - https://github.com/fmtlib/fmt/issues/3149, - https://github.com/fmtlib/fmt/pull/3150, - https://github.com/fmtlib/fmt/issues/3154, - https://github.com/fmtlib/fmt/issues/3163, - https://github.com/fmtlib/fmt/issues/3178, - https://github.com/fmtlib/fmt/pull/3184, - https://github.com/fmtlib/fmt/pull/3196, - https://github.com/fmtlib/fmt/issues/3204, - https://github.com/fmtlib/fmt/pull/3206, - https://github.com/fmtlib/fmt/pull/3208, - https://github.com/fmtlib/fmt/issues/3213, - https://github.com/fmtlib/fmt/pull/3216, - https://github.com/fmtlib/fmt/issues/3224, - https://github.com/fmtlib/fmt/issues/3226, - https://github.com/fmtlib/fmt/issues/3228, - https://github.com/fmtlib/fmt/pull/3229, - https://github.com/fmtlib/fmt/pull/3259, - https://github.com/fmtlib/fmt/issues/3274, - https://github.com/fmtlib/fmt/issues/3287, - https://github.com/fmtlib/fmt/pull/3288, - https://github.com/fmtlib/fmt/issues/3292, - https://github.com/fmtlib/fmt/pull/3295, - https://github.com/fmtlib/fmt/pull/3296, - https://github.com/fmtlib/fmt/issues/3298, - https://github.com/fmtlib/fmt/issues/3325, - https://github.com/fmtlib/fmt/pull/3326, - https://github.com/fmtlib/fmt/issues/3334, - https://github.com/fmtlib/fmt/issues/3342, - https://github.com/fmtlib/fmt/pull/3343, - https://github.com/fmtlib/fmt/issues/3351, - https://github.com/fmtlib/fmt/pull/3352, - https://github.com/fmtlib/fmt/pull/3362, - https://github.com/fmtlib/fmt/issues/3365, - https://github.com/fmtlib/fmt/pull/3366, - https://github.com/fmtlib/fmt/pull/3374, - https://github.com/fmtlib/fmt/issues/3377, - https://github.com/fmtlib/fmt/pull/3378, - https://github.com/fmtlib/fmt/issues/3381, - https://github.com/fmtlib/fmt/pull/3398, - https://github.com/fmtlib/fmt/pull/3413, - https://github.com/fmtlib/fmt/issues/3415). - Thanks @phprus, @gsjaardema, @NewbieOrange, @EngineLessCC, @asmaloney, - @HazardyKnusperkeks, @sergiud, @Youw, @thesmurph, @czudziakm, - @Roman-Koshelev, @chronoxor, @ShawnZhong, @russelltg, @glebm, @tmartin-gh, - @Zhaojun-Liu, @louiswins and @mogemimi. + ```c++ + #include + #include + #include + + int main() { + auto s = std::stack>(); + for (auto b: {true, false, true}) s.push(b); + fmt::print("{}\n", s); // prints [true, false, true] + } + ``` + + Thanks @ShawnZhong. + +- Added a formatter for `std::optional` to `fmt/std.h` + (https://github.com/fmtlib/fmt/issues/1367, + https://github.com/fmtlib/fmt/pull/3303). + Thanks @tom-huntington. + +- Fixed formatting of valueless by exception variants + (https://github.com/fmtlib/fmt/pull/3347). Thanks @TheOmegaCarrot. + +- Made `fmt::ptr` accept `unique_ptr` with a custom deleter + (https://github.com/fmtlib/fmt/pull/3177). Thanks @hmbj. + +- Fixed formatting of noncopyable ranges and nested ranges of chars + (https://github.com/fmtlib/fmt/pull/3158 + https://github.com/fmtlib/fmt/issues/3286, + https://github.com/fmtlib/fmt/pull/3290). Thanks @BRevzin. + +- Fixed issues with formatting of paths and ranges of paths + (https://github.com/fmtlib/fmt/issues/3319, + https://github.com/fmtlib/fmt/pull/3321 + https://github.com/fmtlib/fmt/issues/3322). Thanks @phprus. + +- Improved handling of invalid Unicode in paths. + +- Enabled compile-time checks on Apple clang 14 and later + (https://github.com/fmtlib/fmt/pull/3331). Thanks @cloyce. + +- Improved compile-time checks of named arguments + (https://github.com/fmtlib/fmt/issues/3105, + https://github.com/fmtlib/fmt/pull/3214). Thanks @rbrich. + +- Fixed formatting when both alignment and `0` are given + (https://github.com/fmtlib/fmt/issues/3236, + https://github.com/fmtlib/fmt/pull/3248). Thanks @ShawnZhong. + +- Improved Unicode support in the experimental file API on Windows + (https://github.com/fmtlib/fmt/issues/3234, + https://github.com/fmtlib/fmt/pull/3293). Thanks @Fros1er. + +- Unified UTF transcoding + (https://github.com/fmtlib/fmt/pull/3416). Thanks @phprus. + +- Added support for UTF-8 digit separators via an experimental locale + facet (https://github.com/fmtlib/fmt/issues/1861). For + example ([godbolt](https://godbolt.org/z/f7bcznb3W)): + + ```c++ + auto loc = std::locale( + std::locale(), new fmt::format_facet("’")); + auto s = fmt::format(loc, "{:L}", 1000); + ``` + + where `’` is U+2019 used as a digit separator in the de_CH locale. + +- Added an overload of `formatted_size` that takes a locale + (https://github.com/fmtlib/fmt/issues/3084, + https://github.com/fmtlib/fmt/pull/3087). Thanks @gerboengels. + +- Removed the deprecated `FMT_DEPRECATED_OSTREAM`. + +- Fixed a UB when using a null `std::string_view` with + `fmt::to_string` or format string compilation + (https://github.com/fmtlib/fmt/issues/3241, + https://github.com/fmtlib/fmt/pull/3244). Thanks @phprus. + +- Added `starts_with` to the fallback `string_view` implementation + (https://github.com/fmtlib/fmt/pull/3080). Thanks @phprus. + +- Added `fmt::basic_format_string::get()` for compatibility with + `basic_format_string` + (https://github.com/fmtlib/fmt/pull/3111). Thanks @huangqinjin. + +- Added `println` for compatibility with C++23 + (https://github.com/fmtlib/fmt/pull/3267). Thanks @ShawnZhong. + +- Renamed the `FMT_EXPORT` macro for shared library usage to + `FMT_LIB_EXPORT`. + +- Improved documentation + (https://github.com/fmtlib/fmt/issues/3108, + https://github.com/fmtlib/fmt/issues/3169, + https://github.com/fmtlib/fmt/pull/3243). + https://github.com/fmtlib/fmt/pull/3404, + https://github.com/fmtlib/fmt/pull/4002). + Thanks @Cleroth, @Vertexwahn and @yujincheng08. + +- Improved build configuration and tests + (https://github.com/fmtlib/fmt/pull/3118, + https://github.com/fmtlib/fmt/pull/3120, + https://github.com/fmtlib/fmt/pull/3188, + https://github.com/fmtlib/fmt/issues/3189, + https://github.com/fmtlib/fmt/pull/3198, + https://github.com/fmtlib/fmt/pull/3205, + https://github.com/fmtlib/fmt/pull/3207, + https://github.com/fmtlib/fmt/pull/3210, + https://github.com/fmtlib/fmt/pull/3240, + https://github.com/fmtlib/fmt/pull/3256, + https://github.com/fmtlib/fmt/pull/3264, + https://github.com/fmtlib/fmt/issues/3299, + https://github.com/fmtlib/fmt/pull/3302, + https://github.com/fmtlib/fmt/pull/3312, + https://github.com/fmtlib/fmt/issues/3317, + https://github.com/fmtlib/fmt/pull/3328, + https://github.com/fmtlib/fmt/pull/3333, + https://github.com/fmtlib/fmt/pull/3369, + https://github.com/fmtlib/fmt/issues/3373, + https://github.com/fmtlib/fmt/pull/3395, + https://github.com/fmtlib/fmt/pull/3406, + https://github.com/fmtlib/fmt/pull/3411). + Thanks @dimztimz, @phprus, @DavidKorczynski, @ChrisThrasher, + @FrancoisCarouge, @kennyweiss, @luzpaz, @codeinred, @Mixaill, @joycebrum, + @kevinhwang and @Vertexwahn. + +- Fixed a regression in handling empty format specifiers after a colon + (`{:}`) (https://github.com/fmtlib/fmt/pull/3086). Thanks @oxidase. + +- Worked around a broken implementation of + `std::is_constant_evaluated` in some versions of libstdc++ on clang + (https://github.com/fmtlib/fmt/issues/3247, + https://github.com/fmtlib/fmt/pull/3281). Thanks @phprus. + +- Fixed formatting of volatile variables + (https://github.com/fmtlib/fmt/pull/3068). + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/pull/3057, + https://github.com/fmtlib/fmt/pull/3066, + https://github.com/fmtlib/fmt/pull/3072, + https://github.com/fmtlib/fmt/pull/3082, + https://github.com/fmtlib/fmt/pull/3091, + https://github.com/fmtlib/fmt/issues/3092, + https://github.com/fmtlib/fmt/pull/3093, + https://github.com/fmtlib/fmt/pull/3095, + https://github.com/fmtlib/fmt/issues/3096, + https://github.com/fmtlib/fmt/pull/3097, + https://github.com/fmtlib/fmt/issues/3128, + https://github.com/fmtlib/fmt/pull/3129, + https://github.com/fmtlib/fmt/pull/3137, + https://github.com/fmtlib/fmt/pull/3139, + https://github.com/fmtlib/fmt/issues/3140, + https://github.com/fmtlib/fmt/pull/3142, + https://github.com/fmtlib/fmt/issues/3149, + https://github.com/fmtlib/fmt/pull/3150, + https://github.com/fmtlib/fmt/issues/3154, + https://github.com/fmtlib/fmt/issues/3163, + https://github.com/fmtlib/fmt/issues/3178, + https://github.com/fmtlib/fmt/pull/3184, + https://github.com/fmtlib/fmt/pull/3196, + https://github.com/fmtlib/fmt/issues/3204, + https://github.com/fmtlib/fmt/pull/3206, + https://github.com/fmtlib/fmt/pull/3208, + https://github.com/fmtlib/fmt/issues/3213, + https://github.com/fmtlib/fmt/pull/3216, + https://github.com/fmtlib/fmt/issues/3224, + https://github.com/fmtlib/fmt/issues/3226, + https://github.com/fmtlib/fmt/issues/3228, + https://github.com/fmtlib/fmt/pull/3229, + https://github.com/fmtlib/fmt/pull/3259, + https://github.com/fmtlib/fmt/issues/3274, + https://github.com/fmtlib/fmt/issues/3287, + https://github.com/fmtlib/fmt/pull/3288, + https://github.com/fmtlib/fmt/issues/3292, + https://github.com/fmtlib/fmt/pull/3295, + https://github.com/fmtlib/fmt/pull/3296, + https://github.com/fmtlib/fmt/issues/3298, + https://github.com/fmtlib/fmt/issues/3325, + https://github.com/fmtlib/fmt/pull/3326, + https://github.com/fmtlib/fmt/issues/3334, + https://github.com/fmtlib/fmt/issues/3342, + https://github.com/fmtlib/fmt/pull/3343, + https://github.com/fmtlib/fmt/issues/3351, + https://github.com/fmtlib/fmt/pull/3352, + https://github.com/fmtlib/fmt/pull/3362, + https://github.com/fmtlib/fmt/issues/3365, + https://github.com/fmtlib/fmt/pull/3366, + https://github.com/fmtlib/fmt/pull/3374, + https://github.com/fmtlib/fmt/issues/3377, + https://github.com/fmtlib/fmt/pull/3378, + https://github.com/fmtlib/fmt/issues/3381, + https://github.com/fmtlib/fmt/pull/3398, + https://github.com/fmtlib/fmt/pull/3413, + https://github.com/fmtlib/fmt/issues/3415). + Thanks @phprus, @gsjaardema, @NewbieOrange, @EngineLessCC, @asmaloney, + @HazardyKnusperkeks, @sergiud, @Youw, @thesmurph, @czudziakm, + @Roman-Koshelev, @chronoxor, @ShawnZhong, @russelltg, @glebm, @tmartin-gh, + @Zhaojun-Liu, @louiswins and @mogemimi. # 9.1.0 - 2022-08-27 -- `fmt::formatted_size` now works at compile time - (https://github.com/fmtlib/fmt/pull/3026). For example - ([godbolt](https://godbolt.org/z/1MW5rMdf8)): - - ```c++ - #include - - int main() { - using namespace fmt::literals; - constexpr size_t n = fmt::formatted_size("{}"_cf, 42); - fmt::print("{}\n", n); // prints 2 - } - ``` - - Thanks @marksantaniello. - -- Fixed handling of invalid UTF-8 - (https://github.com/fmtlib/fmt/pull/3038, - https://github.com/fmtlib/fmt/pull/3044, - https://github.com/fmtlib/fmt/pull/3056). - Thanks @phprus and @skeeto. - -- Improved Unicode support in `ostream` overloads of `print` - (https://github.com/fmtlib/fmt/pull/2994, - https://github.com/fmtlib/fmt/pull/3001, - https://github.com/fmtlib/fmt/pull/3025). Thanks @dimztimz. - -- Fixed handling of the sign specifier in localized formatting on - systems with 32-bit `wchar_t` - (https://github.com/fmtlib/fmt/issues/3041). +- `fmt::formatted_size` now works at compile time + (https://github.com/fmtlib/fmt/pull/3026). For example + ([godbolt](https://godbolt.org/z/1MW5rMdf8)): -- Added support for wide streams to `fmt::streamed` - (https://github.com/fmtlib/fmt/pull/2994). Thanks @phprus. + ```c++ + #include -- Added the `n` specifier that disables the output of delimiters when - formatting ranges (https://github.com/fmtlib/fmt/pull/2981, - https://github.com/fmtlib/fmt/pull/2983). For example - ([godbolt](https://godbolt.org/z/roKqGdj8c)): - - ```c++ - #include - #include - - int main() { - auto v = std::vector{1, 2, 3}; - fmt::print("{:n}\n", v); // prints 1, 2, 3 - } - ``` - - Thanks @BRevzin. - -- Worked around problematic `std::string_view` constructors introduced - in C++23 (https://github.com/fmtlib/fmt/issues/3030, - https://github.com/fmtlib/fmt/issues/3050). Thanks @strega-nil-ms. - -- Improve handling (exclusion) of recursive ranges - (https://github.com/fmtlib/fmt/issues/2968, - https://github.com/fmtlib/fmt/pull/2974). Thanks @Dani-Hub. - -- Improved error reporting in format string compilation - (https://github.com/fmtlib/fmt/issues/3055). - -- Improved the implementation of - [Dragonbox](https://github.com/jk-jeon/dragonbox), the algorithm - used for the default floating-point formatting - (https://github.com/fmtlib/fmt/pull/2984). Thanks @jk-jeon. - -- Fixed issues with floating-point formatting on exotic platforms. - -- Improved the implementation of chrono formatting - (https://github.com/fmtlib/fmt/pull/3010). Thanks @phprus. - -- Improved documentation - (https://github.com/fmtlib/fmt/pull/2966, - https://github.com/fmtlib/fmt/pull/3009, - https://github.com/fmtlib/fmt/issues/3020, - https://github.com/fmtlib/fmt/pull/3037). - Thanks @mwinterb, @jcelerier and @remiburtin. - -- Improved build configuration - (https://github.com/fmtlib/fmt/pull/2991, - https://github.com/fmtlib/fmt/pull/2995, - https://github.com/fmtlib/fmt/issues/3004, - https://github.com/fmtlib/fmt/pull/3007, - https://github.com/fmtlib/fmt/pull/3040). - Thanks @dimztimz and @hwhsu1231. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/issues/2969, - https://github.com/fmtlib/fmt/pull/2971, - https://github.com/fmtlib/fmt/issues/2975, - https://github.com/fmtlib/fmt/pull/2982, - https://github.com/fmtlib/fmt/pull/2985, - https://github.com/fmtlib/fmt/issues/2988, - https://github.com/fmtlib/fmt/issues/2989, - https://github.com/fmtlib/fmt/issues/3000, - https://github.com/fmtlib/fmt/issues/3006, - https://github.com/fmtlib/fmt/issues/3014, - https://github.com/fmtlib/fmt/issues/3015, - https://github.com/fmtlib/fmt/pull/3021, - https://github.com/fmtlib/fmt/issues/3023, - https://github.com/fmtlib/fmt/pull/3024, - https://github.com/fmtlib/fmt/pull/3029, - https://github.com/fmtlib/fmt/pull/3043, - https://github.com/fmtlib/fmt/issues/3052, - https://github.com/fmtlib/fmt/pull/3053, - https://github.com/fmtlib/fmt/pull/3054). - Thanks @h-friederich, @dimztimz, @olupton, @bernhardmgruber and @phprus. + int main() { + using namespace fmt::literals; + constexpr size_t n = fmt::formatted_size("{}"_cf, 42); + fmt::print("{}\n", n); // prints 2 + } + ``` + + Thanks @marksantaniello. + +- Fixed handling of invalid UTF-8 + (https://github.com/fmtlib/fmt/pull/3038, + https://github.com/fmtlib/fmt/pull/3044, + https://github.com/fmtlib/fmt/pull/3056). + Thanks @phprus and @skeeto. + +- Improved Unicode support in `ostream` overloads of `print` + (https://github.com/fmtlib/fmt/pull/2994, + https://github.com/fmtlib/fmt/pull/3001, + https://github.com/fmtlib/fmt/pull/3025). Thanks @dimztimz. + +- Fixed handling of the sign specifier in localized formatting on + systems with 32-bit `wchar_t` + (https://github.com/fmtlib/fmt/issues/3041). + +- Added support for wide streams to `fmt::streamed` + (https://github.com/fmtlib/fmt/pull/2994). Thanks @phprus. + +- Added the `n` specifier that disables the output of delimiters when + formatting ranges (https://github.com/fmtlib/fmt/pull/2981, + https://github.com/fmtlib/fmt/pull/2983). For example + ([godbolt](https://godbolt.org/z/roKqGdj8c)): + + ```c++ + #include + #include + + int main() { + auto v = std::vector{1, 2, 3}; + fmt::print("{:n}\n", v); // prints 1, 2, 3 + } + ``` + + Thanks @BRevzin. + +- Worked around problematic `std::string_view` constructors introduced + in C++23 (https://github.com/fmtlib/fmt/issues/3030, + https://github.com/fmtlib/fmt/issues/3050). Thanks @strega-nil-ms. + +- Improve handling (exclusion) of recursive ranges + (https://github.com/fmtlib/fmt/issues/2968, + https://github.com/fmtlib/fmt/pull/2974). Thanks @Dani-Hub. + +- Improved error reporting in format string compilation + (https://github.com/fmtlib/fmt/issues/3055). + +- Improved the implementation of + [Dragonbox](https://github.com/jk-jeon/dragonbox), the algorithm + used for the default floating-point formatting + (https://github.com/fmtlib/fmt/pull/2984). Thanks @jk-jeon. + +- Fixed issues with floating-point formatting on exotic platforms. + +- Improved the implementation of chrono formatting + (https://github.com/fmtlib/fmt/pull/3010). Thanks @phprus. + +- Improved documentation + (https://github.com/fmtlib/fmt/pull/2966, + https://github.com/fmtlib/fmt/pull/3009, + https://github.com/fmtlib/fmt/issues/3020, + https://github.com/fmtlib/fmt/pull/3037). + Thanks @mwinterb, @jcelerier and @remiburtin. + +- Improved build configuration + (https://github.com/fmtlib/fmt/pull/2991, + https://github.com/fmtlib/fmt/pull/2995, + https://github.com/fmtlib/fmt/issues/3004, + https://github.com/fmtlib/fmt/pull/3007, + https://github.com/fmtlib/fmt/pull/3040). + Thanks @dimztimz and @hwhsu1231. + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/issues/2969, + https://github.com/fmtlib/fmt/pull/2971, + https://github.com/fmtlib/fmt/issues/2975, + https://github.com/fmtlib/fmt/pull/2982, + https://github.com/fmtlib/fmt/pull/2985, + https://github.com/fmtlib/fmt/issues/2988, + https://github.com/fmtlib/fmt/issues/2989, + https://github.com/fmtlib/fmt/issues/3000, + https://github.com/fmtlib/fmt/issues/3006, + https://github.com/fmtlib/fmt/issues/3014, + https://github.com/fmtlib/fmt/issues/3015, + https://github.com/fmtlib/fmt/pull/3021, + https://github.com/fmtlib/fmt/issues/3023, + https://github.com/fmtlib/fmt/pull/3024, + https://github.com/fmtlib/fmt/pull/3029, + https://github.com/fmtlib/fmt/pull/3043, + https://github.com/fmtlib/fmt/issues/3052, + https://github.com/fmtlib/fmt/pull/3053, + https://github.com/fmtlib/fmt/pull/3054). + Thanks @h-friederich, @dimztimz, @olupton, @bernhardmgruber and @phprus. # 9.0.0 - 2022-07-04 -- Switched to the internal floating point formatter for all decimal - presentation formats. In particular this results in consistent - rounding on all platforms and removing the `s[n]printf` fallback for - decimal FP formatting. - -- Compile-time floating point formatting no longer requires the - header-only mode. For example - ([godbolt](https://godbolt.org/z/G37PTeG3b)): - - ```c++ - #include - #include - - consteval auto compile_time_dtoa(double value) -> std::array { - auto result = std::array(); - fmt::format_to(result.data(), FMT_COMPILE("{}"), value); - return result; - } +- Switched to the internal floating point formatter for all decimal + presentation formats. In particular this results in consistent + rounding on all platforms and removing the `s[n]printf` fallback for + decimal FP formatting. - constexpr auto answer = compile_time_dtoa(0.42); - ``` +- Compile-time floating point formatting no longer requires the + header-only mode. For example + ([godbolt](https://godbolt.org/z/G37PTeG3b)): - works with the default settings. + ```c++ + #include + #include -- Improved the implementation of - [Dragonbox](https://github.com/jk-jeon/dragonbox), the algorithm - used for the default floating-point formatting - (https://github.com/fmtlib/fmt/pull/2713, - https://github.com/fmtlib/fmt/pull/2750). Thanks @jk-jeon. + consteval auto compile_time_dtoa(double value) -> std::array { + auto result = std::array(); + fmt::format_to(result.data(), FMT_COMPILE("{}"), value); + return result; + } -- Made `fmt::to_string` work with `__float128`. This uses the internal - FP formatter and works even on system without `__float128` support - in `[s]printf`. + constexpr auto answer = compile_time_dtoa(0.42); + ``` -- Disabled automatic `std::ostream` insertion operator (`operator<<`) - discovery when `fmt/ostream.h` is included to prevent ODR - violations. You can get the old behavior by defining - `FMT_DEPRECATED_OSTREAM` but this will be removed in the next major - release. Use `fmt::streamed` or `fmt::ostream_formatter` to enable - formatting via `std::ostream` instead. + works with the default settings. -- Added `fmt::ostream_formatter` that can be used to write `formatter` - specializations that perform formatting via `std::ostream`. For - example ([godbolt](https://godbolt.org/z/5sEc5qMsf)): +- Improved the implementation of + [Dragonbox](https://github.com/jk-jeon/dragonbox), the algorithm + used for the default floating-point formatting + (https://github.com/fmtlib/fmt/pull/2713, + https://github.com/fmtlib/fmt/pull/2750). Thanks @jk-jeon. - ```c++ - #include +- Made `fmt::to_string` work with `__float128`. This uses the internal + FP formatter and works even on system without `__float128` support + in `[s]printf`. - struct date { - int year, month, day; +- Disabled automatic `std::ostream` insertion operator (`operator<<`) + discovery when `fmt/ostream.h` is included to prevent ODR + violations. You can get the old behavior by defining + `FMT_DEPRECATED_OSTREAM` but this will be removed in the next major + release. Use `fmt::streamed` or `fmt::ostream_formatter` to enable + formatting via `std::ostream` instead. - friend std::ostream& operator<<(std::ostream& os, const date& d) { - return os << d.year << '-' << d.month << '-' << d.day; - } - }; +- Added `fmt::ostream_formatter` that can be used to write `formatter` + specializations that perform formatting via `std::ostream`. For + example ([godbolt](https://godbolt.org/z/5sEc5qMsf)): - template <> struct fmt::formatter : ostream_formatter {}; + ```c++ + #include - std::string s = fmt::format("The date is {}", date{2012, 12, 9}); - // s == "The date is 2012-12-9" - ``` + struct date { + int year, month, day; -- Added the `fmt::streamed` function that takes an object and formats - it via `std::ostream`. For example - ([godbolt](https://godbolt.org/z/5G3346G1f)): - - ```c++ - #include - #include - - int main() { - fmt::print("Current thread id: {}\n", - fmt::streamed(std::this_thread::get_id())); + friend std::ostream& operator<<(std::ostream& os, const date& d) { + return os << d.year << '-' << d.month << '-' << d.day; } - ``` + }; - Note that `fmt/std.h` provides a `formatter` specialization for - `std::thread::id` so you don\'t need to format it via - `std::ostream`. + template <> struct fmt::formatter : ostream_formatter {}; -- Deprecated implicit conversions of unscoped enums to integers for - consistency with scoped enums. + std::string s = fmt::format("The date is {}", date{2012, 12, 9}); + // s == "The date is 2012-12-9" + ``` -- Added an argument-dependent lookup based `format_as` extension API - to simplify formatting of enums. +- Added the `fmt::streamed` function that takes an object and formats + it via `std::ostream`. For example + ([godbolt](https://godbolt.org/z/5G3346G1f)): -- Added experimental `std::variant` formatting support - (https://github.com/fmtlib/fmt/pull/2941). For example - ([godbolt](https://godbolt.org/z/KG9z6cq68)): + ```c++ + #include + #include - ```c++ - #include - #include + int main() { + fmt::print("Current thread id: {}\n", + fmt::streamed(std::this_thread::get_id())); + } + ``` - int main() { - auto v = std::variant(42); - fmt::print("{}\n", v); - } - ``` + Note that `fmt/std.h` provides a `formatter` specialization for + `std::thread::id` so you don\'t need to format it via + `std::ostream`. - prints: +- Deprecated implicit conversions of unscoped enums to integers for + consistency with scoped enums. - variant(42) +- Added an argument-dependent lookup based `format_as` extension API + to simplify formatting of enums. - Thanks @jehelset. +- Added experimental `std::variant` formatting support + (https://github.com/fmtlib/fmt/pull/2941). For example + ([godbolt](https://godbolt.org/z/KG9z6cq68)): -- Added experimental `std::filesystem::path` formatting support - (https://github.com/fmtlib/fmt/issues/2865, - https://github.com/fmtlib/fmt/pull/2902, - https://github.com/fmtlib/fmt/issues/2917, - https://github.com/fmtlib/fmt/pull/2918). For example - ([godbolt](https://godbolt.org/z/o44dMexEb)): + ```c++ + #include + #include - ```c++ - #include - #include + int main() { + auto v = std::variant(42); + fmt::print("{}\n", v); + } + ``` - int main() { - fmt::print("There is no place like {}.", std::filesystem::path("/home")); - } - ``` + prints: - prints: + variant(42) - There is no place like "/home". + Thanks @jehelset. - Thanks @phprus. +- Added experimental `std::filesystem::path` formatting support + (https://github.com/fmtlib/fmt/issues/2865, + https://github.com/fmtlib/fmt/pull/2902, + https://github.com/fmtlib/fmt/issues/2917, + https://github.com/fmtlib/fmt/pull/2918). For example + ([godbolt](https://godbolt.org/z/o44dMexEb)): -- Added a `std::thread::id` formatter to `fmt/std.h`. For example - ([godbolt](https://godbolt.org/z/j1azbYf3E)): + ```c++ + #include + #include - ```c++ - #include - #include + int main() { + fmt::print("There is no place like {}.", std::filesystem::path("/home")); + } + ``` - int main() { - fmt::print("Current thread id: {}\n", std::this_thread::get_id()); - } - ``` - -- Added `fmt::styled` that applies a text style to an individual - argument (https://github.com/fmtlib/fmt/pull/2793). For - example ([godbolt](https://godbolt.org/z/vWGW7v5M6)): - - ```c++ - #include - #include - - int main() { - auto now = std::chrono::system_clock::now(); - fmt::print( - "[{}] {}: {}\n", - fmt::styled(now, fmt::emphasis::bold), - fmt::styled("error", fg(fmt::color::red)), - "something went wrong"); - } - ``` + prints: - prints + There is no place like "/home". - ![](https://user-images.githubusercontent.com/576385/175071215-12809244-dab0-4005-96d8-7cd911c964d5.png) + Thanks @phprus. - Thanks @rbrugo. +- Added a `std::thread::id` formatter to `fmt/std.h`. For example + ([godbolt](https://godbolt.org/z/j1azbYf3E)): -- Made `fmt::print` overload for text styles correctly handle UTF-8 - (https://github.com/fmtlib/fmt/issues/2681, - https://github.com/fmtlib/fmt/pull/2701). Thanks @AlexGuteniev. + ```c++ + #include + #include -- Fixed Unicode handling when writing to an ostream. + int main() { + fmt::print("Current thread id: {}\n", std::this_thread::get_id()); + } + ``` -- Added support for nested specifiers to range formatting - (https://github.com/fmtlib/fmt/pull/2673). For example - ([godbolt](https://godbolt.org/z/xd3Gj38cf)): +- Added `fmt::styled` that applies a text style to an individual + argument (https://github.com/fmtlib/fmt/pull/2793). For + example ([godbolt](https://godbolt.org/z/vWGW7v5M6)): - ```c++ - #include - #include + ```c++ + #include + #include - int main() { - fmt::print("{::#x}\n", std::vector{10, 20, 30}); - } - ``` - - prints `[0xa, 0x14, 0x1e]`. - - Thanks @BRevzin. - -- Implemented escaping of wide strings in ranges - (https://github.com/fmtlib/fmt/pull/2904). Thanks @phprus. - -- Added support for ranges with `begin` / `end` found via the - argument-dependent lookup - (https://github.com/fmtlib/fmt/pull/2807). Thanks @rbrugo. - -- Fixed formatting of certain kinds of ranges of ranges - (https://github.com/fmtlib/fmt/pull/2787). Thanks @BRevzin. - -- Fixed handling of maps with element types other than `std::pair` - (https://github.com/fmtlib/fmt/pull/2944). Thanks @BrukerJWD. - -- Made tuple formatter enabled only if elements are formattable - (https://github.com/fmtlib/fmt/issues/2939, - https://github.com/fmtlib/fmt/pull/2940). Thanks @jehelset. - -- Made `fmt::join` compatible with format string compilation - (https://github.com/fmtlib/fmt/issues/2719, - https://github.com/fmtlib/fmt/pull/2720). Thanks @phprus. - -- Made compile-time checks work with named arguments of custom types - and `std::ostream` `print` overloads - (https://github.com/fmtlib/fmt/issues/2816, - https://github.com/fmtlib/fmt/issues/2817, - https://github.com/fmtlib/fmt/pull/2819). Thanks @timsong-cpp. - -- Removed `make_args_checked` because it is no longer needed for - compile-time checks - (https://github.com/fmtlib/fmt/pull/2760). Thanks @phprus. - -- Removed the following deprecated APIs: `_format`, `arg_join`, the - `format_to` overload that takes a memory buffer, `[v]fprintf` that - takes an `ostream`. - -- Removed the deprecated implicit conversion of `[const] signed char*` - and `[const] unsigned char*` to C strings. - -- Removed the deprecated `fmt/locale.h`. - -- Replaced the deprecated `fileno()` with `descriptor()` in - `buffered_file`. - -- Moved `to_string_view` to the `detail` namespace since it\'s an - implementation detail. - -- Made access mode of a created file consistent with `fopen` by - setting `S_IWGRP` and `S_IWOTH` - (https://github.com/fmtlib/fmt/pull/2733). Thanks @arogge. - -- Removed a redundant buffer resize when formatting to `std::ostream` - (https://github.com/fmtlib/fmt/issues/2842, - https://github.com/fmtlib/fmt/pull/2843). Thanks @jcelerier. - -- Made precision computation for strings consistent with width - (https://github.com/fmtlib/fmt/issues/2888). - -- Fixed handling of locale separators in floating point formatting - (https://github.com/fmtlib/fmt/issues/2830). - -- Made sign specifiers work with `__int128_t` - (https://github.com/fmtlib/fmt/issues/2773). - -- Improved support for systems such as CHERI with extra data stored in - pointers (https://github.com/fmtlib/fmt/pull/2932). - Thanks @davidchisnall. - -- Improved documentation - (https://github.com/fmtlib/fmt/pull/2706, - https://github.com/fmtlib/fmt/pull/2712, - https://github.com/fmtlib/fmt/pull/2789, - https://github.com/fmtlib/fmt/pull/2803, - https://github.com/fmtlib/fmt/pull/2805, - https://github.com/fmtlib/fmt/pull/2815, - https://github.com/fmtlib/fmt/pull/2924). - Thanks @BRevzin, @Pokechu22, @setoye, @rtobar, @rbrugo, @anoonD and - @leha-bot. - -- Improved build configuration - (https://github.com/fmtlib/fmt/pull/2766, - https://github.com/fmtlib/fmt/pull/2772, - https://github.com/fmtlib/fmt/pull/2836, - https://github.com/fmtlib/fmt/pull/2852, - https://github.com/fmtlib/fmt/pull/2907, - https://github.com/fmtlib/fmt/pull/2913, - https://github.com/fmtlib/fmt/pull/2914). - Thanks @kambala-decapitator, @mattiasljungstrom, @kieselnb, @nathannaveen - and @Vertexwahn. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/issues/2408, - https://github.com/fmtlib/fmt/issues/2507, - https://github.com/fmtlib/fmt/issues/2697, - https://github.com/fmtlib/fmt/issues/2715, - https://github.com/fmtlib/fmt/issues/2717, - https://github.com/fmtlib/fmt/pull/2722, - https://github.com/fmtlib/fmt/pull/2724, - https://github.com/fmtlib/fmt/pull/2725, - https://github.com/fmtlib/fmt/issues/2726, - https://github.com/fmtlib/fmt/pull/2728, - https://github.com/fmtlib/fmt/pull/2732, - https://github.com/fmtlib/fmt/issues/2738, - https://github.com/fmtlib/fmt/pull/2742, - https://github.com/fmtlib/fmt/issues/2744, - https://github.com/fmtlib/fmt/issues/2745, - https://github.com/fmtlib/fmt/issues/2746, - https://github.com/fmtlib/fmt/issues/2754, - https://github.com/fmtlib/fmt/pull/2755, - https://github.com/fmtlib/fmt/issues/2757, - https://github.com/fmtlib/fmt/pull/2758, - https://github.com/fmtlib/fmt/issues/2761, - https://github.com/fmtlib/fmt/pull/2762, - https://github.com/fmtlib/fmt/issues/2763, - https://github.com/fmtlib/fmt/pull/2765, - https://github.com/fmtlib/fmt/issues/2769, - https://github.com/fmtlib/fmt/pull/2770, - https://github.com/fmtlib/fmt/issues/2771, - https://github.com/fmtlib/fmt/issues/2777, - https://github.com/fmtlib/fmt/pull/2779, - https://github.com/fmtlib/fmt/pull/2782, - https://github.com/fmtlib/fmt/pull/2783, - https://github.com/fmtlib/fmt/issues/2794, - https://github.com/fmtlib/fmt/issues/2796, - https://github.com/fmtlib/fmt/pull/2797, - https://github.com/fmtlib/fmt/pull/2801, - https://github.com/fmtlib/fmt/pull/2802, - https://github.com/fmtlib/fmt/issues/2808, - https://github.com/fmtlib/fmt/issues/2818, - https://github.com/fmtlib/fmt/pull/2819, - https://github.com/fmtlib/fmt/issues/2829, - https://github.com/fmtlib/fmt/issues/2835, - https://github.com/fmtlib/fmt/issues/2848, - https://github.com/fmtlib/fmt/issues/2860, - https://github.com/fmtlib/fmt/pull/2861, - https://github.com/fmtlib/fmt/pull/2882, - https://github.com/fmtlib/fmt/issues/2886, - https://github.com/fmtlib/fmt/issues/2891, - https://github.com/fmtlib/fmt/pull/2892, - https://github.com/fmtlib/fmt/issues/2895, - https://github.com/fmtlib/fmt/issues/2896, - https://github.com/fmtlib/fmt/pull/2903, - https://github.com/fmtlib/fmt/issues/2906, - https://github.com/fmtlib/fmt/issues/2908, - https://github.com/fmtlib/fmt/pull/2909, - https://github.com/fmtlib/fmt/issues/2920, - https://github.com/fmtlib/fmt/pull/2922, - https://github.com/fmtlib/fmt/pull/2927, - https://github.com/fmtlib/fmt/pull/2929, - https://github.com/fmtlib/fmt/issues/2936, - https://github.com/fmtlib/fmt/pull/2937, - https://github.com/fmtlib/fmt/pull/2938, - https://github.com/fmtlib/fmt/pull/2951, - https://github.com/fmtlib/fmt/issues/2954, - https://github.com/fmtlib/fmt/pull/2957, - https://github.com/fmtlib/fmt/issues/2958, - https://github.com/fmtlib/fmt/pull/2960). - Thanks @matrackif @Tobi823, @ivan-volnov, @VasiliPupkin256, - @federico-busato, @barcharcraz, @jk-jeon, @HazardyKnusperkeks, @dalboris, - @seanm, @gsjaardema, @timsong-cpp, @seanm, @frithrah, @chronoxor, @Agga, - @madmaxoft, @JurajX, @phprus and @Dani-Hub. + int main() { + auto now = std::chrono::system_clock::now(); + fmt::print( + "[{}] {}: {}\n", + fmt::styled(now, fmt::emphasis::bold), + fmt::styled("error", fg(fmt::color::red)), + "something went wrong"); + } + ``` -# 8.1.1 - 2022-01-06 - -- Restored ABI compatibility with version 8.0.x - (https://github.com/fmtlib/fmt/issues/2695, - https://github.com/fmtlib/fmt/pull/2696). Thanks @saraedum. -- Fixed chrono formatting on big endian systems - (https://github.com/fmtlib/fmt/issues/2698, - https://github.com/fmtlib/fmt/pull/2699). - Thanks @phprus and @xvitaly. -- Fixed a linkage error with mingw - (https://github.com/fmtlib/fmt/issues/2691, - https://github.com/fmtlib/fmt/pull/2692). Thanks @rbberger. + prints -# 8.1.0 - 2022-01-02 + ![](https://user-images.githubusercontent.com/576385/175071215-12809244-dab0-4005-96d8-7cd911c964d5.png) -- Optimized chrono formatting - (https://github.com/fmtlib/fmt/pull/2500, - https://github.com/fmtlib/fmt/pull/2537, - https://github.com/fmtlib/fmt/issues/2541, - https://github.com/fmtlib/fmt/pull/2544, - https://github.com/fmtlib/fmt/pull/2550, - https://github.com/fmtlib/fmt/pull/2551, - https://github.com/fmtlib/fmt/pull/2576, - https://github.com/fmtlib/fmt/issues/2577, - https://github.com/fmtlib/fmt/pull/2586, - https://github.com/fmtlib/fmt/pull/2591, - https://github.com/fmtlib/fmt/pull/2594, - https://github.com/fmtlib/fmt/pull/2602, - https://github.com/fmtlib/fmt/pull/2617, - https://github.com/fmtlib/fmt/issues/2628, - https://github.com/fmtlib/fmt/pull/2633, - https://github.com/fmtlib/fmt/issues/2670, - https://github.com/fmtlib/fmt/pull/2671). - - Processing of some specifiers such as `%z` and `%Y` is now up to - 10-20 times faster, for example on GCC 11 with libstdc++: - - ---------------------------------------------------------------------------- - Benchmark Before After - ---------------------------------------------------------------------------- - FMTFormatter_z 261 ns 26.3 ns - FMTFormatterCompile_z 246 ns 11.6 ns - FMTFormatter_Y 263 ns 26.1 ns - FMTFormatterCompile_Y 244 ns 10.5 ns - ---------------------------------------------------------------------------- - - Thanks @phprus and @toughengineer. - -- Implemented subsecond formatting for chrono durations - (https://github.com/fmtlib/fmt/pull/2623). For example - ([godbolt](https://godbolt.org/z/es7vWTETe)): - - ```c++ - #include - - int main() { - fmt::print("{:%S}", std::chrono::milliseconds(1234)); - } - ``` + Thanks @rbrugo. - prints \"01.234\". +- Made `fmt::print` overload for text styles correctly handle UTF-8 + (https://github.com/fmtlib/fmt/issues/2681, + https://github.com/fmtlib/fmt/pull/2701). Thanks @AlexGuteniev. - Thanks @matrackif. +- Fixed Unicode handling when writing to an ostream. -- Fixed handling of precision 0 when formatting chrono durations - (https://github.com/fmtlib/fmt/issues/2587, - https://github.com/fmtlib/fmt/pull/2588). Thanks @lukester1975. +- Added support for nested specifiers to range formatting + (https://github.com/fmtlib/fmt/pull/2673). For example + ([godbolt](https://godbolt.org/z/xd3Gj38cf)): -- Fixed an overflow on invalid inputs in the `tm` formatter - (https://github.com/fmtlib/fmt/pull/2564). Thanks @phprus. + ```c++ + #include + #include -- Added `fmt::group_digits` that formats integers with a non-localized - digit separator (comma) for groups of three digits. For example - ([godbolt](https://godbolt.org/z/TxGxG9Poq)): - - ```c++ - #include - - int main() { - fmt::print("{} dollars", fmt::group_digits(1000000)); - } - ``` + int main() { + fmt::print("{::#x}\n", std::vector{10, 20, 30}); + } + ``` - prints \"1,000,000 dollars\". + prints `[0xa, 0x14, 0x1e]`. -- Added support for faint, conceal, reverse and blink text styles - (https://github.com/fmtlib/fmt/pull/2394): + Thanks @BRevzin. + +- Implemented escaping of wide strings in ranges + (https://github.com/fmtlib/fmt/pull/2904). Thanks @phprus. + +- Added support for ranges with `begin` / `end` found via the + argument-dependent lookup + (https://github.com/fmtlib/fmt/pull/2807). Thanks @rbrugo. + +- Fixed formatting of certain kinds of ranges of ranges + (https://github.com/fmtlib/fmt/pull/2787). Thanks @BRevzin. + +- Fixed handling of maps with element types other than `std::pair` + (https://github.com/fmtlib/fmt/pull/2944). Thanks @BrukerJWD. + +- Made tuple formatter enabled only if elements are formattable + (https://github.com/fmtlib/fmt/issues/2939, + https://github.com/fmtlib/fmt/pull/2940). Thanks @jehelset. + +- Made `fmt::join` compatible with format string compilation + (https://github.com/fmtlib/fmt/issues/2719, + https://github.com/fmtlib/fmt/pull/2720). Thanks @phprus. + +- Made compile-time checks work with named arguments of custom types + and `std::ostream` `print` overloads + (https://github.com/fmtlib/fmt/issues/2816, + https://github.com/fmtlib/fmt/issues/2817, + https://github.com/fmtlib/fmt/pull/2819). Thanks @timsong-cpp. + +- Removed `make_args_checked` because it is no longer needed for + compile-time checks + (https://github.com/fmtlib/fmt/pull/2760). Thanks @phprus. + +- Removed the following deprecated APIs: `_format`, `arg_join`, the + `format_to` overload that takes a memory buffer, `[v]fprintf` that + takes an `ostream`. + +- Removed the deprecated implicit conversion of `[const] signed char*` + and `[const] unsigned char*` to C strings. + +- Removed the deprecated `fmt/locale.h`. + +- Replaced the deprecated `fileno()` with `descriptor()` in + `buffered_file`. + +- Moved `to_string_view` to the `detail` namespace since it\'s an + implementation detail. + +- Made access mode of a created file consistent with `fopen` by + setting `S_IWGRP` and `S_IWOTH` + (https://github.com/fmtlib/fmt/pull/2733). Thanks @arogge. + +- Removed a redundant buffer resize when formatting to `std::ostream` + (https://github.com/fmtlib/fmt/issues/2842, + https://github.com/fmtlib/fmt/pull/2843). Thanks @jcelerier. + +- Made precision computation for strings consistent with width + (https://github.com/fmtlib/fmt/issues/2888). + +- Fixed handling of locale separators in floating point formatting + (https://github.com/fmtlib/fmt/issues/2830). + +- Made sign specifiers work with `__int128_t` + (https://github.com/fmtlib/fmt/issues/2773). + +- Improved support for systems such as CHERI with extra data stored in + pointers (https://github.com/fmtlib/fmt/pull/2932). + Thanks @davidchisnall. + +- Improved documentation + (https://github.com/fmtlib/fmt/pull/2706, + https://github.com/fmtlib/fmt/pull/2712, + https://github.com/fmtlib/fmt/pull/2789, + https://github.com/fmtlib/fmt/pull/2803, + https://github.com/fmtlib/fmt/pull/2805, + https://github.com/fmtlib/fmt/pull/2815, + https://github.com/fmtlib/fmt/pull/2924). + Thanks @BRevzin, @Pokechu22, @setoye, @rtobar, @rbrugo, @anoonD and + @leha-bot. + +- Improved build configuration + (https://github.com/fmtlib/fmt/pull/2766, + https://github.com/fmtlib/fmt/pull/2772, + https://github.com/fmtlib/fmt/pull/2836, + https://github.com/fmtlib/fmt/pull/2852, + https://github.com/fmtlib/fmt/pull/2907, + https://github.com/fmtlib/fmt/pull/2913, + https://github.com/fmtlib/fmt/pull/2914). + Thanks @kambala-decapitator, @mattiasljungstrom, @kieselnb, @nathannaveen + and @Vertexwahn. + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/issues/2408, + https://github.com/fmtlib/fmt/issues/2507, + https://github.com/fmtlib/fmt/issues/2697, + https://github.com/fmtlib/fmt/issues/2715, + https://github.com/fmtlib/fmt/issues/2717, + https://github.com/fmtlib/fmt/pull/2722, + https://github.com/fmtlib/fmt/pull/2724, + https://github.com/fmtlib/fmt/pull/2725, + https://github.com/fmtlib/fmt/issues/2726, + https://github.com/fmtlib/fmt/pull/2728, + https://github.com/fmtlib/fmt/pull/2732, + https://github.com/fmtlib/fmt/issues/2738, + https://github.com/fmtlib/fmt/pull/2742, + https://github.com/fmtlib/fmt/issues/2744, + https://github.com/fmtlib/fmt/issues/2745, + https://github.com/fmtlib/fmt/issues/2746, + https://github.com/fmtlib/fmt/issues/2754, + https://github.com/fmtlib/fmt/pull/2755, + https://github.com/fmtlib/fmt/issues/2757, + https://github.com/fmtlib/fmt/pull/2758, + https://github.com/fmtlib/fmt/issues/2761, + https://github.com/fmtlib/fmt/pull/2762, + https://github.com/fmtlib/fmt/issues/2763, + https://github.com/fmtlib/fmt/pull/2765, + https://github.com/fmtlib/fmt/issues/2769, + https://github.com/fmtlib/fmt/pull/2770, + https://github.com/fmtlib/fmt/issues/2771, + https://github.com/fmtlib/fmt/issues/2777, + https://github.com/fmtlib/fmt/pull/2779, + https://github.com/fmtlib/fmt/pull/2782, + https://github.com/fmtlib/fmt/pull/2783, + https://github.com/fmtlib/fmt/issues/2794, + https://github.com/fmtlib/fmt/issues/2796, + https://github.com/fmtlib/fmt/pull/2797, + https://github.com/fmtlib/fmt/pull/2801, + https://github.com/fmtlib/fmt/pull/2802, + https://github.com/fmtlib/fmt/issues/2808, + https://github.com/fmtlib/fmt/issues/2818, + https://github.com/fmtlib/fmt/pull/2819, + https://github.com/fmtlib/fmt/issues/2829, + https://github.com/fmtlib/fmt/issues/2835, + https://github.com/fmtlib/fmt/issues/2848, + https://github.com/fmtlib/fmt/issues/2860, + https://github.com/fmtlib/fmt/pull/2861, + https://github.com/fmtlib/fmt/pull/2882, + https://github.com/fmtlib/fmt/issues/2886, + https://github.com/fmtlib/fmt/issues/2891, + https://github.com/fmtlib/fmt/pull/2892, + https://github.com/fmtlib/fmt/issues/2895, + https://github.com/fmtlib/fmt/issues/2896, + https://github.com/fmtlib/fmt/pull/2903, + https://github.com/fmtlib/fmt/issues/2906, + https://github.com/fmtlib/fmt/issues/2908, + https://github.com/fmtlib/fmt/pull/2909, + https://github.com/fmtlib/fmt/issues/2920, + https://github.com/fmtlib/fmt/pull/2922, + https://github.com/fmtlib/fmt/pull/2927, + https://github.com/fmtlib/fmt/pull/2929, + https://github.com/fmtlib/fmt/issues/2936, + https://github.com/fmtlib/fmt/pull/2937, + https://github.com/fmtlib/fmt/pull/2938, + https://github.com/fmtlib/fmt/pull/2951, + https://github.com/fmtlib/fmt/issues/2954, + https://github.com/fmtlib/fmt/pull/2957, + https://github.com/fmtlib/fmt/issues/2958, + https://github.com/fmtlib/fmt/pull/2960). + Thanks @matrackif @Tobi823, @ivan-volnov, @VasiliPupkin256, + @federico-busato, @barcharcraz, @jk-jeon, @HazardyKnusperkeks, @dalboris, + @seanm, @gsjaardema, @timsong-cpp, @seanm, @frithrah, @chronoxor, @Agga, + @madmaxoft, @JurajX, @phprus and @Dani-Hub. - +# 8.1.1 - 2022-01-06 - Thanks @benit8 and @data-man. +- Restored ABI compatibility with version 8.0.x + (https://github.com/fmtlib/fmt/issues/2695, + https://github.com/fmtlib/fmt/pull/2696). Thanks @saraedum. +- Fixed chrono formatting on big endian systems + (https://github.com/fmtlib/fmt/issues/2698, + https://github.com/fmtlib/fmt/pull/2699). + Thanks @phprus and @xvitaly. +- Fixed a linkage error with mingw + (https://github.com/fmtlib/fmt/issues/2691, + https://github.com/fmtlib/fmt/pull/2692). Thanks @rbberger. -- Added experimental support for compile-time floating point - formatting (https://github.com/fmtlib/fmt/pull/2426, - https://github.com/fmtlib/fmt/pull/2470). It is currently - limited to the header-only mode. Thanks @alexezeder. +# 8.1.0 - 2022-01-02 -- Added UDL-based named argument support to compile-time format string - checks (https://github.com/fmtlib/fmt/issues/2640, - https://github.com/fmtlib/fmt/pull/2649). For example - ([godbolt](https://godbolt.org/z/ohGbbvonv)): +- Optimized chrono formatting + (https://github.com/fmtlib/fmt/pull/2500, + https://github.com/fmtlib/fmt/pull/2537, + https://github.com/fmtlib/fmt/issues/2541, + https://github.com/fmtlib/fmt/pull/2544, + https://github.com/fmtlib/fmt/pull/2550, + https://github.com/fmtlib/fmt/pull/2551, + https://github.com/fmtlib/fmt/pull/2576, + https://github.com/fmtlib/fmt/issues/2577, + https://github.com/fmtlib/fmt/pull/2586, + https://github.com/fmtlib/fmt/pull/2591, + https://github.com/fmtlib/fmt/pull/2594, + https://github.com/fmtlib/fmt/pull/2602, + https://github.com/fmtlib/fmt/pull/2617, + https://github.com/fmtlib/fmt/issues/2628, + https://github.com/fmtlib/fmt/pull/2633, + https://github.com/fmtlib/fmt/issues/2670, + https://github.com/fmtlib/fmt/pull/2671). + + Processing of some specifiers such as `%z` and `%Y` is now up to + 10-20 times faster, for example on GCC 11 with libstdc++: + + ---------------------------------------------------------------------------- + Benchmark Before After + ---------------------------------------------------------------------------- + FMTFormatter_z 261 ns 26.3 ns + FMTFormatterCompile_z 246 ns 11.6 ns + FMTFormatter_Y 263 ns 26.1 ns + FMTFormatterCompile_Y 244 ns 10.5 ns + ---------------------------------------------------------------------------- + + Thanks @phprus and @toughengineer. + +- Implemented subsecond formatting for chrono durations + (https://github.com/fmtlib/fmt/pull/2623). For example + ([godbolt](https://godbolt.org/z/es7vWTETe)): + + ```c++ + #include + + int main() { + fmt::print("{:%S}", std::chrono::milliseconds(1234)); + } + ``` + + prints \"01.234\". + + Thanks @matrackif. + +- Fixed handling of precision 0 when formatting chrono durations + (https://github.com/fmtlib/fmt/issues/2587, + https://github.com/fmtlib/fmt/pull/2588). Thanks @lukester1975. + +- Fixed an overflow on invalid inputs in the `tm` formatter + (https://github.com/fmtlib/fmt/pull/2564). Thanks @phprus. + +- Added `fmt::group_digits` that formats integers with a non-localized + digit separator (comma) for groups of three digits. For example + ([godbolt](https://godbolt.org/z/TxGxG9Poq)): + + ```c++ + #include + + int main() { + fmt::print("{} dollars", fmt::group_digits(1000000)); + } + ``` + + prints \"1,000,000 dollars\". + +- Added support for faint, conceal, reverse and blink text styles + (https://github.com/fmtlib/fmt/pull/2394): + + + + Thanks @benit8 and @data-man. + +- Added experimental support for compile-time floating point + formatting (https://github.com/fmtlib/fmt/pull/2426, + https://github.com/fmtlib/fmt/pull/2470). It is currently + limited to the header-only mode. Thanks @alexezeder. + +- Added UDL-based named argument support to compile-time format string + checks (https://github.com/fmtlib/fmt/issues/2640, + https://github.com/fmtlib/fmt/pull/2649). For example + ([godbolt](https://godbolt.org/z/ohGbbvonv)): + + ```c++ + #include + + int main() { + using namespace fmt::literals; + fmt::print("{answer:s}", "answer"_a=42); + } + ``` - ```c++ - #include + gives a compile-time error on compilers with C++20 `consteval` and + non-type template parameter support (gcc 10+) because `s` is not a + valid format specifier for an integer. - int main() { - using namespace fmt::literals; - fmt::print("{answer:s}", "answer"_a=42); - } - ``` + Thanks @alexezeder. - gives a compile-time error on compilers with C++20 `consteval` and - non-type template parameter support (gcc 10+) because `s` is not a - valid format specifier for an integer. +- Implemented escaping of string range elements. For example + ([godbolt](https://godbolt.org/z/rKvM1vKf3)): - Thanks @alexezeder. + ```c++ + #include + #include -- Implemented escaping of string range elements. For example - ([godbolt](https://godbolt.org/z/rKvM1vKf3)): + int main() { + fmt::print("{}", std::vector{"\naan"}); + } + ``` - ```c++ - #include - #include + is now printed as: - int main() { - fmt::print("{}", std::vector{"\naan"}); - } - ``` + ["\naan"] - is now printed as: + instead of: - ["\naan"] + [" + aan"] - instead of: +- Added an experimental `?` specifier for escaping strings. + (https://github.com/fmtlib/fmt/pull/2674). Thanks @BRevzin. - [" - aan"] +- Switched to JSON-like representation of maps and sets for + consistency with Python\'s `str.format`. For example + ([godbolt](https://godbolt.org/z/seKjoY9W5)): -- Added an experimental `?` specifier for escaping strings. - (https://github.com/fmtlib/fmt/pull/2674). Thanks @BRevzin. + ```c++ + #include + #include -- Switched to JSON-like representation of maps and sets for - consistency with Python\'s `str.format`. For example - ([godbolt](https://godbolt.org/z/seKjoY9W5)): + int main() { + fmt::print("{}", std::map{{"answer", 42}}); + } + ``` - ```c++ - #include - #include + is now printed as: - int main() { - fmt::print("{}", std::map{{"answer", 42}}); - } - ``` + {"answer": 42} - is now printed as: +- Extended `fmt::join` to support C++20-only ranges + (https://github.com/fmtlib/fmt/pull/2549). Thanks @BRevzin. - {"answer": 42} +- Optimized handling of non-const-iterable ranges and implemented + initial support for non-const-formattable types. -- Extended `fmt::join` to support C++20-only ranges - (https://github.com/fmtlib/fmt/pull/2549). Thanks @BRevzin. +- Disabled implicit conversions of scoped enums to integers that was + accidentally introduced in earlier versions + (https://github.com/fmtlib/fmt/pull/1841). -- Optimized handling of non-const-iterable ranges and implemented - initial support for non-const-formattable types. +- Deprecated implicit conversion of `[const] signed char*` and + `[const] unsigned char*` to C strings. -- Disabled implicit conversions of scoped enums to integers that was - accidentally introduced in earlier versions - (https://github.com/fmtlib/fmt/pull/1841). +- Deprecated `_format`, a legacy UDL-based format API + (https://github.com/fmtlib/fmt/pull/2646). Thanks @alexezeder. -- Deprecated implicit conversion of `[const] signed char*` and - `[const] unsigned char*` to C strings. +- Marked `format`, `formatted_size` and `to_string` as `[[nodiscard]]` + (https://github.com/fmtlib/fmt/pull/2612). @0x8000-0000. -- Deprecated `_format`, a legacy UDL-based format API - (https://github.com/fmtlib/fmt/pull/2646). Thanks @alexezeder. - -- Marked `format`, `formatted_size` and `to_string` as `[[nodiscard]]` - (https://github.com/fmtlib/fmt/pull/2612). @0x8000-0000. - -- Added missing diagnostic when trying to format function and member - pointers as well as objects convertible to pointers which is - explicitly disallowed - (https://github.com/fmtlib/fmt/issues/2598, - https://github.com/fmtlib/fmt/pull/2609, - https://github.com/fmtlib/fmt/pull/2610). Thanks @AlexGuteniev. - -- Optimized writing to a contiguous buffer with `format_to_n` - (https://github.com/fmtlib/fmt/pull/2489). Thanks @Roman-Koshelev. - -- Optimized writing to non-`char` buffers - (https://github.com/fmtlib/fmt/pull/2477). Thanks @Roman-Koshelev. - -- Decimal point is now localized when using the `L` specifier. - -- Improved floating point formatter implementation - (https://github.com/fmtlib/fmt/pull/2498, - https://github.com/fmtlib/fmt/pull/2499). Thanks @Roman-Koshelev. - -- Fixed handling of very large precision in fixed format - (https://github.com/fmtlib/fmt/pull/2616). - -- Made a table of cached powers used in FP formatting static - (https://github.com/fmtlib/fmt/pull/2509). Thanks @jk-jeon. - -- Resolved a lookup ambiguity with C++20 format-related functions due - to ADL (https://github.com/fmtlib/fmt/issues/2639, - https://github.com/fmtlib/fmt/pull/2641). Thanks @mkurdej. - -- Removed unnecessary inline namespace qualification - (https://github.com/fmtlib/fmt/issues/2642, - https://github.com/fmtlib/fmt/pull/2643). Thanks @mkurdej. - -- Implemented argument forwarding in `format_to_n` - (https://github.com/fmtlib/fmt/issues/2462, - https://github.com/fmtlib/fmt/pull/2463). Thanks @owent. - -- Fixed handling of implicit conversions in `fmt::to_string` and - format string compilation - (https://github.com/fmtlib/fmt/issues/2565). - -- Changed the default access mode of files created by - `fmt::output_file` to `-rw-r--r--` for consistency with `fopen` - (https://github.com/fmtlib/fmt/issues/2530). - -- Make `fmt::ostream::flush` public - (https://github.com/fmtlib/fmt/issues/2435). - -- Improved C++14/17 attribute detection - (https://github.com/fmtlib/fmt/pull/2615). Thanks @AlexGuteniev. - -- Improved `consteval` detection for MSVC - (https://github.com/fmtlib/fmt/pull/2559). Thanks @DanielaE. - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/2406, - https://github.com/fmtlib/fmt/pull/2446, - https://github.com/fmtlib/fmt/issues/2493, - https://github.com/fmtlib/fmt/issues/2513, - https://github.com/fmtlib/fmt/pull/2515, - https://github.com/fmtlib/fmt/issues/2522, - https://github.com/fmtlib/fmt/pull/2562, - https://github.com/fmtlib/fmt/pull/2575, - https://github.com/fmtlib/fmt/pull/2606, - https://github.com/fmtlib/fmt/pull/2620, - https://github.com/fmtlib/fmt/issues/2676). - Thanks @sobolevn, @UnePierre, @zhsj, @phprus, @ericcurtin and @Lounarok. - -- Improved fuzzers and added a fuzzer for chrono timepoint formatting - (https://github.com/fmtlib/fmt/pull/2461, - https://github.com/fmtlib/fmt/pull/2469). @pauldreik, - -- Added the `FMT_SYSTEM_HEADERS` CMake option setting which marks - {fmt}\'s headers as system. It can be used to suppress warnings - (https://github.com/fmtlib/fmt/issues/2644, - https://github.com/fmtlib/fmt/pull/2651). Thanks @alexezeder. - -- Added the Bazel build system support - (https://github.com/fmtlib/fmt/pull/2505, - https://github.com/fmtlib/fmt/pull/2516). Thanks @Vertexwahn. - -- Improved build configuration and tests - (https://github.com/fmtlib/fmt/issues/2437, - https://github.com/fmtlib/fmt/pull/2558, - https://github.com/fmtlib/fmt/pull/2648, - https://github.com/fmtlib/fmt/pull/2650, - https://github.com/fmtlib/fmt/pull/2663, - https://github.com/fmtlib/fmt/pull/2677). - Thanks @DanielaE, @alexezeder and @phprus. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/pull/2353, - https://github.com/fmtlib/fmt/pull/2356, - https://github.com/fmtlib/fmt/pull/2399, - https://github.com/fmtlib/fmt/issues/2408, - https://github.com/fmtlib/fmt/pull/2414, - https://github.com/fmtlib/fmt/pull/2427, - https://github.com/fmtlib/fmt/pull/2432, - https://github.com/fmtlib/fmt/pull/2442, - https://github.com/fmtlib/fmt/pull/2434, - https://github.com/fmtlib/fmt/issues/2439, - https://github.com/fmtlib/fmt/pull/2447, - https://github.com/fmtlib/fmt/pull/2450, - https://github.com/fmtlib/fmt/issues/2455, - https://github.com/fmtlib/fmt/issues/2465, - https://github.com/fmtlib/fmt/issues/2472, - https://github.com/fmtlib/fmt/issues/2474, - https://github.com/fmtlib/fmt/pull/2476, - https://github.com/fmtlib/fmt/issues/2478, - https://github.com/fmtlib/fmt/issues/2479, - https://github.com/fmtlib/fmt/issues/2481, - https://github.com/fmtlib/fmt/pull/2482, - https://github.com/fmtlib/fmt/pull/2483, - https://github.com/fmtlib/fmt/issues/2490, - https://github.com/fmtlib/fmt/pull/2491, - https://github.com/fmtlib/fmt/pull/2510, - https://github.com/fmtlib/fmt/pull/2518, - https://github.com/fmtlib/fmt/issues/2528, - https://github.com/fmtlib/fmt/pull/2529, - https://github.com/fmtlib/fmt/pull/2539, - https://github.com/fmtlib/fmt/issues/2540, - https://github.com/fmtlib/fmt/pull/2545, - https://github.com/fmtlib/fmt/pull/2555, - https://github.com/fmtlib/fmt/issues/2557, - https://github.com/fmtlib/fmt/issues/2570, - https://github.com/fmtlib/fmt/pull/2573, - https://github.com/fmtlib/fmt/pull/2582, - https://github.com/fmtlib/fmt/issues/2605, - https://github.com/fmtlib/fmt/pull/2611, - https://github.com/fmtlib/fmt/pull/2647, - https://github.com/fmtlib/fmt/issues/2627, - https://github.com/fmtlib/fmt/pull/2630, - https://github.com/fmtlib/fmt/issues/2635, - https://github.com/fmtlib/fmt/issues/2638, - https://github.com/fmtlib/fmt/issues/2653, - https://github.com/fmtlib/fmt/issues/2654, - https://github.com/fmtlib/fmt/issues/2661, - https://github.com/fmtlib/fmt/pull/2664, - https://github.com/fmtlib/fmt/pull/2684). - Thanks @DanielaE, @mwinterb, @cdacamar, @TrebledJ, @bodomartin, @cquammen, - @white238, @mmarkeloff, @palacaze, @jcelerier, @mborn-adi, @BrukerJWD, - @spyridon97, @phprus, @oliverlee, @joshessman-llnl, @akohlmey, @timkalu, - @olupton, @Acretock, @alexezeder, @andrewcorrigan, @lucpelletier and - @HazardyKnusperkeks. +- Added missing diagnostic when trying to format function and member + pointers as well as objects convertible to pointers which is + explicitly disallowed + (https://github.com/fmtlib/fmt/issues/2598, + https://github.com/fmtlib/fmt/pull/2609, + https://github.com/fmtlib/fmt/pull/2610). Thanks @AlexGuteniev. + +- Optimized writing to a contiguous buffer with `format_to_n` + (https://github.com/fmtlib/fmt/pull/2489). Thanks @Roman-Koshelev. + +- Optimized writing to non-`char` buffers + (https://github.com/fmtlib/fmt/pull/2477). Thanks @Roman-Koshelev. + +- Decimal point is now localized when using the `L` specifier. + +- Improved floating point formatter implementation + (https://github.com/fmtlib/fmt/pull/2498, + https://github.com/fmtlib/fmt/pull/2499). Thanks @Roman-Koshelev. + +- Fixed handling of very large precision in fixed format + (https://github.com/fmtlib/fmt/pull/2616). + +- Made a table of cached powers used in FP formatting static + (https://github.com/fmtlib/fmt/pull/2509). Thanks @jk-jeon. + +- Resolved a lookup ambiguity with C++20 format-related functions due + to ADL (https://github.com/fmtlib/fmt/issues/2639, + https://github.com/fmtlib/fmt/pull/2641). Thanks @mkurdej. + +- Removed unnecessary inline namespace qualification + (https://github.com/fmtlib/fmt/issues/2642, + https://github.com/fmtlib/fmt/pull/2643). Thanks @mkurdej. + +- Implemented argument forwarding in `format_to_n` + (https://github.com/fmtlib/fmt/issues/2462, + https://github.com/fmtlib/fmt/pull/2463). Thanks @owent. + +- Fixed handling of implicit conversions in `fmt::to_string` and + format string compilation + (https://github.com/fmtlib/fmt/issues/2565). + +- Changed the default access mode of files created by + `fmt::output_file` to `-rw-r--r--` for consistency with `fopen` + (https://github.com/fmtlib/fmt/issues/2530). + +- Make `fmt::ostream::flush` public + (https://github.com/fmtlib/fmt/issues/2435). + +- Improved C++14/17 attribute detection + (https://github.com/fmtlib/fmt/pull/2615). Thanks @AlexGuteniev. + +- Improved `consteval` detection for MSVC + (https://github.com/fmtlib/fmt/pull/2559). Thanks @DanielaE. + +- Improved documentation + (https://github.com/fmtlib/fmt/issues/2406, + https://github.com/fmtlib/fmt/pull/2446, + https://github.com/fmtlib/fmt/issues/2493, + https://github.com/fmtlib/fmt/issues/2513, + https://github.com/fmtlib/fmt/pull/2515, + https://github.com/fmtlib/fmt/issues/2522, + https://github.com/fmtlib/fmt/pull/2562, + https://github.com/fmtlib/fmt/pull/2575, + https://github.com/fmtlib/fmt/pull/2606, + https://github.com/fmtlib/fmt/pull/2620, + https://github.com/fmtlib/fmt/issues/2676). + Thanks @sobolevn, @UnePierre, @zhsj, @phprus, @ericcurtin and @Lounarok. + +- Improved fuzzers and added a fuzzer for chrono timepoint formatting + (https://github.com/fmtlib/fmt/pull/2461, + https://github.com/fmtlib/fmt/pull/2469). @pauldreik, + +- Added the `FMT_SYSTEM_HEADERS` CMake option setting which marks + {fmt}\'s headers as system. It can be used to suppress warnings + (https://github.com/fmtlib/fmt/issues/2644, + https://github.com/fmtlib/fmt/pull/2651). Thanks @alexezeder. + +- Added the Bazel build system support + (https://github.com/fmtlib/fmt/pull/2505, + https://github.com/fmtlib/fmt/pull/2516). Thanks @Vertexwahn. + +- Improved build configuration and tests + (https://github.com/fmtlib/fmt/issues/2437, + https://github.com/fmtlib/fmt/pull/2558, + https://github.com/fmtlib/fmt/pull/2648, + https://github.com/fmtlib/fmt/pull/2650, + https://github.com/fmtlib/fmt/pull/2663, + https://github.com/fmtlib/fmt/pull/2677). + Thanks @DanielaE, @alexezeder and @phprus. + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/pull/2353, + https://github.com/fmtlib/fmt/pull/2356, + https://github.com/fmtlib/fmt/pull/2399, + https://github.com/fmtlib/fmt/issues/2408, + https://github.com/fmtlib/fmt/pull/2414, + https://github.com/fmtlib/fmt/pull/2427, + https://github.com/fmtlib/fmt/pull/2432, + https://github.com/fmtlib/fmt/pull/2442, + https://github.com/fmtlib/fmt/pull/2434, + https://github.com/fmtlib/fmt/issues/2439, + https://github.com/fmtlib/fmt/pull/2447, + https://github.com/fmtlib/fmt/pull/2450, + https://github.com/fmtlib/fmt/issues/2455, + https://github.com/fmtlib/fmt/issues/2465, + https://github.com/fmtlib/fmt/issues/2472, + https://github.com/fmtlib/fmt/issues/2474, + https://github.com/fmtlib/fmt/pull/2476, + https://github.com/fmtlib/fmt/issues/2478, + https://github.com/fmtlib/fmt/issues/2479, + https://github.com/fmtlib/fmt/issues/2481, + https://github.com/fmtlib/fmt/pull/2482, + https://github.com/fmtlib/fmt/pull/2483, + https://github.com/fmtlib/fmt/issues/2490, + https://github.com/fmtlib/fmt/pull/2491, + https://github.com/fmtlib/fmt/pull/2510, + https://github.com/fmtlib/fmt/pull/2518, + https://github.com/fmtlib/fmt/issues/2528, + https://github.com/fmtlib/fmt/pull/2529, + https://github.com/fmtlib/fmt/pull/2539, + https://github.com/fmtlib/fmt/issues/2540, + https://github.com/fmtlib/fmt/pull/2545, + https://github.com/fmtlib/fmt/pull/2555, + https://github.com/fmtlib/fmt/issues/2557, + https://github.com/fmtlib/fmt/issues/2570, + https://github.com/fmtlib/fmt/pull/2573, + https://github.com/fmtlib/fmt/pull/2582, + https://github.com/fmtlib/fmt/issues/2605, + https://github.com/fmtlib/fmt/pull/2611, + https://github.com/fmtlib/fmt/pull/2647, + https://github.com/fmtlib/fmt/issues/2627, + https://github.com/fmtlib/fmt/pull/2630, + https://github.com/fmtlib/fmt/issues/2635, + https://github.com/fmtlib/fmt/issues/2638, + https://github.com/fmtlib/fmt/issues/2653, + https://github.com/fmtlib/fmt/issues/2654, + https://github.com/fmtlib/fmt/issues/2661, + https://github.com/fmtlib/fmt/pull/2664, + https://github.com/fmtlib/fmt/pull/2684). + Thanks @DanielaE, @mwinterb, @cdacamar, @TrebledJ, @bodomartin, @cquammen, + @white238, @mmarkeloff, @palacaze, @jcelerier, @mborn-adi, @BrukerJWD, + @spyridon97, @phprus, @oliverlee, @joshessman-llnl, @akohlmey, @timkalu, + @olupton, @Acretock, @alexezeder, @andrewcorrigan, @lucpelletier and + @HazardyKnusperkeks. # 8.0.1 - 2021-07-02 -- Fixed the version number in the inline namespace - (https://github.com/fmtlib/fmt/issues/2374). -- Added a missing presentation type check for `std::string` - (https://github.com/fmtlib/fmt/issues/2402). -- Fixed a linkage error when mixing code built with clang and gcc - (https://github.com/fmtlib/fmt/issues/2377). -- Fixed documentation issues - (https://github.com/fmtlib/fmt/pull/2396, - https://github.com/fmtlib/fmt/issues/2403, - https://github.com/fmtlib/fmt/issues/2406). Thanks @mkurdej. -- Removed dead code in FP formatter ( - https://github.com/fmtlib/fmt/pull/2398). Thanks @javierhonduco. -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/issues/2351, - https://github.com/fmtlib/fmt/issues/2359, - https://github.com/fmtlib/fmt/pull/2365, - https://github.com/fmtlib/fmt/issues/2368, - https://github.com/fmtlib/fmt/pull/2370, - https://github.com/fmtlib/fmt/pull/2376, - https://github.com/fmtlib/fmt/pull/2381, - https://github.com/fmtlib/fmt/pull/2382, - https://github.com/fmtlib/fmt/issues/2386, - https://github.com/fmtlib/fmt/pull/2389, - https://github.com/fmtlib/fmt/pull/2395, - https://github.com/fmtlib/fmt/pull/2397, - https://github.com/fmtlib/fmt/issues/2400, - https://github.com/fmtlib/fmt/issues/2401, - https://github.com/fmtlib/fmt/pull/2407). - Thanks @zx2c4, @AidanSun05, @mattiasljungstrom, @joemmett, @erengy, - @patlkli, @gsjaardema and @phprus. +- Fixed the version number in the inline namespace + (https://github.com/fmtlib/fmt/issues/2374). +- Added a missing presentation type check for `std::string` + (https://github.com/fmtlib/fmt/issues/2402). +- Fixed a linkage error when mixing code built with clang and gcc + (https://github.com/fmtlib/fmt/issues/2377). +- Fixed documentation issues + (https://github.com/fmtlib/fmt/pull/2396, + https://github.com/fmtlib/fmt/issues/2403, + https://github.com/fmtlib/fmt/issues/2406). Thanks @mkurdej. +- Removed dead code in FP formatter ( + https://github.com/fmtlib/fmt/pull/2398). Thanks @javierhonduco. +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/issues/2351, + https://github.com/fmtlib/fmt/issues/2359, + https://github.com/fmtlib/fmt/pull/2365, + https://github.com/fmtlib/fmt/issues/2368, + https://github.com/fmtlib/fmt/pull/2370, + https://github.com/fmtlib/fmt/pull/2376, + https://github.com/fmtlib/fmt/pull/2381, + https://github.com/fmtlib/fmt/pull/2382, + https://github.com/fmtlib/fmt/issues/2386, + https://github.com/fmtlib/fmt/pull/2389, + https://github.com/fmtlib/fmt/pull/2395, + https://github.com/fmtlib/fmt/pull/2397, + https://github.com/fmtlib/fmt/issues/2400, + https://github.com/fmtlib/fmt/issues/2401, + https://github.com/fmtlib/fmt/pull/2407). + Thanks @zx2c4, @AidanSun05, @mattiasljungstrom, @joemmett, @erengy, + @patlkli, @gsjaardema and @phprus. # 8.0.0 - 2021-06-21 -- Enabled compile-time format string checks by default. For example - ([godbolt](https://godbolt.org/z/sMxcohGjz)): - - ```c++ - #include - - int main() { - fmt::print("{:d}", "I am not a number"); - } - ``` - - gives a compile-time error on compilers with C++20 `consteval` - support (gcc 10+, clang 11+) because `d` is not a valid format - specifier for a string. - - To pass a runtime string wrap it in `fmt::runtime`: - - ```c++ - fmt::print(fmt::runtime("{:d}"), "I am not a number"); - ``` - -- Added compile-time formatting - (https://github.com/fmtlib/fmt/pull/2019, - https://github.com/fmtlib/fmt/pull/2044, - https://github.com/fmtlib/fmt/pull/2056, - https://github.com/fmtlib/fmt/pull/2072, - https://github.com/fmtlib/fmt/pull/2075, - https://github.com/fmtlib/fmt/issues/2078, - https://github.com/fmtlib/fmt/pull/2129, - https://github.com/fmtlib/fmt/pull/2326). For example - ([godbolt](https://godbolt.org/z/Mxx9d89jM)): - - ```c++ - #include - - consteval auto compile_time_itoa(int value) -> std::array { - auto result = std::array(); - fmt::format_to(result.data(), FMT_COMPILE("{}"), value); - return result; - } - - constexpr auto answer = compile_time_itoa(42); - ``` - - Most of the formatting functionality is available at compile time - with a notable exception of floating-point numbers and pointers. - Thanks @alexezeder. - -- Optimized handling of format specifiers during format string - compilation. For example, hexadecimal formatting (`"{:x}"`) is now - 3-7x faster than before when using `format_to` with format string - compilation and a stack-allocated buffer - (https://github.com/fmtlib/fmt/issues/1944). - - Before (7.1.3): - - ---------------------------------------------------------------------------- - Benchmark Time CPU Iterations - ---------------------------------------------------------------------------- - FMTCompileOld/0 15.5 ns 15.5 ns 43302898 - FMTCompileOld/42 16.6 ns 16.6 ns 43278267 - FMTCompileOld/273123 18.7 ns 18.6 ns 37035861 - FMTCompileOld/9223372036854775807 19.4 ns 19.4 ns 35243000 - ---------------------------------------------------------------------------- - - After (8.x): - - ---------------------------------------------------------------------------- - Benchmark Time CPU Iterations - ---------------------------------------------------------------------------- - FMTCompileNew/0 1.99 ns 1.99 ns 360523686 - FMTCompileNew/42 2.33 ns 2.33 ns 279865664 - FMTCompileNew/273123 3.72 ns 3.71 ns 190230315 - FMTCompileNew/9223372036854775807 5.28 ns 5.26 ns 130711631 - ---------------------------------------------------------------------------- - - It is even faster than `std::to_chars` from libc++ compiled with - clang on macOS: - - ---------------------------------------------------------------------------- - Benchmark Time CPU Iterations - ---------------------------------------------------------------------------- - ToChars/0 4.42 ns 4.41 ns 160196630 - ToChars/42 5.00 ns 4.98 ns 140735201 - ToChars/273123 7.26 ns 7.24 ns 95784130 - ToChars/9223372036854775807 8.77 ns 8.75 ns 75872534 - ---------------------------------------------------------------------------- - - In other cases, especially involving `std::string` construction, the - speed up is usually lower because handling format specifiers takes a - smaller fraction of the total time. - -- Added the `_cf` user-defined literal to represent a compiled format - string. It can be used instead of the `FMT_COMPILE` macro - (https://github.com/fmtlib/fmt/pull/2043, - https://github.com/fmtlib/fmt/pull/2242): - - ```c++ - #include - - using namespace fmt::literals; - auto s = fmt::format(FMT_COMPILE("{}"), 42); // 🙁 not modern - auto s = fmt::format("{}"_cf, 42); // 🙂 modern as hell - ``` - - It requires compiler support for class types in non-type template - parameters (a C++20 feature) which is available in GCC 9.3+. - Thanks @alexezeder. - -- Format string compilation now requires `format` functions of - `formatter` specializations for user-defined types to be `const`: - - ```c++ - template <> struct fmt::formatter: formatter { - template - auto format(my_type obj, FormatContext& ctx) const { // Note const here. - // ... - } - }; - ``` - -- Added UDL-based named argument support to format string compilation - (https://github.com/fmtlib/fmt/pull/2243, - https://github.com/fmtlib/fmt/pull/2281). For example: - - ```c++ - #include - - using namespace fmt::literals; - auto s = fmt::format(FMT_COMPILE("{answer}"), "answer"_a = 42); - ``` - - Here the argument named \"answer\" is resolved at compile time with - no runtime overhead. Thanks @alexezeder. - -- Added format string compilation support to `fmt::print` - (https://github.com/fmtlib/fmt/issues/2280, - https://github.com/fmtlib/fmt/pull/2304). Thanks @alexezeder. - -- Added initial support for compiling {fmt} as a C++20 module - (https://github.com/fmtlib/fmt/pull/2235, - https://github.com/fmtlib/fmt/pull/2240, - https://github.com/fmtlib/fmt/pull/2260, - https://github.com/fmtlib/fmt/pull/2282, - https://github.com/fmtlib/fmt/pull/2283, - https://github.com/fmtlib/fmt/pull/2288, - https://github.com/fmtlib/fmt/pull/2298, - https://github.com/fmtlib/fmt/pull/2306, - https://github.com/fmtlib/fmt/pull/2307, - https://github.com/fmtlib/fmt/pull/2309, - https://github.com/fmtlib/fmt/pull/2318, - https://github.com/fmtlib/fmt/pull/2324, - https://github.com/fmtlib/fmt/pull/2332, - https://github.com/fmtlib/fmt/pull/2340). Thanks @DanielaE. - -- Made symbols private by default reducing shared library size - (https://github.com/fmtlib/fmt/pull/2301). For example - there was a \~15% reported reduction on one platform. Thanks @sergiud. - -- Optimized includes making the result of preprocessing `fmt/format.h` - \~20% smaller with libstdc++/C++20 and slightly improving build - times (https://github.com/fmtlib/fmt/issues/1998). - -- Added support of ranges with non-const `begin` / `end` - (https://github.com/fmtlib/fmt/pull/1953). Thanks @kitegi. - -- Added support of `std::byte` and other formattable types to - `fmt::join` (https://github.com/fmtlib/fmt/issues/1981, - https://github.com/fmtlib/fmt/issues/2040, - https://github.com/fmtlib/fmt/pull/2050, - https://github.com/fmtlib/fmt/issues/2262). For example: - - ```c++ - #include - #include - #include - - int main() { - auto bytes = std::vector{std::byte(4), std::byte(2)}; - fmt::print("{}", fmt::join(bytes, "")); - } - ``` - - prints \"42\". - - Thanks @kamibo. - -- Implemented the default format for `std::chrono::system_clock` - (https://github.com/fmtlib/fmt/issues/2319, - https://github.com/fmtlib/fmt/pull/2345). For example: - - ```c++ - #include - - int main() { - fmt::print("{}", std::chrono::system_clock::now()); - } - ``` - - prints \"2021-06-18 15:22:00\" (the output depends on the current - date and time). Thanks @sunmy2019. - -- Made more chrono specifiers locale independent by default. Use the - `'L'` specifier to get localized formatting. For example: - - ```c++ - #include - - int main() { - std::locale::global(std::locale("ru_RU.UTF-8")); - auto monday = std::chrono::weekday(1); - fmt::print("{}\n", monday); // prints "Mon" - fmt::print("{:L}\n", monday); // prints "пн" - } - ``` - -- Improved locale handling in chrono formatting - (https://github.com/fmtlib/fmt/issues/2337, - https://github.com/fmtlib/fmt/pull/2349, - https://github.com/fmtlib/fmt/pull/2350). Thanks @phprus. - -- Deprecated `fmt/locale.h` moving the formatting functions that take - a locale to `fmt/format.h` (`char`) and `fmt/xchar` (other - overloads). This doesn\'t introduce a dependency on `` so - there is virtually no compile time effect. - -- Deprecated an undocumented `format_to` overload that takes - `basic_memory_buffer`. - -- Made parameter order in `vformat_to` consistent with `format_to` - (https://github.com/fmtlib/fmt/issues/2327). - -- Added support for time points with arbitrary durations - (https://github.com/fmtlib/fmt/issues/2208). For example: - - ```c++ - #include - - int main() { - using tp = std::chrono::time_point< - std::chrono::system_clock, std::chrono::seconds>; - fmt::print("{:%S}", tp(std::chrono::seconds(42))); - } - ``` - - prints \"42\". - -- Formatting floating-point numbers no longer produces trailing zeros - by default for consistency with `std::format`. For example: - - ```c++ - #include - - int main() { - fmt::print("{0:.3}", 1.1); - } - ``` - - prints \"1.1\". Use the `'#'` specifier to keep trailing zeros. - -- Dropped a limit on the number of elements in a range and replaced - `{}` with `[]` as range delimiters for consistency with Python\'s - `str.format`. - -- The `'L'` specifier for locale-specific numeric formatting can now - be combined with presentation specifiers as in `std::format`. For - example: - - ```c++ - #include - #include - - int main() { - std::locale::global(std::locale("fr_FR.UTF-8")); - fmt::print("{0:.2Lf}", 0.42); - } - ``` - - prints \"0,42\". The deprecated `'n'` specifier has been removed. - -- Made the `0` specifier ignored for infinity and NaN - (https://github.com/fmtlib/fmt/issues/2305, - https://github.com/fmtlib/fmt/pull/2310). Thanks @Liedtke. - -- Made the hexfloat formatting use the right alignment by default - (https://github.com/fmtlib/fmt/issues/2308, - https://github.com/fmtlib/fmt/pull/2317). Thanks @Liedtke. - -- Removed the deprecated numeric alignment (`'='`). Use the `'0'` - specifier instead. - -- Removed the deprecated `fmt/posix.h` header that has been replaced - with `fmt/os.h`. - -- Removed the deprecated `format_to_n_context`, `format_to_n_args` and - `make_format_to_n_args`. They have been replaced with - `format_context`, `` format_args` and ``make_format_args\`\` - respectively. - -- Moved `wchar_t`-specific functions and types to `fmt/xchar.h`. You - can define `FMT_DEPRECATED_INCLUDE_XCHAR` to automatically include - `fmt/xchar.h` from `fmt/format.h` but this will be disabled in the - next major release. - -- Fixed handling of the `'+'` specifier in localized formatting - (https://github.com/fmtlib/fmt/issues/2133). - -- Added support for the `'s'` format specifier that gives textual - representation of `bool` - (https://github.com/fmtlib/fmt/issues/2094, - https://github.com/fmtlib/fmt/pull/2109). For example: - - ```c++ - #include - - int main() { - fmt::print("{:s}", true); - } - ``` - - prints \"true\". Thanks @powercoderlol. - -- Made `fmt::ptr` work with function pointers - (https://github.com/fmtlib/fmt/pull/2131). For example: - - ```c++ - #include - - int main() { - fmt::print("My main: {}\n", fmt::ptr(main)); - } - ``` - - Thanks @mikecrowe. - -- The undocumented support for specializing `formatter` for pointer - types has been removed. - -- Fixed `fmt::formatted_size` with format string compilation - (https://github.com/fmtlib/fmt/pull/2141, - https://github.com/fmtlib/fmt/pull/2161). Thanks @alexezeder. - -- Fixed handling of empty format strings during format string - compilation (https://github.com/fmtlib/fmt/issues/2042): - - ```c++ - auto s = fmt::format(FMT_COMPILE("")); - ``` - - Thanks @alexezeder. - -- Fixed handling of enums in `fmt::to_string` - (https://github.com/fmtlib/fmt/issues/2036). - -- Improved width computation - (https://github.com/fmtlib/fmt/issues/2033, - https://github.com/fmtlib/fmt/issues/2091). For example: - - ```c++ - #include - - int main() { - fmt::print("{:-<10}{}\n", "你好", "世界"); - fmt::print("{:-<10}{}\n", "hello", "world"); - } - ``` - - prints - - ![](https://user-images.githubusercontent.com/576385/119840373-cea3ca80-beb9-11eb-91e0-54266c48e181.png) - - on a modern terminal. - -- The experimental fast output stream (`fmt::ostream`) is now - truncated by default for consistency with `fopen` - (https://github.com/fmtlib/fmt/issues/2018). For example: - - ```c++ - #include - - int main() { - fmt::ostream out1 = fmt::output_file("guide"); - out1.print("Zaphod"); - out1.close(); - fmt::ostream out2 = fmt::output_file("guide"); - out2.print("Ford"); - } - ``` - - writes \"Ford\" to the file \"guide\". To preserve the old file - content if any pass `fmt::file::WRONLY | fmt::file::CREATE` flags to - `fmt::output_file`. - -- Fixed moving of `fmt::ostream` that holds buffered data - (https://github.com/fmtlib/fmt/issues/2197, - https://github.com/fmtlib/fmt/pull/2198). Thanks @vtta. - -- Replaced the `fmt::system_error` exception with a function of the - same name that constructs `std::system_error` - (https://github.com/fmtlib/fmt/issues/2266). - -- Replaced the `fmt::windows_error` exception with a function of the - same name that constructs `std::system_error` with the category - returned by `fmt::system_category()` - (https://github.com/fmtlib/fmt/issues/2274, - https://github.com/fmtlib/fmt/pull/2275). The latter is - similar to `std::sytem_category` but correctly handles UTF-8. - Thanks @phprus. - -- Replaced `fmt::error_code` with `std::error_code` and made it - formattable (https://github.com/fmtlib/fmt/issues/2269, - https://github.com/fmtlib/fmt/pull/2270, - https://github.com/fmtlib/fmt/pull/2273). Thanks @phprus. - -- Added speech synthesis support - (https://github.com/fmtlib/fmt/pull/2206). - -- Made `format_to` work with a memory buffer that has a custom - allocator (https://github.com/fmtlib/fmt/pull/2300). - Thanks @voxmea. - -- Added `Allocator::max_size` support to `basic_memory_buffer`. - (https://github.com/fmtlib/fmt/pull/1960). Thanks @phprus. - -- Added wide string support to `fmt::join` - (https://github.com/fmtlib/fmt/pull/2236). Thanks @crbrz. - -- Made iterators passed to `formatter` specializations via a format - context satisfy C++20 `std::output_iterator` requirements - (https://github.com/fmtlib/fmt/issues/2156, - https://github.com/fmtlib/fmt/pull/2158, - https://github.com/fmtlib/fmt/issues/2195, - https://github.com/fmtlib/fmt/pull/2204). Thanks @randomnetcat. - -- Optimized the `printf` implementation - (https://github.com/fmtlib/fmt/pull/1982, - https://github.com/fmtlib/fmt/pull/1984, - https://github.com/fmtlib/fmt/pull/2016, - https://github.com/fmtlib/fmt/pull/2164). - Thanks @rimathia and @moiwi. - -- Improved detection of `constexpr` `char_traits` - (https://github.com/fmtlib/fmt/pull/2246, - https://github.com/fmtlib/fmt/pull/2257). Thanks @phprus. - -- Fixed writing to `stdout` when it is redirected to `NUL` on Windows - (https://github.com/fmtlib/fmt/issues/2080). - -- Fixed exception propagation from iterators - (https://github.com/fmtlib/fmt/issues/2097). - -- Improved `strftime` error handling - (https://github.com/fmtlib/fmt/issues/2238, - https://github.com/fmtlib/fmt/pull/2244). Thanks @yumeyao. - -- Stopped using deprecated GCC UDL template extension. - -- Added `fmt/args.h` to the install target - (https://github.com/fmtlib/fmt/issues/2096). - -- Error messages are now passed to assert when exceptions are disabled - (https://github.com/fmtlib/fmt/pull/2145). Thanks @NobodyXu. - -- Added the `FMT_MASTER_PROJECT` CMake option to control build and - install targets when {fmt} is included via `add_subdirectory` - (https://github.com/fmtlib/fmt/issues/2098, - https://github.com/fmtlib/fmt/pull/2100). - Thanks @randomizedthinking. - -- Improved build configuration - (https://github.com/fmtlib/fmt/pull/2026, - https://github.com/fmtlib/fmt/pull/2122). - Thanks @luncliff and @ibaned. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/issues/1947, - https://github.com/fmtlib/fmt/pull/1959, - https://github.com/fmtlib/fmt/pull/1963, - https://github.com/fmtlib/fmt/pull/1965, - https://github.com/fmtlib/fmt/issues/1966, - https://github.com/fmtlib/fmt/pull/1974, - https://github.com/fmtlib/fmt/pull/1975, - https://github.com/fmtlib/fmt/pull/1990, - https://github.com/fmtlib/fmt/issues/2000, - https://github.com/fmtlib/fmt/pull/2001, - https://github.com/fmtlib/fmt/issues/2002, - https://github.com/fmtlib/fmt/issues/2004, - https://github.com/fmtlib/fmt/pull/2006, - https://github.com/fmtlib/fmt/pull/2009, - https://github.com/fmtlib/fmt/pull/2010, - https://github.com/fmtlib/fmt/issues/2038, - https://github.com/fmtlib/fmt/issues/2039, - https://github.com/fmtlib/fmt/issues/2047, - https://github.com/fmtlib/fmt/pull/2053, - https://github.com/fmtlib/fmt/issues/2059, - https://github.com/fmtlib/fmt/pull/2065, - https://github.com/fmtlib/fmt/pull/2067, - https://github.com/fmtlib/fmt/pull/2068, - https://github.com/fmtlib/fmt/pull/2073, - https://github.com/fmtlib/fmt/issues/2103, - https://github.com/fmtlib/fmt/issues/2105, - https://github.com/fmtlib/fmt/pull/2106, - https://github.com/fmtlib/fmt/pull/2107, - https://github.com/fmtlib/fmt/issues/2116, - https://github.com/fmtlib/fmt/pull/2117, - https://github.com/fmtlib/fmt/issues/2118, - https://github.com/fmtlib/fmt/pull/2119, - https://github.com/fmtlib/fmt/issues/2127, - https://github.com/fmtlib/fmt/pull/2128, - https://github.com/fmtlib/fmt/issues/2140, - https://github.com/fmtlib/fmt/issues/2142, - https://github.com/fmtlib/fmt/pull/2143, - https://github.com/fmtlib/fmt/pull/2144, - https://github.com/fmtlib/fmt/issues/2147, - https://github.com/fmtlib/fmt/issues/2148, - https://github.com/fmtlib/fmt/issues/2149, - https://github.com/fmtlib/fmt/pull/2152, - https://github.com/fmtlib/fmt/pull/2160, - https://github.com/fmtlib/fmt/issues/2170, - https://github.com/fmtlib/fmt/issues/2175, - https://github.com/fmtlib/fmt/issues/2176, - https://github.com/fmtlib/fmt/pull/2177, - https://github.com/fmtlib/fmt/issues/2178, - https://github.com/fmtlib/fmt/pull/2179, - https://github.com/fmtlib/fmt/issues/2180, - https://github.com/fmtlib/fmt/issues/2181, - https://github.com/fmtlib/fmt/pull/2183, - https://github.com/fmtlib/fmt/issues/2184, - https://github.com/fmtlib/fmt/issues/2185, - https://github.com/fmtlib/fmt/pull/2186, - https://github.com/fmtlib/fmt/pull/2187, - https://github.com/fmtlib/fmt/pull/2190, - https://github.com/fmtlib/fmt/pull/2192, - https://github.com/fmtlib/fmt/pull/2194, - https://github.com/fmtlib/fmt/pull/2205, - https://github.com/fmtlib/fmt/issues/2210, - https://github.com/fmtlib/fmt/pull/2211, - https://github.com/fmtlib/fmt/pull/2215, - https://github.com/fmtlib/fmt/pull/2216, - https://github.com/fmtlib/fmt/pull/2218, - https://github.com/fmtlib/fmt/pull/2220, - https://github.com/fmtlib/fmt/issues/2228, - https://github.com/fmtlib/fmt/pull/2229, - https://github.com/fmtlib/fmt/pull/2230, - https://github.com/fmtlib/fmt/issues/2233, - https://github.com/fmtlib/fmt/pull/2239, - https://github.com/fmtlib/fmt/issues/2248, - https://github.com/fmtlib/fmt/issues/2252, - https://github.com/fmtlib/fmt/pull/2253, - https://github.com/fmtlib/fmt/pull/2255, - https://github.com/fmtlib/fmt/issues/2261, - https://github.com/fmtlib/fmt/issues/2278, - https://github.com/fmtlib/fmt/issues/2284, - https://github.com/fmtlib/fmt/pull/2287, - https://github.com/fmtlib/fmt/pull/2289, - https://github.com/fmtlib/fmt/pull/2290, - https://github.com/fmtlib/fmt/pull/2293, - https://github.com/fmtlib/fmt/issues/2295, - https://github.com/fmtlib/fmt/pull/2296, - https://github.com/fmtlib/fmt/pull/2297, - https://github.com/fmtlib/fmt/issues/2311, - https://github.com/fmtlib/fmt/pull/2313, - https://github.com/fmtlib/fmt/pull/2315, - https://github.com/fmtlib/fmt/issues/2320, - https://github.com/fmtlib/fmt/pull/2321, - https://github.com/fmtlib/fmt/pull/2323, - https://github.com/fmtlib/fmt/issues/2328, - https://github.com/fmtlib/fmt/pull/2329, - https://github.com/fmtlib/fmt/pull/2333, - https://github.com/fmtlib/fmt/pull/2338, - https://github.com/fmtlib/fmt/pull/2341). - Thanks @darklukee, @fagg, @killerbot242, @jgopel, @yeswalrus, @Finkman, - @HazardyKnusperkeks, @dkavolis, @concatime, @chronoxor, @summivox, @yNeo, - @Apache-HB, @alexezeder, @toojays, @Brainy0207, @vadz, @imsherlock, @phprus, - @white238, @yafshar, @BillyDonahue, @jstaahl, @denchat, @DanielaE, - @ilyakurdyukov, @ilmai, @JessyDL, @sergiud, @mwinterb, @sven-herrmann, - @jmelas, @twoixter, @crbrz and @upsj. - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/1986, - https://github.com/fmtlib/fmt/pull/2051, - https://github.com/fmtlib/fmt/issues/2057, - https://github.com/fmtlib/fmt/pull/2081, - https://github.com/fmtlib/fmt/issues/2084, - https://github.com/fmtlib/fmt/pull/2312). - Thanks @imba-tjd, @0x416c69 and @mordante. - -- Continuous integration and test improvements - (https://github.com/fmtlib/fmt/issues/1969, - https://github.com/fmtlib/fmt/pull/1991, - https://github.com/fmtlib/fmt/pull/2020, - https://github.com/fmtlib/fmt/pull/2110, - https://github.com/fmtlib/fmt/pull/2114, - https://github.com/fmtlib/fmt/issues/2196, - https://github.com/fmtlib/fmt/pull/2217, - https://github.com/fmtlib/fmt/pull/2247, - https://github.com/fmtlib/fmt/pull/2256, - https://github.com/fmtlib/fmt/pull/2336, - https://github.com/fmtlib/fmt/pull/2346). - Thanks @jgopel, @alexezeder and @DanielaE. - -# 7.1.3 - 2020-11-24 - -- Fixed handling of buffer boundaries in `format_to_n` - (https://github.com/fmtlib/fmt/issues/1996, - https://github.com/fmtlib/fmt/issues/2029). -- Fixed linkage errors when linking with a shared library - (https://github.com/fmtlib/fmt/issues/2011). -- Reintroduced ostream support to range formatters - (https://github.com/fmtlib/fmt/issues/2014). -- Worked around an issue with mixing std versions in gcc - (https://github.com/fmtlib/fmt/issues/2017). - -# 7.1.2 - 2020-11-04 - -- Fixed floating point formatting with large precision - (https://github.com/fmtlib/fmt/issues/1976). - -# 7.1.1 - 2020-11-01 - -- Fixed ABI compatibility with 7.0.x - (https://github.com/fmtlib/fmt/issues/1961). -- Added the `FMT_ARM_ABI_COMPATIBILITY` macro to work around ABI - incompatibility between GCC and Clang on ARM - (https://github.com/fmtlib/fmt/issues/1919). -- Worked around a SFINAE bug in GCC 8 - (https://github.com/fmtlib/fmt/issues/1957). -- Fixed linkage errors when building with GCC\'s LTO - (https://github.com/fmtlib/fmt/issues/1955). -- Fixed a compilation error when building without `__builtin_clz` or - equivalent (https://github.com/fmtlib/fmt/pull/1968). - Thanks @tohammer. -- Fixed a sign conversion warning - (https://github.com/fmtlib/fmt/pull/1964). Thanks @OptoCloud. - -# 7.1.0 - 2020-10-25 - -- Switched from - [Grisu3](https://www.cs.tufts.edu/~nr/cs257/archive/florian-loitsch/printf.pdf) - to [Dragonbox](https://github.com/jk-jeon/dragonbox) for the default - floating-point formatting which gives the shortest decimal - representation with round-trip guarantee and correct rounding - (https://github.com/fmtlib/fmt/pull/1882, - https://github.com/fmtlib/fmt/pull/1887, - https://github.com/fmtlib/fmt/pull/1894). This makes {fmt} - up to 20-30x faster than common implementations of - `std::ostringstream` and `sprintf` on - [dtoa-benchmark](https://github.com/fmtlib/dtoa-benchmark) and - faster than double-conversion and Ryū: - - ![](https://user-images.githubusercontent.com/576385/95684665-11719600-0ba8-11eb-8e5b-972ff4e49428.png) - - It is possible to get even better performance at the cost of larger - binary size by compiling with the `FMT_USE_FULL_CACHE_DRAGONBOX` - macro set to 1. - - Thanks @jk-jeon. - -- Added an experimental unsynchronized file output API which, together - with [format string - compilation](https://fmt.dev/latest/api.html#compile-api), can give - [5-9 times speed up compared to - fprintf](https://www.zverovich.net/2020/08/04/optimal-file-buffer-size.html) - on common platforms ([godbolt](https://godbolt.org/z/nsTcG8)): - - ```c++ - #include - - int main() { - auto f = fmt::output_file("guide"); - f.print("The answer is {}.", 42); - } - ``` - -- Added a formatter for `std::chrono::time_point` - (https://github.com/fmtlib/fmt/issues/1819, - https://github.com/fmtlib/fmt/pull/1837). For example - ([godbolt](https://godbolt.org/z/c4M6fh)): - - ```c++ - #include - - int main() { - auto now = std::chrono::system_clock::now(); - fmt::print("The time is {:%H:%M:%S}.\n", now); - } - ``` - - Thanks @adamburgess. - -- Added support for ranges with non-const `begin`/`end` to `fmt::join` - (https://github.com/fmtlib/fmt/issues/1784, - https://github.com/fmtlib/fmt/pull/1786). For example - ([godbolt](https://godbolt.org/z/jP63Tv)): - - ```c++ - #include - #include - - int main() { - using std::literals::string_literals::operator""s; - auto strs = std::array{"a"s, "bb"s, "ccc"s}; - auto range = strs | ranges::views::filter( - [] (const std::string &x) { return x.size() != 2; } - ); - fmt::print("{}\n", fmt::join(range, "")); - } - ``` - - prints \"accc\". - - Thanks @tonyelewis. - -- Added a `memory_buffer::append` overload that takes a range - (https://github.com/fmtlib/fmt/pull/1806). Thanks @BRevzin. - -- Improved handling of single code units in `FMT_COMPILE`. For - example: - - ```c++ - #include - - char* f(char* buf) { - return fmt::format_to(buf, FMT_COMPILE("x{}"), 42); - } - ``` - - compiles to just ([godbolt](https://godbolt.org/z/5vncz3)): - - ```asm - _Z1fPc: - movb $120, (%rdi) - xorl %edx, %edx - cmpl $42, _ZN3fmt2v76detail10basic_dataIvE23zero_or_powers_of_10_32E+8(%rip) - movl $3, %eax - seta %dl - subl %edx, %eax - movzwl _ZN3fmt2v76detail10basic_dataIvE6digitsE+84(%rip), %edx - cltq - addq %rdi, %rax - movw %dx, -2(%rax) - ret - ``` - - Here a single `mov` instruction writes `'x'` (`$120`) to the output - buffer. - -- Added dynamic width support to format string compilation - (https://github.com/fmtlib/fmt/issues/1809). - -- Improved error reporting for unformattable types: now you\'ll get - the type name directly in the error message instead of the note: - - ```c++ - #include - - struct how_about_no {}; - - int main() { - fmt::print("{}", how_about_no()); - } - ``` - - Error ([godbolt](https://godbolt.org/z/GoxM4e)): - - `fmt/core.h:1438:3: error: static_assert failed due to requirement 'fmt::v7::formattable()' "Cannot format an argument. To make type T formattable provide a formatter specialization: https://fmt.dev/latest/api.html#udt" ...` - -- Added the - [make_args_checked](https://fmt.dev/7.1.0/api.html#argument-lists) - function template that allows you to write formatting functions with - compile-time format string checks and avoid binary code bloat - ([godbolt](https://godbolt.org/z/PEf9qr)): - - ```c++ - void vlog(const char* file, int line, fmt::string_view format, - fmt::format_args args) { - fmt::print("{}: {}: ", file, line); - fmt::vprint(format, args); - } - - template - void log(const char* file, int line, const S& format, Args&&... args) { - vlog(file, line, format, - fmt::make_args_checked(format, args...)); - } - - #define MY_LOG(format, ...) \ - log(__FILE__, __LINE__, FMT_STRING(format), __VA_ARGS__) - - MY_LOG("invalid squishiness: {}", 42); - ``` - -- Replaced `snprintf` fallback with a faster internal IEEE 754 `float` - and `double` formatter for arbitrary precision. For example - ([godbolt](https://godbolt.org/z/dPhWvj)): - - ```c++ - #include - - int main() { - fmt::print("{:.500}\n", 4.9406564584124654E-324); - } - ``` - - prints - - `4.9406564584124654417656879286822137236505980261432476442558568250067550727020875186529983636163599237979656469544571773092665671035593979639877479601078187812630071319031140452784581716784898210368871863605699873072305000638740915356498438731247339727316961514003171538539807412623856559117102665855668676818703956031062493194527159149245532930545654440112748012970999954193198940908041656332452475714786901472678015935523861155013480352649347201937902681071074917033322268447533357208324319360923829e-324`. - -- Made `format_to_n` and `formatted_size` part of the [core - API](https://fmt.dev/latest/api.html#core-api) - ([godbolt](https://godbolt.org/z/sPjY1K)): - - ```c++ - #include - - int main() { - char buffer[10]; - auto result = fmt::format_to_n(buffer, sizeof(buffer), "{}", 42); - } - ``` - -- Added `fmt::format_to_n` overload with format string compilation - (https://github.com/fmtlib/fmt/issues/1764, - https://github.com/fmtlib/fmt/pull/1767, - https://github.com/fmtlib/fmt/pull/1869). For example - ([godbolt](https://godbolt.org/z/93h86q)): - - ```c++ - #include - - int main() { - char buffer[8]; - fmt::format_to_n(buffer, sizeof(buffer), FMT_COMPILE("{}"), 42); - } - ``` - - Thanks @Kurkin and @alexezeder. - -- Added `fmt::format_to` overload that take `text_style` - (https://github.com/fmtlib/fmt/issues/1593, - https://github.com/fmtlib/fmt/issues/1842, - https://github.com/fmtlib/fmt/pull/1843). For example - ([godbolt](https://godbolt.org/z/91153r)): - - ```c++ - #include - - int main() { - std::string out; - fmt::format_to(std::back_inserter(out), - fmt::emphasis::bold | fg(fmt::color::red), - "The answer is {}.", 42); - } - ``` - - Thanks @Naios. - -- Made the `'#'` specifier emit trailing zeros in addition to the - decimal point (https://github.com/fmtlib/fmt/issues/1797). - For example ([godbolt](https://godbolt.org/z/bhdcW9)): - - ```c++ - #include - - int main() { - fmt::print("{:#.2g}", 0.5); - } - ``` - - prints `0.50`. - -- Changed the default floating point format to not include `.0` for - consistency with `std::format` and `std::to_chars` - (https://github.com/fmtlib/fmt/issues/1893, - https://github.com/fmtlib/fmt/issues/1943). It is possible - to get the decimal point and trailing zero with the `#` specifier. - -- Fixed an issue with floating-point formatting that could result in - addition of a non-significant trailing zero in rare cases e.g. - `1.00e-34` instead of `1.0e-34` - (https://github.com/fmtlib/fmt/issues/1873, - https://github.com/fmtlib/fmt/issues/1917). - -- Made `fmt::to_string` fallback on `ostream` insertion operator if - the `formatter` specialization is not provided - (https://github.com/fmtlib/fmt/issues/1815, - https://github.com/fmtlib/fmt/pull/1829). Thanks @alexezeder. - -- Added support for the append mode to the experimental file API and - improved `fcntl.h` detection. - (https://github.com/fmtlib/fmt/pull/1847, - https://github.com/fmtlib/fmt/pull/1848). Thanks @t-wiser. - -- Fixed handling of types that have both an implicit conversion - operator and an overloaded `ostream` insertion operator - (https://github.com/fmtlib/fmt/issues/1766). - -- Fixed a slicing issue in an internal iterator type - (https://github.com/fmtlib/fmt/pull/1822). Thanks @BRevzin. - -- Fixed an issue in locale-specific integer formatting - (https://github.com/fmtlib/fmt/issues/1927). - -- Fixed handling of exotic code unit types - (https://github.com/fmtlib/fmt/issues/1870, - https://github.com/fmtlib/fmt/issues/1932). - -- Improved `FMT_ALWAYS_INLINE` - (https://github.com/fmtlib/fmt/pull/1878). Thanks @jk-jeon. - -- Removed dependency on `windows.h` - (https://github.com/fmtlib/fmt/pull/1900). Thanks @bernd5. - -- Optimized counting of decimal digits on MSVC - (https://github.com/fmtlib/fmt/pull/1890). Thanks @mwinterb. - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/1772, - https://github.com/fmtlib/fmt/pull/1775, - https://github.com/fmtlib/fmt/pull/1792, - https://github.com/fmtlib/fmt/pull/1838, - https://github.com/fmtlib/fmt/pull/1888, - https://github.com/fmtlib/fmt/pull/1918, - https://github.com/fmtlib/fmt/pull/1939). - Thanks @leolchat, @pepsiman, @Klaim, @ravijanjam, @francesco-st and @udnaan. - -- Added the `FMT_REDUCE_INT_INSTANTIATIONS` CMake option that reduces - the binary code size at the cost of some integer formatting - performance. This can be useful for extremely memory-constrained - embedded systems - (https://github.com/fmtlib/fmt/issues/1778, - https://github.com/fmtlib/fmt/pull/1781). Thanks @kammce. - -- Added the `FMT_USE_INLINE_NAMESPACES` macro to control usage of - inline namespaces - (https://github.com/fmtlib/fmt/pull/1945). Thanks @darklukee. - -- Improved build configuration - (https://github.com/fmtlib/fmt/pull/1760, - https://github.com/fmtlib/fmt/pull/1770, - https://github.com/fmtlib/fmt/issues/1779, - https://github.com/fmtlib/fmt/pull/1783, - https://github.com/fmtlib/fmt/pull/1823). - Thanks @dvetutnev, @xvitaly, @tambry, @medithe and @martinwuehrer. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/pull/1790, - https://github.com/fmtlib/fmt/pull/1802, - https://github.com/fmtlib/fmt/pull/1808, - https://github.com/fmtlib/fmt/issues/1810, - https://github.com/fmtlib/fmt/issues/1811, - https://github.com/fmtlib/fmt/pull/1812, - https://github.com/fmtlib/fmt/pull/1814, - https://github.com/fmtlib/fmt/pull/1816, - https://github.com/fmtlib/fmt/pull/1817, - https://github.com/fmtlib/fmt/pull/1818, - https://github.com/fmtlib/fmt/issues/1825, - https://github.com/fmtlib/fmt/pull/1836, - https://github.com/fmtlib/fmt/pull/1855, - https://github.com/fmtlib/fmt/pull/1856, - https://github.com/fmtlib/fmt/pull/1860, - https://github.com/fmtlib/fmt/pull/1877, - https://github.com/fmtlib/fmt/pull/1879, - https://github.com/fmtlib/fmt/pull/1880, - https://github.com/fmtlib/fmt/issues/1896, - https://github.com/fmtlib/fmt/pull/1897, - https://github.com/fmtlib/fmt/pull/1898, - https://github.com/fmtlib/fmt/issues/1904, - https://github.com/fmtlib/fmt/pull/1908, - https://github.com/fmtlib/fmt/issues/1911, - https://github.com/fmtlib/fmt/issues/1912, - https://github.com/fmtlib/fmt/issues/1928, - https://github.com/fmtlib/fmt/pull/1929, - https://github.com/fmtlib/fmt/issues/1935, - https://github.com/fmtlib/fmt/pull/1937, - https://github.com/fmtlib/fmt/pull/1942, - https://github.com/fmtlib/fmt/issues/1949). - Thanks @TheQwertiest, @medithe, @martinwuehrer, @n16h7hunt3r, @Othereum, - @gsjaardema, @AlexanderLanin, @gcerretani, @chronoxor, @noizefloor, - @akohlmey, @jk-jeon, @rimathia, @rglarix, @moiwi, @heckad, @MarcDirven. - @BartSiwek and @darklukee. - -# 7.0.3 - 2020-08-06 - -- Worked around broken `numeric_limits` for 128-bit integers - (https://github.com/fmtlib/fmt/issues/1787). -- Added error reporting on missing named arguments - (https://github.com/fmtlib/fmt/issues/1796). -- Stopped using 128-bit integers with clang-cl - (https://github.com/fmtlib/fmt/pull/1800). Thanks @Kingcom. -- Fixed issues in locale-specific integer formatting - (https://github.com/fmtlib/fmt/issues/1782, - https://github.com/fmtlib/fmt/issues/1801). - -# 7.0.2 - 2020-07-29 - -- Worked around broken `numeric_limits` for 128-bit integers - (https://github.com/fmtlib/fmt/issues/1725). -- Fixed compatibility with CMake 3.4 - (https://github.com/fmtlib/fmt/issues/1779). -- Fixed handling of digit separators in locale-specific formatting - (https://github.com/fmtlib/fmt/issues/1782). - -# 7.0.1 - 2020-07-07 - -- Updated the inline version namespace name. -- Worked around a gcc bug in mangling of alias templates - (https://github.com/fmtlib/fmt/issues/1753). -- Fixed a linkage error on Windows - (https://github.com/fmtlib/fmt/issues/1757). Thanks @Kurkin. -- Fixed minor issues with the documentation. - -# 7.0.0 - 2020-07-05 - -- Reduced the library size. For example, on macOS a stripped test - binary statically linked with {fmt} [shrank from \~368k to less than - 100k](http://www.zverovich.net/2020/05/21/reducing-library-size.html). - -- Added a simpler and more efficient [format string compilation - API](https://fmt.dev/7.0.0/api.html#compile-api): - - ```c++ - #include - - // Converts 42 into std::string using the most efficient method and no - // runtime format string processing. - std::string s = fmt::format(FMT_COMPILE("{}"), 42); - ``` - - The old `fmt::compile` API is now deprecated. - -- Optimized integer formatting: `format_to` with format string - compilation and a stack-allocated buffer is now [faster than - to_chars on both libc++ and - libstdc++](http://www.zverovich.net/2020/06/13/fast-int-to-string-revisited.html). - -- Optimized handling of small format strings. For example, - - ```c++ - fmt::format("Result: {}: ({},{},{},{})", str1, str2, str3, str4, str5) - ``` - - is now \~40% faster - (https://github.com/fmtlib/fmt/issues/1685). - -- Applied extern templates to improve compile times when using the - core API and `fmt/format.h` - (https://github.com/fmtlib/fmt/issues/1452). For example, - on macOS with clang the compile time of a test translation unit - dropped from 2.3s to 0.3s with `-O2` and from 0.6s to 0.3s with the - default settings (`-O0`). - - Before (`-O2`): - - % time c++ -c test.cc -I include -std=c++17 -O2 - c++ -c test.cc -I include -std=c++17 -O2 2.22s user 0.08s system 99% cpu 2.311 total - - After (`-O2`): - - % time c++ -c test.cc -I include -std=c++17 -O2 - c++ -c test.cc -I include -std=c++17 -O2 0.26s user 0.04s system 98% cpu 0.303 total - - Before (default): - - % time c++ -c test.cc -I include -std=c++17 - c++ -c test.cc -I include -std=c++17 0.53s user 0.06s system 98% cpu 0.601 total - - After (default): - - % time c++ -c test.cc -I include -std=c++17 - c++ -c test.cc -I include -std=c++17 0.24s user 0.06s system 98% cpu 0.301 total - - It is still recommended to use `fmt/core.h` instead of - `fmt/format.h` but the compile time difference is now smaller. - Thanks @alex3d for the suggestion. - -- Named arguments are now stored on stack (no dynamic memory - allocations) and the compiled code is more compact and efficient. - For example - - ```c++ - #include - - int main() { - fmt::print("The answer is {answer}\n", fmt::arg("answer", 42)); - } - ``` - - compiles to just ([godbolt](https://godbolt.org/z/NcfEp_)) - - ```asm - .LC0: - .string "answer" - .LC1: - .string "The answer is {answer}\n" - main: - sub rsp, 56 - mov edi, OFFSET FLAT:.LC1 - mov esi, 23 - movabs rdx, 4611686018427387905 - lea rax, [rsp+32] - lea rcx, [rsp+16] - mov QWORD PTR [rsp+8], 1 - mov QWORD PTR [rsp], rax - mov DWORD PTR [rsp+16], 42 - mov QWORD PTR [rsp+32], OFFSET FLAT:.LC0 - mov DWORD PTR [rsp+40], 0 - call fmt::v6::vprint(fmt::v6::basic_string_view, - fmt::v6::format_args) - xor eax, eax - add rsp, 56 - ret - - .L.str.1: - .asciz "answer" - ``` - -- Implemented compile-time checks for dynamic width and precision - (https://github.com/fmtlib/fmt/issues/1614): - - ```c++ - #include - - int main() { - fmt::print(FMT_STRING("{0:{1}}"), 42); - } - ``` - - now gives a compilation error because argument 1 doesn\'t exist: - - In file included from test.cc:1: - include/fmt/format.h:2726:27: error: constexpr variable 'invalid_format' must be - initialized by a constant expression - FMT_CONSTEXPR_DECL bool invalid_format = - ^ - ... - include/fmt/core.h:569:26: note: in call to - '&checker(s, {}).context_->on_error(&"argument not found"[0])' - if (id >= num_args_) on_error("argument not found"); - ^ - -- Added sentinel support to `fmt::join` - (https://github.com/fmtlib/fmt/pull/1689) - - ```c++ - struct zstring_sentinel {}; - bool operator==(const char* p, zstring_sentinel) { return *p == '\0'; } - bool operator!=(const char* p, zstring_sentinel) { return *p != '\0'; } - - struct zstring { - const char* p; - const char* begin() const { return p; } - zstring_sentinel end() const { return {}; } - }; - - auto s = fmt::format("{}", fmt::join(zstring{"hello"}, "_")); - // s == "h_e_l_l_o" - ``` - - Thanks @BRevzin. - -- Added support for named arguments, `clear` and `reserve` to - `dynamic_format_arg_store` - (https://github.com/fmtlib/fmt/issues/1655, - https://github.com/fmtlib/fmt/pull/1663, - https://github.com/fmtlib/fmt/pull/1674, - https://github.com/fmtlib/fmt/pull/1677). Thanks @vsolontsov-ll. - -- Added support for the `'c'` format specifier to integral types for - compatibility with `std::format` - (https://github.com/fmtlib/fmt/issues/1652). - -- Replaced the `'n'` format specifier with `'L'` for compatibility - with `std::format` - (https://github.com/fmtlib/fmt/issues/1624). The `'n'` - specifier can be enabled via the `FMT_DEPRECATED_N_SPECIFIER` macro. - -- The `'='` format specifier is now disabled by default for - compatibility with `std::format`. It can be enabled via the - `FMT_DEPRECATED_NUMERIC_ALIGN` macro. - -- Removed the following deprecated APIs: - - - `FMT_STRING_ALIAS` and `fmt` macros - replaced by `FMT_STRING` - - `fmt::basic_string_view::char_type` - replaced by - `fmt::basic_string_view::value_type` - - `convert_to_int` - - `format_arg_store::types` - - `*parse_context` - replaced by `*format_parse_context` - - `FMT_DEPRECATED_INCLUDE_OS` - - `FMT_DEPRECATED_PERCENT` - incompatible with `std::format` - - `*writer` - replaced by compiled format API - -- Renamed the `internal` namespace to `detail` - (https://github.com/fmtlib/fmt/issues/1538). The former is - still provided as an alias if the `FMT_USE_INTERNAL` macro is - defined. - -- Improved compatibility between `fmt::printf` with the standard specs - (https://github.com/fmtlib/fmt/issues/1595, - https://github.com/fmtlib/fmt/pull/1682, - https://github.com/fmtlib/fmt/pull/1683, - https://github.com/fmtlib/fmt/pull/1687, - https://github.com/fmtlib/fmt/pull/1699). Thanks @rimathia. - -- Fixed handling of `operator<<` overloads that use `copyfmt` - (https://github.com/fmtlib/fmt/issues/1666). - -- Added the `FMT_OS` CMake option to control inclusion of OS-specific - APIs in the fmt target. This can be useful for embedded platforms - (https://github.com/fmtlib/fmt/issues/1654, - https://github.com/fmtlib/fmt/pull/1656). Thanks @kwesolowski. - -- Replaced `FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION` with the - `FMT_FUZZ` macro to prevent interfering with fuzzing of projects - using {fmt} (https://github.com/fmtlib/fmt/pull/1650). - Thanks @asraa. - -- Fixed compatibility with emscripten - (https://github.com/fmtlib/fmt/issues/1636, - https://github.com/fmtlib/fmt/pull/1637). Thanks @ArthurSonzogni. - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/704, - https://github.com/fmtlib/fmt/pull/1643, - https://github.com/fmtlib/fmt/pull/1660, - https://github.com/fmtlib/fmt/pull/1681, - https://github.com/fmtlib/fmt/pull/1691, - https://github.com/fmtlib/fmt/pull/1706, - https://github.com/fmtlib/fmt/pull/1714, - https://github.com/fmtlib/fmt/pull/1721, - https://github.com/fmtlib/fmt/pull/1739, - https://github.com/fmtlib/fmt/pull/1740, - https://github.com/fmtlib/fmt/pull/1741, - https://github.com/fmtlib/fmt/pull/1751). - Thanks @senior7515, @lsr0, @puetzk, @fpelliccioni, Alexey Kuzmenko, @jelly, - @claremacrae, @jiapengwen, @gsjaardema and @alexey-milovidov. - -- Implemented various build configuration fixes and improvements - (https://github.com/fmtlib/fmt/pull/1603, - https://github.com/fmtlib/fmt/pull/1657, - https://github.com/fmtlib/fmt/pull/1702, - https://github.com/fmtlib/fmt/pull/1728). - Thanks @scramsby, @jtojnar, @orivej and @flagarde. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/pull/1616, - https://github.com/fmtlib/fmt/issues/1620, - https://github.com/fmtlib/fmt/issues/1622, - https://github.com/fmtlib/fmt/issues/1625, - https://github.com/fmtlib/fmt/pull/1627, - https://github.com/fmtlib/fmt/issues/1628, - https://github.com/fmtlib/fmt/pull/1629, - https://github.com/fmtlib/fmt/issues/1631, - https://github.com/fmtlib/fmt/pull/1633, - https://github.com/fmtlib/fmt/pull/1649, - https://github.com/fmtlib/fmt/issues/1658, - https://github.com/fmtlib/fmt/pull/1661, - https://github.com/fmtlib/fmt/pull/1667, - https://github.com/fmtlib/fmt/issues/1668, - https://github.com/fmtlib/fmt/pull/1669, - https://github.com/fmtlib/fmt/issues/1692, - https://github.com/fmtlib/fmt/pull/1696, - https://github.com/fmtlib/fmt/pull/1697, - https://github.com/fmtlib/fmt/issues/1707, - https://github.com/fmtlib/fmt/pull/1712, - https://github.com/fmtlib/fmt/pull/1716, - https://github.com/fmtlib/fmt/pull/1722, - https://github.com/fmtlib/fmt/issues/1724, - https://github.com/fmtlib/fmt/pull/1729, - https://github.com/fmtlib/fmt/pull/1738, - https://github.com/fmtlib/fmt/issues/1742, - https://github.com/fmtlib/fmt/issues/1743, - https://github.com/fmtlib/fmt/pull/1744, - https://github.com/fmtlib/fmt/issues/1747, - https://github.com/fmtlib/fmt/pull/1750). - Thanks @gsjaardema, @gabime, @johnor, @Kurkin, @invexed, @peterbell10, - @daixtrose, @petrutlucian94, @Neargye, @ambitslix, @gabime, @erthink, - @tohammer and @0x8000-0000. - -# 6.2.1 - 2020-05-09 - -- Fixed ostream support in `sprintf` - (https://github.com/fmtlib/fmt/issues/1631). -- Fixed type detection when using implicit conversion to `string_view` - and ostream `operator<<` inconsistently - (https://github.com/fmtlib/fmt/issues/1662). - -# 6.2.0 - 2020-04-05 - -- Improved error reporting when trying to format an object of a - non-formattable type: - - ```c++ - fmt::format("{}", S()); - ``` - - now gives: - - include/fmt/core.h:1015:5: error: static_assert failed due to requirement - 'formattable' "Cannot format argument. To make type T formattable provide a - formatter specialization: - https://fmt.dev/latest/api.html#formatting-user-defined-types" - static_assert( - ^ - ... - note: in instantiation of function template specialization - 'fmt::v6::format' requested here - fmt::format("{}", S()); - ^ - - if `S` is not formattable. - -- Reduced the library size by \~10%. - -- Always print decimal point if `#` is specified - (https://github.com/fmtlib/fmt/issues/1476, - https://github.com/fmtlib/fmt/issues/1498): - - ```c++ - fmt::print("{:#.0f}", 42.0); - ``` - - now prints `42.` - -- Implemented the `'L'` specifier for locale-specific numeric - formatting to improve compatibility with `std::format`. The `'n'` - specifier is now deprecated and will be removed in the next major - release. - -- Moved OS-specific APIs such as `windows_error` from `fmt/format.h` - to `fmt/os.h`. You can define `FMT_DEPRECATED_INCLUDE_OS` to - automatically include `fmt/os.h` from `fmt/format.h` for - compatibility but this will be disabled in the next major release. - -- Added precision overflow detection in floating-point formatting. - -- Implemented detection of invalid use of `fmt::arg`. - -- Used `type_identity` to block unnecessary template argument - deduction. Thanks Tim Song. - -- Improved UTF-8 handling - (https://github.com/fmtlib/fmt/issues/1109): - - ```c++ - fmt::print("┌{0:─^{2}}┐\n" - "│{1: ^{2}}│\n" - "└{0:─^{2}}┘\n", "", "Привет, мир!", 20); - ``` - - now prints: - - ┌────────────────────┐ - │ Привет, мир! │ - └────────────────────┘ - - on systems that support Unicode. - -- Added experimental dynamic argument storage - (https://github.com/fmtlib/fmt/issues/1170, - https://github.com/fmtlib/fmt/pull/1584): - - ```c++ - fmt::dynamic_format_arg_store store; - store.push_back("answer"); - store.push_back(42); - fmt::vprint("The {} is {}.\n", store); - ``` - - prints: - - The answer is 42. - - Thanks @vsolontsov-ll. - -- Made `fmt::join` accept `initializer_list` - (https://github.com/fmtlib/fmt/pull/1591). Thanks @Rapotkinnik. - -- Fixed handling of empty tuples - (https://github.com/fmtlib/fmt/issues/1588). - -- Fixed handling of output iterators in `format_to_n` - (https://github.com/fmtlib/fmt/issues/1506). - -- Fixed formatting of `std::chrono::duration` types to wide output - (https://github.com/fmtlib/fmt/pull/1533). Thanks @zeffy. - -- Added const `begin` and `end` overload to buffers - (https://github.com/fmtlib/fmt/pull/1553). Thanks @dominicpoeschko. - -- Added the ability to disable floating-point formatting via - `FMT_USE_FLOAT`, `FMT_USE_DOUBLE` and `FMT_USE_LONG_DOUBLE` macros - for extremely memory-constrained embedded system - (https://github.com/fmtlib/fmt/pull/1590). Thanks @albaguirre. - -- Made `FMT_STRING` work with `constexpr` `string_view` - (https://github.com/fmtlib/fmt/pull/1589). Thanks @scramsby. - -- Implemented a minor optimization in the format string parser - (https://github.com/fmtlib/fmt/pull/1560). Thanks @IkarusDeveloper. - -- Improved attribute detection - (https://github.com/fmtlib/fmt/pull/1469, - https://github.com/fmtlib/fmt/pull/1475, - https://github.com/fmtlib/fmt/pull/1576). - Thanks @federico-busato, @chronoxor and @refnum. - -- Improved documentation - (https://github.com/fmtlib/fmt/pull/1481, - https://github.com/fmtlib/fmt/pull/1523). - Thanks @JackBoosY and @imba-tjd. - -- Fixed symbol visibility on Linux when compiling with - `-fvisibility=hidden` - (https://github.com/fmtlib/fmt/pull/1535). Thanks @milianw. - -- Implemented various build configuration fixes and improvements - (https://github.com/fmtlib/fmt/issues/1264, - https://github.com/fmtlib/fmt/issues/1460, - https://github.com/fmtlib/fmt/pull/1534, - https://github.com/fmtlib/fmt/issues/1536, - https://github.com/fmtlib/fmt/issues/1545, - https://github.com/fmtlib/fmt/pull/1546, - https://github.com/fmtlib/fmt/issues/1566, - https://github.com/fmtlib/fmt/pull/1582, - https://github.com/fmtlib/fmt/issues/1597, - https://github.com/fmtlib/fmt/pull/1598). - Thanks @ambitslix, @jwillikers and @stac47. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/pull/1433, - https://github.com/fmtlib/fmt/issues/1461, - https://github.com/fmtlib/fmt/pull/1470, - https://github.com/fmtlib/fmt/pull/1480, - https://github.com/fmtlib/fmt/pull/1485, - https://github.com/fmtlib/fmt/pull/1492, - https://github.com/fmtlib/fmt/issues/1493, - https://github.com/fmtlib/fmt/issues/1504, - https://github.com/fmtlib/fmt/pull/1505, - https://github.com/fmtlib/fmt/pull/1512, - https://github.com/fmtlib/fmt/issues/1515, - https://github.com/fmtlib/fmt/pull/1516, - https://github.com/fmtlib/fmt/pull/1518, - https://github.com/fmtlib/fmt/pull/1519, - https://github.com/fmtlib/fmt/pull/1520, - https://github.com/fmtlib/fmt/pull/1521, - https://github.com/fmtlib/fmt/pull/1522, - https://github.com/fmtlib/fmt/issues/1524, - https://github.com/fmtlib/fmt/pull/1530, - https://github.com/fmtlib/fmt/issues/1531, - https://github.com/fmtlib/fmt/pull/1532, - https://github.com/fmtlib/fmt/issues/1539, - https://github.com/fmtlib/fmt/issues/1547, - https://github.com/fmtlib/fmt/issues/1548, - https://github.com/fmtlib/fmt/pull/1554, - https://github.com/fmtlib/fmt/issues/1567, - https://github.com/fmtlib/fmt/pull/1568, - https://github.com/fmtlib/fmt/pull/1569, - https://github.com/fmtlib/fmt/pull/1571, - https://github.com/fmtlib/fmt/pull/1573, - https://github.com/fmtlib/fmt/pull/1575, - https://github.com/fmtlib/fmt/pull/1581, - https://github.com/fmtlib/fmt/issues/1583, - https://github.com/fmtlib/fmt/issues/1586, - https://github.com/fmtlib/fmt/issues/1587, - https://github.com/fmtlib/fmt/issues/1594, - https://github.com/fmtlib/fmt/pull/1596, - https://github.com/fmtlib/fmt/issues/1604, - https://github.com/fmtlib/fmt/pull/1606, - https://github.com/fmtlib/fmt/issues/1607, - https://github.com/fmtlib/fmt/issues/1609). - Thanks @marti4d, @iPherian, @parkertomatoes, @gsjaardema, @chronoxor, - @DanielaE, @torsten48, @tohammer, @lefticus, @ryusakki, @adnsv, @fghzxm, - @refnum, @pramodk, @Spirrwell and @scramsby. - -# 6.1.2 - 2019-12-11 - -- Fixed ABI compatibility with `libfmt.so.6.0.0` - (https://github.com/fmtlib/fmt/issues/1471). -- Fixed handling types convertible to `std::string_view` - (https://github.com/fmtlib/fmt/pull/1451). Thanks @denizevrenci. -- Made CUDA test an opt-in enabled via the `FMT_CUDA_TEST` CMake - option. -- Fixed sign conversion warnings - (https://github.com/fmtlib/fmt/pull/1440). Thanks @0x8000-0000. - -# 6.1.1 - 2019-12-04 - -- Fixed shared library build on Windows - (https://github.com/fmtlib/fmt/pull/1443, - https://github.com/fmtlib/fmt/issues/1445, - https://github.com/fmtlib/fmt/pull/1446, - https://github.com/fmtlib/fmt/issues/1450). - Thanks @egorpugin and @bbolli. -- Added a missing decimal point in exponent notation with trailing - zeros. -- Removed deprecated `format_arg_store::TYPES`. - -# 6.1.0 - 2019-12-01 - -- {fmt} now formats IEEE 754 `float` and `double` using the shortest - decimal representation with correct rounding by default: - - ```c++ - #include - #include - - int main() { - fmt::print("{}", M_PI); - } - ``` - - prints `3.141592653589793`. - -- Made the fast binary to decimal floating-point formatter the - default, simplified it and improved performance. {fmt} is now 15 - times faster than libc++\'s `std::ostringstream`, 11 times faster - than `printf` and 10% faster than double-conversion on - [dtoa-benchmark](https://github.com/fmtlib/dtoa-benchmark): - - | Function | Time (ns) | Speedup | - | ------------- | --------: | ------: | - | ostringstream | 1,346.30 | 1.00x | - | ostrstream | 1,195.74 | 1.13x | - | sprintf | 995.08 | 1.35x | - | doubleconv | 99.10 | 13.59x | - | fmt | 88.34 | 15.24x | - - ![](https://user-images.githubusercontent.com/576385/69767160-cdaca400-112f-11ea-9fc5-347c9f83caad.png) - -- {fmt} no longer converts `float` arguments to `double`. In - particular this improves the default (shortest) representation of - floats and makes `fmt::format` consistent with `std::format` specs - (https://github.com/fmtlib/fmt/issues/1336, - https://github.com/fmtlib/fmt/issues/1353, - https://github.com/fmtlib/fmt/pull/1360, - https://github.com/fmtlib/fmt/pull/1361): - - ```c++ - fmt::print("{}", 0.1f); - ``` - - prints `0.1` instead of `0.10000000149011612`. - - Thanks @orivej. - -- Made floating-point formatting output consistent with - `printf`/iostreams - (https://github.com/fmtlib/fmt/issues/1376, - https://github.com/fmtlib/fmt/issues/1417). - -- Added support for 128-bit integers - (https://github.com/fmtlib/fmt/pull/1287): - - ```c++ - fmt::print("{}", std::numeric_limits<__int128_t>::max()); - ``` - - prints `170141183460469231731687303715884105727`. - - Thanks @denizevrenci. - -- The overload of `print` that takes `text_style` is now atomic, i.e. - the output from different threads doesn\'t interleave - (https://github.com/fmtlib/fmt/pull/1351). Thanks @tankiJong. - -- Made compile time in the header-only mode \~20% faster by reducing - the number of template instantiations. `wchar_t` overload of - `vprint` was moved from `fmt/core.h` to `fmt/format.h`. - -- Added an overload of `fmt::join` that works with tuples - (https://github.com/fmtlib/fmt/issues/1322, - https://github.com/fmtlib/fmt/pull/1330): - - ```c++ - #include - #include - - int main() { - std::tuple t{'a', 1, 2.0f}; - fmt::print("{}", t); - } - ``` - - prints `('a', 1, 2.0)`. - - Thanks @jeremyong. - -- Changed formatting of octal zero with prefix from \"00\" to \"0\": - - ```c++ - fmt::print("{:#o}", 0); - ``` - - prints `0`. - -- The locale is now passed to ostream insertion (`<<`) operators - (https://github.com/fmtlib/fmt/pull/1406): - - ```c++ - #include - #include - - struct S { - double value; - }; - - std::ostream& operator<<(std::ostream& os, S s) { - return os << s.value; - } - - int main() { - auto s = fmt::format(std::locale("fr_FR.UTF-8"), "{}", S{0.42}); - // s == "0,42" - } - ``` - - Thanks @dlaugt. - -- Locale-specific number formatting now uses grouping - (https://github.com/fmtlib/fmt/issues/1393, - https://github.com/fmtlib/fmt/pull/1394). Thanks @skrdaniel. - -- Fixed handling of types with deleted implicit rvalue conversion to - `const char**` (https://github.com/fmtlib/fmt/issues/1421): - - ```c++ - struct mystring { - operator const char*() const&; - operator const char*() &; - operator const char*() const&& = delete; - operator const char*() && = delete; - }; - mystring str; - fmt::print("{}", str); // now compiles - ``` - -- Enums are now mapped to correct underlying types instead of `int` - (https://github.com/fmtlib/fmt/pull/1286). Thanks @agmt. - -- Enum classes are no longer implicitly converted to `int` - (https://github.com/fmtlib/fmt/issues/1424). - -- Added `basic_format_parse_context` for consistency with C++20 - `std::format` and deprecated `basic_parse_context`. - -- Fixed handling of UTF-8 in precision - (https://github.com/fmtlib/fmt/issues/1389, - https://github.com/fmtlib/fmt/pull/1390). Thanks @tajtiattila. - -- {fmt} can now be installed on Linux, macOS and Windows with - [Conda](https://docs.conda.io/en/latest/) using its - [conda-forge](https://conda-forge.org) - [package](https://github.com/conda-forge/fmt-feedstock) - (https://github.com/fmtlib/fmt/pull/1410): - - conda install -c conda-forge fmt - - Thanks @tdegeus. - -- Added a CUDA test (https://github.com/fmtlib/fmt/pull/1285, - https://github.com/fmtlib/fmt/pull/1317). - Thanks @luncliff and @risa2000. - -- Improved documentation - (https://github.com/fmtlib/fmt/pull/1276, - https://github.com/fmtlib/fmt/issues/1291, - https://github.com/fmtlib/fmt/issues/1296, - https://github.com/fmtlib/fmt/pull/1315, - https://github.com/fmtlib/fmt/pull/1332, - https://github.com/fmtlib/fmt/pull/1337, - https://github.com/fmtlib/fmt/issues/1395 - https://github.com/fmtlib/fmt/pull/1418). - Thanks @waywardmonkeys, @pauldreik and @jackoalan. - -- Various code improvements - (https://github.com/fmtlib/fmt/pull/1358, - https://github.com/fmtlib/fmt/pull/1407). - Thanks @orivej and @dpacbach. - -- Fixed compile-time format string checks for user-defined types - (https://github.com/fmtlib/fmt/issues/1292). - -- Worked around a false positive in `unsigned-integer-overflow` sanitizer - (https://github.com/fmtlib/fmt/issues/1377). - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/issues/1273, - https://github.com/fmtlib/fmt/pull/1278, - https://github.com/fmtlib/fmt/pull/1280, - https://github.com/fmtlib/fmt/issues/1281, - https://github.com/fmtlib/fmt/issues/1288, - https://github.com/fmtlib/fmt/pull/1290, - https://github.com/fmtlib/fmt/pull/1301, - https://github.com/fmtlib/fmt/issues/1305, - https://github.com/fmtlib/fmt/issues/1306, - https://github.com/fmtlib/fmt/issues/1309, - https://github.com/fmtlib/fmt/pull/1312, - https://github.com/fmtlib/fmt/issues/1313, - https://github.com/fmtlib/fmt/issues/1316, - https://github.com/fmtlib/fmt/issues/1319, - https://github.com/fmtlib/fmt/pull/1320, - https://github.com/fmtlib/fmt/pull/1326, - https://github.com/fmtlib/fmt/pull/1328, - https://github.com/fmtlib/fmt/issues/1344, - https://github.com/fmtlib/fmt/pull/1345, - https://github.com/fmtlib/fmt/pull/1347, - https://github.com/fmtlib/fmt/pull/1349, - https://github.com/fmtlib/fmt/issues/1354, - https://github.com/fmtlib/fmt/issues/1362, - https://github.com/fmtlib/fmt/issues/1366, - https://github.com/fmtlib/fmt/pull/1364, - https://github.com/fmtlib/fmt/pull/1370, - https://github.com/fmtlib/fmt/pull/1371, - https://github.com/fmtlib/fmt/issues/1385, - https://github.com/fmtlib/fmt/issues/1388, - https://github.com/fmtlib/fmt/pull/1397, - https://github.com/fmtlib/fmt/pull/1414, - https://github.com/fmtlib/fmt/pull/1416, - https://github.com/fmtlib/fmt/issues/1422 - https://github.com/fmtlib/fmt/pull/1427, - https://github.com/fmtlib/fmt/issues/1431, - https://github.com/fmtlib/fmt/pull/1433). - Thanks @hhb, @gsjaardema, @gabime, @neheb, @vedranmiletic, @dkavolis, - @mwinterb, @orivej, @denizevrenci, @leonklingele, @chronoxor, @kent-tri, - @0x8000-0000 and @marti4d. - -# 6.0.0 - 2019-08-26 - -- Switched to the [MIT license]( - https://github.com/fmtlib/fmt/blob/5a4b24613ba16cc689977c3b5bd8274a3ba1dd1f/LICENSE.rst) - with an optional exception that allows distributing binary code - without attribution. - -- Floating-point formatting is now locale-independent by default: - - ```c++ - #include - #include - - int main() { - std::locale::global(std::locale("ru_RU.UTF-8")); - fmt::print("value = {}", 4.2); - } - ``` - - prints \"value = 4.2\" regardless of the locale. - - For locale-specific formatting use the `n` specifier: - - ```c++ +- Enabled compile-time format string checks by default. For example + ([godbolt](https://godbolt.org/z/sMxcohGjz)): + + ```c++ + #include + + int main() { + fmt::print("{:d}", "I am not a number"); + } + ``` + + gives a compile-time error on compilers with C++20 `consteval` + support (gcc 10+, clang 11+) because `d` is not a valid format + specifier for a string. + + To pass a runtime string wrap it in `fmt::runtime`: + + ```c++ + fmt::print(fmt::runtime("{:d}"), "I am not a number"); + ``` + +- Added compile-time formatting + (https://github.com/fmtlib/fmt/pull/2019, + https://github.com/fmtlib/fmt/pull/2044, + https://github.com/fmtlib/fmt/pull/2056, + https://github.com/fmtlib/fmt/pull/2072, + https://github.com/fmtlib/fmt/pull/2075, + https://github.com/fmtlib/fmt/issues/2078, + https://github.com/fmtlib/fmt/pull/2129, + https://github.com/fmtlib/fmt/pull/2326). For example + ([godbolt](https://godbolt.org/z/Mxx9d89jM)): + + ```c++ + #include + + consteval auto compile_time_itoa(int value) -> std::array { + auto result = std::array(); + fmt::format_to(result.data(), FMT_COMPILE("{}"), value); + return result; + } + + constexpr auto answer = compile_time_itoa(42); + ``` + + Most of the formatting functionality is available at compile time + with a notable exception of floating-point numbers and pointers. + Thanks @alexezeder. + +- Optimized handling of format specifiers during format string + compilation. For example, hexadecimal formatting (`"{:x}"`) is now + 3-7x faster than before when using `format_to` with format string + compilation and a stack-allocated buffer + (https://github.com/fmtlib/fmt/issues/1944). + + Before (7.1.3): + + ---------------------------------------------------------------------------- + Benchmark Time CPU Iterations + ---------------------------------------------------------------------------- + FMTCompileOld/0 15.5 ns 15.5 ns 43302898 + FMTCompileOld/42 16.6 ns 16.6 ns 43278267 + FMTCompileOld/273123 18.7 ns 18.6 ns 37035861 + FMTCompileOld/9223372036854775807 19.4 ns 19.4 ns 35243000 + ---------------------------------------------------------------------------- + + After (8.x): + + ---------------------------------------------------------------------------- + Benchmark Time CPU Iterations + ---------------------------------------------------------------------------- + FMTCompileNew/0 1.99 ns 1.99 ns 360523686 + FMTCompileNew/42 2.33 ns 2.33 ns 279865664 + FMTCompileNew/273123 3.72 ns 3.71 ns 190230315 + FMTCompileNew/9223372036854775807 5.28 ns 5.26 ns 130711631 + ---------------------------------------------------------------------------- + + It is even faster than `std::to_chars` from libc++ compiled with + clang on macOS: + + ---------------------------------------------------------------------------- + Benchmark Time CPU Iterations + ---------------------------------------------------------------------------- + ToChars/0 4.42 ns 4.41 ns 160196630 + ToChars/42 5.00 ns 4.98 ns 140735201 + ToChars/273123 7.26 ns 7.24 ns 95784130 + ToChars/9223372036854775807 8.77 ns 8.75 ns 75872534 + ---------------------------------------------------------------------------- + + In other cases, especially involving `std::string` construction, the + speed up is usually lower because handling format specifiers takes a + smaller fraction of the total time. + +- Added the `_cf` user-defined literal to represent a compiled format + string. It can be used instead of the `FMT_COMPILE` macro + (https://github.com/fmtlib/fmt/pull/2043, + https://github.com/fmtlib/fmt/pull/2242): + + ```c++ + #include + + using namespace fmt::literals; + auto s = fmt::format(FMT_COMPILE("{}"), 42); // 🙁 not modern + auto s = fmt::format("{}"_cf, 42); // 🙂 modern as hell + ``` + + It requires compiler support for class types in non-type template + parameters (a C++20 feature) which is available in GCC 9.3+. + Thanks @alexezeder. + +- Format string compilation now requires `format` functions of + `formatter` specializations for user-defined types to be `const`: + + ```c++ + template <> struct fmt::formatter: formatter { + template + auto format(my_type obj, FormatContext& ctx) const { // Note const here. + // ... + } + }; + ``` + +- Added UDL-based named argument support to format string compilation + (https://github.com/fmtlib/fmt/pull/2243, + https://github.com/fmtlib/fmt/pull/2281). For example: + + ```c++ + #include + + using namespace fmt::literals; + auto s = fmt::format(FMT_COMPILE("{answer}"), "answer"_a = 42); + ``` + + Here the argument named \"answer\" is resolved at compile time with + no runtime overhead. Thanks @alexezeder. + +- Added format string compilation support to `fmt::print` + (https://github.com/fmtlib/fmt/issues/2280, + https://github.com/fmtlib/fmt/pull/2304). Thanks @alexezeder. + +- Added initial support for compiling {fmt} as a C++20 module + (https://github.com/fmtlib/fmt/pull/2235, + https://github.com/fmtlib/fmt/pull/2240, + https://github.com/fmtlib/fmt/pull/2260, + https://github.com/fmtlib/fmt/pull/2282, + https://github.com/fmtlib/fmt/pull/2283, + https://github.com/fmtlib/fmt/pull/2288, + https://github.com/fmtlib/fmt/pull/2298, + https://github.com/fmtlib/fmt/pull/2306, + https://github.com/fmtlib/fmt/pull/2307, + https://github.com/fmtlib/fmt/pull/2309, + https://github.com/fmtlib/fmt/pull/2318, + https://github.com/fmtlib/fmt/pull/2324, + https://github.com/fmtlib/fmt/pull/2332, + https://github.com/fmtlib/fmt/pull/2340). Thanks @DanielaE. + +- Made symbols private by default reducing shared library size + (https://github.com/fmtlib/fmt/pull/2301). For example + there was a \~15% reported reduction on one platform. Thanks @sergiud. + +- Optimized includes making the result of preprocessing `fmt/format.h` + \~20% smaller with libstdc++/C++20 and slightly improving build + times (https://github.com/fmtlib/fmt/issues/1998). + +- Added support of ranges with non-const `begin` / `end` + (https://github.com/fmtlib/fmt/pull/1953). Thanks @kitegi. + +- Added support of `std::byte` and other formattable types to + `fmt::join` (https://github.com/fmtlib/fmt/issues/1981, + https://github.com/fmtlib/fmt/issues/2040, + https://github.com/fmtlib/fmt/pull/2050, + https://github.com/fmtlib/fmt/issues/2262). For example: + + ```c++ + #include + #include + #include + + int main() { + auto bytes = std::vector{std::byte(4), std::byte(2)}; + fmt::print("{}", fmt::join(bytes, "")); + } + ``` + + prints \"42\". + + Thanks @kamibo. + +- Implemented the default format for `std::chrono::system_clock` + (https://github.com/fmtlib/fmt/issues/2319, + https://github.com/fmtlib/fmt/pull/2345). For example: + + ```c++ + #include + + int main() { + fmt::print("{}", std::chrono::system_clock::now()); + } + ``` + + prints \"2021-06-18 15:22:00\" (the output depends on the current + date and time). Thanks @sunmy2019. + +- Made more chrono specifiers locale independent by default. Use the + `'L'` specifier to get localized formatting. For example: + + ```c++ + #include + + int main() { std::locale::global(std::locale("ru_RU.UTF-8")); - fmt::print("value = {:n}", 4.2); - ``` - - prints \"value = 4,2\". - -- Added an experimental Grisu floating-point formatting algorithm - implementation (disabled by default). To enable it compile with the - `FMT_USE_GRISU` macro defined to 1: - - ```c++ - #define FMT_USE_GRISU 1 - #include - - auto s = fmt::format("{}", 4.2); // formats 4.2 using Grisu - ``` - - With Grisu enabled, {fmt} is 13x faster than `std::ostringstream` - (libc++) and 10x faster than `sprintf` on - [dtoa-benchmark](https://github.com/fmtlib/dtoa-benchmark) ([full - results](https://fmt.dev/unknown_mac64_clang10.0.html)): - - ![](https://user-images.githubusercontent.com/576385/54883977-9fe8c000-4e28-11e9-8bde-272d122e7c52.jpg) - -- Separated formatting and parsing contexts for consistency with - [C++20 std::format](http://eel.is/c++draft/format), removing the - undocumented `basic_format_context::parse_context()` function. - -- Added [oss-fuzz](https://github.com/google/oss-fuzz) support - (https://github.com/fmtlib/fmt/pull/1199). Thanks @pauldreik. - -- `formatter` specializations now always take precedence over - `operator<<` (https://github.com/fmtlib/fmt/issues/952): - - ```c++ - #include - #include - - struct S {}; - - std::ostream& operator<<(std::ostream& os, S) { - return os << 1; - } - - template <> - struct fmt::formatter : fmt::formatter { - auto format(S, format_context& ctx) { - return formatter::format(2, ctx); - } - }; - - int main() { - std::cout << S() << "\n"; // prints 1 using operator<< - fmt::print("{}\n", S()); // prints 2 using formatter - } - ``` - -- Introduced the experimental `fmt::compile` function that does format - string compilation - (https://github.com/fmtlib/fmt/issues/618, - https://github.com/fmtlib/fmt/issues/1169, - https://github.com/fmtlib/fmt/pull/1171): - - ```c++ - #include - - auto f = fmt::compile("{}"); - std::string s = fmt::format(f, 42); // can be called multiple times to - // format different values - // s == "42" - ``` - - It moves the cost of parsing a format string outside of the format - function which can be beneficial when identically formatting many - objects of the same types. Thanks @stryku. - -- Added experimental `%` format specifier that formats floating-point - values as percentages - (https://github.com/fmtlib/fmt/pull/1060, - https://github.com/fmtlib/fmt/pull/1069, - https://github.com/fmtlib/fmt/pull/1071): - - ```c++ - auto s = fmt::format("{:.1%}", 0.42); // s == "42.0%" - ``` - - Thanks @gawain-bolton. - -- Implemented precision for floating-point durations - (https://github.com/fmtlib/fmt/issues/1004, - https://github.com/fmtlib/fmt/pull/1012): - - ```c++ - auto s = fmt::format("{:.1}", std::chrono::duration(1.234)); - // s == 1.2s - ``` - - Thanks @DanielaE. - -- Implemented `chrono` format specifiers `%Q` and `%q` that give the - value and the unit respectively - (https://github.com/fmtlib/fmt/pull/1019): - - ```c++ - auto value = fmt::format("{:%Q}", 42s); // value == "42" - auto unit = fmt::format("{:%q}", 42s); // unit == "s" - ``` - - Thanks @DanielaE. - -- Fixed handling of dynamic width in chrono formatter: - - ```c++ - auto s = fmt::format("{0:{1}%H:%M:%S}", std::chrono::seconds(12345), 12); - // ^ width argument index ^ width - // s == "03:25:45 " - ``` - - Thanks Howard Hinnant. - -- Removed deprecated `fmt/time.h`. Use `fmt/chrono.h` instead. - -- Added `fmt::format` and `fmt::vformat` overloads that take - `text_style` (https://github.com/fmtlib/fmt/issues/993, - https://github.com/fmtlib/fmt/pull/994): - - ```c++ - #include - - std::string message = fmt::format(fmt::emphasis::bold | fg(fmt::color::red), - "The answer is {}.", 42); - ``` - - Thanks @Naios. - -- Removed the deprecated color API (`print_colored`). Use the new API, - namely `print` overloads that take `text_style` instead. - -- Made `std::unique_ptr` and `std::shared_ptr` formattable as pointers - via `fmt::ptr` (https://github.com/fmtlib/fmt/pull/1121): - - ```c++ - std::unique_ptr p = ...; - fmt::print("{}", fmt::ptr(p)); // prints p as a pointer - ``` - - Thanks @sighingnow. - -- Made `print` and `vprint` report I/O errors - (https://github.com/fmtlib/fmt/issues/1098, - https://github.com/fmtlib/fmt/pull/1099). Thanks @BillyDonahue. - -- Marked deprecated APIs with the `[[deprecated]]` attribute and - removed internal uses of deprecated APIs - (https://github.com/fmtlib/fmt/pull/1022). Thanks @eliaskosunen. - -- Modernized the codebase using more C++11 features and removing - workarounds. Most importantly, `buffer_context` is now an alias - template, so use `buffer_context` instead of - `buffer_context::type`. These features require GCC 4.8 or later. - -- `formatter` specializations now always take precedence over implicit - conversions to `int` and the undocumented `convert_to_int` trait is - now deprecated. - -- Moved the undocumented `basic_writer`, `writer`, and `wwriter` types - to the `internal` namespace. - -- Removed deprecated `basic_format_context::begin()`. Use `out()` - instead. - -- Disallowed passing the result of `join` as an lvalue to prevent - misuse. - -- Refactored the undocumented structs that represent parsed format - specifiers to simplify the API and allow multibyte fill. - -- Moved SFINAE to template parameters to reduce symbol sizes. - -- Switched to `fputws` for writing wide strings so that it\'s no - longer required to call `_setmode` on Windows - (https://github.com/fmtlib/fmt/issues/1229, - https://github.com/fmtlib/fmt/pull/1243). Thanks @jackoalan. - -- Improved literal-based API - (https://github.com/fmtlib/fmt/pull/1254). Thanks @sylveon. - -- Added support for exotic platforms without `uintptr_t` such as IBM i - (AS/400) which has 128-bit pointers and only 64-bit integers - (https://github.com/fmtlib/fmt/issues/1059). - -- Added [Sublime Text syntax highlighting config]( - https://github.com/fmtlib/fmt/blob/master/support/C%2B%2B.sublime-syntax) - (https://github.com/fmtlib/fmt/issues/1037). Thanks @Kronuz. - -- Added the `FMT_ENFORCE_COMPILE_STRING` macro to enforce the use of - compile-time format strings - (https://github.com/fmtlib/fmt/pull/1231). Thanks @jackoalan. - -- Stopped setting `CMAKE_BUILD_TYPE` if {fmt} is a subproject - (https://github.com/fmtlib/fmt/issues/1081). - -- Various build improvements - (https://github.com/fmtlib/fmt/pull/1039, - https://github.com/fmtlib/fmt/pull/1078, - https://github.com/fmtlib/fmt/pull/1091, - https://github.com/fmtlib/fmt/pull/1103, - https://github.com/fmtlib/fmt/pull/1177). - Thanks @luncliff, @jasonszang, @olafhering, @Lecetem and @pauldreik. - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/1049, - https://github.com/fmtlib/fmt/pull/1051, - https://github.com/fmtlib/fmt/pull/1083, - https://github.com/fmtlib/fmt/pull/1113, - https://github.com/fmtlib/fmt/pull/1114, - https://github.com/fmtlib/fmt/issues/1146, - https://github.com/fmtlib/fmt/issues/1180, - https://github.com/fmtlib/fmt/pull/1250, - https://github.com/fmtlib/fmt/pull/1252, - https://github.com/fmtlib/fmt/pull/1265). - Thanks @mikelui, @foonathan, @BillyDonahue, @jwakely, @kaisbe and - @sdebionne. - -- Fixed ambiguous formatter specialization in `fmt/ranges.h` - (https://github.com/fmtlib/fmt/issues/1123). - -- Fixed formatting of a non-empty `std::filesystem::path` which is an - infinitely deep range of its components - (https://github.com/fmtlib/fmt/issues/1268). - -- Fixed handling of general output iterators when formatting - characters (https://github.com/fmtlib/fmt/issues/1056, - https://github.com/fmtlib/fmt/pull/1058). Thanks @abolz. - -- Fixed handling of output iterators in `formatter` specialization for - ranges (https://github.com/fmtlib/fmt/issues/1064). - -- Fixed handling of exotic character types - (https://github.com/fmtlib/fmt/issues/1188). - -- Made chrono formatting work with exceptions disabled - (https://github.com/fmtlib/fmt/issues/1062). - -- Fixed DLL visibility issues - (https://github.com/fmtlib/fmt/pull/1134, - https://github.com/fmtlib/fmt/pull/1147). Thanks @denchat. - -- Disabled the use of UDL template extension on GCC 9 - (https://github.com/fmtlib/fmt/issues/1148). - -- Removed misplaced `format` compile-time checks from `printf` - (https://github.com/fmtlib/fmt/issues/1173). - -- Fixed issues in the experimental floating-point formatter - (https://github.com/fmtlib/fmt/issues/1072, - https://github.com/fmtlib/fmt/issues/1129, - https://github.com/fmtlib/fmt/issues/1153, - https://github.com/fmtlib/fmt/pull/1155, - https://github.com/fmtlib/fmt/issues/1210, - https://github.com/fmtlib/fmt/issues/1222). Thanks @alabuzhev. - -- Fixed bugs discovered by fuzzing or during fuzzing integration - (https://github.com/fmtlib/fmt/issues/1124, - https://github.com/fmtlib/fmt/issues/1127, - https://github.com/fmtlib/fmt/issues/1132, - https://github.com/fmtlib/fmt/pull/1135, - https://github.com/fmtlib/fmt/issues/1136, - https://github.com/fmtlib/fmt/issues/1141, - https://github.com/fmtlib/fmt/issues/1142, - https://github.com/fmtlib/fmt/issues/1178, - https://github.com/fmtlib/fmt/issues/1179, - https://github.com/fmtlib/fmt/issues/1194). Thanks @pauldreik. - -- Fixed building tests on FreeBSD and Hurd - (https://github.com/fmtlib/fmt/issues/1043). Thanks @jackyf. - -- Fixed various warnings and compilation issues - (https://github.com/fmtlib/fmt/pull/998, - https://github.com/fmtlib/fmt/pull/1006, - https://github.com/fmtlib/fmt/issues/1008, - https://github.com/fmtlib/fmt/issues/1011, - https://github.com/fmtlib/fmt/issues/1025, - https://github.com/fmtlib/fmt/pull/1027, - https://github.com/fmtlib/fmt/pull/1028, - https://github.com/fmtlib/fmt/pull/1029, - https://github.com/fmtlib/fmt/pull/1030, - https://github.com/fmtlib/fmt/pull/1031, - https://github.com/fmtlib/fmt/pull/1054, - https://github.com/fmtlib/fmt/issues/1063, - https://github.com/fmtlib/fmt/pull/1068, - https://github.com/fmtlib/fmt/pull/1074, - https://github.com/fmtlib/fmt/pull/1075, - https://github.com/fmtlib/fmt/pull/1079, - https://github.com/fmtlib/fmt/pull/1086, - https://github.com/fmtlib/fmt/issues/1088, - https://github.com/fmtlib/fmt/pull/1089, - https://github.com/fmtlib/fmt/pull/1094, - https://github.com/fmtlib/fmt/issues/1101, - https://github.com/fmtlib/fmt/pull/1102, - https://github.com/fmtlib/fmt/issues/1105, - https://github.com/fmtlib/fmt/pull/1107, - https://github.com/fmtlib/fmt/issues/1115, - https://github.com/fmtlib/fmt/issues/1117, - https://github.com/fmtlib/fmt/issues/1118, - https://github.com/fmtlib/fmt/issues/1120, - https://github.com/fmtlib/fmt/issues/1123, - https://github.com/fmtlib/fmt/pull/1139, - https://github.com/fmtlib/fmt/issues/1140, - https://github.com/fmtlib/fmt/issues/1143, - https://github.com/fmtlib/fmt/pull/1144, - https://github.com/fmtlib/fmt/pull/1150, - https://github.com/fmtlib/fmt/pull/1151, - https://github.com/fmtlib/fmt/issues/1152, - https://github.com/fmtlib/fmt/issues/1154, - https://github.com/fmtlib/fmt/issues/1156, - https://github.com/fmtlib/fmt/pull/1159, - https://github.com/fmtlib/fmt/issues/1175, - https://github.com/fmtlib/fmt/issues/1181, - https://github.com/fmtlib/fmt/issues/1186, - https://github.com/fmtlib/fmt/pull/1187, - https://github.com/fmtlib/fmt/pull/1191, - https://github.com/fmtlib/fmt/issues/1197, - https://github.com/fmtlib/fmt/issues/1200, - https://github.com/fmtlib/fmt/issues/1203, - https://github.com/fmtlib/fmt/issues/1205, - https://github.com/fmtlib/fmt/pull/1206, - https://github.com/fmtlib/fmt/issues/1213, - https://github.com/fmtlib/fmt/issues/1214, - https://github.com/fmtlib/fmt/pull/1217, - https://github.com/fmtlib/fmt/issues/1228, - https://github.com/fmtlib/fmt/pull/1230, - https://github.com/fmtlib/fmt/issues/1232, - https://github.com/fmtlib/fmt/pull/1235, - https://github.com/fmtlib/fmt/pull/1236, - https://github.com/fmtlib/fmt/issues/1240). - Thanks @DanielaE, @mwinterb, @eliaskosunen, @morinmorin, @ricco19, - @waywardmonkeys, @chronoxor, @remyabel, @pauldreik, @gsjaardema, @rcane, - @mocabe, @denchat, @cjdb, @HazardyKnusperkeks, @vedranmiletic, @jackoalan, - @DaanDeMeyer and @starkmapper. - -# 5.3.0 - 2018-12-28 - -- Introduced experimental chrono formatting support: - - ```c++ - #include - - int main() { - using namespace std::literals::chrono_literals; - fmt::print("Default format: {} {}\n", 42s, 100ms); - fmt::print("strftime-like format: {:%H:%M:%S}\n", 3h + 15min + 30s); - } - ``` - - prints: - - Default format: 42s 100ms - strftime-like format: 03:15:30 - -- Added experimental support for emphasis (bold, italic, underline, - strikethrough), colored output to a file stream, and improved - colored formatting API - (https://github.com/fmtlib/fmt/pull/961, - https://github.com/fmtlib/fmt/pull/967, - https://github.com/fmtlib/fmt/pull/973): - - ```c++ - #include - - int main() { - print(fg(fmt::color::crimson) | fmt::emphasis::bold, - "Hello, {}!\n", "world"); - print(fg(fmt::color::floral_white) | bg(fmt::color::slate_gray) | - fmt::emphasis::underline, "Hello, {}!\n", "мир"); - print(fg(fmt::color::steel_blue) | fmt::emphasis::italic, - "Hello, {}!\n", "世界"); - } - ``` - - prints the following on modern terminals with RGB color support: - - ![](https://user-images.githubusercontent.com/576385/50405788-b66e7500-076e-11e9-9592-7324d1f951d8.png) - - Thanks @Rakete1111. - -- Added support for 4-bit terminal colors - (https://github.com/fmtlib/fmt/issues/968, - https://github.com/fmtlib/fmt/pull/974) - - ```c++ - #include - - int main() { - print(fg(fmt::terminal_color::red), "stop\n"); - } - ``` - - Note that these colors vary by terminal: - - ![](https://user-images.githubusercontent.com/576385/50405925-dbfc7e00-0770-11e9-9b85-333fab0af9ac.png) - - Thanks @Rakete1111. - -- Parameterized formatting functions on the type of the format string - (https://github.com/fmtlib/fmt/issues/880, - https://github.com/fmtlib/fmt/pull/881, - https://github.com/fmtlib/fmt/pull/883, - https://github.com/fmtlib/fmt/pull/885, - https://github.com/fmtlib/fmt/pull/897, - https://github.com/fmtlib/fmt/issues/920). Any object of - type `S` that has an overloaded `to_string_view(const S&)` returning - `fmt::string_view` can be used as a format string: - - ```c++ - namespace my_ns { - inline string_view to_string_view(const my_string& s) { - return {s.data(), s.length()}; - } - } - - std::string message = fmt::format(my_string("The answer is {}."), 42); - ``` - - Thanks @DanielaE. - -- Made `std::string_view` work as a format string - (https://github.com/fmtlib/fmt/pull/898): - - ```c++ - auto message = fmt::format(std::string_view("The answer is {}."), 42); - ``` - - Thanks @DanielaE. - -- Added wide string support to compile-time format string checks - (https://github.com/fmtlib/fmt/pull/924): - - ```c++ - print(fmt(L"{:f}"), 42); // compile-time error: invalid type specifier - ``` - - Thanks @XZiar. - -- Made colored print functions work with wide strings - (https://github.com/fmtlib/fmt/pull/867): - - ```c++ - #include - - int main() { - print(fg(fmt::color::red), L"{}\n", 42); - } - ``` - - Thanks @DanielaE. - -- Introduced experimental Unicode support - (https://github.com/fmtlib/fmt/issues/628, - https://github.com/fmtlib/fmt/pull/891): - - ```c++ - using namespace fmt::literals; - auto s = fmt::format("{:*^5}"_u, "🤡"_u); // s == "**🤡**"_u - ``` - -- Improved locale support: - - ```c++ - #include - - struct numpunct : std::numpunct { - protected: - char do_thousands_sep() const override { return '~'; } - }; - - std::locale loc; - auto s = fmt::format(std::locale(loc, new numpunct()), "{:n}", 1234567); - // s == "1~234~567" - ``` - -- Constrained formatting functions on proper iterator types - (https://github.com/fmtlib/fmt/pull/921). Thanks @DanielaE. - -- Added `make_printf_args` and `make_wprintf_args` functions - (https://github.com/fmtlib/fmt/pull/934). Thanks @tnovotny. - -- Deprecated `fmt::visit`, `parse_context`, and `wparse_context`. Use - `fmt::visit_format_arg`, `format_parse_context`, and - `wformat_parse_context` instead. - -- Removed undocumented `basic_fixed_buffer` which has been superseded - by the iterator-based API - (https://github.com/fmtlib/fmt/issues/873, - https://github.com/fmtlib/fmt/pull/902). Thanks @superfunc. - -- Disallowed repeated leading zeros in an argument ID: - - ```c++ - fmt::print("{000}", 42); // error - ``` - -- Reintroduced support for gcc 4.4. - -- Fixed compilation on platforms with exotic `double` - (https://github.com/fmtlib/fmt/issues/878). - -- Improved documentation - (https://github.com/fmtlib/fmt/issues/164, - https://github.com/fmtlib/fmt/issues/877, - https://github.com/fmtlib/fmt/pull/901, - https://github.com/fmtlib/fmt/pull/906, - https://github.com/fmtlib/fmt/pull/979). - Thanks @kookjr, @DarkDimius and @HecticSerenity. - -- Added pkgconfig support which makes it easier to consume the library - from meson and other build systems - (https://github.com/fmtlib/fmt/pull/916). Thanks @colemickens. - -- Various build improvements - (https://github.com/fmtlib/fmt/pull/909, - https://github.com/fmtlib/fmt/pull/926, - https://github.com/fmtlib/fmt/pull/937, - https://github.com/fmtlib/fmt/pull/953, - https://github.com/fmtlib/fmt/pull/959). - Thanks @tchaikov, @luncliff, @AndreasSchoenle, @hotwatermorning and @Zefz. - -- Improved `string_view` construction performance - (https://github.com/fmtlib/fmt/pull/914). Thanks @gabime. - -- Fixed non-matching char types - (https://github.com/fmtlib/fmt/pull/895). Thanks @DanielaE. - -- Fixed `format_to_n` with `std::back_insert_iterator` - (https://github.com/fmtlib/fmt/pull/913). Thanks @DanielaE. - -- Fixed locale-dependent formatting - (https://github.com/fmtlib/fmt/issues/905). - -- Fixed various compiler warnings and errors - (https://github.com/fmtlib/fmt/pull/882, - https://github.com/fmtlib/fmt/pull/886, - https://github.com/fmtlib/fmt/pull/933, - https://github.com/fmtlib/fmt/pull/941, - https://github.com/fmtlib/fmt/issues/931, - https://github.com/fmtlib/fmt/pull/943, - https://github.com/fmtlib/fmt/pull/954, - https://github.com/fmtlib/fmt/pull/956, - https://github.com/fmtlib/fmt/pull/962, - https://github.com/fmtlib/fmt/issues/965, - https://github.com/fmtlib/fmt/issues/977, - https://github.com/fmtlib/fmt/pull/983, - https://github.com/fmtlib/fmt/pull/989). - Thanks @Luthaf, @stevenhoving, @christinaa, @lgritz, @DanielaE, - @0x8000-0000 and @liuping1997. - -# 5.2.1 - 2018-09-21 - -- Fixed `visit` lookup issues on gcc 7 & 8 - (https://github.com/fmtlib/fmt/pull/870). Thanks @medithe. -- Fixed linkage errors on older gcc. -- Prevented `fmt/range.h` from specializing `fmt::basic_string_view` - (https://github.com/fmtlib/fmt/issues/865, - https://github.com/fmtlib/fmt/pull/868). Thanks @hhggit. -- Improved error message when formatting unknown types - (https://github.com/fmtlib/fmt/pull/872). Thanks @foonathan. -- Disabled templated user-defined literals when compiled under nvcc - (https://github.com/fmtlib/fmt/pull/875). Thanks @CandyGumdrop. -- Fixed `format_to` formatting to `wmemory_buffer` - (https://github.com/fmtlib/fmt/issues/874). - -# 5.2.0 - 2018-09-13 - -- Optimized format string parsing and argument processing which - resulted in up to 5x speed up on long format strings and significant - performance boost on various benchmarks. For example, version 5.2 is - 2.22x faster than 5.1 on decimal integer formatting with `format_to` - (macOS, clang-902.0.39.2): - - | Method | Time, s | Speedup | - | -------------------------- | --------------: | ------: | - | fmt::format 5.1 | 0.58 | | - | fmt::format 5.2 | 0.35 | 1.66x | - | fmt::format_to 5.1 | 0.51 | | - | fmt::format_to 5.2 | 0.23 | 2.22x | - | sprintf | 0.71 | | - | std::to_string | 1.01 | | - | std::stringstream | 1.73 | | - -- Changed the `fmt` macro from opt-out to opt-in to prevent name - collisions. To enable it define the `FMT_STRING_ALIAS` macro to 1 - before including `fmt/format.h`: - - ```c++ - #define FMT_STRING_ALIAS 1 - #include - std::string answer = format(fmt("{}"), 42); - ``` - -- Added compile-time format string checks to `format_to` overload that - takes `fmt::memory_buffer` - (https://github.com/fmtlib/fmt/issues/783): - - ```c++ - fmt::memory_buffer buf; - // Compile-time error: invalid type specifier. - fmt::format_to(buf, fmt("{:d}"), "foo"); - ``` - -- Moved experimental color support to `fmt/color.h` and enabled the - new API by default. The old API can be enabled by defining the - `FMT_DEPRECATED_COLORS` macro. - -- Added formatting support for types explicitly convertible to - `fmt::string_view`: - - ```c++ - struct foo { - explicit operator fmt::string_view() const { return "foo"; } - }; - auto s = format("{}", foo()); - ``` - - In particular, this makes formatting function work with - `folly::StringPiece`. - -- Implemented preliminary support for `char*_t` by replacing the - `format` function overloads with a single function template - parameterized on the string type. - -- Added support for dynamic argument lists - (https://github.com/fmtlib/fmt/issues/814, - https://github.com/fmtlib/fmt/pull/819). Thanks @MikePopoloski. - -- Reduced executable size overhead for embedded targets using newlib - nano by making locale dependency optional - (https://github.com/fmtlib/fmt/pull/839). Thanks @teajay-fr. - -- Keep `noexcept` specifier when exceptions are disabled - (https://github.com/fmtlib/fmt/issues/801, - https://github.com/fmtlib/fmt/pull/810). Thanks @qis. - -- Fixed formatting of user-defined types providing `operator<<` with - `format_to_n` (https://github.com/fmtlib/fmt/pull/806). - Thanks @mkurdej. - -- Fixed dynamic linkage of new symbols - (https://github.com/fmtlib/fmt/issues/808). - -- Fixed global initialization issue - (https://github.com/fmtlib/fmt/issues/807): - - ```c++ - // This works on compilers with constexpr support. - static const std::string answer = fmt::format("{}", 42); - ``` - -- Fixed various compiler warnings and errors - (https://github.com/fmtlib/fmt/pull/804, - https://github.com/fmtlib/fmt/issues/809, - https://github.com/fmtlib/fmt/pull/811, - https://github.com/fmtlib/fmt/issues/822, - https://github.com/fmtlib/fmt/pull/827, - https://github.com/fmtlib/fmt/issues/830, - https://github.com/fmtlib/fmt/pull/838, - https://github.com/fmtlib/fmt/issues/843, - https://github.com/fmtlib/fmt/pull/844, - https://github.com/fmtlib/fmt/issues/851, - https://github.com/fmtlib/fmt/pull/852, - https://github.com/fmtlib/fmt/pull/854). - Thanks @henryiii, @medithe, and @eliasdaler. - -# 5.1.0 - 2018-07-05 - -- Added experimental support for RGB color output enabled with the - `FMT_EXTENDED_COLORS` macro: - - ```c++ - #define FMT_EXTENDED_COLORS - #define FMT_HEADER_ONLY // or compile fmt with FMT_EXTENDED_COLORS defined - #include - - fmt::print(fmt::color::steel_blue, "Some beautiful text"); - ``` - - The old API (the `print_colored` and `vprint_colored` functions and - the `color` enum) is now deprecated. - (https://github.com/fmtlib/fmt/issues/762 - https://github.com/fmtlib/fmt/pull/767). thanks @Remotion. - -- Added quotes to strings in ranges and tuples - (https://github.com/fmtlib/fmt/pull/766). Thanks @Remotion. - -- Made `format_to` work with `basic_memory_buffer` - (https://github.com/fmtlib/fmt/issues/776). - -- Added `vformat_to_n` and `wchar_t` overload of `format_to_n` - (https://github.com/fmtlib/fmt/issues/764, - https://github.com/fmtlib/fmt/issues/769). - -- Made `is_range` and `is_tuple_like` part of public (experimental) - API to allow specialization for user-defined types - (https://github.com/fmtlib/fmt/issues/751, - https://github.com/fmtlib/fmt/pull/759). Thanks @drrlvn. - -- Added more compilers to continuous integration and increased - `FMT_PEDANTIC` warning levels - (https://github.com/fmtlib/fmt/pull/736). Thanks @eliaskosunen. - -- Fixed compilation with MSVC 2013. - -- Fixed handling of user-defined types in `format_to` - (https://github.com/fmtlib/fmt/issues/793). - -- Forced linking of inline `vformat` functions into the library - (https://github.com/fmtlib/fmt/issues/795). - -- Fixed incorrect call to on_align in `'{:}='` - (https://github.com/fmtlib/fmt/issues/750). - -- Fixed floating-point formatting to a non-back_insert_iterator with - sign & numeric alignment specified - (https://github.com/fmtlib/fmt/issues/756). - -- Fixed formatting to an array with `format_to_n` - (https://github.com/fmtlib/fmt/issues/778). - -- Fixed formatting of more than 15 named arguments - (https://github.com/fmtlib/fmt/issues/754). - -- Fixed handling of compile-time strings when including - `fmt/ostream.h`. (https://github.com/fmtlib/fmt/issues/768). - -- Fixed various compiler warnings and errors - (https://github.com/fmtlib/fmt/issues/742, - https://github.com/fmtlib/fmt/issues/748, - https://github.com/fmtlib/fmt/issues/752, - https://github.com/fmtlib/fmt/issues/770, - https://github.com/fmtlib/fmt/pull/775, - https://github.com/fmtlib/fmt/issues/779, - https://github.com/fmtlib/fmt/pull/780, - https://github.com/fmtlib/fmt/pull/790, - https://github.com/fmtlib/fmt/pull/792, - https://github.com/fmtlib/fmt/pull/800). - Thanks @Remotion, @gabime, @foonathan, @Dark-Passenger and @0x8000-0000. - -# 5.0.0 - 2018-05-21 - -- Added a requirement for partial C++11 support, most importantly - variadic templates and type traits, and dropped `FMT_VARIADIC_*` - emulation macros. Variadic templates are available since GCC 4.4, - Clang 2.9 and MSVC 18.0 (2013). For older compilers use {fmt} - [version 4.x](https://github.com/fmtlib/fmt/releases/tag/4.1.0) - which continues to be maintained and works with C++98 compilers. - -- Renamed symbols to follow standard C++ naming conventions and - proposed a subset of the library for standardization in [P0645R2 - Text Formatting](https://wg21.link/P0645). - -- Implemented `constexpr` parsing of format strings and [compile-time - format string - checks](https://fmt.dev/latest/api.html#compile-time-format-string-checks). - For example - - ```c++ - #include - - std::string s = format(fmt("{:d}"), "foo"); - ``` - - gives a compile-time error because `d` is an invalid specifier for - strings ([godbolt](https://godbolt.org/g/rnCy9Q)): - - ... - :4:19: note: in instantiation of function template specialization 'fmt::v5::format' requested here - std::string s = format(fmt("{:d}"), "foo"); - ^ - format.h:1337:13: note: non-constexpr function 'on_error' cannot be used in a constant expression - handler.on_error("invalid type specifier"); - - Compile-time checks require relaxed `constexpr` (C++14 feature) - support. If the latter is not available, checks will be performed at - runtime. - -- Separated format string parsing and formatting in the extension API - to enable compile-time format string processing. For example - - ```c++ - struct Answer {}; - - namespace fmt { - template <> - struct formatter { - constexpr auto parse(parse_context& ctx) { - auto it = ctx.begin(); - spec = *it; - if (spec != 'd' && spec != 's') - throw format_error("invalid specifier"); - return ++it; - } - - template - auto format(Answer, FormatContext& ctx) { - return spec == 's' ? - format_to(ctx.begin(), "{}", "fourty-two") : - format_to(ctx.begin(), "{}", 42); - } - - char spec = 0; - }; - } - - std::string s = format(fmt("{:x}"), Answer()); - ``` - - gives a compile-time error due to invalid format specifier - ([godbolt](https://godbolt.org/g/2jQ1Dv)): - - ... - :12:45: error: expression '' is not a constant expression - throw format_error("invalid specifier"); - -- Added [iterator - support](https://fmt.dev/latest/api.html#output-iterator-support): - - ```c++ - #include - #include - - std::vector out; - fmt::format_to(std::back_inserter(out), "{}", 42); - ``` - -- Added the - [format_to_n](https://fmt.dev/latest/api.html#_CPPv2N3fmt11format_to_nE8OutputItNSt6size_tE11string_viewDpRK4Args) - function that restricts the output to the specified number of - characters (https://github.com/fmtlib/fmt/issues/298): - - ```c++ - char out[4]; - fmt::format_to_n(out, sizeof(out), "{}", 12345); - // out == "1234" (without terminating '\0') - ``` - -- Added the [formatted_size]( - https://fmt.dev/latest/api.html#_CPPv2N3fmt14formatted_sizeE11string_viewDpRK4Args) - function for computing the output size: - - ```c++ - #include - - auto size = fmt::formatted_size("{}", 12345); // size == 5 - ``` - -- Improved compile times by reducing dependencies on standard headers - and providing a lightweight [core - API](https://fmt.dev/latest/api.html#core-api): - - ```c++ - #include - - fmt::print("The answer is {}.", 42); - ``` - - See [Compile time and code - bloat](https://github.com/fmtlib/fmt#compile-time-and-code-bloat). - -- Added the [make_format_args]( - https://fmt.dev/latest/api.html#_CPPv2N3fmt16make_format_argsEDpRK4Args) - function for capturing formatting arguments: - - ```c++ - // Prints formatted error message. - void vreport_error(const char *format, fmt::format_args args) { - fmt::print("Error: "); - fmt::vprint(format, args); - } - template - void report_error(const char *format, const Args & ... args) { - vreport_error(format, fmt::make_format_args(args...)); - } - ``` - -- Added the `make_printf_args` function for capturing `printf` - arguments (https://github.com/fmtlib/fmt/issues/687, - https://github.com/fmtlib/fmt/pull/694). Thanks @Kronuz. - -- Added prefix `v` to non-variadic functions taking `format_args` to - distinguish them from variadic ones: - - ```c++ - std::string vformat(string_view format_str, format_args args); - - template - std::string format(string_view format_str, const Args & ... args); - ``` - -- Added experimental support for formatting ranges, containers and - tuple-like types in `fmt/ranges.h` - (https://github.com/fmtlib/fmt/pull/735): - - ```c++ - #include - - std::vector v = {1, 2, 3}; - fmt::print("{}", v); // prints {1, 2, 3} - ``` - - Thanks @Remotion. + auto monday = std::chrono::weekday(1); + fmt::print("{}\n", monday); // prints "Mon" + fmt::print("{:L}\n", monday); // prints "пн" + } + ``` -- Implemented `wchar_t` date and time formatting - (https://github.com/fmtlib/fmt/pull/712): +- Improved locale handling in chrono formatting + (https://github.com/fmtlib/fmt/issues/2337, + https://github.com/fmtlib/fmt/pull/2349, + https://github.com/fmtlib/fmt/pull/2350). Thanks @phprus. - ```c++ - #include +- Deprecated `fmt/locale.h` moving the formatting functions that take + a locale to `fmt/format.h` (`char`) and `fmt/xchar` (other + overloads). This doesn\'t introduce a dependency on `` so + there is virtually no compile time effect. - std::time_t t = std::time(nullptr); - auto s = fmt::format(L"The date is {:%Y-%m-%d}.", *std::localtime(&t)); - ``` +- Deprecated an undocumented `format_to` overload that takes + `basic_memory_buffer`. - Thanks @DanielaE. +- Made parameter order in `vformat_to` consistent with `format_to` + (https://github.com/fmtlib/fmt/issues/2327). -- Provided more wide string overloads - (https://github.com/fmtlib/fmt/pull/724). Thanks @DanielaE. +- Added support for time points with arbitrary durations + (https://github.com/fmtlib/fmt/issues/2208). For example: -- Switched from a custom null-terminated string view class to - `string_view` in the format API and provided `fmt::string_view` - which implements a subset of `std::string_view` API for pre-C++17 - systems. + ```c++ + #include -- Added support for `std::experimental::string_view` - (https://github.com/fmtlib/fmt/pull/607): + int main() { + using tp = std::chrono::time_point< + std::chrono::system_clock, std::chrono::seconds>; + fmt::print("{:%S}", tp(std::chrono::seconds(42))); + } + ``` - ```c++ - #include - #include + prints \"42\". - fmt::print("{}", std::experimental::string_view("foo")); - ``` +- Formatting floating-point numbers no longer produces trailing zeros + by default for consistency with `std::format`. For example: - Thanks @virgiliofornazin. + ```c++ + #include -- Allowed mixing named and automatic arguments: + int main() { + fmt::print("{0:.3}", 1.1); + } + ``` - ```c++ - fmt::format("{} {two}", 1, fmt::arg("two", 2)); - ``` + prints \"1.1\". Use the `'#'` specifier to keep trailing zeros. -- Removed the write API in favor of the [format - API](https://fmt.dev/latest/api.html#format-api) with compile-time - handling of format strings. +- Dropped a limit on the number of elements in a range and replaced + `{}` with `[]` as range delimiters for consistency with Python\'s + `str.format`. -- Disallowed formatting of multibyte strings into a wide character - target (https://github.com/fmtlib/fmt/pull/606). +- The `'L'` specifier for locale-specific numeric formatting can now + be combined with presentation specifiers as in `std::format`. For + example: -- Improved documentation - (https://github.com/fmtlib/fmt/pull/515, - https://github.com/fmtlib/fmt/issues/614, - https://github.com/fmtlib/fmt/pull/617, - https://github.com/fmtlib/fmt/pull/661, - https://github.com/fmtlib/fmt/pull/680). - Thanks @ibell, @mihaitodor and @johnthagen. - -- Implemented more efficient handling of large number of format - arguments. - -- Introduced an inline namespace for symbol versioning. - -- Added debug postfix `d` to the `fmt` library name - (https://github.com/fmtlib/fmt/issues/636). - -- Removed unnecessary `fmt/` prefix in includes - (https://github.com/fmtlib/fmt/pull/397). Thanks @chronoxor. - -- Moved `fmt/*.h` to `include/fmt/*.h` to prevent irrelevant files and - directories appearing on the include search paths when fmt is used - as a subproject and moved source files to the `src` directory. - -- Added qmake project file `support/fmt.pro` - (https://github.com/fmtlib/fmt/pull/641). Thanks @cowo78. - -- Added Gradle build file `support/build.gradle` - (https://github.com/fmtlib/fmt/pull/649). Thanks @luncliff. - -- Removed `FMT_CPPFORMAT` CMake option. - -- Fixed a name conflict with the macro `CHAR_WIDTH` in glibc - (https://github.com/fmtlib/fmt/pull/616). Thanks @aroig. - -- Fixed handling of nested braces in `fmt::join` - (https://github.com/fmtlib/fmt/issues/638). - -- Added `SOURCELINK_SUFFIX` for compatibility with Sphinx 1.5 - (https://github.com/fmtlib/fmt/pull/497). Thanks @ginggs. - -- Added a missing `inline` in the header-only mode - (https://github.com/fmtlib/fmt/pull/626). Thanks @aroig. - -- Fixed various compiler warnings - (https://github.com/fmtlib/fmt/pull/640, - https://github.com/fmtlib/fmt/pull/656, - https://github.com/fmtlib/fmt/pull/679, - https://github.com/fmtlib/fmt/pull/681, - https://github.com/fmtlib/fmt/pull/705, - https://github.com/fmtlib/fmt/issues/715, - https://github.com/fmtlib/fmt/pull/717, - https://github.com/fmtlib/fmt/pull/720, - https://github.com/fmtlib/fmt/pull/723, - https://github.com/fmtlib/fmt/pull/726, - https://github.com/fmtlib/fmt/pull/730, - https://github.com/fmtlib/fmt/pull/739). - Thanks @peterbell10, @LarsGullik, @foonathan, @eliaskosunen, - @christianparpart, @DanielaE and @mwinterb. - -- Worked around an MSVC bug and fixed several warnings - (https://github.com/fmtlib/fmt/pull/653). Thanks @alabuzhev. - -- Worked around GCC bug 67371 - (https://github.com/fmtlib/fmt/issues/682). - -- Fixed compilation with `-fno-exceptions` - (https://github.com/fmtlib/fmt/pull/655). Thanks @chenxiaolong. - -- Made `constexpr remove_prefix` gcc version check tighter - (https://github.com/fmtlib/fmt/issues/648). - -- Renamed internal type enum constants to prevent collision with - poorly written C libraries - (https://github.com/fmtlib/fmt/issues/644). - -- Added detection of `wostream operator<<` - (https://github.com/fmtlib/fmt/issues/650). - -- Fixed compilation on OpenBSD - (https://github.com/fmtlib/fmt/pull/660). Thanks @hubslave. - -- Fixed compilation on FreeBSD 12 - (https://github.com/fmtlib/fmt/pull/732). Thanks @dankm. - -- Fixed compilation when there is a mismatch between `-std` options - between the library and user code - (https://github.com/fmtlib/fmt/issues/664). - -- Fixed compilation with GCC 7 and `-std=c++11` - (https://github.com/fmtlib/fmt/issues/734). - -- Improved generated binary code on GCC 7 and older - (https://github.com/fmtlib/fmt/issues/668). - -- Fixed handling of numeric alignment with no width - (https://github.com/fmtlib/fmt/issues/675). - -- Fixed handling of empty strings in UTF8/16 converters - (https://github.com/fmtlib/fmt/pull/676). Thanks @vgalka-sl. - -- Fixed formatting of an empty `string_view` - (https://github.com/fmtlib/fmt/issues/689). - -- Fixed detection of `string_view` on libc++ - (https://github.com/fmtlib/fmt/issues/686). - -- Fixed DLL issues (https://github.com/fmtlib/fmt/pull/696). - Thanks @sebkoenig. - -- Fixed compile checks for mixing narrow and wide strings - (https://github.com/fmtlib/fmt/issues/690). - -- Disabled unsafe implicit conversion to `std::string` - (https://github.com/fmtlib/fmt/issues/729). - -- Fixed handling of reused format specs (as in `fmt::join`) for - pointers (https://github.com/fmtlib/fmt/pull/725). Thanks @mwinterb. - -- Fixed installation of `fmt/ranges.h` - (https://github.com/fmtlib/fmt/pull/738). Thanks @sv1990. - -# 4.1.0 - 2017-12-20 - -- Added `fmt::to_wstring()` in addition to `fmt::to_string()` - (https://github.com/fmtlib/fmt/pull/559). Thanks @alabuzhev. -- Added support for C++17 `std::string_view` - (https://github.com/fmtlib/fmt/pull/571 and - https://github.com/fmtlib/fmt/pull/578). - Thanks @thelostt and @mwinterb. -- Enabled stream exceptions to catch errors - (https://github.com/fmtlib/fmt/issues/581). Thanks @crusader-mike. -- Allowed formatting of class hierarchies with `fmt::format_arg()` - (https://github.com/fmtlib/fmt/pull/547). Thanks @rollbear. -- Removed limitations on character types - (https://github.com/fmtlib/fmt/pull/563). Thanks @Yelnats321. -- Conditionally enabled use of `std::allocator_traits` - (https://github.com/fmtlib/fmt/pull/583). Thanks @mwinterb. -- Added support for `const` variadic member function emulation with - `FMT_VARIADIC_CONST` - (https://github.com/fmtlib/fmt/pull/591). Thanks @ludekvodicka. -- Various bugfixes: bad overflow check, unsupported implicit type - conversion when determining formatting function, test segfaults - (https://github.com/fmtlib/fmt/issues/551), ill-formed - macros (https://github.com/fmtlib/fmt/pull/542) and - ambiguous overloads - (https://github.com/fmtlib/fmt/issues/580). Thanks @xylosper. -- Prevented warnings on MSVC - (https://github.com/fmtlib/fmt/pull/605, - https://github.com/fmtlib/fmt/pull/602, and - https://github.com/fmtlib/fmt/pull/545), clang - (https://github.com/fmtlib/fmt/pull/582), GCC - (https://github.com/fmtlib/fmt/issues/573), various - conversion warnings (https://github.com/fmtlib/fmt/pull/609, - https://github.com/fmtlib/fmt/pull/567, - https://github.com/fmtlib/fmt/pull/553 and - https://github.com/fmtlib/fmt/pull/553), and added - `override` and `[[noreturn]]` - (https://github.com/fmtlib/fmt/pull/549 and - https://github.com/fmtlib/fmt/issues/555). - Thanks @alabuzhev, @virgiliofornazin, @alexanderbock, @yumetodo, @VaderY, - @jpcima, @thelostt and @Manu343726. -- Improved CMake: Used `GNUInstallDirs` to set installation location - (https://github.com/fmtlib/fmt/pull/610) and fixed warnings - (https://github.com/fmtlib/fmt/pull/536 and - https://github.com/fmtlib/fmt/pull/556). - Thanks @mikecrowe, @evgen231 and @henryiii. - -# 4.0.0 - 2017-06-27 - -- Removed old compatibility headers `cppformat/*.h` and CMake options - (https://github.com/fmtlib/fmt/pull/527). Thanks @maddinat0r. - -- Added `string.h` containing `fmt::to_string()` as alternative to - `std::to_string()` as well as other string writer functionality - (https://github.com/fmtlib/fmt/issues/326 and - https://github.com/fmtlib/fmt/pull/441): - - ```c++ - #include "fmt/string.h" - - std::string answer = fmt::to_string(42); - ``` - - Thanks @glebov-andrey. - -- Moved `fmt::printf()` to new `printf.h` header and allowed `%s` as - generic specifier (https://github.com/fmtlib/fmt/pull/453), - made `%.f` more conformant to regular `printf()` - (https://github.com/fmtlib/fmt/pull/490), added custom - writer support (https://github.com/fmtlib/fmt/issues/476) - and implemented missing custom argument formatting - (https://github.com/fmtlib/fmt/pull/339 and - https://github.com/fmtlib/fmt/pull/340): - - ```c++ - #include "fmt/printf.h" - - // %s format specifier can be used with any argument type. - fmt::printf("%s", 42); - ``` - - Thanks @mojoBrendan, @manylegged and @spacemoose. - See also https://github.com/fmtlib/fmt/issues/360, - https://github.com/fmtlib/fmt/issues/335 and - https://github.com/fmtlib/fmt/issues/331. - -- Added `container.h` containing a `BasicContainerWriter` to write to - containers like `std::vector` - (https://github.com/fmtlib/fmt/pull/450). Thanks @polyvertex. - -- Added `fmt::join()` function that takes a range and formats its - elements separated by a given string - (https://github.com/fmtlib/fmt/pull/466): - - ```c++ - #include "fmt/format.h" - - std::vector v = {1.2, 3.4, 5.6}; - // Prints "(+01.20, +03.40, +05.60)". - fmt::print("({:+06.2f})", fmt::join(v.begin(), v.end(), ", ")); - ``` - - Thanks @olivier80. - -- Added support for custom formatting specifications to simplify - customization of built-in formatting - (https://github.com/fmtlib/fmt/pull/444). Thanks @polyvertex. - See also https://github.com/fmtlib/fmt/issues/439. - -- Added `fmt::format_system_error()` for error code formatting - (https://github.com/fmtlib/fmt/issues/323 and - https://github.com/fmtlib/fmt/pull/526). Thanks @maddinat0r. - -- Added thread-safe `fmt::localtime()` and `fmt::gmtime()` as - replacement for the standard version to `time.h` - (https://github.com/fmtlib/fmt/pull/396). Thanks @codicodi. - -- Internal improvements to `NamedArg` and `ArgLists` - (https://github.com/fmtlib/fmt/pull/389 and - https://github.com/fmtlib/fmt/pull/390). Thanks @chronoxor. - -- Fixed crash due to bug in `FormatBuf` - (https://github.com/fmtlib/fmt/pull/493). Thanks @effzeh. See also - https://github.com/fmtlib/fmt/issues/480 and - https://github.com/fmtlib/fmt/issues/491. - -- Fixed handling of wide strings in `fmt::StringWriter`. - -- Improved compiler error messages - (https://github.com/fmtlib/fmt/issues/357). - -- Fixed various warnings and issues with various compilers - (https://github.com/fmtlib/fmt/pull/494, - https://github.com/fmtlib/fmt/pull/499, - https://github.com/fmtlib/fmt/pull/483, - https://github.com/fmtlib/fmt/pull/485, - https://github.com/fmtlib/fmt/pull/482, - https://github.com/fmtlib/fmt/pull/475, - https://github.com/fmtlib/fmt/pull/473 and - https://github.com/fmtlib/fmt/pull/414). - Thanks @chronoxor, @zhaohuaxishi, @pkestene, @dschmidt and @0x414c. - -- Improved CMake: targets are now namespaced - (https://github.com/fmtlib/fmt/pull/511 and - https://github.com/fmtlib/fmt/pull/513), supported - header-only `printf.h` - (https://github.com/fmtlib/fmt/pull/354), fixed issue with - minimal supported library subset - (https://github.com/fmtlib/fmt/issues/418, - https://github.com/fmtlib/fmt/pull/419 and - https://github.com/fmtlib/fmt/pull/420). - Thanks @bjoernthiel, @niosHD, @LogicalKnight and @alabuzhev. - -- Improved documentation (https://github.com/fmtlib/fmt/pull/393). - Thanks @pwm1234. - -# 3.0.2 - 2017-06-14 - -- Added `FMT_VERSION` macro - (https://github.com/fmtlib/fmt/issues/411). -- Used `FMT_NULL` instead of literal `0` - (https://github.com/fmtlib/fmt/pull/409). Thanks @alabuzhev. -- Added extern templates for `format_float` - (https://github.com/fmtlib/fmt/issues/413). -- Fixed implicit conversion issue - (https://github.com/fmtlib/fmt/issues/507). -- Fixed signbit detection - (https://github.com/fmtlib/fmt/issues/423). -- Fixed naming collision - (https://github.com/fmtlib/fmt/issues/425). -- Fixed missing intrinsic for C++/CLI - (https://github.com/fmtlib/fmt/pull/457). Thanks @calumr. -- Fixed Android detection - (https://github.com/fmtlib/fmt/pull/458). Thanks @Gachapen. -- Use lean `windows.h` if not in header-only mode - (https://github.com/fmtlib/fmt/pull/503). Thanks @Quentin01. -- Fixed issue with CMake exporting C++11 flag - (https://github.com/fmtlib/fmt/pull/455). Thanks @EricWF. -- Fixed issue with nvcc and MSVC compiler bug and MinGW - (https://github.com/fmtlib/fmt/issues/505). -- Fixed DLL issues (https://github.com/fmtlib/fmt/pull/469 and - https://github.com/fmtlib/fmt/pull/502). - Thanks @richardeakin and @AndreasSchoenle. -- Fixed test compilation under FreeBSD - (https://github.com/fmtlib/fmt/issues/433). -- Fixed various warnings - (https://github.com/fmtlib/fmt/pull/403, - https://github.com/fmtlib/fmt/pull/410 and - https://github.com/fmtlib/fmt/pull/510). - Thanks @Lecetem, @chenhayat and @trozen. -- Worked around a broken `__builtin_clz` in clang with MS codegen - (https://github.com/fmtlib/fmt/issues/519). -- Removed redundant include - (https://github.com/fmtlib/fmt/issues/479). -- Fixed documentation issues. - -# 3.0.1 - 2016-11-01 - -- Fixed handling of thousands separator - (https://github.com/fmtlib/fmt/issues/353). -- Fixed handling of `unsigned char` strings - (https://github.com/fmtlib/fmt/issues/373). -- Corrected buffer growth when formatting time - (https://github.com/fmtlib/fmt/issues/367). -- Removed warnings under MSVC and clang - (https://github.com/fmtlib/fmt/issues/318, - https://github.com/fmtlib/fmt/issues/250, also merged - https://github.com/fmtlib/fmt/pull/385 and - https://github.com/fmtlib/fmt/pull/361). - Thanks @jcelerier and @nmoehrle. -- Fixed compilation issues under Android - (https://github.com/fmtlib/fmt/pull/327, - https://github.com/fmtlib/fmt/issues/345 and - https://github.com/fmtlib/fmt/pull/381), FreeBSD - (https://github.com/fmtlib/fmt/pull/358), Cygwin - (https://github.com/fmtlib/fmt/issues/388), MinGW - (https://github.com/fmtlib/fmt/issues/355) as well as other - issues (https://github.com/fmtlib/fmt/issues/350, - https://github.com/fmtlib/fmt/issues/355, - https://github.com/fmtlib/fmt/pull/348, - https://github.com/fmtlib/fmt/pull/402, - https://github.com/fmtlib/fmt/pull/405). - Thanks @dpantele, @hghwng, @arvedarved, @LogicalKnight and @JanHellwig. -- Fixed some documentation issues and extended specification - (https://github.com/fmtlib/fmt/issues/320, - https://github.com/fmtlib/fmt/pull/333, - https://github.com/fmtlib/fmt/issues/347, - https://github.com/fmtlib/fmt/pull/362). Thanks @smellman. - -# 3.0.0 - 2016-05-07 - -- The project has been renamed from C++ Format (cppformat) to fmt for - consistency with the used namespace and macro prefix - (https://github.com/fmtlib/fmt/issues/307). Library headers - are now located in the `fmt` directory: - - ```c++ - #include "fmt/format.h" - ``` - - Including `format.h` from the `cppformat` directory is deprecated - but works via a proxy header which will be removed in the next major - version. - - The documentation is now available at . - -- Added support for - [strftime](http://en.cppreference.com/w/cpp/chrono/c/strftime)-like - [date and time - formatting](https://fmt.dev/3.0.0/api.html#date-and-time-formatting) - (https://github.com/fmtlib/fmt/issues/283): - - ```c++ - #include "fmt/time.h" - - std::time_t t = std::time(nullptr); - // Prints "The date is 2016-04-29." (with the current date) - fmt::print("The date is {:%Y-%m-%d}.", *std::localtime(&t)); - ``` - -- `std::ostream` support including formatting of user-defined types - that provide overloaded `operator<<` has been moved to - `fmt/ostream.h`: - - ```c++ - #include "fmt/ostream.h" - - class Date { - int year_, month_, day_; - public: - Date(int year, int month, int day) : year_(year), month_(month), day_(day) {} - - friend std::ostream &operator<<(std::ostream &os, const Date &d) { - return os << d.year_ << '-' << d.month_ << '-' << d.day_; - } - }; - - std::string s = fmt::format("The date is {}", Date(2012, 12, 9)); - // s == "The date is 2012-12-9" - ``` - -- Added support for [custom argument - formatters](https://fmt.dev/3.0.0/api.html#argument-formatters) - (https://github.com/fmtlib/fmt/issues/235). - -- Added support for locale-specific integer formatting with the `n` - specifier (https://github.com/fmtlib/fmt/issues/305): - - ```c++ - std::setlocale(LC_ALL, "en_US.utf8"); - fmt::print("cppformat: {:n}\n", 1234567); // prints 1,234,567 - ``` - -- Sign is now preserved when formatting an integer with an incorrect - `printf` format specifier - (https://github.com/fmtlib/fmt/issues/265): - - ```c++ - fmt::printf("%lld", -42); // prints -42 - ``` - - Note that it would be an undefined behavior in `std::printf`. - -- Length modifiers such as `ll` are now optional in printf formatting - functions and the correct type is determined automatically - (https://github.com/fmtlib/fmt/issues/255): - - ```c++ - fmt::printf("%d", std::numeric_limits::max()); - ``` - - Note that it would be an undefined behavior in `std::printf`. - -- Added initial support for custom formatters - (https://github.com/fmtlib/fmt/issues/231). - -- Fixed detection of user-defined literal support on Intel C++ - compiler (https://github.com/fmtlib/fmt/issues/311, - https://github.com/fmtlib/fmt/pull/312). - Thanks @dean0x7d and @speth. - -- Reduced compile time - (https://github.com/fmtlib/fmt/pull/243, - https://github.com/fmtlib/fmt/pull/249, - https://github.com/fmtlib/fmt/issues/317): - - ![](https://cloud.githubusercontent.com/assets/4831417/11614060/b9e826d2-9c36-11e5-8666-d4131bf503ef.png) - - ![](https://cloud.githubusercontent.com/assets/4831417/11614080/6ac903cc-9c37-11e5-8165-26df6efae364.png) - - Thanks @dean0x7d. - -- Compile test fixes (https://github.com/fmtlib/fmt/pull/313). - Thanks @dean0x7d. - -- Documentation fixes (https://github.com/fmtlib/fmt/pull/239, - https://github.com/fmtlib/fmt/issues/248, - https://github.com/fmtlib/fmt/issues/252, - https://github.com/fmtlib/fmt/pull/258, - https://github.com/fmtlib/fmt/issues/260, - https://github.com/fmtlib/fmt/issues/301, - https://github.com/fmtlib/fmt/pull/309). - Thanks @ReadmeCritic @Gachapen and @jwilk. - -- Fixed compiler and sanitizer warnings - (https://github.com/fmtlib/fmt/issues/244, - https://github.com/fmtlib/fmt/pull/256, - https://github.com/fmtlib/fmt/pull/259, - https://github.com/fmtlib/fmt/issues/263, - https://github.com/fmtlib/fmt/issues/274, - https://github.com/fmtlib/fmt/pull/277, - https://github.com/fmtlib/fmt/pull/286, - https://github.com/fmtlib/fmt/issues/291, - https://github.com/fmtlib/fmt/issues/296, - https://github.com/fmtlib/fmt/issues/308). - Thanks @mwinterb, @pweiskircher and @Naios. - -- Improved compatibility with Windows Store apps - (https://github.com/fmtlib/fmt/issues/280, - https://github.com/fmtlib/fmt/pull/285) Thanks @mwinterb. - -- Added tests of compatibility with older C++ standards - (https://github.com/fmtlib/fmt/pull/273). Thanks @niosHD. - -- Fixed Android build - (https://github.com/fmtlib/fmt/pull/271). Thanks @newnon. - -- Changed `ArgMap` to be backed by a vector instead of a map. - (https://github.com/fmtlib/fmt/issues/261, - https://github.com/fmtlib/fmt/pull/262). Thanks @mwinterb. - -- Added `fprintf` overload that writes to a `std::ostream` - (https://github.com/fmtlib/fmt/pull/251). - Thanks @nickhutchinson. - -- Export symbols when building a Windows DLL - (https://github.com/fmtlib/fmt/pull/245). - Thanks @macdems. - -- Fixed compilation on Cygwin - (https://github.com/fmtlib/fmt/issues/304). - -- Implemented a workaround for a bug in Apple LLVM version 4.2 of - clang (https://github.com/fmtlib/fmt/issues/276). - -- Implemented a workaround for Google Test bug - https://github.com/google/googletest/issues/705 on gcc 6 - (https://github.com/fmtlib/fmt/issues/268). Thanks @octoploid. - -- Removed Biicode support because the latter has been discontinued. - -# 2.1.1 - 2016-04-11 - -- The install location for generated CMake files is now configurable - via the `FMT_CMAKE_DIR` CMake variable - (https://github.com/fmtlib/fmt/pull/299). Thanks @niosHD. -- Documentation fixes - (https://github.com/fmtlib/fmt/issues/252). - -# 2.1.0 - 2016-03-21 - -- Project layout and build system improvements - (https://github.com/fmtlib/fmt/pull/267): - - - The code have been moved to the `cppformat` directory. Including - `format.h` from the top-level directory is deprecated but works - via a proxy header which will be removed in the next major - version. - - C++ Format CMake targets now have proper interface definitions. - - Installed version of the library now supports the header-only - configuration. - - Targets `doc`, `install`, and `test` are now disabled if C++ - Format is included as a CMake subproject. They can be enabled by - setting `FMT_DOC`, `FMT_INSTALL`, and `FMT_TEST` in the parent - project. - - Thanks @niosHD. - -# 2.0.1 - 2016-03-13 - -- Improved CMake find and package support - (https://github.com/fmtlib/fmt/issues/264). Thanks @niosHD. -- Fix compile error with Android NDK and mingw32 - (https://github.com/fmtlib/fmt/issues/241). Thanks @Gachapen. -- Documentation fixes - (https://github.com/fmtlib/fmt/issues/248, - https://github.com/fmtlib/fmt/issues/260). - -# 2.0.0 - 2015-12-01 - -## General - -- \[Breaking\] Named arguments - (https://github.com/fmtlib/fmt/pull/169, - https://github.com/fmtlib/fmt/pull/173, - https://github.com/fmtlib/fmt/pull/174): - - ```c++ - fmt::print("The answer is {answer}.", fmt::arg("answer", 42)); - ``` - - Thanks @jamboree. - -- \[Experimental\] User-defined literals for format and named - arguments (https://github.com/fmtlib/fmt/pull/204, - https://github.com/fmtlib/fmt/pull/206, - https://github.com/fmtlib/fmt/pull/207): - - ```c++ - using namespace fmt::literals; - fmt::print("The answer is {answer}.", "answer"_a=42); - ``` - - Thanks @dean0x7d. - -- \[Breaking\] Formatting of more than 16 arguments is now supported - when using variadic templates - (https://github.com/fmtlib/fmt/issues/141). Thanks @Shauren. - -- Runtime width specification - (https://github.com/fmtlib/fmt/pull/168): - - ```c++ - fmt::format("{0:{1}}", 42, 5); // gives " 42" - ``` - - Thanks @jamboree. - -- \[Breaking\] Enums are now formatted with an overloaded - `std::ostream` insertion operator (`operator<<`) if available - (https://github.com/fmtlib/fmt/issues/232). - -- \[Breaking\] Changed default `bool` format to textual, \"true\" or - \"false\" (https://github.com/fmtlib/fmt/issues/170): - - ```c++ - fmt::print("{}", true); // prints "true" - ``` - - To print `bool` as a number use numeric format specifier such as - `d`: - - ```c++ - fmt::print("{:d}", true); // prints "1" - ``` - -- `fmt::printf` and `fmt::sprintf` now support formatting of `bool` - with the `%s` specifier giving textual output, \"true\" or \"false\" - (https://github.com/fmtlib/fmt/pull/223): - - ```c++ - fmt::printf("%s", true); // prints "true" - ``` - - Thanks @LarsGullik. - -- \[Breaking\] `signed char` and `unsigned char` are now formatted as - integers by default - (https://github.com/fmtlib/fmt/pull/217). - -- \[Breaking\] Pointers to C strings can now be formatted with the `p` - specifier (https://github.com/fmtlib/fmt/pull/223): - - ```c++ - fmt::print("{:p}", "test"); // prints pointer value - ``` - - Thanks @LarsGullik. - -- \[Breaking\] `fmt::printf` and `fmt::sprintf` now print null - pointers as `(nil)` and null strings as `(null)` for consistency - with glibc (https://github.com/fmtlib/fmt/pull/226). - Thanks @LarsGullik. - -- \[Breaking\] `fmt::(s)printf` now supports formatting of objects of - user-defined types that provide an overloaded `std::ostream` - insertion operator (`operator<<`) - (https://github.com/fmtlib/fmt/issues/201): - - ```c++ - fmt::printf("The date is %s", Date(2012, 12, 9)); - ``` - -- \[Breaking\] The `Buffer` template is now part of the public API and - can be used to implement custom memory buffers - (https://github.com/fmtlib/fmt/issues/140). Thanks @polyvertex. - -- \[Breaking\] Improved compatibility between `BasicStringRef` and - [std::experimental::basic_string_view]( - http://en.cppreference.com/w/cpp/experimental/basic_string_view) - (https://github.com/fmtlib/fmt/issues/100, - https://github.com/fmtlib/fmt/issues/159, - https://github.com/fmtlib/fmt/issues/183): - - - Comparison operators now compare string content, not pointers - - `BasicStringRef::c_str` replaced by `BasicStringRef::data` - - `BasicStringRef` is no longer assumed to be null-terminated - - References to null-terminated strings are now represented by a new - class, `BasicCStringRef`. - -- Dependency on pthreads introduced by Google Test is now optional - (https://github.com/fmtlib/fmt/issues/185). - -- New CMake options `FMT_DOC`, `FMT_INSTALL` and `FMT_TEST` to control - generation of `doc`, `install` and `test` targets respectively, on - by default (https://github.com/fmtlib/fmt/issues/197, - https://github.com/fmtlib/fmt/issues/198, - https://github.com/fmtlib/fmt/issues/200). Thanks @maddinat0r. - -- `noexcept` is now used when compiling with MSVC2015 - (https://github.com/fmtlib/fmt/pull/215). Thanks @dmkrepo. - -- Added an option to disable use of `windows.h` when - `FMT_USE_WINDOWS_H` is defined as 0 before including `format.h` - (https://github.com/fmtlib/fmt/issues/171). Thanks @alfps. - -- \[Breaking\] `windows.h` is now included with `NOMINMAX` unless - `FMT_WIN_MINMAX` is defined. This is done to prevent breaking code - using `std::min` and `std::max` and only affects the header-only - configuration (https://github.com/fmtlib/fmt/issues/152, - https://github.com/fmtlib/fmt/pull/153, - https://github.com/fmtlib/fmt/pull/154). Thanks @DevO2012. - -- Improved support for custom character types - (https://github.com/fmtlib/fmt/issues/171). Thanks @alfps. - -- Added an option to disable use of IOStreams when `FMT_USE_IOSTREAMS` - is defined as 0 before including `format.h` - (https://github.com/fmtlib/fmt/issues/205, - https://github.com/fmtlib/fmt/pull/208). Thanks @JodiTheTigger. - -- Improved detection of `isnan`, `isinf` and `signbit`. - -## Optimization - -- Made formatting of user-defined types more efficient with a custom - stream buffer (https://github.com/fmtlib/fmt/issues/92, - https://github.com/fmtlib/fmt/pull/230). Thanks @NotImplemented. -- Further improved performance of `fmt::Writer` on integer formatting - and fixed a minor regression. Now it is \~7% faster than - `karma::generate` on Karma\'s benchmark - (https://github.com/fmtlib/fmt/issues/186). -- \[Breaking\] Reduced [compiled code - size](https://github.com/fmtlib/fmt#compile-time-and-code-bloat) - (https://github.com/fmtlib/fmt/issues/143, - https://github.com/fmtlib/fmt/pull/149). - -## Distribution - -- \[Breaking\] Headers are now installed in - `${CMAKE_INSTALL_PREFIX}/include/cppformat` - (https://github.com/fmtlib/fmt/issues/178). Thanks @jackyf. - -- \[Breaking\] Changed the library name from `format` to `cppformat` - for consistency with the project name and to avoid potential - conflicts (https://github.com/fmtlib/fmt/issues/178). - Thanks @jackyf. - -- C++ Format is now available in [Debian](https://www.debian.org/) - GNU/Linux - ([stretch](https://packages.debian.org/source/stretch/cppformat), - [sid](https://packages.debian.org/source/sid/cppformat)) and derived - distributions such as - [Ubuntu](https://launchpad.net/ubuntu/+source/cppformat) 15.10 and - later (https://github.com/fmtlib/fmt/issues/155): - - $ sudo apt-get install libcppformat1-dev - - Thanks @jackyf. - -- [Packages for Fedora and - RHEL](https://admin.fedoraproject.org/pkgdb/package/cppformat/) are - now available. Thanks Dave Johansen. - -- C++ Format can now be installed via [Homebrew](http://brew.sh/) on - OS X (https://github.com/fmtlib/fmt/issues/157): - - $ brew install cppformat - - Thanks @ortho and Anatoliy Bulukin. - -## Documentation - -- Migrated from ReadTheDocs to GitHub Pages for better responsiveness - and reliability (https://github.com/fmtlib/fmt/issues/128). - New documentation address is . -- Added [Building thedocumentation]( - https://fmt.dev/2.0.0/usage.html#building-the-documentation) - section to the documentation. -- Documentation build script is now compatible with Python 3 and newer - pip versions. (https://github.com/fmtlib/fmt/pull/189, - https://github.com/fmtlib/fmt/issues/209). - Thanks @JodiTheTigger and @xentec. -- Documentation fixes and improvements - (https://github.com/fmtlib/fmt/issues/36, - https://github.com/fmtlib/fmt/issues/75, - https://github.com/fmtlib/fmt/issues/125, - https://github.com/fmtlib/fmt/pull/160, - https://github.com/fmtlib/fmt/pull/161, - https://github.com/fmtlib/fmt/issues/162, - https://github.com/fmtlib/fmt/issues/165, - https://github.com/fmtlib/fmt/issues/210). - Thanks @syohex. -- Fixed out-of-tree documentation build - (https://github.com/fmtlib/fmt/issues/177). Thanks @jackyf. - -## Fixes - -- Fixed `initializer_list` detection - (https://github.com/fmtlib/fmt/issues/136). Thanks @Gachapen. - -- \[Breaking\] Fixed formatting of enums with numeric format - specifiers in `fmt::(s)printf` - (https://github.com/fmtlib/fmt/issues/131, - https://github.com/fmtlib/fmt/issues/139): - - ```c++ - enum { ANSWER = 42 }; - fmt::printf("%d", ANSWER); - ``` - - Thanks @Naios. - -- Improved compatibility with old versions of MinGW - (https://github.com/fmtlib/fmt/issues/129, - https://github.com/fmtlib/fmt/pull/130, - https://github.com/fmtlib/fmt/issues/132). Thanks @cstamford. - -- Fixed a compile error on MSVC with disabled exceptions - (https://github.com/fmtlib/fmt/issues/144). - -- Added a workaround for broken implementation of variadic templates - in MSVC2012 (https://github.com/fmtlib/fmt/issues/148). - -- Placed the anonymous namespace within `fmt` namespace for the - header-only configuration (https://github.com/fmtlib/fmt/issues/171). - Thanks @alfps. - -- Fixed issues reported by Coverity Scan - (https://github.com/fmtlib/fmt/issues/187, - https://github.com/fmtlib/fmt/issues/192). - -- Implemented a workaround for a name lookup bug in MSVC2010 - (https://github.com/fmtlib/fmt/issues/188). - -- Fixed compiler warnings - (https://github.com/fmtlib/fmt/issues/95, - https://github.com/fmtlib/fmt/issues/96, - https://github.com/fmtlib/fmt/pull/114, - https://github.com/fmtlib/fmt/issues/135, - https://github.com/fmtlib/fmt/issues/142, - https://github.com/fmtlib/fmt/issues/145, - https://github.com/fmtlib/fmt/issues/146, - https://github.com/fmtlib/fmt/issues/158, - https://github.com/fmtlib/fmt/issues/163, - https://github.com/fmtlib/fmt/issues/175, - https://github.com/fmtlib/fmt/issues/190, - https://github.com/fmtlib/fmt/pull/191, - https://github.com/fmtlib/fmt/issues/194, - https://github.com/fmtlib/fmt/pull/196, - https://github.com/fmtlib/fmt/issues/216, - https://github.com/fmtlib/fmt/pull/218, - https://github.com/fmtlib/fmt/pull/220, - https://github.com/fmtlib/fmt/pull/229, - https://github.com/fmtlib/fmt/issues/233, - https://github.com/fmtlib/fmt/issues/234, - https://github.com/fmtlib/fmt/pull/236, - https://github.com/fmtlib/fmt/issues/281, - https://github.com/fmtlib/fmt/issues/289). - Thanks @seanmiddleditch, @dixlorenz, @CarterLi, @Naios, @fmatthew5876, - @LevskiWeng, @rpopescu, @gabime, @cubicool, @jkflying, @LogicalKnight, - @inguin and @Jopie64. - -- Fixed portability issues (mostly causing test failures) on ARM, - ppc64, ppc64le, s390x and SunOS 5.11 i386 - (https://github.com/fmtlib/fmt/issues/138, - https://github.com/fmtlib/fmt/issues/179, - https://github.com/fmtlib/fmt/issues/180, - https://github.com/fmtlib/fmt/issues/202, - https://github.com/fmtlib/fmt/issues/225, [Red Hat Bugzilla - Bug 1260297](https://bugzilla.redhat.com/show_bug.cgi?id=1260297)). - Thanks @Naios, @jackyf and Dave Johansen. - -- Fixed a name conflict with macro `free` defined in `crtdbg.h` when - `_CRTDBG_MAP_ALLOC` is set (https://github.com/fmtlib/fmt/issues/211). - -- Fixed shared library build on OS X - (https://github.com/fmtlib/fmt/pull/212). Thanks @dean0x7d. - -- Fixed an overload conflict on MSVC when `/Zc:wchar_t-` option is - specified (https://github.com/fmtlib/fmt/pull/214). - Thanks @slavanap. - -- Improved compatibility with MSVC 2008 - (https://github.com/fmtlib/fmt/pull/236). Thanks @Jopie64. - -- Improved compatibility with bcc32 - (https://github.com/fmtlib/fmt/issues/227). - -- Fixed `static_assert` detection on Clang - (https://github.com/fmtlib/fmt/pull/228). Thanks @dean0x7d. - -# 1.1.0 - 2015-03-06 - -- Added `BasicArrayWriter`, a class template that provides operations - for formatting and writing data into a fixed-size array - (https://github.com/fmtlib/fmt/issues/105 and - https://github.com/fmtlib/fmt/issues/122): - - ```c++ - char buffer[100]; - fmt::ArrayWriter w(buffer); - w.write("The answer is {}", 42); - ``` - -- Added [0 A.D.](http://play0ad.com/) and [PenUltima Online - (POL)](http://www.polserver.com/) to the list of notable projects - using C++ Format. - -- C++ Format now uses MSVC intrinsics for better formatting performance - (https://github.com/fmtlib/fmt/pull/115, - https://github.com/fmtlib/fmt/pull/116, - https://github.com/fmtlib/fmt/pull/118 and - https://github.com/fmtlib/fmt/pull/121). Previously these - optimizations where only used on GCC and Clang. - Thanks @CarterLi and @objectx. - -- CMake install target - (https://github.com/fmtlib/fmt/pull/119). Thanks @TrentHouliston. - - You can now install C++ Format with `make install` command. - -- Improved [Biicode](http://www.biicode.com/) support - (https://github.com/fmtlib/fmt/pull/98 and - https://github.com/fmtlib/fmt/pull/104). - Thanks @MariadeAnton and @franramirez688. - -- Improved support for building with [Android NDK]( - https://developer.android.com/tools/sdk/ndk/index.html) - (https://github.com/fmtlib/fmt/pull/107). Thanks @newnon. - - The [android-ndk-example](https://github.com/fmtlib/android-ndk-example) - repository provides and example of using C++ Format with Android NDK: - - ![](https://raw.githubusercontent.com/fmtlib/android-ndk-example/master/screenshot.png) - -- Improved documentation of `SystemError` and `WindowsError` - (https://github.com/fmtlib/fmt/issues/54). - -- Various code improvements - (https://github.com/fmtlib/fmt/pull/110, - https://github.com/fmtlib/fmt/pull/111 - https://github.com/fmtlib/fmt/pull/112). Thanks @CarterLi. - -- Improved compile-time errors when formatting wide into narrow - strings (https://github.com/fmtlib/fmt/issues/117). - -- Fixed `BasicWriter::write` without formatting arguments when C++11 - support is disabled - (https://github.com/fmtlib/fmt/issues/109). - -- Fixed header-only build on OS X with GCC 4.9 - (https://github.com/fmtlib/fmt/issues/124). - -- Fixed packaging issues (https://github.com/fmtlib/fmt/issues/94). - -- Added [changelog](https://github.com/fmtlib/fmt/blob/master/ChangeLog.md) - (https://github.com/fmtlib/fmt/issues/103). - -# 1.0.0 - 2015-02-05 - -- Add support for a header-only configuration when `FMT_HEADER_ONLY` - is defined before including `format.h`: - - ```c++ - #define FMT_HEADER_ONLY - #include "format.h" - ``` - -- Compute string length in the constructor of `BasicStringRef` instead - of the `size` method - (https://github.com/fmtlib/fmt/issues/79). This eliminates - size computation for string literals on reasonable optimizing - compilers. - -- Fix formatting of types with overloaded `operator <<` for - `std::wostream` (https://github.com/fmtlib/fmt/issues/86): - - ```c++ - fmt::format(L"The date is {0}", Date(2012, 12, 9)); - ``` - -- Fix linkage of tests on Arch Linux - (https://github.com/fmtlib/fmt/issues/89). - -- Allow precision specifier for non-float arguments - (https://github.com/fmtlib/fmt/issues/90): - - ```c++ - fmt::print("{:.3}\n", "Carpet"); // prints "Car" - ``` - -- Fix build on Android NDK (https://github.com/fmtlib/fmt/issues/93). - -- Improvements to documentation build procedure. - -- Remove `FMT_SHARED` CMake variable in favor of standard [BUILD_SHARED_LIBS]( - http://www.cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html). - -- Fix error handling in `fmt::fprintf`. - -- Fix a number of warnings. - -# 0.12.0 - 2014-10-25 - -- \[Breaking\] Improved separation between formatting and buffer - management. `Writer` is now a base class that cannot be instantiated - directly. The new `MemoryWriter` class implements the default buffer - management with small allocations done on stack. So `fmt::Writer` - should be replaced with `fmt::MemoryWriter` in variable - declarations. - - Old code: - - ```c++ - fmt::Writer w; - ``` - - New code: - - ```c++ - fmt::MemoryWriter w; - ``` - - If you pass `fmt::Writer` by reference, you can continue to do so: - - ```c++ - void f(fmt::Writer &w); - ``` - - This doesn\'t affect the formatting API. - -- Support for custom memory allocators - (https://github.com/fmtlib/fmt/issues/69) - -- Formatting functions now accept [signed char]{.title-ref} and - [unsigned char]{.title-ref} strings as arguments - (https://github.com/fmtlib/fmt/issues/73): - - ```c++ - auto s = format("GLSL version: {}", glGetString(GL_VERSION)); - ``` - -- Reduced code bloat. According to the new [benchmark - results](https://github.com/fmtlib/fmt#compile-time-and-code-bloat), - cppformat is close to `printf` and by the order of magnitude better - than Boost Format in terms of compiled code size. - -- Improved appearance of the documentation on mobile by using the - [Sphinx Bootstrap - theme](http://ryan-roemer.github.io/sphinx-bootstrap-theme/): - - | Old | New | - | --- | --- | - | ![](https://cloud.githubusercontent.com/assets/576385/4792130/cd256436-5de3-11e4-9a62-c077d0c2b003.png) | ![](https://cloud.githubusercontent.com/assets/576385/4792131/cd29896c-5de3-11e4-8f59-cac952942bf0.png) | - -# 0.11.0 - 2014-08-21 - -- Safe printf implementation with a POSIX extension for positional - arguments: - - ```c++ - fmt::printf("Elapsed time: %.2f seconds", 1.23); - fmt::printf("%1$s, %3$d %2$s", weekday, month, day); - ``` - -- Arguments of `char` type can now be formatted as integers (Issue - https://github.com/fmtlib/fmt/issues/55): - - ```c++ - fmt::format("0x{0:02X}", 'a'); - ``` - -- Deprecated parts of the API removed. - -- The library is now built and tested on MinGW with Appveyor in - addition to existing test platforms Linux/GCC, OS X/Clang, - Windows/MSVC. - -# 0.10.0 - 2014-07-01 - -**Improved API** - -- All formatting methods are now implemented as variadic functions - instead of using `operator<<` for feeding arbitrary arguments into a - temporary formatter object. This works both with C++11 where - variadic templates are used and with older standards where variadic - functions are emulated by providing lightweight wrapper functions - defined with the `FMT_VARIADIC` macro. You can use this macro for - defining your own portable variadic functions: - - ```c++ - void report_error(const char *format, const fmt::ArgList &args) { - fmt::print("Error: {}"); - fmt::print(format, args); - } - FMT_VARIADIC(void, report_error, const char *) + ```c++ + #include + #include - report_error("file not found: {}", path); - ``` + int main() { + std::locale::global(std::locale("fr_FR.UTF-8")); + fmt::print("{0:.2Lf}", 0.42); + } + ``` - Apart from a more natural syntax, this also improves performance as - there is no need to construct temporary formatter objects and - control arguments\' lifetimes. Because the wrapper functions are - very lightweight, this doesn\'t cause code bloat even in pre-C++11 - mode. + prints \"0,42\". The deprecated `'n'` specifier has been removed. -- Simplified common case of formatting an `std::string`. Now it - requires a single function call: +- Made the `0` specifier ignored for infinity and NaN + (https://github.com/fmtlib/fmt/issues/2305, + https://github.com/fmtlib/fmt/pull/2310). Thanks @Liedtke. - ```c++ - std::string s = format("The answer is {}.", 42); - ``` +- Made the hexfloat formatting use the right alignment by default + (https://github.com/fmtlib/fmt/issues/2308, + https://github.com/fmtlib/fmt/pull/2317). Thanks @Liedtke. - Previously it required 2 function calls: +- Removed the deprecated numeric alignment (`'='`). Use the `'0'` + specifier instead. - ```c++ - std::string s = str(Format("The answer is {}.") << 42); - ``` +- Removed the deprecated `fmt/posix.h` header that has been replaced + with `fmt/os.h`. - Instead of unsafe `c_str` function, `fmt::Writer` should be used - directly to bypass creation of `std::string`: +- Removed the deprecated `format_to_n_context`, `format_to_n_args` and + `make_format_to_n_args`. They have been replaced with + `format_context`, `` format_args` and ``make_format_args\`\` + respectively. - ```c++ - fmt::Writer w; - w.write("The answer is {}.", 42); - w.c_str(); // returns a C string - ``` +- Moved `wchar_t`-specific functions and types to `fmt/xchar.h`. You + can define `FMT_DEPRECATED_INCLUDE_XCHAR` to automatically include + `fmt/xchar.h` from `fmt/format.h` but this will be disabled in the + next major release. - This doesn\'t do dynamic memory allocation for small strings and is - less error prone as the lifetime of the string is the same as for - `std::string::c_str` which is well understood (hopefully). +- Fixed handling of the `'+'` specifier in localized formatting + (https://github.com/fmtlib/fmt/issues/2133). -- Improved consistency in naming functions that are a part of the - public API. Now all public functions are lowercase following the - standard library conventions. Previously it was a combination of - lowercase and CapitalizedWords. Issue - https://github.com/fmtlib/fmt/issues/50. +- Added support for the `'s'` format specifier that gives textual + representation of `bool` + (https://github.com/fmtlib/fmt/issues/2094, + https://github.com/fmtlib/fmt/pull/2109). For example: -- Old functions are marked as deprecated and will be removed in the - next release. + ```c++ + #include -**Other Changes** + int main() { + fmt::print("{:s}", true); + } + ``` -- Experimental support for printf format specifications (work in - progress): + prints \"true\". Thanks @powercoderlol. - ```c++ - fmt::printf("The answer is %d.", 42); - std::string s = fmt::sprintf("Look, a %s!", "string"); - ``` +- Made `fmt::ptr` work with function pointers + (https://github.com/fmtlib/fmt/pull/2131). For example: -- Support for hexadecimal floating point format specifiers `a` and - `A`: + ```c++ + #include - ```c++ - print("{:a}", -42.0); // Prints -0x1.5p+5 - print("{:A}", -42.0); // Prints -0X1.5P+5 - ``` + int main() { + fmt::print("My main: {}\n", fmt::ptr(main)); + } + ``` -- CMake option `FMT_SHARED` that specifies whether to build format as - a shared library (off by default). + Thanks @mikecrowe. -# 0.9.0 - 2014-05-13 +- The undocumented support for specializing `formatter` for pointer + types has been removed. -- More efficient implementation of variadic formatting functions. +- Fixed `fmt::formatted_size` with format string compilation + (https://github.com/fmtlib/fmt/pull/2141, + https://github.com/fmtlib/fmt/pull/2161). Thanks @alexezeder. -- `Writer::Format` now has a variadic overload: +- Fixed handling of empty format strings during format string + compilation (https://github.com/fmtlib/fmt/issues/2042): - ```c++ - Writer out; - out.Format("Look, I'm {}!", "variadic"); - ``` + ```c++ + auto s = fmt::format(FMT_COMPILE("")); + ``` -- For efficiency and consistency with other overloads, variadic - overload of the `Format` function now returns `Writer` instead of - `std::string`. Use the `str` function to convert it to - `std::string`: + Thanks @alexezeder. - ```c++ - std::string s = str(Format("Look, I'm {}!", "variadic")); - ``` +- Fixed handling of enums in `fmt::to_string` + (https://github.com/fmtlib/fmt/issues/2036). -- Replaced formatter actions with output sinks: `NoAction` -\> - `NullSink`, `Write` -\> `FileSink`, `ColorWriter` -\> - `ANSITerminalSink`. This improves naming consistency and shouldn\'t - affect client code unless these classes are used directly which - should be rarely needed. +- Improved width computation + (https://github.com/fmtlib/fmt/issues/2033, + https://github.com/fmtlib/fmt/issues/2091). For example: -- Added `ThrowSystemError` function that formats a message and throws - `SystemError` containing the formatted message and system-specific - error description. For example, the following code + ```c++ + #include - ```c++ - FILE *f = fopen(filename, "r"); - if (!f) - ThrowSystemError(errno, "Failed to open file '{}'") << filename; - ``` + int main() { + fmt::print("{:-<10}{}\n", "你好", "世界"); + fmt::print("{:-<10}{}\n", "hello", "world"); + } + ``` - will throw `SystemError` exception with description \"Failed to open - file \'\\': No such file or directory\" if file doesn\'t - exist. + prints -- Support for AppVeyor continuous integration platform. + ![](https://user-images.githubusercontent.com/576385/119840373-cea3ca80-beb9-11eb-91e0-54266c48e181.png) -- `Format` now throws `SystemError` in case of I/O errors. + on a modern terminal. -- Improve test infrastructure. Print functions are now tested by - redirecting the output to a pipe. +- The experimental fast output stream (`fmt::ostream`) is now + truncated by default for consistency with `fopen` + (https://github.com/fmtlib/fmt/issues/2018). For example: -# 0.8.0 - 2014-04-14 + ```c++ + #include -- Initial release + int main() { + fmt::ostream out1 = fmt::output_file("guide"); + out1.print("Zaphod"); + out1.close(); + fmt::ostream out2 = fmt::output_file("guide"); + out2.print("Ford"); + } + ``` + + writes \"Ford\" to the file \"guide\". To preserve the old file + content if any pass `fmt::file::WRONLY | fmt::file::CREATE` flags to + `fmt::output_file`. + +- Fixed moving of `fmt::ostream` that holds buffered data + (https://github.com/fmtlib/fmt/issues/2197, + https://github.com/fmtlib/fmt/pull/2198). Thanks @vtta. + +- Replaced the `fmt::system_error` exception with a function of the + same name that constructs `std::system_error` + (https://github.com/fmtlib/fmt/issues/2266). + +- Replaced the `fmt::windows_error` exception with a function of the + same name that constructs `std::system_error` with the category + returned by `fmt::system_category()` + (https://github.com/fmtlib/fmt/issues/2274, + https://github.com/fmtlib/fmt/pull/2275). The latter is + similar to `std::system_category` but correctly handles UTF-8. + Thanks @phprus. + +- Replaced `fmt::error_code` with `std::error_code` and made it + formattable (https://github.com/fmtlib/fmt/issues/2269, + https://github.com/fmtlib/fmt/pull/2270, + https://github.com/fmtlib/fmt/pull/2273). Thanks @phprus. + +- Added speech synthesis support + (https://github.com/fmtlib/fmt/pull/2206). + +- Made `format_to` work with a memory buffer that has a custom + allocator (https://github.com/fmtlib/fmt/pull/2300). + Thanks @voxmea. + +- Added `Allocator::max_size` support to `basic_memory_buffer`. + (https://github.com/fmtlib/fmt/pull/1960). Thanks @phprus. + +- Added wide string support to `fmt::join` + (https://github.com/fmtlib/fmt/pull/2236). Thanks @crbrz. + +- Made iterators passed to `formatter` specializations via a format + context satisfy C++20 `std::output_iterator` requirements + (https://github.com/fmtlib/fmt/issues/2156, + https://github.com/fmtlib/fmt/pull/2158, + https://github.com/fmtlib/fmt/issues/2195, + https://github.com/fmtlib/fmt/pull/2204). Thanks @randomnetcat. + +- Optimized the `printf` implementation + (https://github.com/fmtlib/fmt/pull/1982, + https://github.com/fmtlib/fmt/pull/1984, + https://github.com/fmtlib/fmt/pull/2016, + https://github.com/fmtlib/fmt/pull/2164). + Thanks @rimathia and @moiwi. + +- Improved detection of `constexpr` `char_traits` + (https://github.com/fmtlib/fmt/pull/2246, + https://github.com/fmtlib/fmt/pull/2257). Thanks @phprus. + +- Fixed writing to `stdout` when it is redirected to `NUL` on Windows + (https://github.com/fmtlib/fmt/issues/2080). + +- Fixed exception propagation from iterators + (https://github.com/fmtlib/fmt/issues/2097). + +- Improved `strftime` error handling + (https://github.com/fmtlib/fmt/issues/2238, + https://github.com/fmtlib/fmt/pull/2244). Thanks @yumeyao. + +- Stopped using deprecated GCC UDL template extension. + +- Added `fmt/args.h` to the install target + (https://github.com/fmtlib/fmt/issues/2096). + +- Error messages are now passed to assert when exceptions are disabled + (https://github.com/fmtlib/fmt/pull/2145). Thanks @NobodyXu. + +- Added the `FMT_MASTER_PROJECT` CMake option to control build and + install targets when {fmt} is included via `add_subdirectory` + (https://github.com/fmtlib/fmt/issues/2098, + https://github.com/fmtlib/fmt/pull/2100). + Thanks @randomizedthinking. + +- Improved build configuration + (https://github.com/fmtlib/fmt/pull/2026, + https://github.com/fmtlib/fmt/pull/2122). + Thanks @luncliff and @ibaned. + +- Fixed various warnings and compilation issues + (https://github.com/fmtlib/fmt/issues/1947, + https://github.com/fmtlib/fmt/pull/1959, + https://github.com/fmtlib/fmt/pull/1963, + https://github.com/fmtlib/fmt/pull/1965, + https://github.com/fmtlib/fmt/issues/1966, + https://github.com/fmtlib/fmt/pull/1974, + https://github.com/fmtlib/fmt/pull/1975, + https://github.com/fmtlib/fmt/pull/1990, + https://github.com/fmtlib/fmt/issues/2000, + https://github.com/fmtlib/fmt/pull/2001, + https://github.com/fmtlib/fmt/issues/2002, + https://github.com/fmtlib/fmt/issues/2004, + https://github.com/fmtlib/fmt/pull/2006, + https://github.com/fmtlib/fmt/pull/2009, + https://github.com/fmtlib/fmt/pull/2010, + https://github.com/fmtlib/fmt/issues/2038, + https://github.com/fmtlib/fmt/issues/2039, + https://github.com/fmtlib/fmt/issues/2047, + https://github.com/fmtlib/fmt/pull/2053, + https://github.com/fmtlib/fmt/issues/2059, + https://github.com/fmtlib/fmt/pull/2065, + https://github.com/fmtlib/fmt/pull/2067, + https://github.com/fmtlib/fmt/pull/2068, + https://github.com/fmtlib/fmt/pull/2073, + https://github.com/fmtlib/fmt/issues/2103, + https://github.com/fmtlib/fmt/issues/2105, + https://github.com/fmtlib/fmt/pull/2106, + https://github.com/fmtlib/fmt/pull/2107, + https://github.com/fmtlib/fmt/issues/2116, + https://github.com/fmtlib/fmt/pull/2117, + https://github.com/fmtlib/fmt/issues/2118, + https://github.com/fmtlib/fmt/pull/2119, + https://github.com/fmtlib/fmt/issues/2127, + https://github.com/fmtlib/fmt/pull/2128, + https://github.com/fmtlib/fmt/issues/2140, + https://github.com/fmtlib/fmt/issues/2142, + https://github.com/fmtlib/fmt/pull/2143, + https://github.com/fmtlib/fmt/pull/2144, + https://github.com/fmtlib/fmt/issues/2147, + https://github.com/fmtlib/fmt/issues/2148, + https://github.com/fmtlib/fmt/issues/2149, + https://github.com/fmtlib/fmt/pull/2152, + https://github.com/fmtlib/fmt/pull/2160, + https://github.com/fmtlib/fmt/issues/2170, + https://github.com/fmtlib/fmt/issues/2175, + https://github.com/fmtlib/fmt/issues/2176, + https://github.com/fmtlib/fmt/pull/2177, + https://github.com/fmtlib/fmt/issues/2178, + https://github.com/fmtlib/fmt/pull/2179, + https://github.com/fmtlib/fmt/issues/2180, + https://github.com/fmtlib/fmt/issues/2181, + https://github.com/fmtlib/fmt/pull/2183, + https://github.com/fmtlib/fmt/issues/2184, + https://github.com/fmtlib/fmt/issues/2185, + https://github.com/fmtlib/fmt/pull/2186, + https://github.com/fmtlib/fmt/pull/2187, + https://github.com/fmtlib/fmt/pull/2190, + https://github.com/fmtlib/fmt/pull/2192, + https://github.com/fmtlib/fmt/pull/2194, + https://github.com/fmtlib/fmt/pull/2205, + https://github.com/fmtlib/fmt/issues/2210, + https://github.com/fmtlib/fmt/pull/2211, + https://github.com/fmtlib/fmt/pull/2215, + https://github.com/fmtlib/fmt/pull/2216, + https://github.com/fmtlib/fmt/pull/2218, + https://github.com/fmtlib/fmt/pull/2220, + https://github.com/fmtlib/fmt/issues/2228, + https://github.com/fmtlib/fmt/pull/2229, + https://github.com/fmtlib/fmt/pull/2230, + https://github.com/fmtlib/fmt/issues/2233, + https://github.com/fmtlib/fmt/pull/2239, + https://github.com/fmtlib/fmt/issues/2248, + https://github.com/fmtlib/fmt/issues/2252, + https://github.com/fmtlib/fmt/pull/2253, + https://github.com/fmtlib/fmt/pull/2255, + https://github.com/fmtlib/fmt/issues/2261, + https://github.com/fmtlib/fmt/issues/2278, + https://github.com/fmtlib/fmt/issues/2284, + https://github.com/fmtlib/fmt/pull/2287, + https://github.com/fmtlib/fmt/pull/2289, + https://github.com/fmtlib/fmt/pull/2290, + https://github.com/fmtlib/fmt/pull/2293, + https://github.com/fmtlib/fmt/issues/2295, + https://github.com/fmtlib/fmt/pull/2296, + https://github.com/fmtlib/fmt/pull/2297, + https://github.com/fmtlib/fmt/issues/2311, + https://github.com/fmtlib/fmt/pull/2313, + https://github.com/fmtlib/fmt/pull/2315, + https://github.com/fmtlib/fmt/issues/2320, + https://github.com/fmtlib/fmt/pull/2321, + https://github.com/fmtlib/fmt/pull/2323, + https://github.com/fmtlib/fmt/issues/2328, + https://github.com/fmtlib/fmt/pull/2329, + https://github.com/fmtlib/fmt/pull/2333, + https://github.com/fmtlib/fmt/pull/2338, + https://github.com/fmtlib/fmt/pull/2341). + Thanks @darklukee, @fagg, @killerbot242, @jgopel, @yeswalrus, @Finkman, + @HazardyKnusperkeks, @dkavolis, @concatime, @chronoxor, @summivox, @yNeo, + @Apache-HB, @alexezeder, @toojays, @Brainy0207, @vadz, @imsherlock, @phprus, + @white238, @yafshar, @BillyDonahue, @jstaahl, @denchat, @DanielaE, + @ilyakurdyukov, @ilmai, @JessyDL, @sergiud, @mwinterb, @sven-herrmann, + @jmelas, @twoixter, @crbrz and @upsj. + +- Improved documentation + (https://github.com/fmtlib/fmt/issues/1986, + https://github.com/fmtlib/fmt/pull/2051, + https://github.com/fmtlib/fmt/issues/2057, + https://github.com/fmtlib/fmt/pull/2081, + https://github.com/fmtlib/fmt/issues/2084, + https://github.com/fmtlib/fmt/pull/2312). + Thanks @imba-tjd, @0x416c69 and @mordante. + +- Continuous integration and test improvements + (https://github.com/fmtlib/fmt/issues/1969, + https://github.com/fmtlib/fmt/pull/1991, + https://github.com/fmtlib/fmt/pull/2020, + https://github.com/fmtlib/fmt/pull/2110, + https://github.com/fmtlib/fmt/pull/2114, + https://github.com/fmtlib/fmt/issues/2196, + https://github.com/fmtlib/fmt/pull/2217, + https://github.com/fmtlib/fmt/pull/2247, + https://github.com/fmtlib/fmt/pull/2256, + https://github.com/fmtlib/fmt/pull/2336, + https://github.com/fmtlib/fmt/pull/2346). + Thanks @jgopel, @alexezeder and @DanielaE. + +The change log for versions 0.8.0 - 7.1.3 is available [here]( +doc/ChangeLog-old.md). diff --git a/3rdparty/fmt/README.md b/3rdparty/fmt/README.md index dcfb16ec22086..fd845db20c2c7 100644 --- a/3rdparty/fmt/README.md +++ b/3rdparty/fmt/README.md @@ -20,16 +20,16 @@ that help victims of the war in Ukraine: . Q&A: ask questions on [StackOverflow with the tag fmt](https://stackoverflow.com/questions/tagged/fmt). -Try {fmt} in [Compiler Explorer](https://godbolt.org/z/Eq5763). +Try {fmt} in [Compiler Explorer](https://godbolt.org/z/8Mx1EW73v). # Features -- Simple [format API](https://fmt.dev/latest/api.html) with positional +- Simple [format API](https://fmt.dev/latest/api/) with positional arguments for localization - Implementation of [C++20 std::format](https://en.cppreference.com/w/cpp/utility/format) and [C++23 std::print](https://en.cppreference.com/w/cpp/io/print) -- [Format string syntax](https://fmt.dev/latest/syntax.html) similar +- [Format string syntax](https://fmt.dev/latest/syntax/) similar to Python\'s [format](https://docs.python.org/3/library/stdtypes.html#str.format) - Fast IEEE 754 floating-point formatter with correct rounding, @@ -37,10 +37,10 @@ Try {fmt} in [Compiler Explorer](https://godbolt.org/z/Eq5763). [Dragonbox](https://github.com/jk-jeon/dragonbox) algorithm - Portable Unicode support - Safe [printf - implementation](https://fmt.dev/latest/api.html#printf-formatting) + implementation](https://fmt.dev/latest/api/#printf-formatting) including the POSIX extension for positional arguments - Extensibility: [support for user-defined - types](https://fmt.dev/latest/api.html#formatting-user-defined-types) + types](https://fmt.dev/latest/api/#formatting-user-defined-types) - High performance: faster than common standard library implementations of `(s)printf`, iostreams, `to_string` and `to_chars`, see [Speed tests](#speed-tests) and [Converting a @@ -58,8 +58,8 @@ Try {fmt} in [Compiler Explorer](https://godbolt.org/z/Eq5763). buffer overflow errors - Ease of use: small self-contained code base, no external dependencies, permissive MIT - [license](https://github.com/fmtlib/fmt/blob/master/LICENSE.rst) -- [Portability](https://fmt.dev/latest/index.html#portability) with + [license](https://github.com/fmtlib/fmt/blob/master/LICENSE) +- [Portability](https://fmt.dev/latest/#portability) with consistent output across platforms and support for older compilers - Clean warning-free codebase even on high warning levels such as `-Wall -Wextra -pedantic` @@ -203,43 +203,38 @@ and [ryu](https://github.com/ulfjack/ryu): ## Compile time and code bloat -The script -[bloat-test.py](https://github.com/fmtlib/format-benchmark/blob/master/bloat-test.py) -from [format-benchmark](https://github.com/fmtlib/format-benchmark) -tests compile time and code bloat for nontrivial projects. It generates -100 translation units and uses `printf()` or its alternative five times -in each to simulate a medium-sized project. The resulting executable -size and compile time (Apple LLVM version 8.1.0 (clang-802.0.42), macOS -Sierra, best of three) is shown in the following tables. +The script [bloat-test.py][test] from [format-benchmark][bench] tests compile +time and code bloat for nontrivial projects. It generates 100 translation units +and uses `printf()` or its alternative five times in each to simulate a +medium-sized project. The resulting executable size and compile time (Apple +clang version 15.0.0 (clang-1500.1.0.2.5), macOS Sonoma, best of three) is shown +in the following tables. + +[test]: https://github.com/fmtlib/format-benchmark/blob/master/bloat-test.py +[bench]: https://github.com/fmtlib/format-benchmark **Optimized build (-O3)** | Method | Compile Time, s | Executable size, KiB | Stripped size, KiB | |---------------|-----------------|----------------------|--------------------| -| printf | 2.6 | 29 | 26 | -| printf+string | 16.4 | 29 | 26 | -| iostreams | 31.1 | 59 | 55 | -| {fmt} | 19.0 | 37 | 34 | -| Boost Format | 91.9 | 226 | 203 | -| Folly Format | 115.7 | 101 | 88 | - -As you can see, {fmt} has 60% less overhead in terms of resulting binary -code size compared to iostreams and comes pretty close to `printf`. -Boost Format and Folly Format have the largest overheads. +| printf | 1.6 | 54 | 50 | +| IOStreams | 25.9 | 98 | 84 | +| fmt 83652df | 4.8 | 54 | 50 | +| tinyformat | 29.1 | 161 | 136 | +| Boost Format | 55.0 | 530 | 317 | -`printf+string` is the same as `printf` but with an extra `` -include to measure the overhead of the latter. +{fmt} is fast to compile and is comparable to `printf` in terms of per-call +binary size (within a rounding error on this system). **Non-optimized build** | Method | Compile Time, s | Executable size, KiB | Stripped size, KiB | |---------------|-----------------|----------------------|--------------------| -| printf | 2.2 | 33 | 30 | -| printf+string | 16.0 | 33 | 30 | -| iostreams | 28.3 | 56 | 52 | -| {fmt} | 18.2 | 59 | 50 | -| Boost Format | 54.1 | 365 | 303 | -| Folly Format | 79.9 | 445 | 430 | +| printf | 1.4 | 54 | 50 | +| IOStreams | 23.4 | 92 | 68 | +| {fmt} 83652df | 4.4 | 89 | 85 | +| tinyformat | 24.5 | 204 | 161 | +| Boost Format | 36.4 | 831 | 462 | `libc`, `lib(std)c++`, and `libfmt` are all linked as shared libraries to compare formatting function overhead only. Boost Format is a @@ -248,7 +243,7 @@ header-only library so it doesn\'t provide any linkage options. ## Running the tests Please refer to [Building the -library](https://fmt.dev/latest/usage.html#building-the-library) for +library](https://fmt.dev/latest/get-started/#building-from-source) for instructions on how to build the library and run the unit tests. Benchmarks reside in a separate repository, @@ -270,8 +265,7 @@ or the bloat test: # Migrating code -[clang-tidy](https://clang.llvm.org/extra/clang-tidy/) v17 (not yet -released) provides the +[clang-tidy](https://clang.llvm.org/extra/clang-tidy/) v18 provides the [modernize-use-std-print](https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-std-print.html) check that is capable of converting occurrences of `printf` and `fprintf` to `fmt::print` if configured to do so. (By default it @@ -297,13 +291,14 @@ converts to `std::print`.) - [ccache](https://ccache.dev/): a compiler cache - [ClickHouse](https://github.com/ClickHouse/ClickHouse): an analytical database management system +- [ContextVision](https://www.contextvision.com/): medical imaging software - [Contour](https://github.com/contour-terminal/contour/): a modern terminal emulator - [CUAUV](https://cuauv.org/): Cornell University\'s autonomous underwater vehicle - [Drake](https://drake.mit.edu/): a planning, control, and analysis toolbox for nonlinear dynamical systems (MIT) -- [Envoy](https://lyft.github.io/envoy/): C++ L7 proxy and +- [Envoy](https://github.com/envoyproxy/envoy): C++ L7 proxy and communication bus (Lyft) - [FiveM](https://fivem.net/): a modification framework for GTA V - [fmtlog](https://github.com/MengRao/fmtlog): a performant @@ -343,7 +338,7 @@ converts to `std::print`.) - [Quill](https://github.com/odygrd/quill): asynchronous low-latency logging library - [QKW](https://github.com/ravijanjam/qkw): generalizing aliasing to - simplify navigation, and executing complex multi-line terminal + simplify navigation, and execute complex multi-line terminal command sequences - [redis-cerberus](https://github.com/HunanTV/redis-cerberus): a Redis cluster proxy @@ -432,7 +427,7 @@ code bloat issues (see [Benchmarks](#benchmarks)). ## FastFormat -This is an interesting library that is fast, safe, and has positional +This is an interesting library that is fast, safe and has positional arguments. However, it has significant limitations, citing its author: > Three features that have no hope of being accommodated within the @@ -442,8 +437,8 @@ arguments. However, it has significant limitations, citing its author: > - Octal/hexadecimal encoding > - Runtime width/alignment specification -It is also quite big and has a heavy dependency, STLSoft, which might be -too restrictive for using it in some projects. +It is also quite big and has a heavy dependency, on STLSoft, which might be +too restrictive for use in some projects. ## Boost Spirit.Karma @@ -462,7 +457,7 @@ second](http://www.zverovich.net/2020/06/13/fast-int-to-string-revisited.html). # Documentation License -The [Format String Syntax](https://fmt.dev/latest/syntax.html) section +The [Format String Syntax](https://fmt.dev/latest/syntax/) section in the documentation is based on the one from Python [string module documentation](https://docs.python.org/3/library/string.html#module-string). For this reason, the documentation is distributed under the Python @@ -486,5 +481,5 @@ To report a security issue, please disclose it at [security advisory](https://github.com/fmtlib/fmt/security/advisories/new). This project is maintained by a team of volunteers on a -reasonable-effort basis. As such, please give us at least 90 days to +reasonable-effort basis. As such, please give us at least *90* days to work on a fix before public exposure. diff --git a/3rdparty/fmt/include/fmt/args.h b/3rdparty/fmt/include/fmt/args.h index ad1654bbb6006..3ff47880748fb 100644 --- a/3rdparty/fmt/include/fmt/args.h +++ b/3rdparty/fmt/include/fmt/args.h @@ -8,14 +8,15 @@ #ifndef FMT_ARGS_H_ #define FMT_ARGS_H_ -#include // std::reference_wrapper -#include // std::unique_ptr -#include +#ifndef FMT_MODULE +# include // std::reference_wrapper +# include // std::unique_ptr +# include +#endif -#include "core.h" +#include "format.h" // std_string_view FMT_BEGIN_NAMESPACE - namespace detail { template struct is_reference_wrapper : std::false_type {}; @@ -28,15 +29,18 @@ auto unwrap(const std::reference_wrapper& v) -> const T& { return static_cast(v); } -class dynamic_arg_list { - // Workaround for clang's -Wweak-vtables. Unlike for regular classes, for - // templates it doesn't complain about inability to deduce single translation - // unit for placing vtable. So storage_node_base is made a fake template. - template struct node { - virtual ~node() = default; - std::unique_ptr> next; - }; +// node is defined outside dynamic_arg_list to workaround a C2504 bug in MSVC +// 2022 (v17.10.0). +// +// Workaround for clang's -Wweak-vtables. Unlike for regular classes, for +// templates it doesn't complain about inability to deduce single translation +// unit for placing vtable. So node is made a fake template. +template struct node { + virtual ~node() = default; + std::unique_ptr> next; +}; +class dynamic_arg_list { template struct typed_node : node<> { T value; @@ -62,28 +66,18 @@ class dynamic_arg_list { } // namespace detail /** - \rst - A dynamic version of `fmt::format_arg_store`. - It's equipped with a storage to potentially temporary objects which lifetimes - could be shorter than the format arguments object. - - It can be implicitly converted into `~fmt::basic_format_args` for passing - into type-erased formatting functions such as `~fmt::vformat`. - \endrst + * A dynamic list of formatting arguments with storage. + * + * It can be implicitly converted into `fmt::basic_format_args` for passing + * into type-erased formatting functions such as `fmt::vformat`. */ -template -class dynamic_format_arg_store -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 - // Workaround a GCC template argument substitution bug. - : public basic_format_args -#endif -{ +template class dynamic_format_arg_store { private: using char_type = typename Context::char_type; template struct need_copy { static constexpr detail::type mapped_type = - detail::mapped_type_constant::value; + detail::mapped_type_constant::value; enum { value = !(detail::is_reference_wrapper::value || @@ -96,7 +90,7 @@ class dynamic_format_arg_store }; template - using stored_type = conditional_t< + using stored_t = conditional_t< std::is_convertible>::value && !detail::is_reference_wrapper::value, std::basic_string, T>; @@ -111,80 +105,72 @@ class dynamic_format_arg_store friend class basic_format_args; - auto get_types() const -> unsigned long long { - return detail::is_unpacked_bit | data_.size() | - (named_info_.empty() - ? 0ULL - : static_cast(detail::has_named_args_bit)); - } - auto data() const -> const basic_format_arg* { return named_info_.empty() ? data_.data() : data_.data() + 1; } template void emplace_arg(const T& arg) { - data_.emplace_back(detail::make_arg(arg)); + data_.emplace_back(arg); } template void emplace_arg(const detail::named_arg& arg) { - if (named_info_.empty()) { - constexpr const detail::named_arg_info* zero_ptr{nullptr}; - data_.insert(data_.begin(), {zero_ptr, 0}); - } - data_.emplace_back(detail::make_arg(detail::unwrap(arg.value))); + if (named_info_.empty()) + data_.insert(data_.begin(), basic_format_arg(nullptr, 0)); + data_.emplace_back(detail::unwrap(arg.value)); auto pop_one = [](std::vector>* data) { data->pop_back(); }; std::unique_ptr>, decltype(pop_one)> guard{&data_, pop_one}; named_info_.push_back({arg.name, static_cast(data_.size() - 2u)}); - data_[0].value_.named_args = {named_info_.data(), named_info_.size()}; + data_[0] = {named_info_.data(), named_info_.size()}; guard.release(); } public: constexpr dynamic_format_arg_store() = default; + operator basic_format_args() const { + return basic_format_args(data(), static_cast(data_.size()), + !named_info_.empty()); + } + /** - \rst - Adds an argument into the dynamic store for later passing to a formatting - function. - - Note that custom types and string types (but not string views) are copied - into the store dynamically allocating memory if necessary. - - **Example**:: - - fmt::dynamic_format_arg_store store; - store.push_back(42); - store.push_back("abc"); - store.push_back(1.5f); - std::string result = fmt::vformat("{} and {} and {}", store); - \endrst - */ + * Adds an argument into the dynamic store for later passing to a formatting + * function. + * + * Note that custom types and string types (but not string views) are copied + * into the store dynamically allocating memory if necessary. + * + * **Example**: + * + * fmt::dynamic_format_arg_store store; + * store.push_back(42); + * store.push_back("abc"); + * store.push_back(1.5f); + * std::string result = fmt::vformat("{} and {} and {}", store); + */ template void push_back(const T& arg) { if (detail::const_check(need_copy::value)) - emplace_arg(dynamic_args_.push>(arg)); + emplace_arg(dynamic_args_.push>(arg)); else emplace_arg(detail::unwrap(arg)); } /** - \rst - Adds a reference to the argument into the dynamic store for later passing to - a formatting function. - - **Example**:: - - fmt::dynamic_format_arg_store store; - char band[] = "Rolling Stones"; - store.push_back(std::cref(band)); - band[9] = 'c'; // Changing str affects the output. - std::string result = fmt::vformat("{}", store); - // result == "Rolling Scones" - \endrst - */ + * Adds a reference to the argument into the dynamic store for later passing + * to a formatting function. + * + * **Example**: + * + * fmt::dynamic_format_arg_store store; + * char band[] = "Rolling Stones"; + * store.push_back(std::cref(band)); + * band[9] = 'c'; // Changing str affects the output. + * std::string result = fmt::vformat("{}", store); + * // result == "Rolling Scones" + */ template void push_back(std::reference_wrapper arg) { static_assert( need_copy::value, @@ -193,41 +179,40 @@ class dynamic_format_arg_store } /** - Adds named argument into the dynamic store for later passing to a formatting - function. ``std::reference_wrapper`` is supported to avoid copying of the - argument. The name is always copied into the store. - */ + * Adds named argument into the dynamic store for later passing to a + * formatting function. `std::reference_wrapper` is supported to avoid + * copying of the argument. The name is always copied into the store. + */ template void push_back(const detail::named_arg& arg) { const char_type* arg_name = dynamic_args_.push>(arg.name).c_str(); if (detail::const_check(need_copy::value)) { emplace_arg( - fmt::arg(arg_name, dynamic_args_.push>(arg.value))); + fmt::arg(arg_name, dynamic_args_.push>(arg.value))); } else { emplace_arg(fmt::arg(arg_name, arg.value)); } } - /** Erase all elements from the store */ + /// Erase all elements from the store. void clear() { data_.clear(); named_info_.clear(); - dynamic_args_ = detail::dynamic_arg_list(); + dynamic_args_ = {}; } - /** - \rst - Reserves space to store at least *new_cap* arguments including - *new_cap_named* named arguments. - \endrst - */ + /// Reserves space to store at least `new_cap` arguments including + /// `new_cap_named` named arguments. void reserve(size_t new_cap, size_t new_cap_named) { FMT_ASSERT(new_cap >= new_cap_named, - "Set of arguments includes set of named arguments"); + "set of arguments includes set of named arguments"); data_.reserve(new_cap); named_info_.reserve(new_cap_named); } + + /// Returns the number of elements in the store. + size_t size() const noexcept { return data_.size(); } }; FMT_END_NAMESPACE diff --git a/3rdparty/fmt/include/fmt/base.h b/3rdparty/fmt/include/fmt/base.h new file mode 100644 index 0000000000000..c1d09c6d4712d --- /dev/null +++ b/3rdparty/fmt/include/fmt/base.h @@ -0,0 +1,2958 @@ +// Formatting library for C++ - the base API for char/UTF-8 +// +// Copyright (c) 2012 - present, Victor Zverovich +// All rights reserved. +// +// For the license information refer to format.h. + +#ifndef FMT_BASE_H_ +#define FMT_BASE_H_ + +#if defined(FMT_IMPORT_STD) && !defined(FMT_MODULE) +# define FMT_MODULE +#endif + +#ifndef FMT_MODULE +# include // CHAR_BIT +# include // FILE +# include // memcmp + +# include // std::enable_if +#endif + +// The fmt library version in the form major * 10000 + minor * 100 + patch. +#define FMT_VERSION 110102 + +// Detect compiler versions. +#if defined(__clang__) && !defined(__ibmxl__) +# define FMT_CLANG_VERSION (__clang_major__ * 100 + __clang_minor__) +#else +# define FMT_CLANG_VERSION 0 +#endif +#if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) +# define FMT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) +#else +# define FMT_GCC_VERSION 0 +#endif +#if defined(__ICL) +# define FMT_ICC_VERSION __ICL +#elif defined(__INTEL_COMPILER) +# define FMT_ICC_VERSION __INTEL_COMPILER +#else +# define FMT_ICC_VERSION 0 +#endif +#if defined(_MSC_VER) +# define FMT_MSC_VERSION _MSC_VER +#else +# define FMT_MSC_VERSION 0 +#endif + +// Detect standard library versions. +#ifdef _GLIBCXX_RELEASE +# define FMT_GLIBCXX_RELEASE _GLIBCXX_RELEASE +#else +# define FMT_GLIBCXX_RELEASE 0 +#endif +#ifdef _LIBCPP_VERSION +# define FMT_LIBCPP_VERSION _LIBCPP_VERSION +#else +# define FMT_LIBCPP_VERSION 0 +#endif + +#ifdef _MSVC_LANG +# define FMT_CPLUSPLUS _MSVC_LANG +#else +# define FMT_CPLUSPLUS __cplusplus +#endif + +// Detect __has_*. +#ifdef __has_feature +# define FMT_HAS_FEATURE(x) __has_feature(x) +#else +# define FMT_HAS_FEATURE(x) 0 +#endif +#ifdef __has_include +# define FMT_HAS_INCLUDE(x) __has_include(x) +#else +# define FMT_HAS_INCLUDE(x) 0 +#endif +#ifdef __has_builtin +# define FMT_HAS_BUILTIN(x) __has_builtin(x) +#else +# define FMT_HAS_BUILTIN(x) 0 +#endif +#ifdef __has_cpp_attribute +# define FMT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +#else +# define FMT_HAS_CPP_ATTRIBUTE(x) 0 +#endif + +#define FMT_HAS_CPP14_ATTRIBUTE(attribute) \ + (FMT_CPLUSPLUS >= 201402L && FMT_HAS_CPP_ATTRIBUTE(attribute)) + +#define FMT_HAS_CPP17_ATTRIBUTE(attribute) \ + (FMT_CPLUSPLUS >= 201703L && FMT_HAS_CPP_ATTRIBUTE(attribute)) + +// Detect C++14 relaxed constexpr. +#ifdef FMT_USE_CONSTEXPR +// Use the provided definition. +#elif FMT_GCC_VERSION >= 600 && FMT_CPLUSPLUS >= 201402L +// GCC only allows throw in constexpr since version 6: +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67371. +# define FMT_USE_CONSTEXPR 1 +#elif FMT_ICC_VERSION +# define FMT_USE_CONSTEXPR 0 // https://github.com/fmtlib/fmt/issues/1628 +#elif FMT_HAS_FEATURE(cxx_relaxed_constexpr) || FMT_MSC_VERSION >= 1912 +# define FMT_USE_CONSTEXPR 1 +#else +# define FMT_USE_CONSTEXPR 0 +#endif +#if FMT_USE_CONSTEXPR +# define FMT_CONSTEXPR constexpr +#else +# define FMT_CONSTEXPR +#endif + +// Detect consteval, C++20 constexpr extensions and std::is_constant_evaluated. +#if !defined(__cpp_lib_is_constant_evaluated) +# define FMT_USE_CONSTEVAL 0 +#elif FMT_CPLUSPLUS < 201709L +# define FMT_USE_CONSTEVAL 0 +#elif FMT_GLIBCXX_RELEASE && FMT_GLIBCXX_RELEASE < 10 +# define FMT_USE_CONSTEVAL 0 +#elif FMT_LIBCPP_VERSION && FMT_LIBCPP_VERSION < 10000 +# define FMT_USE_CONSTEVAL 0 +#elif defined(__apple_build_version__) && __apple_build_version__ < 14000029L +# define FMT_USE_CONSTEVAL 0 // consteval is broken in Apple clang < 14. +#elif FMT_MSC_VERSION && FMT_MSC_VERSION < 1929 +# define FMT_USE_CONSTEVAL 0 // consteval is broken in MSVC VS2019 < 16.10. +#elif defined(__cpp_consteval) +# define FMT_USE_CONSTEVAL 1 +#elif FMT_GCC_VERSION >= 1002 || FMT_CLANG_VERSION >= 1101 +# define FMT_USE_CONSTEVAL 1 +#else +# define FMT_USE_CONSTEVAL 0 +#endif +#if FMT_USE_CONSTEVAL +# define FMT_CONSTEVAL consteval +# define FMT_CONSTEXPR20 constexpr +#else +# define FMT_CONSTEVAL +# define FMT_CONSTEXPR20 +#endif + +// Check if exceptions are disabled. +#ifdef FMT_USE_EXCEPTIONS +// Use the provided definition. +#elif defined(__GNUC__) && !defined(__EXCEPTIONS) +# define FMT_USE_EXCEPTIONS 0 +#elif defined(__clang__) && !defined(__cpp_exceptions) +# define FMT_USE_EXCEPTIONS 0 +#elif FMT_MSC_VERSION && !_HAS_EXCEPTIONS +# define FMT_USE_EXCEPTIONS 0 +#else +# define FMT_USE_EXCEPTIONS 1 +#endif +#if FMT_USE_EXCEPTIONS +# define FMT_TRY try +# define FMT_CATCH(x) catch (x) +#else +# define FMT_TRY if (true) +# define FMT_CATCH(x) if (false) +#endif + +#ifdef FMT_NO_UNIQUE_ADDRESS +// Use the provided definition. +#elif FMT_CPLUSPLUS < 202002L +// Not supported. +#elif FMT_HAS_CPP_ATTRIBUTE(no_unique_address) +# define FMT_NO_UNIQUE_ADDRESS [[no_unique_address]] +// VS2019 v16.10 and later except clang-cl (https://reviews.llvm.org/D110485). +#elif FMT_MSC_VERSION >= 1929 && !FMT_CLANG_VERSION +# define FMT_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]] +#endif +#ifndef FMT_NO_UNIQUE_ADDRESS +# define FMT_NO_UNIQUE_ADDRESS +#endif + +#if FMT_HAS_CPP17_ATTRIBUTE(fallthrough) +# define FMT_FALLTHROUGH [[fallthrough]] +#elif defined(__clang__) +# define FMT_FALLTHROUGH [[clang::fallthrough]] +#elif FMT_GCC_VERSION >= 700 && \ + (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) +# define FMT_FALLTHROUGH [[gnu::fallthrough]] +#else +# define FMT_FALLTHROUGH +#endif + +// Disable [[noreturn]] on MSVC/NVCC because of bogus unreachable code warnings. +#if FMT_HAS_CPP_ATTRIBUTE(noreturn) && !FMT_MSC_VERSION && !defined(__NVCC__) +# define FMT_NORETURN [[noreturn]] +#else +# define FMT_NORETURN +#endif + +#ifdef FMT_NODISCARD +// Use the provided definition. +#elif FMT_HAS_CPP17_ATTRIBUTE(nodiscard) +# define FMT_NODISCARD [[nodiscard]] +#else +# define FMT_NODISCARD +#endif + +#ifdef FMT_DEPRECATED +// Use the provided definition. +#elif FMT_HAS_CPP14_ATTRIBUTE(deprecated) +# define FMT_DEPRECATED [[deprecated]] +#else +# define FMT_DEPRECATED /* deprecated */ +#endif + +#ifdef FMT_ALWAYS_INLINE +// Use the provided definition. +#elif FMT_GCC_VERSION || FMT_CLANG_VERSION +# define FMT_ALWAYS_INLINE inline __attribute__((always_inline)) +#else +# define FMT_ALWAYS_INLINE inline +#endif +// A version of FMT_ALWAYS_INLINE to prevent code bloat in debug mode. +#ifdef NDEBUG +# define FMT_INLINE FMT_ALWAYS_INLINE +#else +# define FMT_INLINE inline +#endif + +#if FMT_GCC_VERSION || FMT_CLANG_VERSION +# define FMT_VISIBILITY(value) __attribute__((visibility(value))) +#else +# define FMT_VISIBILITY(value) +#endif + +// Detect pragmas. +#define FMT_PRAGMA_IMPL(x) _Pragma(#x) +#if FMT_GCC_VERSION >= 504 && !defined(__NVCOMPILER) +// Workaround a _Pragma bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59884 +// and an nvhpc warning: https://github.com/fmtlib/fmt/pull/2582. +# define FMT_PRAGMA_GCC(x) FMT_PRAGMA_IMPL(GCC x) +#else +# define FMT_PRAGMA_GCC(x) +#endif +#if FMT_CLANG_VERSION +# define FMT_PRAGMA_CLANG(x) FMT_PRAGMA_IMPL(clang x) +#else +# define FMT_PRAGMA_CLANG(x) +#endif +#if FMT_MSC_VERSION +# define FMT_MSC_WARNING(...) __pragma(warning(__VA_ARGS__)) +#else +# define FMT_MSC_WARNING(...) +#endif + +#ifndef FMT_BEGIN_NAMESPACE +# define FMT_BEGIN_NAMESPACE \ + namespace fmt { \ + inline namespace v11 { +# define FMT_END_NAMESPACE \ + } \ + } +#endif + +#ifndef FMT_EXPORT +# define FMT_EXPORT +# define FMT_BEGIN_EXPORT +# define FMT_END_EXPORT +#endif + +#ifdef _WIN32 +# define FMT_WIN32 1 +#else +# define FMT_WIN32 0 +#endif + +#if !defined(FMT_HEADER_ONLY) && FMT_WIN32 +# if defined(FMT_LIB_EXPORT) +# define FMT_API __declspec(dllexport) +# elif defined(FMT_SHARED) +# define FMT_API __declspec(dllimport) +# endif +#elif defined(FMT_LIB_EXPORT) || defined(FMT_SHARED) +# define FMT_API FMT_VISIBILITY("default") +#endif +#ifndef FMT_API +# define FMT_API +#endif + +#ifndef FMT_OPTIMIZE_SIZE +# define FMT_OPTIMIZE_SIZE 0 +#endif + +// FMT_BUILTIN_TYPE=0 may result in smaller library size at the cost of higher +// per-call binary size by passing built-in types through the extension API. +#ifndef FMT_BUILTIN_TYPES +# define FMT_BUILTIN_TYPES 1 +#endif + +#define FMT_APPLY_VARIADIC(expr) \ + using ignore = int[]; \ + (void)ignore { 0, (expr, 0)... } + +// Enable minimal optimizations for more compact code in debug mode. +FMT_PRAGMA_GCC(push_options) +#if !defined(__OPTIMIZE__) && !defined(__CUDACC__) +FMT_PRAGMA_GCC(optimize("Og")) +#endif +FMT_PRAGMA_CLANG(diagnostic push) + +FMT_BEGIN_NAMESPACE + +// Implementations of enable_if_t and other metafunctions for older systems. +template +using enable_if_t = typename std::enable_if::type; +template +using conditional_t = typename std::conditional::type; +template using bool_constant = std::integral_constant; +template +using remove_reference_t = typename std::remove_reference::type; +template +using remove_const_t = typename std::remove_const::type; +template +using remove_cvref_t = typename std::remove_cv>::type; +template +using make_unsigned_t = typename std::make_unsigned::type; +template +using underlying_t = typename std::underlying_type::type; +template using decay_t = typename std::decay::type; +using nullptr_t = decltype(nullptr); + +#if FMT_GCC_VERSION && FMT_GCC_VERSION < 500 +// A workaround for gcc 4.9 to make void_t work in a SFINAE context. +template struct void_t_impl { + using type = void; +}; +template using void_t = typename void_t_impl::type; +#else +template using void_t = void; +#endif + +struct monostate { + constexpr monostate() {} +}; + +// An enable_if helper to be used in template parameters which results in much +// shorter symbols: https://godbolt.org/z/sWw4vP. Extra parentheses are needed +// to workaround a bug in MSVC 2019 (see #1140 and #1186). +#ifdef FMT_DOC +# define FMT_ENABLE_IF(...) +#else +# define FMT_ENABLE_IF(...) fmt::enable_if_t<(__VA_ARGS__), int> = 0 +#endif + +template constexpr auto min_of(T a, T b) -> T { + return a < b ? a : b; +} +template constexpr auto max_of(T a, T b) -> T { + return a > b ? a : b; +} + +namespace detail { +// Suppresses "unused variable" warnings with the method described in +// https://herbsutter.com/2009/10/18/mailbag-shutting-up-compiler-warnings/. +// (void)var does not work on many Intel compilers. +template FMT_CONSTEXPR void ignore_unused(const T&...) {} + +constexpr auto is_constant_evaluated(bool default_value = false) noexcept + -> bool { +// Workaround for incompatibility between clang 14 and libstdc++ consteval-based +// std::is_constant_evaluated: https://github.com/fmtlib/fmt/issues/3247. +#if FMT_CPLUSPLUS >= 202002L && FMT_GLIBCXX_RELEASE >= 12 && \ + (FMT_CLANG_VERSION >= 1400 && FMT_CLANG_VERSION < 1500) + ignore_unused(default_value); + return __builtin_is_constant_evaluated(); +#elif defined(__cpp_lib_is_constant_evaluated) + ignore_unused(default_value); + return std::is_constant_evaluated(); +#else + return default_value; +#endif +} + +// Suppresses "conditional expression is constant" warnings. +template FMT_ALWAYS_INLINE constexpr auto const_check(T val) -> T { + return val; +} + +FMT_NORETURN FMT_API void assert_fail(const char* file, int line, + const char* message); + +#if defined(FMT_ASSERT) +// Use the provided definition. +#elif defined(NDEBUG) +// FMT_ASSERT is not empty to avoid -Wempty-body. +# define FMT_ASSERT(condition, message) \ + fmt::detail::ignore_unused((condition), (message)) +#else +# define FMT_ASSERT(condition, message) \ + ((condition) /* void() fails with -Winvalid-constexpr on clang 4.0.1 */ \ + ? (void)0 \ + : fmt::detail::assert_fail(__FILE__, __LINE__, (message))) +#endif + +#ifdef FMT_USE_INT128 +// Use the provided definition. +#elif defined(__SIZEOF_INT128__) && !defined(__NVCC__) && \ + !(FMT_CLANG_VERSION && FMT_MSC_VERSION) +# define FMT_USE_INT128 1 +using int128_opt = __int128_t; // An optional native 128-bit integer. +using uint128_opt = __uint128_t; +inline auto map(int128_opt x) -> int128_opt { return x; } +inline auto map(uint128_opt x) -> uint128_opt { return x; } +#else +# define FMT_USE_INT128 0 +#endif +#if !FMT_USE_INT128 +enum class int128_opt {}; +enum class uint128_opt {}; +// Reduce template instantiations. +inline auto map(int128_opt) -> monostate { return {}; } +inline auto map(uint128_opt) -> monostate { return {}; } +#endif + +#ifndef FMT_USE_BITINT +# define FMT_USE_BITINT (FMT_CLANG_VERSION >= 1500) +#endif + +#if FMT_USE_BITINT +FMT_PRAGMA_CLANG(diagnostic ignored "-Wbit-int-extension") +template using bitint = _BitInt(N); +template using ubitint = unsigned _BitInt(N); +#else +template struct bitint {}; +template struct ubitint {}; +#endif // FMT_USE_BITINT + +// Casts a nonnegative integer to unsigned. +template +FMT_CONSTEXPR auto to_unsigned(Int value) -> make_unsigned_t { + FMT_ASSERT(std::is_unsigned::value || value >= 0, "negative value"); + return static_cast>(value); +} + +template +using unsigned_char = conditional_t; + +// A heuristic to detect std::string and std::[experimental::]string_view. +// It is mainly used to avoid dependency on <[experimental/]string_view>. +template +struct is_std_string_like : std::false_type {}; +template +struct is_std_string_like().find_first_of( + typename T::value_type(), 0))>> + : std::is_convertible().data()), + const typename T::value_type*> {}; + +// Check if the literal encoding is UTF-8. +enum { is_utf8_enabled = "\u00A7"[1] == '\xA7' }; +enum { use_utf8 = !FMT_WIN32 || is_utf8_enabled }; + +#ifndef FMT_UNICODE +# define FMT_UNICODE 1 +#endif + +static_assert(!FMT_UNICODE || use_utf8, + "Unicode support requires compiling with /utf-8"); + +template constexpr const char* narrow(const T*) { return nullptr; } +constexpr FMT_ALWAYS_INLINE const char* narrow(const char* s) { return s; } + +template +FMT_CONSTEXPR auto compare(const Char* s1, const Char* s2, std::size_t n) + -> int { + if (!is_constant_evaluated() && sizeof(Char) == 1) return memcmp(s1, s2, n); + for (; n != 0; ++s1, ++s2, --n) { + if (*s1 < *s2) return -1; + if (*s1 > *s2) return 1; + } + return 0; +} + +namespace adl { +using namespace std; + +template +auto invoke_back_inserter() + -> decltype(back_inserter(std::declval())); +} // namespace adl + +template +struct is_back_insert_iterator : std::false_type {}; + +template +struct is_back_insert_iterator< + It, bool_constant()), + It>::value>> : std::true_type {}; + +// Extracts a reference to the container from *insert_iterator. +template +inline FMT_CONSTEXPR20 auto get_container(OutputIt it) -> + typename OutputIt::container_type& { + struct accessor : OutputIt { + FMT_CONSTEXPR20 accessor(OutputIt base) : OutputIt(base) {} + using OutputIt::container; + }; + return *accessor(it).container; +} +} // namespace detail + +// Parsing-related public API and forward declarations. +FMT_BEGIN_EXPORT + +/** + * An implementation of `std::basic_string_view` for pre-C++17. It provides a + * subset of the API. `fmt::basic_string_view` is used for format strings even + * if `std::basic_string_view` is available to prevent issues when a library is + * compiled with a different `-std` option than the client code (which is not + * recommended). + */ +template class basic_string_view { + private: + const Char* data_; + size_t size_; + + public: + using value_type = Char; + using iterator = const Char*; + + constexpr basic_string_view() noexcept : data_(nullptr), size_(0) {} + + /// Constructs a string reference object from a C string and a size. + constexpr basic_string_view(const Char* s, size_t count) noexcept + : data_(s), size_(count) {} + + constexpr basic_string_view(nullptr_t) = delete; + + /// Constructs a string reference object from a C string. +#if FMT_GCC_VERSION + FMT_ALWAYS_INLINE +#endif + FMT_CONSTEXPR20 basic_string_view(const Char* s) : data_(s) { +#if FMT_HAS_BUILTIN(__buitin_strlen) || FMT_GCC_VERSION || FMT_CLANG_VERSION + if (std::is_same::value) { + size_ = __builtin_strlen(detail::narrow(s)); + return; + } +#endif + size_t len = 0; + while (*s++) ++len; + size_ = len; + } + + /// Constructs a string reference from a `std::basic_string` or a + /// `std::basic_string_view` object. + template ::value&& std::is_same< + typename S::value_type, Char>::value)> + FMT_CONSTEXPR basic_string_view(const S& s) noexcept + : data_(s.data()), size_(s.size()) {} + + /// Returns a pointer to the string data. + constexpr auto data() const noexcept -> const Char* { return data_; } + + /// Returns the string size. + constexpr auto size() const noexcept -> size_t { return size_; } + + constexpr auto begin() const noexcept -> iterator { return data_; } + constexpr auto end() const noexcept -> iterator { return data_ + size_; } + + constexpr auto operator[](size_t pos) const noexcept -> const Char& { + return data_[pos]; + } + + FMT_CONSTEXPR void remove_prefix(size_t n) noexcept { + data_ += n; + size_ -= n; + } + + FMT_CONSTEXPR auto starts_with(basic_string_view sv) const noexcept + -> bool { + return size_ >= sv.size_ && detail::compare(data_, sv.data_, sv.size_) == 0; + } + FMT_CONSTEXPR auto starts_with(Char c) const noexcept -> bool { + return size_ >= 1 && *data_ == c; + } + FMT_CONSTEXPR auto starts_with(const Char* s) const -> bool { + return starts_with(basic_string_view(s)); + } + + // Lexicographically compare this string reference to other. + FMT_CONSTEXPR auto compare(basic_string_view other) const -> int { + int result = + detail::compare(data_, other.data_, min_of(size_, other.size_)); + if (result != 0) return result; + return size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1); + } + + FMT_CONSTEXPR friend auto operator==(basic_string_view lhs, + basic_string_view rhs) -> bool { + return lhs.compare(rhs) == 0; + } + friend auto operator!=(basic_string_view lhs, basic_string_view rhs) -> bool { + return lhs.compare(rhs) != 0; + } + friend auto operator<(basic_string_view lhs, basic_string_view rhs) -> bool { + return lhs.compare(rhs) < 0; + } + friend auto operator<=(basic_string_view lhs, basic_string_view rhs) -> bool { + return lhs.compare(rhs) <= 0; + } + friend auto operator>(basic_string_view lhs, basic_string_view rhs) -> bool { + return lhs.compare(rhs) > 0; + } + friend auto operator>=(basic_string_view lhs, basic_string_view rhs) -> bool { + return lhs.compare(rhs) >= 0; + } +}; + +using string_view = basic_string_view; + +/// Specifies if `T` is an extended character type. Can be specialized by users. +template struct is_xchar : std::false_type {}; +template <> struct is_xchar : std::true_type {}; +template <> struct is_xchar : std::true_type {}; +template <> struct is_xchar : std::true_type {}; +#ifdef __cpp_char8_t +template <> struct is_xchar : std::true_type {}; +#endif + +// DEPRECATED! Will be replaced with an alias to prevent specializations. +template struct is_char : is_xchar {}; +template <> struct is_char : std::true_type {}; + +template class basic_appender; +using appender = basic_appender; + +// Checks whether T is a container with contiguous storage. +template struct is_contiguous : std::false_type {}; + +class context; +template class generic_context; +template class parse_context; + +// Longer aliases for C++20 compatibility. +template using basic_format_parse_context = parse_context; +using format_parse_context = parse_context; +template +using basic_format_context = + conditional_t::value, context, + generic_context>; +using format_context = context; + +template +using buffered_context = + conditional_t::value, context, + generic_context, Char>>; + +template class basic_format_arg; +template class basic_format_args; + +// A separate type would result in shorter symbols but break ABI compatibility +// between clang and gcc on ARM (#1919). +using format_args = basic_format_args; + +// A formatter for objects of type T. +template +struct formatter { + // A deleted default constructor indicates a disabled formatter. + formatter() = delete; +}; + +/// Reports a format error at compile time or, via a `format_error` exception, +/// at runtime. +// This function is intentionally not constexpr to give a compile-time error. +FMT_NORETURN FMT_API void report_error(const char* message); + +enum class presentation_type : unsigned char { + // Common specifiers: + none = 0, + debug = 1, // '?' + string = 2, // 's' (string, bool) + + // Integral, bool and character specifiers: + dec = 3, // 'd' + hex, // 'x' or 'X' + oct, // 'o' + bin, // 'b' or 'B' + chr, // 'c' + + // String and pointer specifiers: + pointer = 3, // 'p' + + // Floating-point specifiers: + exp = 1, // 'e' or 'E' (1 since there is no FP debug presentation) + fixed, // 'f' or 'F' + general, // 'g' or 'G' + hexfloat // 'a' or 'A' +}; + +enum class align { none, left, right, center, numeric }; +enum class sign { none, minus, plus, space }; +enum class arg_id_kind { none, index, name }; + +// Basic format specifiers for built-in and string types. +class basic_specs { + private: + // Data is arranged as follows: + // + // 0 1 2 3 + // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + // |type |align| w | p | s |u|#|L| f | unused | + // +-----+-----+---+---+---+-+-+-+-----+---------------------------+ + // + // w - dynamic width info + // p - dynamic precision info + // s - sign + // u - uppercase (e.g. 'X' for 'x') + // # - alternate form ('#') + // L - localized + // f - fill size + // + // Bitfields are not used because of compiler bugs such as gcc bug 61414. + enum : unsigned { + type_mask = 0x00007, + align_mask = 0x00038, + width_mask = 0x000C0, + precision_mask = 0x00300, + sign_mask = 0x00C00, + uppercase_mask = 0x01000, + alternate_mask = 0x02000, + localized_mask = 0x04000, + fill_size_mask = 0x38000, + + align_shift = 3, + width_shift = 6, + precision_shift = 8, + sign_shift = 10, + fill_size_shift = 15, + + max_fill_size = 4 + }; + + size_t data_ = 1 << fill_size_shift; + + // Character (code unit) type is erased to prevent template bloat. + char fill_data_[max_fill_size] = {' '}; + + FMT_CONSTEXPR void set_fill_size(size_t size) { + data_ = (data_ & ~fill_size_mask) | (size << fill_size_shift); + } + + public: + constexpr auto type() const -> presentation_type { + return static_cast(data_ & type_mask); + } + FMT_CONSTEXPR void set_type(presentation_type t) { + data_ = (data_ & ~type_mask) | static_cast(t); + } + + constexpr auto align() const -> align { + return static_cast((data_ & align_mask) >> align_shift); + } + FMT_CONSTEXPR void set_align(fmt::align a) { + data_ = (data_ & ~align_mask) | (static_cast(a) << align_shift); + } + + constexpr auto dynamic_width() const -> arg_id_kind { + return static_cast((data_ & width_mask) >> width_shift); + } + FMT_CONSTEXPR void set_dynamic_width(arg_id_kind w) { + data_ = (data_ & ~width_mask) | (static_cast(w) << width_shift); + } + + FMT_CONSTEXPR auto dynamic_precision() const -> arg_id_kind { + return static_cast((data_ & precision_mask) >> + precision_shift); + } + FMT_CONSTEXPR void set_dynamic_precision(arg_id_kind p) { + data_ = (data_ & ~precision_mask) | + (static_cast(p) << precision_shift); + } + + constexpr bool dynamic() const { + return (data_ & (width_mask | precision_mask)) != 0; + } + + constexpr auto sign() const -> sign { + return static_cast((data_ & sign_mask) >> sign_shift); + } + FMT_CONSTEXPR void set_sign(fmt::sign s) { + data_ = (data_ & ~sign_mask) | (static_cast(s) << sign_shift); + } + + constexpr auto upper() const -> bool { return (data_ & uppercase_mask) != 0; } + FMT_CONSTEXPR void set_upper() { data_ |= uppercase_mask; } + + constexpr auto alt() const -> bool { return (data_ & alternate_mask) != 0; } + FMT_CONSTEXPR void set_alt() { data_ |= alternate_mask; } + FMT_CONSTEXPR void clear_alt() { data_ &= ~alternate_mask; } + + constexpr auto localized() const -> bool { + return (data_ & localized_mask) != 0; + } + FMT_CONSTEXPR void set_localized() { data_ |= localized_mask; } + + constexpr auto fill_size() const -> size_t { + return (data_ & fill_size_mask) >> fill_size_shift; + } + + template ::value)> + constexpr auto fill() const -> const Char* { + return fill_data_; + } + template ::value)> + constexpr auto fill() const -> const Char* { + return nullptr; + } + + template constexpr auto fill_unit() const -> Char { + using uchar = unsigned char; + return static_cast(static_cast(fill_data_[0]) | + (static_cast(fill_data_[1]) << 8) | + (static_cast(fill_data_[2]) << 16)); + } + + FMT_CONSTEXPR void set_fill(char c) { + fill_data_[0] = c; + set_fill_size(1); + } + + template + FMT_CONSTEXPR void set_fill(basic_string_view s) { + auto size = s.size(); + set_fill_size(size); + if (size == 1) { + unsigned uchar = static_cast>(s[0]); + fill_data_[0] = static_cast(uchar); + fill_data_[1] = static_cast(uchar >> 8); + fill_data_[2] = static_cast(uchar >> 16); + return; + } + FMT_ASSERT(size <= max_fill_size, "invalid fill"); + for (size_t i = 0; i < size; ++i) + fill_data_[i & 3] = static_cast(s[i]); + } + + FMT_CONSTEXPR void copy_fill_from(const basic_specs& specs) { + set_fill_size(specs.fill_size()); + for (size_t i = 0; i < max_fill_size; ++i) + fill_data_[i] = specs.fill_data_[i]; + } +}; + +// Format specifiers for built-in and string types. +struct format_specs : basic_specs { + int width; + int precision; + + constexpr format_specs() : width(0), precision(-1) {} +}; + +/** + * Parsing context consisting of a format string range being parsed and an + * argument counter for automatic indexing. + */ +template class parse_context { + private: + basic_string_view fmt_; + int next_arg_id_; + + enum { use_constexpr_cast = !FMT_GCC_VERSION || FMT_GCC_VERSION >= 1200 }; + + FMT_CONSTEXPR void do_check_arg_id(int arg_id); + + public: + using char_type = Char; + using iterator = const Char*; + + constexpr explicit parse_context(basic_string_view fmt, + int next_arg_id = 0) + : fmt_(fmt), next_arg_id_(next_arg_id) {} + + /// Returns an iterator to the beginning of the format string range being + /// parsed. + constexpr auto begin() const noexcept -> iterator { return fmt_.begin(); } + + /// Returns an iterator past the end of the format string range being parsed. + constexpr auto end() const noexcept -> iterator { return fmt_.end(); } + + /// Advances the begin iterator to `it`. + FMT_CONSTEXPR void advance_to(iterator it) { + fmt_.remove_prefix(detail::to_unsigned(it - begin())); + } + + /// Reports an error if using the manual argument indexing; otherwise returns + /// the next argument index and switches to the automatic indexing. + FMT_CONSTEXPR auto next_arg_id() -> int { + if (next_arg_id_ < 0) { + report_error("cannot switch from manual to automatic argument indexing"); + return 0; + } + int id = next_arg_id_++; + do_check_arg_id(id); + return id; + } + + /// Reports an error if using the automatic argument indexing; otherwise + /// switches to the manual indexing. + FMT_CONSTEXPR void check_arg_id(int id) { + if (next_arg_id_ > 0) { + report_error("cannot switch from automatic to manual argument indexing"); + return; + } + next_arg_id_ = -1; + do_check_arg_id(id); + } + FMT_CONSTEXPR void check_arg_id(basic_string_view) { + next_arg_id_ = -1; + } + FMT_CONSTEXPR void check_dynamic_spec(int arg_id); +}; + +FMT_END_EXPORT + +namespace detail { + +// Constructs fmt::basic_string_view from types implicitly convertible +// to it, deducing Char. Explicitly convertible types such as the ones returned +// from FMT_STRING are intentionally excluded. +template ::value)> +constexpr auto to_string_view(const Char* s) -> basic_string_view { + return s; +} +template ::value)> +constexpr auto to_string_view(const T& s) + -> basic_string_view { + return s; +} +template +constexpr auto to_string_view(basic_string_view s) + -> basic_string_view { + return s; +} + +template +struct has_to_string_view : std::false_type {}; +// detail:: is intentional since to_string_view is not an extension point. +template +struct has_to_string_view< + T, void_t()))>> + : std::true_type {}; + +/// String's character (code unit) type. detail:: is intentional to prevent ADL. +template ()))> +using char_t = typename V::value_type; + +enum class type { + none_type, + // Integer types should go first, + int_type, + uint_type, + long_long_type, + ulong_long_type, + int128_type, + uint128_type, + bool_type, + char_type, + last_integer_type = char_type, + // followed by floating-point types. + float_type, + double_type, + long_double_type, + last_numeric_type = long_double_type, + cstring_type, + string_type, + pointer_type, + custom_type +}; + +// Maps core type T to the corresponding type enum constant. +template +struct type_constant : std::integral_constant {}; + +#define FMT_TYPE_CONSTANT(Type, constant) \ + template \ + struct type_constant \ + : std::integral_constant {} + +FMT_TYPE_CONSTANT(int, int_type); +FMT_TYPE_CONSTANT(unsigned, uint_type); +FMT_TYPE_CONSTANT(long long, long_long_type); +FMT_TYPE_CONSTANT(unsigned long long, ulong_long_type); +FMT_TYPE_CONSTANT(int128_opt, int128_type); +FMT_TYPE_CONSTANT(uint128_opt, uint128_type); +FMT_TYPE_CONSTANT(bool, bool_type); +FMT_TYPE_CONSTANT(Char, char_type); +FMT_TYPE_CONSTANT(float, float_type); +FMT_TYPE_CONSTANT(double, double_type); +FMT_TYPE_CONSTANT(long double, long_double_type); +FMT_TYPE_CONSTANT(const Char*, cstring_type); +FMT_TYPE_CONSTANT(basic_string_view, string_type); +FMT_TYPE_CONSTANT(const void*, pointer_type); + +constexpr auto is_integral_type(type t) -> bool { + return t > type::none_type && t <= type::last_integer_type; +} +constexpr auto is_arithmetic_type(type t) -> bool { + return t > type::none_type && t <= type::last_numeric_type; +} + +constexpr auto set(type rhs) -> int { return 1 << static_cast(rhs); } +constexpr auto in(type t, int set) -> bool { + return ((set >> static_cast(t)) & 1) != 0; +} + +// Bitsets of types. +enum { + sint_set = + set(type::int_type) | set(type::long_long_type) | set(type::int128_type), + uint_set = set(type::uint_type) | set(type::ulong_long_type) | + set(type::uint128_type), + bool_set = set(type::bool_type), + char_set = set(type::char_type), + float_set = set(type::float_type) | set(type::double_type) | + set(type::long_double_type), + string_set = set(type::string_type), + cstring_set = set(type::cstring_type), + pointer_set = set(type::pointer_type) +}; + +struct view {}; + +template struct named_arg; +template struct is_named_arg : std::false_type {}; +template struct is_static_named_arg : std::false_type {}; + +template +struct is_named_arg> : std::true_type {}; + +template struct named_arg : view { + const Char* name; + const T& value; + + named_arg(const Char* n, const T& v) : name(n), value(v) {} + static_assert(!is_named_arg::value, "nested named arguments"); +}; + +template constexpr auto count() -> int { return B ? 1 : 0; } +template constexpr auto count() -> int { + return (B1 ? 1 : 0) + count(); +} + +template constexpr auto count_named_args() -> int { + return count::value...>(); +} +template constexpr auto count_static_named_args() -> int { + return count::value...>(); +} + +template struct named_arg_info { + const Char* name; + int id; +}; + +template ::value)> +void init_named_arg(named_arg_info*, int& arg_index, int&, const T&) { + ++arg_index; +} +template ::value)> +void init_named_arg(named_arg_info* named_args, int& arg_index, + int& named_arg_index, const T& arg) { + named_args[named_arg_index++] = {arg.name, arg_index++}; +} + +template ::value)> +FMT_CONSTEXPR void init_static_named_arg(named_arg_info*, int& arg_index, + int&) { + ++arg_index; +} +template ::value)> +FMT_CONSTEXPR void init_static_named_arg(named_arg_info* named_args, + int& arg_index, int& named_arg_index) { + named_args[named_arg_index++] = {T::name, arg_index++}; +} + +// To minimize the number of types we need to deal with, long is translated +// either to int or to long long depending on its size. +enum { long_short = sizeof(long) == sizeof(int) }; +using long_type = conditional_t; +using ulong_type = conditional_t; + +template +using format_as_result = + remove_cvref_t()))>; +template +using format_as_member_result = + remove_cvref_t::format_as(std::declval()))>; + +template +struct use_format_as : std::false_type {}; +// format_as member is only used to avoid injection into the std namespace. +template +struct use_format_as_member : std::false_type {}; + +// Only map owning types because mapping views can be unsafe. +template +struct use_format_as< + T, bool_constant>::value>> + : std::true_type {}; +template +struct use_format_as_member< + T, bool_constant>::value>> + : std::true_type {}; + +template > +using use_formatter = + bool_constant<(std::is_class::value || std::is_enum::value || + std::is_union::value || std::is_array::value) && + !has_to_string_view::value && !is_named_arg::value && + !use_format_as::value && !use_format_as_member::value>; + +template > +auto has_formatter_impl(T* p, buffered_context* ctx = nullptr) + -> decltype(formatter().format(*p, *ctx), std::true_type()); +template auto has_formatter_impl(...) -> std::false_type; + +// T can be const-qualified to check if it is const-formattable. +template constexpr auto has_formatter() -> bool { + return decltype(has_formatter_impl(static_cast(nullptr)))::value; +} + +// Maps formatting argument types to natively supported types or user-defined +// types with formatters. Returns void on errors to be SFINAE-friendly. +template struct type_mapper { + static auto map(signed char) -> int; + static auto map(unsigned char) -> unsigned; + static auto map(short) -> int; + static auto map(unsigned short) -> unsigned; + static auto map(int) -> int; + static auto map(unsigned) -> unsigned; + static auto map(long) -> long_type; + static auto map(unsigned long) -> ulong_type; + static auto map(long long) -> long long; + static auto map(unsigned long long) -> unsigned long long; + static auto map(int128_opt) -> int128_opt; + static auto map(uint128_opt) -> uint128_opt; + static auto map(bool) -> bool; + + template + static auto map(bitint) -> conditional_t; + template + static auto map(ubitint) + -> conditional_t; + + template ::value)> + static auto map(T) -> conditional_t< + std::is_same::value || std::is_same::value, Char, void>; + + static auto map(float) -> float; + static auto map(double) -> double; + static auto map(long double) -> long double; + + static auto map(Char*) -> const Char*; + static auto map(const Char*) -> const Char*; + template , + FMT_ENABLE_IF(!std::is_pointer::value)> + static auto map(const T&) -> conditional_t::value, + basic_string_view, void>; + + static auto map(void*) -> const void*; + static auto map(const void*) -> const void*; + static auto map(volatile void*) -> const void*; + static auto map(const volatile void*) -> const void*; + static auto map(nullptr_t) -> const void*; + template ::value || + std::is_member_pointer::value)> + static auto map(const T&) -> void; + + template ::value)> + static auto map(const T& x) -> decltype(map(format_as(x))); + template ::value)> + static auto map(const T& x) -> decltype(map(formatter::format_as(x))); + + template ::value)> + static auto map(T&) -> conditional_t(), T&, void>; + + template ::value)> + static auto map(const T& named_arg) -> decltype(map(named_arg.value)); +}; + +// detail:: is used to workaround a bug in MSVC 2017. +template +using mapped_t = decltype(detail::type_mapper::map(std::declval())); + +// A type constant after applying type_mapper. +template +using mapped_type_constant = type_constant, Char>; + +template ::value> +using stored_type_constant = std::integral_constant< + type, Context::builtin_types || TYPE == type::int_type ? TYPE + : type::custom_type>; +// A parse context with extra data used only in compile-time checks. +template +class compile_parse_context : public parse_context { + private: + int num_args_; + const type* types_; + using base = parse_context; + + public: + FMT_CONSTEXPR explicit compile_parse_context(basic_string_view fmt, + int num_args, const type* types, + int next_arg_id = 0) + : base(fmt, next_arg_id), num_args_(num_args), types_(types) {} + + constexpr auto num_args() const -> int { return num_args_; } + constexpr auto arg_type(int id) const -> type { return types_[id]; } + + FMT_CONSTEXPR auto next_arg_id() -> int { + int id = base::next_arg_id(); + if (id >= num_args_) report_error("argument not found"); + return id; + } + + FMT_CONSTEXPR void check_arg_id(int id) { + base::check_arg_id(id); + if (id >= num_args_) report_error("argument not found"); + } + using base::check_arg_id; + + FMT_CONSTEXPR void check_dynamic_spec(int arg_id) { + ignore_unused(arg_id); + if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id])) + report_error("width/precision is not integer"); + } +}; + +// An argument reference. +template union arg_ref { + FMT_CONSTEXPR arg_ref(int idx = 0) : index(idx) {} + FMT_CONSTEXPR arg_ref(basic_string_view n) : name(n) {} + + int index; + basic_string_view name; +}; + +// Format specifiers with width and precision resolved at formatting rather +// than parsing time to allow reusing the same parsed specifiers with +// different sets of arguments (precompilation of format strings). +template struct dynamic_format_specs : format_specs { + arg_ref width_ref; + arg_ref precision_ref; +}; + +// Converts a character to ASCII. Returns '\0' on conversion failure. +template ::value)> +constexpr auto to_ascii(Char c) -> char { + return c <= 0xff ? static_cast(c) : '\0'; +} + +// Returns the number of code units in a code point or 1 on error. +template +FMT_CONSTEXPR auto code_point_length(const Char* begin) -> int { + if (const_check(sizeof(Char) != 1)) return 1; + auto c = static_cast(*begin); + return static_cast((0x3a55000000000000ull >> (2 * (c >> 3))) & 3) + 1; +} + +// Parses the range [begin, end) as an unsigned integer. This function assumes +// that the range is non-empty and the first character is a digit. +template +FMT_CONSTEXPR auto parse_nonnegative_int(const Char*& begin, const Char* end, + int error_value) noexcept -> int { + FMT_ASSERT(begin != end && '0' <= *begin && *begin <= '9', ""); + unsigned value = 0, prev = 0; + auto p = begin; + do { + prev = value; + value = value * 10 + unsigned(*p - '0'); + ++p; + } while (p != end && '0' <= *p && *p <= '9'); + auto num_digits = p - begin; + begin = p; + int digits10 = static_cast(sizeof(int) * CHAR_BIT * 3 / 10); + if (num_digits <= digits10) return static_cast(value); + // Check for overflow. + unsigned max = INT_MAX; + return num_digits == digits10 + 1 && + prev * 10ull + unsigned(p[-1] - '0') <= max + ? static_cast(value) + : error_value; +} + +FMT_CONSTEXPR inline auto parse_align(char c) -> align { + switch (c) { + case '<': return align::left; + case '>': return align::right; + case '^': return align::center; + } + return align::none; +} + +template constexpr auto is_name_start(Char c) -> bool { + return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '_'; +} + +template +FMT_CONSTEXPR auto parse_arg_id(const Char* begin, const Char* end, + Handler&& handler) -> const Char* { + Char c = *begin; + if (c >= '0' && c <= '9') { + int index = 0; + if (c != '0') + index = parse_nonnegative_int(begin, end, INT_MAX); + else + ++begin; + if (begin == end || (*begin != '}' && *begin != ':')) + report_error("invalid format string"); + else + handler.on_index(index); + return begin; + } + if (FMT_OPTIMIZE_SIZE > 1 || !is_name_start(c)) { + report_error("invalid format string"); + return begin; + } + auto it = begin; + do { + ++it; + } while (it != end && (is_name_start(*it) || ('0' <= *it && *it <= '9'))); + handler.on_name({begin, to_unsigned(it - begin)}); + return it; +} + +template struct dynamic_spec_handler { + parse_context& ctx; + arg_ref& ref; + arg_id_kind& kind; + + FMT_CONSTEXPR void on_index(int id) { + ref = id; + kind = arg_id_kind::index; + ctx.check_arg_id(id); + ctx.check_dynamic_spec(id); + } + FMT_CONSTEXPR void on_name(basic_string_view id) { + ref = id; + kind = arg_id_kind::name; + ctx.check_arg_id(id); + } +}; + +template struct parse_dynamic_spec_result { + const Char* end; + arg_id_kind kind; +}; + +// Parses integer | "{" [arg_id] "}". +template +FMT_CONSTEXPR auto parse_dynamic_spec(const Char* begin, const Char* end, + int& value, arg_ref& ref, + parse_context& ctx) + -> parse_dynamic_spec_result { + FMT_ASSERT(begin != end, ""); + auto kind = arg_id_kind::none; + if ('0' <= *begin && *begin <= '9') { + int val = parse_nonnegative_int(begin, end, -1); + if (val == -1) report_error("number is too big"); + value = val; + } else { + if (*begin == '{') { + ++begin; + if (begin != end) { + Char c = *begin; + if (c == '}' || c == ':') { + int id = ctx.next_arg_id(); + ref = id; + kind = arg_id_kind::index; + ctx.check_dynamic_spec(id); + } else { + begin = parse_arg_id(begin, end, + dynamic_spec_handler{ctx, ref, kind}); + } + } + if (begin != end && *begin == '}') return {++begin, kind}; + } + report_error("invalid format string"); + } + return {begin, kind}; +} + +template +FMT_CONSTEXPR auto parse_width(const Char* begin, const Char* end, + format_specs& specs, arg_ref& width_ref, + parse_context& ctx) -> const Char* { + auto result = parse_dynamic_spec(begin, end, specs.width, width_ref, ctx); + specs.set_dynamic_width(result.kind); + return result.end; +} + +template +FMT_CONSTEXPR auto parse_precision(const Char* begin, const Char* end, + format_specs& specs, + arg_ref& precision_ref, + parse_context& ctx) -> const Char* { + ++begin; + if (begin == end) { + report_error("invalid precision"); + return begin; + } + auto result = + parse_dynamic_spec(begin, end, specs.precision, precision_ref, ctx); + specs.set_dynamic_precision(result.kind); + return result.end; +} + +enum class state { start, align, sign, hash, zero, width, precision, locale }; + +// Parses standard format specifiers. +template +FMT_CONSTEXPR auto parse_format_specs(const Char* begin, const Char* end, + dynamic_format_specs& specs, + parse_context& ctx, type arg_type) + -> const Char* { + auto c = '\0'; + if (end - begin > 1) { + auto next = to_ascii(begin[1]); + c = parse_align(next) == align::none ? to_ascii(*begin) : '\0'; + } else { + if (begin == end) return begin; + c = to_ascii(*begin); + } + + struct { + state current_state = state::start; + FMT_CONSTEXPR void operator()(state s, bool valid = true) { + if (current_state >= s || !valid) + report_error("invalid format specifier"); + current_state = s; + } + } enter_state; + + using pres = presentation_type; + constexpr auto integral_set = sint_set | uint_set | bool_set | char_set; + struct { + const Char*& begin; + format_specs& specs; + type arg_type; + + FMT_CONSTEXPR auto operator()(pres pres_type, int set) -> const Char* { + if (!in(arg_type, set)) report_error("invalid format specifier"); + specs.set_type(pres_type); + return begin + 1; + } + } parse_presentation_type{begin, specs, arg_type}; + + for (;;) { + switch (c) { + case '<': + case '>': + case '^': + enter_state(state::align); + specs.set_align(parse_align(c)); + ++begin; + break; + case '+': + case ' ': + specs.set_sign(c == ' ' ? sign::space : sign::plus); + FMT_FALLTHROUGH; + case '-': + enter_state(state::sign, in(arg_type, sint_set | float_set)); + ++begin; + break; + case '#': + enter_state(state::hash, is_arithmetic_type(arg_type)); + specs.set_alt(); + ++begin; + break; + case '0': + enter_state(state::zero); + if (!is_arithmetic_type(arg_type)) + report_error("format specifier requires numeric argument"); + if (specs.align() == align::none) { + // Ignore 0 if align is specified for compatibility with std::format. + specs.set_align(align::numeric); + specs.set_fill('0'); + } + ++begin; + break; + // clang-format off + case '1': case '2': case '3': case '4': case '5': + case '6': case '7': case '8': case '9': case '{': + // clang-format on + enter_state(state::width); + begin = parse_width(begin, end, specs, specs.width_ref, ctx); + break; + case '.': + enter_state(state::precision, + in(arg_type, float_set | string_set | cstring_set)); + begin = parse_precision(begin, end, specs, specs.precision_ref, ctx); + break; + case 'L': + enter_state(state::locale, is_arithmetic_type(arg_type)); + specs.set_localized(); + ++begin; + break; + case 'd': return parse_presentation_type(pres::dec, integral_set); + case 'X': specs.set_upper(); FMT_FALLTHROUGH; + case 'x': return parse_presentation_type(pres::hex, integral_set); + case 'o': return parse_presentation_type(pres::oct, integral_set); + case 'B': specs.set_upper(); FMT_FALLTHROUGH; + case 'b': return parse_presentation_type(pres::bin, integral_set); + case 'E': specs.set_upper(); FMT_FALLTHROUGH; + case 'e': return parse_presentation_type(pres::exp, float_set); + case 'F': specs.set_upper(); FMT_FALLTHROUGH; + case 'f': return parse_presentation_type(pres::fixed, float_set); + case 'G': specs.set_upper(); FMT_FALLTHROUGH; + case 'g': return parse_presentation_type(pres::general, float_set); + case 'A': specs.set_upper(); FMT_FALLTHROUGH; + case 'a': return parse_presentation_type(pres::hexfloat, float_set); + case 'c': + if (arg_type == type::bool_type) report_error("invalid format specifier"); + return parse_presentation_type(pres::chr, integral_set); + case 's': + return parse_presentation_type(pres::string, + bool_set | string_set | cstring_set); + case 'p': + return parse_presentation_type(pres::pointer, pointer_set | cstring_set); + case '?': + return parse_presentation_type(pres::debug, + char_set | string_set | cstring_set); + case '}': return begin; + default: { + if (*begin == '}') return begin; + // Parse fill and alignment. + auto fill_end = begin + code_point_length(begin); + if (end - fill_end <= 0) { + report_error("invalid format specifier"); + return begin; + } + if (*begin == '{') { + report_error("invalid fill character '{'"); + return begin; + } + auto alignment = parse_align(to_ascii(*fill_end)); + enter_state(state::align, alignment != align::none); + specs.set_fill( + basic_string_view(begin, to_unsigned(fill_end - begin))); + specs.set_align(alignment); + begin = fill_end + 1; + } + } + if (begin == end) return begin; + c = to_ascii(*begin); + } +} + +template +FMT_CONSTEXPR FMT_INLINE auto parse_replacement_field(const Char* begin, + const Char* end, + Handler&& handler) + -> const Char* { + ++begin; + if (begin == end) { + handler.on_error("invalid format string"); + return end; + } + int arg_id = 0; + switch (*begin) { + case '}': + handler.on_replacement_field(handler.on_arg_id(), begin); + return begin + 1; + case '{': handler.on_text(begin, begin + 1); return begin + 1; + case ':': arg_id = handler.on_arg_id(); break; + default: { + struct id_adapter { + Handler& handler; + int arg_id; + + FMT_CONSTEXPR void on_index(int id) { arg_id = handler.on_arg_id(id); } + FMT_CONSTEXPR void on_name(basic_string_view id) { + arg_id = handler.on_arg_id(id); + } + } adapter = {handler, 0}; + begin = parse_arg_id(begin, end, adapter); + arg_id = adapter.arg_id; + Char c = begin != end ? *begin : Char(); + if (c == '}') { + handler.on_replacement_field(arg_id, begin); + return begin + 1; + } + if (c != ':') { + handler.on_error("missing '}' in format string"); + return end; + } + break; + } + } + begin = handler.on_format_specs(arg_id, begin + 1, end); + if (begin == end || *begin != '}') + return handler.on_error("unknown format specifier"), end; + return begin + 1; +} + +template +FMT_CONSTEXPR void parse_format_string(basic_string_view fmt, + Handler&& handler) { + auto begin = fmt.data(), end = begin + fmt.size(); + auto p = begin; + while (p != end) { + auto c = *p++; + if (c == '{') { + handler.on_text(begin, p - 1); + begin = p = parse_replacement_field(p - 1, end, handler); + } else if (c == '}') { + if (p == end || *p != '}') + return handler.on_error("unmatched '}' in format string"); + handler.on_text(begin, p); + begin = ++p; + } + } + handler.on_text(begin, end); +} + +// Checks char specs and returns true iff the presentation type is char-like. +FMT_CONSTEXPR inline auto check_char_specs(const format_specs& specs) -> bool { + auto type = specs.type(); + if (type != presentation_type::none && type != presentation_type::chr && + type != presentation_type::debug) { + return false; + } + if (specs.align() == align::numeric || specs.sign() != sign::none || + specs.alt()) { + report_error("invalid format specifier for char"); + } + return true; +} + +// A base class for compile-time strings. +struct compile_string {}; + +template +FMT_VISIBILITY("hidden") // Suppress an ld warning on macOS (#3769). +FMT_CONSTEXPR auto invoke_parse(parse_context& ctx) -> const Char* { + using mapped_type = remove_cvref_t>; + constexpr bool formattable = + std::is_constructible>::value; + if (!formattable) return ctx.begin(); // Error is reported in the value ctor. + using formatted_type = conditional_t; + return formatter().parse(ctx); +} + +template struct arg_pack {}; + +template +class format_string_checker { + private: + type types_[max_of(1, NUM_ARGS)]; + named_arg_info named_args_[max_of(1, NUM_NAMED_ARGS)]; + compile_parse_context context_; + + using parse_func = auto (*)(parse_context&) -> const Char*; + parse_func parse_funcs_[max_of(1, NUM_ARGS)]; + + public: + template + FMT_CONSTEXPR explicit format_string_checker(basic_string_view fmt, + arg_pack) + : types_{mapped_type_constant::value...}, + named_args_{}, + context_(fmt, NUM_ARGS, types_), + parse_funcs_{&invoke_parse...} { + int arg_index = 0, named_arg_index = 0; + FMT_APPLY_VARIADIC( + init_static_named_arg(named_args_, arg_index, named_arg_index)); + ignore_unused(arg_index, named_arg_index); + } + + FMT_CONSTEXPR void on_text(const Char*, const Char*) {} + + FMT_CONSTEXPR auto on_arg_id() -> int { return context_.next_arg_id(); } + FMT_CONSTEXPR auto on_arg_id(int id) -> int { + context_.check_arg_id(id); + return id; + } + FMT_CONSTEXPR auto on_arg_id(basic_string_view id) -> int { + for (int i = 0; i < NUM_NAMED_ARGS; ++i) { + if (named_args_[i].name == id) return named_args_[i].id; + } + if (!DYNAMIC_NAMES) on_error("argument not found"); + return -1; + } + + FMT_CONSTEXPR void on_replacement_field(int id, const Char* begin) { + on_format_specs(id, begin, begin); // Call parse() on empty specs. + } + + FMT_CONSTEXPR auto on_format_specs(int id, const Char* begin, const Char* end) + -> const Char* { + context_.advance_to(begin); + if (id >= 0 && id < NUM_ARGS) return parse_funcs_[id](context_); + while (begin != end && *begin != '}') ++begin; + return begin; + } + + FMT_NORETURN FMT_CONSTEXPR void on_error(const char* message) { + report_error(message); + } +}; + +/// A contiguous memory buffer with an optional growing ability. It is an +/// internal class and shouldn't be used directly, only via `memory_buffer`. +template class buffer { + private: + T* ptr_; + size_t size_; + size_t capacity_; + + using grow_fun = void (*)(buffer& buf, size_t capacity); + grow_fun grow_; + + protected: + // Don't initialize ptr_ since it is not accessed to save a few cycles. + FMT_MSC_WARNING(suppress : 26495) + FMT_CONSTEXPR buffer(grow_fun grow, size_t sz) noexcept + : size_(sz), capacity_(sz), grow_(grow) {} + + constexpr buffer(grow_fun grow, T* p = nullptr, size_t sz = 0, + size_t cap = 0) noexcept + : ptr_(p), size_(sz), capacity_(cap), grow_(grow) {} + + FMT_CONSTEXPR20 ~buffer() = default; + buffer(buffer&&) = default; + + /// Sets the buffer data and capacity. + FMT_CONSTEXPR void set(T* buf_data, size_t buf_capacity) noexcept { + ptr_ = buf_data; + capacity_ = buf_capacity; + } + + public: + using value_type = T; + using const_reference = const T&; + + buffer(const buffer&) = delete; + void operator=(const buffer&) = delete; + + auto begin() noexcept -> T* { return ptr_; } + auto end() noexcept -> T* { return ptr_ + size_; } + + auto begin() const noexcept -> const T* { return ptr_; } + auto end() const noexcept -> const T* { return ptr_ + size_; } + + /// Returns the size of this buffer. + constexpr auto size() const noexcept -> size_t { return size_; } + + /// Returns the capacity of this buffer. + constexpr auto capacity() const noexcept -> size_t { return capacity_; } + + /// Returns a pointer to the buffer data (not null-terminated). + FMT_CONSTEXPR auto data() noexcept -> T* { return ptr_; } + FMT_CONSTEXPR auto data() const noexcept -> const T* { return ptr_; } + + /// Clears this buffer. + FMT_CONSTEXPR void clear() { size_ = 0; } + + // Tries resizing the buffer to contain `count` elements. If T is a POD type + // the new elements may not be initialized. + FMT_CONSTEXPR void try_resize(size_t count) { + try_reserve(count); + size_ = min_of(count, capacity_); + } + + // Tries increasing the buffer capacity to `new_capacity`. It can increase the + // capacity by a smaller amount than requested but guarantees there is space + // for at least one additional element either by increasing the capacity or by + // flushing the buffer if it is full. + FMT_CONSTEXPR void try_reserve(size_t new_capacity) { + if (new_capacity > capacity_) grow_(*this, new_capacity); + } + + FMT_CONSTEXPR void push_back(const T& value) { + try_reserve(size_ + 1); + ptr_[size_++] = value; + } + + /// Appends data to the end of the buffer. + template +// Workaround for MSVC2019 to fix error C2893: Failed to specialize function +// template 'void fmt::v11::detail::buffer::append(const U *,const U *)'. +#if !FMT_MSC_VERSION || FMT_MSC_VERSION >= 1940 + FMT_CONSTEXPR20 +#endif + void + append(const U* begin, const U* end) { + while (begin != end) { + auto count = to_unsigned(end - begin); + try_reserve(size_ + count); + auto free_cap = capacity_ - size_; + if (free_cap < count) count = free_cap; + // A loop is faster than memcpy on small sizes. + T* out = ptr_ + size_; + for (size_t i = 0; i < count; ++i) out[i] = begin[i]; + size_ += count; + begin += count; + } + } + + template FMT_CONSTEXPR auto operator[](Idx index) -> T& { + return ptr_[index]; + } + template + FMT_CONSTEXPR auto operator[](Idx index) const -> const T& { + return ptr_[index]; + } +}; + +struct buffer_traits { + constexpr explicit buffer_traits(size_t) {} + constexpr auto count() const -> size_t { return 0; } + constexpr auto limit(size_t size) const -> size_t { return size; } +}; + +class fixed_buffer_traits { + private: + size_t count_ = 0; + size_t limit_; + + public: + constexpr explicit fixed_buffer_traits(size_t limit) : limit_(limit) {} + constexpr auto count() const -> size_t { return count_; } + FMT_CONSTEXPR auto limit(size_t size) -> size_t { + size_t n = limit_ > count_ ? limit_ - count_ : 0; + count_ += size; + return min_of(size, n); + } +}; + +// A buffer that writes to an output iterator when flushed. +template +class iterator_buffer : public Traits, public buffer { + private: + OutputIt out_; + enum { buffer_size = 256 }; + T data_[buffer_size]; + + static FMT_CONSTEXPR void grow(buffer& buf, size_t) { + if (buf.size() == buffer_size) static_cast(buf).flush(); + } + + void flush() { + auto size = this->size(); + this->clear(); + const T* begin = data_; + const T* end = begin + this->limit(size); + while (begin != end) *out_++ = *begin++; + } + + public: + explicit iterator_buffer(OutputIt out, size_t n = buffer_size) + : Traits(n), buffer(grow, data_, 0, buffer_size), out_(out) {} + iterator_buffer(iterator_buffer&& other) noexcept + : Traits(other), + buffer(grow, data_, 0, buffer_size), + out_(other.out_) {} + ~iterator_buffer() { + // Don't crash if flush fails during unwinding. + FMT_TRY { flush(); } + FMT_CATCH(...) {} + } + + auto out() -> OutputIt { + flush(); + return out_; + } + auto count() const -> size_t { return Traits::count() + this->size(); } +}; + +template +class iterator_buffer : public fixed_buffer_traits, + public buffer { + private: + T* out_; + enum { buffer_size = 256 }; + T data_[buffer_size]; + + static FMT_CONSTEXPR void grow(buffer& buf, size_t) { + if (buf.size() == buf.capacity()) + static_cast(buf).flush(); + } + + void flush() { + size_t n = this->limit(this->size()); + if (this->data() == out_) { + out_ += n; + this->set(data_, buffer_size); + } + this->clear(); + } + + public: + explicit iterator_buffer(T* out, size_t n = buffer_size) + : fixed_buffer_traits(n), buffer(grow, out, 0, n), out_(out) {} + iterator_buffer(iterator_buffer&& other) noexcept + : fixed_buffer_traits(other), + buffer(static_cast(other)), + out_(other.out_) { + if (this->data() != out_) { + this->set(data_, buffer_size); + this->clear(); + } + } + ~iterator_buffer() { flush(); } + + auto out() -> T* { + flush(); + return out_; + } + auto count() const -> size_t { + return fixed_buffer_traits::count() + this->size(); + } +}; + +template class iterator_buffer : public buffer { + public: + explicit iterator_buffer(T* out, size_t = 0) + : buffer([](buffer&, size_t) {}, out, 0, ~size_t()) {} + + auto out() -> T* { return &*this->end(); } +}; + +template +class container_buffer : public buffer { + private: + using value_type = typename Container::value_type; + + static FMT_CONSTEXPR void grow(buffer& buf, size_t capacity) { + auto& self = static_cast(buf); + self.container.resize(capacity); + self.set(&self.container[0], capacity); + } + + public: + Container& container; + + explicit container_buffer(Container& c) + : buffer(grow, c.size()), container(c) {} +}; + +// A buffer that writes to a container with the contiguous storage. +template +class iterator_buffer< + OutputIt, + enable_if_t::value && + is_contiguous::value, + typename OutputIt::container_type::value_type>> + : public container_buffer { + private: + using base = container_buffer; + + public: + explicit iterator_buffer(typename OutputIt::container_type& c) : base(c) {} + explicit iterator_buffer(OutputIt out, size_t = 0) + : base(get_container(out)) {} + + auto out() -> OutputIt { return OutputIt(this->container); } +}; + +// A buffer that counts the number of code units written discarding the output. +template class counting_buffer : public buffer { + private: + enum { buffer_size = 256 }; + T data_[buffer_size]; + size_t count_ = 0; + + static FMT_CONSTEXPR void grow(buffer& buf, size_t) { + if (buf.size() != buffer_size) return; + static_cast(buf).count_ += buf.size(); + buf.clear(); + } + + public: + FMT_CONSTEXPR counting_buffer() : buffer(grow, data_, 0, buffer_size) {} + + constexpr auto count() const noexcept -> size_t { + return count_ + this->size(); + } +}; + +template +struct is_back_insert_iterator> : std::true_type {}; + +template +struct has_back_insert_iterator_container_append : std::false_type {}; +template +struct has_back_insert_iterator_container_append< + OutputIt, InputIt, + void_t()) + .append(std::declval(), + std::declval()))>> : std::true_type {}; + +// An optimized version of std::copy with the output value type (T). +template ::value&& + has_back_insert_iterator_container_append< + OutputIt, InputIt>::value)> +FMT_CONSTEXPR20 auto copy(InputIt begin, InputIt end, OutputIt out) + -> OutputIt { + get_container(out).append(begin, end); + return out; +} + +template ::value && + !has_back_insert_iterator_container_append< + OutputIt, InputIt>::value)> +FMT_CONSTEXPR20 auto copy(InputIt begin, InputIt end, OutputIt out) + -> OutputIt { + auto& c = get_container(out); + c.insert(c.end(), begin, end); + return out; +} + +template ::value)> +FMT_CONSTEXPR auto copy(InputIt begin, InputIt end, OutputIt out) -> OutputIt { + while (begin != end) *out++ = static_cast(*begin++); + return out; +} + +template +FMT_CONSTEXPR auto copy(basic_string_view s, OutputIt out) -> OutputIt { + return copy(s.begin(), s.end(), out); +} + +template +struct is_buffer_appender : std::false_type {}; +template +struct is_buffer_appender< + It, bool_constant< + is_back_insert_iterator::value && + std::is_base_of, + typename It::container_type>::value>> + : std::true_type {}; + +// Maps an output iterator to a buffer. +template ::value)> +auto get_buffer(OutputIt out) -> iterator_buffer { + return iterator_buffer(out); +} +template ::value)> +auto get_buffer(OutputIt out) -> buffer& { + return get_container(out); +} + +template +auto get_iterator(Buf& buf, OutputIt) -> decltype(buf.out()) { + return buf.out(); +} +template +auto get_iterator(buffer&, OutputIt out) -> OutputIt { + return out; +} + +// This type is intentionally undefined, only used for errors. +template struct type_is_unformattable_for; + +template struct string_value { + const Char* data; + size_t size; + auto str() const -> basic_string_view { return {data, size}; } +}; + +template struct custom_value { + using char_type = typename Context::char_type; + void* value; + void (*format)(void* arg, parse_context& parse_ctx, Context& ctx); +}; + +template struct named_arg_value { + const named_arg_info* data; + size_t size; +}; + +struct custom_tag {}; + +#if !FMT_BUILTIN_TYPES +# define FMT_BUILTIN , monostate +#else +# define FMT_BUILTIN +#endif + +// A formatting argument value. +template class value { + public: + using char_type = typename Context::char_type; + + union { + monostate no_value; + int int_value; + unsigned uint_value; + long long long_long_value; + unsigned long long ulong_long_value; + int128_opt int128_value; + uint128_opt uint128_value; + bool bool_value; + char_type char_value; + float float_value; + double double_value; + long double long_double_value; + const void* pointer; + string_value string; + custom_value custom; + named_arg_value named_args; + }; + + constexpr FMT_INLINE value() : no_value() {} + constexpr FMT_INLINE value(signed char x) : int_value(x) {} + constexpr FMT_INLINE value(unsigned char x FMT_BUILTIN) : uint_value(x) {} + constexpr FMT_INLINE value(signed short x) : int_value(x) {} + constexpr FMT_INLINE value(unsigned short x FMT_BUILTIN) : uint_value(x) {} + constexpr FMT_INLINE value(int x) : int_value(x) {} + constexpr FMT_INLINE value(unsigned x FMT_BUILTIN) : uint_value(x) {} + FMT_CONSTEXPR FMT_INLINE value(long x FMT_BUILTIN) : value(long_type(x)) {} + FMT_CONSTEXPR FMT_INLINE value(unsigned long x FMT_BUILTIN) + : value(ulong_type(x)) {} + constexpr FMT_INLINE value(long long x FMT_BUILTIN) : long_long_value(x) {} + constexpr FMT_INLINE value(unsigned long long x FMT_BUILTIN) + : ulong_long_value(x) {} + FMT_INLINE value(int128_opt x FMT_BUILTIN) : int128_value(x) {} + FMT_INLINE value(uint128_opt x FMT_BUILTIN) : uint128_value(x) {} + constexpr FMT_INLINE value(bool x FMT_BUILTIN) : bool_value(x) {} + + template + constexpr FMT_INLINE value(bitint x FMT_BUILTIN) : long_long_value(x) { + static_assert(N <= 64, "unsupported _BitInt"); + } + template + constexpr FMT_INLINE value(ubitint x FMT_BUILTIN) : ulong_long_value(x) { + static_assert(N <= 64, "unsupported _BitInt"); + } + + template ::value)> + constexpr FMT_INLINE value(T x FMT_BUILTIN) : char_value(x) { + static_assert( + std::is_same::value || std::is_same::value, + "mixing character types is disallowed"); + } + + constexpr FMT_INLINE value(float x FMT_BUILTIN) : float_value(x) {} + constexpr FMT_INLINE value(double x FMT_BUILTIN) : double_value(x) {} + FMT_INLINE value(long double x FMT_BUILTIN) : long_double_value(x) {} + + FMT_CONSTEXPR FMT_INLINE value(char_type* x FMT_BUILTIN) { + string.data = x; + if (is_constant_evaluated()) string.size = 0; + } + FMT_CONSTEXPR FMT_INLINE value(const char_type* x FMT_BUILTIN) { + string.data = x; + if (is_constant_evaluated()) string.size = 0; + } + template , + FMT_ENABLE_IF(!std::is_pointer::value)> + FMT_CONSTEXPR value(const T& x FMT_BUILTIN) { + static_assert(std::is_same::value, + "mixing character types is disallowed"); + auto sv = to_string_view(x); + string.data = sv.data(); + string.size = sv.size(); + } + FMT_INLINE value(void* x FMT_BUILTIN) : pointer(x) {} + FMT_INLINE value(const void* x FMT_BUILTIN) : pointer(x) {} + FMT_INLINE value(volatile void* x FMT_BUILTIN) + : pointer(const_cast(x)) {} + FMT_INLINE value(const volatile void* x FMT_BUILTIN) + : pointer(const_cast(x)) {} + FMT_INLINE value(nullptr_t) : pointer(nullptr) {} + + template ::value || + std::is_member_pointer::value)> + value(const T&) { + // Formatting of arbitrary pointers is disallowed. If you want to format a + // pointer cast it to `void*` or `const void*`. In particular, this forbids + // formatting of `[const] volatile char*` printed as bool by iostreams. + static_assert(sizeof(T) == 0, + "formatting of non-void pointers is disallowed"); + } + + template ::value)> + value(const T& x) : value(format_as(x)) {} + template ::value)> + value(const T& x) : value(formatter::format_as(x)) {} + + template ::value)> + value(const T& named_arg) : value(named_arg.value) {} + + template ::value || !FMT_BUILTIN_TYPES)> + FMT_CONSTEXPR20 FMT_INLINE value(T& x) : value(x, custom_tag()) {} + + FMT_ALWAYS_INLINE value(const named_arg_info* args, size_t size) + : named_args{args, size} {} + + private: + template ())> + FMT_CONSTEXPR value(T& x, custom_tag) { + using value_type = remove_const_t; + // T may overload operator& e.g. std::vector::reference in libc++. + if (!is_constant_evaluated()) { + custom.value = + const_cast(&reinterpret_cast(x)); + } else { + custom.value = nullptr; +#if defined(__cpp_if_constexpr) + if constexpr (std::is_same*>::value) + custom.value = const_cast(&x); +#endif + } + custom.format = format_custom>; + } + + template ())> + FMT_CONSTEXPR value(const T&, custom_tag) { + // Cannot format an argument; to make type T formattable provide a + // formatter specialization: https://fmt.dev/latest/api.html#udt. + type_is_unformattable_for _; + } + + // Formats an argument of a custom type, such as a user-defined class. + template + static void format_custom(void* arg, parse_context& parse_ctx, + Context& ctx) { + auto f = Formatter(); + parse_ctx.advance_to(f.parse(parse_ctx)); + using qualified_type = + conditional_t(), const T, T>; + // format must be const for compatibility with std::format and compilation. + const auto& cf = f; + ctx.advance_to(cf.format(*static_cast(arg), ctx)); + } +}; + +enum { packed_arg_bits = 4 }; +// Maximum number of arguments with packed types. +enum { max_packed_args = 62 / packed_arg_bits }; +enum : unsigned long long { is_unpacked_bit = 1ULL << 63 }; +enum : unsigned long long { has_named_args_bit = 1ULL << 62 }; + +template +struct is_output_iterator : std::false_type {}; + +template <> struct is_output_iterator : std::true_type {}; + +template +struct is_output_iterator< + It, T, + void_t&>()++ = std::declval())>> + : std::true_type {}; + +#ifndef FMT_USE_LOCALE +# define FMT_USE_LOCALE (FMT_OPTIMIZE_SIZE <= 1) +#endif + +// A type-erased reference to an std::locale to avoid a heavy include. +struct locale_ref { +#if FMT_USE_LOCALE + private: + const void* locale_; // A type-erased pointer to std::locale. + + public: + constexpr locale_ref() : locale_(nullptr) {} + template locale_ref(const Locale& loc); + + inline explicit operator bool() const noexcept { return locale_ != nullptr; } +#endif // FMT_USE_LOCALE + + template auto get() const -> Locale; +}; + +template constexpr auto encode_types() -> unsigned long long { + return 0; +} + +template +constexpr auto encode_types() -> unsigned long long { + return static_cast(stored_type_constant::value) | + (encode_types() << packed_arg_bits); +} + +template +constexpr auto make_descriptor() -> unsigned long long { + return NUM_ARGS <= max_packed_args ? encode_types() + : is_unpacked_bit | NUM_ARGS; +} + +template +using arg_t = conditional_t, + basic_format_arg>; + +template +struct named_arg_store { + // args_[0].named_args points to named_args to avoid bloating format_args. + arg_t args[1 + NUM_ARGS]; + named_arg_info named_args[NUM_NAMED_ARGS]; + + template + FMT_CONSTEXPR FMT_ALWAYS_INLINE named_arg_store(T&... values) + : args{{named_args, NUM_NAMED_ARGS}, values...} { + int arg_index = 0, named_arg_index = 0; + FMT_APPLY_VARIADIC( + init_named_arg(named_args, arg_index, named_arg_index, values)); + } + + named_arg_store(named_arg_store&& rhs) { + args[0] = {named_args, NUM_NAMED_ARGS}; + for (size_t i = 1; i < sizeof(args) / sizeof(*args); ++i) + args[i] = rhs.args[i]; + for (size_t i = 0; i < NUM_NAMED_ARGS; ++i) + named_args[i] = rhs.named_args[i]; + } + + named_arg_store(const named_arg_store& rhs) = delete; + named_arg_store& operator=(const named_arg_store& rhs) = delete; + named_arg_store& operator=(named_arg_store&& rhs) = delete; + operator const arg_t*() const { return args + 1; } +}; + +// An array of references to arguments. It can be implicitly converted to +// `basic_format_args` for passing into type-erased formatting functions +// such as `vformat`. It is a plain struct to reduce binary size in debug mode. +template +struct format_arg_store { + // +1 to workaround a bug in gcc 7.5 that causes duplicated-branches warning. + using type = + conditional_t[max_of(1, NUM_ARGS)], + named_arg_store>; + type args; +}; + +// TYPE can be different from type_constant, e.g. for __float128. +template struct native_formatter { + private: + dynamic_format_specs specs_; + + public: + using nonlocking = void; + + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + if (ctx.begin() == ctx.end() || *ctx.begin() == '}') return ctx.begin(); + auto end = parse_format_specs(ctx.begin(), ctx.end(), specs_, ctx, TYPE); + if (const_check(TYPE == type::char_type)) check_char_specs(specs_); + return end; + } + + template + FMT_CONSTEXPR void set_debug_format(bool set = true) { + specs_.set_type(set ? presentation_type::debug : presentation_type::none); + } + + FMT_PRAGMA_CLANG(diagnostic ignored "-Wundefined-inline") + template + FMT_CONSTEXPR auto format(const T& val, FormatContext& ctx) const + -> decltype(ctx.out()); +}; + +template +struct locking + : bool_constant::value == type::custom_type> {}; +template +struct locking>::nonlocking>> + : std::false_type {}; + +template FMT_CONSTEXPR inline auto is_locking() -> bool { + return locking::value; +} +template +FMT_CONSTEXPR inline auto is_locking() -> bool { + return locking::value || is_locking(); +} + +FMT_API void vformat_to(buffer& buf, string_view fmt, format_args args, + locale_ref loc = {}); + +#if FMT_WIN32 +FMT_API void vprint_mojibake(FILE*, string_view, format_args, bool); +#else // format_args is passed by reference since it is defined later. +inline void vprint_mojibake(FILE*, string_view, const format_args&, bool) {} +#endif +} // namespace detail + +// The main public API. + +template +FMT_CONSTEXPR void parse_context::do_check_arg_id(int arg_id) { + // Argument id is only checked at compile time during parsing because + // formatting has its own validation. + if (detail::is_constant_evaluated() && use_constexpr_cast) { + auto ctx = static_cast*>(this); + if (arg_id >= ctx->num_args()) report_error("argument not found"); + } +} + +template +FMT_CONSTEXPR void parse_context::check_dynamic_spec(int arg_id) { + using detail::compile_parse_context; + if (detail::is_constant_evaluated() && use_constexpr_cast) + static_cast*>(this)->check_dynamic_spec(arg_id); +} + +FMT_BEGIN_EXPORT + +// An output iterator that appends to a buffer. It is used instead of +// back_insert_iterator to reduce symbol sizes and avoid dependency. +template class basic_appender { + protected: + detail::buffer* container; + + public: + using container_type = detail::buffer; + + FMT_CONSTEXPR basic_appender(detail::buffer& buf) : container(&buf) {} + + FMT_CONSTEXPR20 auto operator=(T c) -> basic_appender& { + container->push_back(c); + return *this; + } + FMT_CONSTEXPR20 auto operator*() -> basic_appender& { return *this; } + FMT_CONSTEXPR20 auto operator++() -> basic_appender& { return *this; } + FMT_CONSTEXPR20 auto operator++(int) -> basic_appender { return *this; } +}; + +// A formatting argument. Context is a template parameter for the compiled API +// where output can be unbuffered. +template class basic_format_arg { + private: + detail::value value_; + detail::type type_; + + friend class basic_format_args; + + using char_type = typename Context::char_type; + + public: + class handle { + private: + detail::custom_value custom_; + + public: + explicit handle(detail::custom_value custom) : custom_(custom) {} + + void format(parse_context& parse_ctx, Context& ctx) const { + custom_.format(custom_.value, parse_ctx, ctx); + } + }; + + constexpr basic_format_arg() : type_(detail::type::none_type) {} + basic_format_arg(const detail::named_arg_info* args, size_t size) + : value_(args, size) {} + template + basic_format_arg(T&& val) + : value_(val), type_(detail::stored_type_constant::value) {} + + constexpr explicit operator bool() const noexcept { + return type_ != detail::type::none_type; + } + auto type() const -> detail::type { return type_; } + + /** + * Visits an argument dispatching to the appropriate visit method based on + * the argument type. For example, if the argument type is `double` then + * `vis(value)` will be called with the value of type `double`. + */ + template + FMT_CONSTEXPR FMT_INLINE auto visit(Visitor&& vis) const -> decltype(vis(0)) { + using detail::map; + switch (type_) { + case detail::type::none_type: break; + case detail::type::int_type: return vis(value_.int_value); + case detail::type::uint_type: return vis(value_.uint_value); + case detail::type::long_long_type: return vis(value_.long_long_value); + case detail::type::ulong_long_type: return vis(value_.ulong_long_value); + case detail::type::int128_type: return vis(map(value_.int128_value)); + case detail::type::uint128_type: return vis(map(value_.uint128_value)); + case detail::type::bool_type: return vis(value_.bool_value); + case detail::type::char_type: return vis(value_.char_value); + case detail::type::float_type: return vis(value_.float_value); + case detail::type::double_type: return vis(value_.double_value); + case detail::type::long_double_type: return vis(value_.long_double_value); + case detail::type::cstring_type: return vis(value_.string.data); + case detail::type::string_type: return vis(value_.string.str()); + case detail::type::pointer_type: return vis(value_.pointer); + case detail::type::custom_type: return vis(handle(value_.custom)); + } + return vis(monostate()); + } + + auto format_custom(const char_type* parse_begin, + parse_context& parse_ctx, Context& ctx) + -> bool { + if (type_ != detail::type::custom_type) return false; + parse_ctx.advance_to(parse_begin); + value_.custom.format(value_.custom.value, parse_ctx, ctx); + return true; + } +}; + +/** + * A view of a collection of formatting arguments. To avoid lifetime issues it + * should only be used as a parameter type in type-erased functions such as + * `vformat`: + * + * void vlog(fmt::string_view fmt, fmt::format_args args); // OK + * fmt::format_args args = fmt::make_format_args(); // Dangling reference + */ +template class basic_format_args { + private: + // A descriptor that contains information about formatting arguments. + // If the number of arguments is less or equal to max_packed_args then + // argument types are passed in the descriptor. This reduces binary code size + // per formatting function call. + unsigned long long desc_; + union { + // If is_packed() returns true then argument values are stored in values_; + // otherwise they are stored in args_. This is done to improve cache + // locality and reduce compiled code size since storing larger objects + // may require more code (at least on x86-64) even if the same amount of + // data is actually copied to stack. It saves ~10% on the bloat test. + const detail::value* values_; + const basic_format_arg* args_; + }; + + constexpr auto is_packed() const -> bool { + return (desc_ & detail::is_unpacked_bit) == 0; + } + constexpr auto has_named_args() const -> bool { + return (desc_ & detail::has_named_args_bit) != 0; + } + + FMT_CONSTEXPR auto type(int index) const -> detail::type { + int shift = index * detail::packed_arg_bits; + unsigned mask = (1 << detail::packed_arg_bits) - 1; + return static_cast((desc_ >> shift) & mask); + } + + template + using store = + detail::format_arg_store; + + public: + using format_arg = basic_format_arg; + + constexpr basic_format_args() : desc_(0), args_(nullptr) {} + + /// Constructs a `basic_format_args` object from `format_arg_store`. + template + constexpr FMT_ALWAYS_INLINE basic_format_args( + const store& s) + : desc_(DESC | (NUM_NAMED_ARGS != 0 ? +detail::has_named_args_bit : 0)), + values_(s.args) {} + + template detail::max_packed_args)> + constexpr basic_format_args(const store& s) + : desc_(DESC | (NUM_NAMED_ARGS != 0 ? +detail::has_named_args_bit : 0)), + args_(s.args) {} + + /// Constructs a `basic_format_args` object from a dynamic list of arguments. + constexpr basic_format_args(const format_arg* args, int count, + bool has_named = false) + : desc_(detail::is_unpacked_bit | detail::to_unsigned(count) | + (has_named ? +detail::has_named_args_bit : 0)), + args_(args) {} + + /// Returns the argument with the specified id. + FMT_CONSTEXPR auto get(int id) const -> format_arg { + auto arg = format_arg(); + if (!is_packed()) { + if (id < max_size()) arg = args_[id]; + return arg; + } + if (static_cast(id) >= detail::max_packed_args) return arg; + arg.type_ = type(id); + if (arg.type_ != detail::type::none_type) arg.value_ = values_[id]; + return arg; + } + + template + auto get(basic_string_view name) const -> format_arg { + int id = get_id(name); + return id >= 0 ? get(id) : format_arg(); + } + + template + FMT_CONSTEXPR auto get_id(basic_string_view name) const -> int { + if (!has_named_args()) return -1; + const auto& named_args = + (is_packed() ? values_[-1] : args_[-1].value_).named_args; + for (size_t i = 0; i < named_args.size; ++i) { + if (named_args.data[i].name == name) return named_args.data[i].id; + } + return -1; + } + + auto max_size() const -> int { + unsigned long long max_packed = detail::max_packed_args; + return static_cast(is_packed() ? max_packed + : desc_ & ~detail::is_unpacked_bit); + } +}; + +// A formatting context. +class context { + private: + appender out_; + format_args args_; + FMT_NO_UNIQUE_ADDRESS detail::locale_ref loc_; + + public: + /// The character type for the output. + using char_type = char; + + using iterator = appender; + using format_arg = basic_format_arg; + using parse_context_type FMT_DEPRECATED = parse_context<>; + template using formatter_type FMT_DEPRECATED = formatter; + enum { builtin_types = FMT_BUILTIN_TYPES }; + + /// Constructs a `context` object. References to the arguments are stored + /// in the object so make sure they have appropriate lifetimes. + FMT_CONSTEXPR context(iterator out, format_args args, + detail::locale_ref loc = {}) + : out_(out), args_(args), loc_(loc) {} + context(context&&) = default; + context(const context&) = delete; + void operator=(const context&) = delete; + + FMT_CONSTEXPR auto arg(int id) const -> format_arg { return args_.get(id); } + inline auto arg(string_view name) const -> format_arg { + return args_.get(name); + } + FMT_CONSTEXPR auto arg_id(string_view name) const -> int { + return args_.get_id(name); + } + + // Returns an iterator to the beginning of the output range. + FMT_CONSTEXPR auto out() const -> iterator { return out_; } + + // Advances the begin iterator to `it`. + FMT_CONSTEXPR void advance_to(iterator) {} + + FMT_CONSTEXPR auto locale() const -> detail::locale_ref { return loc_; } +}; + +template struct runtime_format_string { + basic_string_view str; +}; + +/** + * Creates a runtime format string. + * + * **Example**: + * + * // Check format string at runtime instead of compile-time. + * fmt::print(fmt::runtime("{:d}"), "I am not a number"); + */ +inline auto runtime(string_view s) -> runtime_format_string<> { return {{s}}; } + +/// A compile-time format string. Use `format_string` in the public API to +/// prevent type deduction. +template struct fstring { + private: + static constexpr int num_static_named_args = + detail::count_static_named_args(); + + using checker = detail::format_string_checker< + char, static_cast(sizeof...(T)), num_static_named_args, + num_static_named_args != detail::count_named_args()>; + + using arg_pack = detail::arg_pack; + + public: + string_view str; + using t = fstring; + + // Reports a compile-time error if S is not a valid format string for T. + template + FMT_CONSTEVAL FMT_ALWAYS_INLINE fstring(const char (&s)[N]) : str(s, N - 1) { + using namespace detail; + static_assert(count<(std::is_base_of>::value && + std::is_reference::value)...>() == 0, + "passing views as lvalues is disallowed"); + if (FMT_USE_CONSTEVAL) parse_format_string(s, checker(s, arg_pack())); +#ifdef FMT_ENFORCE_COMPILE_STRING + static_assert( + FMT_USE_CONSTEVAL && sizeof(s) != 0, + "FMT_ENFORCE_COMPILE_STRING requires format strings to use FMT_STRING"); +#endif + } + template ::value)> + FMT_CONSTEVAL FMT_ALWAYS_INLINE fstring(const S& s) : str(s) { + auto sv = string_view(str); + if (FMT_USE_CONSTEVAL) + detail::parse_format_string(sv, checker(sv, arg_pack())); +#ifdef FMT_ENFORCE_COMPILE_STRING + static_assert( + FMT_USE_CONSTEVAL && sizeof(s) != 0, + "FMT_ENFORCE_COMPILE_STRING requires format strings to use FMT_STRING"); +#endif + } + template ::value&& + std::is_same::value)> + FMT_ALWAYS_INLINE fstring(const S&) : str(S()) { + FMT_CONSTEXPR auto sv = string_view(S()); + FMT_CONSTEXPR int ignore = + (parse_format_string(sv, checker(sv, arg_pack())), 0); + detail::ignore_unused(ignore); + } + fstring(runtime_format_string<> fmt) : str(fmt.str) {} + + // Returning by reference generates better code in debug mode. + FMT_ALWAYS_INLINE operator const string_view&() const { return str; } + auto get() const -> string_view { return str; } +}; + +template using format_string = typename fstring::t; + +template +using is_formattable = bool_constant::value, int*, T>, Char>, + void>::value>; +#ifdef __cpp_concepts +template +concept formattable = is_formattable, Char>::value; +#endif + +template +using has_formatter FMT_DEPRECATED = std::is_constructible>; + +// A formatter specialization for natively supported types. +template +struct formatter::value != + detail::type::custom_type>> + : detail::native_formatter::value> { +}; + +/** + * Constructs an object that stores references to arguments and can be + * implicitly converted to `format_args`. `Context` can be omitted in which case + * it defaults to `context`. See `arg` for lifetime considerations. + */ +// Take arguments by lvalue references to avoid some lifetime issues, e.g. +// auto args = make_format_args(std::string()); +template (), + unsigned long long DESC = detail::make_descriptor()> +constexpr FMT_ALWAYS_INLINE auto make_format_args(T&... args) + -> detail::format_arg_store { + // Suppress warnings for pathological types convertible to detail::value. + FMT_PRAGMA_GCC(diagnostic ignored "-Wconversion") + return {{args...}}; +} + +template +using vargs = + detail::format_arg_store(), + detail::make_descriptor()>; + +/** + * Returns a named argument to be used in a formatting function. + * It should only be used in a call to a formatting function. + * + * **Example**: + * + * fmt::print("The answer is {answer}.", fmt::arg("answer", 42)); + */ +template +inline auto arg(const Char* name, const T& arg) -> detail::named_arg { + return {name, arg}; +} + +/// Formats a string and writes the output to `out`. +template , + char>::value)> +auto vformat_to(OutputIt&& out, string_view fmt, format_args args) + -> remove_cvref_t { + auto&& buf = detail::get_buffer(out); + detail::vformat_to(buf, fmt, args, {}); + return detail::get_iterator(buf, out); +} + +/** + * Formats `args` according to specifications in `fmt`, writes the result to + * the output iterator `out` and returns the iterator past the end of the output + * range. `format_to` does not append a terminating null character. + * + * **Example**: + * + * auto out = std::vector(); + * fmt::format_to(std::back_inserter(out), "{}", 42); + */ +template , + char>::value)> +FMT_INLINE auto format_to(OutputIt&& out, format_string fmt, T&&... args) + -> remove_cvref_t { + return vformat_to(out, fmt.str, vargs{{args...}}); +} + +template struct format_to_n_result { + /// Iterator past the end of the output range. + OutputIt out; + /// Total (not truncated) output size. + size_t size; +}; + +template ::value)> +auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args) + -> format_to_n_result { + using traits = detail::fixed_buffer_traits; + auto buf = detail::iterator_buffer(out, n); + detail::vformat_to(buf, fmt, args, {}); + return {buf.out(), buf.count()}; +} + +/** + * Formats `args` according to specifications in `fmt`, writes up to `n` + * characters of the result to the output iterator `out` and returns the total + * (not truncated) output size and the iterator past the end of the output + * range. `format_to_n` does not append a terminating null character. + */ +template ::value)> +FMT_INLINE auto format_to_n(OutputIt out, size_t n, format_string fmt, + T&&... args) -> format_to_n_result { + return vformat_to_n(out, n, fmt.str, vargs{{args...}}); +} + +struct format_to_result { + /// Pointer to just after the last successful write in the array. + char* out; + /// Specifies if the output was truncated. + bool truncated; + + FMT_CONSTEXPR operator char*() const { + // Report truncation to prevent silent data loss. + if (truncated) report_error("output is truncated"); + return out; + } +}; + +template +auto vformat_to(char (&out)[N], string_view fmt, format_args args) + -> format_to_result { + auto result = vformat_to_n(out, N, fmt, args); + return {result.out, result.size > N}; +} + +template +FMT_INLINE auto format_to(char (&out)[N], format_string fmt, T&&... args) + -> format_to_result { + auto result = vformat_to_n(out, N, fmt.str, vargs{{args...}}); + return {result.out, result.size > N}; +} + +/// Returns the number of chars in the output of `format(fmt, args...)`. +template +FMT_NODISCARD FMT_INLINE auto formatted_size(format_string fmt, + T&&... args) -> size_t { + auto buf = detail::counting_buffer<>(); + detail::vformat_to(buf, fmt.str, vargs{{args...}}, {}); + return buf.count(); +} + +FMT_API void vprint(string_view fmt, format_args args); +FMT_API void vprint(FILE* f, string_view fmt, format_args args); +FMT_API void vprintln(FILE* f, string_view fmt, format_args args); +FMT_API void vprint_buffered(FILE* f, string_view fmt, format_args args); + +/** + * Formats `args` according to specifications in `fmt` and writes the output + * to `stdout`. + * + * **Example**: + * + * fmt::print("The answer is {}.", 42); + */ +template +FMT_INLINE void print(format_string fmt, T&&... args) { + vargs va = {{args...}}; + if (detail::const_check(!detail::use_utf8)) + return detail::vprint_mojibake(stdout, fmt.str, va, false); + return detail::is_locking() ? vprint_buffered(stdout, fmt.str, va) + : vprint(fmt.str, va); +} + +/** + * Formats `args` according to specifications in `fmt` and writes the + * output to the file `f`. + * + * **Example**: + * + * fmt::print(stderr, "Don't {}!", "panic"); + */ +template +FMT_INLINE void print(FILE* f, format_string fmt, T&&... args) { + vargs va = {{args...}}; + if (detail::const_check(!detail::use_utf8)) + return detail::vprint_mojibake(f, fmt.str, va, false); + return detail::is_locking() ? vprint_buffered(f, fmt.str, va) + : vprint(f, fmt.str, va); +} + +/// Formats `args` according to specifications in `fmt` and writes the output +/// to the file `f` followed by a newline. +template +FMT_INLINE void println(FILE* f, format_string fmt, T&&... args) { + vargs va = {{args...}}; + return detail::const_check(detail::use_utf8) + ? vprintln(f, fmt.str, va) + : detail::vprint_mojibake(f, fmt.str, va, true); +} + +/// Formats `args` according to specifications in `fmt` and writes the output +/// to `stdout` followed by a newline. +template +FMT_INLINE void println(format_string fmt, T&&... args) { + return fmt::println(stdout, fmt, static_cast(args)...); +} + +FMT_END_EXPORT +FMT_PRAGMA_CLANG(diagnostic pop) +FMT_PRAGMA_GCC(pop_options) +FMT_END_NAMESPACE + +#ifdef FMT_HEADER_ONLY +# include "format.h" +#endif +#endif // FMT_BASE_H_ diff --git a/3rdparty/fmt/include/fmt/chrono.h b/3rdparty/fmt/include/fmt/chrono.h index 9d54574e1682c..50c777c841aa7 100644 --- a/3rdparty/fmt/include/fmt/chrono.h +++ b/3rdparty/fmt/include/fmt/chrono.h @@ -8,51 +8,36 @@ #ifndef FMT_CHRONO_H_ #define FMT_CHRONO_H_ -#include -#include -#include // std::isfinite -#include // std::memcpy -#include -#include -#include -#include -#include - -#include "ostream.h" // formatbuf +#ifndef FMT_MODULE +# include +# include +# include // std::isfinite +# include // std::memcpy +# include +# include +# include +# include +# include +#endif -FMT_BEGIN_NAMESPACE +#include "format.h" -// Check if std::chrono::local_t is available. -#ifndef FMT_USE_LOCAL_TIME -# ifdef __cpp_lib_chrono -# define FMT_USE_LOCAL_TIME (__cpp_lib_chrono >= 201907L) -# else -# define FMT_USE_LOCAL_TIME 0 -# endif -#endif +namespace fmt_detail { +struct time_zone { + template + auto to_sys(T) + -> std::chrono::time_point { + return {}; + } +}; +template inline auto current_zone(T...) -> time_zone* { + return nullptr; +} -// Check if std::chrono::utc_timestamp is available. -#ifndef FMT_USE_UTC_TIME -# ifdef __cpp_lib_chrono -# define FMT_USE_UTC_TIME (__cpp_lib_chrono >= 201907L) -# else -# define FMT_USE_UTC_TIME 0 -# endif -#endif +template inline void _tzset(T...) {} +} // namespace fmt_detail -// Enable tzset. -#ifndef FMT_USE_TZSET -// UWP doesn't provide _tzset. -# if FMT_HAS_INCLUDE("winapifamily.h") -# include -# endif -# if defined(_WIN32) && (!defined(WINAPI_FAMILY) || \ - (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) -# define FMT_USE_TZSET 1 -# else -# define FMT_USE_TZSET 0 -# endif -#endif +FMT_BEGIN_NAMESPACE // Enable safe chrono durations, unless explicitly disabled. #ifndef FMT_SAFE_DURATION_CAST @@ -94,10 +79,8 @@ FMT_CONSTEXPR auto lossless_integral_conversion(const From from, int& ec) return static_cast(from); } -/** - * converts From to To, without loss. If the dynamic value of from - * can't be converted to To without loss, ec is set. - */ +/// Converts From to To, without loss. If the dynamic value of from +/// can't be converted to To without loss, ec is set. template ::value && std::numeric_limits::is_signed != @@ -185,61 +168,7 @@ FMT_CONSTEXPR auto safe_float_conversion(const From from, int& ec) -> To { return from; } -/** - * safe duration cast between integral durations - */ -template ::value), - FMT_ENABLE_IF(std::is_integral::value)> -auto safe_duration_cast(std::chrono::duration from, - int& ec) -> To { - using From = std::chrono::duration; - ec = 0; - // the basic idea is that we need to convert from count() in the from type - // to count() in the To type, by multiplying it with this: - struct Factor - : std::ratio_divide {}; - - static_assert(Factor::num > 0, "num must be positive"); - static_assert(Factor::den > 0, "den must be positive"); - - // the conversion is like this: multiply from.count() with Factor::num - // /Factor::den and convert it to To::rep, all this without - // overflow/underflow. let's start by finding a suitable type that can hold - // both To, From and Factor::num - using IntermediateRep = - typename std::common_type::type; - - // safe conversion to IntermediateRep - IntermediateRep count = - lossless_integral_conversion(from.count(), ec); - if (ec) return {}; - // multiply with Factor::num without overflow or underflow - if (detail::const_check(Factor::num != 1)) { - const auto max1 = detail::max_value() / Factor::num; - if (count > max1) { - ec = 1; - return {}; - } - const auto min1 = - (std::numeric_limits::min)() / Factor::num; - if (detail::const_check(!std::is_unsigned::value) && - count < min1) { - ec = 1; - return {}; - } - count *= Factor::num; - } - - if (detail::const_check(Factor::den != 1)) count /= Factor::den; - auto tocount = lossless_integral_conversion(count, ec); - return ec ? To() : To(tocount); -} - -/** - * safe duration_cast between floating point durations - */ +/// Safe duration_cast between floating point durations template ::value), FMT_ENABLE_IF(std::is_floating_point::value)> @@ -318,17 +247,94 @@ auto safe_duration_cast(std::chrono::duration from, } // namespace safe_duration_cast #endif +namespace detail { + +// Check if std::chrono::utc_time is available. +#ifdef FMT_USE_UTC_TIME +// Use the provided definition. +#elif defined(__cpp_lib_chrono) +# define FMT_USE_UTC_TIME (__cpp_lib_chrono >= 201907L) +#else +# define FMT_USE_UTC_TIME 0 +#endif +#if FMT_USE_UTC_TIME +using utc_clock = std::chrono::utc_clock; +#else +struct utc_clock { + template void to_sys(T); +}; +#endif + +// Check if std::chrono::local_time is available. +#ifdef FMT_USE_LOCAL_TIME +// Use the provided definition. +#elif defined(__cpp_lib_chrono) +# define FMT_USE_LOCAL_TIME (__cpp_lib_chrono >= 201907L) +#else +# define FMT_USE_LOCAL_TIME 0 +#endif +#if FMT_USE_LOCAL_TIME +using local_t = std::chrono::local_t; +#else +struct local_t {}; +#endif + +} // namespace detail + +template +using sys_time = std::chrono::time_point; + +template +using utc_time = std::chrono::time_point; + +template +using local_time = std::chrono::time_point; + +namespace detail { + // Prevents expansion of a preceding token as a function-style macro. // Usage: f FMT_NOMACRO() #define FMT_NOMACRO -namespace detail { template struct null {}; inline auto localtime_r FMT_NOMACRO(...) -> null<> { return null<>(); } inline auto localtime_s(...) -> null<> { return null<>(); } inline auto gmtime_r(...) -> null<> { return null<>(); } inline auto gmtime_s(...) -> null<> { return null<>(); } +// It is defined here and not in ostream.h because the latter has expensive +// includes. +template class formatbuf : public StreamBuf { + private: + using char_type = typename StreamBuf::char_type; + using streamsize = decltype(std::declval().sputn(nullptr, 0)); + using int_type = typename StreamBuf::int_type; + using traits_type = typename StreamBuf::traits_type; + + buffer& buffer_; + + public: + explicit formatbuf(buffer& buf) : buffer_(buf) {} + + protected: + // The put area is always empty. This makes the implementation simpler and has + // the advantage that the streambuf and the buffer are always in sync and + // sputc never writes into uninitialized memory. A disadvantage is that each + // call to sputc always results in a (virtual) call to overflow. There is no + // disadvantage here for sputn since this always results in a call to xsputn. + + auto overflow(int_type ch) -> int_type override { + if (!traits_type::eq_int_type(ch, traits_type::eof())) + buffer_.push_back(static_cast(ch)); + return ch; + } + + auto xsputn(const char_type* s, streamsize count) -> streamsize override { + buffer_.append(s, s + count); + return count; + } +}; + inline auto get_classic_locale() -> const std::locale& { static const auto& locale = std::locale::classic(); return locale; @@ -341,20 +347,16 @@ template struct codecvt_result { }; template -void write_codecvt(codecvt_result& out, string_view in_buf, +void write_codecvt(codecvt_result& out, string_view in, const std::locale& loc) { -#if FMT_CLANG_VERSION -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wdeprecated" - auto& f = std::use_facet>(loc); -# pragma clang diagnostic pop -#else + FMT_PRAGMA_CLANG(diagnostic push) + FMT_PRAGMA_CLANG(diagnostic ignored "-Wdeprecated") auto& f = std::use_facet>(loc); -#endif + FMT_PRAGMA_CLANG(diagnostic pop) auto mb = std::mbstate_t(); const char* from_next = nullptr; - auto result = f.in(mb, in_buf.begin(), in_buf.end(), from_next, - std::begin(out.buf), std::end(out.buf), out.end); + auto result = f.in(mb, in.begin(), in.end(), from_next, std::begin(out.buf), + std::end(out.buf), out.end); if (result != std::codecvt_base::ok) FMT_THROW(format_error("failed to format time")); } @@ -362,11 +364,12 @@ void write_codecvt(codecvt_result& out, string_view in_buf, template auto write_encoded_tm_str(OutputIt out, string_view in, const std::locale& loc) -> OutputIt { - if (detail::is_utf8() && loc != get_classic_locale()) { + if (const_check(detail::use_utf8) && loc != get_classic_locale()) { // char16_t and char32_t codecvts are broken in MSVC (linkage errors) and // gcc-4. -#if FMT_MSC_VERSION != 0 || \ - (defined(__GLIBCXX__) && !defined(_GLIBCXX_USE_DUAL_ABI)) +#if FMT_MSC_VERSION != 0 || \ + (defined(__GLIBCXX__) && \ + (!defined(_GLIBCXX_USE_DUAL_ABI) || _GLIBCXX_USE_DUAL_ABI == 0)) // The _GLIBCXX_USE_DUAL_ABI macro is always defined in libstdc++ from gcc-5 // and newer. using code_unit = wchar_t; @@ -382,9 +385,9 @@ auto write_encoded_tm_str(OutputIt out, string_view in, const std::locale& loc) to_utf8>(); if (!u.convert({unit.buf, to_unsigned(unit.end - unit.buf)})) FMT_THROW(format_error("failed to format time")); - return copy_str(u.c_str(), u.c_str() + u.size(), out); + return copy(u.c_str(), u.c_str() + u.size(), out); } - return copy_str(in.data(), in.data() + in.size(), out); + return copy(in.data(), in.data() + in.size(), out); } template OutputIt { codecvt_result unit; write_codecvt(unit, sv, loc); - return copy_str(unit.buf, unit.end, out); + return copy(unit.buf, unit.end, out); } template ::value)> { }; -template < - typename To, typename FromRep, typename FromPeriod, - FMT_ENABLE_IF(is_same_arithmetic_type::value)> -auto fmt_duration_cast(std::chrono::duration from) -> To { +FMT_NORETURN inline void throw_duration_error() { + FMT_THROW(format_error("cannot format duration")); +} + +// Cast one integral duration to another with an overflow check. +template ::value&& + std::is_integral::value)> +auto duration_cast(std::chrono::duration from) -> To { +#if !FMT_SAFE_DURATION_CAST + return std::chrono::duration_cast(from); +#else + // The conversion factor: to.count() == factor * from.count(). + using factor = std::ratio_divide; + + using common_rep = typename std::common_type::type; + + int ec = 0; + auto count = safe_duration_cast::lossless_integral_conversion( + from.count(), ec); + if (ec) throw_duration_error(); + + // Multiply from.count() by factor and check for overflow. + if (const_check(factor::num != 1)) { + if (count > max_value() / factor::num) throw_duration_error(); + const auto min = (std::numeric_limits::min)() / factor::num; + if (const_check(!std::is_unsigned::value) && count < min) + throw_duration_error(); + count *= factor::num; + } + if (const_check(factor::den != 1)) count /= factor::den; + auto to = + To(safe_duration_cast::lossless_integral_conversion( + count, ec)); + if (ec) throw_duration_error(); + return to; +#endif +} + +template ::value&& + std::is_floating_point::value)> +auto duration_cast(std::chrono::duration from) -> To { #if FMT_SAFE_DURATION_CAST // Throwing version of safe_duration_cast is only available for // integer to integer or float to float casts. int ec; To to = safe_duration_cast::safe_duration_cast(from, ec); - if (ec) FMT_THROW(format_error("cannot format duration")); + if (ec) throw_duration_error(); return to; #else // Standard duration cast, may overflow. @@ -461,54 +504,60 @@ auto fmt_duration_cast(std::chrono::duration from) -> To { template < typename To, typename FromRep, typename FromPeriod, FMT_ENABLE_IF(!is_same_arithmetic_type::value)> -auto fmt_duration_cast(std::chrono::duration from) -> To { +auto duration_cast(std::chrono::duration from) -> To { // Mixed integer <-> float cast is not supported by safe_duration_cast. return std::chrono::duration_cast(from); } template -auto to_time_t( - std::chrono::time_point time_point) - -> std::time_t { +auto to_time_t(sys_time time_point) -> std::time_t { // Cannot use std::chrono::system_clock::to_time_t since this would first // require a cast to std::chrono::system_clock::time_point, which could // overflow. - return fmt_duration_cast>( + return detail::duration_cast>( time_point.time_since_epoch()) .count(); } + +// Workaround a bug in libstdc++ which sets __cpp_lib_chrono to 201907 without +// providing current_zone(): https://github.com/fmtlib/fmt/issues/4160. +template FMT_CONSTEXPR auto has_current_zone() -> bool { + using namespace std::chrono; + using namespace fmt_detail; + return !std::is_same::value; +} } // namespace detail FMT_BEGIN_EXPORT /** - Converts given time since epoch as ``std::time_t`` value into calendar time, - expressed in local time. Unlike ``std::localtime``, this function is - thread-safe on most platforms. + * Converts given time since epoch as `std::time_t` value into calendar time, + * expressed in local time. Unlike `std::localtime`, this function is + * thread-safe on most platforms. */ inline auto localtime(std::time_t time) -> std::tm { struct dispatcher { std::time_t time_; std::tm tm_; - dispatcher(std::time_t t) : time_(t) {} + inline dispatcher(std::time_t t) : time_(t) {} - auto run() -> bool { + inline auto run() -> bool { using namespace fmt::detail; return handle(localtime_r(&time_, &tm_)); } - auto handle(std::tm* tm) -> bool { return tm != nullptr; } + inline auto handle(std::tm* tm) -> bool { return tm != nullptr; } - auto handle(detail::null<>) -> bool { + inline auto handle(detail::null<>) -> bool { using namespace fmt::detail; return fallback(localtime_s(&tm_, &time_)); } - auto fallback(int res) -> bool { return res == 0; } + inline auto fallback(int res) -> bool { return res == 0; } #if !FMT_MSC_VERSION - auto fallback(detail::null<>) -> bool { + inline auto fallback(detail::null<>) -> bool { using namespace fmt::detail; std::tm* tm = std::localtime(&time_); if (tm) tm_ = *tm; @@ -523,41 +572,43 @@ inline auto localtime(std::time_t time) -> std::tm { } #if FMT_USE_LOCAL_TIME -template +template ())> inline auto localtime(std::chrono::local_time time) -> std::tm { - return localtime( - detail::to_time_t(std::chrono::current_zone()->to_sys(time))); + using namespace std::chrono; + using namespace fmt_detail; + return localtime(detail::to_time_t(current_zone()->to_sys(time))); } #endif /** - Converts given time since epoch as ``std::time_t`` value into calendar time, - expressed in Coordinated Universal Time (UTC). Unlike ``std::gmtime``, this - function is thread-safe on most platforms. + * Converts given time since epoch as `std::time_t` value into calendar time, + * expressed in Coordinated Universal Time (UTC). Unlike `std::gmtime`, this + * function is thread-safe on most platforms. */ inline auto gmtime(std::time_t time) -> std::tm { struct dispatcher { std::time_t time_; std::tm tm_; - dispatcher(std::time_t t) : time_(t) {} + inline dispatcher(std::time_t t) : time_(t) {} - auto run() -> bool { + inline auto run() -> bool { using namespace fmt::detail; return handle(gmtime_r(&time_, &tm_)); } - auto handle(std::tm* tm) -> bool { return tm != nullptr; } + inline auto handle(std::tm* tm) -> bool { return tm != nullptr; } - auto handle(detail::null<>) -> bool { + inline auto handle(detail::null<>) -> bool { using namespace fmt::detail; return fallback(gmtime_s(&tm_, &time_)); } - auto fallback(int res) -> bool { return res == 0; } + inline auto fallback(int res) -> bool { return res == 0; } #if !FMT_MSC_VERSION - auto fallback(detail::null<>) -> bool { + inline auto fallback(detail::null<>) -> bool { std::tm* tm = std::gmtime(&time_); if (tm) tm_ = *tm; return tm != nullptr; @@ -571,9 +622,7 @@ inline auto gmtime(std::time_t time) -> std::tm { } template -inline auto gmtime( - std::chrono::time_point time_point) - -> std::tm { +inline auto gmtime(sys_time time_point) -> std::tm { return gmtime(detail::to_time_t(time_point)); } @@ -619,7 +668,8 @@ FMT_CONSTEXPR inline auto get_units() -> const char* { if (std::is_same::value) return "fs"; if (std::is_same::value) return "ps"; if (std::is_same::value) return "ns"; - if (std::is_same::value) return "µs"; + if (std::is_same::value) + return detail::use_utf8 ? "µs" : "us"; if (std::is_same::value) return "ms"; if (std::is_same::value) return "cs"; if (std::is_same::value) return "ds"; @@ -646,12 +696,10 @@ enum class numeric_system { // Glibc extensions for formatting numeric values. enum class pad_type { - unspecified, + // Pad a numeric result string with zeros (the default). + zero, // Do not pad a numeric result string. none, - // Pad a numeric result string with zeros even if the conversion specifier - // character uses space-padding by default. - zero, // Pad a numeric result string with spaces. space, }; @@ -659,7 +707,7 @@ enum class pad_type { template auto write_padding(OutputIt out, pad_type pad, int width) -> OutputIt { if (pad == pad_type::none) return out; - return std::fill_n(out, width, pad == pad_type::space ? ' ' : '0'); + return detail::fill_n(out, width, pad == pad_type::space ? ' ' : '0'); } template @@ -675,8 +723,8 @@ FMT_CONSTEXPR auto parse_chrono_format(const Char* begin, const Char* end, if (begin == end || *begin == '}') return begin; if (*begin != '%') FMT_THROW(format_error("invalid format")); auto ptr = begin; - pad_type pad = pad_type::unspecified; while (ptr != end) { + pad_type pad = pad_type::zero; auto c = *ptr; if (c == '}') break; if (c != '%') { @@ -696,17 +744,11 @@ FMT_CONSTEXPR auto parse_chrono_format(const Char* begin, const Char* end, pad = pad_type::none; ++ptr; break; - case '0': - pad = pad_type::zero; - ++ptr; - break; } if (ptr == end) FMT_THROW(format_error("invalid format")); c = *ptr++; switch (c) { - case '%': - handler.on_text(ptr - 1, ptr); - break; + case '%': handler.on_text(ptr - 1, ptr); break; case 'n': { const Char newline[] = {'\n'}; handler.on_text(newline, newline + 1); @@ -718,145 +760,66 @@ FMT_CONSTEXPR auto parse_chrono_format(const Char* begin, const Char* end, break; } // Year: - case 'Y': - handler.on_year(numeric_system::standard); - break; - case 'y': - handler.on_short_year(numeric_system::standard); - break; - case 'C': - handler.on_century(numeric_system::standard); - break; - case 'G': - handler.on_iso_week_based_year(); - break; - case 'g': - handler.on_iso_week_based_short_year(); - break; + case 'Y': handler.on_year(numeric_system::standard, pad); break; + case 'y': handler.on_short_year(numeric_system::standard); break; + case 'C': handler.on_century(numeric_system::standard); break; + case 'G': handler.on_iso_week_based_year(); break; + case 'g': handler.on_iso_week_based_short_year(); break; // Day of the week: - case 'a': - handler.on_abbr_weekday(); - break; - case 'A': - handler.on_full_weekday(); - break; - case 'w': - handler.on_dec0_weekday(numeric_system::standard); - break; - case 'u': - handler.on_dec1_weekday(numeric_system::standard); - break; + case 'a': handler.on_abbr_weekday(); break; + case 'A': handler.on_full_weekday(); break; + case 'w': handler.on_dec0_weekday(numeric_system::standard); break; + case 'u': handler.on_dec1_weekday(numeric_system::standard); break; // Month: case 'b': - case 'h': - handler.on_abbr_month(); - break; - case 'B': - handler.on_full_month(); - break; - case 'm': - handler.on_dec_month(numeric_system::standard); - break; + case 'h': handler.on_abbr_month(); break; + case 'B': handler.on_full_month(); break; + case 'm': handler.on_dec_month(numeric_system::standard, pad); break; // Day of the year/month: case 'U': - handler.on_dec0_week_of_year(numeric_system::standard); + handler.on_dec0_week_of_year(numeric_system::standard, pad); break; case 'W': - handler.on_dec1_week_of_year(numeric_system::standard); - break; - case 'V': - handler.on_iso_week_of_year(numeric_system::standard); - break; - case 'j': - handler.on_day_of_year(); - break; - case 'd': - handler.on_day_of_month(numeric_system::standard); + handler.on_dec1_week_of_year(numeric_system::standard, pad); break; + case 'V': handler.on_iso_week_of_year(numeric_system::standard, pad); break; + case 'j': handler.on_day_of_year(pad); break; + case 'd': handler.on_day_of_month(numeric_system::standard, pad); break; case 'e': - handler.on_day_of_month_space(numeric_system::standard); + handler.on_day_of_month(numeric_system::standard, pad_type::space); break; // Hour, minute, second: - case 'H': - handler.on_24_hour(numeric_system::standard, pad); - break; - case 'I': - handler.on_12_hour(numeric_system::standard, pad); - break; - case 'M': - handler.on_minute(numeric_system::standard, pad); - break; - case 'S': - handler.on_second(numeric_system::standard, pad); - break; + case 'H': handler.on_24_hour(numeric_system::standard, pad); break; + case 'I': handler.on_12_hour(numeric_system::standard, pad); break; + case 'M': handler.on_minute(numeric_system::standard, pad); break; + case 'S': handler.on_second(numeric_system::standard, pad); break; // Other: - case 'c': - handler.on_datetime(numeric_system::standard); - break; - case 'x': - handler.on_loc_date(numeric_system::standard); - break; - case 'X': - handler.on_loc_time(numeric_system::standard); - break; - case 'D': - handler.on_us_date(); - break; - case 'F': - handler.on_iso_date(); - break; - case 'r': - handler.on_12_hour_time(); - break; - case 'R': - handler.on_24_hour_time(); - break; - case 'T': - handler.on_iso_time(); - break; - case 'p': - handler.on_am_pm(); - break; - case 'Q': - handler.on_duration_value(); - break; - case 'q': - handler.on_duration_unit(); - break; - case 'z': - handler.on_utc_offset(numeric_system::standard); - break; - case 'Z': - handler.on_tz_name(); - break; + case 'c': handler.on_datetime(numeric_system::standard); break; + case 'x': handler.on_loc_date(numeric_system::standard); break; + case 'X': handler.on_loc_time(numeric_system::standard); break; + case 'D': handler.on_us_date(); break; + case 'F': handler.on_iso_date(); break; + case 'r': handler.on_12_hour_time(); break; + case 'R': handler.on_24_hour_time(); break; + case 'T': handler.on_iso_time(); break; + case 'p': handler.on_am_pm(); break; + case 'Q': handler.on_duration_value(); break; + case 'q': handler.on_duration_unit(); break; + case 'z': handler.on_utc_offset(numeric_system::standard); break; + case 'Z': handler.on_tz_name(); break; // Alternative representation: case 'E': { if (ptr == end) FMT_THROW(format_error("invalid format")); c = *ptr++; switch (c) { - case 'Y': - handler.on_year(numeric_system::alternative); - break; - case 'y': - handler.on_offset_year(); - break; - case 'C': - handler.on_century(numeric_system::alternative); - break; - case 'c': - handler.on_datetime(numeric_system::alternative); - break; - case 'x': - handler.on_loc_date(numeric_system::alternative); - break; - case 'X': - handler.on_loc_time(numeric_system::alternative); - break; - case 'z': - handler.on_utc_offset(numeric_system::alternative); - break; - default: - FMT_THROW(format_error("invalid format")); + case 'Y': handler.on_year(numeric_system::alternative, pad); break; + case 'y': handler.on_offset_year(); break; + case 'C': handler.on_century(numeric_system::alternative); break; + case 'c': handler.on_datetime(numeric_system::alternative); break; + case 'x': handler.on_loc_date(numeric_system::alternative); break; + case 'X': handler.on_loc_time(numeric_system::alternative); break; + case 'z': handler.on_utc_offset(numeric_system::alternative); break; + default: FMT_THROW(format_error("invalid format")); } break; } @@ -864,54 +827,34 @@ FMT_CONSTEXPR auto parse_chrono_format(const Char* begin, const Char* end, if (ptr == end) FMT_THROW(format_error("invalid format")); c = *ptr++; switch (c) { - case 'y': - handler.on_short_year(numeric_system::alternative); - break; - case 'm': - handler.on_dec_month(numeric_system::alternative); - break; + case 'y': handler.on_short_year(numeric_system::alternative); break; + case 'm': handler.on_dec_month(numeric_system::alternative, pad); break; case 'U': - handler.on_dec0_week_of_year(numeric_system::alternative); + handler.on_dec0_week_of_year(numeric_system::alternative, pad); break; case 'W': - handler.on_dec1_week_of_year(numeric_system::alternative); + handler.on_dec1_week_of_year(numeric_system::alternative, pad); break; case 'V': - handler.on_iso_week_of_year(numeric_system::alternative); + handler.on_iso_week_of_year(numeric_system::alternative, pad); break; case 'd': - handler.on_day_of_month(numeric_system::alternative); + handler.on_day_of_month(numeric_system::alternative, pad); break; case 'e': - handler.on_day_of_month_space(numeric_system::alternative); - break; - case 'w': - handler.on_dec0_weekday(numeric_system::alternative); - break; - case 'u': - handler.on_dec1_weekday(numeric_system::alternative); - break; - case 'H': - handler.on_24_hour(numeric_system::alternative, pad); - break; - case 'I': - handler.on_12_hour(numeric_system::alternative, pad); - break; - case 'M': - handler.on_minute(numeric_system::alternative, pad); + handler.on_day_of_month(numeric_system::alternative, pad_type::space); break; - case 'S': - handler.on_second(numeric_system::alternative, pad); - break; - case 'z': - handler.on_utc_offset(numeric_system::alternative); - break; - default: - FMT_THROW(format_error("invalid format")); + case 'w': handler.on_dec0_weekday(numeric_system::alternative); break; + case 'u': handler.on_dec1_weekday(numeric_system::alternative); break; + case 'H': handler.on_24_hour(numeric_system::alternative, pad); break; + case 'I': handler.on_12_hour(numeric_system::alternative, pad); break; + case 'M': handler.on_minute(numeric_system::alternative, pad); break; + case 'S': handler.on_second(numeric_system::alternative, pad); break; + case 'z': handler.on_utc_offset(numeric_system::alternative); break; + default: FMT_THROW(format_error("invalid format")); } break; - default: - FMT_THROW(format_error("invalid format")); + default: FMT_THROW(format_error("invalid format")); } begin = ptr; } @@ -923,7 +866,7 @@ template struct null_chrono_spec_handler { FMT_CONSTEXPR void unsupported() { static_cast(this)->unsupported(); } - FMT_CONSTEXPR void on_year(numeric_system) { unsupported(); } + FMT_CONSTEXPR void on_year(numeric_system, pad_type) { unsupported(); } FMT_CONSTEXPR void on_short_year(numeric_system) { unsupported(); } FMT_CONSTEXPR void on_offset_year() { unsupported(); } FMT_CONSTEXPR void on_century(numeric_system) { unsupported(); } @@ -935,13 +878,20 @@ template struct null_chrono_spec_handler { FMT_CONSTEXPR void on_dec1_weekday(numeric_system) { unsupported(); } FMT_CONSTEXPR void on_abbr_month() { unsupported(); } FMT_CONSTEXPR void on_full_month() { unsupported(); } - FMT_CONSTEXPR void on_dec_month(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_dec0_week_of_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_dec1_week_of_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_iso_week_of_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_day_of_year() { unsupported(); } - FMT_CONSTEXPR void on_day_of_month(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_day_of_month_space(numeric_system) { unsupported(); } + FMT_CONSTEXPR void on_dec_month(numeric_system, pad_type) { unsupported(); } + FMT_CONSTEXPR void on_dec0_week_of_year(numeric_system, pad_type) { + unsupported(); + } + FMT_CONSTEXPR void on_dec1_week_of_year(numeric_system, pad_type) { + unsupported(); + } + FMT_CONSTEXPR void on_iso_week_of_year(numeric_system, pad_type) { + unsupported(); + } + FMT_CONSTEXPR void on_day_of_year(pad_type) { unsupported(); } + FMT_CONSTEXPR void on_day_of_month(numeric_system, pad_type) { + unsupported(); + } FMT_CONSTEXPR void on_24_hour(numeric_system) { unsupported(); } FMT_CONSTEXPR void on_12_hour(numeric_system) { unsupported(); } FMT_CONSTEXPR void on_minute(numeric_system) { unsupported(); } @@ -962,11 +912,13 @@ template struct null_chrono_spec_handler { }; struct tm_format_checker : null_chrono_spec_handler { - FMT_NORETURN void unsupported() { FMT_THROW(format_error("no format")); } + FMT_NORETURN inline void unsupported() { + FMT_THROW(format_error("no format")); + } template FMT_CONSTEXPR void on_text(const Char*, const Char*) {} - FMT_CONSTEXPR void on_year(numeric_system) {} + FMT_CONSTEXPR void on_year(numeric_system, pad_type) {} FMT_CONSTEXPR void on_short_year(numeric_system) {} FMT_CONSTEXPR void on_offset_year() {} FMT_CONSTEXPR void on_century(numeric_system) {} @@ -978,13 +930,12 @@ struct tm_format_checker : null_chrono_spec_handler { FMT_CONSTEXPR void on_dec1_weekday(numeric_system) {} FMT_CONSTEXPR void on_abbr_month() {} FMT_CONSTEXPR void on_full_month() {} - FMT_CONSTEXPR void on_dec_month(numeric_system) {} - FMT_CONSTEXPR void on_dec0_week_of_year(numeric_system) {} - FMT_CONSTEXPR void on_dec1_week_of_year(numeric_system) {} - FMT_CONSTEXPR void on_iso_week_of_year(numeric_system) {} - FMT_CONSTEXPR void on_day_of_year() {} - FMT_CONSTEXPR void on_day_of_month(numeric_system) {} - FMT_CONSTEXPR void on_day_of_month_space(numeric_system) {} + FMT_CONSTEXPR void on_dec_month(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_dec0_week_of_year(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_dec1_week_of_year(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_iso_week_of_year(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_day_of_year(pad_type) {} + FMT_CONSTEXPR void on_day_of_month(numeric_system, pad_type) {} FMT_CONSTEXPR void on_24_hour(numeric_system, pad_type) {} FMT_CONSTEXPR void on_12_hour(numeric_system, pad_type) {} FMT_CONSTEXPR void on_minute(numeric_system, pad_type) {} @@ -1040,15 +991,14 @@ template struct has_member_data_tm_zone> : std::true_type {}; -#if FMT_USE_TZSET inline void tzset_once() { - static bool init = []() -> bool { + static bool init = []() { + using namespace fmt_detail; _tzset(); - return true; + return false; }(); ignore_unused(init); } -#endif // Converts value to Int and checks that it's in the range [0, upper). template ::value)> @@ -1061,9 +1011,10 @@ inline auto to_nonnegative_int(T value, Int upper) -> Int { } template ::value)> inline auto to_nonnegative_int(T value, Int upper) -> Int { - if (value < 0 || value > static_cast(upper)) + auto int_value = static_cast(value); + if (int_value < 0 || value > static_cast(upper)) FMT_THROW(format_error("invalid value")); - return static_cast(value); + return int_value; } constexpr auto pow10(std::uint32_t n) -> long long { @@ -1098,16 +1049,16 @@ void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) { using subsecond_precision = std::chrono::duration< typename std::common_type::type, - std::ratio<1, detail::pow10(num_fractional_digits)>>; + std::ratio<1, pow10(num_fractional_digits)>>; - const auto fractional = d - fmt_duration_cast(d); + const auto fractional = d - detail::duration_cast(d); const auto subseconds = std::chrono::treat_as_floating_point< typename subsecond_precision::rep>::value ? fractional.count() - : fmt_duration_cast(fractional).count(); + : detail::duration_cast(fractional).count(); auto n = static_cast>(subseconds); - const int num_digits = detail::count_digits(n); + const int num_digits = count_digits(n); int leading_zeroes = (std::max)(0, num_fractional_digits - num_digits); if (precision < 0) { @@ -1115,22 +1066,25 @@ void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) { if (std::ratio_less::value) { *out++ = '.'; - out = std::fill_n(out, leading_zeroes, '0'); - out = format_decimal(out, n, num_digits).end; + out = detail::fill_n(out, leading_zeroes, '0'); + out = format_decimal(out, n, num_digits); } - } else { + } else if (precision > 0) { *out++ = '.'; - leading_zeroes = (std::min)(leading_zeroes, precision); - out = std::fill_n(out, leading_zeroes, '0'); + leading_zeroes = min_of(leading_zeroes, precision); int remaining = precision - leading_zeroes; - if (remaining != 0 && remaining < num_digits) { - n /= to_unsigned(detail::pow10(to_unsigned(num_digits - remaining))); - out = format_decimal(out, n, remaining).end; + out = detail::fill_n(out, leading_zeroes, '0'); + if (remaining < num_digits) { + int num_truncated_digits = num_digits - remaining; + n /= to_unsigned(pow10(to_unsigned(num_truncated_digits))); + if (n != 0) out = format_decimal(out, n, remaining); return; } - out = format_decimal(out, n, num_digits).end; - remaining -= num_digits; - out = std::fill_n(out, remaining, '0'); + if (n != 0) { + out = format_decimal(out, n, num_digits); + remaining -= num_digits; + } + out = detail::fill_n(out, remaining, '0'); } } @@ -1271,29 +1225,28 @@ class tm_writer { } } - void write_year_extended(long long year) { + void write_year_extended(long long year, pad_type pad) { // At least 4 characters. int width = 4; - if (year < 0) { - *out_++ = '-'; + bool negative = year < 0; + if (negative) { year = 0 - year; --width; } uint32_or_64_or_128_t n = to_unsigned(year); const int num_digits = count_digits(n); - if (width > num_digits) out_ = std::fill_n(out_, width - num_digits, '0'); - out_ = format_decimal(out_, n, num_digits).end; - } - void write_year(long long year) { - if (year >= 0 && year < 10000) { - write2(static_cast(year / 100)); - write2(static_cast(year % 100)); - } else { - write_year_extended(year); + if (negative && pad == pad_type::zero) *out_++ = '-'; + if (width > num_digits) { + out_ = detail::write_padding(out_, pad, width - num_digits); } + if (negative && pad != pad_type::zero) *out_++ = '-'; + out_ = format_decimal(out_, n, num_digits); + } + void write_year(long long year, pad_type pad) { + write_year_extended(year, pad); } - void write_utc_offset(long offset, numeric_system ns) { + void write_utc_offset(long long offset, numeric_system ns) { if (offset < 0) { *out_++ = '-'; offset = -offset; @@ -1305,6 +1258,7 @@ class tm_writer { if (ns != numeric_system::standard) *out_++ = ':'; write2(static_cast(offset % 60)); } + template ::value)> void format_utc_offset_impl(const T& tm, numeric_system ns) { write_utc_offset(tm.tm_gmtoff, ns); @@ -1312,9 +1266,7 @@ class tm_writer { template ::value)> void format_utc_offset_impl(const T& tm, numeric_system ns) { #if defined(_WIN32) && defined(_UCRT) -# if FMT_USE_TZSET tzset_once(); -# endif long offset = 0; _get_timezone(&offset); if (tm.tm_isdst) { @@ -1331,7 +1283,7 @@ class tm_writer { std::time_t gt = std::mktime(>m); std::tm ltm = gmtime(gt); std::time_t lt = std::mktime(<m); - long offset = gt - lt; + long long offset = gt - lt; write_utc_offset(offset, ns); #endif } @@ -1364,7 +1316,7 @@ class tm_writer { auto out() const -> OutputIt { return out_; } FMT_CONSTEXPR void on_text(const Char* begin, const Char* end) { - out_ = copy_str(begin, end, out_); + out_ = copy(begin, end, out_); } void on_abbr_weekday() { @@ -1411,11 +1363,11 @@ class tm_writer { *out_++ = ' '; on_abbr_month(); *out_++ = ' '; - on_day_of_month_space(numeric_system::standard); + on_day_of_month(numeric_system::standard, pad_type::space); *out_++ = ' '; on_iso_time(); *out_++ = ' '; - on_year(numeric_system::standard); + on_year(numeric_system::standard, pad_type::space); } else { format_localized('c', ns == numeric_system::standard ? '\0' : 'E'); } @@ -1437,31 +1389,31 @@ class tm_writer { write_digit2_separated(buf, to_unsigned(tm_mon() + 1), to_unsigned(tm_mday()), to_unsigned(split_year_lower(tm_year())), '/'); - out_ = copy_str(std::begin(buf), std::end(buf), out_); + out_ = copy(std::begin(buf), std::end(buf), out_); } void on_iso_date() { auto year = tm_year(); char buf[10]; size_t offset = 0; if (year >= 0 && year < 10000) { - copy2(buf, digits2(static_cast(year / 100))); + write2digits(buf, static_cast(year / 100)); } else { offset = 4; - write_year_extended(year); + write_year_extended(year, pad_type::zero); year = 0; } write_digit2_separated(buf + 2, static_cast(year % 100), to_unsigned(tm_mon() + 1), to_unsigned(tm_mday()), '-'); - out_ = copy_str(std::begin(buf) + offset, std::end(buf), out_); + out_ = copy(std::begin(buf) + offset, std::end(buf), out_); } void on_utc_offset(numeric_system ns) { format_utc_offset_impl(tm_, ns); } void on_tz_name() { format_tz_name_impl(tm_); } - void on_year(numeric_system ns) { + void on_year(numeric_system ns, pad_type pad) { if (is_classic_ || ns == numeric_system::standard) - return write_year(tm_year()); + return write_year(tm_year(), pad); format_localized('Y', 'E'); } void on_short_year(numeric_system ns) { @@ -1492,56 +1444,57 @@ class tm_writer { } } - void on_dec_month(numeric_system ns) { + void on_dec_month(numeric_system ns, pad_type pad) { if (is_classic_ || ns == numeric_system::standard) - return write2(tm_mon() + 1); + return write2(tm_mon() + 1, pad); format_localized('m', 'O'); } - void on_dec0_week_of_year(numeric_system ns) { + void on_dec0_week_of_year(numeric_system ns, pad_type pad) { if (is_classic_ || ns == numeric_system::standard) - return write2((tm_yday() + days_per_week - tm_wday()) / days_per_week); + return write2((tm_yday() + days_per_week - tm_wday()) / days_per_week, + pad); format_localized('U', 'O'); } - void on_dec1_week_of_year(numeric_system ns) { + void on_dec1_week_of_year(numeric_system ns, pad_type pad) { if (is_classic_ || ns == numeric_system::standard) { auto wday = tm_wday(); write2((tm_yday() + days_per_week - (wday == 0 ? (days_per_week - 1) : (wday - 1))) / - days_per_week); + days_per_week, + pad); } else { format_localized('W', 'O'); } } - void on_iso_week_of_year(numeric_system ns) { + void on_iso_week_of_year(numeric_system ns, pad_type pad) { if (is_classic_ || ns == numeric_system::standard) - return write2(tm_iso_week_of_year()); + return write2(tm_iso_week_of_year(), pad); format_localized('V', 'O'); } - void on_iso_week_based_year() { write_year(tm_iso_week_year()); } + void on_iso_week_based_year() { + write_year(tm_iso_week_year(), pad_type::zero); + } void on_iso_week_based_short_year() { write2(split_year_lower(tm_iso_week_year())); } - void on_day_of_year() { + void on_day_of_year(pad_type pad) { auto yday = tm_yday() + 1; - write1(yday / 100); - write2(yday % 100); - } - void on_day_of_month(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) return write2(tm_mday()); - format_localized('d', 'O'); - } - void on_day_of_month_space(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) { - auto mday = to_unsigned(tm_mday()) % 100; - const char* d2 = digits2(mday); - *out_++ = mday < 10 ? ' ' : d2[0]; - *out_++ = d2[1]; + auto digit1 = yday / 100; + if (digit1 != 0) { + write1(digit1); } else { - format_localized('e', 'O'); + out_ = detail::write_padding(out_, pad); } + write2(yday % 100, pad); + } + + void on_day_of_month(numeric_system ns, pad_type pad) { + if (is_classic_ || ns == numeric_system::standard) + return write2(tm_mday(), pad); + format_localized('d', 'O'); } void on_24_hour(numeric_system ns, pad_type pad) { @@ -1569,7 +1522,7 @@ class tm_writer { write_floating_seconds(buf, *subsecs_); if (buf.size() > 1) { // Remove the leading "0", write something like ".123". - out_ = std::copy(buf.begin() + 1, buf.end(), out_); + out_ = copy(buf.begin() + 1, buf.end(), out_); } } else { write_fractional_seconds(out_, *subsecs_); @@ -1586,7 +1539,7 @@ class tm_writer { char buf[8]; write_digit2_separated(buf, to_unsigned(tm_hour12()), to_unsigned(tm_min()), to_unsigned(tm_sec()), ':'); - out_ = copy_str(std::begin(buf), std::end(buf), out_); + out_ = copy(std::begin(buf), std::end(buf), out_); *out_++ = ' '; on_am_pm(); } else { @@ -1601,7 +1554,7 @@ class tm_writer { void on_iso_time() { on_24_hour_time(); *out_++ = ':'; - on_second(numeric_system::standard, pad_type::unspecified); + on_second(numeric_system::standard, pad_type::zero); } void on_am_pm() { @@ -1621,11 +1574,11 @@ class tm_writer { struct chrono_format_checker : null_chrono_spec_handler { bool has_precision_integral = false; - FMT_NORETURN void unsupported() { FMT_THROW(format_error("no date")); } + FMT_NORETURN inline void unsupported() { FMT_THROW(format_error("no date")); } template FMT_CONSTEXPR void on_text(const Char*, const Char*) {} - FMT_CONSTEXPR void on_day_of_year() {} + FMT_CONSTEXPR void on_day_of_year(pad_type) {} FMT_CONSTEXPR void on_24_hour(numeric_system, pad_type) {} FMT_CONSTEXPR void on_12_hour(numeric_system, pad_type) {} FMT_CONSTEXPR void on_minute(numeric_system, pad_type) {} @@ -1635,9 +1588,8 @@ struct chrono_format_checker : null_chrono_spec_handler { FMT_CONSTEXPR void on_iso_time() {} FMT_CONSTEXPR void on_am_pm() {} FMT_CONSTEXPR void on_duration_value() const { - if (has_precision_integral) { + if (has_precision_integral) FMT_THROW(format_error("precision not allowed for this argument type")); - } } FMT_CONSTEXPR void on_duration_unit() {} }; @@ -1677,17 +1629,17 @@ inline auto get_milliseconds(std::chrono::duration d) #if FMT_SAFE_DURATION_CAST using CommonSecondsType = typename std::common_type::type; - const auto d_as_common = fmt_duration_cast(d); + const auto d_as_common = detail::duration_cast(d); const auto d_as_whole_seconds = - fmt_duration_cast(d_as_common); + detail::duration_cast(d_as_common); // this conversion should be nonproblematic const auto diff = d_as_common - d_as_whole_seconds; const auto ms = - fmt_duration_cast>(diff); + detail::duration_cast>(diff); return ms; #else - auto s = fmt_duration_cast(d); - return fmt_duration_cast(d - s); + auto s = detail::duration_cast(d); + return detail::duration_cast(d - s); #endif } @@ -1700,16 +1652,16 @@ auto format_duration_value(OutputIt out, Rep val, int) -> OutputIt { template ::value)> auto format_duration_value(OutputIt out, Rep val, int precision) -> OutputIt { - auto specs = format_specs(); + auto specs = format_specs(); specs.precision = precision; - specs.type = precision >= 0 ? presentation_type::fixed_lower - : presentation_type::general_lower; + specs.set_type(precision >= 0 ? presentation_type::fixed + : presentation_type::general); return write(out, val, specs); } template auto copy_unit(string_view unit, OutputIt out, Char) -> OutputIt { - return std::copy(unit.begin(), unit.end(), out); + return copy(unit.begin(), unit.end(), out); } template @@ -1717,7 +1669,7 @@ auto copy_unit(string_view unit, OutputIt out, wchar_t) -> OutputIt { // This works when wchar_t is UTF-32 because units only contain characters // that have the same representation in UTF-16 and UTF-32. utf8_to_utf16 u(unit); - return std::copy(u.c_str(), u.c_str() + u.size(), out); + return copy(u.c_str(), u.c_str() + u.size(), out); } template @@ -1743,14 +1695,14 @@ class get_locale { bool has_locale_ = false; public: - get_locale(bool localized, locale_ref loc) : has_locale_(localized) { + inline get_locale(bool localized, locale_ref loc) : has_locale_(localized) { if (localized) ::new (&locale_) std::locale(loc.template get()); } - ~get_locale() { + inline ~get_locale() { if (has_locale_) locale_.~locale(); } - operator const std::locale&() const { + inline operator const std::locale&() const { return has_locale_ ? locale_ : get_classic_locale(); } }; @@ -1789,7 +1741,7 @@ struct chrono_formatter { // this may overflow and/or the result may not fit in the // target type. // might need checked conversion (rep!=Rep) - s = fmt_duration_cast(std::chrono::duration(val)); + s = detail::duration_cast(std::chrono::duration(val)); } // returns true if nan or inf, writes to out. @@ -1840,7 +1792,7 @@ struct chrono_formatter { } } - void write(Rep value, int width, pad_type pad = pad_type::unspecified) { + void write(Rep value, int width, pad_type pad = pad_type::zero) { write_sign(); if (isnan(value)) return write_nan(); uint32_or_64_or_128_t n = @@ -1849,7 +1801,7 @@ struct chrono_formatter { if (width > num_digits) { out = detail::write_padding(out, pad, width - num_digits); } - out = format_decimal(out, n, num_digits).end; + out = format_decimal(out, n, num_digits); } void write_nan() { std::copy_n("nan", 3, out); } @@ -1866,7 +1818,7 @@ struct chrono_formatter { } void on_text(const char_type* begin, const char_type* end) { - std::copy(begin, end, out); + copy(begin, end, out); } // These are not implemented because durations don't have date information. @@ -1883,20 +1835,19 @@ struct chrono_formatter { void on_iso_date() {} void on_utc_offset(numeric_system) {} void on_tz_name() {} - void on_year(numeric_system) {} + void on_year(numeric_system, pad_type) {} void on_short_year(numeric_system) {} void on_offset_year() {} void on_century(numeric_system) {} void on_iso_week_based_year() {} void on_iso_week_based_short_year() {} - void on_dec_month(numeric_system) {} - void on_dec0_week_of_year(numeric_system) {} - void on_dec1_week_of_year(numeric_system) {} - void on_iso_week_of_year(numeric_system) {} - void on_day_of_month(numeric_system) {} - void on_day_of_month_space(numeric_system) {} - - void on_day_of_year() { + void on_dec_month(numeric_system, pad_type) {} + void on_dec0_week_of_year(numeric_system, pad_type) {} + void on_dec1_week_of_year(numeric_system, pad_type) {} + void on_iso_week_of_year(numeric_system, pad_type) {} + void on_day_of_month(numeric_system, pad_type) {} + + void on_day_of_year(pad_type) { if (handle_nan_inf()) return; write(days(), 0); } @@ -1940,7 +1891,7 @@ struct chrono_formatter { if (buf.size() < 2 || buf[1] == '.') { out = detail::write_padding(out, pad); } - out = std::copy(buf.begin(), buf.end(), out); + out = copy(buf.begin(), buf.end(), out); } else { write(second(), 2, pad); write_fractional_seconds( @@ -1974,7 +1925,7 @@ struct chrono_formatter { on_24_hour_time(); *out++ = ':'; if (handle_nan_inf()) return; - on_second(numeric_system::standard, pad_type::unspecified); + on_second(numeric_system::standard, pad_type::zero); } void on_am_pm() { @@ -1997,82 +1948,240 @@ struct chrono_formatter { #if defined(__cpp_lib_chrono) && __cpp_lib_chrono >= 201907 using weekday = std::chrono::weekday; +using day = std::chrono::day; +using month = std::chrono::month; +using year = std::chrono::year; +using year_month_day = std::chrono::year_month_day; #else // A fallback version of weekday. class weekday { private: - unsigned char value; + unsigned char value_; public: weekday() = default; - explicit constexpr weekday(unsigned wd) noexcept - : value(static_cast(wd != 7 ? wd : 0)) {} - constexpr auto c_encoding() const noexcept -> unsigned { return value; } + constexpr explicit weekday(unsigned wd) noexcept + : value_(static_cast(wd != 7 ? wd : 0)) {} + constexpr auto c_encoding() const noexcept -> unsigned { return value_; } +}; + +class day { + private: + unsigned char value_; + + public: + day() = default; + constexpr explicit day(unsigned d) noexcept + : value_(static_cast(d)) {} + constexpr explicit operator unsigned() const noexcept { return value_; } }; -class year_month_day {}; +class month { + private: + unsigned char value_; + + public: + month() = default; + constexpr explicit month(unsigned m) noexcept + : value_(static_cast(m)) {} + constexpr explicit operator unsigned() const noexcept { return value_; } +}; + +class year { + private: + int value_; + + public: + year() = default; + constexpr explicit year(int y) noexcept : value_(y) {} + constexpr explicit operator int() const noexcept { return value_; } +}; + +class year_month_day { + private: + fmt::year year_; + fmt::month month_; + fmt::day day_; + + public: + year_month_day() = default; + constexpr year_month_day(const year& y, const month& m, const day& d) noexcept + : year_(y), month_(m), day_(d) {} + constexpr auto year() const noexcept -> fmt::year { return year_; } + constexpr auto month() const noexcept -> fmt::month { return month_; } + constexpr auto day() const noexcept -> fmt::day { return day_; } +}; #endif -// A rudimentary weekday formatter. -template struct formatter { +template +struct formatter : private formatter { private: - bool localized = false; + bool localized_ = false; + bool use_tm_formatter_ = false; public: - FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) - -> decltype(ctx.begin()) { - auto begin = ctx.begin(), end = ctx.end(); - if (begin != end && *begin == 'L') { - ++begin; - localized = true; + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + auto it = ctx.begin(), end = ctx.end(); + if (it != end && *it == 'L') { + ++it; + localized_ = true; + return it; } - return begin; + use_tm_formatter_ = it != end && *it != '}'; + return use_tm_formatter_ ? formatter::parse(ctx) : it; } template auto format(weekday wd, FormatContext& ctx) const -> decltype(ctx.out()) { auto time = std::tm(); time.tm_wday = static_cast(wd.c_encoding()); - detail::get_locale loc(localized, ctx.locale()); + if (use_tm_formatter_) return formatter::format(time, ctx); + detail::get_locale loc(localized_, ctx.locale()); auto w = detail::tm_writer(loc, ctx.out(), time); w.on_abbr_weekday(); return w.out(); } }; +template +struct formatter : private formatter { + private: + bool use_tm_formatter_ = false; + + public: + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + auto it = ctx.begin(), end = ctx.end(); + use_tm_formatter_ = it != end && *it != '}'; + return use_tm_formatter_ ? formatter::parse(ctx) : it; + } + + template + auto format(day d, FormatContext& ctx) const -> decltype(ctx.out()) { + auto time = std::tm(); + time.tm_mday = static_cast(static_cast(d)); + if (use_tm_formatter_) return formatter::format(time, ctx); + detail::get_locale loc(false, ctx.locale()); + auto w = detail::tm_writer(loc, ctx.out(), time); + w.on_day_of_month(detail::numeric_system::standard, detail::pad_type::zero); + return w.out(); + } +}; + +template +struct formatter : private formatter { + private: + bool localized_ = false; + bool use_tm_formatter_ = false; + + public: + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + auto it = ctx.begin(), end = ctx.end(); + if (it != end && *it == 'L') { + ++it; + localized_ = true; + return it; + } + use_tm_formatter_ = it != end && *it != '}'; + return use_tm_formatter_ ? formatter::parse(ctx) : it; + } + + template + auto format(month m, FormatContext& ctx) const -> decltype(ctx.out()) { + auto time = std::tm(); + time.tm_mon = static_cast(static_cast(m)) - 1; + if (use_tm_formatter_) return formatter::format(time, ctx); + detail::get_locale loc(localized_, ctx.locale()); + auto w = detail::tm_writer(loc, ctx.out(), time); + w.on_abbr_month(); + return w.out(); + } +}; + +template +struct formatter : private formatter { + private: + bool use_tm_formatter_ = false; + + public: + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + auto it = ctx.begin(), end = ctx.end(); + use_tm_formatter_ = it != end && *it != '}'; + return use_tm_formatter_ ? formatter::parse(ctx) : it; + } + + template + auto format(year y, FormatContext& ctx) const -> decltype(ctx.out()) { + auto time = std::tm(); + time.tm_year = static_cast(y) - 1900; + if (use_tm_formatter_) return formatter::format(time, ctx); + detail::get_locale loc(false, ctx.locale()); + auto w = detail::tm_writer(loc, ctx.out(), time); + w.on_year(detail::numeric_system::standard, detail::pad_type::zero); + return w.out(); + } +}; + +template +struct formatter : private formatter { + private: + bool use_tm_formatter_ = false; + + public: + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + auto it = ctx.begin(), end = ctx.end(); + use_tm_formatter_ = it != end && *it != '}'; + return use_tm_formatter_ ? formatter::parse(ctx) : it; + } + + template + auto format(year_month_day val, FormatContext& ctx) const + -> decltype(ctx.out()) { + auto time = std::tm(); + time.tm_year = static_cast(val.year()) - 1900; + time.tm_mon = static_cast(static_cast(val.month())) - 1; + time.tm_mday = static_cast(static_cast(val.day())); + if (use_tm_formatter_) return formatter::format(time, ctx); + detail::get_locale loc(true, ctx.locale()); + auto w = detail::tm_writer(loc, ctx.out(), time); + w.on_iso_date(); + return w.out(); + } +}; + template struct formatter, Char> { private: - format_specs specs_; + format_specs specs_; detail::arg_ref width_ref_; detail::arg_ref precision_ref_; bool localized_ = false; - basic_string_view format_str_; + basic_string_view fmt_; public: - FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) - -> decltype(ctx.begin()) { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { auto it = ctx.begin(), end = ctx.end(); if (it == end || *it == '}') return it; it = detail::parse_align(it, end, specs_); if (it == end) return it; - it = detail::parse_dynamic_spec(it, end, specs_.width, width_ref_, ctx); - if (it == end) return it; + Char c = *it; + if ((c >= '0' && c <= '9') || c == '{') { + it = detail::parse_width(it, end, specs_, width_ref_, ctx); + if (it == end) return it; + } auto checker = detail::chrono_format_checker(); if (*it == '.') { checker.has_precision_integral = !std::is_floating_point::value; - it = detail::parse_precision(it, end, specs_.precision, precision_ref_, - ctx); + it = detail::parse_precision(it, end, specs_, precision_ref_, ctx); } if (it != end && *it == 'L') { localized_ = true; ++it; } end = detail::parse_chrono_format(it, end, checker); - format_str_ = {it, detail::to_unsigned(end - it)}; + fmt_ = {it, detail::to_unsigned(end - it)}; return end; } @@ -2082,15 +2191,15 @@ struct formatter, Char> { auto specs = specs_; auto precision = specs.precision; specs.precision = -1; - auto begin = format_str_.begin(), end = format_str_.end(); + auto begin = fmt_.begin(), end = fmt_.end(); // As a possible future optimization, we could avoid extra copying if width // is not specified. auto buf = basic_memory_buffer(); - auto out = std::back_inserter(buf); - detail::handle_dynamic_spec(specs.width, width_ref_, - ctx); - detail::handle_dynamic_spec(precision, - precision_ref_, ctx); + auto out = basic_appender(buf); + detail::handle_dynamic_spec(specs.dynamic_width(), specs.width, width_ref_, + ctx); + detail::handle_dynamic_spec(specs.dynamic_precision(), precision, + precision_ref_, ctx); if (begin == end || *begin == '}') { out = detail::format_duration_value(out, d.count(), precision); detail::format_duration_unit(out); @@ -2107,130 +2216,119 @@ struct formatter, Char> { } }; -template -struct formatter, - Char> : formatter { - FMT_CONSTEXPR formatter() { - this->format_str_ = detail::string_literal{}; - } - - template - auto format(std::chrono::time_point val, - FormatContext& ctx) const -> decltype(ctx.out()) { - using period = typename Duration::period; - if (detail::const_check( - period::num != 1 || period::den != 1 || - std::is_floating_point::value)) { - const auto epoch = val.time_since_epoch(); - auto subsecs = detail::fmt_duration_cast( - epoch - detail::fmt_duration_cast(epoch)); - - if (subsecs.count() < 0) { - auto second = - detail::fmt_duration_cast(std::chrono::seconds(1)); - if (epoch.count() < ((Duration::min)() + second).count()) - FMT_THROW(format_error("duration is too small")); - subsecs += second; - val -= second; - } - - return formatter::do_format(gmtime(val), ctx, &subsecs); - } - - return formatter::format(gmtime(val), ctx); - } -}; - -#if FMT_USE_LOCAL_TIME -template -struct formatter, Char> - : formatter { - FMT_CONSTEXPR formatter() { - this->format_str_ = detail::string_literal{}; - } - - template - auto format(std::chrono::local_time val, FormatContext& ctx) const - -> decltype(ctx.out()) { - using period = typename Duration::period; - if (period::num != 1 || period::den != 1 || - std::is_floating_point::value) { - const auto epoch = val.time_since_epoch(); - const auto subsecs = detail::fmt_duration_cast( - epoch - detail::fmt_duration_cast(epoch)); - - return formatter::do_format(localtime(val), ctx, &subsecs); - } - - return formatter::format(localtime(val), ctx); - } -}; -#endif - -#if FMT_USE_UTC_TIME -template -struct formatter, - Char> - : formatter, - Char> { - template - auto format(std::chrono::time_point val, - FormatContext& ctx) const -> decltype(ctx.out()) { - return formatter< - std::chrono::time_point, - Char>::format(std::chrono::utc_clock::to_sys(val), ctx); - } -}; -#endif - template struct formatter { private: - format_specs specs_; + format_specs specs_; detail::arg_ref width_ref_; protected: - basic_string_view format_str_; + basic_string_view fmt_; - template + template auto do_format(const std::tm& tm, FormatContext& ctx, const Duration* subsecs) const -> decltype(ctx.out()) { auto specs = specs_; auto buf = basic_memory_buffer(); - auto out = std::back_inserter(buf); - detail::handle_dynamic_spec(specs.width, width_ref_, - ctx); + auto out = basic_appender(buf); + detail::handle_dynamic_spec(specs.dynamic_width(), specs.width, width_ref_, + ctx); auto loc_ref = ctx.locale(); detail::get_locale loc(static_cast(loc_ref), loc_ref); auto w = detail::tm_writer(loc, out, tm, subsecs); - detail::parse_chrono_format(format_str_.begin(), format_str_.end(), w); + detail::parse_chrono_format(fmt_.begin(), fmt_.end(), w); return detail::write( ctx.out(), basic_string_view(buf.data(), buf.size()), specs); } public: - FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) - -> decltype(ctx.begin()) { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { auto it = ctx.begin(), end = ctx.end(); if (it == end || *it == '}') return it; it = detail::parse_align(it, end, specs_); if (it == end) return it; - it = detail::parse_dynamic_spec(it, end, specs_.width, width_ref_, ctx); - if (it == end) return it; + Char c = *it; + if ((c >= '0' && c <= '9') || c == '{') { + it = detail::parse_width(it, end, specs_, width_ref_, ctx); + if (it == end) return it; + } end = detail::parse_chrono_format(it, end, detail::tm_format_checker()); - // Replace the default format_str only if the new spec is not empty. - if (end != it) format_str_ = {it, detail::to_unsigned(end - it)}; + // Replace the default format string only if the new spec is not empty. + if (end != it) fmt_ = {it, detail::to_unsigned(end - it)}; return end; } template auto format(const std::tm& tm, FormatContext& ctx) const -> decltype(ctx.out()) { - return do_format(tm, ctx, nullptr); + return do_format(tm, ctx, nullptr); + } +}; + +template +struct formatter, Char> : formatter { + FMT_CONSTEXPR formatter() { + this->fmt_ = detail::string_literal(); + } + + template + auto format(sys_time val, FormatContext& ctx) const + -> decltype(ctx.out()) { + std::tm tm = gmtime(val); + using period = typename Duration::period; + if (detail::const_check( + period::num == 1 && period::den == 1 && + !std::is_floating_point::value)) { + return formatter::format(tm, ctx); + } + Duration epoch = val.time_since_epoch(); + Duration subsecs = detail::duration_cast( + epoch - detail::duration_cast(epoch)); + if (subsecs.count() < 0) { + auto second = detail::duration_cast(std::chrono::seconds(1)); + if (tm.tm_sec != 0) + --tm.tm_sec; + else + tm = gmtime(val - second); + subsecs += detail::duration_cast(std::chrono::seconds(1)); + } + return formatter::do_format(tm, ctx, &subsecs); + } +}; + +template +struct formatter, Char> + : formatter, Char> { + template + auto format(utc_time val, FormatContext& ctx) const + -> decltype(ctx.out()) { + return formatter, Char>::format( + detail::utc_clock::to_sys(val), ctx); + } +}; + +template +struct formatter, Char> : formatter { + FMT_CONSTEXPR formatter() { + this->fmt_ = detail::string_literal(); + } + + template + auto format(local_time val, FormatContext& ctx) const + -> decltype(ctx.out()) { + using period = typename Duration::period; + if (period::num == 1 && period::den == 1 && + !std::is_floating_point::value) { + return formatter::format(localtime(val), ctx); + } + auto epoch = val.time_since_epoch(); + auto subsecs = detail::duration_cast( + epoch - detail::duration_cast(epoch)); + return formatter::do_format(localtime(val), ctx, &subsecs); } }; diff --git a/3rdparty/fmt/include/fmt/color.h b/3rdparty/fmt/include/fmt/color.h index 367849a86a7c0..2faaf3a067a64 100644 --- a/3rdparty/fmt/include/fmt/color.h +++ b/3rdparty/fmt/include/fmt/color.h @@ -227,7 +227,7 @@ struct color_type { }; } // namespace detail -/** A text style consisting of foreground and background colors and emphasis. */ +/// A text style consisting of foreground and background colors and emphasis. class text_style { public: FMT_CONSTEXPR text_style(emphasis em = emphasis()) noexcept @@ -239,7 +239,7 @@ class text_style { foreground_color = rhs.foreground_color; } else if (rhs.set_foreground_color) { if (!foreground_color.is_rgb || !rhs.foreground_color.is_rgb) - FMT_THROW(format_error("can't OR a terminal color")); + report_error("can't OR a terminal color"); foreground_color.value.rgb_color |= rhs.foreground_color.value.rgb_color; } @@ -248,7 +248,7 @@ class text_style { background_color = rhs.background_color; } else if (rhs.set_background_color) { if (!background_color.is_rgb || !rhs.background_color.is_rgb) - FMT_THROW(format_error("can't OR a terminal color")); + report_error("can't OR a terminal color"); background_color.value.rgb_color |= rhs.background_color.value.rgb_color; } @@ -310,13 +310,13 @@ class text_style { emphasis ems; }; -/** Creates a text style from the foreground (text) color. */ +/// Creates a text style from the foreground (text) color. FMT_CONSTEXPR inline auto fg(detail::color_type foreground) noexcept -> text_style { return text_style(true, foreground); } -/** Creates a text style from the background color. */ +/// Creates a text style from the background color. FMT_CONSTEXPR inline auto bg(detail::color_type background) noexcept -> text_style { return text_style(false, background); @@ -330,7 +330,7 @@ FMT_CONSTEXPR inline auto operator|(emphasis lhs, emphasis rhs) noexcept namespace detail { template struct ansi_color_escape { - FMT_CONSTEXPR ansi_color_escape(detail::color_type text_color, + FMT_CONSTEXPR ansi_color_escape(color_type text_color, const char* esc) noexcept { // If we have a terminal color, we need to output another escape code // sequence. @@ -390,8 +390,8 @@ template struct ansi_color_escape { FMT_CONSTEXPR operator const Char*() const noexcept { return buffer; } FMT_CONSTEXPR auto begin() const noexcept -> const Char* { return buffer; } - FMT_CONSTEXPR_CHAR_TRAITS auto end() const noexcept -> const Char* { - return buffer + std::char_traits::length(buffer); + FMT_CONSTEXPR20 auto end() const noexcept -> const Char* { + return buffer + basic_string_view(buffer).size(); } private: @@ -412,13 +412,13 @@ template struct ansi_color_escape { }; template -FMT_CONSTEXPR auto make_foreground_color(detail::color_type foreground) noexcept +FMT_CONSTEXPR auto make_foreground_color(color_type foreground) noexcept -> ansi_color_escape { return ansi_color_escape(foreground, "\x1b[38;2;"); } template -FMT_CONSTEXPR auto make_background_color(detail::color_type background) noexcept +FMT_CONSTEXPR auto make_background_color(color_type background) noexcept -> ansi_color_escape { return ansi_color_escape(background, "\x1b[48;2;"); } @@ -434,7 +434,7 @@ template inline void reset_color(buffer& buffer) { buffer.append(reset_color.begin(), reset_color.end()); } -template struct styled_arg : detail::view { +template struct styled_arg : view { const T& value; text_style style; styled_arg(const T& v, text_style s) : value(v), style(s) {} @@ -442,145 +442,115 @@ template struct styled_arg : detail::view { template void vformat_to(buffer& buf, const text_style& ts, - basic_string_view format_str, - basic_format_args>> args) { + basic_string_view fmt, + basic_format_args> args) { bool has_style = false; if (ts.has_emphasis()) { has_style = true; - auto emphasis = detail::make_emphasis(ts.get_emphasis()); + auto emphasis = make_emphasis(ts.get_emphasis()); buf.append(emphasis.begin(), emphasis.end()); } if (ts.has_foreground()) { has_style = true; - auto foreground = detail::make_foreground_color(ts.get_foreground()); + auto foreground = make_foreground_color(ts.get_foreground()); buf.append(foreground.begin(), foreground.end()); } if (ts.has_background()) { has_style = true; - auto background = detail::make_background_color(ts.get_background()); + auto background = make_background_color(ts.get_background()); buf.append(background.begin(), background.end()); } - detail::vformat_to(buf, format_str, args, {}); - if (has_style) detail::reset_color(buf); + vformat_to(buf, fmt, args); + if (has_style) reset_color(buf); } - } // namespace detail -inline void vprint(std::FILE* f, const text_style& ts, string_view fmt, +inline void vprint(FILE* f, const text_style& ts, string_view fmt, format_args args) { - // Legacy wide streams are not supported. auto buf = memory_buffer(); detail::vformat_to(buf, ts, fmt, args); - if (detail::is_utf8()) { - detail::print(f, string_view(buf.begin(), buf.size())); - return; - } - buf.push_back('\0'); - int result = std::fputs(buf.data(), f); - if (result < 0) - FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); + print(f, FMT_STRING("{}"), string_view(buf.begin(), buf.size())); } /** - \rst - Formats a string and prints it to the specified file stream using ANSI - escape sequences to specify text formatting. - - **Example**:: - - fmt::print(fmt::emphasis::bold | fg(fmt::color::red), - "Elapsed time: {0:.2f} seconds", 1.23); - \endrst + * Formats a string and prints it to the specified file stream using ANSI + * escape sequences to specify text formatting. + * + * **Example**: + * + * fmt::print(fmt::emphasis::bold | fg(fmt::color::red), + * "Elapsed time: {0:.2f} seconds", 1.23); */ -template ::value)> -void print(std::FILE* f, const text_style& ts, const S& format_str, - const Args&... args) { - vprint(f, ts, format_str, - fmt::make_format_args>>(args...)); +template +void print(FILE* f, const text_style& ts, format_string fmt, + T&&... args) { + vprint(f, ts, fmt.str, vargs{{args...}}); } /** - \rst - Formats a string and prints it to stdout using ANSI escape sequences to - specify text formatting. - - **Example**:: - - fmt::print(fmt::emphasis::bold | fg(fmt::color::red), - "Elapsed time: {0:.2f} seconds", 1.23); - \endrst + * Formats a string and prints it to stdout using ANSI escape sequences to + * specify text formatting. + * + * **Example**: + * + * fmt::print(fmt::emphasis::bold | fg(fmt::color::red), + * "Elapsed time: {0:.2f} seconds", 1.23); */ -template ::value)> -void print(const text_style& ts, const S& format_str, const Args&... args) { - return print(stdout, ts, format_str, args...); +template +void print(const text_style& ts, format_string fmt, T&&... args) { + return print(stdout, ts, fmt, std::forward(args)...); } -template > -inline auto vformat( - const text_style& ts, const S& format_str, - basic_format_args>> args) - -> std::basic_string { - basic_memory_buffer buf; - detail::vformat_to(buf, ts, detail::to_string_view(format_str), args); +inline auto vformat(const text_style& ts, string_view fmt, format_args args) + -> std::string { + auto buf = memory_buffer(); + detail::vformat_to(buf, ts, fmt, args); return fmt::to_string(buf); } /** - \rst - Formats arguments and returns the result as a string using ANSI - escape sequences to specify text formatting. - - **Example**:: - - #include - std::string message = fmt::format(fmt::emphasis::bold | fg(fmt::color::red), - "The answer is {}", 42); - \endrst -*/ -template > -inline auto format(const text_style& ts, const S& format_str, - const Args&... args) -> std::basic_string { - return fmt::vformat(ts, detail::to_string_view(format_str), - fmt::make_format_args>(args...)); + * Formats arguments and returns the result as a string using ANSI escape + * sequences to specify text formatting. + * + * **Example**: + * + * ``` + * #include + * std::string message = fmt::format(fmt::emphasis::bold | fg(fmt::color::red), + * "The answer is {}", 42); + * ``` + */ +template +inline auto format(const text_style& ts, format_string fmt, T&&... args) + -> std::string { + return fmt::vformat(ts, fmt.str, vargs{{args...}}); } -/** - Formats a string with the given text_style and writes the output to ``out``. - */ -template ::value)> -auto vformat_to(OutputIt out, const text_style& ts, - basic_string_view format_str, - basic_format_args>> args) - -> OutputIt { - auto&& buf = detail::get_buffer(out); - detail::vformat_to(buf, ts, format_str, args); +/// Formats a string with the given text_style and writes the output to `out`. +template ::value)> +auto vformat_to(OutputIt out, const text_style& ts, string_view fmt, + format_args args) -> OutputIt { + auto&& buf = detail::get_buffer(out); + detail::vformat_to(buf, ts, fmt, args); return detail::get_iterator(buf, out); } /** - \rst - Formats arguments with the given text_style, writes the result to the output - iterator ``out`` and returns the iterator past the end of the output range. - - **Example**:: - - std::vector out; - fmt::format_to(std::back_inserter(out), - fmt::emphasis::bold | fg(fmt::color::red), "{}", 42); - \endrst -*/ -template < - typename OutputIt, typename S, typename... Args, - bool enable = detail::is_output_iterator>::value && - detail::is_string::value> -inline auto format_to(OutputIt out, const text_style& ts, const S& format_str, - Args&&... args) -> - typename std::enable_if::type { - return vformat_to(out, ts, detail::to_string_view(format_str), - fmt::make_format_args>>(args...)); + * Formats arguments with the given text style, writes the result to the output + * iterator `out` and returns the iterator past the end of the output range. + * + * **Example**: + * + * std::vector out; + * fmt::format_to(std::back_inserter(out), + * fmt::emphasis::bold | fg(fmt::color::red), "{}", 42); + */ +template ::value)> +inline auto format_to(OutputIt out, const text_style& ts, + format_string fmt, T&&... args) -> OutputIt { + return vformat_to(out, ts, fmt.str, vargs{{args...}}); } template @@ -589,47 +559,44 @@ struct formatter, Char> : formatter { auto format(const detail::styled_arg& arg, FormatContext& ctx) const -> decltype(ctx.out()) { const auto& ts = arg.style; - const auto& value = arg.value; auto out = ctx.out(); bool has_style = false; if (ts.has_emphasis()) { has_style = true; auto emphasis = detail::make_emphasis(ts.get_emphasis()); - out = std::copy(emphasis.begin(), emphasis.end(), out); + out = detail::copy(emphasis.begin(), emphasis.end(), out); } if (ts.has_foreground()) { has_style = true; auto foreground = detail::make_foreground_color(ts.get_foreground()); - out = std::copy(foreground.begin(), foreground.end(), out); + out = detail::copy(foreground.begin(), foreground.end(), out); } if (ts.has_background()) { has_style = true; auto background = detail::make_background_color(ts.get_background()); - out = std::copy(background.begin(), background.end(), out); + out = detail::copy(background.begin(), background.end(), out); } - out = formatter::format(value, ctx); + out = formatter::format(arg.value, ctx); if (has_style) { auto reset_color = string_view("\x1b[0m"); - out = std::copy(reset_color.begin(), reset_color.end(), out); + out = detail::copy(reset_color.begin(), reset_color.end(), out); } return out; } }; /** - \rst - Returns an argument that will be formatted using ANSI escape sequences, - to be used in a formatting function. - - **Example**:: - - fmt::print("Elapsed time: {0:.2f} seconds", - fmt::styled(1.23, fmt::fg(fmt::color::green) | - fmt::bg(fmt::color::blue))); - \endrst + * Returns an argument that will be formatted using ANSI escape sequences, + * to be used in a formatting function. + * + * **Example**: + * + * fmt::print("Elapsed time: {0:.2f} seconds", + * fmt::styled(1.23, fmt::fg(fmt::color::green) | + * fmt::bg(fmt::color::blue))); */ template FMT_CONSTEXPR auto styled(const T& value, text_style ts) diff --git a/3rdparty/fmt/include/fmt/compile.h b/3rdparty/fmt/include/fmt/compile.h index 3b3f166e0cd0c..68b451c71d9c0 100644 --- a/3rdparty/fmt/include/fmt/compile.h +++ b/3rdparty/fmt/include/fmt/compile.h @@ -8,49 +8,44 @@ #ifndef FMT_COMPILE_H_ #define FMT_COMPILE_H_ +#ifndef FMT_MODULE +# include // std::back_inserter +#endif + #include "format.h" FMT_BEGIN_NAMESPACE -namespace detail { - -template -FMT_CONSTEXPR inline auto copy_str(InputIt begin, InputIt end, - counting_iterator it) -> counting_iterator { - return it + (end - begin); -} // A compile-time string which is compiled into fast formatting code. -class compiled_string {}; +FMT_EXPORT class compiled_string {}; + +namespace detail { template struct is_compiled_string : std::is_base_of {}; /** - \rst - Converts a string literal *s* into a format string that will be parsed at - compile time and converted into efficient formatting code. Requires C++17 - ``constexpr if`` compiler support. - - **Example**:: - - // Converts 42 into std::string using the most efficient method and no - // runtime format string processing. - std::string s = fmt::format(FMT_COMPILE("{}"), 42); - \endrst + * Converts a string literal `s` into a format string that will be parsed at + * compile time and converted into efficient formatting code. Requires C++17 + * `constexpr if` compiler support. + * + * **Example**: + * + * // Converts 42 into std::string using the most efficient method and no + * // runtime format string processing. + * std::string s = fmt::format(FMT_COMPILE("{}"), 42); */ #if defined(__cpp_if_constexpr) && defined(__cpp_return_type_deduction) -# define FMT_COMPILE(s) \ - FMT_STRING_IMPL(s, fmt::detail::compiled_string, explicit) +# define FMT_COMPILE(s) FMT_STRING_IMPL(s, fmt::compiled_string) #else # define FMT_COMPILE(s) FMT_STRING(s) #endif #if FMT_USE_NONTYPE_TEMPLATE_ARGS -template Str> +template Str> struct udl_compiled_string : compiled_string { using char_type = Char; - explicit constexpr operator basic_string_view() const { + constexpr explicit operator basic_string_view() const { return {Str.data, N - 1}; } }; @@ -75,6 +70,29 @@ constexpr const auto& get([[maybe_unused]] const T& first, return detail::get(rest...); } +# if FMT_USE_NONTYPE_TEMPLATE_ARGS +template +constexpr auto get_arg_index_by_name(basic_string_view name) -> int { + if constexpr (is_static_named_arg()) { + if (name == T::name) return N; + } + if constexpr (sizeof...(Args) > 0) + return get_arg_index_by_name(name); + (void)name; // Workaround an MSVC bug about "unused" parameter. + return -1; +} +# endif + +template +FMT_CONSTEXPR auto get_arg_index_by_name(basic_string_view name) -> int { +# if FMT_USE_NONTYPE_TEMPLATE_ARGS + if constexpr (sizeof...(Args) > 0) + return get_arg_index_by_name<0, Args...>(name); +# endif + (void)name; + return -1; +} + template constexpr int get_arg_index_by_name(basic_string_view name, type_list) { @@ -144,11 +162,12 @@ template struct field { template constexpr OutputIt format(OutputIt out, const Args&... args) const { const T& arg = get_arg_checked(args...); - if constexpr (std::is_convertible_v>) { + if constexpr (std::is_convertible>::value) { auto s = basic_string_view(arg); - return copy_str(s.begin(), s.end(), out); + return copy(s.begin(), s.end(), out); + } else { + return write(out, arg); } - return write(out, arg); } }; @@ -236,13 +255,12 @@ constexpr size_t parse_text(basic_string_view str, size_t pos) { } template -constexpr auto compile_format_string(S format_str); +constexpr auto compile_format_string(S fmt); template -constexpr auto parse_tail(T head, S format_str) { - if constexpr (POS != - basic_string_view(format_str).size()) { - constexpr auto tail = compile_format_string(format_str); +constexpr auto parse_tail(T head, S fmt) { + if constexpr (POS != basic_string_view(fmt).size()) { + constexpr auto tail = compile_format_string(fmt); if constexpr (std::is_same, unknown_format>()) return tail; @@ -274,6 +292,7 @@ constexpr parse_specs_result parse_specs(basic_string_view str, } template struct arg_id_handler { + arg_id_kind kind; arg_ref arg_id; constexpr int on_auto() { @@ -281,25 +300,28 @@ template struct arg_id_handler { return 0; } constexpr int on_index(int id) { + kind = arg_id_kind::index; arg_id = arg_ref(id); return 0; } constexpr int on_name(basic_string_view id) { + kind = arg_id_kind::name; arg_id = arg_ref(id); return 0; } }; template struct parse_arg_id_result { + arg_id_kind kind; arg_ref arg_id; const Char* arg_id_end; }; template constexpr auto parse_arg_id(const Char* begin, const Char* end) { - auto handler = arg_id_handler{arg_ref{}}; + auto handler = arg_id_handler{arg_id_kind::none, arg_ref{}}; auto arg_id_end = parse_arg_id(begin, end, handler); - return parse_arg_id_result{handler.arg_id, arg_id_end}; + return parse_arg_id_result{handler.kind, handler.arg_id, arg_id_end}; } template struct field_type { @@ -313,14 +335,13 @@ struct field_type::value>> { template -constexpr auto parse_replacement_field_then_tail(S format_str) { +constexpr auto parse_replacement_field_then_tail(S fmt) { using char_type = typename S::char_type; - constexpr auto str = basic_string_view(format_str); + constexpr auto str = basic_string_view(fmt); constexpr char_type c = END_POS != str.size() ? str[END_POS] : char_type(); if constexpr (c == '}') { return parse_tail( - field::type, ARG_INDEX>(), - format_str); + field::type, ARG_INDEX>(), fmt); } else if constexpr (c != ':') { FMT_THROW(format_error("expected ':'")); } else { @@ -333,7 +354,7 @@ constexpr auto parse_replacement_field_then_tail(S format_str) { return parse_tail( spec_field::type, ARG_INDEX>{ result.fmt}, - format_str); + fmt); } } } @@ -341,22 +362,21 @@ constexpr auto parse_replacement_field_then_tail(S format_str) { // Compiles a non-empty format string and returns the compiled representation // or unknown_format() on unrecognized input. template -constexpr auto compile_format_string(S format_str) { +constexpr auto compile_format_string(S fmt) { using char_type = typename S::char_type; - constexpr auto str = basic_string_view(format_str); + constexpr auto str = basic_string_view(fmt); if constexpr (str[POS] == '{') { if constexpr (POS + 1 == str.size()) FMT_THROW(format_error("unmatched '{' in format string")); if constexpr (str[POS + 1] == '{') { - return parse_tail(make_text(str, POS, 1), format_str); + return parse_tail(make_text(str, POS, 1), fmt); } else if constexpr (str[POS + 1] == '}' || str[POS + 1] == ':') { static_assert(ID != manual_indexing_id, "cannot switch from manual to automatic argument indexing"); constexpr auto next_id = ID != manual_indexing_id ? ID + 1 : manual_indexing_id; return parse_replacement_field_then_tail, Args, - POS + 1, ID, next_id>( - format_str); + POS + 1, ID, next_id>(fmt); } else { constexpr auto arg_id_result = parse_arg_id(str.data() + POS + 1, str.data() + str.size()); @@ -364,28 +384,27 @@ constexpr auto compile_format_string(S format_str) { constexpr char_type c = arg_id_end_pos != str.size() ? str[arg_id_end_pos] : char_type(); static_assert(c == '}' || c == ':', "missing '}' in format string"); - if constexpr (arg_id_result.arg_id.kind == arg_id_kind::index) { + if constexpr (arg_id_result.kind == arg_id_kind::index) { static_assert( ID == manual_indexing_id || ID == 0, "cannot switch from automatic to manual argument indexing"); - constexpr auto arg_index = arg_id_result.arg_id.val.index; + constexpr auto arg_index = arg_id_result.arg_id.index; return parse_replacement_field_then_tail, Args, arg_id_end_pos, arg_index, manual_indexing_id>( - format_str); - } else if constexpr (arg_id_result.arg_id.kind == arg_id_kind::name) { + fmt); + } else if constexpr (arg_id_result.kind == arg_id_kind::name) { constexpr auto arg_index = - get_arg_index_by_name(arg_id_result.arg_id.val.name, Args{}); + get_arg_index_by_name(arg_id_result.arg_id.name, Args{}); if constexpr (arg_index >= 0) { constexpr auto next_id = ID != manual_indexing_id ? ID + 1 : manual_indexing_id; return parse_replacement_field_then_tail< decltype(get_type::value), Args, arg_id_end_pos, - arg_index, next_id>(format_str); + arg_index, next_id>(fmt); } else if constexpr (c == '}') { return parse_tail( - runtime_named_field{arg_id_result.arg_id.val.name}, - format_str); + runtime_named_field{arg_id_result.arg_id.name}, fmt); } else if constexpr (c == ':') { return unknown_format(); // no type info for specs parsing } @@ -394,29 +413,26 @@ constexpr auto compile_format_string(S format_str) { } else if constexpr (str[POS] == '}') { if constexpr (POS + 1 == str.size()) FMT_THROW(format_error("unmatched '}' in format string")); - return parse_tail(make_text(str, POS, 1), format_str); + return parse_tail(make_text(str, POS, 1), fmt); } else { constexpr auto end = parse_text(str, POS + 1); if constexpr (end - POS > 1) { - return parse_tail(make_text(str, POS, end - POS), - format_str); + return parse_tail(make_text(str, POS, end - POS), fmt); } else { - return parse_tail(code_unit{str[POS]}, - format_str); + return parse_tail(code_unit{str[POS]}, fmt); } } } template ::value)> -constexpr auto compile(S format_str) { - constexpr auto str = basic_string_view(format_str); +constexpr auto compile(S fmt) { + constexpr auto str = basic_string_view(fmt); if constexpr (str.size() == 0) { return detail::make_text(str, 0, 0); } else { constexpr auto result = - detail::compile_format_string, 0, 0>( - format_str); + detail::compile_format_string, 0, 0>(fmt); return result; } } @@ -488,40 +504,40 @@ FMT_CONSTEXPR OutputIt format_to(OutputIt out, const S&, Args&&... args) { template ::value)> -auto format_to_n(OutputIt out, size_t n, const S& format_str, Args&&... args) +auto format_to_n(OutputIt out, size_t n, const S& fmt, Args&&... args) -> format_to_n_result { using traits = detail::fixed_buffer_traits; auto buf = detail::iterator_buffer(out, n); - fmt::format_to(std::back_inserter(buf), format_str, - std::forward(args)...); + fmt::format_to(std::back_inserter(buf), fmt, std::forward(args)...); return {buf.out(), buf.count()}; } template ::value)> -FMT_CONSTEXPR20 auto formatted_size(const S& format_str, const Args&... args) +FMT_CONSTEXPR20 auto formatted_size(const S& fmt, const Args&... args) -> size_t { - return fmt::format_to(detail::counting_iterator(), format_str, args...) - .count(); + auto buf = detail::counting_buffer<>(); + fmt::format_to(appender(buf), fmt, args...); + return buf.count(); } template ::value)> -void print(std::FILE* f, const S& format_str, const Args&... args) { - memory_buffer buffer; - fmt::format_to(std::back_inserter(buffer), format_str, args...); - detail::print(f, {buffer.data(), buffer.size()}); +void print(std::FILE* f, const S& fmt, const Args&... args) { + auto buf = memory_buffer(); + fmt::format_to(appender(buf), fmt, args...); + detail::print(f, {buf.data(), buf.size()}); } template ::value)> -void print(const S& format_str, const Args&... args) { - print(stdout, format_str, args...); +void print(const S& fmt, const Args&... args) { + print(stdout, fmt, args...); } #if FMT_USE_NONTYPE_TEMPLATE_ARGS inline namespace literals { -template constexpr auto operator""_cf() { +template constexpr auto operator""_cf() { using char_t = remove_cvref_t; return detail::udl_compiled_string(); diff --git a/3rdparty/fmt/include/fmt/core.h b/3rdparty/fmt/include/fmt/core.h index b51c1406a9907..8ca735f0c0049 100644 --- a/3rdparty/fmt/include/fmt/core.h +++ b/3rdparty/fmt/include/fmt/core.h @@ -1,2969 +1,5 @@ -// Formatting library for C++ - the core API for char/UTF-8 -// -// Copyright (c) 2012 - present, Victor Zverovich -// All rights reserved. -// -// For the license information refer to format.h. +// This file is only provided for compatibility and may be removed in future +// versions. Use fmt/base.h if you don't need fmt::format and fmt/format.h +// otherwise. -#ifndef FMT_CORE_H_ -#define FMT_CORE_H_ - -#include // std::byte -#include // std::FILE -#include // std::strlen -#include -#include -#include // std::addressof -#include -#include - -// The fmt library version in the form major * 10000 + minor * 100 + patch. -#define FMT_VERSION 100201 - -#if defined(__clang__) && !defined(__ibmxl__) -# define FMT_CLANG_VERSION (__clang_major__ * 100 + __clang_minor__) -#else -# define FMT_CLANG_VERSION 0 -#endif - -#if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && \ - !defined(__NVCOMPILER) -# define FMT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) -#else -# define FMT_GCC_VERSION 0 -#endif - -#ifndef FMT_GCC_PRAGMA -// Workaround _Pragma bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59884. -# if FMT_GCC_VERSION >= 504 -# define FMT_GCC_PRAGMA(arg) _Pragma(arg) -# else -# define FMT_GCC_PRAGMA(arg) -# endif -#endif - -#ifdef __ICL -# define FMT_ICC_VERSION __ICL -#elif defined(__INTEL_COMPILER) -# define FMT_ICC_VERSION __INTEL_COMPILER -#else -# define FMT_ICC_VERSION 0 -#endif - -#ifdef _MSC_VER -# define FMT_MSC_VERSION _MSC_VER -# define FMT_MSC_WARNING(...) __pragma(warning(__VA_ARGS__)) -#else -# define FMT_MSC_VERSION 0 -# define FMT_MSC_WARNING(...) -#endif - -#ifdef _MSVC_LANG -# define FMT_CPLUSPLUS _MSVC_LANG -#else -# define FMT_CPLUSPLUS __cplusplus -#endif - -#ifdef __has_feature -# define FMT_HAS_FEATURE(x) __has_feature(x) -#else -# define FMT_HAS_FEATURE(x) 0 -#endif - -#if defined(__has_include) || FMT_ICC_VERSION >= 1600 || FMT_MSC_VERSION > 1900 -# define FMT_HAS_INCLUDE(x) __has_include(x) -#else -# define FMT_HAS_INCLUDE(x) 0 -#endif - -#ifdef __has_cpp_attribute -# define FMT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) -#else -# define FMT_HAS_CPP_ATTRIBUTE(x) 0 -#endif - -#define FMT_HAS_CPP14_ATTRIBUTE(attribute) \ - (FMT_CPLUSPLUS >= 201402L && FMT_HAS_CPP_ATTRIBUTE(attribute)) - -#define FMT_HAS_CPP17_ATTRIBUTE(attribute) \ - (FMT_CPLUSPLUS >= 201703L && FMT_HAS_CPP_ATTRIBUTE(attribute)) - -// Check if relaxed C++14 constexpr is supported. -// GCC doesn't allow throw in constexpr until version 6 (bug 67371). -#ifndef FMT_USE_CONSTEXPR -# if (FMT_HAS_FEATURE(cxx_relaxed_constexpr) || FMT_MSC_VERSION >= 1912 || \ - (FMT_GCC_VERSION >= 600 && FMT_CPLUSPLUS >= 201402L)) && \ - !FMT_ICC_VERSION && (!defined(__NVCC__) || FMT_CPLUSPLUS >= 202002L) -# define FMT_USE_CONSTEXPR 1 -# else -# define FMT_USE_CONSTEXPR 0 -# endif -#endif -#if FMT_USE_CONSTEXPR -# define FMT_CONSTEXPR constexpr -#else -# define FMT_CONSTEXPR -#endif - -#if (FMT_CPLUSPLUS >= 202002L || \ - (FMT_CPLUSPLUS >= 201709L && FMT_GCC_VERSION >= 1002)) && \ - ((!defined(_GLIBCXX_RELEASE) || _GLIBCXX_RELEASE >= 10) && \ - (!defined(_LIBCPP_VERSION) || _LIBCPP_VERSION >= 10000) && \ - (!FMT_MSC_VERSION || FMT_MSC_VERSION >= 1928)) && \ - defined(__cpp_lib_is_constant_evaluated) -# define FMT_CONSTEXPR20 constexpr -#else -# define FMT_CONSTEXPR20 -#endif - -// Check if constexpr std::char_traits<>::{compare,length} are supported. -#if defined(__GLIBCXX__) -# if FMT_CPLUSPLUS >= 201703L && defined(_GLIBCXX_RELEASE) && \ - _GLIBCXX_RELEASE >= 7 // GCC 7+ libstdc++ has _GLIBCXX_RELEASE. -# define FMT_CONSTEXPR_CHAR_TRAITS constexpr -# endif -#elif defined(_LIBCPP_VERSION) && FMT_CPLUSPLUS >= 201703L && \ - _LIBCPP_VERSION >= 4000 -# define FMT_CONSTEXPR_CHAR_TRAITS constexpr -#elif FMT_MSC_VERSION >= 1914 && FMT_CPLUSPLUS >= 201703L -# define FMT_CONSTEXPR_CHAR_TRAITS constexpr -#endif -#ifndef FMT_CONSTEXPR_CHAR_TRAITS -# define FMT_CONSTEXPR_CHAR_TRAITS -#endif - -// Check if exceptions are disabled. -#ifndef FMT_EXCEPTIONS -# if (defined(__GNUC__) && !defined(__EXCEPTIONS)) || \ - (FMT_MSC_VERSION && !_HAS_EXCEPTIONS) -# define FMT_EXCEPTIONS 0 -# else -# define FMT_EXCEPTIONS 1 -# endif -#endif - -// Disable [[noreturn]] on MSVC/NVCC because of bogus unreachable code warnings. -#if FMT_EXCEPTIONS && FMT_HAS_CPP_ATTRIBUTE(noreturn) && !FMT_MSC_VERSION && \ - !defined(__NVCC__) -# define FMT_NORETURN [[noreturn]] -#else -# define FMT_NORETURN -#endif - -#ifndef FMT_NODISCARD -# if FMT_HAS_CPP17_ATTRIBUTE(nodiscard) -# define FMT_NODISCARD [[nodiscard]] -# else -# define FMT_NODISCARD -# endif -#endif - -#ifndef FMT_INLINE -# if FMT_GCC_VERSION || FMT_CLANG_VERSION -# define FMT_INLINE inline __attribute__((always_inline)) -# else -# define FMT_INLINE inline -# endif -#endif - -#ifdef _MSC_VER -# define FMT_UNCHECKED_ITERATOR(It) \ - using _Unchecked_type = It // Mark iterator as checked. -#else -# define FMT_UNCHECKED_ITERATOR(It) using unchecked_type = It -#endif - -#ifndef FMT_BEGIN_NAMESPACE -# define FMT_BEGIN_NAMESPACE \ - namespace fmt { \ - inline namespace v10 { -# define FMT_END_NAMESPACE \ - } \ - } -#endif - -#ifndef FMT_EXPORT -# define FMT_EXPORT -# define FMT_BEGIN_EXPORT -# define FMT_END_EXPORT -#endif - -#if FMT_GCC_VERSION || FMT_CLANG_VERSION -# define FMT_VISIBILITY(value) __attribute__((visibility(value))) -#else -# define FMT_VISIBILITY(value) -#endif - -#if !defined(FMT_HEADER_ONLY) && defined(_WIN32) -# if defined(FMT_LIB_EXPORT) -# define FMT_API __declspec(dllexport) -# elif defined(FMT_SHARED) -# define FMT_API __declspec(dllimport) -# endif -#elif defined(FMT_LIB_EXPORT) || defined(FMT_SHARED) -# define FMT_API FMT_VISIBILITY("default") -#endif -#ifndef FMT_API -# define FMT_API -#endif - -// libc++ supports string_view in pre-c++17. -#if FMT_HAS_INCLUDE() && \ - (FMT_CPLUSPLUS >= 201703L || defined(_LIBCPP_VERSION)) -# include -# define FMT_USE_STRING_VIEW -#elif FMT_HAS_INCLUDE("experimental/string_view") && FMT_CPLUSPLUS >= 201402L -# include -# define FMT_USE_EXPERIMENTAL_STRING_VIEW -#endif - -#ifndef FMT_UNICODE -# define FMT_UNICODE !FMT_MSC_VERSION -#endif - -#ifndef FMT_CONSTEVAL -# if ((FMT_GCC_VERSION >= 1000 || FMT_CLANG_VERSION >= 1101) && \ - (!defined(__apple_build_version__) || \ - __apple_build_version__ >= 14000029L) && \ - FMT_CPLUSPLUS >= 202002L) || \ - (defined(__cpp_consteval) && \ - (!FMT_MSC_VERSION || FMT_MSC_VERSION >= 1929)) -// consteval is broken in MSVC before VS2019 version 16.10 and Apple clang -// before 14. -# define FMT_CONSTEVAL consteval -# define FMT_HAS_CONSTEVAL -# else -# define FMT_CONSTEVAL -# endif -#endif - -#ifndef FMT_USE_NONTYPE_TEMPLATE_ARGS -# if defined(__cpp_nontype_template_args) && \ - ((FMT_GCC_VERSION >= 903 && FMT_CPLUSPLUS >= 201709L) || \ - __cpp_nontype_template_args >= 201911L) && \ - !defined(__NVCOMPILER) && !defined(__LCC__) -# define FMT_USE_NONTYPE_TEMPLATE_ARGS 1 -# else -# define FMT_USE_NONTYPE_TEMPLATE_ARGS 0 -# endif -#endif - -// GCC < 5 requires this-> in decltype -#ifndef FMT_DECLTYPE_THIS -# if FMT_GCC_VERSION && FMT_GCC_VERSION < 500 -# define FMT_DECLTYPE_THIS this-> -# else -# define FMT_DECLTYPE_THIS -# endif -#endif - -// Enable minimal optimizations for more compact code in debug mode. -FMT_GCC_PRAGMA("GCC push_options") -#if !defined(__OPTIMIZE__) && !defined(__NVCOMPILER) && !defined(__LCC__) && \ - !defined(__CUDACC__) -FMT_GCC_PRAGMA("GCC optimize(\"Og\")") -#endif - -FMT_BEGIN_NAMESPACE - -// Implementations of enable_if_t and other metafunctions for older systems. -template -using enable_if_t = typename std::enable_if::type; -template -using conditional_t = typename std::conditional::type; -template using bool_constant = std::integral_constant; -template -using remove_reference_t = typename std::remove_reference::type; -template -using remove_const_t = typename std::remove_const::type; -template -using remove_cvref_t = typename std::remove_cv>::type; -template struct type_identity { - using type = T; -}; -template using type_identity_t = typename type_identity::type; -template -using underlying_t = typename std::underlying_type::type; - -// Checks whether T is a container with contiguous storage. -template struct is_contiguous : std::false_type {}; -template -struct is_contiguous> : std::true_type {}; - -struct monostate { - constexpr monostate() {} -}; - -// An enable_if helper to be used in template parameters which results in much -// shorter symbols: https://godbolt.org/z/sWw4vP. Extra parentheses are needed -// to workaround a bug in MSVC 2019 (see #1140 and #1186). -#ifdef FMT_DOC -# define FMT_ENABLE_IF(...) -#else -# define FMT_ENABLE_IF(...) fmt::enable_if_t<(__VA_ARGS__), int> = 0 -#endif - -// This is defined in core.h instead of format.h to avoid injecting in std. -// It is a template to avoid undesirable implicit conversions to std::byte. -#ifdef __cpp_lib_byte -template ::value)> -inline auto format_as(T b) -> unsigned char { - return static_cast(b); -} -#endif - -namespace detail { -// Suppresses "unused variable" warnings with the method described in -// https://herbsutter.com/2009/10/18/mailbag-shutting-up-compiler-warnings/. -// (void)var does not work on many Intel compilers. -template FMT_CONSTEXPR void ignore_unused(const T&...) {} - -constexpr FMT_INLINE auto is_constant_evaluated( - bool default_value = false) noexcept -> bool { -// Workaround for incompatibility between libstdc++ consteval-based -// std::is_constant_evaluated() implementation and clang-14. -// https://github.com/fmtlib/fmt/issues/3247 -#if FMT_CPLUSPLUS >= 202002L && defined(_GLIBCXX_RELEASE) && \ - _GLIBCXX_RELEASE >= 12 && \ - (FMT_CLANG_VERSION >= 1400 && FMT_CLANG_VERSION < 1500) - ignore_unused(default_value); - return __builtin_is_constant_evaluated(); -#elif defined(__cpp_lib_is_constant_evaluated) - ignore_unused(default_value); - return std::is_constant_evaluated(); -#else - return default_value; -#endif -} - -// Suppresses "conditional expression is constant" warnings. -template constexpr FMT_INLINE auto const_check(T value) -> T { - return value; -} - -FMT_NORETURN FMT_API void assert_fail(const char* file, int line, - const char* message); - -#ifndef FMT_ASSERT -# ifdef NDEBUG -// FMT_ASSERT is not empty to avoid -Wempty-body. -# define FMT_ASSERT(condition, message) \ - fmt::detail::ignore_unused((condition), (message)) -# else -# define FMT_ASSERT(condition, message) \ - ((condition) /* void() fails with -Winvalid-constexpr on clang 4.0.1 */ \ - ? (void)0 \ - : fmt::detail::assert_fail(__FILE__, __LINE__, (message))) -# endif -#endif - -#if defined(FMT_USE_STRING_VIEW) -template using std_string_view = std::basic_string_view; -#elif defined(FMT_USE_EXPERIMENTAL_STRING_VIEW) -template -using std_string_view = std::experimental::basic_string_view; -#else -template struct std_string_view {}; -#endif - -#ifdef FMT_USE_INT128 -// Do nothing. -#elif defined(__SIZEOF_INT128__) && !defined(__NVCC__) && \ - !(FMT_CLANG_VERSION && FMT_MSC_VERSION) -# define FMT_USE_INT128 1 -using int128_opt = __int128_t; // An optional native 128-bit integer. -using uint128_opt = __uint128_t; -template inline auto convert_for_visit(T value) -> T { - return value; -} -#else -# define FMT_USE_INT128 0 -#endif -#if !FMT_USE_INT128 -enum class int128_opt {}; -enum class uint128_opt {}; -// Reduce template instantiations. -template auto convert_for_visit(T) -> monostate { return {}; } -#endif - -// Casts a nonnegative integer to unsigned. -template -FMT_CONSTEXPR auto to_unsigned(Int value) -> - typename std::make_unsigned::type { - FMT_ASSERT(std::is_unsigned::value || value >= 0, "negative value"); - return static_cast::type>(value); -} - -FMT_CONSTEXPR inline auto is_utf8() -> bool { - FMT_MSC_WARNING(suppress : 4566) constexpr unsigned char section[] = "\u00A7"; - - // Avoid buggy sign extensions in MSVC's constant evaluation mode (#2297). - using uchar = unsigned char; - return FMT_UNICODE || (sizeof(section) == 3 && uchar(section[0]) == 0xC2 && - uchar(section[1]) == 0xA7); -} -} // namespace detail - -/** - An implementation of ``std::basic_string_view`` for pre-C++17. It provides a - subset of the API. ``fmt::basic_string_view`` is used for format strings even - if ``std::string_view`` is available to prevent issues when a library is - compiled with a different ``-std`` option than the client code (which is not - recommended). - */ -FMT_EXPORT -template class basic_string_view { - private: - const Char* data_; - size_t size_; - - public: - using value_type = Char; - using iterator = const Char*; - - constexpr basic_string_view() noexcept : data_(nullptr), size_(0) {} - - /** Constructs a string reference object from a C string and a size. */ - constexpr basic_string_view(const Char* s, size_t count) noexcept - : data_(s), size_(count) {} - - /** - \rst - Constructs a string reference object from a C string computing - the size with ``std::char_traits::length``. - \endrst - */ - FMT_CONSTEXPR_CHAR_TRAITS - FMT_INLINE - basic_string_view(const Char* s) - : data_(s), - size_(detail::const_check(std::is_same::value && - !detail::is_constant_evaluated(true)) - ? std::strlen(reinterpret_cast(s)) - : std::char_traits::length(s)) {} - - /** Constructs a string reference from a ``std::basic_string`` object. */ - template - FMT_CONSTEXPR basic_string_view( - const std::basic_string& s) noexcept - : data_(s.data()), size_(s.size()) {} - - template >::value)> - FMT_CONSTEXPR basic_string_view(S s) noexcept - : data_(s.data()), size_(s.size()) {} - - /** Returns a pointer to the string data. */ - constexpr auto data() const noexcept -> const Char* { return data_; } - - /** Returns the string size. */ - constexpr auto size() const noexcept -> size_t { return size_; } - - constexpr auto begin() const noexcept -> iterator { return data_; } - constexpr auto end() const noexcept -> iterator { return data_ + size_; } - - constexpr auto operator[](size_t pos) const noexcept -> const Char& { - return data_[pos]; - } - - FMT_CONSTEXPR void remove_prefix(size_t n) noexcept { - data_ += n; - size_ -= n; - } - - FMT_CONSTEXPR_CHAR_TRAITS auto starts_with( - basic_string_view sv) const noexcept -> bool { - return size_ >= sv.size_ && - std::char_traits::compare(data_, sv.data_, sv.size_) == 0; - } - FMT_CONSTEXPR_CHAR_TRAITS auto starts_with(Char c) const noexcept -> bool { - return size_ >= 1 && std::char_traits::eq(*data_, c); - } - FMT_CONSTEXPR_CHAR_TRAITS auto starts_with(const Char* s) const -> bool { - return starts_with(basic_string_view(s)); - } - - // Lexicographically compare this string reference to other. - FMT_CONSTEXPR_CHAR_TRAITS auto compare(basic_string_view other) const -> int { - size_t str_size = size_ < other.size_ ? size_ : other.size_; - int result = std::char_traits::compare(data_, other.data_, str_size); - if (result == 0) - result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1); - return result; - } - - FMT_CONSTEXPR_CHAR_TRAITS friend auto operator==(basic_string_view lhs, - basic_string_view rhs) - -> bool { - return lhs.compare(rhs) == 0; - } - friend auto operator!=(basic_string_view lhs, basic_string_view rhs) -> bool { - return lhs.compare(rhs) != 0; - } - friend auto operator<(basic_string_view lhs, basic_string_view rhs) -> bool { - return lhs.compare(rhs) < 0; - } - friend auto operator<=(basic_string_view lhs, basic_string_view rhs) -> bool { - return lhs.compare(rhs) <= 0; - } - friend auto operator>(basic_string_view lhs, basic_string_view rhs) -> bool { - return lhs.compare(rhs) > 0; - } - friend auto operator>=(basic_string_view lhs, basic_string_view rhs) -> bool { - return lhs.compare(rhs) >= 0; - } -}; - -FMT_EXPORT -using string_view = basic_string_view; - -/** Specifies if ``T`` is a character type. Can be specialized by users. */ -FMT_EXPORT -template struct is_char : std::false_type {}; -template <> struct is_char : std::true_type {}; - -namespace detail { - -// A base class for compile-time strings. -struct compile_string {}; - -template -struct is_compile_string : std::is_base_of {}; - -template ::value)> -FMT_INLINE auto to_string_view(const Char* s) -> basic_string_view { - return s; -} -template -inline auto to_string_view(const std::basic_string& s) - -> basic_string_view { - return s; -} -template -constexpr auto to_string_view(basic_string_view s) - -> basic_string_view { - return s; -} -template >::value)> -inline auto to_string_view(std_string_view s) -> basic_string_view { - return s; -} -template ::value)> -constexpr auto to_string_view(const S& s) - -> basic_string_view { - return basic_string_view(s); -} -void to_string_view(...); - -// Specifies whether S is a string type convertible to fmt::basic_string_view. -// It should be a constexpr function but MSVC 2017 fails to compile it in -// enable_if and MSVC 2015 fails to compile it as an alias template. -// ADL is intentionally disabled as to_string_view is not an extension point. -template -struct is_string - : std::is_class()))> {}; - -template struct char_t_impl {}; -template struct char_t_impl::value>> { - using result = decltype(to_string_view(std::declval())); - using type = typename result::value_type; -}; - -enum class type { - none_type, - // Integer types should go first, - int_type, - uint_type, - long_long_type, - ulong_long_type, - int128_type, - uint128_type, - bool_type, - char_type, - last_integer_type = char_type, - // followed by floating-point types. - float_type, - double_type, - long_double_type, - last_numeric_type = long_double_type, - cstring_type, - string_type, - pointer_type, - custom_type -}; - -// Maps core type T to the corresponding type enum constant. -template -struct type_constant : std::integral_constant {}; - -#define FMT_TYPE_CONSTANT(Type, constant) \ - template \ - struct type_constant \ - : std::integral_constant {} - -FMT_TYPE_CONSTANT(int, int_type); -FMT_TYPE_CONSTANT(unsigned, uint_type); -FMT_TYPE_CONSTANT(long long, long_long_type); -FMT_TYPE_CONSTANT(unsigned long long, ulong_long_type); -FMT_TYPE_CONSTANT(int128_opt, int128_type); -FMT_TYPE_CONSTANT(uint128_opt, uint128_type); -FMT_TYPE_CONSTANT(bool, bool_type); -FMT_TYPE_CONSTANT(Char, char_type); -FMT_TYPE_CONSTANT(float, float_type); -FMT_TYPE_CONSTANT(double, double_type); -FMT_TYPE_CONSTANT(long double, long_double_type); -FMT_TYPE_CONSTANT(const Char*, cstring_type); -FMT_TYPE_CONSTANT(basic_string_view, string_type); -FMT_TYPE_CONSTANT(const void*, pointer_type); - -constexpr auto is_integral_type(type t) -> bool { - return t > type::none_type && t <= type::last_integer_type; -} -constexpr auto is_arithmetic_type(type t) -> bool { - return t > type::none_type && t <= type::last_numeric_type; -} - -constexpr auto set(type rhs) -> int { return 1 << static_cast(rhs); } -constexpr auto in(type t, int set) -> bool { - return ((set >> static_cast(t)) & 1) != 0; -} - -// Bitsets of types. -enum { - sint_set = - set(type::int_type) | set(type::long_long_type) | set(type::int128_type), - uint_set = set(type::uint_type) | set(type::ulong_long_type) | - set(type::uint128_type), - bool_set = set(type::bool_type), - char_set = set(type::char_type), - float_set = set(type::float_type) | set(type::double_type) | - set(type::long_double_type), - string_set = set(type::string_type), - cstring_set = set(type::cstring_type), - pointer_set = set(type::pointer_type) -}; - -// DEPRECATED! -FMT_NORETURN FMT_API void throw_format_error(const char* message); - -struct error_handler { - constexpr error_handler() = default; - - // This function is intentionally not constexpr to give a compile-time error. - FMT_NORETURN void on_error(const char* message) { - throw_format_error(message); - } -}; -} // namespace detail - -/** Throws ``format_error`` with a given message. */ -using detail::throw_format_error; - -/** String's character type. */ -template using char_t = typename detail::char_t_impl::type; - -/** - \rst - Parsing context consisting of a format string range being parsed and an - argument counter for automatic indexing. - You can use the ``format_parse_context`` type alias for ``char`` instead. - \endrst - */ -FMT_EXPORT -template class basic_format_parse_context { - private: - basic_string_view format_str_; - int next_arg_id_; - - FMT_CONSTEXPR void do_check_arg_id(int id); - - public: - using char_type = Char; - using iterator = const Char*; - - explicit constexpr basic_format_parse_context( - basic_string_view format_str, int next_arg_id = 0) - : format_str_(format_str), next_arg_id_(next_arg_id) {} - - /** - Returns an iterator to the beginning of the format string range being - parsed. - */ - constexpr auto begin() const noexcept -> iterator { - return format_str_.begin(); - } - - /** - Returns an iterator past the end of the format string range being parsed. - */ - constexpr auto end() const noexcept -> iterator { return format_str_.end(); } - - /** Advances the begin iterator to ``it``. */ - FMT_CONSTEXPR void advance_to(iterator it) { - format_str_.remove_prefix(detail::to_unsigned(it - begin())); - } - - /** - Reports an error if using the manual argument indexing; otherwise returns - the next argument index and switches to the automatic indexing. - */ - FMT_CONSTEXPR auto next_arg_id() -> int { - if (next_arg_id_ < 0) { - detail::throw_format_error( - "cannot switch from manual to automatic argument indexing"); - return 0; - } - int id = next_arg_id_++; - do_check_arg_id(id); - return id; - } - - /** - Reports an error if using the automatic argument indexing; otherwise - switches to the manual indexing. - */ - FMT_CONSTEXPR void check_arg_id(int id) { - if (next_arg_id_ > 0) { - detail::throw_format_error( - "cannot switch from automatic to manual argument indexing"); - return; - } - next_arg_id_ = -1; - do_check_arg_id(id); - } - FMT_CONSTEXPR void check_arg_id(basic_string_view) {} - FMT_CONSTEXPR void check_dynamic_spec(int arg_id); -}; - -FMT_EXPORT -using format_parse_context = basic_format_parse_context; - -namespace detail { -// A parse context with extra data used only in compile-time checks. -template -class compile_parse_context : public basic_format_parse_context { - private: - int num_args_; - const type* types_; - using base = basic_format_parse_context; - - public: - explicit FMT_CONSTEXPR compile_parse_context( - basic_string_view format_str, int num_args, const type* types, - int next_arg_id = 0) - : base(format_str, next_arg_id), num_args_(num_args), types_(types) {} - - constexpr auto num_args() const -> int { return num_args_; } - constexpr auto arg_type(int id) const -> type { return types_[id]; } - - FMT_CONSTEXPR auto next_arg_id() -> int { - int id = base::next_arg_id(); - if (id >= num_args_) throw_format_error("argument not found"); - return id; - } - - FMT_CONSTEXPR void check_arg_id(int id) { - base::check_arg_id(id); - if (id >= num_args_) throw_format_error("argument not found"); - } - using base::check_arg_id; - - FMT_CONSTEXPR void check_dynamic_spec(int arg_id) { - detail::ignore_unused(arg_id); -#if !defined(__LCC__) - if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id])) - throw_format_error("width/precision is not integer"); -#endif - } -}; - -// Extracts a reference to the container from back_insert_iterator. -template -inline auto get_container(std::back_insert_iterator it) - -> Container& { - using base = std::back_insert_iterator; - struct accessor : base { - accessor(base b) : base(b) {} - using base::container; - }; - return *accessor(it).container; -} - -template -FMT_CONSTEXPR auto copy_str(InputIt begin, InputIt end, OutputIt out) - -> OutputIt { - while (begin != end) *out++ = static_cast(*begin++); - return out; -} - -template , U>::value&& is_char::value)> -FMT_CONSTEXPR auto copy_str(T* begin, T* end, U* out) -> U* { - if (is_constant_evaluated()) return copy_str(begin, end, out); - auto size = to_unsigned(end - begin); - if (size > 0) memcpy(out, begin, size * sizeof(U)); - return out + size; -} - -/** - \rst - A contiguous memory buffer with an optional growing ability. It is an internal - class and shouldn't be used directly, only via `~fmt::basic_memory_buffer`. - \endrst - */ -template class buffer { - private: - T* ptr_; - size_t size_; - size_t capacity_; - - protected: - // Don't initialize ptr_ since it is not accessed to save a few cycles. - FMT_MSC_WARNING(suppress : 26495) - FMT_CONSTEXPR buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {} - - FMT_CONSTEXPR20 buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept - : ptr_(p), size_(sz), capacity_(cap) {} - - FMT_CONSTEXPR20 ~buffer() = default; - buffer(buffer&&) = default; - - /** Sets the buffer data and capacity. */ - FMT_CONSTEXPR void set(T* buf_data, size_t buf_capacity) noexcept { - ptr_ = buf_data; - capacity_ = buf_capacity; - } - - /** Increases the buffer capacity to hold at least *capacity* elements. */ - // DEPRECATED! - virtual FMT_CONSTEXPR20 void grow(size_t capacity) = 0; - - public: - using value_type = T; - using const_reference = const T&; - - buffer(const buffer&) = delete; - void operator=(const buffer&) = delete; - - FMT_INLINE auto begin() noexcept -> T* { return ptr_; } - FMT_INLINE auto end() noexcept -> T* { return ptr_ + size_; } - - FMT_INLINE auto begin() const noexcept -> const T* { return ptr_; } - FMT_INLINE auto end() const noexcept -> const T* { return ptr_ + size_; } - - /** Returns the size of this buffer. */ - constexpr auto size() const noexcept -> size_t { return size_; } - - /** Returns the capacity of this buffer. */ - constexpr auto capacity() const noexcept -> size_t { return capacity_; } - - /** Returns a pointer to the buffer data (not null-terminated). */ - FMT_CONSTEXPR auto data() noexcept -> T* { return ptr_; } - FMT_CONSTEXPR auto data() const noexcept -> const T* { return ptr_; } - - /** Clears this buffer. */ - void clear() { size_ = 0; } - - // Tries resizing the buffer to contain *count* elements. If T is a POD type - // the new elements may not be initialized. - FMT_CONSTEXPR20 void try_resize(size_t count) { - try_reserve(count); - size_ = count <= capacity_ ? count : capacity_; - } - - // Tries increasing the buffer capacity to *new_capacity*. It can increase the - // capacity by a smaller amount than requested but guarantees there is space - // for at least one additional element either by increasing the capacity or by - // flushing the buffer if it is full. - FMT_CONSTEXPR20 void try_reserve(size_t new_capacity) { - if (new_capacity > capacity_) grow(new_capacity); - } - - FMT_CONSTEXPR20 void push_back(const T& value) { - try_reserve(size_ + 1); - ptr_[size_++] = value; - } - - /** Appends data to the end of the buffer. */ - template void append(const U* begin, const U* end); - - template FMT_CONSTEXPR auto operator[](Idx index) -> T& { - return ptr_[index]; - } - template - FMT_CONSTEXPR auto operator[](Idx index) const -> const T& { - return ptr_[index]; - } -}; - -struct buffer_traits { - explicit buffer_traits(size_t) {} - auto count() const -> size_t { return 0; } - auto limit(size_t size) -> size_t { return size; } -}; - -class fixed_buffer_traits { - private: - size_t count_ = 0; - size_t limit_; - - public: - explicit fixed_buffer_traits(size_t limit) : limit_(limit) {} - auto count() const -> size_t { return count_; } - auto limit(size_t size) -> size_t { - size_t n = limit_ > count_ ? limit_ - count_ : 0; - count_ += size; - return size < n ? size : n; - } -}; - -// A buffer that writes to an output iterator when flushed. -template -class iterator_buffer final : public Traits, public buffer { - private: - OutputIt out_; - enum { buffer_size = 256 }; - T data_[buffer_size]; - - protected: - FMT_CONSTEXPR20 void grow(size_t) override { - if (this->size() == buffer_size) flush(); - } - - void flush() { - auto size = this->size(); - this->clear(); - out_ = copy_str(data_, data_ + this->limit(size), out_); - } - - public: - explicit iterator_buffer(OutputIt out, size_t n = buffer_size) - : Traits(n), buffer(data_, 0, buffer_size), out_(out) {} - iterator_buffer(iterator_buffer&& other) - : Traits(other), buffer(data_, 0, buffer_size), out_(other.out_) {} - ~iterator_buffer() { flush(); } - - auto out() -> OutputIt { - flush(); - return out_; - } - auto count() const -> size_t { return Traits::count() + this->size(); } -}; - -template -class iterator_buffer final - : public fixed_buffer_traits, - public buffer { - private: - T* out_; - enum { buffer_size = 256 }; - T data_[buffer_size]; - - protected: - FMT_CONSTEXPR20 void grow(size_t) override { - if (this->size() == this->capacity()) flush(); - } - - void flush() { - size_t n = this->limit(this->size()); - if (this->data() == out_) { - out_ += n; - this->set(data_, buffer_size); - } - this->clear(); - } - - public: - explicit iterator_buffer(T* out, size_t n = buffer_size) - : fixed_buffer_traits(n), buffer(out, 0, n), out_(out) {} - iterator_buffer(iterator_buffer&& other) - : fixed_buffer_traits(other), - buffer(std::move(other)), - out_(other.out_) { - if (this->data() != out_) { - this->set(data_, buffer_size); - this->clear(); - } - } - ~iterator_buffer() { flush(); } - - auto out() -> T* { - flush(); - return out_; - } - auto count() const -> size_t { - return fixed_buffer_traits::count() + this->size(); - } -}; - -template class iterator_buffer final : public buffer { - protected: - FMT_CONSTEXPR20 void grow(size_t) override {} - - public: - explicit iterator_buffer(T* out, size_t = 0) : buffer(out, 0, ~size_t()) {} - - auto out() -> T* { return &*this->end(); } -}; - -// A buffer that writes to a container with the contiguous storage. -template -class iterator_buffer, - enable_if_t::value, - typename Container::value_type>> - final : public buffer { - private: - Container& container_; - - protected: - FMT_CONSTEXPR20 void grow(size_t capacity) override { - container_.resize(capacity); - this->set(&container_[0], capacity); - } - - public: - explicit iterator_buffer(Container& c) - : buffer(c.size()), container_(c) {} - explicit iterator_buffer(std::back_insert_iterator out, size_t = 0) - : iterator_buffer(get_container(out)) {} - - auto out() -> std::back_insert_iterator { - return std::back_inserter(container_); - } -}; - -// A buffer that counts the number of code units written discarding the output. -template class counting_buffer final : public buffer { - private: - enum { buffer_size = 256 }; - T data_[buffer_size]; - size_t count_ = 0; - - protected: - FMT_CONSTEXPR20 void grow(size_t) override { - if (this->size() != buffer_size) return; - count_ += this->size(); - this->clear(); - } - - public: - counting_buffer() : buffer(data_, 0, buffer_size) {} - - auto count() -> size_t { return count_ + this->size(); } -}; -} // namespace detail - -template -FMT_CONSTEXPR void basic_format_parse_context::do_check_arg_id(int id) { - // Argument id is only checked at compile-time during parsing because - // formatting has its own validation. - if (detail::is_constant_evaluated() && - (!FMT_GCC_VERSION || FMT_GCC_VERSION >= 1200)) { - using context = detail::compile_parse_context; - if (id >= static_cast(this)->num_args()) - detail::throw_format_error("argument not found"); - } -} - -template -FMT_CONSTEXPR void basic_format_parse_context::check_dynamic_spec( - int arg_id) { - if (detail::is_constant_evaluated() && - (!FMT_GCC_VERSION || FMT_GCC_VERSION >= 1200)) { - using context = detail::compile_parse_context; - static_cast(this)->check_dynamic_spec(arg_id); - } -} - -FMT_EXPORT template class basic_format_arg; -FMT_EXPORT template class basic_format_args; -FMT_EXPORT template class dynamic_format_arg_store; - -// A formatter for objects of type T. -FMT_EXPORT -template -struct formatter { - // A deleted default constructor indicates a disabled formatter. - formatter() = delete; -}; - -// Specifies if T has an enabled formatter specialization. A type can be -// formattable even if it doesn't have a formatter e.g. via a conversion. -template -using has_formatter = - std::is_constructible>; - -// An output iterator that appends to a buffer. -// It is used to reduce symbol sizes for the common case. -class appender : public std::back_insert_iterator> { - using base = std::back_insert_iterator>; - - public: - using std::back_insert_iterator>::back_insert_iterator; - appender(base it) noexcept : base(it) {} - FMT_UNCHECKED_ITERATOR(appender); - - auto operator++() noexcept -> appender& { return *this; } - auto operator++(int) noexcept -> appender { return *this; } -}; - -namespace detail { - -template -constexpr auto has_const_formatter_impl(T*) - -> decltype(typename Context::template formatter_type().format( - std::declval(), std::declval()), - true) { - return true; -} -template -constexpr auto has_const_formatter_impl(...) -> bool { - return false; -} -template -constexpr auto has_const_formatter() -> bool { - return has_const_formatter_impl(static_cast(nullptr)); -} - -template -using buffer_appender = conditional_t::value, appender, - std::back_insert_iterator>>; - -// Maps an output iterator to a buffer. -template -auto get_buffer(OutputIt out) -> iterator_buffer { - return iterator_buffer(out); -} -template , Buf>::value)> -auto get_buffer(std::back_insert_iterator out) -> buffer& { - return get_container(out); -} - -template -FMT_INLINE auto get_iterator(Buf& buf, OutputIt) -> decltype(buf.out()) { - return buf.out(); -} -template -auto get_iterator(buffer&, OutputIt out) -> OutputIt { - return out; -} - -struct view {}; - -template struct named_arg : view { - const Char* name; - const T& value; - named_arg(const Char* n, const T& v) : name(n), value(v) {} -}; - -template struct named_arg_info { - const Char* name; - int id; -}; - -template -struct arg_data { - // args_[0].named_args points to named_args_ to avoid bloating format_args. - // +1 to workaround a bug in gcc 7.5 that causes duplicated-branches warning. - T args_[1 + (NUM_ARGS != 0 ? NUM_ARGS : +1)]; - named_arg_info named_args_[NUM_NAMED_ARGS]; - - template - arg_data(const U&... init) : args_{T(named_args_, NUM_NAMED_ARGS), init...} {} - arg_data(const arg_data& other) = delete; - auto args() const -> const T* { return args_ + 1; } - auto named_args() -> named_arg_info* { return named_args_; } -}; - -template -struct arg_data { - // +1 to workaround a bug in gcc 7.5 that causes duplicated-branches warning. - T args_[NUM_ARGS != 0 ? NUM_ARGS : +1]; - - template - FMT_CONSTEXPR FMT_INLINE arg_data(const U&... init) : args_{init...} {} - FMT_CONSTEXPR FMT_INLINE auto args() const -> const T* { return args_; } - FMT_CONSTEXPR FMT_INLINE auto named_args() -> std::nullptr_t { - return nullptr; - } -}; - -template -inline void init_named_args(named_arg_info*, int, int) {} - -template struct is_named_arg : std::false_type {}; -template struct is_statically_named_arg : std::false_type {}; - -template -struct is_named_arg> : std::true_type {}; - -template ::value)> -void init_named_args(named_arg_info* named_args, int arg_count, - int named_arg_count, const T&, const Tail&... args) { - init_named_args(named_args, arg_count + 1, named_arg_count, args...); -} - -template ::value)> -void init_named_args(named_arg_info* named_args, int arg_count, - int named_arg_count, const T& arg, const Tail&... args) { - named_args[named_arg_count++] = {arg.name, arg_count}; - init_named_args(named_args, arg_count + 1, named_arg_count, args...); -} - -template -FMT_CONSTEXPR FMT_INLINE void init_named_args(std::nullptr_t, int, int, - const Args&...) {} - -template constexpr auto count() -> size_t { return B ? 1 : 0; } -template constexpr auto count() -> size_t { - return (B1 ? 1 : 0) + count(); -} - -template constexpr auto count_named_args() -> size_t { - return count::value...>(); -} - -template -constexpr auto count_statically_named_args() -> size_t { - return count::value...>(); -} - -struct unformattable {}; -struct unformattable_char : unformattable {}; -struct unformattable_pointer : unformattable {}; - -template struct string_value { - const Char* data; - size_t size; -}; - -template struct named_arg_value { - const named_arg_info* data; - size_t size; -}; - -template struct custom_value { - using parse_context = typename Context::parse_context_type; - void* value; - void (*format)(void* arg, parse_context& parse_ctx, Context& ctx); -}; - -// A formatting argument value. -template class value { - public: - using char_type = typename Context::char_type; - - union { - monostate no_value; - int int_value; - unsigned uint_value; - long long long_long_value; - unsigned long long ulong_long_value; - int128_opt int128_value; - uint128_opt uint128_value; - bool bool_value; - char_type char_value; - float float_value; - double double_value; - long double long_double_value; - const void* pointer; - string_value string; - custom_value custom; - named_arg_value named_args; - }; - - constexpr FMT_INLINE value() : no_value() {} - constexpr FMT_INLINE value(int val) : int_value(val) {} - constexpr FMT_INLINE value(unsigned val) : uint_value(val) {} - constexpr FMT_INLINE value(long long val) : long_long_value(val) {} - constexpr FMT_INLINE value(unsigned long long val) : ulong_long_value(val) {} - FMT_INLINE value(int128_opt val) : int128_value(val) {} - FMT_INLINE value(uint128_opt val) : uint128_value(val) {} - constexpr FMT_INLINE value(float val) : float_value(val) {} - constexpr FMT_INLINE value(double val) : double_value(val) {} - FMT_INLINE value(long double val) : long_double_value(val) {} - constexpr FMT_INLINE value(bool val) : bool_value(val) {} - constexpr FMT_INLINE value(char_type val) : char_value(val) {} - FMT_CONSTEXPR FMT_INLINE value(const char_type* val) { - string.data = val; - if (is_constant_evaluated()) string.size = {}; - } - FMT_CONSTEXPR FMT_INLINE value(basic_string_view val) { - string.data = val.data(); - string.size = val.size(); - } - FMT_INLINE value(const void* val) : pointer(val) {} - FMT_INLINE value(const named_arg_info* args, size_t size) - : named_args{args, size} {} - - template FMT_CONSTEXPR20 FMT_INLINE value(T& val) { - using value_type = remove_const_t; - custom.value = const_cast(std::addressof(val)); - // Get the formatter type through the context to allow different contexts - // have different extension points, e.g. `formatter` for `format` and - // `printf_formatter` for `printf`. - custom.format = format_custom_arg< - value_type, typename Context::template formatter_type>; - } - value(unformattable); - value(unformattable_char); - value(unformattable_pointer); - - private: - // Formats an argument of a custom type, such as a user-defined class. - template - static void format_custom_arg(void* arg, - typename Context::parse_context_type& parse_ctx, - Context& ctx) { - auto f = Formatter(); - parse_ctx.advance_to(f.parse(parse_ctx)); - using qualified_type = - conditional_t(), const T, T>; - // Calling format through a mutable reference is deprecated. - ctx.advance_to(f.format(*static_cast(arg), ctx)); - } -}; - -// To minimize the number of types we need to deal with, long is translated -// either to int or to long long depending on its size. -enum { long_short = sizeof(long) == sizeof(int) }; -using long_type = conditional_t; -using ulong_type = conditional_t; - -template struct format_as_result { - template ::value || std::is_class::value)> - static auto map(U*) -> remove_cvref_t()))>; - static auto map(...) -> void; - - using type = decltype(map(static_cast(nullptr))); -}; -template using format_as_t = typename format_as_result::type; - -template -struct has_format_as - : bool_constant, void>::value> {}; - -// Maps formatting arguments to core types. -// arg_mapper reports errors by returning unformattable instead of using -// static_assert because it's used in the is_formattable trait. -template struct arg_mapper { - using char_type = typename Context::char_type; - - FMT_CONSTEXPR FMT_INLINE auto map(signed char val) -> int { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned char val) -> unsigned { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(short val) -> int { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned short val) -> unsigned { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(int val) -> int { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned val) -> unsigned { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(long val) -> long_type { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned long val) -> ulong_type { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(long long val) -> long long { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned long long val) - -> unsigned long long { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(int128_opt val) -> int128_opt { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(uint128_opt val) -> uint128_opt { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(bool val) -> bool { return val; } - - template ::value || - std::is_same::value)> - FMT_CONSTEXPR FMT_INLINE auto map(T val) -> char_type { - return val; - } - template ::value || -#ifdef __cpp_char8_t - std::is_same::value || -#endif - std::is_same::value || - std::is_same::value) && - !std::is_same::value, - int> = 0> - FMT_CONSTEXPR FMT_INLINE auto map(T) -> unformattable_char { - return {}; - } - - FMT_CONSTEXPR FMT_INLINE auto map(float val) -> float { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(double val) -> double { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(long double val) -> long double { - return val; - } - - FMT_CONSTEXPR FMT_INLINE auto map(char_type* val) -> const char_type* { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(const char_type* val) -> const char_type* { - return val; - } - template ::value && !std::is_pointer::value && - std::is_same>::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> basic_string_view { - return to_string_view(val); - } - template ::value && !std::is_pointer::value && - !std::is_same>::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T&) -> unformattable_char { - return {}; - } - - FMT_CONSTEXPR FMT_INLINE auto map(void* val) -> const void* { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(const void* val) -> const void* { - return val; - } - FMT_CONSTEXPR FMT_INLINE auto map(std::nullptr_t val) -> const void* { - return val; - } - - // Use SFINAE instead of a const T* parameter to avoid a conflict with the - // array overload. - template < - typename T, - FMT_ENABLE_IF( - std::is_pointer::value || std::is_member_pointer::value || - std::is_function::type>::value || - (std::is_array::value && - !std::is_convertible::value))> - FMT_CONSTEXPR auto map(const T&) -> unformattable_pointer { - return {}; - } - - template ::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T (&values)[N]) -> const T (&)[N] { - return values; - } - - // Only map owning types because mapping views can be unsafe. - template , - FMT_ENABLE_IF(std::is_arithmetic::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> decltype(FMT_DECLTYPE_THIS map(U())) { - return map(format_as(val)); - } - - template > - struct formattable : bool_constant() || - (has_formatter::value && - !std::is_const::value)> {}; - - template ::value)> - FMT_CONSTEXPR FMT_INLINE auto do_map(T& val) -> T& { - return val; - } - template ::value)> - FMT_CONSTEXPR FMT_INLINE auto do_map(T&) -> unformattable { - return {}; - } - - template , - FMT_ENABLE_IF((std::is_class::value || std::is_enum::value || - std::is_union::value) && - !is_string::value && !is_char::value && - !is_named_arg::value && - !std::is_arithmetic>::value)> - FMT_CONSTEXPR FMT_INLINE auto map(T& val) - -> decltype(FMT_DECLTYPE_THIS do_map(val)) { - return do_map(val); - } - - template ::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& named_arg) - -> decltype(FMT_DECLTYPE_THIS map(named_arg.value)) { - return map(named_arg.value); - } - - auto map(...) -> unformattable { return {}; } -}; - -// A type constant after applying arg_mapper. -template -using mapped_type_constant = - type_constant().map(std::declval())), - typename Context::char_type>; - -enum { packed_arg_bits = 4 }; -// Maximum number of arguments with packed types. -enum { max_packed_args = 62 / packed_arg_bits }; -enum : unsigned long long { is_unpacked_bit = 1ULL << 63 }; -enum : unsigned long long { has_named_args_bit = 1ULL << 62 }; - -template -auto copy_str(InputIt begin, InputIt end, appender out) -> appender { - get_container(out).append(begin, end); - return out; -} -template -auto copy_str(InputIt begin, InputIt end, - std::back_insert_iterator out) - -> std::back_insert_iterator { - get_container(out).append(begin, end); - return out; -} - -template -FMT_CONSTEXPR auto copy_str(R&& rng, OutputIt out) -> OutputIt { - return detail::copy_str(rng.begin(), rng.end(), out); -} - -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 500 -// A workaround for gcc 4.8 to make void_t work in a SFINAE context. -template struct void_t_impl { - using type = void; -}; -template using void_t = typename void_t_impl::type; -#else -template using void_t = void; -#endif - -template -struct is_output_iterator : std::false_type {}; - -template -struct is_output_iterator< - It, T, - void_t::iterator_category, - decltype(*std::declval() = std::declval())>> - : std::true_type {}; - -template struct is_back_insert_iterator : std::false_type {}; -template -struct is_back_insert_iterator> - : std::true_type {}; - -// A type-erased reference to an std::locale to avoid a heavy include. -class locale_ref { - private: - const void* locale_; // A type-erased pointer to std::locale. - - public: - constexpr FMT_INLINE locale_ref() : locale_(nullptr) {} - template explicit locale_ref(const Locale& loc); - - explicit operator bool() const noexcept { return locale_ != nullptr; } - - template auto get() const -> Locale; -}; - -template constexpr auto encode_types() -> unsigned long long { - return 0; -} - -template -constexpr auto encode_types() -> unsigned long long { - return static_cast(mapped_type_constant::value) | - (encode_types() << packed_arg_bits); -} - -#if defined(__cpp_if_constexpr) -// This type is intentionally undefined, only used for errors -template struct type_is_unformattable_for; -#endif - -template -FMT_CONSTEXPR FMT_INLINE auto make_arg(T& val) -> value { - using arg_type = remove_cvref_t().map(val))>; - - constexpr bool formattable_char = - !std::is_same::value; - static_assert(formattable_char, "Mixing character types is disallowed."); - - // Formatting of arbitrary pointers is disallowed. If you want to format a - // pointer cast it to `void*` or `const void*`. In particular, this forbids - // formatting of `[const] volatile char*` printed as bool by iostreams. - constexpr bool formattable_pointer = - !std::is_same::value; - static_assert(formattable_pointer, - "Formatting of non-void pointers is disallowed."); - - constexpr bool formattable = !std::is_same::value; -#if defined(__cpp_if_constexpr) - if constexpr (!formattable) { - type_is_unformattable_for _; - } -#endif - static_assert( - formattable, - "Cannot format an argument. To make type T formattable provide a " - "formatter specialization: https://fmt.dev/latest/api.html#udt"); - return {arg_mapper().map(val)}; -} - -template -FMT_CONSTEXPR auto make_arg(T& val) -> basic_format_arg { - auto arg = basic_format_arg(); - arg.type_ = mapped_type_constant::value; - arg.value_ = make_arg(val); - return arg; -} - -template -FMT_CONSTEXPR inline auto make_arg(T& val) -> basic_format_arg { - return make_arg(val); -} -} // namespace detail -FMT_BEGIN_EXPORT - -// A formatting argument. Context is a template parameter for the compiled API -// where output can be unbuffered. -template class basic_format_arg { - private: - detail::value value_; - detail::type type_; - - template - friend FMT_CONSTEXPR auto detail::make_arg(T& value) - -> basic_format_arg; - - template - friend FMT_CONSTEXPR auto visit_format_arg(Visitor&& vis, - const basic_format_arg& arg) - -> decltype(vis(0)); - - friend class basic_format_args; - friend class dynamic_format_arg_store; - - using char_type = typename Context::char_type; - - template - friend struct detail::arg_data; - - basic_format_arg(const detail::named_arg_info* args, size_t size) - : value_(args, size) {} - - public: - class handle { - public: - explicit handle(detail::custom_value custom) : custom_(custom) {} - - void format(typename Context::parse_context_type& parse_ctx, - Context& ctx) const { - custom_.format(custom_.value, parse_ctx, ctx); - } - - private: - detail::custom_value custom_; - }; - - constexpr basic_format_arg() : type_(detail::type::none_type) {} - - constexpr explicit operator bool() const noexcept { - return type_ != detail::type::none_type; - } - - auto type() const -> detail::type { return type_; } - - auto is_integral() const -> bool { return detail::is_integral_type(type_); } - auto is_arithmetic() const -> bool { - return detail::is_arithmetic_type(type_); - } - - FMT_INLINE auto format_custom(const char_type* parse_begin, - typename Context::parse_context_type& parse_ctx, - Context& ctx) -> bool { - if (type_ != detail::type::custom_type) return false; - parse_ctx.advance_to(parse_begin); - value_.custom.format(value_.custom.value, parse_ctx, ctx); - return true; - } -}; - -/** - \rst - Visits an argument dispatching to the appropriate visit method based on - the argument type. For example, if the argument type is ``double`` then - ``vis(value)`` will be called with the value of type ``double``. - \endrst - */ -// DEPRECATED! -template -FMT_CONSTEXPR FMT_INLINE auto visit_format_arg( - Visitor&& vis, const basic_format_arg& arg) -> decltype(vis(0)) { - switch (arg.type_) { - case detail::type::none_type: - break; - case detail::type::int_type: - return vis(arg.value_.int_value); - case detail::type::uint_type: - return vis(arg.value_.uint_value); - case detail::type::long_long_type: - return vis(arg.value_.long_long_value); - case detail::type::ulong_long_type: - return vis(arg.value_.ulong_long_value); - case detail::type::int128_type: - return vis(detail::convert_for_visit(arg.value_.int128_value)); - case detail::type::uint128_type: - return vis(detail::convert_for_visit(arg.value_.uint128_value)); - case detail::type::bool_type: - return vis(arg.value_.bool_value); - case detail::type::char_type: - return vis(arg.value_.char_value); - case detail::type::float_type: - return vis(arg.value_.float_value); - case detail::type::double_type: - return vis(arg.value_.double_value); - case detail::type::long_double_type: - return vis(arg.value_.long_double_value); - case detail::type::cstring_type: - return vis(arg.value_.string.data); - case detail::type::string_type: - using sv = basic_string_view; - return vis(sv(arg.value_.string.data, arg.value_.string.size)); - case detail::type::pointer_type: - return vis(arg.value_.pointer); - case detail::type::custom_type: - return vis(typename basic_format_arg::handle(arg.value_.custom)); - } - return vis(monostate()); -} - -// Formatting context. -template class basic_format_context { - private: - OutputIt out_; - basic_format_args args_; - detail::locale_ref loc_; - - public: - using iterator = OutputIt; - using format_arg = basic_format_arg; - using format_args = basic_format_args; - using parse_context_type = basic_format_parse_context; - template using formatter_type = formatter; - - /** The character type for the output. */ - using char_type = Char; - - basic_format_context(basic_format_context&&) = default; - basic_format_context(const basic_format_context&) = delete; - void operator=(const basic_format_context&) = delete; - /** - Constructs a ``basic_format_context`` object. References to the arguments - are stored in the object so make sure they have appropriate lifetimes. - */ - constexpr basic_format_context(OutputIt out, format_args ctx_args, - detail::locale_ref loc = {}) - : out_(out), args_(ctx_args), loc_(loc) {} - - constexpr auto arg(int id) const -> format_arg { return args_.get(id); } - FMT_CONSTEXPR auto arg(basic_string_view name) -> format_arg { - return args_.get(name); - } - FMT_CONSTEXPR auto arg_id(basic_string_view name) -> int { - return args_.get_id(name); - } - auto args() const -> const format_args& { return args_; } - - // DEPRECATED! - FMT_CONSTEXPR auto error_handler() -> detail::error_handler { return {}; } - void on_error(const char* message) { error_handler().on_error(message); } - - // Returns an iterator to the beginning of the output range. - FMT_CONSTEXPR auto out() -> iterator { return out_; } - - // Advances the begin iterator to ``it``. - void advance_to(iterator it) { - if (!detail::is_back_insert_iterator()) out_ = it; - } - - FMT_CONSTEXPR auto locale() -> detail::locale_ref { return loc_; } -}; - -template -using buffer_context = - basic_format_context, Char>; -using format_context = buffer_context; - -template -using is_formattable = bool_constant>() - .map(std::declval()))>::value>; - -/** - \rst - An array of references to arguments. It can be implicitly converted into - `~fmt::basic_format_args` for passing into type-erased formatting functions - such as `~fmt::vformat`. - \endrst - */ -template -class format_arg_store -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 - // Workaround a GCC template argument substitution bug. - : public basic_format_args -#endif -{ - private: - static const size_t num_args = sizeof...(Args); - static constexpr size_t num_named_args = detail::count_named_args(); - static const bool is_packed = num_args <= detail::max_packed_args; - - using value_type = conditional_t, - basic_format_arg>; - - detail::arg_data - data_; - - friend class basic_format_args; - - static constexpr unsigned long long desc = - (is_packed ? detail::encode_types() - : detail::is_unpacked_bit | num_args) | - (num_named_args != 0 - ? static_cast(detail::has_named_args_bit) - : 0); - - public: - template - FMT_CONSTEXPR FMT_INLINE format_arg_store(T&... args) - : -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 - basic_format_args(*this), -#endif - data_{detail::make_arg(args)...} { - if (detail::const_check(num_named_args != 0)) - detail::init_named_args(data_.named_args(), 0, 0, args...); - } -}; - -/** - \rst - Constructs a `~fmt::format_arg_store` object that contains references to - arguments and can be implicitly converted to `~fmt::format_args`. `Context` - can be omitted in which case it defaults to `~fmt::format_context`. - See `~fmt::arg` for lifetime considerations. - \endrst - */ -// Arguments are taken by lvalue references to avoid some lifetime issues. -template -constexpr auto make_format_args(T&... args) - -> format_arg_store...> { - return {args...}; -} - -/** - \rst - Returns a named argument to be used in a formatting function. - It should only be used in a call to a formatting function or - `dynamic_format_arg_store::push_back`. - - **Example**:: - - fmt::print("Elapsed time: {s:.2f} seconds", fmt::arg("s", 1.23)); - \endrst - */ -template -inline auto arg(const Char* name, const T& arg) -> detail::named_arg { - static_assert(!detail::is_named_arg(), "nested named arguments"); - return {name, arg}; -} -FMT_END_EXPORT - -/** - \rst - A view of a collection of formatting arguments. To avoid lifetime issues it - should only be used as a parameter type in type-erased functions such as - ``vformat``:: - - void vlog(string_view format_str, format_args args); // OK - format_args args = make_format_args(); // Error: dangling reference - \endrst - */ -template class basic_format_args { - public: - using size_type = int; - using format_arg = basic_format_arg; - - private: - // A descriptor that contains information about formatting arguments. - // If the number of arguments is less or equal to max_packed_args then - // argument types are passed in the descriptor. This reduces binary code size - // per formatting function call. - unsigned long long desc_; - union { - // If is_packed() returns true then argument values are stored in values_; - // otherwise they are stored in args_. This is done to improve cache - // locality and reduce compiled code size since storing larger objects - // may require more code (at least on x86-64) even if the same amount of - // data is actually copied to stack. It saves ~10% on the bloat test. - const detail::value* values_; - const format_arg* args_; - }; - - constexpr auto is_packed() const -> bool { - return (desc_ & detail::is_unpacked_bit) == 0; - } - auto has_named_args() const -> bool { - return (desc_ & detail::has_named_args_bit) != 0; - } - - FMT_CONSTEXPR auto type(int index) const -> detail::type { - int shift = index * detail::packed_arg_bits; - unsigned int mask = (1 << detail::packed_arg_bits) - 1; - return static_cast((desc_ >> shift) & mask); - } - - constexpr FMT_INLINE basic_format_args(unsigned long long desc, - const detail::value* values) - : desc_(desc), values_(values) {} - constexpr basic_format_args(unsigned long long desc, const format_arg* args) - : desc_(desc), args_(args) {} - - public: - constexpr basic_format_args() : desc_(0), args_(nullptr) {} - - /** - \rst - Constructs a `basic_format_args` object from `~fmt::format_arg_store`. - \endrst - */ - template - constexpr FMT_INLINE basic_format_args( - const format_arg_store& store) - : basic_format_args(format_arg_store::desc, - store.data_.args()) {} - - /** - \rst - Constructs a `basic_format_args` object from - `~fmt::dynamic_format_arg_store`. - \endrst - */ - constexpr FMT_INLINE basic_format_args( - const dynamic_format_arg_store& store) - : basic_format_args(store.get_types(), store.data()) {} - - /** - \rst - Constructs a `basic_format_args` object from a dynamic set of arguments. - \endrst - */ - constexpr basic_format_args(const format_arg* args, int count) - : basic_format_args(detail::is_unpacked_bit | detail::to_unsigned(count), - args) {} - - /** Returns the argument with the specified id. */ - FMT_CONSTEXPR auto get(int id) const -> format_arg { - format_arg arg; - if (!is_packed()) { - if (id < max_size()) arg = args_[id]; - return arg; - } - if (id >= detail::max_packed_args) return arg; - arg.type_ = type(id); - if (arg.type_ == detail::type::none_type) return arg; - arg.value_ = values_[id]; - return arg; - } - - template - auto get(basic_string_view name) const -> format_arg { - int id = get_id(name); - return id >= 0 ? get(id) : format_arg(); - } - - template - auto get_id(basic_string_view name) const -> int { - if (!has_named_args()) return -1; - const auto& named_args = - (is_packed() ? values_[-1] : args_[-1].value_).named_args; - for (size_t i = 0; i < named_args.size; ++i) { - if (named_args.data[i].name == name) return named_args.data[i].id; - } - return -1; - } - - auto max_size() const -> int { - unsigned long long max_packed = detail::max_packed_args; - return static_cast(is_packed() ? max_packed - : desc_ & ~detail::is_unpacked_bit); - } -}; - -/** An alias to ``basic_format_args``. */ -// A separate type would result in shorter symbols but break ABI compatibility -// between clang and gcc on ARM (#1919). -FMT_EXPORT using format_args = basic_format_args; - -// We cannot use enum classes as bit fields because of a gcc bug, so we put them -// in namespaces instead (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414). -// Additionally, if an underlying type is specified, older gcc incorrectly warns -// that the type is too small. Both bugs are fixed in gcc 9.3. -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 903 -# define FMT_ENUM_UNDERLYING_TYPE(type) -#else -# define FMT_ENUM_UNDERLYING_TYPE(type) : type -#endif -namespace align { -enum type FMT_ENUM_UNDERLYING_TYPE(unsigned char){none, left, right, center, - numeric}; -} -using align_t = align::type; -namespace sign { -enum type FMT_ENUM_UNDERLYING_TYPE(unsigned char){none, minus, plus, space}; -} -using sign_t = sign::type; - -namespace detail { - -// Workaround an array initialization issue in gcc 4.8. -template struct fill_t { - private: - enum { max_size = 4 }; - Char data_[max_size] = {Char(' '), Char(0), Char(0), Char(0)}; - unsigned char size_ = 1; - - public: - FMT_CONSTEXPR void operator=(basic_string_view s) { - auto size = s.size(); - FMT_ASSERT(size <= max_size, "invalid fill"); - for (size_t i = 0; i < size; ++i) data_[i] = s[i]; - size_ = static_cast(size); - } - - constexpr auto size() const -> size_t { return size_; } - constexpr auto data() const -> const Char* { return data_; } - - FMT_CONSTEXPR auto operator[](size_t index) -> Char& { return data_[index]; } - FMT_CONSTEXPR auto operator[](size_t index) const -> const Char& { - return data_[index]; - } -}; -} // namespace detail - -enum class presentation_type : unsigned char { - none, - dec, // 'd' - oct, // 'o' - hex_lower, // 'x' - hex_upper, // 'X' - bin_lower, // 'b' - bin_upper, // 'B' - hexfloat_lower, // 'a' - hexfloat_upper, // 'A' - exp_lower, // 'e' - exp_upper, // 'E' - fixed_lower, // 'f' - fixed_upper, // 'F' - general_lower, // 'g' - general_upper, // 'G' - chr, // 'c' - string, // 's' - pointer, // 'p' - debug // '?' -}; - -// Format specifiers for built-in and string types. -template struct format_specs { - int width; - int precision; - presentation_type type; - align_t align : 4; - sign_t sign : 3; - bool alt : 1; // Alternate form ('#'). - bool localized : 1; - detail::fill_t fill; - - constexpr format_specs() - : width(0), - precision(-1), - type(presentation_type::none), - align(align::none), - sign(sign::none), - alt(false), - localized(false) {} -}; - -namespace detail { - -enum class arg_id_kind { none, index, name }; - -// An argument reference. -template struct arg_ref { - FMT_CONSTEXPR arg_ref() : kind(arg_id_kind::none), val() {} - - FMT_CONSTEXPR explicit arg_ref(int index) - : kind(arg_id_kind::index), val(index) {} - FMT_CONSTEXPR explicit arg_ref(basic_string_view name) - : kind(arg_id_kind::name), val(name) {} - - FMT_CONSTEXPR auto operator=(int idx) -> arg_ref& { - kind = arg_id_kind::index; - val.index = idx; - return *this; - } - - arg_id_kind kind; - union value { - FMT_CONSTEXPR value(int idx = 0) : index(idx) {} - FMT_CONSTEXPR value(basic_string_view n) : name(n) {} - - int index; - basic_string_view name; - } val; -}; - -// Format specifiers with width and precision resolved at formatting rather -// than parsing time to allow reusing the same parsed specifiers with -// different sets of arguments (precompilation of format strings). -template -struct dynamic_format_specs : format_specs { - arg_ref width_ref; - arg_ref precision_ref; -}; - -// Converts a character to ASCII. Returns '\0' on conversion failure. -template ::value)> -constexpr auto to_ascii(Char c) -> char { - return c <= 0xff ? static_cast(c) : '\0'; -} -template ::value)> -constexpr auto to_ascii(Char c) -> char { - return c <= 0xff ? static_cast(c) : '\0'; -} - -// Returns the number of code units in a code point or 1 on error. -template -FMT_CONSTEXPR auto code_point_length(const Char* begin) -> int { - if (const_check(sizeof(Char) != 1)) return 1; - auto c = static_cast(*begin); - return static_cast((0x3a55000000000000ull >> (2 * (c >> 3))) & 0x3) + 1; -} - -// Return the result via the out param to workaround gcc bug 77539. -template -FMT_CONSTEXPR auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool { - for (out = first; out != last; ++out) { - if (*out == value) return true; - } - return false; -} - -template <> -inline auto find(const char* first, const char* last, char value, - const char*& out) -> bool { - out = static_cast( - std::memchr(first, value, to_unsigned(last - first))); - return out != nullptr; -} - -// Parses the range [begin, end) as an unsigned integer. This function assumes -// that the range is non-empty and the first character is a digit. -template -FMT_CONSTEXPR auto parse_nonnegative_int(const Char*& begin, const Char* end, - int error_value) noexcept -> int { - FMT_ASSERT(begin != end && '0' <= *begin && *begin <= '9', ""); - unsigned value = 0, prev = 0; - auto p = begin; - do { - prev = value; - value = value * 10 + unsigned(*p - '0'); - ++p; - } while (p != end && '0' <= *p && *p <= '9'); - auto num_digits = p - begin; - begin = p; - if (num_digits <= std::numeric_limits::digits10) - return static_cast(value); - // Check for overflow. - const unsigned max = to_unsigned((std::numeric_limits::max)()); - return num_digits == std::numeric_limits::digits10 + 1 && - prev * 10ull + unsigned(p[-1] - '0') <= max - ? static_cast(value) - : error_value; -} - -FMT_CONSTEXPR inline auto parse_align(char c) -> align_t { - switch (c) { - case '<': - return align::left; - case '>': - return align::right; - case '^': - return align::center; - } - return align::none; -} - -template constexpr auto is_name_start(Char c) -> bool { - return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '_'; -} - -template -FMT_CONSTEXPR auto do_parse_arg_id(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - Char c = *begin; - if (c >= '0' && c <= '9') { - int index = 0; - constexpr int max = (std::numeric_limits::max)(); - if (c != '0') - index = parse_nonnegative_int(begin, end, max); - else - ++begin; - if (begin == end || (*begin != '}' && *begin != ':')) - throw_format_error("invalid format string"); - else - handler.on_index(index); - return begin; - } - if (!is_name_start(c)) { - throw_format_error("invalid format string"); - return begin; - } - auto it = begin; - do { - ++it; - } while (it != end && (is_name_start(*it) || ('0' <= *it && *it <= '9'))); - handler.on_name({begin, to_unsigned(it - begin)}); - return it; -} - -template -FMT_CONSTEXPR FMT_INLINE auto parse_arg_id(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - FMT_ASSERT(begin != end, ""); - Char c = *begin; - if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler); - handler.on_auto(); - return begin; -} - -template struct dynamic_spec_id_handler { - basic_format_parse_context& ctx; - arg_ref& ref; - - FMT_CONSTEXPR void on_auto() { - int id = ctx.next_arg_id(); - ref = arg_ref(id); - ctx.check_dynamic_spec(id); - } - FMT_CONSTEXPR void on_index(int id) { - ref = arg_ref(id); - ctx.check_arg_id(id); - ctx.check_dynamic_spec(id); - } - FMT_CONSTEXPR void on_name(basic_string_view id) { - ref = arg_ref(id); - ctx.check_arg_id(id); - } -}; - -// Parses [integer | "{" [arg_id] "}"]. -template -FMT_CONSTEXPR auto parse_dynamic_spec(const Char* begin, const Char* end, - int& value, arg_ref& ref, - basic_format_parse_context& ctx) - -> const Char* { - FMT_ASSERT(begin != end, ""); - if ('0' <= *begin && *begin <= '9') { - int val = parse_nonnegative_int(begin, end, -1); - if (val != -1) - value = val; - else - throw_format_error("number is too big"); - } else if (*begin == '{') { - ++begin; - auto handler = dynamic_spec_id_handler{ctx, ref}; - if (begin != end) begin = parse_arg_id(begin, end, handler); - if (begin != end && *begin == '}') return ++begin; - throw_format_error("invalid format string"); - } - return begin; -} - -template -FMT_CONSTEXPR auto parse_precision(const Char* begin, const Char* end, - int& value, arg_ref& ref, - basic_format_parse_context& ctx) - -> const Char* { - ++begin; - if (begin == end || *begin == '}') { - throw_format_error("invalid precision"); - return begin; - } - return parse_dynamic_spec(begin, end, value, ref, ctx); -} - -enum class state { start, align, sign, hash, zero, width, precision, locale }; - -// Parses standard format specifiers. -template -FMT_CONSTEXPR FMT_INLINE auto parse_format_specs( - const Char* begin, const Char* end, dynamic_format_specs& specs, - basic_format_parse_context& ctx, type arg_type) -> const Char* { - auto c = '\0'; - if (end - begin > 1) { - auto next = to_ascii(begin[1]); - c = parse_align(next) == align::none ? to_ascii(*begin) : '\0'; - } else { - if (begin == end) return begin; - c = to_ascii(*begin); - } - - struct { - state current_state = state::start; - FMT_CONSTEXPR void operator()(state s, bool valid = true) { - if (current_state >= s || !valid) - throw_format_error("invalid format specifier"); - current_state = s; - } - } enter_state; - - using pres = presentation_type; - constexpr auto integral_set = sint_set | uint_set | bool_set | char_set; - struct { - const Char*& begin; - dynamic_format_specs& specs; - type arg_type; - - FMT_CONSTEXPR auto operator()(pres pres_type, int set) -> const Char* { - if (!in(arg_type, set)) { - if (arg_type == type::none_type) return begin; - throw_format_error("invalid format specifier"); - } - specs.type = pres_type; - return begin + 1; - } - } parse_presentation_type{begin, specs, arg_type}; - - for (;;) { - switch (c) { - case '<': - case '>': - case '^': - enter_state(state::align); - specs.align = parse_align(c); - ++begin; - break; - case '+': - case '-': - case ' ': - if (arg_type == type::none_type) return begin; - enter_state(state::sign, in(arg_type, sint_set | float_set)); - switch (c) { - case '+': - specs.sign = sign::plus; - break; - case '-': - specs.sign = sign::minus; - break; - case ' ': - specs.sign = sign::space; - break; - } - ++begin; - break; - case '#': - if (arg_type == type::none_type) return begin; - enter_state(state::hash, is_arithmetic_type(arg_type)); - specs.alt = true; - ++begin; - break; - case '0': - enter_state(state::zero); - if (!is_arithmetic_type(arg_type)) { - if (arg_type == type::none_type) return begin; - throw_format_error("format specifier requires numeric argument"); - } - if (specs.align == align::none) { - // Ignore 0 if align is specified for compatibility with std::format. - specs.align = align::numeric; - specs.fill[0] = Char('0'); - } - ++begin; - break; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '{': - enter_state(state::width); - begin = parse_dynamic_spec(begin, end, specs.width, specs.width_ref, ctx); - break; - case '.': - if (arg_type == type::none_type) return begin; - enter_state(state::precision, - in(arg_type, float_set | string_set | cstring_set)); - begin = parse_precision(begin, end, specs.precision, specs.precision_ref, - ctx); - break; - case 'L': - if (arg_type == type::none_type) return begin; - enter_state(state::locale, is_arithmetic_type(arg_type)); - specs.localized = true; - ++begin; - break; - case 'd': - return parse_presentation_type(pres::dec, integral_set); - case 'o': - return parse_presentation_type(pres::oct, integral_set); - case 'x': - return parse_presentation_type(pres::hex_lower, integral_set); - case 'X': - return parse_presentation_type(pres::hex_upper, integral_set); - case 'b': - return parse_presentation_type(pres::bin_lower, integral_set); - case 'B': - return parse_presentation_type(pres::bin_upper, integral_set); - case 'a': - return parse_presentation_type(pres::hexfloat_lower, float_set); - case 'A': - return parse_presentation_type(pres::hexfloat_upper, float_set); - case 'e': - return parse_presentation_type(pres::exp_lower, float_set); - case 'E': - return parse_presentation_type(pres::exp_upper, float_set); - case 'f': - return parse_presentation_type(pres::fixed_lower, float_set); - case 'F': - return parse_presentation_type(pres::fixed_upper, float_set); - case 'g': - return parse_presentation_type(pres::general_lower, float_set); - case 'G': - return parse_presentation_type(pres::general_upper, float_set); - case 'c': - if (arg_type == type::bool_type) - throw_format_error("invalid format specifier"); - return parse_presentation_type(pres::chr, integral_set); - case 's': - return parse_presentation_type(pres::string, - bool_set | string_set | cstring_set); - case 'p': - return parse_presentation_type(pres::pointer, pointer_set | cstring_set); - case '?': - return parse_presentation_type(pres::debug, - char_set | string_set | cstring_set); - case '}': - return begin; - default: { - if (*begin == '}') return begin; - // Parse fill and alignment. - auto fill_end = begin + code_point_length(begin); - if (end - fill_end <= 0) { - throw_format_error("invalid format specifier"); - return begin; - } - if (*begin == '{') { - throw_format_error("invalid fill character '{'"); - return begin; - } - auto align = parse_align(to_ascii(*fill_end)); - enter_state(state::align, align != align::none); - specs.fill = {begin, to_unsigned(fill_end - begin)}; - specs.align = align; - begin = fill_end + 1; - } - } - if (begin == end) return begin; - c = to_ascii(*begin); - } -} - -template -FMT_CONSTEXPR auto parse_replacement_field(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - struct id_adapter { - Handler& handler; - int arg_id; - - FMT_CONSTEXPR void on_auto() { arg_id = handler.on_arg_id(); } - FMT_CONSTEXPR void on_index(int id) { arg_id = handler.on_arg_id(id); } - FMT_CONSTEXPR void on_name(basic_string_view id) { - arg_id = handler.on_arg_id(id); - } - }; - - ++begin; - if (begin == end) return handler.on_error("invalid format string"), end; - if (*begin == '}') { - handler.on_replacement_field(handler.on_arg_id(), begin); - } else if (*begin == '{') { - handler.on_text(begin, begin + 1); - } else { - auto adapter = id_adapter{handler, 0}; - begin = parse_arg_id(begin, end, adapter); - Char c = begin != end ? *begin : Char(); - if (c == '}') { - handler.on_replacement_field(adapter.arg_id, begin); - } else if (c == ':') { - begin = handler.on_format_specs(adapter.arg_id, begin + 1, end); - if (begin == end || *begin != '}') - return handler.on_error("unknown format specifier"), end; - } else { - return handler.on_error("missing '}' in format string"), end; - } - } - return begin + 1; -} - -template -FMT_CONSTEXPR FMT_INLINE void parse_format_string( - basic_string_view format_str, Handler&& handler) { - auto begin = format_str.data(); - auto end = begin + format_str.size(); - if (end - begin < 32) { - // Use a simple loop instead of memchr for small strings. - const Char* p = begin; - while (p != end) { - auto c = *p++; - if (c == '{') { - handler.on_text(begin, p - 1); - begin = p = parse_replacement_field(p - 1, end, handler); - } else if (c == '}') { - if (p == end || *p != '}') - return handler.on_error("unmatched '}' in format string"); - handler.on_text(begin, p); - begin = ++p; - } - } - handler.on_text(begin, end); - return; - } - struct writer { - FMT_CONSTEXPR void operator()(const Char* from, const Char* to) { - if (from == to) return; - for (;;) { - const Char* p = nullptr; - if (!find(from, to, Char('}'), p)) - return handler_.on_text(from, to); - ++p; - if (p == to || *p != '}') - return handler_.on_error("unmatched '}' in format string"); - handler_.on_text(from, p); - from = p + 1; - } - } - Handler& handler_; - } write = {handler}; - while (begin != end) { - // Doing two passes with memchr (one for '{' and another for '}') is up to - // 2.5x faster than the naive one-pass implementation on big format strings. - const Char* p = begin; - if (*begin != '{' && !find(begin + 1, end, Char('{'), p)) - return write(begin, end); - write(begin, p); - begin = parse_replacement_field(p, end, handler); - } -} - -template ::value> struct strip_named_arg { - using type = T; -}; -template struct strip_named_arg { - using type = remove_cvref_t; -}; - -template -FMT_CONSTEXPR auto parse_format_specs(ParseContext& ctx) - -> decltype(ctx.begin()) { - using char_type = typename ParseContext::char_type; - using context = buffer_context; - using mapped_type = conditional_t< - mapped_type_constant::value != type::custom_type, - decltype(arg_mapper().map(std::declval())), - typename strip_named_arg::type>; -#if defined(__cpp_if_constexpr) - if constexpr (std::is_default_constructible< - formatter>::value) { - return formatter().parse(ctx); - } else { - type_is_unformattable_for _; - return ctx.begin(); - } -#else - return formatter().parse(ctx); -#endif -} - -// Checks char specs and returns true iff the presentation type is char-like. -template -FMT_CONSTEXPR auto check_char_specs(const format_specs& specs) -> bool { - if (specs.type != presentation_type::none && - specs.type != presentation_type::chr && - specs.type != presentation_type::debug) { - return false; - } - if (specs.align == align::numeric || specs.sign != sign::none || specs.alt) - throw_format_error("invalid format specifier for char"); - return true; -} - -#if FMT_USE_NONTYPE_TEMPLATE_ARGS -template -constexpr auto get_arg_index_by_name(basic_string_view name) -> int { - if constexpr (is_statically_named_arg()) { - if (name == T::name) return N; - } - if constexpr (sizeof...(Args) > 0) - return get_arg_index_by_name(name); - (void)name; // Workaround an MSVC bug about "unused" parameter. - return -1; -} -#endif - -template -FMT_CONSTEXPR auto get_arg_index_by_name(basic_string_view name) -> int { -#if FMT_USE_NONTYPE_TEMPLATE_ARGS - if constexpr (sizeof...(Args) > 0) - return get_arg_index_by_name<0, Args...>(name); -#endif - (void)name; - return -1; -} - -template class format_string_checker { - private: - using parse_context_type = compile_parse_context; - static constexpr int num_args = sizeof...(Args); - - // Format specifier parsing function. - // In the future basic_format_parse_context will replace compile_parse_context - // here and will use is_constant_evaluated and downcasting to access the data - // needed for compile-time checks: https://godbolt.org/z/GvWzcTjh1. - using parse_func = const Char* (*)(parse_context_type&); - - type types_[num_args > 0 ? static_cast(num_args) : 1]; - parse_context_type context_; - parse_func parse_funcs_[num_args > 0 ? static_cast(num_args) : 1]; - - public: - explicit FMT_CONSTEXPR format_string_checker(basic_string_view fmt) - : types_{mapped_type_constant>::value...}, - context_(fmt, num_args, types_), - parse_funcs_{&parse_format_specs...} {} - - FMT_CONSTEXPR void on_text(const Char*, const Char*) {} - - FMT_CONSTEXPR auto on_arg_id() -> int { return context_.next_arg_id(); } - FMT_CONSTEXPR auto on_arg_id(int id) -> int { - return context_.check_arg_id(id), id; - } - FMT_CONSTEXPR auto on_arg_id(basic_string_view id) -> int { -#if FMT_USE_NONTYPE_TEMPLATE_ARGS - auto index = get_arg_index_by_name(id); - if (index < 0) on_error("named argument is not found"); - return index; -#else - (void)id; - on_error("compile-time checks for named arguments require C++20 support"); - return 0; -#endif - } - - FMT_CONSTEXPR void on_replacement_field(int id, const Char* begin) { - on_format_specs(id, begin, begin); // Call parse() on empty specs. - } - - FMT_CONSTEXPR auto on_format_specs(int id, const Char* begin, const Char*) - -> const Char* { - context_.advance_to(begin); - // id >= 0 check is a workaround for gcc 10 bug (#2065). - return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin; - } - - FMT_CONSTEXPR void on_error(const char* message) { - throw_format_error(message); - } -}; - -// Reports a compile-time error if S is not a valid format string. -template ::value)> -FMT_INLINE void check_format_string(const S&) { -#ifdef FMT_ENFORCE_COMPILE_STRING - static_assert(is_compile_string::value, - "FMT_ENFORCE_COMPILE_STRING requires all format strings to use " - "FMT_STRING."); -#endif -} -template ::value)> -void check_format_string(S format_str) { - using char_t = typename S::char_type; - FMT_CONSTEXPR auto s = basic_string_view(format_str); - using checker = format_string_checker...>; - FMT_CONSTEXPR bool error = (parse_format_string(s, checker(s)), true); - ignore_unused(error); -} - -template struct vformat_args { - using type = basic_format_args< - basic_format_context>, Char>>; -}; -template <> struct vformat_args { - using type = format_args; -}; - -// Use vformat_args and avoid type_identity to keep symbols short. -template -void vformat_to(buffer& buf, basic_string_view fmt, - typename vformat_args::type args, locale_ref loc = {}); - -FMT_API void vprint_mojibake(std::FILE*, string_view, format_args); -#ifndef _WIN32 -inline void vprint_mojibake(std::FILE*, string_view, format_args) {} -#endif -} // namespace detail - -FMT_BEGIN_EXPORT - -// A formatter specialization for natively supported types. -template -struct formatter::value != - detail::type::custom_type>> { - private: - detail::dynamic_format_specs specs_; - - public: - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> const Char* { - auto type = detail::type_constant::value; - auto end = - detail::parse_format_specs(ctx.begin(), ctx.end(), specs_, ctx, type); - if (type == detail::type::char_type) detail::check_char_specs(specs_); - return end; - } - - template ::value, - FMT_ENABLE_IF(U == detail::type::string_type || - U == detail::type::cstring_type || - U == detail::type::char_type)> - FMT_CONSTEXPR void set_debug_format(bool set = true) { - specs_.type = set ? presentation_type::debug : presentation_type::none; - } - - template - FMT_CONSTEXPR auto format(const T& val, FormatContext& ctx) const - -> decltype(ctx.out()); -}; - -template struct runtime_format_string { - basic_string_view str; -}; - -/** A compile-time format string. */ -template class basic_format_string { - private: - basic_string_view str_; - - public: - template >::value)> - FMT_CONSTEVAL FMT_INLINE basic_format_string(const S& s) : str_(s) { - static_assert( - detail::count< - (std::is_base_of>::value && - std::is_reference::value)...>() == 0, - "passing views as lvalues is disallowed"); -#ifdef FMT_HAS_CONSTEVAL - if constexpr (detail::count_named_args() == - detail::count_statically_named_args()) { - using checker = - detail::format_string_checker...>; - detail::parse_format_string(str_, checker(s)); - } -#else - detail::check_format_string(s); -#endif - } - basic_format_string(runtime_format_string fmt) : str_(fmt.str) {} - - FMT_INLINE operator basic_string_view() const { return str_; } - FMT_INLINE auto get() const -> basic_string_view { return str_; } -}; - -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 -// Workaround broken conversion on older gcc. -template using format_string = string_view; -inline auto runtime(string_view s) -> string_view { return s; } -#else -template -using format_string = basic_format_string...>; -/** - \rst - Creates a runtime format string. - - **Example**:: - - // Check format string at runtime instead of compile-time. - fmt::print(fmt::runtime("{:d}"), "I am not a number"); - \endrst - */ -inline auto runtime(string_view s) -> runtime_format_string<> { return {{s}}; } -#endif - -FMT_API auto vformat(string_view fmt, format_args args) -> std::string; - -/** - \rst - Formats ``args`` according to specifications in ``fmt`` and returns the result - as a string. - - **Example**:: - - #include - std::string message = fmt::format("The answer is {}.", 42); - \endrst -*/ -template -FMT_NODISCARD FMT_INLINE auto format(format_string fmt, T&&... args) - -> std::string { - return vformat(fmt, fmt::make_format_args(args...)); -} - -/** Formats a string and writes the output to ``out``. */ -template ::value)> -auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt { - auto&& buf = detail::get_buffer(out); - detail::vformat_to(buf, fmt, args, {}); - return detail::get_iterator(buf, out); -} - -/** - \rst - Formats ``args`` according to specifications in ``fmt``, writes the result to - the output iterator ``out`` and returns the iterator past the end of the output - range. `format_to` does not append a terminating null character. - - **Example**:: - - auto out = std::vector(); - fmt::format_to(std::back_inserter(out), "{}", 42); - \endrst - */ -template ::value)> -FMT_INLINE auto format_to(OutputIt out, format_string fmt, T&&... args) - -> OutputIt { - return vformat_to(out, fmt, fmt::make_format_args(args...)); -} - -template struct format_to_n_result { - /** Iterator past the end of the output range. */ - OutputIt out; - /** Total (not truncated) output size. */ - size_t size; -}; - -template ::value)> -auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args) - -> format_to_n_result { - using traits = detail::fixed_buffer_traits; - auto buf = detail::iterator_buffer(out, n); - detail::vformat_to(buf, fmt, args, {}); - return {buf.out(), buf.count()}; -} - -/** - \rst - Formats ``args`` according to specifications in ``fmt``, writes up to ``n`` - characters of the result to the output iterator ``out`` and returns the total - (not truncated) output size and the iterator past the end of the output range. - `format_to_n` does not append a terminating null character. - \endrst - */ -template ::value)> -FMT_INLINE auto format_to_n(OutputIt out, size_t n, format_string fmt, - T&&... args) -> format_to_n_result { - return vformat_to_n(out, n, fmt, fmt::make_format_args(args...)); -} - -/** Returns the number of chars in the output of ``format(fmt, args...)``. */ -template -FMT_NODISCARD FMT_INLINE auto formatted_size(format_string fmt, - T&&... args) -> size_t { - auto buf = detail::counting_buffer<>(); - detail::vformat_to(buf, fmt, fmt::make_format_args(args...), {}); - return buf.count(); -} - -FMT_API void vprint(string_view fmt, format_args args); -FMT_API void vprint(std::FILE* f, string_view fmt, format_args args); - -/** - \rst - Formats ``args`` according to specifications in ``fmt`` and writes the output - to ``stdout``. - - **Example**:: - - fmt::print("Elapsed time: {0:.2f} seconds", 1.23); - \endrst - */ -template -FMT_INLINE void print(format_string fmt, T&&... args) { - const auto& vargs = fmt::make_format_args(args...); - return detail::is_utf8() ? vprint(fmt, vargs) - : detail::vprint_mojibake(stdout, fmt, vargs); -} - -/** - \rst - Formats ``args`` according to specifications in ``fmt`` and writes the - output to the file ``f``. - - **Example**:: - - fmt::print(stderr, "Don't {}!", "panic"); - \endrst - */ -template -FMT_INLINE void print(std::FILE* f, format_string fmt, T&&... args) { - const auto& vargs = fmt::make_format_args(args...); - return detail::is_utf8() ? vprint(f, fmt, vargs) - : detail::vprint_mojibake(f, fmt, vargs); -} - -/** - Formats ``args`` according to specifications in ``fmt`` and writes the - output to the file ``f`` followed by a newline. - */ -template -FMT_INLINE void println(std::FILE* f, format_string fmt, T&&... args) { - return fmt::print(f, "{}\n", fmt::format(fmt, std::forward(args)...)); -} - -/** - Formats ``args`` according to specifications in ``fmt`` and writes the output - to ``stdout`` followed by a newline. - */ -template -FMT_INLINE void println(format_string fmt, T&&... args) { - return fmt::println(stdout, fmt, std::forward(args)...); -} - -FMT_END_EXPORT -FMT_GCC_PRAGMA("GCC pop_options") -FMT_END_NAMESPACE - -#ifdef FMT_HEADER_ONLY -# include "format.h" -#endif -#endif // FMT_CORE_H_ +#include "format.h" diff --git a/3rdparty/fmt/include/fmt/format-inl.h b/3rdparty/fmt/include/fmt/format-inl.h index efac5d1f88fef..a5b79dbe49b5e 100644 --- a/3rdparty/fmt/include/fmt/format-inl.h +++ b/3rdparty/fmt/include/fmt/format-inl.h @@ -8,36 +8,36 @@ #ifndef FMT_FORMAT_INL_H_ #define FMT_FORMAT_INL_H_ -#include -#include // errno -#include -#include -#include - -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR -# include +#ifndef FMT_MODULE +# include +# include // errno +# include +# include +# include #endif -#if defined(_WIN32) && !defined(FMT_WINDOWS_NO_WCHAR) +#if defined(_WIN32) && !defined(FMT_USE_WRITE_CONSOLE) # include // _isatty #endif #include "format.h" +#if FMT_USE_LOCALE +# include +#endif + +#ifndef FMT_FUNC +# define FMT_FUNC +#endif + FMT_BEGIN_NAMESPACE namespace detail { FMT_FUNC void assert_fail(const char* file, int line, const char* message) { // Use unchecked std::fprintf to avoid triggering another assertion when - // writing to stderr fails - std::fprintf(stderr, "%s:%d: assertion failed: %s", file, line, message); - // Chosen instead of std::abort to satisfy Clang in CUDA mode during device - // code pass. - std::terminate(); -} - -FMT_FUNC void throw_format_error(const char* message) { - FMT_THROW(format_error(message)); + // writing to stderr fails. + fprintf(stderr, "%s:%d: assertion failed: %s", file, line, message); + abort(); } FMT_FUNC void format_error_code(detail::buffer& out, int error_code, @@ -56,89 +56,105 @@ FMT_FUNC void format_error_code(detail::buffer& out, int error_code, ++error_code_size; } error_code_size += detail::to_unsigned(detail::count_digits(abs_value)); - auto it = buffer_appender(out); + auto it = appender(out); if (message.size() <= inline_buffer_size - error_code_size) fmt::format_to(it, FMT_STRING("{}{}"), message, SEP); fmt::format_to(it, FMT_STRING("{}{}"), ERROR_STR, error_code); FMT_ASSERT(out.size() <= inline_buffer_size, ""); } -FMT_FUNC void report_error(format_func func, int error_code, - const char* message) noexcept { +FMT_FUNC void do_report_error(format_func func, int error_code, + const char* message) noexcept { memory_buffer full_message; func(full_message, error_code, message); - // Don't use fwrite_fully because the latter may throw. + // Don't use fwrite_all because the latter may throw. if (std::fwrite(full_message.data(), full_message.size(), 1, stderr) > 0) std::fputc('\n', stderr); } // A wrapper around fwrite that throws on error. -inline void fwrite_fully(const void* ptr, size_t count, FILE* stream) { +inline void fwrite_all(const void* ptr, size_t count, FILE* stream) { size_t written = std::fwrite(ptr, 1, count, stream); if (written < count) FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); } -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR +#if FMT_USE_LOCALE +using std::locale; +using std::numpunct; +using std::use_facet; + template locale_ref::locale_ref(const Locale& loc) : locale_(&loc) { - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value, ""); } +#else +struct locale {}; +template struct numpunct { + auto grouping() const -> std::string { return "\03"; } + auto thousands_sep() const -> Char { return ','; } + auto decimal_point() const -> Char { return '.'; } +}; +template Facet use_facet(locale) { return {}; } +#endif // FMT_USE_LOCALE template auto locale_ref::get() const -> Locale { - static_assert(std::is_same::value, ""); - return locale_ ? *static_cast(locale_) : std::locale(); + static_assert(std::is_same::value, ""); +#if FMT_USE_LOCALE + if (locale_) return *static_cast(locale_); +#endif + return locale(); } template FMT_FUNC auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result { - auto& facet = std::use_facet>(loc.get()); + auto&& facet = use_facet>(loc.get()); auto grouping = facet.grouping(); auto thousands_sep = grouping.empty() ? Char() : facet.thousands_sep(); return {std::move(grouping), thousands_sep}; } template FMT_FUNC auto decimal_point_impl(locale_ref loc) -> Char { - return std::use_facet>(loc.get()) - .decimal_point(); + return use_facet>(loc.get()).decimal_point(); } -#else -template -FMT_FUNC auto thousands_sep_impl(locale_ref) -> thousands_sep_result { - return {"\03", FMT_STATIC_THOUSANDS_SEPARATOR}; -} -template FMT_FUNC Char decimal_point_impl(locale_ref) { - return '.'; -} -#endif +#if FMT_USE_LOCALE FMT_FUNC auto write_loc(appender out, loc_value value, - const format_specs<>& specs, locale_ref loc) -> bool { -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR + const format_specs& specs, locale_ref loc) -> bool { auto locale = loc.get(); // We cannot use the num_put facet because it may produce output in // a wrong encoding. using facet = format_facet; if (std::has_facet(locale)) - return std::use_facet(locale).put(out, value, specs); + return use_facet(locale).put(out, value, specs); return facet(locale).put(out, value, specs); -#endif - return false; } +#endif } // namespace detail +FMT_FUNC void report_error(const char* message) { +#if FMT_USE_EXCEPTIONS + // Use FMT_THROW instead of throw to avoid bogus unreachable code warnings + // from MSVC. + FMT_THROW(format_error(message)); +#else + fputs(message, stderr); + abort(); +#endif +} + template typename Locale::id format_facet::id; -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR template format_facet::format_facet(Locale& loc) { - auto& numpunct = std::use_facet>(loc); - grouping_ = numpunct.grouping(); - if (!grouping_.empty()) separator_ = std::string(1, numpunct.thousands_sep()); + auto& np = detail::use_facet>(loc); + grouping_ = np.grouping(); + if (!grouping_.empty()) separator_ = std::string(1, np.thousands_sep()); } +#if FMT_USE_LOCALE template <> FMT_API FMT_FUNC auto format_facet::do_put( - appender out, loc_value val, const format_specs<>& specs) const -> bool { + appender out, loc_value val, const format_specs& specs) const -> bool { return val.visit( detail::loc_writer<>{out, specs, separator_, grouping_, decimal_point_}); } @@ -1411,7 +1427,7 @@ FMT_FUNC void format_system_error(detail::buffer& out, int error_code, const char* message) noexcept { FMT_TRY { auto ec = std::error_code(error_code, std::generic_category()); - write(std::back_inserter(out), std::system_error(ec, message).what()); + detail::write(appender(out), std::system_error(ec, message).what()); return; } FMT_CATCH(...) {} @@ -1420,7 +1436,7 @@ FMT_FUNC void format_system_error(detail::buffer& out, int error_code, FMT_FUNC void report_system_error(int error_code, const char* message) noexcept { - report_error(format_system_error, error_code, message); + do_report_error(format_system_error, error_code, message); } FMT_FUNC auto vformat(string_view fmt, format_args args) -> std::string { @@ -1432,9 +1448,252 @@ FMT_FUNC auto vformat(string_view fmt, format_args args) -> std::string { } namespace detail { -#if !defined(_WIN32) || defined(FMT_WINDOWS_NO_WCHAR) + +FMT_FUNC void vformat_to(buffer& buf, string_view fmt, format_args args, + locale_ref loc) { + auto out = appender(buf); + if (fmt.size() == 2 && equal2(fmt.data(), "{}")) + return args.get(0).visit(default_arg_formatter{out}); + parse_format_string( + fmt, format_handler{parse_context(fmt), {out, args, loc}}); +} + +template struct span { + T* data; + size_t size; +}; + +template auto flockfile(F* f) -> decltype(_lock_file(f)) { + _lock_file(f); +} +template auto funlockfile(F* f) -> decltype(_unlock_file(f)) { + _unlock_file(f); +} + +#ifndef getc_unlocked +template auto getc_unlocked(F* f) -> decltype(_fgetc_nolock(f)) { + return _fgetc_nolock(f); +} +#endif + +template +struct has_flockfile : std::false_type {}; + +template +struct has_flockfile()))>> + : std::true_type {}; + +// A FILE wrapper. F is FILE defined as a template parameter to make system API +// detection work. +template class file_base { + public: + F* file_; + + public: + file_base(F* file) : file_(file) {} + operator F*() const { return file_; } + + // Reads a code unit from the stream. + auto get() -> int { + int result = getc_unlocked(file_); + if (result == EOF && ferror(file_) != 0) + FMT_THROW(system_error(errno, FMT_STRING("getc failed"))); + return result; + } + + // Puts the code unit back into the stream buffer. + void unget(char c) { + if (ungetc(c, file_) == EOF) + FMT_THROW(system_error(errno, FMT_STRING("ungetc failed"))); + } + + void flush() { fflush(this->file_); } +}; + +// A FILE wrapper for glibc. +template class glibc_file : public file_base { + private: + enum { + line_buffered = 0x200, // _IO_LINE_BUF + unbuffered = 2 // _IO_UNBUFFERED + }; + + public: + using file_base::file_base; + + auto is_buffered() const -> bool { + return (this->file_->_flags & unbuffered) == 0; + } + + void init_buffer() { + if (this->file_->_IO_write_ptr) return; + // Force buffer initialization by placing and removing a char in a buffer. + assume(this->file_->_IO_write_ptr >= this->file_->_IO_write_end); + putc_unlocked(0, this->file_); + --this->file_->_IO_write_ptr; + } + + // Returns the file's read buffer. + auto get_read_buffer() const -> span { + auto ptr = this->file_->_IO_read_ptr; + return {ptr, to_unsigned(this->file_->_IO_read_end - ptr)}; + } + + // Returns the file's write buffer. + auto get_write_buffer() const -> span { + auto ptr = this->file_->_IO_write_ptr; + return {ptr, to_unsigned(this->file_->_IO_buf_end - ptr)}; + } + + void advance_write_buffer(size_t size) { this->file_->_IO_write_ptr += size; } + + bool needs_flush() const { + if ((this->file_->_flags & line_buffered) == 0) return false; + char* end = this->file_->_IO_write_end; + return memchr(end, '\n', to_unsigned(this->file_->_IO_write_ptr - end)); + } + + void flush() { fflush_unlocked(this->file_); } +}; + +// A FILE wrapper for Apple's libc. +template class apple_file : public file_base { + private: + enum { + line_buffered = 1, // __SNBF + unbuffered = 2 // __SLBF + }; + + public: + using file_base::file_base; + + auto is_buffered() const -> bool { + return (this->file_->_flags & unbuffered) == 0; + } + + void init_buffer() { + if (this->file_->_p) return; + // Force buffer initialization by placing and removing a char in a buffer. + putc_unlocked(0, this->file_); + --this->file_->_p; + ++this->file_->_w; + } + + auto get_read_buffer() const -> span { + return {reinterpret_cast(this->file_->_p), + to_unsigned(this->file_->_r)}; + } + + auto get_write_buffer() const -> span { + return {reinterpret_cast(this->file_->_p), + to_unsigned(this->file_->_bf._base + this->file_->_bf._size - + this->file_->_p)}; + } + + void advance_write_buffer(size_t size) { + this->file_->_p += size; + this->file_->_w -= size; + } + + bool needs_flush() const { + if ((this->file_->_flags & line_buffered) == 0) return false; + return memchr(this->file_->_p + this->file_->_w, '\n', + to_unsigned(-this->file_->_w)); + } +}; + +// A fallback FILE wrapper. +template class fallback_file : public file_base { + private: + char next_; // The next unconsumed character in the buffer. + bool has_next_ = false; + + public: + using file_base::file_base; + + auto is_buffered() const -> bool { return false; } + auto needs_flush() const -> bool { return false; } + void init_buffer() {} + + auto get_read_buffer() const -> span { + return {&next_, has_next_ ? 1u : 0u}; + } + + auto get_write_buffer() const -> span { return {nullptr, 0}; } + + void advance_write_buffer(size_t) {} + + auto get() -> int { + has_next_ = false; + return file_base::get(); + } + + void unget(char c) { + file_base::unget(c); + next_ = c; + has_next_ = true; + } +}; + +#ifndef FMT_USE_FALLBACK_FILE +# define FMT_USE_FALLBACK_FILE 0 +#endif + +template +auto get_file(F* f, int) -> apple_file { + return f; +} +template +inline auto get_file(F* f, int) -> glibc_file { + return f; +} + +inline auto get_file(FILE* f, ...) -> fallback_file { return f; } + +using file_ref = decltype(get_file(static_cast(nullptr), 0)); + +template +class file_print_buffer : public buffer { + public: + explicit file_print_buffer(F*) : buffer(nullptr, size_t()) {} +}; + +template +class file_print_buffer::value>> + : public buffer { + private: + file_ref file_; + + static void grow(buffer& base, size_t) { + auto& self = static_cast(base); + self.file_.advance_write_buffer(self.size()); + if (self.file_.get_write_buffer().size == 0) self.file_.flush(); + auto buf = self.file_.get_write_buffer(); + FMT_ASSERT(buf.size > 0, ""); + self.set(buf.data, buf.size); + self.clear(); + } + + public: + explicit file_print_buffer(F* f) : buffer(grow, size_t()), file_(f) { + flockfile(f); + file_.init_buffer(); + auto buf = file_.get_write_buffer(); + set(buf.data, buf.size); + } + ~file_print_buffer() { + file_.advance_write_buffer(size()); + bool flush = file_.needs_flush(); + F* f = file_; // Make funlockfile depend on the template parameter F + funlockfile(f); // for the system API detection to work. + if (flush) fflush(file_); + } +}; + +#if !defined(_WIN32) || defined(FMT_USE_WRITE_CONSOLE) FMT_FUNC auto write_console(int, string_view) -> bool { return false; } -FMT_FUNC auto write_console(std::FILE*, string_view) -> bool { return false; } #else using dword = conditional_t; extern "C" __declspec(dllimport) int __stdcall WriteConsoleW( // @@ -1445,36 +1704,48 @@ FMT_FUNC bool write_console(int fd, string_view text) { return WriteConsoleW(reinterpret_cast(_get_osfhandle(fd)), u16.c_str(), static_cast(u16.size()), nullptr, nullptr) != 0; } - -FMT_FUNC auto write_console(std::FILE* f, string_view text) -> bool { - return write_console(_fileno(f), text); -} #endif #ifdef _WIN32 // Print assuming legacy (non-Unicode) encoding. -FMT_FUNC void vprint_mojibake(std::FILE* f, string_view fmt, format_args args) { +FMT_FUNC void vprint_mojibake(std::FILE* f, string_view fmt, format_args args, + bool newline) { auto buffer = memory_buffer(); detail::vformat_to(buffer, fmt, args); - fwrite_fully(buffer.data(), buffer.size(), f); + if (newline) buffer.push_back('\n'); + fwrite_all(buffer.data(), buffer.size(), f); } #endif FMT_FUNC void print(std::FILE* f, string_view text) { -#ifdef _WIN32 +#if defined(_WIN32) && !defined(FMT_USE_WRITE_CONSOLE) int fd = _fileno(f); if (_isatty(fd)) { std::fflush(f); if (write_console(fd, text)) return; } #endif - fwrite_fully(text.data(), text.size(), f); + fwrite_all(text.data(), text.size(), f); } } // namespace detail +FMT_FUNC void vprint_buffered(std::FILE* f, string_view fmt, format_args args) { + auto buffer = memory_buffer(); + detail::vformat_to(buffer, fmt, args); + detail::print(f, {buffer.data(), buffer.size()}); +} + FMT_FUNC void vprint(std::FILE* f, string_view fmt, format_args args) { + if (!detail::file_ref(f).is_buffered() || !detail::has_flockfile<>()) + return vprint_buffered(f, fmt, args); + auto&& buffer = detail::file_print_buffer<>(f); + return detail::vformat_to(buffer, fmt, args); +} + +FMT_FUNC void vprintln(std::FILE* f, string_view fmt, format_args args) { auto buffer = memory_buffer(); detail::vformat_to(buffer, fmt, args); + buffer.push_back('\n'); detail::print(f, {buffer.data(), buffer.size()}); } diff --git a/3rdparty/fmt/include/fmt/format.h b/3rdparty/fmt/include/fmt/format.h index 7637c8a0d0687..92a1d5b7a04d5 100644 --- a/3rdparty/fmt/include/fmt/format.h +++ b/3rdparty/fmt/include/fmt/format.h @@ -33,20 +33,59 @@ #ifndef FMT_FORMAT_H_ #define FMT_FORMAT_H_ -#include // std::signbit -#include // uint32_t -#include // std::memcpy -#include // std::initializer_list -#include // std::numeric_limits -#include // std::uninitialized_copy -#include // std::runtime_error -#include // std::system_error - -#ifdef __cpp_lib_bit_cast -# include // std::bit_cast +#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES +# define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES +# define FMT_REMOVE_TRANSITIVE_INCLUDES #endif -#include "core.h" +#include "base.h" + +#ifndef FMT_MODULE +# include // std::signbit +# include // std::byte +# include // uint32_t +# include // std::memcpy +# include // std::numeric_limits +# include // std::bad_alloc +# if defined(__GLIBCXX__) && !defined(_GLIBCXX_USE_DUAL_ABI) +// Workaround for pre gcc 5 libstdc++. +# include // std::allocator_traits +# endif +# include // std::runtime_error +# include // std::string +# include // std::system_error + +// Check FMT_CPLUSPLUS to avoid a warning in MSVC. +# if FMT_HAS_INCLUDE() && FMT_CPLUSPLUS > 201703L +# include // std::bit_cast +# endif + +// libc++ supports string_view in pre-c++17. +# if FMT_HAS_INCLUDE() && \ + (FMT_CPLUSPLUS >= 201703L || defined(_LIBCPP_VERSION)) +# include +# define FMT_USE_STRING_VIEW +# endif + +# if FMT_MSC_VERSION +# include // _BitScanReverse[64], _umul128 +# endif +#endif // FMT_MODULE + +#if defined(FMT_USE_NONTYPE_TEMPLATE_ARGS) +// Use the provided definition. +#elif defined(__NVCOMPILER) +# define FMT_USE_NONTYPE_TEMPLATE_ARGS 0 +#elif FMT_GCC_VERSION >= 903 && FMT_CPLUSPLUS >= 201709L +# define FMT_USE_NONTYPE_TEMPLATE_ARGS 1 +#elif defined(__cpp_nontype_template_args) && \ + __cpp_nontype_template_args >= 201911L +# define FMT_USE_NONTYPE_TEMPLATE_ARGS 1 +#elif FMT_CLANG_VERSION >= 1200 && FMT_CPLUSPLUS >= 202002L +# define FMT_USE_NONTYPE_TEMPLATE_ARGS 1 +#else +# define FMT_USE_NONTYPE_TEMPLATE_ARGS 0 +#endif #if defined __cpp_inline_variables && __cpp_inline_variables >= 201606L # define FMT_INLINE_VARIABLE inline @@ -54,43 +93,15 @@ # define FMT_INLINE_VARIABLE #endif -#if FMT_HAS_CPP17_ATTRIBUTE(fallthrough) -# define FMT_FALLTHROUGH [[fallthrough]] -#elif defined(__clang__) -# define FMT_FALLTHROUGH [[clang::fallthrough]] -#elif FMT_GCC_VERSION >= 700 && \ - (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) -# define FMT_FALLTHROUGH [[gnu::fallthrough]] +// Check if RTTI is disabled. +#ifdef FMT_USE_RTTI +// Use the provided definition. +#elif defined(__GXX_RTTI) || FMT_HAS_FEATURE(cxx_rtti) || defined(_CPPRTTI) || \ + defined(__INTEL_RTTI__) || defined(__RTTI) +// __RTTI is for EDG compilers. _CPPRTTI is for MSVC. +# define FMT_USE_RTTI 1 #else -# define FMT_FALLTHROUGH -#endif - -#ifndef FMT_DEPRECATED -# if FMT_HAS_CPP14_ATTRIBUTE(deprecated) || FMT_MSC_VERSION >= 1900 -# define FMT_DEPRECATED [[deprecated]] -# else -# if (defined(__GNUC__) && !defined(__LCC__)) || defined(__clang__) -# define FMT_DEPRECATED __attribute__((deprecated)) -# elif FMT_MSC_VERSION -# define FMT_DEPRECATED __declspec(deprecated) -# else -# define FMT_DEPRECATED /* deprecated */ -# endif -# endif -#endif - -#ifndef FMT_NO_UNIQUE_ADDRESS -# if FMT_CPLUSPLUS >= 202002L -# if FMT_HAS_CPP_ATTRIBUTE(no_unique_address) -# define FMT_NO_UNIQUE_ADDRESS [[no_unique_address]] -// VS2019 v16.10 and later except clang-cl (https://reviews.llvm.org/D110485) -# elif (FMT_MSC_VERSION >= 1929) && !FMT_CLANG_VERSION -# define FMT_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]] -# endif -# endif -#endif -#ifndef FMT_NO_UNIQUE_ADDRESS -# define FMT_NO_UNIQUE_ADDRESS +# define FMT_USE_RTTI 0 #endif // Visibility when compiled as a shared library/object. @@ -100,20 +111,25 @@ # define FMT_SO_VISIBILITY(value) #endif -#ifdef __has_builtin -# define FMT_HAS_BUILTIN(x) __has_builtin(x) -#else -# define FMT_HAS_BUILTIN(x) 0 -#endif - #if FMT_GCC_VERSION || FMT_CLANG_VERSION # define FMT_NOINLINE __attribute__((noinline)) #else # define FMT_NOINLINE #endif +namespace std { +template struct iterator_traits> { + using iterator_category = output_iterator_tag; + using value_type = T; + using difference_type = + decltype(static_cast(nullptr) - static_cast(nullptr)); + using pointer = void; + using reference = void; +}; +} // namespace std + #ifndef FMT_THROW -# if FMT_EXCEPTIONS +# if FMT_USE_EXCEPTIONS # if FMT_MSC_VERSION || defined(__NVCC__) FMT_BEGIN_NAMESPACE namespace detail { @@ -132,38 +148,8 @@ FMT_END_NAMESPACE # else # define FMT_THROW(x) \ ::fmt::detail::assert_fail(__FILE__, __LINE__, (x).what()) -# endif -#endif - -#if FMT_EXCEPTIONS -# define FMT_TRY try -# define FMT_CATCH(x) catch (x) -#else -# define FMT_TRY if (true) -# define FMT_CATCH(x) if (false) -#endif - -#ifndef FMT_MAYBE_UNUSED -# if FMT_HAS_CPP17_ATTRIBUTE(maybe_unused) -# define FMT_MAYBE_UNUSED [[maybe_unused]] -# else -# define FMT_MAYBE_UNUSED -# endif -#endif - -#ifndef FMT_USE_USER_DEFINED_LITERALS -// EDG based compilers (Intel, NVIDIA, Elbrus, etc), GCC and MSVC support UDLs. -// -// GCC before 4.9 requires a space in `operator"" _a` which is invalid in later -// compiler versions. -# if (FMT_HAS_FEATURE(cxx_user_literals) || FMT_GCC_VERSION >= 409 || \ - FMT_MSC_VERSION >= 1900) && \ - (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= /* UDL feature */ 480) -# define FMT_USE_USER_DEFINED_LITERALS 1 -# else -# define FMT_USE_USER_DEFINED_LITERALS 0 -# endif -#endif +# endif // FMT_USE_EXCEPTIONS +#endif // FMT_THROW // Defining FMT_REDUCE_INT_INSTANTIATIONS to 1, will reduce the number of // integer formatter template instantiations to just one by only using the @@ -173,7 +159,15 @@ FMT_END_NAMESPACE # define FMT_REDUCE_INT_INSTANTIATIONS 0 #endif -// __builtin_clz is broken in clang with Microsoft CodeGen: +FMT_BEGIN_NAMESPACE + +template +struct is_contiguous> + : std::true_type {}; + +namespace detail { + +// __builtin_clz is broken in clang with Microsoft codegen: // https://github.com/fmtlib/fmt/issues/519. #if !FMT_MSC_VERSION # if FMT_HAS_BUILTIN(__builtin_clz) || FMT_GCC_VERSION || FMT_ICC_VERSION @@ -184,53 +178,30 @@ FMT_END_NAMESPACE # endif #endif -// __builtin_ctz is broken in Intel Compiler Classic on Windows: -// https://github.com/fmtlib/fmt/issues/2510. -#ifndef __ICL -# if FMT_HAS_BUILTIN(__builtin_ctz) || FMT_GCC_VERSION || FMT_ICC_VERSION || \ - defined(__NVCOMPILER) -# define FMT_BUILTIN_CTZ(n) __builtin_ctz(n) -# endif -# if FMT_HAS_BUILTIN(__builtin_ctzll) || FMT_GCC_VERSION || \ - FMT_ICC_VERSION || defined(__NVCOMPILER) -# define FMT_BUILTIN_CTZLL(n) __builtin_ctzll(n) -# endif -#endif - -#if FMT_MSC_VERSION -# include // _BitScanReverse[64], _BitScanForward[64], _umul128 -#endif - -// Some compilers masquerade as both MSVC and GCC-likes or otherwise support +// Some compilers masquerade as both MSVC and GCC but otherwise support // __builtin_clz and __builtin_clzll, so only define FMT_BUILTIN_CLZ using the // MSVC intrinsics if the clz and clzll builtins are not available. -#if FMT_MSC_VERSION && !defined(FMT_BUILTIN_CLZLL) && \ - !defined(FMT_BUILTIN_CTZLL) -FMT_BEGIN_NAMESPACE -namespace detail { +#if FMT_MSC_VERSION && !defined(FMT_BUILTIN_CLZLL) // Avoid Clang with Microsoft CodeGen's -Wunknown-pragmas warning. -# if !defined(__clang__) -# pragma intrinsic(_BitScanForward) +# ifndef __clang__ # pragma intrinsic(_BitScanReverse) -# if defined(_WIN64) -# pragma intrinsic(_BitScanForward64) +# ifdef _WIN64 # pragma intrinsic(_BitScanReverse64) # endif # endif inline auto clz(uint32_t x) -> int { + FMT_ASSERT(x != 0, ""); + FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. unsigned long r = 0; _BitScanReverse(&r, x); - FMT_ASSERT(x != 0, ""); - // Static analysis complains about using uninitialized data - // "r", but the only way that can happen is if "x" is 0, - // which the callers guarantee to not happen. - FMT_MSC_WARNING(suppress : 6102) return 31 ^ static_cast(r); } # define FMT_BUILTIN_CLZ(n) detail::clz(n) inline auto clzll(uint64_t x) -> int { + FMT_ASSERT(x != 0, ""); + FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. unsigned long r = 0; # ifdef _WIN64 _BitScanReverse64(&r, x); @@ -241,43 +212,10 @@ inline auto clzll(uint64_t x) -> int { // Scan the low 32 bits. _BitScanReverse(&r, static_cast(x)); # endif - FMT_ASSERT(x != 0, ""); - FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. return 63 ^ static_cast(r); } # define FMT_BUILTIN_CLZLL(n) detail::clzll(n) - -inline auto ctz(uint32_t x) -> int { - unsigned long r = 0; - _BitScanForward(&r, x); - FMT_ASSERT(x != 0, ""); - FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. - return static_cast(r); -} -# define FMT_BUILTIN_CTZ(n) detail::ctz(n) - -inline auto ctzll(uint64_t x) -> int { - unsigned long r = 0; - FMT_ASSERT(x != 0, ""); - FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. -# ifdef _WIN64 - _BitScanForward64(&r, x); -# else - // Scan the low 32 bits. - if (_BitScanForward(&r, static_cast(x))) return static_cast(r); - // Scan the high 32 bits. - _BitScanForward(&r, static_cast(x >> 32)); - r += 32; -# endif - return static_cast(r); -} -# define FMT_BUILTIN_CTZLL(n) detail::ctzll(n) -} // namespace detail -FMT_END_NAMESPACE -#endif - -FMT_BEGIN_NAMESPACE -namespace detail { +#endif // FMT_MSC_VERSION && !defined(FMT_BUILTIN_CLZLL) FMT_CONSTEXPR inline void abort_fuzzing_if(bool condition) { ignore_unused(condition); @@ -286,16 +224,21 @@ FMT_CONSTEXPR inline void abort_fuzzing_if(bool condition) { #endif } -template struct string_literal { - static constexpr CharT value[sizeof...(C)] = {C...}; - constexpr operator basic_string_view() const { +#if defined(FMT_USE_STRING_VIEW) +template using std_string_view = std::basic_string_view; +#else +template struct std_string_view {}; +#endif + +template struct string_literal { + static constexpr Char value[sizeof...(C)] = {C...}; + constexpr operator basic_string_view() const { return {value, sizeof...(C)}; } }; - #if FMT_CPLUSPLUS < 201703L -template -constexpr CharT string_literal::value[sizeof...(C)]; +template +constexpr Char string_literal::value[sizeof...(C)]; #endif // Implementation of std::bit_cast for pre-C++20. @@ -367,13 +310,14 @@ class uint128_fallback { -> uint128_fallback { return {~n.hi_, ~n.lo_}; } - friend auto operator+(const uint128_fallback& lhs, - const uint128_fallback& rhs) -> uint128_fallback { + friend FMT_CONSTEXPR auto operator+(const uint128_fallback& lhs, + const uint128_fallback& rhs) + -> uint128_fallback { auto result = uint128_fallback(lhs); result += rhs; return result; } - friend auto operator*(const uint128_fallback& lhs, uint32_t rhs) + friend FMT_CONSTEXPR auto operator*(const uint128_fallback& lhs, uint32_t rhs) -> uint128_fallback { FMT_ASSERT(lhs.hi_ == 0, ""); uint64_t hi = (lhs.lo_ >> 32) * rhs; @@ -381,7 +325,7 @@ class uint128_fallback { uint64_t new_lo = (hi << 32) + lo; return {(hi >> 32) + (new_lo < lo ? 1 : 0), new_lo}; } - friend auto operator-(const uint128_fallback& lhs, uint64_t rhs) + friend constexpr auto operator-(const uint128_fallback& lhs, uint64_t rhs) -> uint128_fallback { return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs}; } @@ -454,23 +398,24 @@ template constexpr auto num_bits() -> int { } // std::numeric_limits::digits may return 0 for 128-bit ints. template <> constexpr auto num_bits() -> int { return 128; } -template <> constexpr auto num_bits() -> int { return 128; } +template <> constexpr auto num_bits() -> int { return 128; } +template <> constexpr auto num_bits() -> int { return 128; } // A heterogeneous bit_cast used for converting 96-bit long double to uint128_t // and 128-bit pointers to uint128_fallback. template sizeof(From))> inline auto bit_cast(const From& from) -> To { - constexpr auto size = static_cast(sizeof(From) / sizeof(unsigned)); + constexpr auto size = static_cast(sizeof(From) / sizeof(unsigned short)); struct data_t { - unsigned value[static_cast(size)]; + unsigned short value[static_cast(size)]; } data = bit_cast(from); auto result = To(); if (const_check(is_big_endian())) { for (int i = 0; i < size; ++i) - result = (result << num_bits()) | data.value[i]; + result = (result << num_bits()) | data.value[i]; } else { for (int i = size - 1; i >= 0; --i) - result = (result << num_bits()) | data.value[i]; + result = (result << num_bits()) | data.value[i]; } return result; } @@ -506,38 +451,25 @@ FMT_INLINE void assume(bool condition) { #endif } -// An approximation of iterator_t for pre-C++20 systems. -template -using iterator_t = decltype(std::begin(std::declval())); -template using sentinel_t = decltype(std::end(std::declval())); - -// A workaround for std::string not having mutable data() until C++17. -template -inline auto get_data(std::basic_string& s) -> Char* { - return &s[0]; -} -template -inline auto get_data(Container& c) -> typename Container::value_type* { - return c.data(); -} - // Attempts to reserve space for n extra characters in the output range. // Returns a pointer to the reserved range or a reference to it. -template ::value)> +template ::value&& + is_contiguous::value)> #if FMT_CLANG_VERSION >= 307 && !FMT_ICC_VERSION __attribute__((no_sanitize("undefined"))) #endif -inline auto -reserve(std::back_insert_iterator it, size_t n) -> - typename Container::value_type* { - Container& c = get_container(it); +FMT_CONSTEXPR20 inline auto +reserve(OutputIt it, size_t n) -> typename OutputIt::value_type* { + auto& c = get_container(it); size_t size = c.size(); c.resize(size + n); - return get_data(c) + size; + return &c[size]; } template -inline auto reserve(buffer_appender it, size_t n) -> buffer_appender { +FMT_CONSTEXPR20 inline auto reserve(basic_appender it, size_t n) + -> basic_appender { buffer& buf = get_container(it); buf.try_reserve(buf.size() + n); return it; @@ -556,18 +488,22 @@ template constexpr auto to_pointer(OutputIt, size_t) -> T* { return nullptr; } -template auto to_pointer(buffer_appender it, size_t n) -> T* { +template +FMT_CONSTEXPR20 auto to_pointer(basic_appender it, size_t n) -> T* { buffer& buf = get_container(it); + buf.try_reserve(buf.size() + n); auto size = buf.size(); if (buf.capacity() < size + n) return nullptr; buf.try_resize(size + n); return buf.data() + size; } -template ::value)> -inline auto base_iterator(std::back_insert_iterator it, - typename Container::value_type*) - -> std::back_insert_iterator { +template ::value&& + is_contiguous::value)> +inline auto base_iterator(OutputIt it, + typename OutputIt::container_type::value_type*) + -> OutputIt { return it; } @@ -586,23 +522,15 @@ FMT_CONSTEXPR auto fill_n(OutputIt out, Size count, const T& value) } template FMT_CONSTEXPR20 auto fill_n(T* out, Size count, char value) -> T* { - if (is_constant_evaluated()) { - return fill_n(out, count, value); - } + if (is_constant_evaluated()) return fill_n(out, count, value); std::memset(out, value, to_unsigned(count)); return out + count; } -#ifdef __cpp_char8_t -using char8_type = char8_t; -#else -enum char8_type : unsigned char {}; -#endif - template -FMT_CONSTEXPR FMT_NOINLINE auto copy_str_noinline(InputIt begin, InputIt end, - OutputIt out) -> OutputIt { - return copy_str(begin, end, out); +FMT_CONSTEXPR FMT_NOINLINE auto copy_noinline(InputIt begin, InputIt end, + OutputIt out) -> OutputIt { + return copy(begin, end, out); } // A public domain branchless UTF-8 decoder by Christopher Wellons: @@ -673,6 +601,7 @@ FMT_CONSTEXPR void for_each_codepoint(string_view s, F f) { string_view(ptr, error ? 1 : to_unsigned(end - buf_ptr))); return result ? (error ? buf_ptr + 1 : end) : nullptr; }; + auto p = s.data(); const size_t block_size = 4; // utf8_decode always reads blocks of 4 chars. if (s.size() >= block_size) { @@ -681,17 +610,20 @@ FMT_CONSTEXPR void for_each_codepoint(string_view s, F f) { if (!p) return; } } - if (auto num_chars_left = s.data() + s.size() - p) { - char buf[2 * block_size - 1] = {}; - copy_str(p, p + num_chars_left, buf); - const char* buf_ptr = buf; - do { - auto end = decode(buf_ptr, p); - if (!end) return; - p += end - buf_ptr; - buf_ptr = end; - } while (buf_ptr - buf < num_chars_left); - } + auto num_chars_left = to_unsigned(s.data() + s.size() - p); + if (num_chars_left == 0) return; + + // Suppress bogus -Wstringop-overflow. + if (FMT_GCC_VERSION) num_chars_left &= 3; + char buf[2 * block_size - 1] = {}; + copy(p, p + num_chars_left, buf); + const char* buf_ptr = buf; + do { + auto end = decode(buf_ptr, p); + if (!end) return; + p += end - buf_ptr; + buf_ptr = end; + } while (buf_ptr < buf + num_chars_left); } template @@ -706,7 +638,7 @@ FMT_CONSTEXPR inline auto compute_width(string_view s) -> size_t { struct count_code_points { size_t* count; FMT_CONSTEXPR auto operator()(uint32_t cp, string_view) const -> bool { - *count += detail::to_unsigned( + *count += to_unsigned( 1 + (cp >= 0x1100 && (cp <= 0x115f || // Hangul Jamo init. consonants @@ -734,15 +666,9 @@ FMT_CONSTEXPR inline auto compute_width(string_view s) -> size_t { return num_code_points; } -inline auto compute_width(basic_string_view s) -> size_t { - return compute_width( - string_view(reinterpret_cast(s.data()), s.size())); -} - template inline auto code_point_index(basic_string_view s, size_t n) -> size_t { - size_t size = s.size(); - return n < size ? n : size; + return min_of(n, s.size()); } // Calculates the index of the nth code point in a UTF-8 string. @@ -760,12 +686,6 @@ inline auto code_point_index(string_view s, size_t n) -> size_t { return result; } -inline auto code_point_index(basic_string_view s, size_t n) - -> size_t { - return code_point_index( - string_view(reinterpret_cast(s.data()), s.size()), n); -} - template struct is_integral : std::is_integral {}; template <> struct is_integral : std::true_type {}; template <> struct is_integral : std::true_type {}; @@ -781,38 +701,22 @@ using is_integer = !std::is_same::value && !std::is_same::value>; -#ifndef FMT_USE_FLOAT -# define FMT_USE_FLOAT 1 -#endif -#ifndef FMT_USE_DOUBLE -# define FMT_USE_DOUBLE 1 -#endif -#ifndef FMT_USE_LONG_DOUBLE -# define FMT_USE_LONG_DOUBLE 1 -#endif - -#ifndef FMT_USE_FLOAT128 -# ifdef __clang__ -// Clang emulates GCC, so it has to appear early. -# if FMT_HAS_INCLUDE() -# define FMT_USE_FLOAT128 1 -# endif -# elif defined(__GNUC__) -// GNU C++: -# if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) -# define FMT_USE_FLOAT128 1 -# endif -# endif -# ifndef FMT_USE_FLOAT128 -# define FMT_USE_FLOAT128 0 -# endif +#if defined(FMT_USE_FLOAT128) +// Use the provided definition. +#elif FMT_CLANG_VERSION && FMT_HAS_INCLUDE() +# define FMT_USE_FLOAT128 1 +#elif FMT_GCC_VERSION && defined(_GLIBCXX_USE_FLOAT128) && \ + !defined(__STRICT_ANSI__) +# define FMT_USE_FLOAT128 1 +#else +# define FMT_USE_FLOAT128 0 #endif - #if FMT_USE_FLOAT128 using float128 = __float128; #else -using float128 = void; +struct float128 {}; #endif + template using is_float128 = std::is_same; template @@ -831,24 +735,21 @@ using is_double_double = bool_constant::digits == 106>; # define FMT_USE_FULL_CACHE_DRAGONBOX 0 #endif -template -template -void buffer::append(const U* begin, const U* end) { - while (begin != end) { - auto count = to_unsigned(end - begin); - try_reserve(size_ + count); - auto free_cap = capacity_ - size_; - if (free_cap < count) count = free_cap; - std::uninitialized_copy_n(begin, count, ptr_ + size_); - size_ += count; - begin += count; +// An allocator that uses malloc/free to allow removing dependency on the C++ +// standard libary runtime. +template struct allocator { + using value_type = T; + + T* allocate(size_t n) { + FMT_ASSERT(n <= max_value() / sizeof(T), ""); + T* p = static_cast(malloc(n * sizeof(T))); + if (!p) FMT_THROW(std::bad_alloc()); + return p; } -} -template -struct is_locale : std::false_type {}; -template -struct is_locale> : std::true_type {}; + void deallocate(T* p, size_t) { free(p); } +}; + } // namespace detail FMT_BEGIN_EXPORT @@ -858,29 +759,21 @@ FMT_BEGIN_EXPORT enum { inline_buffer_size = 500 }; /** - \rst - A dynamically growing memory buffer for trivially copyable/constructible types - with the first ``SIZE`` elements stored in the object itself. - - You can use the ``memory_buffer`` type alias for ``char`` instead. - - **Example**:: - - auto out = fmt::memory_buffer(); - fmt::format_to(std::back_inserter(out), "The answer is {}.", 42); - - This will append the following output to the ``out`` object: - - .. code-block:: none - - The answer is 42. - - The output can be converted to an ``std::string`` with ``to_string(out)``. - \endrst + * A dynamically growing memory buffer for trivially copyable/constructible + * types with the first `SIZE` elements stored in the object itself. Most + * commonly used via the `memory_buffer` alias for `char`. + * + * **Example**: + * + * auto out = fmt::memory_buffer(); + * fmt::format_to(std::back_inserter(out), "The answer is {}.", 42); + * + * This will append "The answer is 42." to `out`. The buffer content can be + * converted to `std::string` with `to_string(out)`. */ template > -class basic_memory_buffer final : public detail::buffer { + typename Allocator = detail::allocator> +class basic_memory_buffer : public detail::buffer { private: T store_[SIZE]; @@ -893,37 +786,37 @@ class basic_memory_buffer final : public detail::buffer { if (data != store_) alloc_.deallocate(data, this->capacity()); } - protected: - FMT_CONSTEXPR20 void grow(size_t size) override { + static FMT_CONSTEXPR20 void grow(detail::buffer& buf, size_t size) { detail::abort_fuzzing_if(size > 5000); - const size_t max_size = std::allocator_traits::max_size(alloc_); - size_t old_capacity = this->capacity(); + auto& self = static_cast(buf); + const size_t max_size = + std::allocator_traits::max_size(self.alloc_); + size_t old_capacity = buf.capacity(); size_t new_capacity = old_capacity + old_capacity / 2; if (size > new_capacity) new_capacity = size; else if (new_capacity > max_size) - new_capacity = size > max_size ? size : max_size; - T* old_data = this->data(); - T* new_data = - std::allocator_traits::allocate(alloc_, new_capacity); + new_capacity = max_of(size, max_size); + T* old_data = buf.data(); + T* new_data = self.alloc_.allocate(new_capacity); // Suppress a bogus -Wstringop-overflow in gcc 13.1 (#3481). - detail::assume(this->size() <= new_capacity); + detail::assume(buf.size() <= new_capacity); // The following code doesn't throw, so the raw pointer above doesn't leak. - std::uninitialized_copy_n(old_data, this->size(), new_data); - this->set(new_data, new_capacity); + memcpy(new_data, old_data, buf.size() * sizeof(T)); + self.set(new_data, new_capacity); // deallocate must not throw according to the standard, but even if it does, // the buffer already uses the new storage and will deallocate it in // destructor. - if (old_data != store_) alloc_.deallocate(old_data, old_capacity); + if (old_data != self.store_) self.alloc_.deallocate(old_data, old_capacity); } public: using value_type = T; using const_reference = const T&; - FMT_CONSTEXPR20 explicit basic_memory_buffer( + FMT_CONSTEXPR explicit basic_memory_buffer( const Allocator& alloc = Allocator()) - : alloc_(alloc) { + : detail::buffer(grow), alloc_(alloc) { this->set(store_, SIZE); if (detail::is_constant_evaluated()) detail::fill_n(store_, SIZE, T()); } @@ -937,7 +830,7 @@ class basic_memory_buffer final : public detail::buffer { size_t size = other.size(), capacity = other.capacity(); if (data == other.store_) { this->set(store_, capacity); - detail::copy_str(other.store_, other.store_ + size, store_); + detail::copy(other.store_, other.store_ + size, store_); } else { this->set(data, capacity); // Set pointer to the inline array so that delete is not called @@ -949,21 +842,14 @@ class basic_memory_buffer final : public detail::buffer { } public: - /** - \rst - Constructs a :class:`fmt::basic_memory_buffer` object moving the content - of the other object to it. - \endrst - */ - FMT_CONSTEXPR20 basic_memory_buffer(basic_memory_buffer&& other) noexcept { + /// Constructs a `basic_memory_buffer` object moving the content of the other + /// object to it. + FMT_CONSTEXPR20 basic_memory_buffer(basic_memory_buffer&& other) noexcept + : detail::buffer(grow) { move(other); } - /** - \rst - Moves the content of the other ``basic_memory_buffer`` object to this one. - \endrst - */ + /// Moves the content of the other `basic_memory_buffer` object to this one. auto operator=(basic_memory_buffer&& other) noexcept -> basic_memory_buffer& { FMT_ASSERT(this != &other, ""); deallocate(); @@ -974,120 +860,108 @@ class basic_memory_buffer final : public detail::buffer { // Returns a copy of the allocator associated with this buffer. auto get_allocator() const -> Allocator { return alloc_; } - /** - Resizes the buffer to contain *count* elements. If T is a POD type new - elements may not be initialized. - */ - FMT_CONSTEXPR20 void resize(size_t count) { this->try_resize(count); } + /// Resizes the buffer to contain `count` elements. If T is a POD type new + /// elements may not be initialized. + FMT_CONSTEXPR void resize(size_t count) { this->try_resize(count); } - /** Increases the buffer capacity to *new_capacity*. */ + /// Increases the buffer capacity to `new_capacity`. void reserve(size_t new_capacity) { this->try_reserve(new_capacity); } using detail::buffer::append; template - void append(const ContiguousRange& range) { + FMT_CONSTEXPR20 void append(const ContiguousRange& range) { append(range.data(), range.data() + range.size()); } }; using memory_buffer = basic_memory_buffer; -template -struct is_contiguous> : std::true_type { +template +FMT_NODISCARD auto to_string(const basic_memory_buffer& buf) + -> std::string { + auto size = buf.size(); + detail::assume(size < std::string().max_size()); + return {buf.data(), size}; +} + +// A writer to a buffered stream. It doesn't own the underlying stream. +class writer { + private: + detail::buffer* buf_; + + // We cannot create a file buffer in advance because any write to a FILE may + // invalidate it. + FILE* file_; + + public: + inline writer(FILE* f) : buf_(nullptr), file_(f) {} + inline writer(detail::buffer& buf) : buf_(&buf) {} + + /// Formats `args` according to specifications in `fmt` and writes the + /// output to the file. + template void print(format_string fmt, T&&... args) { + if (buf_) + fmt::format_to(appender(*buf_), fmt, std::forward(args)...); + else + fmt::print(file_, fmt, std::forward(args)...); + } }; -FMT_END_EXPORT -namespace detail { -FMT_API auto write_console(int fd, string_view text) -> bool; -FMT_API auto write_console(std::FILE* f, string_view text) -> bool; -FMT_API void print(std::FILE*, string_view); -} // namespace detail +class string_buffer { + private: + std::string str_; + detail::container_buffer buf_; -FMT_BEGIN_EXPORT + public: + inline string_buffer() : buf_(str_) {} + + inline operator writer() { return buf_; } + inline std::string& str() { return str_; } +}; + +template +struct is_contiguous> : std::true_type { +}; // Suppress a misleading warning in older versions of clang. -#if FMT_CLANG_VERSION -# pragma clang diagnostic ignored "-Wweak-vtables" -#endif +FMT_PRAGMA_CLANG(diagnostic ignored "-Wweak-vtables") -/** An error reported from a formatting function. */ +/// An error reported from a formatting function. class FMT_SO_VISIBILITY("default") format_error : public std::runtime_error { public: using std::runtime_error::runtime_error; }; -namespace detail_exported { -#if FMT_USE_NONTYPE_TEMPLATE_ARGS +class loc_value; + +FMT_END_EXPORT +namespace detail { +FMT_API auto write_console(int fd, string_view text) -> bool; +FMT_API void print(FILE*, string_view); +} // namespace detail + +namespace detail { template struct fixed_string { - constexpr fixed_string(const Char (&str)[N]) { - detail::copy_str(static_cast(str), - str + N, data); + FMT_CONSTEXPR20 fixed_string(const Char (&s)[N]) { + detail::copy(static_cast(s), s + N, + data); } Char data[N] = {}; }; -#endif // Converts a compile-time string to basic_string_view. -template +FMT_EXPORT template constexpr auto compile_string_to_view(const Char (&s)[N]) -> basic_string_view { // Remove trailing NUL character if needed. Won't be present if this is used // with a raw character array (i.e. not defined as a string). return {s, N - (std::char_traits::to_int_type(s[N - 1]) == 0 ? 1 : 0)}; } -template -constexpr auto compile_string_to_view(detail::std_string_view s) +FMT_EXPORT template +constexpr auto compile_string_to_view(basic_string_view s) -> basic_string_view { - return {s.data(), s.size()}; + return s; } -} // namespace detail_exported - -class loc_value { - private: - basic_format_arg value_; - - public: - template ::value)> - loc_value(T value) : value_(detail::make_arg(value)) {} - - template ::value)> - loc_value(T) {} - - template auto visit(Visitor&& vis) -> decltype(vis(0)) { - return visit_format_arg(vis, value_); - } -}; - -// A locale facet that formats values in UTF-8. -// It is parameterized on the locale to avoid the heavy include. -template class format_facet : public Locale::facet { - private: - std::string separator_; - std::string grouping_; - std::string decimal_point_; - - protected: - virtual auto do_put(appender out, loc_value val, - const format_specs<>& specs) const -> bool; - - public: - static FMT_API typename Locale::id id; - - explicit format_facet(Locale& loc); - explicit format_facet(string_view sep = "", - std::initializer_list g = {3}, - std::string decimal_point = ".") - : separator_(sep.data(), sep.size()), - grouping_(g.begin(), g.end()), - decimal_point_(decimal_point) {} - - auto put(appender out, loc_value val, const format_specs<>& specs) const - -> bool { - return do_put(out, val, specs); - } -}; - -namespace detail { // Returns true if value is negative, false otherwise. // Same as `value < 0` but doesn't produce warnings if T is an unsigned type. @@ -1100,14 +974,6 @@ constexpr auto is_negative(T) -> bool { return false; } -template -FMT_CONSTEXPR auto is_supported_floating_point(T) -> bool { - if (std::is_same()) return FMT_USE_FLOAT; - if (std::is_same()) return FMT_USE_DOUBLE; - if (std::is_same()) return FMT_USE_LONG_DOUBLE; - return true; -} - // Smallest of uint32_t, uint64_t, uint128_t that is large enough to // represent all values of an integral type T. template @@ -1124,21 +990,22 @@ using uint64_or_128_t = conditional_t() <= 64, uint64_t, uint128_t>; (factor) * 100000000, (factor) * 1000000000 // Converts value in the range [0, 100) to a string. -constexpr auto digits2(size_t value) -> const char* { - // GCC generates slightly better code when value is pointer-size. - return &"0001020304050607080910111213141516171819" - "2021222324252627282930313233343536373839" - "4041424344454647484950515253545556575859" - "6061626364656667686970717273747576777879" - "8081828384858687888990919293949596979899"[value * 2]; -} - -// Sign is a template parameter to workaround a bug in gcc 4.8. -template constexpr auto sign(Sign s) -> Char { -#if !FMT_GCC_VERSION || FMT_GCC_VERSION >= 604 - static_assert(std::is_same::value, ""); -#endif - return static_cast("\0-+ "[s]); +// GCC generates slightly better code when value is pointer-size. +inline auto digits2(size_t value) -> const char* { + // Align data since unaligned access may be slower when crossing a + // hardware-specific boundary. + alignas(2) static const char data[] = + "0001020304050607080910111213141516171819" + "2021222324252627282930313233343536373839" + "4041424344454647484950515253545556575859" + "6061626364656667686970717273747576777879" + "8081828384858687888990919293949596979899"; + return &data[value * 2]; +} + +template constexpr auto getsign(sign s) -> Char { + return static_cast(((' ' << 24) | ('+' << 16) | ('-' << 8)) >> + (static_cast(s) * 8)); } template FMT_CONSTEXPR auto count_digits_fallback(T n) -> int { @@ -1186,9 +1053,7 @@ inline auto do_count_digits(uint64_t n) -> int { // except for n == 0 in which case count_digits returns 1. FMT_CONSTEXPR20 inline auto count_digits(uint64_t n) -> int { #ifdef FMT_BUILTIN_CLZLL - if (!is_constant_evaluated()) { - return do_count_digits(n); - } + if (!is_constant_evaluated() && !FMT_OPTIMIZE_SIZE) return do_count_digits(n); #endif return count_digits_fallback(n); } @@ -1238,9 +1103,7 @@ FMT_INLINE auto do_count_digits(uint32_t n) -> int { // Optional version of count_digits for better performance on 32-bit platforms. FMT_CONSTEXPR20 inline auto count_digits(uint32_t n) -> int { #ifdef FMT_BUILTIN_CLZ - if (!is_constant_evaluated()) { - return do_count_digits(n); - } + if (!is_constant_evaluated() && !FMT_OPTIMIZE_SIZE) return do_count_digits(n); #endif return count_digits_fallback(n); } @@ -1277,6 +1140,17 @@ template <> inline auto decimal_point(locale_ref loc) -> wchar_t { return decimal_point_impl(loc); } +#ifndef FMT_HEADER_ONLY +FMT_BEGIN_EXPORT +extern template FMT_API auto thousands_sep_impl(locale_ref) + -> thousands_sep_result; +extern template FMT_API auto thousands_sep_impl(locale_ref) + -> thousands_sep_result; +extern template FMT_API auto decimal_point_impl(locale_ref) -> char; +extern template FMT_API auto decimal_point_impl(locale_ref) -> wchar_t; +FMT_END_EXPORT +#endif // FMT_HEADER_ONLY + // Compares two characters for equality. template auto equal2(const Char* lhs, const char* rhs) -> bool { return lhs[0] == Char(rhs[0]) && lhs[1] == Char(rhs[1]); @@ -1285,83 +1159,99 @@ inline auto equal2(const char* lhs, const char* rhs) -> bool { return memcmp(lhs, rhs, 2) == 0; } -// Copies two characters from src to dst. +// Writes a two-digit value to out. template -FMT_CONSTEXPR20 FMT_INLINE void copy2(Char* dst, const char* src) { - if (!is_constant_evaluated() && sizeof(Char) == sizeof(char)) { - memcpy(dst, src, 2); +FMT_CONSTEXPR20 FMT_INLINE void write2digits(Char* out, size_t value) { + if (!is_constant_evaluated() && std::is_same::value && + !FMT_OPTIMIZE_SIZE) { + memcpy(out, digits2(value), 2); return; } - *dst++ = static_cast(*src++); - *dst = static_cast(*src); + *out++ = static_cast('0' + value / 10); + *out = static_cast('0' + value % 10); } -template struct format_decimal_result { - Iterator begin; - Iterator end; -}; - -// Formats a decimal unsigned integer value writing into out pointing to a -// buffer of specified size. The caller must ensure that the buffer is large -// enough. +// Formats a decimal unsigned integer value writing to out pointing to a buffer +// of specified size. The caller must ensure that the buffer is large enough. template -FMT_CONSTEXPR20 auto format_decimal(Char* out, UInt value, int size) - -> format_decimal_result { +FMT_CONSTEXPR20 auto do_format_decimal(Char* out, UInt value, int size) + -> Char* { FMT_ASSERT(size >= count_digits(value), "invalid digit count"); - out += size; - Char* end = out; + unsigned n = to_unsigned(size); while (value >= 100) { // Integer division is slow so do it for a group of two digits instead // of for every digit. The idea comes from the talk by Alexandrescu // "Three Optimization Tips for C++". See speed-test for a comparison. - out -= 2; - copy2(out, digits2(static_cast(value % 100))); + n -= 2; + write2digits(out + n, static_cast(value % 100)); value /= 100; } - if (value < 10) { - *--out = static_cast('0' + value); - return {out, end}; + if (value >= 10) { + n -= 2; + write2digits(out + n, static_cast(value)); + } else { + out[--n] = static_cast('0' + value); } - out -= 2; - copy2(out, digits2(static_cast(value))); - return {out, end}; -} - -template >::value)> -FMT_CONSTEXPR inline auto format_decimal(Iterator out, UInt value, int size) - -> format_decimal_result { - // Buffer is large enough to hold all digits (digits10 + 1). - Char buffer[digits10() + 1] = {}; - auto end = format_decimal(buffer, value, size).end; - return {out, detail::copy_str_noinline(buffer, end, out)}; + return out + n; } -template -FMT_CONSTEXPR auto format_uint(Char* buffer, UInt value, int num_digits, - bool upper = false) -> Char* { - buffer += num_digits; - Char* end = buffer; - do { - const char* digits = upper ? "0123456789ABCDEF" : "0123456789abcdef"; - unsigned digit = static_cast(value & ((1 << BASE_BITS) - 1)); - *--buffer = static_cast(BASE_BITS < 4 ? static_cast('0' + digit) - : digits[digit]); - } while ((value >>= BASE_BITS) != 0); - return end; +template +FMT_CONSTEXPR FMT_INLINE auto format_decimal(Char* out, UInt value, + int num_digits) -> Char* { + do_format_decimal(out, value, num_digits); + return out + num_digits; } -template -FMT_CONSTEXPR inline auto format_uint(It out, UInt value, int num_digits, - bool upper = false) -> It { +template ::value)> +FMT_CONSTEXPR auto format_decimal(OutputIt out, UInt value, int num_digits) + -> OutputIt { if (auto ptr = to_pointer(out, to_unsigned(num_digits))) { - format_uint(ptr, value, num_digits, upper); + do_format_decimal(ptr, value, num_digits); return out; } - // Buffer should be large enough to hold all digits (digits / BASE_BITS + 1). - char buffer[num_bits() / BASE_BITS + 1] = {}; - format_uint(buffer, value, num_digits, upper); - return detail::copy_str_noinline(buffer, buffer + num_digits, out); + // Buffer is large enough to hold all digits (digits10 + 1). + char buffer[digits10() + 1]; + if (is_constant_evaluated()) fill_n(buffer, sizeof(buffer), '\0'); + do_format_decimal(buffer, value, num_digits); + return copy_noinline(buffer, buffer + num_digits, out); +} + +template +FMT_CONSTEXPR auto do_format_base2e(int base_bits, Char* out, UInt value, + int size, bool upper = false) -> Char* { + out += size; + do { + const char* digits = upper ? "0123456789ABCDEF" : "0123456789abcdef"; + unsigned digit = static_cast(value & ((1 << base_bits) - 1)); + *--out = static_cast(base_bits < 4 ? static_cast('0' + digit) + : digits[digit]); + } while ((value >>= base_bits) != 0); + return out; +} + +// Formats an unsigned integer in the power of two base (binary, octal, hex). +template +FMT_CONSTEXPR auto format_base2e(int base_bits, Char* out, UInt value, + int num_digits, bool upper = false) -> Char* { + do_format_base2e(base_bits, out, value, num_digits, upper); + return out + num_digits; +} + +template ::value)> +FMT_CONSTEXPR inline auto format_base2e(int base_bits, OutputIt out, UInt value, + int num_digits, bool upper = false) + -> OutputIt { + if (auto ptr = to_pointer(out, to_unsigned(num_digits))) { + format_base2e(base_bits, ptr, value, num_digits, upper); + return out; + } + // Make buffer large enough for any base. + char buffer[num_bits()]; + if (is_constant_evaluated()) fill_n(buffer, sizeof(buffer), '\0'); + format_base2e(base_bits, buffer, value, num_digits, upper); + return detail::copy_noinline(buffer, buffer + num_digits, out); } // A converter from UTF-8 to UTF-16. @@ -1371,10 +1261,12 @@ class utf8_to_utf16 { public: FMT_API explicit utf8_to_utf16(string_view s); - operator basic_string_view() const { return {&buffer_[0], size()}; } - auto size() const -> size_t { return buffer_.size() - 1; } - auto c_str() const -> const wchar_t* { return &buffer_[0]; } - auto str() const -> std::wstring { return {&buffer_[0], size()}; } + inline operator basic_string_view() const { + return {&buffer_[0], size()}; + } + inline auto size() const -> size_t { return buffer_.size() - 1; } + inline auto c_str() const -> const wchar_t* { return &buffer_[0]; } + inline auto str() const -> std::wstring { return {&buffer_[0], size()}; } }; enum class to_utf8_error_policy { abort, replace }; @@ -1421,10 +1313,12 @@ template class to_utf8 { if (policy == to_utf8_error_policy::abort) return false; buf.append(string_view("\xEF\xBF\xBD")); --p; + continue; } else { c = (c << 10) + static_cast(*p) - 0x35fdc00; } - } else if (c < 0x80) { + } + if (c < 0x80) { buf.push_back(static_cast(c)); } else if (c < 0x800) { buf.push_back(static_cast(0xc0 | (c >> 6))); @@ -1592,25 +1486,30 @@ template constexpr auto exponent_bias() -> int { } // Writes the exponent exp in the form "[+-]d{2,3}" to buffer. -template -FMT_CONSTEXPR auto write_exponent(int exp, It it) -> It { +template +FMT_CONSTEXPR auto write_exponent(int exp, OutputIt out) -> OutputIt { FMT_ASSERT(-10000 < exp && exp < 10000, "exponent out of range"); if (exp < 0) { - *it++ = static_cast('-'); + *out++ = static_cast('-'); exp = -exp; } else { - *it++ = static_cast('+'); + *out++ = static_cast('+'); } - if (exp >= 100) { - const char* top = digits2(to_unsigned(exp / 100)); - if (exp >= 1000) *it++ = static_cast(top[0]); - *it++ = static_cast(top[1]); - exp %= 100; - } - const char* d = digits2(to_unsigned(exp)); - *it++ = static_cast(d[0]); - *it++ = static_cast(d[1]); - return it; + auto uexp = static_cast(exp); + if (is_constant_evaluated()) { + if (uexp < 10) *out++ = '0'; + return format_decimal(out, uexp, count_digits(uexp)); + } + if (uexp >= 100u) { + const char* top = digits2(uexp / 100); + if (uexp >= 1000u) *out++ = static_cast(top[0]); + *out++ = static_cast(top[1]); + uexp %= 100; + } + const char* d = digits2(uexp); + *out++ = static_cast(d[0]); + *out++ = static_cast(d[1]); + return out; } // A floating-point number f * pow(2, e) where F is an unsigned type. @@ -1711,67 +1610,69 @@ constexpr auto convert_float(T value) -> convert_float_result { return static_cast>(value); } -template +template FMT_NOINLINE FMT_CONSTEXPR auto fill(OutputIt it, size_t n, - const fill_t& fill) -> OutputIt { - auto fill_size = fill.size(); - if (fill_size == 1) return detail::fill_n(it, n, fill[0]); - auto data = fill.data(); - for (size_t i = 0; i < n; ++i) - it = copy_str(data, data + fill_size, it); + const basic_specs& specs) -> OutputIt { + auto fill_size = specs.fill_size(); + if (fill_size == 1) return detail::fill_n(it, n, specs.fill_unit()); + if (const Char* data = specs.fill()) { + for (size_t i = 0; i < n; ++i) it = copy(data, data + fill_size, it); + } return it; } // Writes the output of f, padded according to format specifications in specs. // size: output size in code units. // width: output display width in (terminal) column positions. -template -FMT_CONSTEXPR auto write_padded(OutputIt out, const format_specs& specs, +FMT_CONSTEXPR auto write_padded(OutputIt out, const format_specs& specs, size_t size, size_t width, F&& f) -> OutputIt { - static_assert(align == align::left || align == align::right, ""); + static_assert(default_align == align::left || default_align == align::right, + ""); unsigned spec_width = to_unsigned(specs.width); size_t padding = spec_width > width ? spec_width - width : 0; // Shifts are encoded as string literals because static constexpr is not // supported in constexpr functions. - auto* shifts = align == align::left ? "\x1f\x1f\x00\x01" : "\x00\x1f\x00\x01"; - size_t left_padding = padding >> shifts[specs.align]; + auto* shifts = + default_align == align::left ? "\x1f\x1f\x00\x01" : "\x00\x1f\x00\x01"; + size_t left_padding = padding >> shifts[static_cast(specs.align())]; size_t right_padding = padding - left_padding; - auto it = reserve(out, size + padding * specs.fill.size()); - if (left_padding != 0) it = fill(it, left_padding, specs.fill); + auto it = reserve(out, size + padding * specs.fill_size()); + if (left_padding != 0) it = fill(it, left_padding, specs); it = f(it); - if (right_padding != 0) it = fill(it, right_padding, specs.fill); + if (right_padding != 0) it = fill(it, right_padding, specs); return base_iterator(out, it); } -template -constexpr auto write_padded(OutputIt out, const format_specs& specs, +constexpr auto write_padded(OutputIt out, const format_specs& specs, size_t size, F&& f) -> OutputIt { - return write_padded(out, specs, size, size, f); + return write_padded(out, specs, size, size, f); } -template +template FMT_CONSTEXPR auto write_bytes(OutputIt out, string_view bytes, - const format_specs& specs) -> OutputIt { - return write_padded( + const format_specs& specs = {}) -> OutputIt { + return write_padded( out, specs, bytes.size(), [bytes](reserve_iterator it) { const char* data = bytes.data(); - return copy_str(data, data + bytes.size(), it); + return copy(data, data + bytes.size(), it); }); } template -auto write_ptr(OutputIt out, UIntPtr value, const format_specs* specs) +auto write_ptr(OutputIt out, UIntPtr value, const format_specs* specs) -> OutputIt { int num_digits = count_digits<4>(value); auto size = to_unsigned(num_digits) + size_t(2); auto write = [=](reserve_iterator it) { *it++ = static_cast('0'); *it++ = static_cast('x'); - return format_uint<4, Char>(it, value, num_digits); + return format_base2e(4, it, value, num_digits); }; - return specs ? write_padded(out, *specs, size, write) + return specs ? write_padded(out, *specs, size, write) : base_iterator(out, write(reserve(out, size))); } @@ -1779,8 +1680,9 @@ auto write_ptr(OutputIt out, UIntPtr value, const format_specs* specs) FMT_API auto is_printable(uint32_t cp) -> bool; inline auto needs_escape(uint32_t cp) -> bool { - return cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\' || - !is_printable(cp); + if (cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\') return true; + if (const_check(FMT_OPTIMIZE_SIZE > 1)) return false; + return !is_printable(cp); } template struct find_escape_result { @@ -1789,17 +1691,11 @@ template struct find_escape_result { uint32_t cp; }; -template -using make_unsigned_char = - typename conditional_t::value, - std::make_unsigned, - type_identity>::type; - template auto find_escape(const Char* begin, const Char* end) -> find_escape_result { for (; begin != end; ++begin) { - uint32_t cp = static_cast>(*begin); + uint32_t cp = static_cast>(*begin); if (const_check(sizeof(Char) == 1) && cp >= 0x80) continue; if (needs_escape(cp)) return {begin, begin + 1, cp}; } @@ -1808,7 +1704,7 @@ auto find_escape(const Char* begin, const Char* end) inline auto find_escape(const char* begin, const char* end) -> find_escape_result { - if (!is_utf8()) return find_escape(begin, end); + if (const_check(!use_utf8)) return find_escape(begin, end); auto result = find_escape_result{end, nullptr, 0}; for_each_codepoint(string_view(begin, to_unsigned(end - begin)), [&](uint32_t cp, string_view sv) { @@ -1821,40 +1717,14 @@ inline auto find_escape(const char* begin, const char* end) return result; } -#define FMT_STRING_IMPL(s, base, explicit) \ - [] { \ - /* Use the hidden visibility as a workaround for a GCC bug (#1973). */ \ - /* Use a macro-like name to avoid shadowing warnings. */ \ - struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base { \ - using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t; \ - FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit \ - operator fmt::basic_string_view() const { \ - return fmt::detail_exported::compile_string_to_view(s); \ - } \ - }; \ - return FMT_COMPILE_STRING(); \ - }() - -/** - \rst - Constructs a compile-time format string from a string literal *s*. - - **Example**:: - - // A compile-time error because 'd' is an invalid specifier for strings. - std::string s = fmt::format(FMT_STRING("{:d}"), "foo"); - \endrst - */ -#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, ) - template auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt { *out++ = static_cast('\\'); *out++ = static_cast(prefix); Char buf[width]; fill_n(buf, width, static_cast('0')); - format_uint<4>(buf, cp, width); - return copy_str(buf, buf + width, out); + format_base2e(4, buf, cp, width); + return copy(buf, buf + width, out); } template @@ -1874,23 +1744,15 @@ auto write_escaped_cp(OutputIt out, const find_escape_result& escape) *out++ = static_cast('\\'); c = static_cast('t'); break; - case '"': - FMT_FALLTHROUGH; - case '\'': - FMT_FALLTHROUGH; - case '\\': - *out++ = static_cast('\\'); - break; + case '"': FMT_FALLTHROUGH; + case '\'': FMT_FALLTHROUGH; + case '\\': *out++ = static_cast('\\'); break; default: - if (escape.cp < 0x100) { - return write_codepoint<2, Char>(out, 'x', escape.cp); - } - if (escape.cp < 0x10000) { + if (escape.cp < 0x100) return write_codepoint<2, Char>(out, 'x', escape.cp); + if (escape.cp < 0x10000) return write_codepoint<4, Char>(out, 'u', escape.cp); - } - if (escape.cp < 0x110000) { + if (escape.cp < 0x110000) return write_codepoint<8, Char>(out, 'U', escape.cp); - } for (Char escape_char : basic_string_view( escape.begin, to_unsigned(escape.end - escape.begin))) { out = write_codepoint<2, Char>(out, 'x', @@ -1909,7 +1771,7 @@ auto write_escaped_string(OutputIt out, basic_string_view str) auto begin = str.begin(), end = str.end(); do { auto escape = find_escape(begin, end); - out = copy_str(begin, escape.begin, out); + out = copy(begin, escape.begin, out); begin = escape.end; if (!begin) break; out = write_escaped_cp(out, escape); @@ -1936,74 +1798,23 @@ auto write_escaped_char(OutputIt out, Char v) -> OutputIt { template FMT_CONSTEXPR auto write_char(OutputIt out, Char value, - const format_specs& specs) -> OutputIt { - bool is_debug = specs.type == presentation_type::debug; - return write_padded(out, specs, 1, [=](reserve_iterator it) { + const format_specs& specs) -> OutputIt { + bool is_debug = specs.type() == presentation_type::debug; + return write_padded(out, specs, 1, [=](reserve_iterator it) { if (is_debug) return write_escaped_char(it, value); *it++ = value; return it; }); } template -FMT_CONSTEXPR auto write(OutputIt out, Char value, - const format_specs& specs, locale_ref loc = {}) - -> OutputIt { +FMT_CONSTEXPR auto write(OutputIt out, Char value, const format_specs& specs, + locale_ref loc = {}) -> OutputIt { // char is formatted as unsigned char for consistency across platforms. using unsigned_type = conditional_t::value, unsigned char, unsigned>; return check_char_specs(specs) - ? write_char(out, value, specs) - : write(out, static_cast(value), specs, loc); -} - -// Data for write_int that doesn't depend on output iterator type. It is used to -// avoid template code bloat. -template struct write_int_data { - size_t size; - size_t padding; - - FMT_CONSTEXPR write_int_data(int num_digits, unsigned prefix, - const format_specs& specs) - : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) { - if (specs.align == align::numeric) { - auto width = to_unsigned(specs.width); - if (width > size) { - padding = width - size; - size = width; - } - } else if (specs.precision > num_digits) { - size = (prefix >> 24) + to_unsigned(specs.precision); - padding = to_unsigned(specs.precision - num_digits); - } - } -}; - -// Writes an integer in the format -// -// where are written by write_digits(it). -// prefix contains chars in three lower bytes and the size in the fourth byte. -template -FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, int num_digits, - unsigned prefix, - const format_specs& specs, - W write_digits) -> OutputIt { - // Slightly faster check for specs.width == 0 && specs.precision == -1. - if ((specs.width | (specs.precision + 1)) == 0) { - auto it = reserve(out, to_unsigned(num_digits) + (prefix >> 24)); - if (prefix != 0) { - for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8) - *it++ = static_cast(p & 0xff); - } - return base_iterator(out, write_digits(it)); - } - auto data = write_int_data(num_digits, prefix, specs); - return write_padded( - out, specs, data.size, [=](reserve_iterator it) { - for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8) - *it++ = static_cast(p & 0xff); - it = detail::fill_n(it, data.padding, static_cast('0')); - return write_digits(it); - }); + ? write_char(out, value, specs) + : write(out, static_cast(value), specs, loc); } template class digit_grouping { @@ -2028,7 +1839,9 @@ template class digit_grouping { } public: - explicit digit_grouping(locale_ref loc, bool localized = true) { + template ::value)> + explicit digit_grouping(Locale loc, bool localized = true) { if (!localized) return; auto sep = thousands_sep(loc); grouping_ = sep.grouping; @@ -2060,9 +1873,8 @@ template class digit_grouping { for (int i = 0, sep_index = static_cast(separators.size() - 1); i < num_digits; ++i) { if (num_digits - i == separators[sep_index]) { - out = - copy_str(thousands_sep_.data(), - thousands_sep_.data() + thousands_sep_.size(), out); + out = copy(thousands_sep_.data(), + thousands_sep_.data() + thousands_sep_.size(), out); --sep_index; } *out++ = static_cast(digits[to_unsigned(i)]); @@ -2079,54 +1891,45 @@ FMT_CONSTEXPR inline void prefix_append(unsigned& prefix, unsigned value) { // Writes a decimal integer with digit grouping. template auto write_int(OutputIt out, UInt value, unsigned prefix, - const format_specs& specs, - const digit_grouping& grouping) -> OutputIt { + const format_specs& specs, const digit_grouping& grouping) + -> OutputIt { static_assert(std::is_same, UInt>::value, ""); int num_digits = 0; auto buffer = memory_buffer(); - switch (specs.type) { + switch (specs.type()) { + default: FMT_ASSERT(false, ""); FMT_FALLTHROUGH; case presentation_type::none: - case presentation_type::dec: { + case presentation_type::dec: num_digits = count_digits(value); format_decimal(appender(buffer), value, num_digits); break; - } - case presentation_type::hex_lower: - case presentation_type::hex_upper: { - bool upper = specs.type == presentation_type::hex_upper; - if (specs.alt) - prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0'); + case presentation_type::hex: + if (specs.alt()) + prefix_append(prefix, unsigned(specs.upper() ? 'X' : 'x') << 8 | '0'); num_digits = count_digits<4>(value); - format_uint<4, char>(appender(buffer), value, num_digits, upper); - break; - } - case presentation_type::bin_lower: - case presentation_type::bin_upper: { - bool upper = specs.type == presentation_type::bin_upper; - if (specs.alt) - prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0'); - num_digits = count_digits<1>(value); - format_uint<1, char>(appender(buffer), value, num_digits); + format_base2e(4, appender(buffer), value, num_digits, specs.upper()); break; - } - case presentation_type::oct: { + case presentation_type::oct: num_digits = count_digits<3>(value); // Octal prefix '0' is counted as a digit, so only add it if precision // is not greater than the number of digits. - if (specs.alt && specs.precision <= num_digits && value != 0) + if (specs.alt() && specs.precision <= num_digits && value != 0) prefix_append(prefix, '0'); - format_uint<3, char>(appender(buffer), value, num_digits); + format_base2e(3, appender(buffer), value, num_digits); + break; + case presentation_type::bin: + if (specs.alt()) + prefix_append(prefix, unsigned(specs.upper() ? 'B' : 'b') << 8 | '0'); + num_digits = count_digits<1>(value); + format_base2e(1, appender(buffer), value, num_digits); break; - } case presentation_type::chr: - return write_char(out, static_cast(value), specs); - default: - throw_format_error("invalid format specifier"); + return write_char(out, static_cast(value), specs); } unsigned size = (prefix != 0 ? prefix >> 24 : 0) + to_unsigned(num_digits) + to_unsigned(grouping.count_separators(num_digits)); - return write_padded( + return write_padded( out, specs, size, size, [&](reserve_iterator it) { for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8) *it++ = static_cast(p & 0xff); @@ -2134,11 +1937,13 @@ auto write_int(OutputIt out, UInt value, unsigned prefix, }); } +#if FMT_USE_LOCALE // Writes a localized value. -FMT_API auto write_loc(appender out, loc_value value, - const format_specs<>& specs, locale_ref loc) -> bool; -template -inline auto write_loc(OutputIt, loc_value, const format_specs&, +FMT_API auto write_loc(appender out, loc_value value, const format_specs& specs, + locale_ref loc) -> bool; +#endif +template +inline auto write_loc(OutputIt, const loc_value&, const format_specs&, locale_ref) -> bool { return false; } @@ -2149,7 +1954,7 @@ template struct write_int_arg { }; template -FMT_CONSTEXPR auto make_write_int_arg(T value, sign_t sign) +FMT_CONSTEXPR auto make_write_int_arg(T value, sign s) -> write_int_arg> { auto prefix = 0u; auto abs_value = static_cast>(value); @@ -2159,21 +1964,21 @@ FMT_CONSTEXPR auto make_write_int_arg(T value, sign_t sign) } else { constexpr const unsigned prefixes[4] = {0, 0, 0x1000000u | '+', 0x1000000u | ' '}; - prefix = prefixes[sign]; + prefix = prefixes[static_cast(s)]; } return {abs_value, prefix}; } template struct loc_writer { - buffer_appender out; - const format_specs& specs; + basic_appender out; + const format_specs& specs; std::basic_string sep; std::string grouping; std::basic_string decimal_point; template ::value)> auto operator()(T value) -> bool { - auto arg = make_write_int_arg(value, specs.sign); + auto arg = make_write_int_arg(value, specs.sign()); write_int(out, static_cast>(arg.abs_value), arg.prefix, specs, digit_grouping(grouping, sep)); return true; @@ -2185,167 +1990,162 @@ template struct loc_writer { } }; +// Size and padding computation separate from write_int to avoid template bloat. +struct size_padding { + unsigned size; + unsigned padding; + + FMT_CONSTEXPR size_padding(int num_digits, unsigned prefix, + const format_specs& specs) + : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) { + if (specs.align() == align::numeric) { + auto width = to_unsigned(specs.width); + if (width > size) { + padding = width - size; + size = width; + } + } else if (specs.precision > num_digits) { + size = (prefix >> 24) + to_unsigned(specs.precision); + padding = to_unsigned(specs.precision - num_digits); + } + } +}; + template FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, write_int_arg arg, - const format_specs& specs, - locale_ref) -> OutputIt { + const format_specs& specs) -> OutputIt { static_assert(std::is_same>::value, ""); + + constexpr int buffer_size = num_bits(); + char buffer[buffer_size]; + if (is_constant_evaluated()) fill_n(buffer, buffer_size, '\0'); + const char* begin = nullptr; + const char* end = buffer + buffer_size; + auto abs_value = arg.abs_value; auto prefix = arg.prefix; - switch (specs.type) { + switch (specs.type()) { + default: FMT_ASSERT(false, ""); FMT_FALLTHROUGH; case presentation_type::none: - case presentation_type::dec: { - auto num_digits = count_digits(abs_value); - return write_int( - out, num_digits, prefix, specs, [=](reserve_iterator it) { - return format_decimal(it, abs_value, num_digits).end; - }); - } - case presentation_type::hex_lower: - case presentation_type::hex_upper: { - bool upper = specs.type == presentation_type::hex_upper; - if (specs.alt) - prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0'); - int num_digits = count_digits<4>(abs_value); - return write_int( - out, num_digits, prefix, specs, [=](reserve_iterator it) { - return format_uint<4, Char>(it, abs_value, num_digits, upper); - }); - } - case presentation_type::bin_lower: - case presentation_type::bin_upper: { - bool upper = specs.type == presentation_type::bin_upper; - if (specs.alt) - prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0'); - int num_digits = count_digits<1>(abs_value); - return write_int(out, num_digits, prefix, specs, - [=](reserve_iterator it) { - return format_uint<1, Char>(it, abs_value, num_digits); - }); - } + case presentation_type::dec: + begin = do_format_decimal(buffer, abs_value, buffer_size); + break; + case presentation_type::hex: + begin = do_format_base2e(4, buffer, abs_value, buffer_size, specs.upper()); + if (specs.alt()) + prefix_append(prefix, unsigned(specs.upper() ? 'X' : 'x') << 8 | '0'); + break; case presentation_type::oct: { - int num_digits = count_digits<3>(abs_value); + begin = do_format_base2e(3, buffer, abs_value, buffer_size); // Octal prefix '0' is counted as a digit, so only add it if precision // is not greater than the number of digits. - if (specs.alt && specs.precision <= num_digits && abs_value != 0) + auto num_digits = end - begin; + if (specs.alt() && specs.precision <= num_digits && abs_value != 0) prefix_append(prefix, '0'); - return write_int(out, num_digits, prefix, specs, - [=](reserve_iterator it) { - return format_uint<3, Char>(it, abs_value, num_digits); - }); + break; } + case presentation_type::bin: + begin = do_format_base2e(1, buffer, abs_value, buffer_size); + if (specs.alt()) + prefix_append(prefix, unsigned(specs.upper() ? 'B' : 'b') << 8 | '0'); + break; case presentation_type::chr: - return write_char(out, static_cast(abs_value), specs); - default: - throw_format_error("invalid format specifier"); + return write_char(out, static_cast(abs_value), specs); } - return out; + + // Write an integer in the format + // + // prefix contains chars in three lower bytes and the size in the fourth byte. + int num_digits = static_cast(end - begin); + // Slightly faster check for specs.width == 0 && specs.precision == -1. + if ((specs.width | (specs.precision + 1)) == 0) { + auto it = reserve(out, to_unsigned(num_digits) + (prefix >> 24)); + for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8) + *it++ = static_cast(p & 0xff); + return base_iterator(out, copy(begin, end, it)); + } + auto sp = size_padding(num_digits, prefix, specs); + unsigned padding = sp.padding; + return write_padded( + out, specs, sp.size, [=](reserve_iterator it) { + for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8) + *it++ = static_cast(p & 0xff); + it = detail::fill_n(it, padding, static_cast('0')); + return copy(begin, end, it); + }); } + template -FMT_CONSTEXPR FMT_NOINLINE auto write_int_noinline( - OutputIt out, write_int_arg arg, const format_specs& specs, - locale_ref loc) -> OutputIt { - return write_int(out, arg, specs, loc); +FMT_CONSTEXPR FMT_NOINLINE auto write_int_noinline(OutputIt out, + write_int_arg arg, + const format_specs& specs) + -> OutputIt { + return write_int(out, arg, specs); } -template ::value && !std::is_same::value && - std::is_same>::value)> -FMT_CONSTEXPR FMT_INLINE auto write(OutputIt out, T value, - const format_specs& specs, - locale_ref loc) -> OutputIt { - if (specs.localized && write_loc(out, value, specs, loc)) return out; - return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs, - loc); + !std::is_same::value)> +FMT_CONSTEXPR FMT_INLINE auto write(basic_appender out, T value, + const format_specs& specs, locale_ref loc) + -> basic_appender { + if (specs.localized() && write_loc(out, value, specs, loc)) return out; + return write_int_noinline(out, make_write_int_arg(value, specs.sign()), + specs); } + // An inlined version of write used in format string compilation. template ::value && !std::is_same::value && - !std::is_same>::value)> + !std::is_same::value && + !std::is_same>::value)> FMT_CONSTEXPR FMT_INLINE auto write(OutputIt out, T value, - const format_specs& specs, - locale_ref loc) -> OutputIt { - if (specs.localized && write_loc(out, value, specs, loc)) return out; - return write_int(out, make_write_int_arg(value, specs.sign), specs, loc); + const format_specs& specs, locale_ref loc) + -> OutputIt { + if (specs.localized() && write_loc(out, value, specs, loc)) return out; + return write_int(out, make_write_int_arg(value, specs.sign()), specs); } -// An output iterator that counts the number of objects written to it and -// discards them. -class counting_iterator { - private: - size_t count_; - - public: - using iterator_category = std::output_iterator_tag; - using difference_type = std::ptrdiff_t; - using pointer = void; - using reference = void; - FMT_UNCHECKED_ITERATOR(counting_iterator); - - struct value_type { - template FMT_CONSTEXPR void operator=(const T&) {} - }; - - FMT_CONSTEXPR counting_iterator() : count_(0) {} - - FMT_CONSTEXPR auto count() const -> size_t { return count_; } - - FMT_CONSTEXPR auto operator++() -> counting_iterator& { - ++count_; - return *this; - } - FMT_CONSTEXPR auto operator++(int) -> counting_iterator { - auto it = *this; - ++*this; - return it; - } - - FMT_CONSTEXPR friend auto operator+(counting_iterator it, difference_type n) - -> counting_iterator { - it.count_ += static_cast(n); - return it; - } - - FMT_CONSTEXPR auto operator*() const -> value_type { return {}; } -}; - template FMT_CONSTEXPR auto write(OutputIt out, basic_string_view s, - const format_specs& specs) -> OutputIt { + const format_specs& specs) -> OutputIt { auto data = s.data(); auto size = s.size(); if (specs.precision >= 0 && to_unsigned(specs.precision) < size) size = code_point_index(s, to_unsigned(specs.precision)); - bool is_debug = specs.type == presentation_type::debug; + + bool is_debug = specs.type() == presentation_type::debug; + if (is_debug) { + auto buf = counting_buffer(); + write_escaped_string(basic_appender(buf), s); + size = buf.count(); + } + size_t width = 0; if (specs.width != 0) { - if (is_debug) - width = write_escaped_string(counting_iterator{}, s).count(); - else - width = compute_width(basic_string_view(data, size)); + width = + is_debug ? size : compute_width(basic_string_view(data, size)); } - return write_padded(out, specs, size, width, - [=](reserve_iterator it) { - if (is_debug) return write_escaped_string(it, s); - return copy_str(data, data + size, it); - }); + return write_padded( + out, specs, size, width, [=](reserve_iterator it) { + return is_debug ? write_escaped_string(it, s) + : copy(data, data + size, it); + }); } template -FMT_CONSTEXPR auto write(OutputIt out, - basic_string_view> s, - const format_specs& specs, locale_ref) - -> OutputIt { - return write(out, s, specs); +FMT_CONSTEXPR auto write(OutputIt out, basic_string_view s, + const format_specs& specs, locale_ref) -> OutputIt { + return write(out, s, specs); } template -FMT_CONSTEXPR auto write(OutputIt out, const Char* s, - const format_specs& specs, locale_ref) - -> OutputIt { - if (specs.type == presentation_type::pointer) +FMT_CONSTEXPR auto write(OutputIt out, const Char* s, const format_specs& specs, + locale_ref) -> OutputIt { + if (specs.type() == presentation_type::pointer) return write_ptr(out, bit_cast(s), &specs); - if (!s) throw_format_error("string pointer is null"); - return write(out, basic_string_view(s), specs, {}); + if (!s) report_error("string pointer is null"); + return write(out, basic_string_view(s), specs, {}); } template OutputIt { if (negative) abs_value = ~abs_value + 1; int num_digits = count_digits(abs_value); auto size = (negative ? 1 : 0) + static_cast(num_digits); - auto it = reserve(out, size); - if (auto ptr = to_pointer(it, size)) { + if (auto ptr = to_pointer(out, size)) { if (negative) *ptr++ = static_cast('-'); format_decimal(ptr, abs_value, num_digits); return out; } - if (negative) *it++ = static_cast('-'); - it = format_decimal(it, abs_value, num_digits).end; - return base_iterator(out, it); + if (negative) *out++ = static_cast('-'); + return format_decimal(out, abs_value, num_digits); } -// DEPRECATED! template FMT_CONSTEXPR auto parse_align(const Char* begin, const Char* end, - format_specs& specs) -> const Char* { + format_specs& specs) -> const Char* { FMT_ASSERT(begin != end, ""); - auto align = align::none; + auto alignment = align::none; auto p = begin + code_point_length(begin); if (end - p <= 0) p = begin; for (;;) { switch (to_ascii(*p)) { - case '<': - align = align::left; - break; - case '>': - align = align::right; - break; - case '^': - align = align::center; - break; + case '<': alignment = align::left; break; + case '>': alignment = align::right; break; + case '^': alignment = align::center; break; } - if (align != align::none) { + if (alignment != align::none) { if (p != begin) { auto c = *begin; if (c == '}') return begin; if (c == '{') { - throw_format_error("invalid fill character '{'"); + report_error("invalid fill character '{'"); return begin; } - specs.fill = {begin, to_unsigned(p - begin)}; + specs.set_fill(basic_string_view(begin, to_unsigned(p - begin))); begin = p + 1; } else { ++begin; @@ -2409,88 +2200,27 @@ FMT_CONSTEXPR auto parse_align(const Char* begin, const Char* end, } p = begin; } - specs.align = align; + specs.set_align(alignment); return begin; } -// A floating-point presentation format. -enum class float_format : unsigned char { - general, // General: exponent notation or fixed point based on magnitude. - exp, // Exponent notation with the default precision of 6, e.g. 1.2e-3. - fixed, // Fixed point with the default precision of 6, e.g. 0.0012. - hex -}; - -struct float_specs { - int precision; - float_format format : 8; - sign_t sign : 8; - bool upper : 1; - bool locale : 1; - bool binary32 : 1; - bool showpoint : 1; -}; - -template -FMT_CONSTEXPR auto parse_float_type_spec(const format_specs& specs) - -> float_specs { - auto result = float_specs(); - result.showpoint = specs.alt; - result.locale = specs.localized; - switch (specs.type) { - case presentation_type::none: - result.format = float_format::general; - break; - case presentation_type::general_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::general_lower: - result.format = float_format::general; - break; - case presentation_type::exp_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::exp_lower: - result.format = float_format::exp; - result.showpoint |= specs.precision != 0; - break; - case presentation_type::fixed_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::fixed_lower: - result.format = float_format::fixed; - result.showpoint |= specs.precision != 0; - break; - case presentation_type::hexfloat_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::hexfloat_lower: - result.format = float_format::hex; - break; - default: - throw_format_error("invalid format specifier"); - break; - } - return result; -} - template FMT_CONSTEXPR20 auto write_nonfinite(OutputIt out, bool isnan, - format_specs specs, - const float_specs& fspecs) -> OutputIt { + format_specs specs, sign s) -> OutputIt { auto str = - isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf"); + isnan ? (specs.upper() ? "NAN" : "nan") : (specs.upper() ? "INF" : "inf"); constexpr size_t str_size = 3; - auto sign = fspecs.sign; - auto size = str_size + (sign ? 1 : 0); + auto size = str_size + (s != sign::none ? 1 : 0); // Replace '0'-padding with space for non-finite values. const bool is_zero_fill = - specs.fill.size() == 1 && *specs.fill.data() == static_cast('0'); - if (is_zero_fill) specs.fill[0] = static_cast(' '); - return write_padded(out, specs, size, [=](reserve_iterator it) { - if (sign) *it++ = detail::sign(sign); - return copy_str(str, str + str_size, it); - }); + specs.fill_size() == 1 && specs.fill_unit() == '0'; + if (is_zero_fill) specs.set_fill(' '); + return write_padded(out, specs, size, + [=](reserve_iterator it) { + if (s != sign::none) + *it++ = detail::getsign(s); + return copy(str, str + str_size, it); + }); } // A decimal floating-point number significand * pow(10, exp). @@ -2511,12 +2241,12 @@ inline auto get_significand_size(const dragonbox::decimal_fp& f) -> int { template constexpr auto write_significand(OutputIt out, const char* significand, int significand_size) -> OutputIt { - return copy_str(significand, significand + significand_size, out); + return copy(significand, significand + significand_size, out); } template inline auto write_significand(OutputIt out, UInt significand, int significand_size) -> OutputIt { - return format_decimal(out, significand, significand_size).end; + return format_decimal(out, significand, significand_size); } template FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, @@ -2536,14 +2266,13 @@ template ::value)> inline auto write_significand(Char* out, UInt significand, int significand_size, int integral_size, Char decimal_point) -> Char* { - if (!decimal_point) - return format_decimal(out, significand, significand_size).end; + if (!decimal_point) return format_decimal(out, significand, significand_size); out += significand_size + 1; Char* end = out; int floating_size = significand_size - integral_size; for (int i = floating_size / 2; i > 0; --i) { out -= 2; - copy2(out, digits2(static_cast(significand % 100))); + write2digits(out, static_cast(significand % 100)); significand /= 100; } if (floating_size % 2 != 0) { @@ -2564,19 +2293,19 @@ inline auto write_significand(OutputIt out, UInt significand, Char buffer[digits10() + 2]; auto end = write_significand(buffer, significand, significand_size, integral_size, decimal_point); - return detail::copy_str_noinline(buffer, end, out); + return detail::copy_noinline(buffer, end, out); } template FMT_CONSTEXPR auto write_significand(OutputIt out, const char* significand, int significand_size, int integral_size, Char decimal_point) -> OutputIt { - out = detail::copy_str_noinline(significand, - significand + integral_size, out); + out = detail::copy_noinline(significand, significand + integral_size, + out); if (!decimal_point) return out; *out++ = decimal_point; - return detail::copy_str_noinline(significand + integral_size, - significand + significand_size, out); + return detail::copy_noinline(significand + integral_size, + significand + significand_size, out); } template @@ -2589,44 +2318,42 @@ FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, decimal_point); } auto buffer = basic_memory_buffer(); - write_significand(buffer_appender(buffer), significand, - significand_size, integral_size, decimal_point); + write_significand(basic_appender(buffer), significand, significand_size, + integral_size, decimal_point); grouping.apply( out, basic_string_view(buffer.data(), to_unsigned(integral_size))); - return detail::copy_str_noinline(buffer.data() + integral_size, - buffer.end(), out); + return detail::copy_noinline(buffer.data() + integral_size, + buffer.end(), out); } -template > FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, - const format_specs& specs, - float_specs fspecs, locale_ref loc) - -> OutputIt { + const format_specs& specs, sign s, + locale_ref loc) -> OutputIt { auto significand = f.significand; int significand_size = get_significand_size(f); const Char zero = static_cast('0'); - auto sign = fspecs.sign; - size_t size = to_unsigned(significand_size) + (sign ? 1 : 0); + size_t size = to_unsigned(significand_size) + (s != sign::none ? 1 : 0); using iterator = reserve_iterator; - Char decimal_point = - fspecs.locale ? detail::decimal_point(loc) : static_cast('.'); + Char decimal_point = specs.localized() ? detail::decimal_point(loc) + : static_cast('.'); int output_exp = f.exponent + significand_size - 1; auto use_exp_format = [=]() { - if (fspecs.format == float_format::exp) return true; - if (fspecs.format != float_format::general) return false; + if (specs.type() == presentation_type::exp) return true; + if (specs.type() == presentation_type::fixed) return false; // Use the fixed notation if the exponent is in [exp_lower, exp_upper), // e.g. 0.0001 instead of 1e-04. Otherwise use the exponent notation. const int exp_lower = -4, exp_upper = 16; return output_exp < exp_lower || - output_exp >= (fspecs.precision > 0 ? fspecs.precision : exp_upper); + output_exp >= (specs.precision > 0 ? specs.precision : exp_upper); }; if (use_exp_format()) { int num_zeros = 0; - if (fspecs.showpoint) { - num_zeros = fspecs.precision - significand_size; + if (specs.alt()) { + num_zeros = specs.precision - significand_size; if (num_zeros < 0) num_zeros = 0; size += to_unsigned(num_zeros); } else if (significand_size == 1) { @@ -2637,9 +2364,9 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, if (abs_output_exp >= 100) exp_digits = abs_output_exp >= 1000 ? 4 : 3; size += to_unsigned((decimal_point ? 1 : 0) + 2 + exp_digits); - char exp_char = fspecs.upper ? 'E' : 'e'; + char exp_char = specs.upper() ? 'E' : 'e'; auto write = [=](iterator it) { - if (sign) *it++ = detail::sign(sign); + if (s != sign::none) *it++ = detail::getsign(s); // Insert a decimal point after the first digit and add an exponent. it = write_significand(it, significand, significand_size, 1, decimal_point); @@ -2647,39 +2374,41 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, *it++ = static_cast(exp_char); return write_exponent(output_exp, it); }; - return specs.width > 0 ? write_padded(out, specs, size, write) - : base_iterator(out, write(reserve(out, size))); + return specs.width > 0 + ? write_padded(out, specs, size, write) + : base_iterator(out, write(reserve(out, size))); } int exp = f.exponent + significand_size; if (f.exponent >= 0) { // 1234e5 -> 123400000[.0+] size += to_unsigned(f.exponent); - int num_zeros = fspecs.precision - exp; + int num_zeros = specs.precision - exp; abort_fuzzing_if(num_zeros > 5000); - if (fspecs.showpoint) { + if (specs.alt()) { ++size; - if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 0; + if (num_zeros <= 0 && specs.type() != presentation_type::fixed) + num_zeros = 0; if (num_zeros > 0) size += to_unsigned(num_zeros); } - auto grouping = Grouping(loc, fspecs.locale); + auto grouping = Grouping(loc, specs.localized()); size += to_unsigned(grouping.count_separators(exp)); - return write_padded(out, specs, size, [&](iterator it) { - if (sign) *it++ = detail::sign(sign); + return write_padded(out, specs, size, [&](iterator it) { + if (s != sign::none) *it++ = detail::getsign(s); it = write_significand(it, significand, significand_size, f.exponent, grouping); - if (!fspecs.showpoint) return it; + if (!specs.alt()) return it; *it++ = decimal_point; return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it; }); } else if (exp > 0) { // 1234e-2 -> 12.34[0+] - int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0; - size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0); - auto grouping = Grouping(loc, fspecs.locale); + int num_zeros = specs.alt() ? specs.precision - significand_size : 0; + size += 1 + static_cast(max_of(num_zeros, 0)); + auto grouping = Grouping(loc, specs.localized()); size += to_unsigned(grouping.count_separators(exp)); - return write_padded(out, specs, size, [&](iterator it) { - if (sign) *it++ = detail::sign(sign); + return write_padded(out, specs, size, [&](iterator it) { + if (s != sign::none) *it++ = detail::getsign(s); it = write_significand(it, significand, significand_size, exp, decimal_point, grouping); return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it; @@ -2687,14 +2416,14 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, } // 1234e-6 -> 0.001234 int num_zeros = -exp; - if (significand_size == 0 && fspecs.precision >= 0 && - fspecs.precision < num_zeros) { - num_zeros = fspecs.precision; + if (significand_size == 0 && specs.precision >= 0 && + specs.precision < num_zeros) { + num_zeros = specs.precision; } - bool pointy = num_zeros != 0 || significand_size != 0 || fspecs.showpoint; + bool pointy = num_zeros != 0 || significand_size != 0 || specs.alt(); size += 1 + (pointy ? 1 : 0) + to_unsigned(num_zeros); - return write_padded(out, specs, size, [&](iterator it) { - if (sign) *it++ = detail::sign(sign); + return write_padded(out, specs, size, [&](iterator it) { + if (s != sign::none) *it++ = detail::getsign(s); *it++ = zero; if (!pointy) return it; *it++ = decimal_point; @@ -2717,22 +2446,20 @@ template class fallback_digit_grouping { } }; -template +template FMT_CONSTEXPR20 auto write_float(OutputIt out, const DecimalFP& f, - const format_specs& specs, - float_specs fspecs, locale_ref loc) - -> OutputIt { + const format_specs& specs, sign s, + locale_ref loc) -> OutputIt { if (is_constant_evaluated()) { - return do_write_float>(out, f, specs, fspecs, - loc); + return do_write_float>(out, f, specs, s, loc); } else { - return do_write_float(out, f, specs, fspecs, loc); + return do_write_float(out, f, specs, s, loc); } } template constexpr auto isnan(T value) -> bool { - return !(value >= value); // std::isnan doesn't support __float128. + return value != value; // std::isnan doesn't support __float128. } template @@ -2780,52 +2507,48 @@ inline FMT_CONSTEXPR20 void adjust_precision(int& precision, int exp10) { class bigint { private: - // A bigint is stored as an array of bigits (big digits), with bigit at index - // 0 being the least significant one. - using bigit = uint32_t; + // A bigint is a number in the form bigit_[N - 1] ... bigit_[0] * 32^exp_. + using bigit = uint32_t; // A big digit. using double_bigit = uint64_t; + enum { bigit_bits = num_bits() }; enum { bigits_capacity = 32 }; basic_memory_buffer bigits_; int exp_; - FMT_CONSTEXPR20 auto operator[](int index) const -> bigit { - return bigits_[to_unsigned(index)]; - } - FMT_CONSTEXPR20 auto operator[](int index) -> bigit& { - return bigits_[to_unsigned(index)]; - } - - static constexpr const int bigit_bits = num_bits(); - friend struct formatter; - FMT_CONSTEXPR20 void subtract_bigits(int index, bigit other, bigit& borrow) { - auto result = static_cast((*this)[index]) - other - borrow; - (*this)[index] = static_cast(result); + FMT_CONSTEXPR auto get_bigit(int i) const -> bigit { + return i >= exp_ && i < num_bigits() ? bigits_[i - exp_] : 0; + } + + FMT_CONSTEXPR void subtract_bigits(int index, bigit other, bigit& borrow) { + auto result = double_bigit(bigits_[index]) - other - borrow; + bigits_[index] = static_cast(result); borrow = static_cast(result >> (bigit_bits * 2 - 1)); } - FMT_CONSTEXPR20 void remove_leading_zeros() { + FMT_CONSTEXPR void remove_leading_zeros() { int num_bigits = static_cast(bigits_.size()) - 1; - while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits; + while (num_bigits > 0 && bigits_[num_bigits] == 0) --num_bigits; bigits_.resize(to_unsigned(num_bigits + 1)); } // Computes *this -= other assuming aligned bigints and *this >= other. - FMT_CONSTEXPR20 void subtract_aligned(const bigint& other) { + FMT_CONSTEXPR void subtract_aligned(const bigint& other) { FMT_ASSERT(other.exp_ >= exp_, "unaligned bigints"); FMT_ASSERT(compare(*this, other) >= 0, ""); bigit borrow = 0; int i = other.exp_ - exp_; for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j) subtract_bigits(i, other.bigits_[j], borrow); - while (borrow > 0) subtract_bigits(i, 0, borrow); + if (borrow != 0) subtract_bigits(i, 0, borrow); + FMT_ASSERT(borrow == 0, ""); remove_leading_zeros(); } - FMT_CONSTEXPR20 void multiply(uint32_t value) { - const double_bigit wide_value = value; + FMT_CONSTEXPR void multiply(uint32_t value) { bigit carry = 0; + const double_bigit wide_value = value; for (size_t i = 0, n = bigits_.size(); i < n; ++i) { double_bigit result = bigits_[i] * wide_value + carry; bigits_[i] = static_cast(result); @@ -2836,7 +2559,7 @@ class bigint { template ::value || std::is_same::value)> - FMT_CONSTEXPR20 void multiply(UInt value) { + FMT_CONSTEXPR void multiply(UInt value) { using half_uint = conditional_t::value, uint64_t, uint32_t>; const int shift = num_bits() - bigit_bits; @@ -2857,7 +2580,7 @@ class bigint { template ::value || std::is_same::value)> - FMT_CONSTEXPR20 void assign(UInt n) { + FMT_CONSTEXPR void assign(UInt n) { size_t num_bigits = 0; do { bigits_[num_bigits++] = static_cast(n); @@ -2868,30 +2591,30 @@ class bigint { } public: - FMT_CONSTEXPR20 bigint() : exp_(0) {} + FMT_CONSTEXPR bigint() : exp_(0) {} explicit bigint(uint64_t n) { assign(n); } bigint(const bigint&) = delete; void operator=(const bigint&) = delete; - FMT_CONSTEXPR20 void assign(const bigint& other) { + FMT_CONSTEXPR void assign(const bigint& other) { auto size = other.bigits_.size(); bigits_.resize(size); auto data = other.bigits_.data(); - copy_str(data, data + size, bigits_.data()); + copy(data, data + size, bigits_.data()); exp_ = other.exp_; } - template FMT_CONSTEXPR20 void operator=(Int n) { + template FMT_CONSTEXPR void operator=(Int n) { FMT_ASSERT(n > 0, ""); assign(uint64_or_128_t(n)); } - FMT_CONSTEXPR20 auto num_bigits() const -> int { + FMT_CONSTEXPR auto num_bigits() const -> int { return static_cast(bigits_.size()) + exp_; } - FMT_NOINLINE FMT_CONSTEXPR20 auto operator<<=(int shift) -> bigint& { + FMT_CONSTEXPR auto operator<<=(int shift) -> bigint& { FMT_ASSERT(shift >= 0, ""); exp_ += shift / bigit_bits; shift %= bigit_bits; @@ -2906,49 +2629,39 @@ class bigint { return *this; } - template - FMT_CONSTEXPR20 auto operator*=(Int value) -> bigint& { + template FMT_CONSTEXPR auto operator*=(Int value) -> bigint& { FMT_ASSERT(value > 0, ""); multiply(uint32_or_64_or_128_t(value)); return *this; } - friend FMT_CONSTEXPR20 auto compare(const bigint& lhs, const bigint& rhs) - -> int { - int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits(); - if (num_lhs_bigits != num_rhs_bigits) - return num_lhs_bigits > num_rhs_bigits ? 1 : -1; - int i = static_cast(lhs.bigits_.size()) - 1; - int j = static_cast(rhs.bigits_.size()) - 1; + friend FMT_CONSTEXPR auto compare(const bigint& b1, const bigint& b2) -> int { + int num_bigits1 = b1.num_bigits(), num_bigits2 = b2.num_bigits(); + if (num_bigits1 != num_bigits2) return num_bigits1 > num_bigits2 ? 1 : -1; + int i = static_cast(b1.bigits_.size()) - 1; + int j = static_cast(b2.bigits_.size()) - 1; int end = i - j; if (end < 0) end = 0; for (; i >= end; --i, --j) { - bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j]; - if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1; + bigit b1_bigit = b1.bigits_[i], b2_bigit = b2.bigits_[j]; + if (b1_bigit != b2_bigit) return b1_bigit > b2_bigit ? 1 : -1; } if (i != j) return i > j ? 1 : -1; return 0; } // Returns compare(lhs1 + lhs2, rhs). - friend FMT_CONSTEXPR20 auto add_compare(const bigint& lhs1, - const bigint& lhs2, const bigint& rhs) - -> int { - auto minimum = [](int a, int b) { return a < b ? a : b; }; - auto maximum = [](int a, int b) { return a > b ? a : b; }; - int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits()); + friend FMT_CONSTEXPR auto add_compare(const bigint& lhs1, const bigint& lhs2, + const bigint& rhs) -> int { + int max_lhs_bigits = max_of(lhs1.num_bigits(), lhs2.num_bigits()); int num_rhs_bigits = rhs.num_bigits(); if (max_lhs_bigits + 1 < num_rhs_bigits) return -1; if (max_lhs_bigits > num_rhs_bigits) return 1; - auto get_bigit = [](const bigint& n, int i) -> bigit { - return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0; - }; double_bigit borrow = 0; - int min_exp = minimum(minimum(lhs1.exp_, lhs2.exp_), rhs.exp_); + int min_exp = min_of(min_of(lhs1.exp_, lhs2.exp_), rhs.exp_); for (int i = num_rhs_bigits - 1; i >= min_exp; --i) { - double_bigit sum = - static_cast(get_bigit(lhs1, i)) + get_bigit(lhs2, i); - bigit rhs_bigit = get_bigit(rhs, i); + double_bigit sum = double_bigit(lhs1.get_bigit(i)) + lhs2.get_bigit(i); + bigit rhs_bigit = rhs.get_bigit(i); if (sum > rhs_bigit + borrow) return 1; borrow = rhs_bigit + borrow - sum; if (borrow > 1) return -1; @@ -2961,10 +2674,8 @@ class bigint { FMT_CONSTEXPR20 void assign_pow10(int exp) { FMT_ASSERT(exp >= 0, ""); if (exp == 0) return *this = 1; - // Find the top bit. - int bitmask = 1; - while (exp >= bitmask) bitmask <<= 1; - bitmask >>= 1; + int bitmask = 1 << (num_bits() - + countl_zero(static_cast(exp)) - 1); // pow(10, exp) = pow(5, exp) * pow(2, exp). First compute pow(5, exp) by // repeated squaring and multiplication. *this = 5; @@ -2988,17 +2699,17 @@ class bigint { // cross-product terms n[i] * n[j] such that i + j == bigit_index. for (int i = 0, j = bigit_index; j >= 0; ++i, --j) { // Most terms are multiplied twice which can be optimized in the future. - sum += static_cast(n[i]) * n[j]; + sum += double_bigit(n[i]) * n[j]; } - (*this)[bigit_index] = static_cast(sum); + bigits_[bigit_index] = static_cast(sum); sum >>= num_bits(); // Compute the carry. } // Do the same for the top half. for (int bigit_index = num_bigits; bigit_index < num_result_bigits; ++bigit_index) { for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;) - sum += static_cast(n[i++]) * n[j--]; - (*this)[bigit_index] = static_cast(sum); + sum += double_bigit(n[i++]) * n[j--]; + bigits_[bigit_index] = static_cast(sum); sum >>= num_bits(); } remove_leading_zeros(); @@ -3007,20 +2718,20 @@ class bigint { // If this bigint has a bigger exponent than other, adds trailing zero to make // exponents equal. This simplifies some operations such as subtraction. - FMT_CONSTEXPR20 void align(const bigint& other) { + FMT_CONSTEXPR void align(const bigint& other) { int exp_difference = exp_ - other.exp_; if (exp_difference <= 0) return; int num_bigits = static_cast(bigits_.size()); bigits_.resize(to_unsigned(num_bigits + exp_difference)); for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j) bigits_[j] = bigits_[i]; - std::uninitialized_fill_n(bigits_.data(), exp_difference, 0u); + memset(bigits_.data(), 0, to_unsigned(exp_difference) * sizeof(bigit)); exp_ -= exp_difference; } // Divides this bignum by divisor, assigning the remainder to this and // returning the quotient. - FMT_CONSTEXPR20 auto divmod_assign(const bigint& divisor) -> int { + FMT_CONSTEXPR auto divmod_assign(const bigint& divisor) -> int { FMT_ASSERT(this != &divisor, ""); if (compare(*this, divisor) < 0) return 0; FMT_ASSERT(divisor.bigits_[divisor.bigits_.size() - 1u] != 0, ""); @@ -3139,8 +2850,11 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, // Generate the given number of digits. exp10 -= num_digits - 1; if (num_digits <= 0) { - denominator *= 10; - auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0'; + auto digit = '0'; + if (num_digits == 0) { + denominator *= 10; + digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0'; + } buf.push_back(digit); return; } @@ -3177,8 +2891,8 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, // Formats a floating-point number using the hexfloat format. template ::value)> -FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision, - float_specs specs, buffer& buf) { +FMT_CONSTEXPR20 void format_hexfloat(Float value, format_specs specs, + buffer& buf) { // float is passed as double to reduce the number of instantiations and to // simplify implementation. static_assert(!std::is_same::value, ""); @@ -3188,26 +2902,25 @@ FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision, // Assume Float is in the format [sign][exponent][significand]. using carrier_uint = typename info::carrier_uint; - constexpr auto num_float_significand_bits = - detail::num_significand_bits(); + const auto num_float_significand_bits = detail::num_significand_bits(); basic_fp f(value); f.e += num_float_significand_bits; if (!has_implicit_bit()) --f.e; - constexpr auto num_fraction_bits = + const auto num_fraction_bits = num_float_significand_bits + (has_implicit_bit() ? 1 : 0); - constexpr auto num_xdigits = (num_fraction_bits + 3) / 4; + const auto num_xdigits = (num_fraction_bits + 3) / 4; - constexpr auto leading_shift = ((num_xdigits - 1) * 4); + const auto leading_shift = ((num_xdigits - 1) * 4); const auto leading_mask = carrier_uint(0xF) << leading_shift; const auto leading_xdigit = static_cast((f.f & leading_mask) >> leading_shift); if (leading_xdigit > 1) f.e -= (32 - countl_zero(leading_xdigit) - 1); int print_xdigits = num_xdigits - 1; - if (precision >= 0 && print_xdigits > precision) { - const int shift = ((print_xdigits - precision - 1) * 4); + if (specs.precision >= 0 && print_xdigits > specs.precision) { + const int shift = ((print_xdigits - specs.precision - 1) * 4); const auto mask = carrier_uint(0xF) << shift; const auto v = static_cast((f.f & mask) >> shift); @@ -3226,25 +2939,25 @@ FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision, } } - print_xdigits = precision; + print_xdigits = specs.precision; } char xdigits[num_bits() / 4]; detail::fill_n(xdigits, sizeof(xdigits), '0'); - format_uint<4>(xdigits, f.f, num_xdigits, specs.upper); + format_base2e(4, xdigits, f.f, num_xdigits, specs.upper()); // Remove zero tail while (print_xdigits > 0 && xdigits[print_xdigits] == '0') --print_xdigits; buf.push_back('0'); - buf.push_back(specs.upper ? 'X' : 'x'); + buf.push_back(specs.upper() ? 'X' : 'x'); buf.push_back(xdigits[0]); - if (specs.showpoint || print_xdigits > 0 || print_xdigits < precision) + if (specs.alt() || print_xdigits > 0 || print_xdigits < specs.precision) buf.push_back('.'); buf.append(xdigits + 1, xdigits + 1 + print_xdigits); - for (; print_xdigits < precision; ++print_xdigits) buf.push_back('0'); + for (; print_xdigits < specs.precision; ++print_xdigits) buf.push_back('0'); - buf.push_back(specs.upper ? 'P' : 'p'); + buf.push_back(specs.upper() ? 'P' : 'p'); uint32_t abs_e; if (f.e < 0) { @@ -3258,9 +2971,9 @@ FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision, } template ::value)> -FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision, - float_specs specs, buffer& buf) { - format_hexfloat(static_cast(value), precision, specs, buf); +FMT_CONSTEXPR20 void format_hexfloat(Float value, format_specs specs, + buffer& buf) { + format_hexfloat(static_cast(value), specs, buf); } constexpr auto fractional_part_rounding_thresholds(int index) -> uint32_t { @@ -3275,15 +2988,15 @@ constexpr auto fractional_part_rounding_thresholds(int index) -> uint32_t { } template -FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, +FMT_CONSTEXPR20 auto format_float(Float value, int precision, + const format_specs& specs, bool binary32, buffer& buf) -> int { // float is passed as double to reduce the number of instantiations. static_assert(!std::is_same::value, ""); - FMT_ASSERT(value >= 0, "value is negative"); auto converted_value = convert_float(value); - const bool fixed = specs.format == float_format::fixed; - if (value <= 0) { // <= instead of == to silence a warning. + const bool fixed = specs.type() == presentation_type::fixed; + if (value == 0) { if (precision <= 0 || !fixed) { buf.push_back('0'); return 0; @@ -3308,16 +3021,6 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, exp = static_cast(e); if (e > exp) ++exp; // Compute ceil. dragon_flags = dragon::fixup; - } else if (precision < 0) { - // Use Dragonbox for the shortest format. - if (specs.binary32) { - auto dec = dragonbox::to_decimal(static_cast(value)); - write(buffer_appender(buf), dec.significand); - return dec.exponent; - } - auto dec = dragonbox::to_decimal(static_cast(value)); - write(buffer_appender(buf), dec.significand); - return dec.exponent; } else { // Extract significand bits and exponent bits. using info = dragonbox::float_info; @@ -3416,7 +3119,7 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, uint64_t prod; uint32_t digits; bool should_round_up; - int number_of_digits_to_print = precision > 9 ? 9 : precision; + int number_of_digits_to_print = min_of(precision, 9); // Print a 9-digits subsegment, either the first or the second. auto print_subsegment = [&](uint32_t subsegment, char* buffer) { @@ -3444,7 +3147,7 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, // for details. prod = ((subsegment * static_cast(450359963)) >> 20) + 1; digits = static_cast(prod >> 32); - copy2(buffer, digits2(digits)); + write2digits(buffer, digits); number_of_digits_printed += 2; } @@ -3452,7 +3155,7 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, while (number_of_digits_printed < number_of_digits_to_print) { prod = static_cast(prod) * static_cast(100); digits = static_cast(prod >> 32); - copy2(buffer + number_of_digits_printed, digits2(digits)); + write2digits(buffer + number_of_digits_printed, digits); number_of_digits_printed += 2; } }; @@ -3561,9 +3264,8 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, } if (use_dragon) { auto f = basic_fp(); - bool is_predecessor_closer = specs.binary32 - ? f.assign(static_cast(value)) - : f.assign(converted_value); + bool is_predecessor_closer = binary32 ? f.assign(static_cast(value)) + : f.assign(converted_value); if (is_predecessor_closer) dragon_flags |= dragon::predecessor_closer; if (fixed) dragon_flags |= dragon::fixed; // Limit precision to the maximum possible number of significant digits in @@ -3572,7 +3274,7 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, if (precision > max_double_digits) precision = max_double_digits; format_dragon(f, dragon_flags, precision, buf, exp); } - if (!fixed && !specs.showpoint) { + if (!fixed && !specs.alt()) { // Remove trailing zeros. auto num_digits = buf.size(); while (num_digits > 0 && buf[num_digits - 1] == '0') { @@ -3583,97 +3285,97 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, } return exp; } + template -FMT_CONSTEXPR20 auto write_float(OutputIt out, T value, - format_specs specs, locale_ref loc) - -> OutputIt { - float_specs fspecs = parse_float_type_spec(specs); - fspecs.sign = specs.sign; - if (detail::signbit(value)) { // value < 0 is false for NaN so use signbit. - fspecs.sign = sign::minus; - value = -value; - } else if (fspecs.sign == sign::minus) { - fspecs.sign = sign::none; - } +FMT_CONSTEXPR20 auto write_float(OutputIt out, T value, format_specs specs, + locale_ref loc) -> OutputIt { + // Use signbit because value < 0 is false for NaN. + sign s = detail::signbit(value) ? sign::minus : specs.sign(); if (!detail::isfinite(value)) - return write_nonfinite(out, detail::isnan(value), specs, fspecs); + return write_nonfinite(out, detail::isnan(value), specs, s); - if (specs.align == align::numeric && fspecs.sign) { - auto it = reserve(out, 1); - *it++ = detail::sign(fspecs.sign); - out = base_iterator(out, it); - fspecs.sign = sign::none; + if (specs.align() == align::numeric && s != sign::none) { + *out++ = detail::getsign(s); + s = sign::none; if (specs.width != 0) --specs.width; } + int precision = specs.precision; + if (precision < 0) { + if (specs.type() != presentation_type::none) { + precision = 6; + } else if (is_fast_float::value && !is_constant_evaluated()) { + // Use Dragonbox for the shortest format. + using floaty = conditional_t= sizeof(double), double, float>; + auto dec = dragonbox::to_decimal(static_cast(value)); + return write_float(out, dec, specs, s, loc); + } + } + memory_buffer buffer; - if (fspecs.format == float_format::hex) { - if (fspecs.sign) buffer.push_back(detail::sign(fspecs.sign)); - format_hexfloat(convert_float(value), specs.precision, fspecs, buffer); - return write_bytes(out, {buffer.data(), buffer.size()}, - specs); - } - int precision = specs.precision >= 0 || specs.type == presentation_type::none - ? specs.precision - : 6; - if (fspecs.format == float_format::exp) { + if (specs.type() == presentation_type::hexfloat) { + if (s != sign::none) buffer.push_back(detail::getsign(s)); + format_hexfloat(convert_float(value), specs, buffer); + return write_bytes(out, {buffer.data(), buffer.size()}, + specs); + } + + if (specs.type() == presentation_type::exp) { if (precision == max_value()) - throw_format_error("number is too big"); + report_error("number is too big"); else ++precision; - } else if (fspecs.format != float_format::fixed && precision == 0) { + if (specs.precision != 0) specs.set_alt(); + } else if (specs.type() == presentation_type::fixed) { + if (specs.precision != 0) specs.set_alt(); + } else if (precision == 0) { precision = 1; } - if (const_check(std::is_same())) fspecs.binary32 = true; - int exp = format_float(convert_float(value), precision, fspecs, buffer); - fspecs.precision = precision; + int exp = format_float(convert_float(value), precision, specs, + std::is_same(), buffer); + + specs.precision = precision; auto f = big_decimal_fp{buffer.data(), static_cast(buffer.size()), exp}; - return write_float(out, f, specs, fspecs, loc); + return write_float(out, f, specs, s, loc); } template ::value)> -FMT_CONSTEXPR20 auto write(OutputIt out, T value, format_specs specs, +FMT_CONSTEXPR20 auto write(OutputIt out, T value, format_specs specs, locale_ref loc = {}) -> OutputIt { - if (const_check(!is_supported_floating_point(value))) return out; - return specs.localized && write_loc(out, value, specs, loc) + return specs.localized() && write_loc(out, value, specs, loc) ? out - : write_float(out, value, specs, loc); + : write_float(out, value, specs, loc); } template ::value)> FMT_CONSTEXPR20 auto write(OutputIt out, T value) -> OutputIt { - if (is_constant_evaluated()) return write(out, value, format_specs()); - if (const_check(!is_supported_floating_point(value))) return out; + if (is_constant_evaluated()) return write(out, value, format_specs()); - auto fspecs = float_specs(); - if (detail::signbit(value)) { - fspecs.sign = sign::minus; - value = -value; - } + auto s = detail::signbit(value) ? sign::minus : sign::none; - constexpr auto specs = format_specs(); - using floaty = conditional_t::value, double, T>; + constexpr auto specs = format_specs(); + using floaty = conditional_t= sizeof(double), double, float>; using floaty_uint = typename dragonbox::float_info::carrier_uint; floaty_uint mask = exponent_mask(); if ((bit_cast(value) & mask) == mask) - return write_nonfinite(out, std::isnan(value), specs, fspecs); + return write_nonfinite(out, std::isnan(value), specs, s); auto dec = dragonbox::to_decimal(static_cast(value)); - return write_float(out, dec, specs, fspecs, {}); + return write_float(out, dec, specs, s, {}); } template ::value && !is_fast_float::value)> inline auto write(OutputIt out, T value) -> OutputIt { - return write(out, value, format_specs()); + return write(out, value, format_specs()); } template -auto write(OutputIt out, monostate, format_specs = {}, locale_ref = {}) +auto write(OutputIt out, monostate, format_specs = {}, locale_ref = {}) -> OutputIt { FMT_ASSERT(false, ""); return out; @@ -3682,13 +3384,11 @@ auto write(OutputIt out, monostate, format_specs = {}, locale_ref = {}) template FMT_CONSTEXPR auto write(OutputIt out, basic_string_view value) -> OutputIt { - auto it = reserve(out, value.size()); - it = copy_str_noinline(value.begin(), value.end(), it); - return base_iterator(out, it); + return copy_noinline(value.begin(), value.end(), out); } template ::value)> + FMT_ENABLE_IF(has_to_string_view::value)> constexpr auto write(OutputIt out, const T& value) -> OutputIt { return write(out, to_string_view(value)); } @@ -3696,10 +3396,8 @@ constexpr auto write(OutputIt out, const T& value) -> OutputIt { // FMT_ENABLE_IF() condition separated to workaround an MSVC bug. template < typename Char, typename OutputIt, typename T, - bool check = - std::is_enum::value && !std::is_same::value && - mapped_type_constant>::value != - type::custom_type, + bool check = std::is_enum::value && !std::is_same::value && + mapped_type_constant::value != type::custom_type, FMT_ENABLE_IF(check)> FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { return write(out, static_cast>(value)); @@ -3707,13 +3405,12 @@ FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { template ::value)> -FMT_CONSTEXPR auto write(OutputIt out, T value, - const format_specs& specs = {}, locale_ref = {}) - -> OutputIt { - return specs.type != presentation_type::none && - specs.type != presentation_type::string - ? write(out, value ? 1 : 0, specs, {}) - : write_bytes(out, value ? "true" : "false", specs); +FMT_CONSTEXPR auto write(OutputIt out, T value, const format_specs& specs = {}, + locale_ref = {}) -> OutputIt { + return specs.type() != presentation_type::none && + specs.type() != presentation_type::string + ? write(out, value ? 1 : 0, specs, {}) + : write_bytes(out, value ? "true" : "false", specs); } template @@ -3724,171 +3421,150 @@ FMT_CONSTEXPR auto write(OutputIt out, Char value) -> OutputIt { } template -FMT_CONSTEXPR_CHAR_TRAITS auto write(OutputIt out, const Char* value) - -> OutputIt { +FMT_CONSTEXPR20 auto write(OutputIt out, const Char* value) -> OutputIt { if (value) return write(out, basic_string_view(value)); - throw_format_error("string pointer is null"); + report_error("string pointer is null"); return out; } template ::value)> -auto write(OutputIt out, const T* value, const format_specs& specs = {}, +auto write(OutputIt out, const T* value, const format_specs& specs = {}, locale_ref = {}) -> OutputIt { return write_ptr(out, bit_cast(value), &specs); } -// A write overload that handles implicit conversions. template > -FMT_CONSTEXPR auto write(OutputIt out, const T& value) -> enable_if_t< - std::is_class::value && !is_string::value && - !is_floating_point::value && !std::is_same::value && - !std::is_same().map( - value))>>::value, - OutputIt> { - return write(out, arg_mapper().map(value)); + FMT_ENABLE_IF(mapped_type_constant::value == + type::custom_type && + !std::is_fundamental::value)> +FMT_CONSTEXPR auto write(OutputIt out, const T& value) -> OutputIt { + auto f = formatter(); + auto parse_ctx = parse_context({}); + f.parse(parse_ctx); + auto ctx = basic_format_context(out, {}, {}); + return f.format(value, ctx); } -template > -FMT_CONSTEXPR auto write(OutputIt out, const T& value) - -> enable_if_t::value == type::custom_type, - OutputIt> { - auto formatter = typename Context::template formatter_type(); - auto parse_ctx = typename Context::parse_context_type({}); - formatter.parse(parse_ctx); - auto ctx = Context(out, {}, {}); - return formatter.format(value, ctx); -} +template +using is_builtin = + bool_constant::value || FMT_BUILTIN_TYPES>; // An argument visitor that formats the argument and writes it via the output // iterator. It's a class and not a generic lambda for compatibility with C++11. template struct default_arg_formatter { - using iterator = buffer_appender; - using context = buffer_context; + using context = buffered_context; + + basic_appender out; - iterator out; - basic_format_args args; - locale_ref loc; + void operator()(monostate) { report_error("argument not found"); } + + template ::value)> + void operator()(T value) { + write(out, value); + } - template auto operator()(T value) -> iterator { - return write(out, value); + template ::value)> + void operator()(T) { + FMT_ASSERT(false, ""); } - auto operator()(typename basic_format_arg::handle h) -> iterator { - basic_format_parse_context parse_ctx({}); - context format_ctx(out, args, loc); + + void operator()(typename basic_format_arg::handle h) { + // Use a null locale since the default format must be unlocalized. + auto parse_ctx = parse_context({}); + auto format_ctx = context(out, {}, {}); h.format(parse_ctx, format_ctx); - return format_ctx.out(); } }; template struct arg_formatter { - using iterator = buffer_appender; - using context = buffer_context; - - iterator out; - const format_specs& specs; - locale_ref locale; + basic_appender out; + const format_specs& specs; + FMT_NO_UNIQUE_ADDRESS locale_ref locale; - template - FMT_CONSTEXPR FMT_INLINE auto operator()(T value) -> iterator { - return detail::write(out, value, specs, locale); - } - auto operator()(typename basic_format_arg::handle) -> iterator { - // User-defined types are handled separately because they require access - // to the parse context. - return out; + template ::value)> + FMT_CONSTEXPR FMT_INLINE void operator()(T value) { + detail::write(out, value, specs, locale); } -}; -struct width_checker { - template ::value)> - FMT_CONSTEXPR auto operator()(T value) -> unsigned long long { - if (is_negative(value)) throw_format_error("negative width"); - return static_cast(value); + template ::value)> + void operator()(T) { + FMT_ASSERT(false, ""); } - template ::value)> - FMT_CONSTEXPR auto operator()(T) -> unsigned long long { - throw_format_error("width is not integer"); - return 0; + void operator()(typename basic_format_arg>::handle) { + // User-defined types are handled separately because they require access + // to the parse context. } }; -struct precision_checker { +struct dynamic_spec_getter { template ::value)> FMT_CONSTEXPR auto operator()(T value) -> unsigned long long { - if (is_negative(value)) throw_format_error("negative precision"); - return static_cast(value); + return is_negative(value) ? ~0ull : static_cast(value); } template ::value)> FMT_CONSTEXPR auto operator()(T) -> unsigned long long { - throw_format_error("precision is not integer"); + report_error("width/precision is not integer"); return 0; } }; -template -FMT_CONSTEXPR auto get_dynamic_spec(FormatArg arg) -> int { - unsigned long long value = visit_format_arg(Handler(), arg); - if (value > to_unsigned(max_value())) - throw_format_error("number is too big"); - return static_cast(value); -} - template -FMT_CONSTEXPR auto get_arg(Context& ctx, ID id) -> decltype(ctx.arg(id)) { +FMT_CONSTEXPR auto get_arg(Context& ctx, ID id) -> basic_format_arg { auto arg = ctx.arg(id); - if (!arg) ctx.on_error("argument not found"); + if (!arg) report_error("argument not found"); return arg; } -template -FMT_CONSTEXPR void handle_dynamic_spec(int& value, - arg_ref ref, - Context& ctx) { - switch (ref.kind) { - case arg_id_kind::none: - break; - case arg_id_kind::index: - value = detail::get_dynamic_spec(get_arg(ctx, ref.val.index)); - break; - case arg_id_kind::name: - value = detail::get_dynamic_spec(get_arg(ctx, ref.val.name)); - break; - } +template +FMT_CONSTEXPR int get_dynamic_spec( + arg_id_kind kind, const arg_ref& ref, + Context& ctx) { + FMT_ASSERT(kind != arg_id_kind::none, ""); + auto arg = + kind == arg_id_kind::index ? ctx.arg(ref.index) : ctx.arg(ref.name); + if (!arg) report_error("argument not found"); + unsigned long long value = arg.visit(dynamic_spec_getter()); + if (value > to_unsigned(max_value())) + report_error("width/precision is out of range"); + return static_cast(value); +} + +template +FMT_CONSTEXPR void handle_dynamic_spec( + arg_id_kind kind, int& value, + const arg_ref& ref, Context& ctx) { + if (kind != arg_id_kind::none) value = get_dynamic_spec(kind, ref, ctx); } -#if FMT_USE_USER_DEFINED_LITERALS -# if FMT_USE_NONTYPE_TEMPLATE_ARGS +#if FMT_USE_NONTYPE_TEMPLATE_ARGS template Str> -struct statically_named_arg : view { + fmt::detail::fixed_string Str> +struct static_named_arg : view { static constexpr auto name = Str.data; const T& value; - statically_named_arg(const T& v) : value(v) {} + static_named_arg(const T& v) : value(v) {} }; template Str> -struct is_named_arg> : std::true_type {}; + fmt::detail::fixed_string Str> +struct is_named_arg> : std::true_type {}; template Str> -struct is_statically_named_arg> - : std::true_type {}; + fmt::detail::fixed_string Str> +struct is_static_named_arg> : std::true_type { +}; -template Str> +template Str> struct udl_arg { template auto operator=(T&& value) const { - return statically_named_arg(std::forward(value)); + return static_named_arg(std::forward(value)); } }; -# else +#else template struct udl_arg { const Char* str; @@ -3896,149 +3572,198 @@ template struct udl_arg { return {str, std::forward(value)}; } }; -# endif -#endif // FMT_USE_USER_DEFINED_LITERALS +#endif // FMT_USE_NONTYPE_TEMPLATE_ARGS -template -auto vformat(const Locale& loc, basic_string_view fmt, - basic_format_args>> args) - -> std::basic_string { - auto buf = basic_memory_buffer(); - detail::vformat_to(buf, fmt, args, detail::locale_ref(loc)); - return {buf.data(), buf.size()}; -} +template struct format_handler { + parse_context parse_ctx; + buffered_context ctx; -using format_func = void (*)(detail::buffer&, int, const char*); + void on_text(const Char* begin, const Char* end) { + copy_noinline(begin, end, ctx.out()); + } -FMT_API void format_error_code(buffer& out, int error_code, - string_view message) noexcept; + FMT_CONSTEXPR auto on_arg_id() -> int { return parse_ctx.next_arg_id(); } + FMT_CONSTEXPR auto on_arg_id(int id) -> int { + parse_ctx.check_arg_id(id); + return id; + } + FMT_CONSTEXPR auto on_arg_id(basic_string_view id) -> int { + parse_ctx.check_arg_id(id); + int arg_id = ctx.arg_id(id); + if (arg_id < 0) report_error("argument not found"); + return arg_id; + } -FMT_API void report_error(format_func func, int error_code, - const char* message) noexcept; -} // namespace detail + FMT_INLINE void on_replacement_field(int id, const Char*) { + ctx.arg(id).visit(default_arg_formatter{ctx.out()}); + } -FMT_API auto vsystem_error(int error_code, string_view format_str, - format_args args) -> std::system_error; + auto on_format_specs(int id, const Char* begin, const Char* end) + -> const Char* { + auto arg = get_arg(ctx, id); + // Not using a visitor for custom types gives better codegen. + if (arg.format_custom(begin, parse_ctx, ctx)) return parse_ctx.begin(); -/** - \rst - Constructs :class:`std::system_error` with a message formatted with - ``fmt::format(fmt, args...)``. - *error_code* is a system error code as given by ``errno``. - - **Example**:: - - // This throws std::system_error with the description - // cannot open file 'madeup': No such file or directory - // or similar (system message may vary). - const char* filename = "madeup"; - std::FILE* file = std::fopen(filename, "r"); - if (!file) - throw fmt::system_error(errno, "cannot open file '{}'", filename); - \endrst - */ -template -auto system_error(int error_code, format_string fmt, T&&... args) - -> std::system_error { - return vsystem_error(error_code, fmt, fmt::make_format_args(args...)); -} + auto specs = dynamic_format_specs(); + begin = parse_format_specs(begin, end, specs, parse_ctx, arg.type()); + if (specs.dynamic()) { + handle_dynamic_spec(specs.dynamic_width(), specs.width, specs.width_ref, + ctx); + handle_dynamic_spec(specs.dynamic_precision(), specs.precision, + specs.precision_ref, ctx); + } -/** - \rst - Formats an error message for an error returned by an operating system or a - language runtime, for example a file opening error, and writes it to *out*. - The format is the same as the one used by ``std::system_error(ec, message)`` - where ``ec`` is ``std::error_code(error_code, std::generic_category()})``. - It is implementation-defined but normally looks like: - - .. parsed-literal:: - **: ** - - where ** is the passed message and ** is the system - message corresponding to the error code. - *error_code* is a system error code as given by ``errno``. - \endrst - */ -FMT_API void format_system_error(detail::buffer& out, int error_code, - const char* message) noexcept; + arg.visit(arg_formatter{ctx.out(), specs, ctx.locale()}); + return begin; + } -// Reports a system error without throwing an exception. -// Can be used to report errors from destructors. -FMT_API void report_system_error(int error_code, const char* message) noexcept; + FMT_NORETURN void on_error(const char* message) { report_error(message); } +}; -/** Fast integer formatter. */ -class format_int { +using format_func = void (*)(detail::buffer&, int, const char*); +FMT_API void do_report_error(format_func func, int error_code, + const char* message) noexcept; + +FMT_API void format_error_code(buffer& out, int error_code, + string_view message) noexcept; + +template +template +FMT_CONSTEXPR auto native_formatter::format( + const T& val, FormatContext& ctx) const -> decltype(ctx.out()) { + if (!specs_.dynamic()) + return write(ctx.out(), val, specs_, ctx.locale()); + auto specs = format_specs(specs_); + handle_dynamic_spec(specs.dynamic_width(), specs.width, specs_.width_ref, + ctx); + handle_dynamic_spec(specs.dynamic_precision(), specs.precision, + specs_.precision_ref, ctx); + return write(ctx.out(), val, specs, ctx.locale()); +} + +// DEPRECATED! https://github.com/fmtlib/fmt/issues/4292. +template +struct is_locale : std::false_type {}; +template +struct is_locale> : std::true_type {}; + +// DEPRECATED! +template struct vformat_args { + using type = basic_format_args>; +}; +template <> struct vformat_args { + using type = format_args; +}; + +template +void vformat_to(buffer& buf, basic_string_view fmt, + typename vformat_args::type args, locale_ref loc = {}) { + auto out = basic_appender(buf); + parse_format_string( + fmt, format_handler{parse_context(fmt), {out, args, loc}}); +} +} // namespace detail + +FMT_BEGIN_EXPORT + +// A generic formatting context with custom output iterator and character +// (code unit) support. Char is the format string code unit type which can be +// different from OutputIt::value_type. +template class generic_context { private: - // Buffer should be large enough to hold all digits (digits10 + 1), - // a sign and a null character. - enum { buffer_size = std::numeric_limits::digits10 + 3 }; - mutable char buffer_[buffer_size]; - char* str_; + OutputIt out_; + basic_format_args args_; + detail::locale_ref loc_; - template auto format_unsigned(UInt value) -> char* { - auto n = static_cast>(value); - return detail::format_decimal(buffer_, n, buffer_size - 1).begin; + public: + using char_type = Char; + using iterator = OutputIt; + using parse_context_type FMT_DEPRECATED = parse_context; + template + using formatter_type FMT_DEPRECATED = formatter; + enum { builtin_types = FMT_BUILTIN_TYPES }; + + constexpr generic_context(OutputIt out, + basic_format_args args, + detail::locale_ref loc = {}) + : out_(out), args_(args), loc_(loc) {} + generic_context(generic_context&&) = default; + generic_context(const generic_context&) = delete; + void operator=(const generic_context&) = delete; + + constexpr auto arg(int id) const -> basic_format_arg { + return args_.get(id); + } + auto arg(basic_string_view name) const + -> basic_format_arg { + return args_.get(name); + } + constexpr auto arg_id(basic_string_view name) const -> int { + return args_.get_id(name); } - template auto format_signed(Int value) -> char* { - auto abs_value = static_cast>(value); - bool negative = value < 0; - if (negative) abs_value = 0 - abs_value; - auto begin = format_unsigned(abs_value); - if (negative) *--begin = '-'; - return begin; + constexpr auto out() const -> iterator { return out_; } + + void advance_to(iterator it) { + if (!detail::is_back_insert_iterator()) out_ = it; } + constexpr auto locale() const -> detail::locale_ref { return loc_; } +}; + +class loc_value { + private: + basic_format_arg value_; + public: - explicit format_int(int value) : str_(format_signed(value)) {} - explicit format_int(long value) : str_(format_signed(value)) {} - explicit format_int(long long value) : str_(format_signed(value)) {} - explicit format_int(unsigned value) : str_(format_unsigned(value)) {} - explicit format_int(unsigned long value) : str_(format_unsigned(value)) {} - explicit format_int(unsigned long long value) - : str_(format_unsigned(value)) {} + template ::value)> + loc_value(T value) : value_(value) {} - /** Returns the number of characters written to the output buffer. */ - auto size() const -> size_t { - return detail::to_unsigned(buffer_ - str_ + buffer_size - 1); + template ::value)> + loc_value(T) {} + + template auto visit(Visitor&& vis) -> decltype(vis(0)) { + return value_.visit(vis); } +}; - /** - Returns a pointer to the output buffer content. No terminating null - character is appended. - */ - auto data() const -> const char* { return str_; } +// A locale facet that formats values in UTF-8. +// It is parameterized on the locale to avoid the heavy include. +template class format_facet : public Locale::facet { + private: + std::string separator_; + std::string grouping_; + std::string decimal_point_; - /** - Returns a pointer to the output buffer content with terminating null - character appended. - */ - auto c_str() const -> const char* { - buffer_[buffer_size - 1] = '\0'; - return str_; - } + protected: + virtual auto do_put(appender out, loc_value val, + const format_specs& specs) const -> bool; - /** - \rst - Returns the content of the output buffer as an ``std::string``. - \endrst - */ - auto str() const -> std::string { return std::string(str_, size()); } -}; + public: + static FMT_API typename Locale::id id; -template -struct formatter::value>> - : formatter, Char> { - template - auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) { - using base = formatter, Char>; - return base::format(format_as(value), ctx); + explicit format_facet(Locale& loc); + explicit format_facet(string_view sep = "", std::string grouping = "\3", + std::string decimal_point = ".") + : separator_(sep.data(), sep.size()), + grouping_(grouping), + decimal_point_(decimal_point) {} + + auto put(appender out, loc_value val, const format_specs& specs) const + -> bool { + return do_put(out, val, specs); } }; -#define FMT_FORMAT_AS(Type, Base) \ - template \ - struct formatter : formatter {} +#define FMT_FORMAT_AS(Type, Base) \ + template \ + struct formatter : formatter { \ + template \ + FMT_CONSTEXPR auto format(Type value, FormatContext& ctx) const \ + -> decltype(ctx.out()) { \ + return formatter::format(value, ctx); \ + } \ + } FMT_FORMAT_AS(signed char, int); FMT_FORMAT_AS(unsigned char, unsigned); @@ -4047,44 +3772,58 @@ FMT_FORMAT_AS(unsigned short, unsigned); FMT_FORMAT_AS(long, detail::long_type); FMT_FORMAT_AS(unsigned long, detail::ulong_type); FMT_FORMAT_AS(Char*, const Char*); -FMT_FORMAT_AS(std::basic_string, basic_string_view); -FMT_FORMAT_AS(std::nullptr_t, const void*); FMT_FORMAT_AS(detail::std_string_view, basic_string_view); +FMT_FORMAT_AS(std::nullptr_t, const void*); FMT_FORMAT_AS(void*, const void*); template struct formatter : formatter, Char> {}; -/** - \rst - Converts ``p`` to ``const void*`` for pointer formatting. +template +class formatter, Char> + : public formatter, Char> {}; + +template +struct formatter, Char> : formatter {}; +template +struct formatter, Char> + : formatter {}; - **Example**:: +template +struct formatter + : detail::native_formatter {}; - auto s = fmt::format("{}", fmt::ptr(p)); - \endrst +template +struct formatter>> + : formatter, Char> { + template + FMT_CONSTEXPR auto format(const T& value, FormatContext& ctx) const + -> decltype(ctx.out()) { + auto&& val = format_as(value); // Make an lvalue reference for format. + return formatter, Char>::format(val, ctx); + } +}; + +/** + * Converts `p` to `const void*` for pointer formatting. + * + * **Example**: + * + * auto s = fmt::format("{}", fmt::ptr(p)); */ template auto ptr(T p) -> const void* { static_assert(std::is_pointer::value, ""); return detail::bit_cast(p); } -template -auto ptr(const std::unique_ptr& p) -> const void* { - return p.get(); -} -template auto ptr(const std::shared_ptr& p) -> const void* { - return p.get(); -} /** - \rst - Converts ``e`` to the underlying type. - - **Example**:: - - enum class color { red, green, blue }; - auto s = fmt::format("{}", fmt::underlying(color::red)); - \endrst + * Converts `e` to the underlying type. + * + * **Example**: + * + * enum class color { red, green, blue }; + * auto s = fmt::format("{}", fmt::underlying(color::red)); // s == "0" */ template constexpr auto underlying(Enum e) noexcept -> underlying_t { @@ -4098,13 +3837,22 @@ constexpr auto format_as(Enum e) noexcept -> underlying_t { } } // namespace enums -class bytes { - private: - string_view data_; - friend struct formatter; +#ifdef __cpp_lib_byte +template <> struct formatter : formatter { + static auto format_as(std::byte b) -> unsigned char { + return static_cast(b); + } + template + auto format(std::byte b, Context& ctx) const -> decltype(ctx.out()) { + return formatter::format(format_as(b), ctx); + } +}; +#endif - public: - explicit bytes(string_view data) : data_(data) {} +struct bytes { + string_view data; + + inline explicit bytes(string_view s) : data(s) {} }; template <> struct formatter { @@ -4112,19 +3860,19 @@ template <> struct formatter { detail::dynamic_format_specs<> specs_; public: - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> const char* { + FMT_CONSTEXPR auto parse(parse_context<>& ctx) -> const char* { return parse_format_specs(ctx.begin(), ctx.end(), specs_, ctx, detail::type::string_type); } template - auto format(bytes b, FormatContext& ctx) -> decltype(ctx.out()) { - detail::handle_dynamic_spec(specs_.width, - specs_.width_ref, ctx); - detail::handle_dynamic_spec( - specs_.precision, specs_.precision_ref, ctx); - return detail::write_bytes(ctx.out(), b.data_, specs_); + auto format(bytes b, FormatContext& ctx) const -> decltype(ctx.out()) { + auto specs = specs_; + detail::handle_dynamic_spec(specs.dynamic_width(), specs.width, + specs.width_ref, ctx); + detail::handle_dynamic_spec(specs.dynamic_precision(), specs.precision, + specs.precision_ref, ctx); + return detail::write_bytes(ctx.out(), b.data, specs); } }; @@ -4134,15 +3882,13 @@ template struct group_digits_view { }; /** - \rst - Returns a view that formats an integer value using ',' as a locale-independent - thousands separator. - - **Example**:: - - fmt::print("{}", fmt::group_digits(12345)); - // Output: "12,345" - \endrst + * Returns a view that formats an integer value using ',' as a + * locale-independent thousands separator. + * + * **Example**: + * + * fmt::print("{}", fmt::group_digits(12345)); + * // Output: "12,345" */ template auto group_digits(T value) -> group_digits_view { return {value}; @@ -4153,331 +3899,255 @@ template struct formatter> : formatter { detail::dynamic_format_specs<> specs_; public: - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> const char* { + FMT_CONSTEXPR auto parse(parse_context<>& ctx) -> const char* { return parse_format_specs(ctx.begin(), ctx.end(), specs_, ctx, detail::type::int_type); } template - auto format(group_digits_view t, FormatContext& ctx) + auto format(group_digits_view view, FormatContext& ctx) const -> decltype(ctx.out()) { - detail::handle_dynamic_spec(specs_.width, - specs_.width_ref, ctx); - detail::handle_dynamic_spec( - specs_.precision, specs_.precision_ref, ctx); + auto specs = specs_; + detail::handle_dynamic_spec(specs.dynamic_width(), specs.width, + specs.width_ref, ctx); + detail::handle_dynamic_spec(specs.dynamic_precision(), specs.precision, + specs.precision_ref, ctx); + auto arg = detail::make_write_int_arg(view.value, specs.sign()); return detail::write_int( - ctx.out(), static_cast>(t.value), 0, specs_, - detail::digit_grouping("\3", ",")); + ctx.out(), static_cast>(arg.abs_value), + arg.prefix, specs, detail::digit_grouping("\3", ",")); } }; -template struct nested_view { - const formatter* fmt; +template struct nested_view { + const formatter* fmt; const T* value; }; -template struct formatter> { - FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> const char* { +template +struct formatter, Char> { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { return ctx.begin(); } - auto format(nested_view view, format_context& ctx) const + template + auto format(nested_view view, FormatContext& ctx) const -> decltype(ctx.out()) { return view.fmt->format(*view.value, ctx); } }; -template struct nested_formatter { +template struct nested_formatter { private: + basic_specs specs_; int width_; - detail::fill_t fill_; - align_t align_ : 4; - formatter formatter_; + formatter formatter_; public: - constexpr nested_formatter() : width_(0), align_(align_t::none) {} - - FMT_CONSTEXPR auto parse(format_parse_context& ctx) -> const char* { - auto specs = detail::dynamic_format_specs(); - auto it = parse_format_specs(ctx.begin(), ctx.end(), specs, ctx, - detail::type::none_type); - width_ = specs.width; - fill_ = specs.fill; - align_ = specs.align; + constexpr nested_formatter() : width_(0) {} + + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + auto it = ctx.begin(), end = ctx.end(); + if (it == end) return it; + auto specs = format_specs(); + it = detail::parse_align(it, end, specs); + specs_ = specs; + Char c = *it; + auto width_ref = detail::arg_ref(); + if ((c >= '0' && c <= '9') || c == '{') { + it = detail::parse_width(it, end, specs, width_ref, ctx); + width_ = specs.width; + } ctx.advance_to(it); return formatter_.parse(ctx); } - template - auto write_padded(format_context& ctx, F write) const -> decltype(ctx.out()) { + template + auto write_padded(FormatContext& ctx, F write) const -> decltype(ctx.out()) { if (width_ == 0) return write(ctx.out()); - auto buf = memory_buffer(); - write(std::back_inserter(buf)); - auto specs = format_specs<>(); + auto buf = basic_memory_buffer(); + write(basic_appender(buf)); + auto specs = format_specs(); specs.width = width_; - specs.fill = fill_; - specs.align = align_; - return detail::write(ctx.out(), string_view(buf.data(), buf.size()), specs); - } - - auto nested(const T& value) const -> nested_view { - return nested_view{&formatter_, &value}; + specs.copy_fill_from(specs_); + specs.set_align(specs_.align()); + return detail::write( + ctx.out(), basic_string_view(buf.data(), buf.size()), specs); } -}; - -// DEPRECATED! join_view will be moved to ranges.h. -template -struct join_view : detail::view { - It begin; - Sentinel end; - basic_string_view sep; - - join_view(It b, Sentinel e, basic_string_view s) - : begin(b), end(e), sep(s) {} -}; -template -struct formatter, Char> { - private: - using value_type = -#ifdef __cpp_lib_ranges - std::iter_value_t; -#else - typename std::iterator_traits::value_type; -#endif - formatter, Char> value_formatter_; - - public: - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> const Char* { - return value_formatter_.parse(ctx); - } - - template - auto format(const join_view& value, - FormatContext& ctx) const -> decltype(ctx.out()) { - auto it = value.begin; - auto out = ctx.out(); - if (it != value.end) { - out = value_formatter_.format(*it, ctx); - ++it; - while (it != value.end) { - out = detail::copy_str(value.sep.begin(), value.sep.end(), out); - ctx.advance_to(out); - out = value_formatter_.format(*it, ctx); - ++it; - } - } - return out; + auto nested(const T& value) const -> nested_view { + return nested_view{&formatter_, &value}; } }; -/** - Returns a view that formats the iterator range `[begin, end)` with elements - separated by `sep`. - */ -template -auto join(It begin, Sentinel end, string_view sep) -> join_view { - return {begin, end, sep}; +inline namespace literals { +#if FMT_USE_NONTYPE_TEMPLATE_ARGS +template constexpr auto operator""_a() { + using char_t = remove_cvref_t; + return detail::udl_arg(); } - +#else /** - \rst - Returns a view that formats `range` with elements separated by `sep`. - - **Example**:: - - std::vector v = {1, 2, 3}; - fmt::print("{}", fmt::join(v, ", ")); - // Output: "1, 2, 3" - - ``fmt::join`` applies passed format specifiers to the range elements:: - - fmt::print("{:02}", fmt::join(v, ", ")); - // Output: "01, 02, 03" - \endrst + * User-defined literal equivalent of `fmt::arg`. + * + * **Example**: + * + * using namespace fmt::literals; + * fmt::print("The answer is {answer}.", "answer"_a=42); */ -template -auto join(Range&& range, string_view sep) - -> join_view, detail::sentinel_t> { - return join(std::begin(range), std::end(range), sep); +constexpr auto operator""_a(const char* s, size_t) -> detail::udl_arg { + return {s}; } +#endif // FMT_USE_NONTYPE_TEMPLATE_ARGS +} // namespace literals -/** - \rst - Converts *value* to ``std::string`` using the default format for type *T*. - - **Example**:: - - #include - - std::string answer = fmt::to_string(42); - \endrst - */ -template ::value && - !detail::has_format_as::value)> -inline auto to_string(const T& value) -> std::string { - auto buffer = memory_buffer(); - detail::write(appender(buffer), value); - return {buffer.data(), buffer.size()}; -} +/// A fast integer formatter. +class format_int { + private: + // Buffer should be large enough to hold all digits (digits10 + 1), + // a sign and a null character. + enum { buffer_size = std::numeric_limits::digits10 + 3 }; + mutable char buffer_[buffer_size]; + char* str_; -template ::value)> -FMT_NODISCARD inline auto to_string(T value) -> std::string { - // The buffer should be large enough to store the number including the sign - // or "false" for bool. - constexpr int max_size = detail::digits10() + 2; - char buffer[max_size > 5 ? static_cast(max_size) : 5]; - char* begin = buffer; - return std::string(begin, detail::write(begin, value)); -} + template + FMT_CONSTEXPR20 auto format_unsigned(UInt value) -> char* { + auto n = static_cast>(value); + return detail::do_format_decimal(buffer_, n, buffer_size - 1); + } -template -FMT_NODISCARD auto to_string(const basic_memory_buffer& buf) - -> std::basic_string { - auto size = buf.size(); - detail::assume(size < std::basic_string().max_size()); - return std::basic_string(buf.data(), size); -} + template + FMT_CONSTEXPR20 auto format_signed(Int value) -> char* { + auto abs_value = static_cast>(value); + bool negative = value < 0; + if (negative) abs_value = 0 - abs_value; + auto begin = format_unsigned(abs_value); + if (negative) *--begin = '-'; + return begin; + } -template ::value && - detail::has_format_as::value)> -inline auto to_string(const T& value) -> std::string { - return to_string(format_as(value)); -} + public: + FMT_CONSTEXPR20 explicit format_int(int value) : str_(format_signed(value)) {} + FMT_CONSTEXPR20 explicit format_int(long value) + : str_(format_signed(value)) {} + FMT_CONSTEXPR20 explicit format_int(long long value) + : str_(format_signed(value)) {} + FMT_CONSTEXPR20 explicit format_int(unsigned value) + : str_(format_unsigned(value)) {} + FMT_CONSTEXPR20 explicit format_int(unsigned long value) + : str_(format_unsigned(value)) {} + FMT_CONSTEXPR20 explicit format_int(unsigned long long value) + : str_(format_unsigned(value)) {} -FMT_END_EXPORT + /// Returns the number of characters written to the output buffer. + FMT_CONSTEXPR20 auto size() const -> size_t { + return detail::to_unsigned(buffer_ - str_ + buffer_size - 1); + } -namespace detail { + /// Returns a pointer to the output buffer content. No terminating null + /// character is appended. + FMT_CONSTEXPR20 auto data() const -> const char* { return str_; } -template -void vformat_to(buffer& buf, basic_string_view fmt, - typename vformat_args::type args, locale_ref loc) { - auto out = buffer_appender(buf); - if (fmt.size() == 2 && equal2(fmt.data(), "{}")) { - auto arg = args.get(0); - if (!arg) throw_format_error("argument not found"); - visit_format_arg(default_arg_formatter{out, args, loc}, arg); - return; + /// Returns a pointer to the output buffer content with terminating null + /// character appended. + FMT_CONSTEXPR20 auto c_str() const -> const char* { + buffer_[buffer_size - 1] = '\0'; + return str_; } - struct format_handler : error_handler { - basic_format_parse_context parse_context; - buffer_context context; - - format_handler(buffer_appender p_out, basic_string_view str, - basic_format_args> p_args, - locale_ref p_loc) - : parse_context(str), context(p_out, p_args, p_loc) {} + /// Returns the content of the output buffer as an `std::string`. + inline auto str() const -> std::string { return {str_, size()}; } +}; - void on_text(const Char* begin, const Char* end) { - auto text = basic_string_view(begin, to_unsigned(end - begin)); - context.advance_to(write(context.out(), text)); - } +#define FMT_STRING_IMPL(s, base) \ + [] { \ + /* Use the hidden visibility as a workaround for a GCC bug (#1973). */ \ + /* Use a macro-like name to avoid shadowing warnings. */ \ + struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base { \ + using char_type = fmt::remove_cvref_t; \ + constexpr explicit operator fmt::basic_string_view() const { \ + return fmt::detail::compile_string_to_view(s); \ + } \ + }; \ + using FMT_STRING_VIEW = \ + fmt::basic_string_view; \ + fmt::detail::ignore_unused(FMT_STRING_VIEW(FMT_COMPILE_STRING())); \ + return FMT_COMPILE_STRING(); \ + }() - FMT_CONSTEXPR auto on_arg_id() -> int { - return parse_context.next_arg_id(); - } - FMT_CONSTEXPR auto on_arg_id(int id) -> int { - return parse_context.check_arg_id(id), id; - } - FMT_CONSTEXPR auto on_arg_id(basic_string_view id) -> int { - int arg_id = context.arg_id(id); - if (arg_id < 0) throw_format_error("argument not found"); - return arg_id; - } +/** + * Constructs a legacy compile-time format string from a string literal `s`. + * + * **Example**: + * + * // A compile-time error because 'd' is an invalid specifier for strings. + * std::string s = fmt::format(FMT_STRING("{:d}"), "foo"); + */ +#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string) - FMT_INLINE void on_replacement_field(int id, const Char*) { - auto arg = get_arg(context, id); - context.advance_to(visit_format_arg( - default_arg_formatter{context.out(), context.args(), - context.locale()}, - arg)); - } +FMT_API auto vsystem_error(int error_code, string_view fmt, format_args args) + -> std::system_error; - auto on_format_specs(int id, const Char* begin, const Char* end) - -> const Char* { - auto arg = get_arg(context, id); - // Not using a visitor for custom types gives better codegen. - if (arg.format_custom(begin, parse_context, context)) - return parse_context.begin(); - auto specs = detail::dynamic_format_specs(); - begin = parse_format_specs(begin, end, specs, parse_context, arg.type()); - detail::handle_dynamic_spec( - specs.width, specs.width_ref, context); - detail::handle_dynamic_spec( - specs.precision, specs.precision_ref, context); - if (begin == end || *begin != '}') - throw_format_error("missing '}' in format string"); - auto f = arg_formatter{context.out(), specs, context.locale()}; - context.advance_to(visit_format_arg(f, arg)); - return begin; - } - }; - detail::parse_format_string(fmt, format_handler(out, fmt, args, loc)); +/** + * Constructs `std::system_error` with a message formatted with + * `fmt::format(fmt, args...)`. + * `error_code` is a system error code as given by `errno`. + * + * **Example**: + * + * // This throws std::system_error with the description + * // cannot open file 'madeup': No such file or directory + * // or similar (system message may vary). + * const char* filename = "madeup"; + * FILE* file = fopen(filename, "r"); + * if (!file) + * throw fmt::system_error(errno, "cannot open file '{}'", filename); + */ +template +auto system_error(int error_code, format_string fmt, T&&... args) + -> std::system_error { + return vsystem_error(error_code, fmt.str, vargs{{args...}}); } -FMT_BEGIN_EXPORT - -#ifndef FMT_HEADER_ONLY -extern template FMT_API void vformat_to(buffer&, string_view, - typename vformat_args<>::type, - locale_ref); -extern template FMT_API auto thousands_sep_impl(locale_ref) - -> thousands_sep_result; -extern template FMT_API auto thousands_sep_impl(locale_ref) - -> thousands_sep_result; -extern template FMT_API auto decimal_point_impl(locale_ref) -> char; -extern template FMT_API auto decimal_point_impl(locale_ref) -> wchar_t; -#endif // FMT_HEADER_ONLY - -} // namespace detail - -#if FMT_USE_USER_DEFINED_LITERALS -inline namespace literals { /** - \rst - User-defined literal equivalent of :func:`fmt::arg`. - - **Example**:: - - using namespace fmt::literals; - fmt::print("Elapsed time: {s:.2f} seconds", "s"_a=1.23); - \endrst + * Formats an error message for an error returned by an operating system or a + * language runtime, for example a file opening error, and writes it to `out`. + * The format is the same as the one used by `std::system_error(ec, message)` + * where `ec` is `std::error_code(error_code, std::generic_category())`. + * It is implementation-defined but normally looks like: + * + * : + * + * where `` is the passed message and `` is the system + * message corresponding to the error code. + * `error_code` is a system error code as given by `errno`. */ -# if FMT_USE_NONTYPE_TEMPLATE_ARGS -template constexpr auto operator""_a() { - using char_t = remove_cvref_t; - return detail::udl_arg(); -} -# else -constexpr auto operator""_a(const char* s, size_t) -> detail::udl_arg { - return {s}; -} -# endif -} // namespace literals -#endif // FMT_USE_USER_DEFINED_LITERALS +FMT_API void format_system_error(detail::buffer& out, int error_code, + const char* message) noexcept; + +// Reports a system error without throwing an exception. +// Can be used to report errors from destructors. +FMT_API void report_system_error(int error_code, const char* message) noexcept; template ::value)> inline auto vformat(const Locale& loc, string_view fmt, format_args args) -> std::string { - return detail::vformat(loc, fmt, args); + auto buf = memory_buffer(); + detail::vformat_to(buf, fmt, args, detail::locale_ref(loc)); + return {buf.data(), buf.size()}; } template ::value)> -inline auto format(const Locale& loc, format_string fmt, T&&... args) +FMT_INLINE auto format(const Locale& loc, format_string fmt, T&&... args) -> std::string { - return fmt::vformat(loc, string_view(fmt), fmt::make_format_args(args...)); + return vformat(loc, fmt.str, vargs{{args...}}); } template ::value&& - detail::is_locale::value)> + FMT_ENABLE_IF(detail::is_output_iterator::value)> auto vformat_to(OutputIt out, const Locale& loc, string_view fmt, format_args args) -> OutputIt { - using detail::get_buffer; - auto&& buf = get_buffer(out); + auto&& buf = detail::get_buffer(out); detail::vformat_to(buf, fmt, args, detail::locale_ref(loc)); return detail::get_iterator(buf, out); } @@ -4487,7 +4157,7 @@ template ::value)> FMT_INLINE auto format_to(OutputIt out, const Locale& loc, format_string fmt, T&&... args) -> OutputIt { - return vformat_to(out, loc, fmt, fmt::make_format_args(args...)); + return fmt::vformat_to(out, loc, fmt.str, vargs{{args...}}); } template fmt, T&&... args) -> size_t { auto buf = detail::counting_buffer<>(); - detail::vformat_to(buf, fmt, fmt::make_format_args(args...), - detail::locale_ref(loc)); + detail::vformat_to(buf, fmt.str, vargs{{args...}}, + detail::locale_ref(loc)); return buf.count(); } -FMT_END_EXPORT +FMT_API auto vformat(string_view fmt, format_args args) -> std::string; -template -template -FMT_CONSTEXPR FMT_INLINE auto -formatter::value != - detail::type::custom_type>>::format(const T& val, - FormatContext& ctx) - const -> decltype(ctx.out()) { - if (specs_.width_ref.kind == detail::arg_id_kind::none && - specs_.precision_ref.kind == detail::arg_id_kind::none) { - return detail::write(ctx.out(), val, specs_, ctx.locale()); - } - auto specs = specs_; - detail::handle_dynamic_spec(specs.width, - specs.width_ref, ctx); - detail::handle_dynamic_spec( - specs.precision, specs.precision_ref, ctx); - return detail::write(ctx.out(), val, specs, ctx.locale()); +/** + * Formats `args` according to specifications in `fmt` and returns the result + * as a string. + * + * **Example**: + * + * #include + * std::string message = fmt::format("The answer is {}.", 42); + */ +template +FMT_NODISCARD FMT_INLINE auto format(format_string fmt, T&&... args) + -> std::string { + return vformat(fmt.str, vargs{{args...}}); +} + +/** + * Converts `value` to `std::string` using the default format for type `T`. + * + * **Example**: + * + * std::string answer = fmt::to_string(42); + */ +template ::value)> +FMT_NODISCARD auto to_string(T value) -> std::string { + // The buffer should be large enough to store the number including the sign + // or "false" for bool. + char buffer[max_of(detail::digits10() + 2, 5)]; + return {buffer, detail::write(buffer, value)}; } +template ::value)> +FMT_NODISCARD auto to_string(const T& value) -> std::string { + return to_string(format_as(value)); +} + +template ::value && + !detail::use_format_as::value)> +FMT_NODISCARD auto to_string(const T& value) -> std::string { + auto buffer = memory_buffer(); + detail::write(appender(buffer), value); + return {buffer.data(), buffer.size()}; +} + +FMT_END_EXPORT FMT_END_NAMESPACE #ifdef FMT_HEADER_ONLY # define FMT_FUNC inline # include "format-inl.h" -#else -# define FMT_FUNC +#endif + +// Restore _LIBCPP_REMOVE_TRANSITIVE_INCLUDES. +#ifdef FMT_REMOVE_TRANSITIVE_INCLUDES +# undef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES #endif #endif // FMT_FORMAT_H_ diff --git a/3rdparty/fmt/include/fmt/os.h b/3rdparty/fmt/include/fmt/os.h index 3c7b3ccb481ec..b2cc5e4b85ff0 100644 --- a/3rdparty/fmt/include/fmt/os.h +++ b/3rdparty/fmt/include/fmt/os.h @@ -8,18 +8,18 @@ #ifndef FMT_OS_H_ #define FMT_OS_H_ -#include -#include -#include -#include // std::system_error - #include "format.h" -#if defined __APPLE__ || defined(__FreeBSD__) +#ifndef FMT_MODULE +# include +# include +# include +# include // std::system_error + # if FMT_HAS_INCLUDE() -# include // for LC_NUMERIC_MASK on OS X +# include // LC_NUMERIC_MASK on macOS # endif -#endif +#endif // FMT_MODULE #ifndef FMT_USE_FCNTL // UWP doesn't provide _pipe. @@ -77,46 +77,33 @@ FMT_BEGIN_NAMESPACE FMT_BEGIN_EXPORT /** - \rst - A reference to a null-terminated string. It can be constructed from a C - string or ``std::string``. - - You can use one of the following type aliases for common character types: - - +---------------+-----------------------------+ - | Type | Definition | - +===============+=============================+ - | cstring_view | basic_cstring_view | - +---------------+-----------------------------+ - | wcstring_view | basic_cstring_view | - +---------------+-----------------------------+ - - This class is most useful as a parameter type to allow passing - different types of strings to a function, for example:: - - template - std::string format(cstring_view format_str, const Args & ... args); - - format("{}", 42); - format(std::string("{}"), 42); - \endrst + * A reference to a null-terminated string. It can be constructed from a C + * string or `std::string`. + * + * You can use one of the following type aliases for common character types: + * + * +---------------+-----------------------------+ + * | Type | Definition | + * +===============+=============================+ + * | cstring_view | basic_cstring_view | + * +---------------+-----------------------------+ + * | wcstring_view | basic_cstring_view | + * +---------------+-----------------------------+ + * + * This class is most useful as a parameter type for functions that wrap C APIs. */ template class basic_cstring_view { private: const Char* data_; public: - /** Constructs a string reference object from a C string. */ + /// Constructs a string reference object from a C string. basic_cstring_view(const Char* s) : data_(s) {} - /** - \rst - Constructs a string reference from an ``std::string`` object. - \endrst - */ + /// Constructs a string reference from an `std::string` object. basic_cstring_view(const std::basic_string& s) : data_(s.c_str()) {} - /** Returns the pointer to a C string. */ + /// Returns the pointer to a C string. auto c_str() const -> const Char* { return data_; } }; @@ -131,41 +118,38 @@ FMT_API void format_windows_error(buffer& out, int error_code, const char* message) noexcept; } -FMT_API std::system_error vwindows_error(int error_code, string_view format_str, +FMT_API std::system_error vwindows_error(int error_code, string_view fmt, format_args args); /** - \rst - Constructs a :class:`std::system_error` object with the description - of the form - - .. parsed-literal:: - **: ** - - where ** is the formatted message and ** is the - system message corresponding to the error code. - *error_code* is a Windows error code as given by ``GetLastError``. - If *error_code* is not a valid error code such as -1, the system message - will look like "error -1". - - **Example**:: - - // This throws a system_error with the description - // cannot open file 'madeup': The system cannot find the file specified. - // or similar (system message may vary). - const char *filename = "madeup"; - LPOFSTRUCT of = LPOFSTRUCT(); - HFILE file = OpenFile(filename, &of, OF_READ); - if (file == HFILE_ERROR) { - throw fmt::windows_error(GetLastError(), - "cannot open file '{}'", filename); - } - \endrst -*/ -template -std::system_error windows_error(int error_code, string_view message, - const Args&... args) { - return vwindows_error(error_code, message, fmt::make_format_args(args...)); + * Constructs a `std::system_error` object with the description of the form + * + * : + * + * where `` is the formatted message and `` is the + * system message corresponding to the error code. + * `error_code` is a Windows error code as given by `GetLastError`. + * If `error_code` is not a valid error code such as -1, the system message + * will look like "error -1". + * + * **Example**: + * + * // This throws a system_error with the description + * // cannot open file 'madeup': The system cannot find the file + * specified. + * // or similar (system message may vary). + * const char *filename = "madeup"; + * LPOFSTRUCT of = LPOFSTRUCT(); + * HFILE file = OpenFile(filename, &of, OF_READ); + * if (file == HFILE_ERROR) { + * throw fmt::windows_error(GetLastError(), + * "cannot open file '{}'", filename); + * } + */ +template +auto windows_error(int error_code, string_view message, const T&... args) + -> std::system_error { + return vwindows_error(error_code, message, vargs{{args...}}); } // Reports a Windows error without throwing an exception. @@ -180,8 +164,8 @@ inline auto system_category() noexcept -> const std::error_category& { // std::system is not available on some platforms such as iOS (#2248). #ifdef __OSX__ template > -void say(const S& format_str, Args&&... args) { - std::system(format("say \"{}\"", format(format_str, args...)).c_str()); +void say(const S& fmt, Args&&... args) { + std::system(format("say \"{}\"", format(fmt, args...)).c_str()); } #endif @@ -192,24 +176,24 @@ class buffered_file { friend class file; - explicit buffered_file(FILE* f) : file_(f) {} + inline explicit buffered_file(FILE* f) : file_(f) {} public: buffered_file(const buffered_file&) = delete; void operator=(const buffered_file&) = delete; // Constructs a buffered_file object which doesn't represent any file. - buffered_file() noexcept : file_(nullptr) {} + inline buffered_file() noexcept : file_(nullptr) {} // Destroys the object closing the file it represents if any. FMT_API ~buffered_file() noexcept; public: - buffered_file(buffered_file&& other) noexcept : file_(other.file_) { + inline buffered_file(buffered_file&& other) noexcept : file_(other.file_) { other.file_ = nullptr; } - auto operator=(buffered_file&& other) -> buffered_file& { + inline auto operator=(buffered_file&& other) -> buffered_file& { close(); file_ = other.file_; other.file_ = nullptr; @@ -223,21 +207,20 @@ class buffered_file { FMT_API void close(); // Returns the pointer to a FILE object representing this file. - auto get() const noexcept -> FILE* { return file_; } + inline auto get() const noexcept -> FILE* { return file_; } FMT_API auto descriptor() const -> int; - void vprint(string_view format_str, format_args args) { - fmt::vprint(file_, format_str, args); - } - - template - inline void print(string_view format_str, const Args&... args) { - vprint(format_str, fmt::make_format_args(args...)); + template + inline void print(string_view fmt, const T&... args) { + fmt::vargs vargs = {{args...}}; + detail::is_locking() ? fmt::vprint_buffered(file_, fmt, vargs) + : fmt::vprint(file_, fmt, vargs); } }; #if FMT_USE_FCNTL + // A file. Closed file is represented by a file object with descriptor -1. // Methods that are not declared with noexcept may throw // fmt::system_error in case of failure. Note that some errors such as @@ -251,6 +234,8 @@ class FMT_API file { // Constructs a file object with a given descriptor. explicit file(int fd) : fd_(fd) {} + friend struct pipe; + public: // Possible values for the oflag argument to the constructor. enum { @@ -263,7 +248,7 @@ class FMT_API file { }; // Constructs a file object which doesn't represent any file. - file() noexcept : fd_(-1) {} + inline file() noexcept : fd_(-1) {} // Opens a file and constructs a file object representing this file. file(cstring_view path, int oflag); @@ -272,10 +257,10 @@ class FMT_API file { file(const file&) = delete; void operator=(const file&) = delete; - file(file&& other) noexcept : fd_(other.fd_) { other.fd_ = -1; } + inline file(file&& other) noexcept : fd_(other.fd_) { other.fd_ = -1; } // Move assignment is not noexcept because close may throw. - auto operator=(file&& other) -> file& { + inline auto operator=(file&& other) -> file& { close(); fd_ = other.fd_; other.fd_ = -1; @@ -286,7 +271,7 @@ class FMT_API file { ~file() noexcept; // Returns the file descriptor. - auto descriptor() const noexcept -> int { return fd_; } + inline auto descriptor() const noexcept -> int { return fd_; } // Closes the file. void close(); @@ -313,11 +298,6 @@ class FMT_API file { // necessary. void dup2(int fd, std::error_code& ec) noexcept; - // Creates a pipe setting up read_end and write_end file objects for reading - // and writing respectively. - // DEPRECATED! Taking files as out parameters is deprecated. - static void pipe(file& read_end, file& write_end); - // Creates a buffered_file object associated with this file and detaches // this file object from the file. auto fdopen(const char* mode) -> buffered_file; @@ -329,15 +309,24 @@ class FMT_API file { # endif }; +struct FMT_API pipe { + file read_end; + file write_end; + + // Creates a pipe setting up read_end and write_end file objects for reading + // and writing respectively. + pipe(); +}; + // Returns the memory page size. auto getpagesize() -> long; namespace detail { struct buffer_size { - buffer_size() = default; + constexpr buffer_size() = default; size_t value = 0; - auto operator=(size_t val) const -> buffer_size { + FMT_CONSTEXPR auto operator=(size_t val) const -> buffer_size { auto bs = buffer_size(); bs.value = val; return bs; @@ -348,7 +337,7 @@ struct ostream_params { int oflag = file::WRONLY | file::CREATE | file::TRUNC; size_t buffer_size = BUFSIZ > 32768 ? BUFSIZ : 32768; - ostream_params() {} + constexpr ostream_params() {} template ostream_params(T... params, int new_oflag) : ostream_params(params...) { @@ -369,79 +358,62 @@ struct ostream_params { # endif }; -class file_buffer final : public buffer { - file file_; - - FMT_API void grow(size_t) override; - - public: - FMT_API file_buffer(cstring_view path, const ostream_params& params); - FMT_API file_buffer(file_buffer&& other); - FMT_API ~file_buffer(); - - void flush() { - if (size() == 0) return; - file_.write(data(), size() * sizeof(data()[0])); - clear(); - } - - void close() { - flush(); - file_.close(); - } -}; - } // namespace detail -// Added {} below to work around default constructor error known to -// occur in Xcode versions 7.2.1 and 8.2.1. -constexpr detail::buffer_size buffer_size{}; +FMT_INLINE_VARIABLE constexpr auto buffer_size = detail::buffer_size(); -/** A fast output stream which is not thread-safe. */ -class FMT_API ostream { +/// A fast buffered output stream for writing from a single thread. Writing from +/// multiple threads without external synchronization may result in a data race. +class FMT_API ostream : private detail::buffer { private: - FMT_MSC_WARNING(suppress : 4251) - detail::file_buffer buffer_; + file file_; - ostream(cstring_view path, const detail::ostream_params& params) - : buffer_(path, params) {} + ostream(cstring_view path, const detail::ostream_params& params); - public: - ostream(ostream&& other) : buffer_(std::move(other.buffer_)) {} + static void grow(buffer& buf, size_t); + public: + ostream(ostream&& other) noexcept; ~ostream(); - void flush() { buffer_.flush(); } + operator writer() { + detail::buffer& buf = *this; + return buf; + } + + inline void flush() { + if (size() == 0) return; + file_.write(data(), size() * sizeof(data()[0])); + clear(); + } template friend auto output_file(cstring_view path, T... params) -> ostream; - void close() { buffer_.close(); } + inline void close() { + flush(); + file_.close(); + } - /** - Formats ``args`` according to specifications in ``fmt`` and writes the - output to the file. - */ + /// Formats `args` according to specifications in `fmt` and writes the + /// output to the file. template void print(format_string fmt, T&&... args) { - vformat_to(std::back_inserter(buffer_), fmt, - fmt::make_format_args(args...)); + vformat_to(appender(*this), fmt.str, vargs{{args...}}); } }; /** - \rst - Opens a file for writing. Supported parameters passed in *params*: - - * ````: Flags passed to `open - `_ - (``file::WRONLY | file::CREATE | file::TRUNC`` by default) - * ``buffer_size=``: Output buffer size - - **Example**:: - - auto out = fmt::output_file("guide.txt"); - out.print("Don't {}", "Panic"); - \endrst + * Opens a file for writing. Supported parameters passed in `params`: + * + * - ``: Flags passed to [open]( + * https://pubs.opengroup.org/onlinepubs/007904875/functions/open.html) + * (`file::WRONLY | file::CREATE | file::TRUNC` by default) + * - `buffer_size=`: Output buffer size + * + * **Example**: + * + * auto out = fmt::output_file("guide.txt"); + * out.print("Don't {}", "Panic"); */ template inline auto output_file(cstring_view path, T... params) -> ostream { diff --git a/3rdparty/fmt/include/fmt/ostream.h b/3rdparty/fmt/include/fmt/ostream.h index cdd99303fa19f..5d893c92164c8 100644 --- a/3rdparty/fmt/include/fmt/ostream.h +++ b/3rdparty/fmt/include/fmt/ostream.h @@ -8,7 +8,9 @@ #ifndef FMT_OSTREAM_H_ #define FMT_OSTREAM_H_ -#include // std::filebuf +#ifndef FMT_MODULE +# include // std::filebuf +#endif #ifdef _WIN32 # ifdef __GLIBCXX__ @@ -18,42 +20,19 @@ # include #endif -#include "format.h" +#include "chrono.h" // formatbuf + +#ifdef _MSVC_STL_UPDATE +# define FMT_MSVC_STL_UPDATE _MSVC_STL_UPDATE +#elif defined(_MSC_VER) && _MSC_VER < 1912 // VS 15.5 +# define FMT_MSVC_STL_UPDATE _MSVC_LANG +#else +# define FMT_MSVC_STL_UPDATE 0 +#endif FMT_BEGIN_NAMESPACE namespace detail { -template class formatbuf : public Streambuf { - private: - using char_type = typename Streambuf::char_type; - using streamsize = decltype(std::declval().sputn(nullptr, 0)); - using int_type = typename Streambuf::int_type; - using traits_type = typename Streambuf::traits_type; - - buffer& buffer_; - - public: - explicit formatbuf(buffer& buf) : buffer_(buf) {} - - protected: - // The put area is always empty. This makes the implementation simpler and has - // the advantage that the streambuf and the buffer are always in sync and - // sputc never writes into uninitialized memory. A disadvantage is that each - // call to sputc always results in a (virtual) call to overflow. There is no - // disadvantage here for sputn since this always results in a call to xsputn. - - auto overflow(int_type ch) -> int_type override { - if (!traits_type::eq_int_type(ch, traits_type::eof())) - buffer_.push_back(static_cast(ch)); - return ch; - } - - auto xsputn(const char_type* s, streamsize count) -> streamsize override { - buffer_.append(s, s + count); - return count; - } -}; - // Generate a unique explicit instantion in every translation unit using a tag // type in an anonymous namespace. namespace { @@ -64,53 +43,18 @@ class file_access { friend auto get_file(BufType& obj) -> FILE* { return obj.*FileMemberPtr; } }; -#if FMT_MSC_VERSION +#if FMT_MSVC_STL_UPDATE template class file_access; auto get_file(std::filebuf&) -> FILE*; #endif -inline auto write_ostream_unicode(std::ostream& os, fmt::string_view data) - -> bool { - FILE* f = nullptr; -#if FMT_MSC_VERSION && false - if (auto* buf = dynamic_cast(os.rdbuf())) - f = get_file(*buf); - else - return false; -#elif defined(_WIN32) && defined(__GLIBCXX__) - auto* rdbuf = os.rdbuf(); - if (auto* sfbuf = dynamic_cast<__gnu_cxx::stdio_sync_filebuf*>(rdbuf)) - f = sfbuf->file(); - else if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_filebuf*>(rdbuf)) - f = fbuf->file(); - else - return false; -#else - ignore_unused(os, data, f); -#endif -#ifdef _WIN32 - if (f) { - int fd = _fileno(f); - if (_isatty(fd)) { - os.flush(); - return write_console(fd, data); - } - } -#endif - return false; -} -inline auto write_ostream_unicode(std::wostream&, - fmt::basic_string_view) -> bool { - return false; -} - // Write the content of buf to os. // It is a separate function rather than a part of vprint to simplify testing. template void write_buffer(std::basic_ostream& os, buffer& buf) { const Char* buf_data = buf.data(); - using unsigned_streamsize = std::make_unsigned::type; + using unsigned_streamsize = make_unsigned_t; unsigned_streamsize size = buf.size(); unsigned_streamsize max_size = to_unsigned(max_value()); do { @@ -121,21 +65,9 @@ void write_buffer(std::basic_ostream& os, buffer& buf) { } while (size != 0); } -template -void format_value(buffer& buf, const T& value) { - auto&& format_buf = formatbuf>(buf); - auto&& output = std::basic_ostream(&format_buf); -#if !defined(FMT_STATIC_THOUSANDS_SEPARATOR) - output.imbue(std::locale::classic()); // The default is always unlocalized. -#endif - output << value; - output.exceptions(std::ios_base::failbit | std::ios_base::badbit); -} - template struct streamed_view { const T& value; }; - } // namespace detail // Formats an object of type T that has an overloaded ostream operator<<. @@ -143,11 +75,14 @@ template struct basic_ostream_formatter : formatter, Char> { void set_debug_format() = delete; - template - auto format(const T& value, basic_format_context& ctx) const - -> OutputIt { + template + auto format(const T& value, Context& ctx) const -> decltype(ctx.out()) { auto buffer = basic_memory_buffer(); - detail::format_value(buffer, value); + auto&& formatbuf = detail::formatbuf>(buffer); + auto&& output = std::basic_ostream(&formatbuf); + output.imbue(std::locale::classic()); // The default is always unlocalized. + output << value; + output.exceptions(std::ios_base::failbit | std::ios_base::badbit); return formatter, Char>::format( {buffer.data(), buffer.size()}, ctx); } @@ -158,73 +93,67 @@ using ostream_formatter = basic_ostream_formatter; template struct formatter, Char> : basic_ostream_formatter { - template - auto format(detail::streamed_view view, - basic_format_context& ctx) const -> OutputIt { + template + auto format(detail::streamed_view view, Context& ctx) const + -> decltype(ctx.out()) { return basic_ostream_formatter::format(view.value, ctx); } }; /** - \rst - Returns a view that formats `value` via an ostream ``operator<<``. - - **Example**:: - - fmt::print("Current thread id: {}\n", - fmt::streamed(std::this_thread::get_id())); - \endrst + * Returns a view that formats `value` via an ostream `operator<<`. + * + * **Example**: + * + * fmt::print("Current thread id: {}\n", + * fmt::streamed(std::this_thread::get_id())); */ template constexpr auto streamed(const T& value) -> detail::streamed_view { return {value}; } -namespace detail { - -inline void vprint_directly(std::ostream& os, string_view format_str, - format_args args) { +inline void vprint(std::ostream& os, string_view fmt, format_args args) { auto buffer = memory_buffer(); - detail::vformat_to(buffer, format_str, args); - detail::write_buffer(os, buffer); -} - -} // namespace detail - -FMT_EXPORT template -void vprint(std::basic_ostream& os, - basic_string_view> format_str, - basic_format_args>> args) { - auto buffer = basic_memory_buffer(); - detail::vformat_to(buffer, format_str, args); - if (detail::write_ostream_unicode(os, {buffer.data(), buffer.size()})) return; + detail::vformat_to(buffer, fmt, args); + FILE* f = nullptr; +#if FMT_MSVC_STL_UPDATE && FMT_USE_RTTI + if (auto* buf = dynamic_cast(os.rdbuf())) + f = detail::get_file(*buf); +#elif defined(_WIN32) && defined(__GLIBCXX__) && FMT_USE_RTTI + auto* rdbuf = os.rdbuf(); + if (auto* sfbuf = dynamic_cast<__gnu_cxx::stdio_sync_filebuf*>(rdbuf)) + f = sfbuf->file(); + else if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_filebuf*>(rdbuf)) + f = fbuf->file(); +#endif +#ifdef _WIN32 + if (f) { + int fd = _fileno(f); + if (_isatty(fd)) { + os.flush(); + if (detail::write_console(fd, {buffer.data(), buffer.size()})) return; + } + } +#endif + detail::ignore_unused(f); detail::write_buffer(os, buffer); } /** - \rst - Prints formatted data to the stream *os*. - - **Example**:: - - fmt::print(cerr, "Don't {}!", "panic"); - \endrst + * Prints formatted data to the stream `os`. + * + * **Example**: + * + * fmt::print(cerr, "Don't {}!", "panic"); */ FMT_EXPORT template void print(std::ostream& os, format_string fmt, T&&... args) { - const auto& vargs = fmt::make_format_args(args...); - if (detail::is_utf8()) - vprint(os, fmt, vargs); - else - detail::vprint_directly(os, fmt, vargs); -} - -FMT_EXPORT -template -void print(std::wostream& os, - basic_format_string...> fmt, - Args&&... args) { - vprint(os, fmt, fmt::make_format_args>(args...)); + fmt::vargs vargs = {{args...}}; + if (detail::use_utf8) return vprint(os, fmt.str, vargs); + auto buffer = memory_buffer(); + detail::vformat_to(buffer, fmt.str, vargs); + detail::write_buffer(os, buffer); } FMT_EXPORT template @@ -232,14 +161,6 @@ void println(std::ostream& os, format_string fmt, T&&... args) { fmt::print(os, "{}\n", fmt::format(fmt, std::forward(args)...)); } -FMT_EXPORT -template -void println(std::wostream& os, - basic_format_string...> fmt, - Args&&... args) { - print(os, L"{}\n", fmt::format(fmt, std::forward(args)...)); -} - FMT_END_NAMESPACE #endif // FMT_OSTREAM_H_ diff --git a/3rdparty/fmt/include/fmt/printf.h b/3rdparty/fmt/include/fmt/printf.h index 07e81577cf320..e72684018546b 100644 --- a/3rdparty/fmt/include/fmt/printf.h +++ b/3rdparty/fmt/include/fmt/printf.h @@ -8,8 +8,10 @@ #ifndef FMT_PRINTF_H_ #define FMT_PRINTF_H_ -#include // std::max -#include // std::numeric_limits +#ifndef FMT_MODULE +# include // std::max +# include // std::numeric_limits +#endif #include "format.h" @@ -22,7 +24,7 @@ template struct printf_formatter { template class basic_printf_context { private: - detail::buffer_appender out_; + basic_appender out_; basic_format_args args_; static_assert(std::is_same::value || @@ -31,43 +33,53 @@ template class basic_printf_context { public: using char_type = Char; - using parse_context_type = basic_format_parse_context; + using parse_context_type = parse_context; template using formatter_type = printf_formatter; + enum { builtin_types = 1 }; - /** - \rst - Constructs a ``printf_context`` object. References to the arguments are - stored in the context object so make sure they have appropriate lifetimes. - \endrst - */ - basic_printf_context(detail::buffer_appender out, + /// Constructs a `printf_context` object. References to the arguments are + /// stored in the context object so make sure they have appropriate lifetimes. + basic_printf_context(basic_appender out, basic_format_args args) : out_(out), args_(args) {} - auto out() -> detail::buffer_appender { return out_; } - void advance_to(detail::buffer_appender) {} + auto out() -> basic_appender { return out_; } + void advance_to(basic_appender) {} auto locale() -> detail::locale_ref { return {}; } auto arg(int id) const -> basic_format_arg { return args_.get(id); } - - FMT_CONSTEXPR void on_error(const char* message) { - detail::error_handler().on_error(message); - } }; namespace detail { +// Return the result via the out param to workaround gcc bug 77539. +template +FMT_CONSTEXPR auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool { + for (out = first; out != last; ++out) { + if (*out == value) return true; + } + return false; +} + +template <> +inline auto find(const char* first, const char* last, char value, + const char*& out) -> bool { + out = + static_cast(memchr(first, value, to_unsigned(last - first))); + return out != nullptr; +} + // Checks if a value fits in int - used to avoid warnings about comparing // signed and unsigned integers. template struct int_checker { template static auto fits_in_int(T value) -> bool { - unsigned max = max_value(); + unsigned max = to_unsigned(max_value()); return value <= max; } - static auto fits_in_int(bool) -> bool { return true; } + inline static auto fits_in_int(bool) -> bool { return true; } }; template <> struct int_checker { @@ -75,20 +87,20 @@ template <> struct int_checker { return value >= (std::numeric_limits::min)() && value <= max_value(); } - static auto fits_in_int(int) -> bool { return true; } + inline static auto fits_in_int(int) -> bool { return true; } }; struct printf_precision_handler { template ::value)> auto operator()(T value) -> int { if (!int_checker::is_signed>::fits_in_int(value)) - throw_format_error("number is too big"); + report_error("number is too big"); return (std::max)(static_cast(value), 0); } template ::value)> auto operator()(T) -> int { - throw_format_error("precision is not integer"); + report_error("precision is not integer"); return 0; } }; @@ -133,25 +145,19 @@ template class arg_converter { using target_type = conditional_t::value, U, T>; if (const_check(sizeof(target_type) <= sizeof(int))) { // Extra casts are used to silence warnings. - if (is_signed) { - auto n = static_cast(static_cast(value)); - arg_ = detail::make_arg(n); - } else { - using unsigned_type = typename make_unsigned_or_bool::type; - auto n = static_cast(static_cast(value)); - arg_ = detail::make_arg(n); - } + using unsigned_type = typename make_unsigned_or_bool::type; + if (is_signed) + arg_ = static_cast(static_cast(value)); + else + arg_ = static_cast(static_cast(value)); } else { - if (is_signed) { - // glibc's printf doesn't sign extend arguments of smaller types: - // std::printf("%lld", -42); // prints "4294967254" - // but we don't have to do the same because it's a UB. - auto n = static_cast(value); - arg_ = detail::make_arg(n); - } else { - auto n = static_cast::type>(value); - arg_ = detail::make_arg(n); - } + // glibc's printf doesn't sign extend arguments of smaller types: + // std::printf("%lld", -42); // prints "4294967254" + // but we don't have to do the same because it's a UB. + if (is_signed) + arg_ = static_cast(value); + else + arg_ = static_cast::type>(value); } } @@ -165,7 +171,7 @@ template class arg_converter { // unsigned). template void convert_arg(basic_format_arg& arg, Char type) { - visit_format_arg(arg_converter(arg, type), arg); + arg.visit(arg_converter(arg, type)); } // Converts an integer argument to char for printf. @@ -178,8 +184,7 @@ template class char_converter { template ::value)> void operator()(T value) { - auto c = static_cast(value); - arg_ = detail::make_arg(c); + arg_ = static_cast(value); } template ::value)> @@ -195,28 +200,28 @@ template struct get_cstring { // Checks if an argument is a valid printf width specifier and sets // left alignment if it is negative. -template class printf_width_handler { +class printf_width_handler { private: - format_specs& specs_; + format_specs& specs_; public: - explicit printf_width_handler(format_specs& specs) : specs_(specs) {} + inline explicit printf_width_handler(format_specs& specs) : specs_(specs) {} template ::value)> auto operator()(T value) -> unsigned { auto width = static_cast>(value); if (detail::is_negative(value)) { - specs_.align = align::left; + specs_.set_align(align::left); width = 0 - width; } - unsigned int_max = max_value(); - if (width > int_max) throw_format_error("number is too big"); + unsigned int_max = to_unsigned(max_value()); + if (width > int_max) report_error("number is too big"); return static_cast(width); } template ::value)> auto operator()(T) -> unsigned { - throw_format_error("width is not integer"); + report_error("width is not integer"); return 0; } }; @@ -224,12 +229,12 @@ template class printf_width_handler { // Workaround for a bug with the XL compiler when initializing // printf_arg_formatter's base class. template -auto make_arg_formatter(buffer_appender iter, format_specs& s) +auto make_arg_formatter(basic_appender iter, format_specs& s) -> arg_formatter { return {iter, s, locale_ref()}; } -// The ``printf`` argument formatter. +// The `printf` argument formatter. template class printf_arg_formatter : public arg_formatter { private: @@ -240,105 +245,96 @@ class printf_arg_formatter : public arg_formatter { void write_null_pointer(bool is_string = false) { auto s = this->specs; - s.type = presentation_type::none; - write_bytes(this->out, is_string ? "(null)" : "(nil)", s); + s.set_type(presentation_type::none); + write_bytes(this->out, is_string ? "(null)" : "(nil)", s); + } + + template void write(T value) { + detail::write(this->out, value, this->specs, this->locale); } public: - printf_arg_formatter(buffer_appender iter, format_specs& s, + printf_arg_formatter(basic_appender iter, format_specs& s, context_type& ctx) : base(make_arg_formatter(iter, s)), context_(ctx) {} - void operator()(monostate value) { base::operator()(value); } + void operator()(monostate value) { write(value); } template ::value)> void operator()(T value) { // MSVC2013 fails to compile separate overloads for bool and Char so use // std::is_same instead. if (!std::is_same::value) { - base::operator()(value); + write(value); return; } - format_specs fmt_specs = this->specs; - if (fmt_specs.type != presentation_type::none && - fmt_specs.type != presentation_type::chr) { + format_specs s = this->specs; + if (s.type() != presentation_type::none && + s.type() != presentation_type::chr) { return (*this)(static_cast(value)); } - fmt_specs.sign = sign::none; - fmt_specs.alt = false; - fmt_specs.fill[0] = ' '; // Ignore '0' flag for char types. + s.set_sign(sign::none); + s.clear_alt(); + s.set_fill(' '); // Ignore '0' flag for char types. // align::numeric needs to be overwritten here since the '0' flag is // ignored for non-numeric types - if (fmt_specs.align == align::none || fmt_specs.align == align::numeric) - fmt_specs.align = align::right; - write(this->out, static_cast(value), fmt_specs); + if (s.align() == align::none || s.align() == align::numeric) + s.set_align(align::right); + detail::write(this->out, static_cast(value), s); } template ::value)> void operator()(T value) { - base::operator()(value); + write(value); } - /** Formats a null-terminated C string. */ void operator()(const char* value) { if (value) - base::operator()(value); + write(value); else - write_null_pointer(this->specs.type != presentation_type::pointer); + write_null_pointer(this->specs.type() != presentation_type::pointer); } - /** Formats a null-terminated wide C string. */ void operator()(const wchar_t* value) { if (value) - base::operator()(value); + write(value); else - write_null_pointer(this->specs.type != presentation_type::pointer); + write_null_pointer(this->specs.type() != presentation_type::pointer); } - void operator()(basic_string_view value) { base::operator()(value); } + void operator()(basic_string_view value) { write(value); } - /** Formats a pointer. */ void operator()(const void* value) { if (value) - base::operator()(value); + write(value); else write_null_pointer(); } - /** Formats an argument of a custom (user-defined) type. */ void operator()(typename basic_format_arg::handle handle) { - auto parse_ctx = basic_format_parse_context({}); + auto parse_ctx = parse_context({}); handle.format(parse_ctx, context_); } }; template -void parse_flags(format_specs& specs, const Char*& it, const Char* end) { +void parse_flags(format_specs& specs, const Char*& it, const Char* end) { for (; it != end; ++it) { switch (*it) { - case '-': - specs.align = align::left; - break; - case '+': - specs.sign = sign::plus; - break; - case '0': - specs.fill[0] = '0'; - break; + case '-': specs.set_align(align::left); break; + case '+': specs.set_sign(sign::plus); break; + case '0': specs.set_fill('0'); break; case ' ': - if (specs.sign != sign::plus) specs.sign = sign::space; - break; - case '#': - specs.alt = true; + if (specs.sign() != sign::plus) specs.set_sign(sign::space); break; - default: - return; + case '#': specs.set_alt(); break; + default: return; } } } template -auto parse_header(const Char*& it, const Char* end, format_specs& specs, +auto parse_header(const Char*& it, const Char* end, format_specs& specs, GetArg get_arg) -> int { int arg_index = -1; Char c = *it; @@ -350,11 +346,11 @@ auto parse_header(const Char*& it, const Char* end, format_specs& specs, ++it; arg_index = value != -1 ? value : max_value(); } else { - if (c == '0') specs.fill[0] = '0'; + if (c == '0') specs.set_fill('0'); if (value != 0) { // Nonzero value means that we parsed width and don't need to // parse it or flags again, so return now. - if (value == -1) throw_format_error("number is too big"); + if (value == -1) report_error("number is too big"); specs.width = value; return arg_index; } @@ -365,63 +361,47 @@ auto parse_header(const Char*& it, const Char* end, format_specs& specs, if (it != end) { if (*it >= '0' && *it <= '9') { specs.width = parse_nonnegative_int(it, end, -1); - if (specs.width == -1) throw_format_error("number is too big"); + if (specs.width == -1) report_error("number is too big"); } else if (*it == '*') { ++it; - specs.width = static_cast(visit_format_arg( - detail::printf_width_handler(specs), get_arg(-1))); + specs.width = static_cast( + get_arg(-1).visit(detail::printf_width_handler(specs))); } } return arg_index; } -inline auto parse_printf_presentation_type(char c, type t) +inline auto parse_printf_presentation_type(char c, type t, bool& upper) -> presentation_type { using pt = presentation_type; constexpr auto integral_set = sint_set | uint_set | bool_set | char_set; switch (c) { - case 'd': - return in(t, integral_set) ? pt::dec : pt::none; - case 'o': - return in(t, integral_set) ? pt::oct : pt::none; - case 'x': - return in(t, integral_set) ? pt::hex_lower : pt::none; - case 'X': - return in(t, integral_set) ? pt::hex_upper : pt::none; - case 'a': - return in(t, float_set) ? pt::hexfloat_lower : pt::none; - case 'A': - return in(t, float_set) ? pt::hexfloat_upper : pt::none; - case 'e': - return in(t, float_set) ? pt::exp_lower : pt::none; - case 'E': - return in(t, float_set) ? pt::exp_upper : pt::none; - case 'f': - return in(t, float_set) ? pt::fixed_lower : pt::none; - case 'F': - return in(t, float_set) ? pt::fixed_upper : pt::none; - case 'g': - return in(t, float_set) ? pt::general_lower : pt::none; - case 'G': - return in(t, float_set) ? pt::general_upper : pt::none; - case 'c': - return in(t, integral_set) ? pt::chr : pt::none; - case 's': - return in(t, string_set | cstring_set) ? pt::string : pt::none; - case 'p': - return in(t, pointer_set | cstring_set) ? pt::pointer : pt::none; - default: - return pt::none; + case 'd': return in(t, integral_set) ? pt::dec : pt::none; + case 'o': return in(t, integral_set) ? pt::oct : pt::none; + case 'X': upper = true; FMT_FALLTHROUGH; + case 'x': return in(t, integral_set) ? pt::hex : pt::none; + case 'E': upper = true; FMT_FALLTHROUGH; + case 'e': return in(t, float_set) ? pt::exp : pt::none; + case 'F': upper = true; FMT_FALLTHROUGH; + case 'f': return in(t, float_set) ? pt::fixed : pt::none; + case 'G': upper = true; FMT_FALLTHROUGH; + case 'g': return in(t, float_set) ? pt::general : pt::none; + case 'A': upper = true; FMT_FALLTHROUGH; + case 'a': return in(t, float_set) ? pt::hexfloat : pt::none; + case 'c': return in(t, integral_set) ? pt::chr : pt::none; + case 's': return in(t, string_set | cstring_set) ? pt::string : pt::none; + case 'p': return in(t, pointer_set | cstring_set) ? pt::pointer : pt::none; + default: return pt::none; } } template void vprintf(buffer& buf, basic_string_view format, basic_format_args args) { - using iterator = buffer_appender; + using iterator = basic_appender; auto out = iterator(buf); auto context = basic_printf_context(out, args); - auto parse_ctx = basic_format_parse_context(format); + auto parse_ctx = parse_context(format); // Returns the argument with specified index or, if arg_index is -1, the next // argument. @@ -449,12 +429,12 @@ void vprintf(buffer& buf, basic_string_view format, } write(out, basic_string_view(start, to_unsigned(it - 1 - start))); - auto specs = format_specs(); - specs.align = align::right; + auto specs = format_specs(); + specs.set_align(align::right); // Parse argument index, flags and width. int arg_index = parse_header(it, end, specs, get_arg); - if (arg_index == 0) throw_format_error("argument not found"); + if (arg_index == 0) report_error("argument not found"); // Parse precision. if (it != end && *it == '.') { @@ -464,8 +444,8 @@ void vprintf(buffer& buf, basic_string_view format, specs.precision = parse_nonnegative_int(it, end, 0); } else if (c == '*') { ++it; - specs.precision = static_cast( - visit_format_arg(printf_precision_handler(), get_arg(-1))); + specs.precision = + static_cast(get_arg(-1).visit(printf_precision_handler())); } else { specs.precision = 0; } @@ -474,25 +454,26 @@ void vprintf(buffer& buf, basic_string_view format, auto arg = get_arg(arg_index); // For d, i, o, u, x, and X conversion specifiers, if a precision is // specified, the '0' flag is ignored - if (specs.precision >= 0 && arg.is_integral()) { + if (specs.precision >= 0 && is_integral_type(arg.type())) { // Ignore '0' for non-numeric types or if '-' present. - specs.fill[0] = ' '; + specs.set_fill(' '); } if (specs.precision >= 0 && arg.type() == type::cstring_type) { - auto str = visit_format_arg(get_cstring(), arg); + auto str = arg.visit(get_cstring()); auto str_end = str + specs.precision; auto nul = std::find(str, str_end, Char()); auto sv = basic_string_view( str, to_unsigned(nul != str_end ? nul - str : specs.precision)); - arg = make_arg>(sv); + arg = sv; } - if (specs.alt && visit_format_arg(is_zero_int(), arg)) specs.alt = false; - if (specs.fill[0] == '0') { - if (arg.is_arithmetic() && specs.align != align::left) - specs.align = align::numeric; - else - specs.fill[0] = ' '; // Ignore '0' flag for non-numeric types or if '-' - // flag is also present. + if (specs.alt() && arg.visit(is_zero_int())) specs.clear_alt(); + if (specs.fill_unit() == '0') { + if (is_arithmetic_type(arg.type()) && specs.align() != align::left) { + specs.set_align(align::numeric); + } else { + // Ignore '0' flag for non-numeric types or if '-' flag is also present. + specs.set_fill(' '); + } } // Parse length and convert the argument to the required type. @@ -517,47 +498,39 @@ void vprintf(buffer& buf, basic_string_view format, convert_arg(arg, t); } break; - case 'j': - convert_arg(arg, t); - break; - case 'z': - convert_arg(arg, t); - break; - case 't': - convert_arg(arg, t); - break; + case 'j': convert_arg(arg, t); break; + case 'z': convert_arg(arg, t); break; + case 't': convert_arg(arg, t); break; case 'L': // printf produces garbage when 'L' is omitted for long double, no // need to do the same. break; - default: - --it; - convert_arg(arg, c); + default: --it; convert_arg(arg, c); } // Parse type. - if (it == end) throw_format_error("invalid format string"); + if (it == end) report_error("invalid format string"); char type = static_cast(*it++); - if (arg.is_integral()) { + if (is_integral_type(arg.type())) { // Normalize type. switch (type) { case 'i': - case 'u': - type = 'd'; - break; + case 'u': type = 'd'; break; case 'c': - visit_format_arg(char_converter>(arg), arg); + arg.visit(char_converter>(arg)); break; } } - specs.type = parse_printf_presentation_type(type, arg.type()); - if (specs.type == presentation_type::none) - throw_format_error("invalid format specifier"); + bool upper = false; + specs.set_type(parse_printf_presentation_type(type, arg.type(), upper)); + if (specs.type() == presentation_type::none) + report_error("invalid format specifier"); + if (upper) specs.set_upper(); start = it; // Format argument. - visit_format_arg(printf_arg_formatter(out, specs, context), arg); + arg.visit(printf_arg_formatter(out, specs, context)); } write(out, basic_string_view(start, to_unsigned(it - start))); } @@ -569,56 +542,44 @@ using wprintf_context = basic_printf_context; using printf_args = basic_format_args; using wprintf_args = basic_format_args; -/** - \rst - Constructs an `~fmt::format_arg_store` object that contains references to - arguments and can be implicitly converted to `~fmt::printf_args`. - \endrst - */ -template -inline auto make_printf_args(const T&... args) - -> format_arg_store { - return {args...}; +/// Constructs an `format_arg_store` object that contains references to +/// arguments and can be implicitly converted to `printf_args`. +template +inline auto make_printf_args(T&... args) + -> decltype(fmt::make_format_args>(args...)) { + return fmt::make_format_args>(args...); } -// DEPRECATED! -template -inline auto make_wprintf_args(const T&... args) - -> format_arg_store { - return {args...}; -} +template struct vprintf_args { + using type = basic_format_args>; +}; template -inline auto vsprintf( - basic_string_view fmt, - basic_format_args>> args) +inline auto vsprintf(basic_string_view fmt, + typename vprintf_args::type args) -> std::basic_string { auto buf = basic_memory_buffer(); detail::vprintf(buf, fmt, args); - return to_string(buf); + return {buf.data(), buf.size()}; } /** - \rst - Formats arguments and returns the result as a string. - - **Example**:: - - std::string message = fmt::sprintf("The answer is %d", 42); - \endrst -*/ -template ::value, char_t>> + * Formats `args` according to specifications in `fmt` and returns the result + * as as string. + * + * **Example**: + * + * std::string message = fmt::sprintf("The answer is %d", 42); + */ +template > inline auto sprintf(const S& fmt, const T&... args) -> std::basic_string { return vsprintf(detail::to_string_view(fmt), fmt::make_format_args>(args...)); } template -inline auto vfprintf( - std::FILE* f, basic_string_view fmt, - basic_format_args>> args) - -> int { +inline auto vfprintf(std::FILE* f, basic_string_view fmt, + typename vprintf_args::type args) -> int { auto buf = basic_memory_buffer(); detail::vprintf(buf, fmt, args); size_t size = buf.size(); @@ -628,36 +589,33 @@ inline auto vfprintf( } /** - \rst - Prints formatted data to the file *f*. - - **Example**:: - - fmt::fprintf(stderr, "Don't %s!", "panic"); - \endrst + * Formats `args` according to specifications in `fmt` and writes the output + * to `f`. + * + * **Example**: + * + * fmt::fprintf(stderr, "Don't %s!", "panic"); */ -template > +template > inline auto fprintf(std::FILE* f, const S& fmt, const T&... args) -> int { return vfprintf(f, detail::to_string_view(fmt), - fmt::make_format_args>(args...)); + make_printf_args(args...)); } template -FMT_DEPRECATED inline auto vprintf( - basic_string_view fmt, - basic_format_args>> args) +FMT_DEPRECATED inline auto vprintf(basic_string_view fmt, + typename vprintf_args::type args) -> int { return vfprintf(stdout, fmt, args); } /** - \rst - Prints formatted data to ``stdout``. - - **Example**:: - - fmt::printf("Elapsed time: %.2f seconds", 1.23); - \endrst + * Formats `args` according to specifications in `fmt` and writes the output + * to `stdout`. + * + * **Example**: + * + * fmt::printf("Elapsed time: %.2f seconds", 1.23); */ template inline auto printf(string_view fmt, const T&... args) -> int { @@ -666,7 +624,7 @@ inline auto printf(string_view fmt, const T&... args) -> int { template FMT_DEPRECATED inline auto printf(basic_string_view fmt, const T&... args) -> int { - return vfprintf(stdout, fmt, make_wprintf_args(args...)); + return vfprintf(stdout, fmt, make_printf_args(args...)); } FMT_END_EXPORT diff --git a/3rdparty/fmt/include/fmt/ranges.h b/3rdparty/fmt/include/fmt/ranges.h index 3638fffb83bce..118d24fe81a80 100644 --- a/3rdparty/fmt/include/fmt/ranges.h +++ b/3rdparty/fmt/include/fmt/ranges.h @@ -8,67 +8,31 @@ #ifndef FMT_RANGES_H_ #define FMT_RANGES_H_ -#include -#include -#include +#ifndef FMT_MODULE +# include +# include +# include +# include +# include +# include +#endif #include "format.h" FMT_BEGIN_NAMESPACE -namespace detail { - -template -auto copy(const Range& range, OutputIt out) -> OutputIt { - for (auto it = range.begin(), end = range.end(); it != end; ++it) - *out++ = *it; - return out; -} - -template -auto copy(const char* str, OutputIt out) -> OutputIt { - while (*str) *out++ = *str++; - return out; -} - -template auto copy(char ch, OutputIt out) -> OutputIt { - *out++ = ch; - return out; -} - -template auto copy(wchar_t ch, OutputIt out) -> OutputIt { - *out++ = ch; - return out; -} - -// Returns true if T has a std::string-like interface, like std::string_view. -template class is_std_string_like { - template - static auto check(U* p) - -> decltype((void)p->find('a'), p->length(), (void)p->data(), int()); - template static void check(...); - - public: - static constexpr const bool value = - is_string::value || - std::is_convertible>::value || - !std::is_void(nullptr))>::value; -}; +FMT_EXPORT +enum class range_format { disabled, map, set, sequence, string, debug_string }; -template -struct is_std_string_like> : std::true_type {}; +namespace detail { template class is_map { template static auto check(U*) -> typename U::mapped_type; template static void check(...); public: -#ifdef FMT_FORMAT_MAP_AS_LIST // DEPRECATED! - static constexpr const bool value = false; -#else static constexpr const bool value = !std::is_void(nullptr))>::value; -#endif }; template class is_set { @@ -76,26 +40,10 @@ template class is_set { template static void check(...); public: -#ifdef FMT_FORMAT_SET_AS_LIST // DEPRECATED! - static constexpr const bool value = false; -#else static constexpr const bool value = !std::is_void(nullptr))>::value && !is_map::value; -#endif }; -template struct conditional_helper {}; - -template struct is_range_ : std::false_type {}; - -#if !FMT_MSC_VERSION || FMT_MSC_VERSION > 1800 - -# define FMT_DECLTYPE_RETURN(val) \ - ->decltype(val) { return val; } \ - static_assert( \ - true, "") // This makes it so that a semicolon is required after the - // macro, which helps clang-format handle the formatting. - // C array overload template auto range_begin(const T (&arr)[N]) -> const T* { @@ -110,17 +58,21 @@ template struct has_member_fn_begin_end_t : std::false_type {}; template -struct has_member_fn_begin_end_t().begin()), +struct has_member_fn_begin_end_t().begin()), decltype(std::declval().end())>> : std::true_type {}; -// Member function overload +// Member function overloads. template -auto range_begin(T&& rng) FMT_DECLTYPE_RETURN(static_cast(rng).begin()); +auto range_begin(T&& rng) -> decltype(static_cast(rng).begin()) { + return static_cast(rng).begin(); +} template -auto range_end(T&& rng) FMT_DECLTYPE_RETURN(static_cast(rng).end()); +auto range_end(T&& rng) -> decltype(static_cast(rng).end()) { + return static_cast(rng).end(); +} -// ADL overload. Only participates in overload resolution if member functions +// ADL overloads. Only participate in overload resolution if member functions // are not found. template auto range_begin(T&& rng) @@ -141,31 +93,30 @@ struct has_mutable_begin_end : std::false_type {}; template struct has_const_begin_end< - T, - void_t< - decltype(detail::range_begin(std::declval&>())), - decltype(detail::range_end(std::declval&>()))>> + T, void_t&>())), + decltype(detail::range_end( + std::declval&>()))>> : std::true_type {}; template struct has_mutable_begin_end< - T, void_t())), - decltype(detail::range_end(std::declval())), + T, void_t())), + decltype(detail::range_end(std::declval())), // the extra int here is because older versions of MSVC don't // SFINAE properly unless there are distinct types int>> : std::true_type {}; +template struct is_range_ : std::false_type {}; template struct is_range_ : std::integral_constant::value || has_mutable_begin_end::value)> {}; -# undef FMT_DECLTYPE_RETURN -#endif // tuple_size and tuple_element check. template class is_tuple_like_ { - template - static auto check(U* p) -> decltype(std::tuple_size::value, int()); + template ::type> + static auto check(U* p) -> decltype(std::tuple_size::value, 0); template static void check(...); public: @@ -206,12 +157,13 @@ class is_tuple_formattable_ { static constexpr const bool value = false; }; template class is_tuple_formattable_ { - template - static auto check2(index_sequence, - integer_sequence) -> std::true_type; - static auto check2(...) -> std::false_type; - template - static auto check(index_sequence) -> decltype(check2( + template + static auto all_true(index_sequence, + integer_sequence= 0)...>) -> std::true_type; + static auto all_true(...) -> std::false_type; + + template + static auto check(index_sequence) -> decltype(all_true( index_sequence{}, integer_sequence::type, @@ -292,21 +244,32 @@ FMT_CONSTEXPR auto maybe_set_debug_format(Formatter& f, bool set) template FMT_CONSTEXPR void maybe_set_debug_format(Formatter&, ...) {} +template +struct range_format_kind_ + : std::integral_constant, T>::value + ? range_format::disabled + : is_map::value ? range_format::map + : is_set::value ? range_format::set + : range_format::sequence> {}; + +template +using range_format_constant = std::integral_constant; + // These are not generic lambdas for compatibility with C++11. -template struct parse_empty_specs { +template struct parse_empty_specs { template FMT_CONSTEXPR void operator()(Formatter& f) { f.parse(ctx); detail::maybe_set_debug_format(f, true); } - ParseContext& ctx; + parse_context& ctx; }; template struct format_tuple_element { using char_type = typename FormatContext::char_type; template void operator()(const formatter& f, const T& v) { - if (i > 0) - ctx.advance_to(detail::copy_str(separator, ctx.out())); + if (i > 0) ctx.advance_to(detail::copy(separator, ctx.out())); ctx.advance_to(f.format(v, ctx)); ++i; } @@ -355,66 +318,48 @@ struct formatter - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { auto it = ctx.begin(); - if (it != ctx.end() && *it != '}') - FMT_THROW(format_error("invalid format specifier")); - detail::for_each(formatters_, detail::parse_empty_specs{ctx}); + auto end = ctx.end(); + if (it != end && detail::to_ascii(*it) == 'n') { + ++it; + set_brackets({}, {}); + set_separator({}); + } + if (it != end && *it != '}') report_error("invalid format specifier"); + ctx.advance_to(it); + detail::for_each(formatters_, detail::parse_empty_specs{ctx}); return it; } template auto format(const Tuple& value, FormatContext& ctx) const -> decltype(ctx.out()) { - ctx.advance_to(detail::copy_str(opening_bracket_, ctx.out())); + ctx.advance_to(detail::copy(opening_bracket_, ctx.out())); detail::for_each2( formatters_, value, detail::format_tuple_element{0, ctx, separator_}); - return detail::copy_str(closing_bracket_, ctx.out()); + return detail::copy(closing_bracket_, ctx.out()); } }; template struct is_range { static constexpr const bool value = - detail::is_range_::value && !detail::is_std_string_like::value && - !std::is_convertible>::value && - !std::is_convertible>::value; + detail::is_range_::value && !detail::has_to_string_view::value; }; namespace detail { -template struct range_mapper { - using mapper = arg_mapper; - - template , Context>::value)> - static auto map(T&& value) -> T&& { - return static_cast(value); - } - template , Context>::value)> - static auto map(T&& value) - -> decltype(mapper().map(static_cast(value))) { - return mapper().map(static_cast(value)); - } -}; template -using range_formatter_type = - formatter>{}.map( - std::declval()))>, - Char>; +using range_formatter_type = formatter, Char>; template using maybe_const_range = conditional_t::value, const R, R>; -// Workaround a bug in MSVC 2015 and earlier. -#if !FMT_MSC_VERSION || FMT_MSC_VERSION >= 1910 template struct is_formattable_delayed : is_formattable>, Char> {}; -#endif } // namespace detail template struct conjunction : std::true_type {}; @@ -438,6 +383,24 @@ struct range_formatter< detail::string_literal{}; basic_string_view closing_bracket_ = detail::string_literal{}; + bool is_debug = false; + + template ::value)> + auto write_debug_string(Output& out, It it, Sentinel end) const -> Output { + auto buf = basic_memory_buffer(); + for (; it != end; ++it) buf.push_back(*it); + auto specs = format_specs(); + specs.set_type(presentation_type::debug); + return detail::write( + out, basic_string_view(buf.data(), buf.size()), specs); + } + + template ::value)> + auto write_debug_string(Output& out, It, Sentinel) const -> Output { + return out; + } public: FMT_CONSTEXPR range_formatter() {} @@ -456,21 +419,40 @@ struct range_formatter< closing_bracket_ = close; } - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { auto it = ctx.begin(); auto end = ctx.end(); + detail::maybe_set_debug_format(underlying_, true); + if (it == end) return underlying_.parse(ctx); - if (it != end && *it == 'n') { + switch (detail::to_ascii(*it)) { + case 'n': set_brackets({}, {}); ++it; + break; + case '?': + is_debug = true; + set_brackets({}, {}); + ++it; + if (it == end || *it != 's') report_error("invalid format specifier"); + FMT_FALLTHROUGH; + case 's': + if (!std::is_same::value) + report_error("invalid format specifier"); + if (!is_debug) { + set_brackets(detail::string_literal{}, + detail::string_literal{}); + set_separator({}); + detail::maybe_set_debug_format(underlying_, false); + } + ++it; + return it; } if (it != end && *it != '}') { - if (*it != ':') FMT_THROW(format_error("invalid format specifier")); + if (*it != ':') report_error("invalid format specifier"); + detail::maybe_set_debug_format(underlying_, false); ++it; - } else { - detail::maybe_set_debug_format(underlying_, true); } ctx.advance_to(it); @@ -479,106 +461,218 @@ struct range_formatter< template auto format(R&& range, FormatContext& ctx) const -> decltype(ctx.out()) { - detail::range_mapper> mapper; auto out = ctx.out(); - out = detail::copy_str(opening_bracket_, out); - int i = 0; auto it = detail::range_begin(range); auto end = detail::range_end(range); + if (is_debug) return write_debug_string(out, std::move(it), end); + + out = detail::copy(opening_bracket_, out); + int i = 0; for (; it != end; ++it) { - if (i > 0) out = detail::copy_str(separator_, out); + if (i > 0) out = detail::copy(separator_, out); ctx.advance_to(out); - auto&& item = *it; - out = underlying_.format(mapper.map(item), ctx); + auto&& item = *it; // Need an lvalue + out = underlying_.format(item, ctx); ++i; } - out = detail::copy_str(closing_bracket_, out); + out = detail::copy(closing_bracket_, out); return out; } }; -enum class range_format { disabled, map, set, sequence, string, debug_string }; +FMT_EXPORT +template +struct range_format_kind + : conditional_t< + is_range::value, detail::range_format_kind_, + std::integral_constant> {}; -namespace detail { -template -struct range_format_kind_ - : std::integral_constant, T>::value - ? range_format::disabled - : is_map::value ? range_format::map - : is_set::value ? range_format::set - : range_format::sequence> {}; +template +struct formatter< + R, Char, + enable_if_t::value != range_format::disabled && + range_format_kind::value != range_format::map && + range_format_kind::value != range_format::string && + range_format_kind::value != range_format::debug_string>, + detail::is_formattable_delayed>::value>> { + private: + using range_type = detail::maybe_const_range; + range_formatter, Char> range_formatter_; -template -struct range_default_formatter; + public: + using nonlocking = void; + + FMT_CONSTEXPR formatter() { + if (detail::const_check(range_format_kind::value != + range_format::set)) + return; + range_formatter_.set_brackets(detail::string_literal{}, + detail::string_literal{}); + } -template -using range_format_constant = std::integral_constant; + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + return range_formatter_.parse(ctx); + } -template -struct range_default_formatter< - K, R, Char, - enable_if_t<(K == range_format::sequence || K == range_format::map || - K == range_format::set)>> { - using range_type = detail::maybe_const_range; - range_formatter, Char> underlying_; + template + auto format(range_type& range, FormatContext& ctx) const + -> decltype(ctx.out()) { + return range_formatter_.format(range, ctx); + } +}; + +// A map formatter. +template +struct formatter< + R, Char, + enable_if_t::value == range_format::map>> { + private: + using map_type = detail::maybe_const_range; + using element_type = detail::uncvref_type; - FMT_CONSTEXPR range_default_formatter() { init(range_format_constant()); } + decltype(detail::tuple::get_formatters( + detail::tuple_index_sequence())) formatters_; + bool no_delimiters_ = false; - FMT_CONSTEXPR void init(range_format_constant) { - underlying_.set_brackets(detail::string_literal{}, - detail::string_literal{}); + public: + FMT_CONSTEXPR formatter() {} + + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + auto it = ctx.begin(); + auto end = ctx.end(); + if (it != end) { + if (detail::to_ascii(*it) == 'n') { + no_delimiters_ = true; + ++it; + } + if (it != end && *it != '}') { + if (*it != ':') report_error("invalid format specifier"); + ++it; + } + ctx.advance_to(it); + } + detail::for_each(formatters_, detail::parse_empty_specs{ctx}); + return it; } - FMT_CONSTEXPR void init(range_format_constant) { - underlying_.set_brackets(detail::string_literal{}, - detail::string_literal{}); - underlying_.underlying().set_brackets({}, {}); - underlying_.underlying().set_separator( - detail::string_literal{}); + template + auto format(map_type& map, FormatContext& ctx) const -> decltype(ctx.out()) { + auto out = ctx.out(); + basic_string_view open = detail::string_literal{}; + if (!no_delimiters_) out = detail::copy(open, out); + int i = 0; + basic_string_view sep = detail::string_literal{}; + for (auto&& value : map) { + if (i > 0) out = detail::copy(sep, out); + ctx.advance_to(out); + detail::for_each2(formatters_, value, + detail::format_tuple_element{ + 0, ctx, detail::string_literal{}}); + ++i; + } + basic_string_view close = detail::string_literal{}; + if (!no_delimiters_) out = detail::copy(close, out); + return out; } +}; + +// A (debug_)string formatter. +template +struct formatter< + R, Char, + enable_if_t::value == range_format::string || + range_format_kind::value == + range_format::debug_string>> { + private: + using range_type = detail::maybe_const_range; + using string_type = + conditional_t, + decltype(detail::range_begin(std::declval())), + decltype(detail::range_end(std::declval()))>::value, + detail::std_string_view, std::basic_string>; - FMT_CONSTEXPR void init(range_format_constant) {} + formatter underlying_; - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { + public: + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { return underlying_.parse(ctx); } template auto format(range_type& range, FormatContext& ctx) const -> decltype(ctx.out()) { - return underlying_.format(range, ctx); + auto out = ctx.out(); + if (detail::const_check(range_format_kind::value == + range_format::debug_string)) + *out++ = '"'; + out = underlying_.format( + string_type{detail::range_begin(range), detail::range_end(range)}, ctx); + if (detail::const_check(range_format_kind::value == + range_format::debug_string)) + *out++ = '"'; + return out; } }; -} // namespace detail -template -struct range_format_kind - : conditional_t< - is_range::value, detail::range_format_kind_, - std::integral_constant> {}; +template +struct join_view : detail::view { + It begin; + Sentinel end; + basic_string_view sep; -template -struct formatter< - R, Char, - enable_if_t::value != - range_format::disabled> -// Workaround a bug in MSVC 2015 and earlier. -#if !FMT_MSC_VERSION || FMT_MSC_VERSION >= 1910 - , - detail::is_formattable_delayed + join_view(It b, Sentinel e, basic_string_view s) + : begin(std::move(b)), end(e), sep(s) {} +}; + +template +struct formatter, Char> { + private: + using value_type = +#ifdef __cpp_lib_ranges + std::iter_value_t; +#else + typename std::iterator_traits::value_type; #endif - >::value>> - : detail::range_default_formatter::value, R, - Char> { + formatter, Char> value_formatter_; + + using view = conditional_t::value, + const join_view, + join_view>; + + public: + using nonlocking = void; + + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + return value_formatter_.parse(ctx); + } + + template + auto format(view& value, FormatContext& ctx) const -> decltype(ctx.out()) { + using iter = + conditional_t::value, It, It&>; + iter it = value.begin; + auto out = ctx.out(); + if (it == value.end) return out; + out = value_formatter_.format(*it, ctx); + ++it; + while (it != value.end) { + out = detail::copy(value.sep.begin(), value.sep.end(), out); + ctx.advance_to(out); + out = value_formatter_.format(*it, ctx); + ++it; + } + return out; + } }; -template struct tuple_join_view : detail::view { - const std::tuple& tuple; +template struct tuple_join_view : detail::view { + const Tuple& tuple; basic_string_view sep; - tuple_join_view(const std::tuple& t, basic_string_view s) + tuple_join_view(const Tuple& t, basic_string_view s) : tuple(t), sep{s} {} }; @@ -589,65 +683,64 @@ template struct tuple_join_view : detail::view { # define FMT_TUPLE_JOIN_SPECIFIERS 0 #endif -template -struct formatter, Char> { - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { - return do_parse(ctx, std::integral_constant()); +template +struct formatter, Char, + enable_if_t::value>> { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + return do_parse(ctx, std::tuple_size()); } template - auto format(const tuple_join_view& value, + auto format(const tuple_join_view& value, FormatContext& ctx) const -> typename FormatContext::iterator { - return do_format(value, ctx, - std::integral_constant()); + return do_format(value, ctx, std::tuple_size()); } private: - std::tuple::type, Char>...> formatters_; + decltype(detail::tuple::get_formatters( + detail::tuple_index_sequence())) formatters_; - template - FMT_CONSTEXPR auto do_parse(ParseContext& ctx, + FMT_CONSTEXPR auto do_parse(parse_context& ctx, std::integral_constant) - -> decltype(ctx.begin()) { + -> const Char* { return ctx.begin(); } - template - FMT_CONSTEXPR auto do_parse(ParseContext& ctx, + template + FMT_CONSTEXPR auto do_parse(parse_context& ctx, std::integral_constant) - -> decltype(ctx.begin()) { + -> const Char* { auto end = ctx.begin(); #if FMT_TUPLE_JOIN_SPECIFIERS - end = std::get(formatters_).parse(ctx); + end = std::get::value - N>(formatters_).parse(ctx); if (N > 1) { auto end1 = do_parse(ctx, std::integral_constant()); if (end != end1) - FMT_THROW(format_error("incompatible format specs for tuple elements")); + report_error("incompatible format specs for tuple elements"); } #endif return end; } template - auto do_format(const tuple_join_view&, FormatContext& ctx, + auto do_format(const tuple_join_view&, FormatContext& ctx, std::integral_constant) const -> typename FormatContext::iterator { return ctx.out(); } template - auto do_format(const tuple_join_view& value, FormatContext& ctx, + auto do_format(const tuple_join_view& value, FormatContext& ctx, std::integral_constant) const -> typename FormatContext::iterator { - auto out = std::get(formatters_) - .format(std::get(value.tuple), ctx); - if (N > 1) { - out = std::copy(value.sep.begin(), value.sep.end(), out); - ctx.advance_to(out); - return do_format(value, ctx, std::integral_constant()); - } - return out; + using std::get; + auto out = + std::get::value - N>(formatters_) + .format(get::value - N>(value.tuple), ctx); + if (N <= 1) return out; + out = detail::copy(value.sep, out); + ctx.advance_to(out); + return do_format(value, ctx, std::integral_constant()); } }; @@ -691,40 +784,57 @@ struct formatter< FMT_BEGIN_EXPORT -/** - \rst - Returns an object that formats `tuple` with elements separated by `sep`. - - **Example**:: +/// Returns a view that formats the iterator range `[begin, end)` with elements +/// separated by `sep`. +template +auto join(It begin, Sentinel end, string_view sep) -> join_view { + return {std::move(begin), end, sep}; +} - std::tuple t = {1, 'a'}; - fmt::print("{}", fmt::join(t, ", ")); - // Output: "1, a" - \endrst +/** + * Returns a view that formats `range` with elements separated by `sep`. + * + * **Example**: + * + * auto v = std::vector{1, 2, 3}; + * fmt::print("{}", fmt::join(v, ", ")); + * // Output: 1, 2, 3 + * + * `fmt::join` applies passed format specifiers to the range elements: + * + * fmt::print("{:02}", fmt::join(v, ", ")); + * // Output: 01, 02, 03 */ -template -FMT_CONSTEXPR auto join(const std::tuple& tuple, string_view sep) - -> tuple_join_view { - return {tuple, sep}; +template ::value)> +auto join(Range&& r, string_view sep) + -> join_view { + return {detail::range_begin(r), detail::range_end(r), sep}; } -template -FMT_CONSTEXPR auto join(const std::tuple& tuple, - basic_string_view sep) - -> tuple_join_view { +/** + * Returns an object that formats `std::tuple` with elements separated by `sep`. + * + * **Example**: + * + * auto t = std::tuple{1, 'a'}; + * fmt::print("{}", fmt::join(t, ", ")); + * // Output: 1, a + */ +template ::value)> +FMT_CONSTEXPR auto join(const Tuple& tuple, string_view sep) + -> tuple_join_view { return {tuple, sep}; } /** - \rst - Returns an object that formats `initializer_list` with elements separated by - `sep`. - - **Example**:: - - fmt::print("{}", fmt::join({1, 2, 3}, ", ")); - // Output: "1, 2, 3" - \endrst + * Returns an object that formats `std::initializer_list` with elements + * separated by `sep`. + * + * **Example**: + * + * fmt::print("{}", fmt::join({1, 2, 3}, ", ")); + * // Output: "1, 2, 3" */ template auto join(std::initializer_list list, string_view sep) diff --git a/3rdparty/fmt/include/fmt/std.h b/3rdparty/fmt/include/fmt/std.h index 7cff1159201d2..54eb2c2a73d43 100644 --- a/3rdparty/fmt/include/fmt/std.h +++ b/3rdparty/fmt/include/fmt/std.h @@ -8,38 +8,48 @@ #ifndef FMT_STD_H_ #define FMT_STD_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - #include "format.h" #include "ostream.h" -#if FMT_HAS_INCLUDE() -# include -#endif -// Checking FMT_CPLUSPLUS for warning suppression in MSVC. -#if FMT_CPLUSPLUS >= 201703L -# if FMT_HAS_INCLUDE() -# include +#ifndef FMT_MODULE +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +// Check FMT_CPLUSPLUS to suppress a bogus warning in MSVC. +# if FMT_CPLUSPLUS >= 201703L +# if FMT_HAS_INCLUDE() && \ + (!defined(FMT_CPP_LIB_FILESYSTEM) || FMT_CPP_LIB_FILESYSTEM != 0) +# include +# endif +# if FMT_HAS_INCLUDE() +# include +# endif +# if FMT_HAS_INCLUDE() +# include +# endif # endif -# if FMT_HAS_INCLUDE() -# include +// Use > instead of >= in the version check because may be +// available after C++17 but before C++20 is marked as implemented. +# if FMT_CPLUSPLUS > 201703L && FMT_HAS_INCLUDE() +# include # endif -# if FMT_HAS_INCLUDE() -# include +# if FMT_CPLUSPLUS > 202002L && FMT_HAS_INCLUDE() +# include # endif -#endif +#endif // FMT_MODULE -#if FMT_CPLUSPLUS > 201703L && FMT_HAS_INCLUDE() -# include +#if FMT_HAS_INCLUDE() +# include #endif // GCC 4 does not support FMT_HAS_INCLUDE. @@ -52,17 +62,6 @@ # endif #endif -// Check if typeid is available. -#ifndef FMT_USE_TYPEID -// __RTTI is for EDG compilers. In MSVC typeid is available without RTTI. -# if defined(__GXX_RTTI) || FMT_HAS_FEATURE(cxx_rtti) || FMT_MSC_VERSION || \ - defined(__INTEL_RTTI__) || defined(__RTTI) -# define FMT_USE_TYPEID 1 -# else -# define FMT_USE_TYPEID 0 -# endif -#endif - // For older Xcode versions, __cpp_lib_xxx flags are inaccurately defined. #ifndef FMT_CPP_LIB_FILESYSTEM # ifdef __cpp_lib_filesystem @@ -117,7 +116,7 @@ void write_escaped_path(basic_memory_buffer& quoted, FMT_EXPORT template struct formatter { private: - format_specs specs_; + format_specs specs_; detail::arg_ref width_ref_; bool debug_ = false; char path_type_ = 0; @@ -125,33 +124,33 @@ template struct formatter { public: FMT_CONSTEXPR void set_debug_format(bool set = true) { debug_ = set; } - template FMT_CONSTEXPR auto parse(ParseContext& ctx) { + FMT_CONSTEXPR auto parse(parse_context& ctx) { auto it = ctx.begin(), end = ctx.end(); if (it == end) return it; it = detail::parse_align(it, end, specs_); if (it == end) return it; - it = detail::parse_dynamic_spec(it, end, specs_.width, width_ref_, ctx); + Char c = *it; + if ((c >= '0' && c <= '9') || c == '{') + it = detail::parse_width(it, end, specs_, width_ref_, ctx); if (it != end && *it == '?') { debug_ = true; ++it; } - if (it != end && (*it == 'g')) path_type_ = *it++; + if (it != end && (*it == 'g')) path_type_ = detail::to_ascii(*it++); return it; } template auto format(const std::filesystem::path& p, FormatContext& ctx) const { auto specs = specs_; -# ifdef _WIN32 - auto path_string = !path_type_ ? p.native() : p.generic_wstring(); -# else - auto path_string = !path_type_ ? p.native() : p.generic_string(); -# endif + auto path_string = + !path_type_ ? p.native() + : p.generic_string(); - detail::handle_dynamic_spec(specs.width, width_ref_, - ctx); + detail::handle_dynamic_spec(specs.dynamic_width(), specs.width, width_ref_, + ctx); if (!debug_) { auto s = detail::get_path_string(p, path_string); return detail::write(ctx.out(), basic_string_view(s), specs); @@ -163,13 +162,30 @@ template struct formatter { specs); } }; + +class path : public std::filesystem::path { + public: + auto display_string() const -> std::string { + const std::filesystem::path& base = *this; + return fmt::format(FMT_STRING("{}"), base); + } + auto system_string() const -> std::string { return string(); } + + auto generic_display_string() const -> std::string { + const std::filesystem::path& base = *this; + return fmt::format(FMT_STRING("{:g}"), base); + } + auto generic_system_string() const -> std::string { return generic_string(); } +}; + FMT_END_NAMESPACE #endif // FMT_CPP_LIB_FILESYSTEM FMT_BEGIN_NAMESPACE FMT_EXPORT template -struct formatter, Char> : nested_formatter { +struct formatter, Char> + : nested_formatter, Char> { private: // Functor because C++11 doesn't support generic lambdas. struct writer { @@ -189,7 +205,7 @@ struct formatter, Char> : nested_formatter { template auto format(const std::bitset& bs, FormatContext& ctx) const -> decltype(ctx.out()) { - return write_padded(ctx, writer{bs}); + return this->write_padded(ctx, writer{bs}); } }; @@ -222,7 +238,7 @@ struct formatter, Char, FMT_CONSTEXPR static void maybe_set_debug_format(U&, ...) {} public: - template FMT_CONSTEXPR auto parse(ParseContext& ctx) { + FMT_CONSTEXPR auto parse(parse_context& ctx) { maybe_set_debug_format(underlying_, true); return underlying_.parse(ctx); } @@ -242,14 +258,63 @@ struct formatter, Char, FMT_END_NAMESPACE #endif // __cpp_lib_optional -#ifdef __cpp_lib_source_location +#if defined(__cpp_lib_expected) || FMT_CPP_LIB_VARIANT + +FMT_BEGIN_NAMESPACE +namespace detail { + +template +auto write_escaped_alternative(OutputIt out, const T& v) -> OutputIt { + if constexpr (has_to_string_view::value) + return write_escaped_string(out, detail::to_string_view(v)); + if constexpr (std::is_same_v) return write_escaped_char(out, v); + return write(out, v); +} + +} // namespace detail + +FMT_END_NAMESPACE +#endif + +#ifdef __cpp_lib_expected FMT_BEGIN_NAMESPACE + FMT_EXPORT -template <> struct formatter { - template FMT_CONSTEXPR auto parse(ParseContext& ctx) { +template +struct formatter, Char, + std::enable_if_t<(std::is_void::value || + is_formattable::value) && + is_formattable::value>> { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { return ctx.begin(); } + template + auto format(const std::expected& value, FormatContext& ctx) const + -> decltype(ctx.out()) { + auto out = ctx.out(); + + if (value.has_value()) { + out = detail::write(out, "expected("); + if constexpr (!std::is_void::value) + out = detail::write_escaped_alternative(out, *value); + } else { + out = detail::write(out, "unexpected("); + out = detail::write_escaped_alternative(out, value.error()); + } + *out++ = ')'; + return out; + } +}; +FMT_END_NAMESPACE +#endif // __cpp_lib_expected + +#ifdef __cpp_lib_source_location +FMT_BEGIN_NAMESPACE +FMT_EXPORT +template <> struct formatter { + FMT_CONSTEXPR auto parse(parse_context<>& ctx) { return ctx.begin(); } + template auto format(const std::source_location& loc, FormatContext& ctx) const -> decltype(ctx.out()) { @@ -291,16 +356,6 @@ template class is_variant_formattable_ { decltype(check(variant_index_sequence{}))::value; }; -template -auto write_variant_alternative(OutputIt out, const T& v) -> OutputIt { - if constexpr (is_string::value) - return write_escaped_string(out, detail::to_string_view(v)); - else if constexpr (std::is_same_v) - return write_escaped_char(out, v); - else - return write(out, v); -} - } // namespace detail template struct is_variant_like { @@ -314,8 +369,7 @@ template struct is_variant_formattable { FMT_EXPORT template struct formatter { - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { return ctx.begin(); } @@ -332,8 +386,7 @@ struct formatter< Variant, Char, std::enable_if_t, is_variant_formattable>>> { - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { return ctx.begin(); } @@ -346,7 +399,7 @@ struct formatter< FMT_TRY { std::visit( [&](const auto& v) { - out = detail::write_variant_alternative(out, v); + out = detail::write_escaped_alternative(out, v); }, value); } @@ -362,22 +415,127 @@ FMT_END_NAMESPACE FMT_BEGIN_NAMESPACE FMT_EXPORT -template struct formatter { - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { - return ctx.begin(); +template <> struct formatter { + private: + format_specs specs_; + detail::arg_ref width_ref_; + + public: + FMT_CONSTEXPR auto parse(parse_context<>& ctx) -> const char* { + auto it = ctx.begin(), end = ctx.end(); + if (it == end) return it; + + it = detail::parse_align(it, end, specs_); + if (it == end) return it; + + char c = *it; + if ((c >= '0' && c <= '9') || c == '{') + it = detail::parse_width(it, end, specs_, width_ref_, ctx); + return it; } template - FMT_CONSTEXPR auto format(const std::error_code& ec, FormatContext& ctx) const + FMT_CONSTEXPR20 auto format(const std::error_code& ec, + FormatContext& ctx) const -> decltype(ctx.out()) { + auto specs = specs_; + detail::handle_dynamic_spec(specs.dynamic_width(), specs.width, width_ref_, + ctx); + memory_buffer buf; + buf.append(string_view(ec.category().name())); + buf.push_back(':'); + detail::write(appender(buf), ec.value()); + return detail::write(ctx.out(), string_view(buf.data(), buf.size()), + specs); + } +}; + +#if FMT_USE_RTTI +namespace detail { + +template +auto write_demangled_name(OutputIt out, const std::type_info& ti) -> OutputIt { +# ifdef FMT_HAS_ABI_CXA_DEMANGLE + int status = 0; + std::size_t size = 0; + std::unique_ptr demangled_name_ptr( + abi::__cxa_demangle(ti.name(), nullptr, &size, &status), &std::free); + + string_view demangled_name_view; + if (demangled_name_ptr) { + demangled_name_view = demangled_name_ptr.get(); + + // Normalization of stdlib inline namespace names. + // libc++ inline namespaces. + // std::__1::* -> std::* + // std::__1::__fs::* -> std::* + // libstdc++ inline namespaces. + // std::__cxx11::* -> std::* + // std::filesystem::__cxx11::* -> std::filesystem::* + if (demangled_name_view.starts_with("std::")) { + char* begin = demangled_name_ptr.get(); + char* to = begin + 5; // std:: + for (char *from = to, *end = begin + demangled_name_view.size(); + from < end;) { + // This is safe, because demangled_name is NUL-terminated. + if (from[0] == '_' && from[1] == '_') { + char* next = from + 1; + while (next < end && *next != ':') next++; + if (next[0] == ':' && next[1] == ':') { + from = next + 2; + continue; + } + } + *to++ = *from++; + } + demangled_name_view = {begin, detail::to_unsigned(to - begin)}; + } + } else { + demangled_name_view = string_view(ti.name()); + } + return detail::write_bytes(out, demangled_name_view); +# elif FMT_MSC_VERSION + const string_view demangled_name(ti.name()); + for (std::size_t i = 0; i < demangled_name.size(); ++i) { + auto sub = demangled_name; + sub.remove_prefix(i); + if (sub.starts_with("enum ")) { + i += 4; + continue; + } + if (sub.starts_with("class ") || sub.starts_with("union ")) { + i += 5; + continue; + } + if (sub.starts_with("struct ")) { + i += 6; + continue; + } + if (*sub.begin() != ' ') *out++ = *sub.begin(); + } + return out; +# else + return detail::write_bytes(out, string_view(ti.name())); +# endif +} + +} // namespace detail + +FMT_EXPORT +template +struct formatter { + public: + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + return ctx.begin(); + } + + template + auto format(const std::type_info& ti, Context& ctx) const -> decltype(ctx.out()) { - auto out = ctx.out(); - out = detail::write_bytes(out, ec.category().name(), format_specs()); - out = detail::write(out, Char(':')); - out = detail::write(out, ec.value()); - return out; + return detail::write_demangled_name(ctx.out(), ti); } }; +#endif FMT_EXPORT template @@ -388,81 +546,29 @@ struct formatter< bool with_typename_ = false; public: - FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) - -> decltype(ctx.begin()) { + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { auto it = ctx.begin(); auto end = ctx.end(); if (it == end || *it == '}') return it; if (*it == 't') { ++it; - with_typename_ = FMT_USE_TYPEID != 0; + with_typename_ = FMT_USE_RTTI != 0; } return it; } - template - auto format(const std::exception& ex, - basic_format_context& ctx) const -> OutputIt { - format_specs spec; + template + auto format(const std::exception& ex, Context& ctx) const + -> decltype(ctx.out()) { auto out = ctx.out(); - if (!with_typename_) - return detail::write_bytes(out, string_view(ex.what()), spec); - -#if FMT_USE_TYPEID - const std::type_info& ti = typeid(ex); -# ifdef FMT_HAS_ABI_CXA_DEMANGLE - int status = 0; - std::size_t size = 0; - std::unique_ptr demangled_name_ptr( - abi::__cxa_demangle(ti.name(), nullptr, &size, &status), &std::free); - - string_view demangled_name_view; - if (demangled_name_ptr) { - demangled_name_view = demangled_name_ptr.get(); - - // Normalization of stdlib inline namespace names. - // libc++ inline namespaces. - // std::__1::* -> std::* - // std::__1::__fs::* -> std::* - // libstdc++ inline namespaces. - // std::__cxx11::* -> std::* - // std::filesystem::__cxx11::* -> std::filesystem::* - if (demangled_name_view.starts_with("std::")) { - char* begin = demangled_name_ptr.get(); - char* to = begin + 5; // std:: - for (char *from = to, *end = begin + demangled_name_view.size(); - from < end;) { - // This is safe, because demangled_name is NUL-terminated. - if (from[0] == '_' && from[1] == '_') { - char* next = from + 1; - while (next < end && *next != ':') next++; - if (next[0] == ':' && next[1] == ':') { - from = next + 2; - continue; - } - } - *to++ = *from++; - } - demangled_name_view = {begin, detail::to_unsigned(to - begin)}; - } - } else { - demangled_name_view = string_view(ti.name()); +#if FMT_USE_RTTI + if (with_typename_) { + out = detail::write_demangled_name(out, typeid(ex)); + *out++ = ':'; + *out++ = ' '; } - out = detail::write_bytes(out, demangled_name_view, spec); -# elif FMT_MSC_VERSION - string_view demangled_name_view(ti.name()); - if (demangled_name_view.starts_with("class ")) - demangled_name_view.remove_prefix(6); - else if (demangled_name_view.starts_with("struct ")) - demangled_name_view.remove_prefix(7); - out = detail::write_bytes(out, demangled_name_view, spec); -# else - out = detail::write_bytes(out, string_view(ti.name()), spec); -# endif - *out++ = ':'; - *out++ = ' '; - return detail::write_bytes(out, string_view(ex.what()), spec); #endif + return detail::write_bytes(out, string_view(ex.what())); } }; @@ -509,6 +615,14 @@ struct formatter +auto ptr(const std::unique_ptr& p) -> const void* { + return p.get(); +} +template auto ptr(const std::shared_ptr& p) -> const void* { + return p.get(); +} + FMT_EXPORT template struct formatter, Char, @@ -533,5 +647,80 @@ struct formatter : formatter { }; #endif // __cpp_lib_atomic_flag_test +FMT_EXPORT +template struct formatter, Char> { + private: + detail::dynamic_format_specs specs_; + + template + FMT_CONSTEXPR auto do_format(const std::complex& c, + detail::dynamic_format_specs& specs, + FormatContext& ctx, OutputIt out) const + -> OutputIt { + if (c.real() != 0) { + *out++ = Char('('); + out = detail::write(out, c.real(), specs, ctx.locale()); + specs.set_sign(sign::plus); + out = detail::write(out, c.imag(), specs, ctx.locale()); + if (!detail::isfinite(c.imag())) *out++ = Char(' '); + *out++ = Char('i'); + *out++ = Char(')'); + return out; + } + out = detail::write(out, c.imag(), specs, ctx.locale()); + if (!detail::isfinite(c.imag())) *out++ = Char(' '); + *out++ = Char('i'); + return out; + } + + public: + FMT_CONSTEXPR auto parse(parse_context& ctx) -> const Char* { + if (ctx.begin() == ctx.end() || *ctx.begin() == '}') return ctx.begin(); + return parse_format_specs(ctx.begin(), ctx.end(), specs_, ctx, + detail::type_constant::value); + } + + template + auto format(const std::complex& c, FormatContext& ctx) const + -> decltype(ctx.out()) { + auto specs = specs_; + if (specs.dynamic()) { + detail::handle_dynamic_spec(specs.dynamic_width(), specs.width, + specs.width_ref, ctx); + detail::handle_dynamic_spec(specs.dynamic_precision(), specs.precision, + specs.precision_ref, ctx); + } + + if (specs.width == 0) return do_format(c, specs, ctx, ctx.out()); + auto buf = basic_memory_buffer(); + + auto outer_specs = format_specs(); + outer_specs.width = specs.width; + outer_specs.copy_fill_from(specs); + outer_specs.set_align(specs.align()); + + specs.width = 0; + specs.set_fill({}); + specs.set_align(align::none); + + do_format(c, specs, ctx, basic_appender(buf)); + return detail::write(ctx.out(), + basic_string_view(buf.data(), buf.size()), + outer_specs); + } +}; + +FMT_EXPORT +template +struct formatter, Char, + enable_if_t, Char>::value>> + : formatter, Char> { + template + auto format(std::reference_wrapper ref, FormatContext& ctx) const + -> decltype(ctx.out()) { + return formatter, Char>::format(ref.get(), ctx); + } +}; + FMT_END_NAMESPACE #endif // FMT_STD_H_ diff --git a/3rdparty/fmt/include/fmt/xchar.h b/3rdparty/fmt/include/fmt/xchar.h index f609c5c41a229..9f7f889d64d5a 100644 --- a/3rdparty/fmt/include/fmt/xchar.h +++ b/3rdparty/fmt/include/fmt/xchar.h @@ -8,12 +8,16 @@ #ifndef FMT_XCHAR_H_ #define FMT_XCHAR_H_ -#include - +#include "color.h" #include "format.h" - -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR -# include +#include "ostream.h" +#include "ranges.h" + +#ifndef FMT_MODULE +# include +# if FMT_USE_LOCALE +# include +# endif #endif FMT_BEGIN_NAMESPACE @@ -22,10 +26,26 @@ namespace detail { template using is_exotic_char = bool_constant::value>; -inline auto write_loc(std::back_insert_iterator> out, - loc_value value, const format_specs& specs, - locale_ref loc) -> bool { -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR +template struct format_string_char {}; + +template +struct format_string_char< + S, void_t())))>> { + using type = char_t; +}; + +template +struct format_string_char< + S, enable_if_t::value>> { + using type = typename S::char_type; +}; + +template +using format_string_char_t = typename format_string_char::type; + +inline auto write_loc(basic_appender out, loc_value value, + const format_specs& specs, locale_ref loc) -> bool { +#if FMT_USE_LOCALE auto& numpunct = std::use_facet>(loc.get()); auto separator = std::wstring(); @@ -40,42 +60,79 @@ inline auto write_loc(std::back_insert_iterator> out, FMT_BEGIN_EXPORT using wstring_view = basic_string_view; -using wformat_parse_context = basic_format_parse_context; -using wformat_context = buffer_context; +using wformat_parse_context = parse_context; +using wformat_context = buffered_context; using wformat_args = basic_format_args; using wmemory_buffer = basic_memory_buffer; -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 -// Workaround broken conversion on older gcc. -template using wformat_string = wstring_view; -inline auto runtime(wstring_view s) -> wstring_view { return s; } -#else -template -using wformat_string = basic_format_string...>; +template struct basic_fstring { + private: + basic_string_view str_; + + static constexpr int num_static_named_args = + detail::count_static_named_args(); + + using checker = detail::format_string_checker< + Char, static_cast(sizeof...(T)), num_static_named_args, + num_static_named_args != detail::count_named_args()>; + + using arg_pack = detail::arg_pack; + + public: + using t = basic_fstring; + + template >::value)> + FMT_CONSTEVAL FMT_ALWAYS_INLINE basic_fstring(const S& s) : str_(s) { + if (FMT_USE_CONSTEVAL) + detail::parse_format_string(s, checker(s, arg_pack())); + } + template ::value&& + std::is_same::value)> + FMT_ALWAYS_INLINE basic_fstring(const S&) : str_(S()) { + FMT_CONSTEXPR auto sv = basic_string_view(S()); + FMT_CONSTEXPR int ignore = + (parse_format_string(sv, checker(sv, arg_pack())), 0); + detail::ignore_unused(ignore); + } + basic_fstring(runtime_format_string fmt) : str_(fmt.str) {} + + operator basic_string_view() const { return str_; } + auto get() const -> basic_string_view { return str_; } +}; + +template +using basic_format_string = basic_fstring; + +template +using wformat_string = typename basic_format_string::t; inline auto runtime(wstring_view s) -> runtime_format_string { return {{s}}; } -#endif template <> struct is_char : std::true_type {}; -template <> struct is_char : std::true_type {}; template <> struct is_char : std::true_type {}; template <> struct is_char : std::true_type {}; +#ifdef __cpp_char8_t +template <> struct is_char : bool_constant {}; +#endif + template -constexpr auto make_wformat_args(const T&... args) - -> format_arg_store { - return {args...}; +constexpr auto make_wformat_args(T&... args) + -> decltype(fmt::make_format_args(args...)) { + return fmt::make_format_args(args...); } +#if !FMT_USE_NONTYPE_TEMPLATE_ARGS inline namespace literals { -#if FMT_USE_USER_DEFINED_LITERALS && !FMT_USE_NONTYPE_TEMPLATE_ARGS -constexpr auto operator""_a(const wchar_t* s, size_t) - -> detail::udl_arg { +inline auto operator""_a(const wchar_t* s, size_t) -> detail::udl_arg { return {s}; } -#endif } // namespace literals +#endif template auto join(It begin, Sentinel end, wstring_view sep) @@ -83,9 +140,9 @@ auto join(It begin, Sentinel end, wstring_view sep) return {begin, end, sep}; } -template +template ::value)> auto join(Range&& range, wstring_view sep) - -> join_view, detail::sentinel_t, + -> join_view { return join(std::begin(range), std::end(range), sep); } @@ -96,13 +153,19 @@ auto join(std::initializer_list list, wstring_view sep) return join(std::begin(list), std::end(list), sep); } +template ::value)> +auto join(const Tuple& tuple, basic_string_view sep) + -> tuple_join_view { + return {tuple, sep}; +} + template ::value)> -auto vformat(basic_string_view format_str, - basic_format_args>> args) +auto vformat(basic_string_view fmt, + typename detail::vformat_args::type args) -> std::basic_string { auto buf = basic_memory_buffer(); - detail::vformat_to(buf, format_str, args); - return to_string(buf); + detail::vformat_to(buf, fmt, args); + return {buf.data(), buf.size()}; } template @@ -110,110 +173,122 @@ auto format(wformat_string fmt, T&&... args) -> std::wstring { return vformat(fmt::wstring_view(fmt), fmt::make_wformat_args(args...)); } +template +auto format_to(OutputIt out, wformat_string fmt, T&&... args) + -> OutputIt { + return vformat_to(out, fmt::wstring_view(fmt), + fmt::make_wformat_args(args...)); +} + // Pass char_t as a default template parameter instead of using // std::basic_string> to reduce the symbol size. -template , +template , FMT_ENABLE_IF(!std::is_same::value && !std::is_same::value)> -auto format(const S& format_str, T&&... args) -> std::basic_string { - return vformat(detail::to_string_view(format_str), - fmt::make_format_args>(args...)); +auto format(const S& fmt, T&&... args) -> std::basic_string { + return vformat(detail::to_string_view(fmt), + fmt::make_format_args>(args...)); } -template , +template , FMT_ENABLE_IF(detail::is_locale::value&& detail::is_exotic_char::value)> -inline auto vformat( - const Locale& loc, const S& format_str, - basic_format_args>> args) +inline auto vformat(const Locale& loc, const S& fmt, + typename detail::vformat_args::type args) -> std::basic_string { - return detail::vformat(loc, detail::to_string_view(format_str), args); + auto buf = basic_memory_buffer(); + detail::vformat_to(buf, detail::to_string_view(fmt), args, + detail::locale_ref(loc)); + return {buf.data(), buf.size()}; } -template , +template , FMT_ENABLE_IF(detail::is_locale::value&& detail::is_exotic_char::value)> -inline auto format(const Locale& loc, const S& format_str, T&&... args) +inline auto format(const Locale& loc, const S& fmt, T&&... args) -> std::basic_string { - return detail::vformat(loc, detail::to_string_view(format_str), - fmt::make_format_args>(args...)); + return vformat(loc, detail::to_string_view(fmt), + fmt::make_format_args>(args...)); } -template , +template , FMT_ENABLE_IF(detail::is_output_iterator::value&& detail::is_exotic_char::value)> -auto vformat_to(OutputIt out, const S& format_str, - basic_format_args>> args) - -> OutputIt { +auto vformat_to(OutputIt out, const S& fmt, + typename detail::vformat_args::type args) -> OutputIt { auto&& buf = detail::get_buffer(out); - detail::vformat_to(buf, detail::to_string_view(format_str), args); + detail::vformat_to(buf, detail::to_string_view(fmt), args); return detail::get_iterator(buf, out); } template , - FMT_ENABLE_IF(detail::is_output_iterator::value&& - detail::is_exotic_char::value)> + typename Char = detail::format_string_char_t, + FMT_ENABLE_IF(detail::is_output_iterator::value && + !std::is_same::value && + !std::is_same::value)> inline auto format_to(OutputIt out, const S& fmt, T&&... args) -> OutputIt { return vformat_to(out, detail::to_string_view(fmt), - fmt::make_format_args>(args...)); + fmt::make_format_args>(args...)); } template , + typename Char = detail::format_string_char_t, FMT_ENABLE_IF(detail::is_output_iterator::value&& detail::is_locale::value&& detail::is_exotic_char::value)> -inline auto vformat_to( - OutputIt out, const Locale& loc, const S& format_str, - basic_format_args>> args) -> OutputIt { +inline auto vformat_to(OutputIt out, const Locale& loc, const S& fmt, + typename detail::vformat_args::type args) + -> OutputIt { auto&& buf = detail::get_buffer(out); - vformat_to(buf, detail::to_string_view(format_str), args, - detail::locale_ref(loc)); + vformat_to(buf, detail::to_string_view(fmt), args, detail::locale_ref(loc)); return detail::get_iterator(buf, out); } -template , +template , bool enable = detail::is_output_iterator::value && detail::is_locale::value && detail::is_exotic_char::value> -inline auto format_to(OutputIt out, const Locale& loc, const S& format_str, +inline auto format_to(OutputIt out, const Locale& loc, const S& fmt, T&&... args) -> typename std::enable_if::type { - return vformat_to(out, loc, detail::to_string_view(format_str), - fmt::make_format_args>(args...)); + return vformat_to(out, loc, detail::to_string_view(fmt), + fmt::make_format_args>(args...)); } template ::value&& detail::is_exotic_char::value)> -inline auto vformat_to_n( - OutputIt out, size_t n, basic_string_view format_str, - basic_format_args>> args) +inline auto vformat_to_n(OutputIt out, size_t n, basic_string_view fmt, + typename detail::vformat_args::type args) -> format_to_n_result { using traits = detail::fixed_buffer_traits; auto buf = detail::iterator_buffer(out, n); - detail::vformat_to(buf, format_str, args); + detail::vformat_to(buf, fmt, args); return {buf.out(), buf.count()}; } template , + typename Char = detail::format_string_char_t, FMT_ENABLE_IF(detail::is_output_iterator::value&& detail::is_exotic_char::value)> inline auto format_to_n(OutputIt out, size_t n, const S& fmt, T&&... args) -> format_to_n_result { - return vformat_to_n(out, n, detail::to_string_view(fmt), - fmt::make_format_args>(args...)); + return vformat_to_n(out, n, fmt::basic_string_view(fmt), + fmt::make_format_args>(args...)); } -template , +template , FMT_ENABLE_IF(detail::is_exotic_char::value)> inline auto formatted_size(const S& fmt, T&&... args) -> size_t { auto buf = detail::counting_buffer(); detail::vformat_to(buf, detail::to_string_view(fmt), - fmt::make_format_args>(args...)); + fmt::make_format_args>(args...)); return buf.count(); } @@ -247,9 +322,48 @@ template void println(wformat_string fmt, T&&... args) { return print(L"{}\n", fmt::format(fmt, std::forward(args)...)); } -/** - Converts *value* to ``std::wstring`` using the default format for type *T*. - */ +inline auto vformat(const text_style& ts, wstring_view fmt, wformat_args args) + -> std::wstring { + auto buf = wmemory_buffer(); + detail::vformat_to(buf, ts, fmt, args); + return {buf.data(), buf.size()}; +} + +template +inline auto format(const text_style& ts, wformat_string fmt, T&&... args) + -> std::wstring { + return fmt::vformat(ts, fmt, fmt::make_wformat_args(args...)); +} + +template +FMT_DEPRECATED void print(std::FILE* f, const text_style& ts, + wformat_string fmt, const T&... args) { + vprint(f, ts, fmt, fmt::make_wformat_args(args...)); +} + +template +FMT_DEPRECATED void print(const text_style& ts, wformat_string fmt, + const T&... args) { + return print(stdout, ts, fmt, args...); +} + +inline void vprint(std::wostream& os, wstring_view fmt, wformat_args args) { + auto buffer = basic_memory_buffer(); + detail::vformat_to(buffer, fmt, args); + detail::write_buffer(os, buffer); +} + +template +void print(std::wostream& os, wformat_string fmt, T&&... args) { + vprint(os, fmt, fmt::make_format_args>(args...)); +} + +template +void println(std::wostream& os, wformat_string fmt, T&&... args) { + print(os, L"{}\n", fmt::format(fmt, std::forward(args)...)); +} + +/// Converts `value` to `std::wstring` using the default format for type `T`. template inline auto to_wstring(const T& value) -> std::wstring { return format(FMT_STRING(L"{}"), value); } diff --git a/3rdparty/fmt/src/fmt.cc b/3rdparty/fmt/src/fmt.cc index 5330463a932cf..2dc4ef2f64d92 100644 --- a/3rdparty/fmt/src/fmt.cc +++ b/3rdparty/fmt/src/fmt.cc @@ -1,38 +1,57 @@ module; +#ifdef _MSVC_LANG +# define FMT_CPLUSPLUS _MSVC_LANG +#else +# define FMT_CPLUSPLUS __cplusplus +#endif + // Put all implementation-provided headers into the global module fragment // to prevent attachment to this module. -#include +#ifndef FMT_IMPORT_STD +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# if FMT_CPLUSPLUS > 202002L +# include +# endif +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#else +# include +# include +# include +# include +#endif #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #if __has_include() @@ -70,6 +89,10 @@ module; export module fmt; +#ifdef FMT_IMPORT_STD +import std; +#endif + #define FMT_EXPORT export #define FMT_BEGIN_EXPORT export { #define FMT_END_EXPORT } @@ -83,6 +106,10 @@ export module fmt; extern "C++" { #endif +#ifndef FMT_OS +# define FMT_OS 1 +#endif + // All library-provided declarations and definitions must be in the module // purview to be exported. #include "fmt/args.h" @@ -90,8 +117,12 @@ extern "C++" { #include "fmt/color.h" #include "fmt/compile.h" #include "fmt/format.h" -#include "fmt/os.h" +#if FMT_OS +# include "fmt/os.h" +#endif +#include "fmt/ostream.h" #include "fmt/printf.h" +#include "fmt/ranges.h" #include "fmt/std.h" #include "fmt/xchar.h" @@ -104,5 +135,17 @@ extern "C++" { module :private; #endif -#include "format.cc" -#include "os.cc" +#ifdef FMT_ATTACH_TO_GLOBAL_MODULE +extern "C++" { +#endif + +#if FMT_HAS_INCLUDE("format.cc") +# include "format.cc" +#endif +#if FMT_OS && FMT_HAS_INCLUDE("os.cc") +# include "os.cc" +#endif + +#ifdef FMT_ATTACH_TO_GLOBAL_MODULE +} +#endif diff --git a/3rdparty/fmt/src/format.cc b/3rdparty/fmt/src/format.cc index 391d3a248c261..3ccd8068483cc 100644 --- a/3rdparty/fmt/src/format.cc +++ b/3rdparty/fmt/src/format.cc @@ -15,7 +15,8 @@ template FMT_API auto dragonbox::to_decimal(float x) noexcept template FMT_API auto dragonbox::to_decimal(double x) noexcept -> dragonbox::decimal_fp; -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR +#if FMT_USE_LOCALE +// DEPRECATED! locale_ref in the detail namespace template FMT_API locale_ref::locale_ref(const std::locale& loc); template FMT_API auto locale_ref::get() const -> std::locale; #endif @@ -26,8 +27,10 @@ template FMT_API auto thousands_sep_impl(locale_ref) -> thousands_sep_result; template FMT_API auto decimal_point_impl(locale_ref) -> char; +// DEPRECATED! template FMT_API void buffer::append(const char*, const char*); +// DEPRECATED! template FMT_API void vformat_to(buffer&, string_view, typename vformat_args<>::type, locale_ref); diff --git a/3rdparty/fmt/src/os.cc b/3rdparty/fmt/src/os.cc index a639e78c6028e..c833a0514186b 100644 --- a/3rdparty/fmt/src/os.cc +++ b/3rdparty/fmt/src/os.cc @@ -12,47 +12,51 @@ #include "fmt/os.h" -#include +#ifndef FMT_MODULE +# include -#if FMT_USE_FCNTL -# include -# include - -# ifdef _WRS_KERNEL // VxWorks7 kernel -# include // getpagesize -# endif +# if FMT_USE_FCNTL +# include +# include -# ifndef _WIN32 -# include -# else -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN +# ifdef _WRS_KERNEL // VxWorks7 kernel +# include // getpagesize # endif -# include -# ifndef S_IRUSR -# define S_IRUSR _S_IREAD -# endif -# ifndef S_IWUSR -# define S_IWUSR _S_IWRITE -# endif -# ifndef S_IRGRP -# define S_IRGRP 0 -# endif -# ifndef S_IWGRP -# define S_IWGRP 0 -# endif -# ifndef S_IROTH -# define S_IROTH 0 -# endif -# ifndef S_IWOTH -# define S_IWOTH 0 -# endif -# endif // _WIN32 -#endif // FMT_USE_FCNTL +# ifndef _WIN32 +# include +# else +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +# endif // _WIN32 +# endif // FMT_USE_FCNTL + +# ifdef _WIN32 +# include +# endif +#endif #ifdef _WIN32 -# include +# ifndef S_IRUSR +# define S_IRUSR _S_IREAD +# endif +# ifndef S_IWUSR +# define S_IWUSR _S_IWRITE +# endif +# ifndef S_IRGRP +# define S_IRGRP 0 +# endif +# ifndef S_IWGRP +# define S_IWGRP 0 +# endif +# ifndef S_IROTH +# define S_IROTH 0 +# endif +# ifndef S_IWOTH +# define S_IWOTH 0 +# endif #endif namespace { @@ -156,7 +160,7 @@ void detail::format_windows_error(detail::buffer& out, int error_code, } void report_windows_error(int error_code, const char* message) noexcept { - report_error(detail::format_windows_error, error_code, message); + do_report_error(detail::format_windows_error, error_code, message); } #endif // _WIN32 @@ -182,12 +186,14 @@ void buffered_file::close() { } int buffered_file::descriptor() const { -#if !defined(fileno) +#ifdef FMT_HAS_SYSTEM + // fileno is a macro on OpenBSD. +# ifdef fileno +# undef fileno +# endif int fd = FMT_POSIX_CALL(fileno(file_)); -#elif defined(FMT_HAS_SYSTEM) - // fileno is a macro on OpenBSD so we cannot use FMT_POSIX_CALL. -# define FMT_DISABLE_MACRO - int fd = FMT_SYSTEM(fileno FMT_DISABLE_MACRO(file_)); +#elif defined(_WIN32) + int fd = _fileno(file_); #else int fd = fileno(file_); #endif @@ -200,6 +206,7 @@ int buffered_file::descriptor() const { # ifdef _WIN32 using mode_t = int; # endif + constexpr mode_t default_open_mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH; @@ -301,29 +308,6 @@ void file::dup2(int fd, std::error_code& ec) noexcept { if (result == -1) ec = std::error_code(errno, std::generic_category()); } -void file::pipe(file& read_end, file& write_end) { - // Close the descriptors first to make sure that assignments don't throw - // and there are no leaks. - read_end.close(); - write_end.close(); - int fds[2] = {}; -# ifdef _WIN32 - // Make the default pipe capacity same as on Linux 2.6.11+. - enum { DEFAULT_CAPACITY = 65536 }; - int result = FMT_POSIX_CALL(pipe(fds, DEFAULT_CAPACITY, _O_BINARY)); -# else - // Don't retry as the pipe function doesn't return EINTR. - // http://pubs.opengroup.org/onlinepubs/009696799/functions/pipe.html - int result = FMT_POSIX_CALL(pipe(fds)); -# endif - if (result != 0) - FMT_THROW(system_error(errno, FMT_STRING("cannot create pipe"))); - // The following assignments don't throw because read_fd and write_fd - // are closed. - read_end = file(fds[0]); - write_end = file(fds[1]); -} - buffered_file file::fdopen(const char* mode) { // Don't retry as fdopen doesn't return EINTR. # if defined(__MINGW32__) && defined(_POSIX_) @@ -352,6 +336,24 @@ file file::open_windows_file(wcstring_view path, int oflag) { } # endif +pipe::pipe() { + int fds[2] = {}; +# ifdef _WIN32 + // Make the default pipe capacity same as on Linux 2.6.11+. + enum { DEFAULT_CAPACITY = 65536 }; + int result = FMT_POSIX_CALL(pipe(fds, DEFAULT_CAPACITY, _O_BINARY)); +# else + // Don't retry as the pipe function doesn't return EINTR. + // http://pubs.opengroup.org/onlinepubs/009696799/functions/pipe.html + int result = FMT_POSIX_CALL(pipe(fds)); +# endif + if (result != 0) + FMT_THROW(system_error(errno, FMT_STRING("cannot create pipe"))); + // The following assignments don't throw. + read_end = file(fds[0]); + write_end = file(fds[1]); +} + # if !defined(__MSDOS__) long getpagesize() { # ifdef _WIN32 @@ -372,31 +374,25 @@ long getpagesize() { } # endif -namespace detail { - -void file_buffer::grow(size_t) { - if (this->size() == this->capacity()) flush(); +void ostream::grow(buffer& buf, size_t) { + if (buf.size() == buf.capacity()) static_cast(buf).flush(); } -file_buffer::file_buffer(cstring_view path, - const detail::ostream_params& params) - : file_(path, params.oflag) { +ostream::ostream(cstring_view path, const detail::ostream_params& params) + : buffer(grow), file_(path, params.oflag) { set(new char[params.buffer_size], params.buffer_size); } -file_buffer::file_buffer(file_buffer&& other) - : detail::buffer(other.data(), other.size(), other.capacity()), +ostream::ostream(ostream&& other) noexcept + : buffer(grow, other.data(), other.size(), other.capacity()), file_(std::move(other.file_)) { other.clear(); other.set(nullptr, 0); } -file_buffer::~file_buffer() { +ostream::~ostream() { flush(); delete[] data(); } -} // namespace detail - -ostream::~ostream() = default; #endif // FMT_USE_FCNTL FMT_END_NAMESPACE diff --git a/3rdparty/imgui/include/imconfig.h b/3rdparty/imgui/include/imconfig.h index e02c802a4cf46..83f1b849e2c48 100644 --- a/3rdparty/imgui/include/imconfig.h +++ b/3rdparty/imgui/include/imconfig.h @@ -29,7 +29,6 @@ //---- Don't define obsolete functions/enums/behaviors. Consider enabling from time to time after updating to clean your code of obsolete function/names. #define IMGUI_DISABLE_OBSOLETE_FUNCTIONS -//#define IMGUI_DISABLE_OBSOLETE_KEYIO // 1.87+ disable legacy io.KeyMap[]+io.KeysDown[] in favor io.AddKeyEvent(). This is automatically done by IMGUI_DISABLE_OBSOLETE_FUNCTIONS. //---- Disable all of Dear ImGui or don't implement standard windows/tools. // It is very strongly recommended to NOT disable the demo windows and debug tool during development. They are extremely useful in day to day work. Please read comments in imgui_demo.cpp. @@ -43,12 +42,13 @@ //#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] [Default with non-Visual Studio compilers] Don't implement default IME handler (won't require imm32.lib/.a) //#define IMGUI_DISABLE_WIN32_FUNCTIONS // [Win32] Won't use and link with any Win32 function (clipboard, IME). //#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS // [OSX] Implement default OSX clipboard handler (need to link with '-framework ApplicationServices', this is why this is not the default). -//#define IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS // Don't implement default io.PlatformOpenInShellFn() handler (Win32: ShellExecute(), require shell32.lib/.a, Mac/Linux: use system("")). +//#define IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS // Don't implement default platform_io.Platform_OpenInShellFn() handler (Win32: ShellExecute(), require shell32.lib/.a, Mac/Linux: use system("")). //#define IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself (e.g. if you don't want to link with vsnprintf) //#define IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 so you can implement them yourself. //#define IMGUI_DISABLE_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite and ImFileHandle at all (replace them with dummies) //#define IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite and ImFileHandle so you can implement them yourself if you don't want to link with fopen/fclose/fread/fwrite. This will also disable the LogToTTY() function. //#define IMGUI_DISABLE_DEFAULT_ALLOCATORS // Don't implement default allocators calling malloc()/free() to avoid linking with them. You will need to call ImGui::SetAllocatorFunctions(). +//#define IMGUI_DISABLE_DEFAULT_FONT // Disable default embedded font (ProggyClean.ttf), remove ~9.5 KB from output binary. AddFontDefault() will assert. //#define IMGUI_DISABLE_SSE // Disable use of SSE intrinsics even if available //---- Enable Test Engine / Automation features. @@ -59,9 +59,12 @@ //#define IMGUI_INCLUDE_IMGUI_USER_H //#define IMGUI_USER_H_FILENAME "my_folder/my_imgui_user.h" -//---- Pack colors to BGRA8 instead of RGBA8 (to avoid converting from one to another) +//---- Pack vertex colors as BGRA8 instead of RGBA8 (to avoid converting from one to another). Need dedicated backend support. //#define IMGUI_USE_BGRA_PACKED_COLOR +//---- Use legacy CRC32-adler tables (used before 1.91.6), in order to preserve old .ini data that you cannot afford to invalidate. +//#define IMGUI_USE_LEGACY_CRC32_ADLER + //---- Use 32-bit for ImWchar (default is 16-bit) to support Unicode planes 1-16. (e.g. point beyond 0xFFFF like emoticons, dingbats, symbols, shapes, ancient languages, etc...) //#define IMGUI_USE_WCHAR32 @@ -83,10 +86,13 @@ // On Windows you may use vcpkg with 'vcpkg install freetype --triplet=x64-windows' + 'vcpkg integrate install'. #define IMGUI_ENABLE_FREETYPE -//---- Use FreeType+lunasvg library to render OpenType SVG fonts (SVGinOT) -// Requires lunasvg headers to be available in the include path + program to be linked with the lunasvg library (not provided). +//---- Use FreeType + plutosvg or lunasvg to render OpenType SVG fonts (SVGinOT) // Only works in combination with IMGUI_ENABLE_FREETYPE. -// (implementation is based on Freetype's rsvg-port.c which is licensed under CeCILL-C Free Software License Agreement) +// - lunasvg is currently easier to acquire/install, as e.g. it is part of vcpkg. +// - plutosvg will support more fonts and may load them faster. It currently requires to be built manually but it is fairly easy. See misc/freetype/README for instructions. +// - Both require headers to be available in the include path + program to be linked with the library code (not provided). +// - (note: lunasvg implementation is based on Freetype's rsvg-port.c which is licensed under CeCILL-C Free Software License Agreement) +//#define IMGUI_ENABLE_FREETYPE_PLUTOSVG //#define IMGUI_ENABLE_FREETYPE_LUNASVG //---- Use stb_truetype to build and rasterize the font atlas (default) diff --git a/3rdparty/imgui/include/imgui.h b/3rdparty/imgui/include/imgui.h index 05e48a175821b..0f7bdbbc6bfb4 100644 --- a/3rdparty/imgui/include/imgui.h +++ b/3rdparty/imgui/include/imgui.h @@ -1,16 +1,17 @@ -// dear imgui, v1.91.0 +// dear imgui, v1.91.7 // (headers) // Help: // - See links below. // - Call and read ImGui::ShowDemoWindow() in imgui_demo.cpp. All applications in examples/ are doing that. // - Read top of imgui.cpp for more details, links and comments. +// - Add '#define IMGUI_DEFINE_MATH_OPERATORS' before including this file (or in imconfig.h) to access courtesy maths operators for ImVec2 and ImVec4. // Resources: // - FAQ ........................ https://dearimgui.com/faq (in repository as docs/FAQ.md) // - Homepage ................... https://github.com/ocornut/imgui // - Releases & changelog ....... https://github.com/ocornut/imgui/releases -// - Gallery .................... https://github.com/ocornut/imgui/issues/7503 (please post your screenshots/video there!) +// - Gallery .................... https://github.com/ocornut/imgui/issues?q=label%3Agallery (please post your screenshots/video there!) // - Wiki ....................... https://github.com/ocornut/imgui/wiki (lots of good stuff there) // - Getting Started https://github.com/ocornut/imgui/wiki/Getting-Started (how to integrate in an existing app by adding ~25 lines of code) // - Third-party Extensions https://github.com/ocornut/imgui/wiki/Useful-Extensions (ImPlot & many more) @@ -27,8 +28,8 @@ // Library Version // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345') -#define IMGUI_VERSION "1.91.0" -#define IMGUI_VERSION_NUM 19100 +#define IMGUI_VERSION "1.91.7" +#define IMGUI_VERSION_NUM 19170 #define IMGUI_HAS_TABLE /* @@ -48,7 +49,7 @@ Index of this file: // [SECTION] Drawing API (ImDrawCallback, ImDrawCmd, ImDrawIdx, ImDrawVert, ImDrawChannel, ImDrawListSplitter, ImDrawFlags, ImDrawListFlags, ImDrawList, ImDrawData) // [SECTION] Font API (ImFontConfig, ImFontGlyph, ImFontGlyphRangesBuilder, ImFontAtlasFlags, ImFontAtlas, ImFont) // [SECTION] Viewports (ImGuiViewportFlags, ImGuiViewport) -// [SECTION] Platform Dependent Interfaces (ImGuiPlatformImeData) +// [SECTION] ImGuiPlatformIO + other Platform Dependent Interfaces (ImGuiPlatformImeData) // [SECTION] Obsolete functions and types */ @@ -129,15 +130,17 @@ Index of this file: #pragma clang diagnostic ignored "-Wunknown-warning-option" // warning: unknown warning group 'xxx' #endif #pragma clang diagnostic ignored "-Wunknown-pragmas" // warning: unknown warning group 'xxx' -#pragma clang diagnostic ignored "-Wold-style-cast" +#pragma clang diagnostic ignored "-Wold-style-cast" // warning: use of old-style cast #pragma clang diagnostic ignored "-Wfloat-equal" // warning: comparing floating point with == or != is unsafe -#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" // warning: zero as null pointer constant #pragma clang diagnostic ignored "-Wreserved-identifier" // warning: identifier '_Xxx' is reserved because it starts with '_' followed by a capital letter #pragma clang diagnostic ignored "-Wunsafe-buffer-usage" // warning: 'xxx' is an unsafe pointer used for buffer access +#pragma clang diagnostic ignored "-Wnontrivial-memaccess" // warning: first argument in call to 'memset' is a pointer to non-trivially copyable type #elif defined(__GNUC__) #pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind -#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind +#pragma GCC diagnostic ignored "-Wfloat-equal" // warning: comparing floating-point with '==' or '!=' is unsafe +#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead #endif //----------------------------------------------------------------------------- @@ -171,13 +174,14 @@ struct ImFontGlyph; // A single font glyph (code point + coordin struct ImFontGlyphRangesBuilder; // Helper to build glyph ranges from text/string data struct ImColor; // Helper functions to create a color that can be converted to either u32 or float4 (*OBSOLETE* please avoid using) struct ImGuiContext; // Dear ImGui context (opaque structure, unless including imgui_internal.h) -struct ImGuiIO; // Main configuration and I/O between your application and ImGui +struct ImGuiIO; // Main configuration and I/O between your application and ImGui (also see: ImGuiPlatformIO) struct ImGuiInputTextCallbackData; // Shared state of InputText() when using custom ImGuiInputTextCallback (rare/advanced use) struct ImGuiKeyData; // Storage for ImGuiIO and IsKeyDown(), IsKeyPressed() etc functions. struct ImGuiListClipper; // Helper to manually clip large list of items struct ImGuiMultiSelectIO; // Structure to interact with a BeginMultiSelect()/EndMultiSelect() block struct ImGuiOnceUponAFrame; // Helper for running a block of code not more than once a frame struct ImGuiPayload; // User data payload for drag and drop operations +struct ImGuiPlatformIO; // Interface between platform/renderer backends and ImGui (e.g. Clipboard, IME hooks). Extends ImGuiIO. In docking branch, this gets extended to support multi-viewports. struct ImGuiPlatformImeData; // Platform IME data for io.PlatformSetImeDataFn() function. struct ImGuiSelectionBasicStorage; // Optional helper to store multi-selection state + apply multi-selection requests. struct ImGuiSelectionExternalStorage;//Optional helper to apply multi-selection requests to existing randomly accessible storage. @@ -247,8 +251,10 @@ typedef int ImGuiWindowFlags; // -> enum ImGuiWindowFlags_ // Flags: f // ImTexture: user data for renderer backend to identify a texture [Compile-time configurable type] // - To use something else than an opaque void* pointer: override with e.g. '#define ImTextureID MyTextureType*' in your imconfig.h file. // - This can be whatever to you want it to be! read the FAQ about ImTextureID for details. +// - You can make this a structure with various constructors if you need. You will have to implement ==/!= operators. +// - (note: before v1.91.4 (2024/10/08) the default type for ImTextureID was void*. Use intermediary intptr_t cast and read FAQ if you have casting warnings) #ifndef ImTextureID -typedef void* ImTextureID; // Default: store a pointer or an integer fitting in a pointer (most renderer backends are ok with that) +typedef ImU64 ImTextureID; // Default: store a pointer or an integer fitting in a pointer (most renderer backends are ok with that) #endif // ImDrawIdx: vertex index. [Compile-time configurable type] @@ -280,8 +286,8 @@ typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data); typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data); // Function signature for ImGui::SetAllocatorFunctions() // ImVec2: 2D vector used to store positions, sizes etc. [Compile-time configurable type] -// This is a frequently used type in the API. Consider using IM_VEC2_CLASS_EXTRA to create implicit cast from/to our preferred type. -// Add '#define IMGUI_DEFINE_MATH_OPERATORS' in your imconfig.h file to benefit from courtesy maths operators for those types. +// - This is a frequently used type in the API. Consider using IM_VEC2_CLASS_EXTRA to create implicit cast from/to our preferred type. +// - Add '#define IMGUI_DEFINE_MATH_OPERATORS' before including this file (or in imconfig.h) to access courtesy maths operators for ImVec2 and ImVec4. IM_MSVC_RUNTIME_CHECKS_OFF struct ImVec2 { @@ -324,7 +330,8 @@ namespace ImGui IMGUI_API void SetCurrentContext(ImGuiContext* ctx); // Main - IMGUI_API ImGuiIO& GetIO(); // access the IO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags) + IMGUI_API ImGuiIO& GetIO(); // access the ImGuiIO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags) + IMGUI_API ImGuiPlatformIO& GetPlatformIO(); // access the ImGuiPlatformIO structure (mostly hooks/functions to connect to platform/renderer and OS Clipboard, IME etc.) IMGUI_API ImGuiStyle& GetStyle(); // access the Style structure (colors, sizes). Always use PushStyleColor(), PushStyleVar() to modify style mid-frame! IMGUI_API void NewFrame(); // start a new Dear ImGui frame, you can submit any command from this point until Render()/EndFrame(). IMGUI_API void EndFrame(); // ends the Dear ImGui frame. automatically called by Render(). If you don't need to render data (skipping rendering) you may call EndFrame() without Render()... but you'll have wasted CPU already! If you don't need to render, better to not create any windows and not call NewFrame() at all! @@ -366,10 +373,10 @@ namespace ImGui // Child Windows // - Use child windows to begin into a self-contained independent scrolling/clipping regions within a host window. Child windows can embed their own child. // - Before 1.90 (November 2023), the "ImGuiChildFlags child_flags = 0" parameter was "bool border = false". - // This API is backward compatible with old code, as we guarantee that ImGuiChildFlags_Border == true. + // This API is backward compatible with old code, as we guarantee that ImGuiChildFlags_Borders == true. // Consider updating your old code: // BeginChild("Name", size, false) -> Begin("Name", size, 0); or Begin("Name", size, ImGuiChildFlags_None); - // BeginChild("Name", size, true) -> Begin("Name", size, ImGuiChildFlags_Border); + // BeginChild("Name", size, true) -> Begin("Name", size, ImGuiChildFlags_Borders); // - Manual sizing (each axis can use a different setting e.g. ImVec2(0.0f, 400.0f)): // == 0.0f: use remaining parent window size for this axis. // > 0.0f: use specified size for this axis. @@ -437,8 +444,10 @@ namespace ImGui IMGUI_API void PushStyleColor(ImGuiCol idx, ImU32 col); // modify a style color. always use this if you modify the style after NewFrame(). IMGUI_API void PushStyleColor(ImGuiCol idx, const ImVec4& col); IMGUI_API void PopStyleColor(int count = 1); - IMGUI_API void PushStyleVar(ImGuiStyleVar idx, float val); // modify a style float variable. always use this if you modify the style after NewFrame(). - IMGUI_API void PushStyleVar(ImGuiStyleVar idx, const ImVec2& val); // modify a style ImVec2 variable. always use this if you modify the style after NewFrame(). + IMGUI_API void PushStyleVar(ImGuiStyleVar idx, float val); // modify a style float variable. always use this if you modify the style after NewFrame()! + IMGUI_API void PushStyleVar(ImGuiStyleVar idx, const ImVec2& val); // modify a style ImVec2 variable. " + IMGUI_API void PushStyleVarX(ImGuiStyleVar idx, float val_x); // modify X component of a style ImVec2 variable. " + IMGUI_API void PushStyleVarY(ImGuiStyleVar idx, float val_y); // modify Y component of a style ImVec2 variable. " IMGUI_API void PopStyleVar(int count = 1); IMGUI_API void PushItemFlag(ImGuiItemFlags option, bool enabled); // modify specified shared item flag, e.g. PushItemFlag(ImGuiItemFlags_NoTabStop, true) IMGUI_API void PopItemFlag(); @@ -455,7 +464,7 @@ namespace ImGui // - Use the ShowStyleEditor() function to interactively see/edit the colors. IMGUI_API ImFont* GetFont(); // get current font IMGUI_API float GetFontSize(); // get current font size (= height in pixels) of current font with current scale applied - IMGUI_API ImVec2 GetFontTexUvWhitePixel(); // get UV coordinate for a while pixel, useful to draw custom shapes via the ImDrawList API + IMGUI_API ImVec2 GetFontTexUvWhitePixel(); // get UV coordinate for a white pixel, useful to draw custom shapes via the ImDrawList API IMGUI_API ImU32 GetColorU32(ImGuiCol idx, float alpha_mul = 1.0f); // retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList IMGUI_API ImU32 GetColorU32(const ImVec4& col); // retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList IMGUI_API ImU32 GetColorU32(ImU32 col, float alpha_mul = 1.0f); // retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList @@ -556,6 +565,7 @@ namespace ImGui // - Read about ImTextureID here: https://github.com/ocornut/imgui/wiki/Image-Loading-and-Displaying-Examples // - 'uv0' and 'uv1' are texture coordinates. Read about them from the same link above. // - Note that Image() may add +2.0f to provided size if a border is visible, ImageButton() adds style.FramePadding*2.0f to provided size. + // - ImageButton() draws a background based on regular Button() color + optionally an inner background if specified. IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1), const ImVec4& tint_col = ImVec4(1, 1, 1, 1), const ImVec4& border_col = ImVec4(0, 0, 0, 0)); IMGUI_API bool ImageButton(const char* str_id, ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1), const ImVec4& bg_col = ImVec4(0, 0, 0, 0), const ImVec4& tint_col = ImVec4(1, 1, 1, 1)); @@ -574,7 +584,7 @@ namespace ImGui // the array syntax is just a way to document the number of elements that are expected to be accessible. You can pass address of your first element out of a contiguous set, e.g. &myvector.x // - Adjust format string to decorate the value with a prefix, a suffix, or adapt the editing and display precision e.g. "%.3f" -> 1.234; "%5.2f secs" -> 01.23 secs; "Biscuit: %.0f" -> Biscuit: 1; etc. // - Format string may also be set to NULL or use the default format ("%f" or "%d"). - // - Speed are per-pixel of mouse movement (v_speed=0.2f: mouse needs to move by 5 pixels to increase value by 1). For gamepad/keyboard navigation, minimum speed is Max(v_speed, minimum_step_at_given_precision). + // - Speed are per-pixel of mouse movement (v_speed=0.2f: mouse needs to move by 5 pixels to increase value by 1). For keyboard/gamepad navigation, minimum speed is Max(v_speed, minimum_step_at_given_precision). // - Use v_min < v_max to clamp edits to given limits. Note that CTRL+Click manual input can override those limits if ImGuiSliderFlags_AlwaysClamp is not used. // - Use v_max = FLT_MAX / INT_MAX etc to avoid clamping to a maximum, same with v_min = -FLT_MAX / INT_MIN to avoid clamping to a minimum. // - We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them. @@ -683,6 +693,7 @@ namespace ImGui // Widgets: List Boxes // - This is essentially a thin wrapper to using BeginChild/EndChild with the ImGuiChildFlags_FrameStyle flag for stylistic changes + displaying a label. + // - If you don't need a label you can probably simply use BeginChild() with the ImGuiChildFlags_FrameStyle flag for the same result. // - You can submit contents and manage your selection state however you want it, by creating e.g. Selectable() or any other items. // - The simplified/old ListBox() api are helpers over BeginListBox()/EndListBox() which are kept available for convenience purpose. This is analoguous to how Combos are created. // - Choose frame width: size.x > 0.0f: custom / size.x < 0.0f or -FLT_MIN: right-align / size.x = 0.0f (default): use current ItemWidth @@ -838,7 +849,7 @@ namespace ImGui // Legacy Columns API (prefer using Tables!) // - You can also use SameLine(pos_x) to mimic simplified columns. - IMGUI_API void Columns(int count = 1, const char* id = NULL, bool border = true); + IMGUI_API void Columns(int count = 1, const char* id = NULL, bool borders = true); IMGUI_API void NextColumn(); // next column, defaults to current row or next row if the current row is finished IMGUI_API int GetColumnIndex(); // get current column index IMGUI_API float GetColumnWidth(int column_index = -1); // get column width (in pixels). pass -1 to use current column @@ -883,7 +894,7 @@ namespace ImGui // - Disable all user interactions and dim items visuals (applying style.DisabledAlpha over current colors) // - Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled) // - Tooltips windows by exception are opted out of disabling. - // - BeginDisabled(false) essentially does nothing useful but is provided to facilitate use of boolean expressions. If you can avoid calling BeginDisabled(False)/EndDisabled() best to avoid it. + // - BeginDisabled(false)/EndDisabled() essentially does nothing but is provided to facilitate use of boolean expressions (as a micro-optimization: if you have tens of thousands of BeginDisabled(false)/EndDisabled() pairs, you might want to reformulate your code to avoid making those calls) IMGUI_API void BeginDisabled(bool disabled = true); IMGUI_API void EndDisabled(); @@ -893,10 +904,12 @@ namespace ImGui IMGUI_API void PopClipRect(); // Focus, Activation - // - Prefer using "SetItemDefaultFocus()" over "if (IsWindowAppearing()) SetScrollHereY()" when applicable to signify "this is the default item" - IMGUI_API void SetItemDefaultFocus(); // make last item the default focused item of a window. + IMGUI_API void SetItemDefaultFocus(); // make last item the default focused item of of a newly appearing window. IMGUI_API void SetKeyboardFocusHere(int offset = 0); // focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget. + // Keyboard/Gamepad Navigation + IMGUI_API void SetNavCursorVisible(bool visible); // alter visibility of keyboard/gamepad cursor. by default: show when using an arrow key, hide when clicking with mouse. + // Overlapping mode IMGUI_API void SetNextItemAllowOverlap(); // allow next item to be overlapped by a subsequent item. Useful with invisible buttons, selectable, treenode covering an area where subsequent items may need to be added. Note that both Selectable() and TreeNode() have dedicated flags doing this. @@ -952,9 +965,8 @@ namespace ImGui // Inputs Utilities: Keyboard/Mouse/Gamepad // - the ImGuiKey enum contains all possible keyboard, mouse and gamepad inputs (e.g. ImGuiKey_A, ImGuiKey_MouseLeft, ImGuiKey_GamepadDpadUp...). - // - before v1.87, we used ImGuiKey to carry native/user indices as defined by each backends. About use of those legacy ImGuiKey values: - // - without IMGUI_DISABLE_OBSOLETE_KEYIO (legacy support): you can still use your legacy native/user indices (< 512) according to how your backend/engine stored them in io.KeysDown[], but need to cast them to ImGuiKey. - // - with IMGUI_DISABLE_OBSOLETE_KEYIO (this is the way forward): any use of ImGuiKey will assert with key < 512. GetKeyIndex() is pass-through and therefore deprecated (gone if IMGUI_DISABLE_OBSOLETE_KEYIO is defined). + // - (legacy: before v1.87, we used ImGuiKey to carry native/user indices as defined by each backends. This was obsoleted in 1.87 (2022-02) and completely removed in 1.91.5 (2024-11). See https://github.com/ocornut/imgui/issues/4921) + // - (legacy: any use of ImGuiKey will assert when key < 512 to detect passing legacy native/user indices) IMGUI_API bool IsKeyDown(ImGuiKey key); // is key being held. IMGUI_API bool IsKeyPressed(ImGuiKey key, bool repeat = true); // was key pressed (went from !Down to Down)? if repeat=true, uses io.KeyRepeatDelay / KeyRepeatRate IMGUI_API bool IsKeyReleased(ImGuiKey key); // was key released (went from Down to !Down)? @@ -989,7 +1001,7 @@ namespace ImGui // - Many related features are still in imgui_internal.h. For instance, most IsKeyXXX()/IsMouseXXX() functions have an owner-id-aware version. IMGUI_API void SetItemKeyOwner(ImGuiKey key); // Set key owner to last item ID if it is hovered or active. Equivalent to 'if (IsItemHovered() || IsItemActive()) { SetKeyOwner(key, GetItemID());'. - // Inputs Utilities: Mouse specific + // Inputs Utilities: Mouse // - To refer to a mouse button, you may use named enums in your code e.g. ImGuiMouseButton_Left, ImGuiMouseButton_Right. // - You can also use regular integer: it is forever guaranteed that 0=Left, 1=Right, 2=Middle. // - Dragging operations are only reported after mouse has moved a certain distance away from the initial clicking position (see 'lock_threshold' and 'io.MouseDraggingThreshold') @@ -1071,8 +1083,8 @@ enum ImGuiWindowFlags_ ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13, // Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus) ImGuiWindowFlags_AlwaysVerticalScrollbar= 1 << 14, // Always show vertical scrollbar (even if ContentSize.y < Size.y) ImGuiWindowFlags_AlwaysHorizontalScrollbar=1<< 15, // Always show horizontal scrollbar (even if ContentSize.x < Size.x) - ImGuiWindowFlags_NoNavInputs = 1 << 16, // No gamepad/keyboard navigation within the window - ImGuiWindowFlags_NoNavFocus = 1 << 17, // No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB) + ImGuiWindowFlags_NoNavInputs = 1 << 16, // No keyboard/gamepad navigation within the window + ImGuiWindowFlags_NoNavFocus = 1 << 17, // No focusing toward this window with keyboard/gamepad navigation (e.g. skipped by CTRL+TAB) ImGuiWindowFlags_UnsavedDocument = 1 << 18, // Display a dot next to the title. When used in a tab/docking context, tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar. ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse, @@ -1087,13 +1099,13 @@ enum ImGuiWindowFlags_ // Obsolete names #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + ImGuiWindowFlags_NavFlattened = 1 << 29, // Obsoleted in 1.90.9: Use ImGuiChildFlags_NavFlattened in BeginChild() call. ImGuiWindowFlags_AlwaysUseWindowPadding = 1 << 30, // Obsoleted in 1.90.0: Use ImGuiChildFlags_AlwaysUseWindowPadding in BeginChild() call. - ImGuiWindowFlags_NavFlattened = 1 << 31, // Obsoleted in 1.90.9: Use ImGuiChildFlags_NavFlattened in BeginChild() call. #endif }; // Flags for ImGui::BeginChild() -// (Legacy: bit 0 must always correspond to ImGuiChildFlags_Border to be backward compatible with old API using 'bool border = false'. +// (Legacy: bit 0 must always correspond to ImGuiChildFlags_Borders to be backward compatible with old API using 'bool border = false'. // About using AutoResizeX/AutoResizeY flags: // - May be combined with SetNextWindowSizeConstraints() to set a min/max size for each axis (see "Demo->Child->Auto-resize with Constraints"). // - Size measurement for a given axis is only performed when the child window is within visible boundaries, or is just appearing. @@ -1104,7 +1116,7 @@ enum ImGuiWindowFlags_ enum ImGuiChildFlags_ { ImGuiChildFlags_None = 0, - ImGuiChildFlags_Border = 1 << 0, // Show an outer border and enable WindowPadding. (IMPORTANT: this is always == 1 == true for legacy reason) + ImGuiChildFlags_Borders = 1 << 0, // Show an outer border and enable WindowPadding. (IMPORTANT: this is always == 1 == true for legacy reason) ImGuiChildFlags_AlwaysUseWindowPadding = 1 << 1, // Pad with style.WindowPadding even if no border are drawn (no padding by default for non-bordered child windows because it makes more sense) ImGuiChildFlags_ResizeX = 1 << 2, // Allow resize from right border (layout direction). Enable .ini saving (unless ImGuiWindowFlags_NoSavedSettings passed to window flags) ImGuiChildFlags_ResizeY = 1 << 3, // Allow resize from bottom border (layout direction). " @@ -1112,7 +1124,12 @@ enum ImGuiChildFlags_ ImGuiChildFlags_AutoResizeY = 1 << 5, // Enable auto-resizing height. Read "IMPORTANT: Size measurement" details above. ImGuiChildFlags_AlwaysAutoResize = 1 << 6, // Combined with AutoResizeX/AutoResizeY. Always measure size even when child is hidden, always return true, always disable clipping optimization! NOT RECOMMENDED. ImGuiChildFlags_FrameStyle = 1 << 7, // Style the child window like a framed item: use FrameBg, FrameRounding, FrameBorderSize, FramePadding instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding. - ImGuiChildFlags_NavFlattened = 1 << 8, // [BETA] Share focus scope, allow gamepad/keyboard navigation to cross over parent border to this child or between sibling child windows. + ImGuiChildFlags_NavFlattened = 1 << 8, // [BETA] Share focus scope, allow keyboard/gamepad navigation to cross over parent border to this child or between sibling child windows. + + // Obsolete names +#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + ImGuiChildFlags_Border = ImGuiChildFlags_Borders, // Renamed in 1.91.1 (August 2024) for consistency. +#endif }; // Flags for ImGui::PushItemFlag() @@ -1125,6 +1142,7 @@ enum ImGuiItemFlags_ ImGuiItemFlags_NoNavDefaultFocus = 1 << 2, // false // Disable item being a candidate for default focus (e.g. used by title bar items). ImGuiItemFlags_ButtonRepeat = 1 << 3, // false // Any button-like behavior will have repeat mode enabled (based on io.KeyRepeatDelay and io.KeyRepeatRate values). Note that you can also call IsItemActive() after any button to tell if it is being held. ImGuiItemFlags_AutoClosePopups = 1 << 4, // true // MenuItem()/Selectable() automatically close their parent popup window. + ImGuiItemFlags_AllowDuplicateId = 1 << 5, // false // Allow submitting an item with the same identifier as an item already submitted this frame without triggering a warning tooltip if io.ConfigDebugHighlightIdConflicts is set. }; // Flags for ImGui::InputText() @@ -1141,7 +1159,7 @@ enum ImGuiInputTextFlags_ // Inputs ImGuiInputTextFlags_AllowTabInput = 1 << 5, // Pressing TAB input a '\t' character into the text field - ImGuiInputTextFlags_EnterReturnsTrue = 1 << 6, // Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function. + ImGuiInputTextFlags_EnterReturnsTrue = 1 << 6, // Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider using IsItemDeactivatedAfterEdit() instead! ImGuiInputTextFlags_EscapeClearsAll = 1 << 7, // Escape key clears content if not empty, and deactivate otherwise (contrast to default behavior of Escape to revert) ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 8, // In multi-line mode, validate with Enter, add new line with Ctrl+Enter (default is opposite: validate with Ctrl+Enter, add line with Enter). @@ -1155,13 +1173,16 @@ enum ImGuiInputTextFlags_ ImGuiInputTextFlags_NoHorizontalScroll = 1 << 15, // Disable following the cursor horizontally ImGuiInputTextFlags_NoUndoRedo = 1 << 16, // Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID(). + // Elide display / Alignment + ImGuiInputTextFlags_ElideLeft = 1 << 17, // When text doesn't fit, elide left side to ensure right side stays visible. Useful for path/filenames. Single-line only! + // Callback features - ImGuiInputTextFlags_CallbackCompletion = 1 << 17, // Callback on pressing TAB (for completion handling) - ImGuiInputTextFlags_CallbackHistory = 1 << 18, // Callback on pressing Up/Down arrows (for history handling) - ImGuiInputTextFlags_CallbackAlways = 1 << 19, // Callback on each iteration. User code may query cursor position, modify text buffer. - ImGuiInputTextFlags_CallbackCharFilter = 1 << 20, // Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard. - ImGuiInputTextFlags_CallbackResize = 1 << 21, // Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this) - ImGuiInputTextFlags_CallbackEdit = 1 << 22, // Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active) + ImGuiInputTextFlags_CallbackCompletion = 1 << 18, // Callback on pressing TAB (for completion handling) + ImGuiInputTextFlags_CallbackHistory = 1 << 19, // Callback on pressing Up/Down arrows (for history handling) + ImGuiInputTextFlags_CallbackAlways = 1 << 20, // Callback on each iteration. User code may query cursor position, modify text buffer. + ImGuiInputTextFlags_CallbackCharFilter = 1 << 21, // Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard. + ImGuiInputTextFlags_CallbackResize = 1 << 22, // Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this) + ImGuiInputTextFlags_CallbackEdit = 1 << 23, // Callback on any edit. Note that InputText() already returns true on edit + you can always use IsItemEdited(). The callback is useful to manipulate the underlying buffer while focus is active. // Obsolete names //ImGuiInputTextFlags_AlwaysInsertMode = ImGuiInputTextFlags_AlwaysOverwrite // [renamed in 1.82] name was not matching behavior @@ -1177,21 +1198,23 @@ enum ImGuiTreeNodeFlags_ ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3, // Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4, // Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes) ImGuiTreeNodeFlags_DefaultOpen = 1 << 5, // Default node to be open - ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6, // Need double-click to open node - ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7, // Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open. + ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6, // Open on double-click instead of simple click (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined. + ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7, // Open when clicking on the arrow part (default for multi-select unless any _OpenOnXXX behavior is set explicitly). Both behaviors may be combined. ImGuiTreeNodeFlags_Leaf = 1 << 8, // No collapsing, no arrow (use as a convenience for leaf nodes). ImGuiTreeNodeFlags_Bullet = 1 << 9, // Display a bullet instead of arrow. IMPORTANT: node can still be marked open/close if you don't set the _Leaf flag! ImGuiTreeNodeFlags_FramePadding = 1 << 10, // Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding() before the node. ImGuiTreeNodeFlags_SpanAvailWidth = 1 << 11, // Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line without using AllowOverlap mode. ImGuiTreeNodeFlags_SpanFullWidth = 1 << 12, // Extend hit box to the left-most and right-most edges (cover the indent area). - ImGuiTreeNodeFlags_SpanTextWidth = 1 << 13, // Narrow hit box + narrow hovering highlight, will only cover the label text. - ImGuiTreeNodeFlags_SpanAllColumns = 1 << 14, // Frame will span all columns of its container table (text will still fit in current column) - ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 15, // (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop) + ImGuiTreeNodeFlags_SpanLabelWidth = 1 << 13, // Narrow hit box + narrow hovering highlight, will only cover the label text. + ImGuiTreeNodeFlags_SpanAllColumns = 1 << 14, // Frame will span all columns of its container table (label will still fit in current column) + ImGuiTreeNodeFlags_LabelSpanAllColumns = 1 << 15, // Label will span all columns of its container table //ImGuiTreeNodeFlags_NoScrollOnOpen = 1 << 16, // FIXME: TODO: Disable automatic scroll on TreePop() if node got just open and contents is not visible + ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 17, // (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop) ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog, #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS ImGuiTreeNodeFlags_AllowItemOverlap = ImGuiTreeNodeFlags_AllowOverlap, // Renamed in 1.89.7 + ImGuiTreeNodeFlags_SpanTextWidth = ImGuiTreeNodeFlags_SpanLabelWidth,// Renamed in 1.90.7 #endif }; @@ -1313,7 +1336,7 @@ enum ImGuiHoveredFlags_ ImGuiHoveredFlags_AllowWhenOverlappedByItem = 1 << 8, // IsItemHovered() only: Return true even if the item uses AllowOverlap mode and is overlapped by another hoverable item. ImGuiHoveredFlags_AllowWhenOverlappedByWindow = 1 << 9, // IsItemHovered() only: Return true even if the position is obstructed or overlapped by another window. ImGuiHoveredFlags_AllowWhenDisabled = 1 << 10, // IsItemHovered() only: Return true even if the item is disabled - ImGuiHoveredFlags_NoNavOverride = 1 << 11, // IsItemHovered() only: Disable using gamepad/keyboard navigation state when active, always query mouse + ImGuiHoveredFlags_NoNavOverride = 1 << 11, // IsItemHovered() only: Disable using keyboard/gamepad navigation state when active, always query mouse ImGuiHoveredFlags_AllowWhenOverlapped = ImGuiHoveredFlags_AllowWhenOverlappedByItem | ImGuiHoveredFlags_AllowWhenOverlappedByWindow, ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped, ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows, @@ -1378,6 +1401,7 @@ enum ImGuiDataType_ ImGuiDataType_Float, // float ImGuiDataType_Double, // double ImGuiDataType_Bool, // bool (provided for user convenience, not supported by scalar widgets) + ImGuiDataType_String, // char* (provided for user convenience, not supported by scalar widgets) ImGuiDataType_COUNT }; @@ -1400,21 +1424,18 @@ enum ImGuiSortDirection : ImU8 ImGuiSortDirection_Descending = 2 // Descending = 9->0, Z->A etc. }; -// Since 1.90, defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS automatically defines IMGUI_DISABLE_OBSOLETE_KEYIO as well. -#if defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS) && !defined(IMGUI_DISABLE_OBSOLETE_KEYIO) -#define IMGUI_DISABLE_OBSOLETE_KEYIO -#endif - // A key identifier (ImGuiKey_XXX or ImGuiMod_XXX value): can represent Keyboard, Mouse and Gamepad values. -// All our named keys are >= 512. Keys value 0 to 511 are left unused as legacy native/opaque key values (< 1.87). -// Since >= 1.89 we increased typing (went from int to enum), some legacy code may need a cast to ImGuiKey. -// Read details about the 1.87 and 1.89 transition : https://github.com/ocornut/imgui/issues/4921 +// All our named keys are >= 512. Keys value 0 to 511 are left unused and were legacy native/opaque key values (< 1.87). +// Support for legacy keys was completely removed in 1.91.5. +// Read details about the 1.87+ transition : https://github.com/ocornut/imgui/issues/4921 // Note that "Keys" related to physical keys and are not the same concept as input "Characters", the later are submitted via io.AddInputCharacter(). // The keyboard key enum values are named after the keys on a standard US keyboard, and on other keyboard types the keys reported may not match the keycaps. enum ImGuiKey : int { // Keyboard ImGuiKey_None = 0, + ImGuiKey_NamedKey_BEGIN = 512, // First valid key value (other than 0) + ImGuiKey_Tab = 512, // == ImGuiKey_NamedKey_BEGIN ImGuiKey_LeftArrow, ImGuiKey_RightArrow, @@ -1502,7 +1523,7 @@ enum ImGuiKey : int // [Internal] Reserved for mod storage ImGuiKey_ReservedForModCtrl, ImGuiKey_ReservedForModShift, ImGuiKey_ReservedForModAlt, ImGuiKey_ReservedForModSuper, - ImGuiKey_COUNT, + ImGuiKey_NamedKey_END, // Keyboard Modifiers (explicitly submitted by backend via AddKeyEvent() calls) // - This is mirroring the data also written to io.KeyCtrl, io.KeyShift, io.KeyAlt, io.KeySuper, in a format allowing @@ -1520,21 +1541,13 @@ enum ImGuiKey : int ImGuiMod_Super = 1 << 15, // Windows/Super (non-macOS), Ctrl (macOS) ImGuiMod_Mask_ = 0xF000, // 4-bits - // [Internal] Prior to 1.87 we required user to fill io.KeysDown[512] using their own native index + the io.KeyMap[] array. - // We are ditching this method but keeping a legacy path for user code doing e.g. IsKeyPressed(MY_NATIVE_KEY_CODE) - // If you need to iterate all keys (for e.g. an input mapper) you may use ImGuiKey_NamedKey_BEGIN..ImGuiKey_NamedKey_END. - ImGuiKey_NamedKey_BEGIN = 512, - ImGuiKey_NamedKey_END = ImGuiKey_COUNT, + // [Internal] If you need to iterate all keys (for e.g. an input mapper) you may use ImGuiKey_NamedKey_BEGIN..ImGuiKey_NamedKey_END. ImGuiKey_NamedKey_COUNT = ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN, -#ifdef IMGUI_DISABLE_OBSOLETE_KEYIO - ImGuiKey_KeysData_SIZE = ImGuiKey_NamedKey_COUNT, // Size of KeysData[]: only hold named keys - ImGuiKey_KeysData_OFFSET = ImGuiKey_NamedKey_BEGIN, // Accesses to io.KeysData[] must use (key - ImGuiKey_KeysData_OFFSET) index. -#else - ImGuiKey_KeysData_SIZE = ImGuiKey_COUNT, // Size of KeysData[]: hold legacy 0..512 keycodes + named keys - ImGuiKey_KeysData_OFFSET = 0, // Accesses to io.KeysData[] must use (key - ImGuiKey_KeysData_OFFSET) index. -#endif + //ImGuiKey_KeysData_SIZE = ImGuiKey_NamedKey_COUNT, // Size of KeysData[]: only hold named keys + //ImGuiKey_KeysData_OFFSET = ImGuiKey_NamedKey_BEGIN, // Accesses to io.KeysData[] must use (key - ImGuiKey_NamedKey_BEGIN) index. #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + ImGuiKey_COUNT = ImGuiKey_NamedKey_END, // Obsoleted in 1.91.5 because it was extremely misleading (since named keys don't start at 0 anymore) ImGuiMod_Shortcut = ImGuiMod_Ctrl, // Removed in 1.90.7, you can now simply use ImGuiMod_Ctrl ImGuiKey_ModCtrl = ImGuiMod_Ctrl, ImGuiKey_ModShift = ImGuiMod_Shift, ImGuiKey_ModAlt = ImGuiMod_Alt, ImGuiKey_ModSuper = ImGuiMod_Super, // Renamed in 1.89 //ImGuiKey_KeyPadEnter = ImGuiKey_KeypadEnter, // Renamed in 1.87 @@ -1566,26 +1579,12 @@ enum ImGuiInputFlags_ ImGuiInputFlags_Tooltip = 1 << 18, // Automatically display a tooltip when hovering item [BETA] Unsure of right api (opt-in/opt-out) }; -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO -// OBSOLETED in 1.88 (from July 2022): ImGuiNavInput and io.NavInputs[]. -// Official backends between 1.60 and 1.86: will keep working and feed gamepad inputs as long as IMGUI_DISABLE_OBSOLETE_KEYIO is not set. -// Custom backends: feed gamepad inputs via io.AddKeyEvent() and ImGuiKey_GamepadXXX enums. -enum ImGuiNavInput -{ - ImGuiNavInput_Activate, ImGuiNavInput_Cancel, ImGuiNavInput_Input, ImGuiNavInput_Menu, ImGuiNavInput_DpadLeft, ImGuiNavInput_DpadRight, ImGuiNavInput_DpadUp, ImGuiNavInput_DpadDown, - ImGuiNavInput_LStickLeft, ImGuiNavInput_LStickRight, ImGuiNavInput_LStickUp, ImGuiNavInput_LStickDown, ImGuiNavInput_FocusPrev, ImGuiNavInput_FocusNext, ImGuiNavInput_TweakSlow, ImGuiNavInput_TweakFast, - ImGuiNavInput_COUNT, -}; -#endif - // Configuration flags stored in io.ConfigFlags. Set by user/application. enum ImGuiConfigFlags_ { ImGuiConfigFlags_None = 0, ImGuiConfigFlags_NavEnableKeyboard = 1 << 0, // Master keyboard navigation enable flag. Enable full Tabbing + directional arrows + space/enter to activate. ImGuiConfigFlags_NavEnableGamepad = 1 << 1, // Master gamepad navigation enable flag. Backend also needs to set ImGuiBackendFlags_HasGamepad. - ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2, // Instruct navigation to move the mouse cursor. May be useful on TV/console systems where moving a virtual mouse is awkward. Will update io.MousePos and set io.WantSetMousePos=true. If enabled you MUST honor io.WantSetMousePos requests in your backend, otherwise ImGui will react as if the mouse is jumping around back and forth. - ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3, // Instruct navigation to not set the io.WantCaptureKeyboard flag when io.NavActive is set. ImGuiConfigFlags_NoMouse = 1 << 4, // Instruct dear imgui to disable mouse inputs and interactions. ImGuiConfigFlags_NoMouseCursorChange = 1 << 5, // Instruct backend to not alter mouse cursor shape and visibility. Use if the backend cursor changes are interfering with yours and you don't want to use SetMouseCursor() to change mouse cursor. You may want to honor requests from imgui by reading GetMouseCursor() yourself instead. ImGuiConfigFlags_NoKeyboard = 1 << 6, // Instruct dear imgui to disable keyboard inputs and interactions. This is done by ignoring keyboard events and clearing existing states. @@ -1593,6 +1592,11 @@ enum ImGuiConfigFlags_ // User storage (to allow your backend/engine to communicate to code that may be shared between multiple projects. Those flags are NOT used by core Dear ImGui) ImGuiConfigFlags_IsSRGB = 1 << 20, // Application is SRGB-aware. ImGuiConfigFlags_IsTouchScreen = 1 << 21, // Application is using a touch screen instead of a mouse. + +#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2, // [moved/renamed in 1.91.4] -> use bool io.ConfigNavMoveSetMousePos + ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3, // [moved/renamed in 1.91.4] -> use bool io.ConfigNavCaptureKeyboard +#endif }; // Backend capabilities flags stored in io.BackendFlags. Set by imgui_impl_xxx or custom backend. @@ -1601,7 +1605,7 @@ enum ImGuiBackendFlags_ ImGuiBackendFlags_None = 0, ImGuiBackendFlags_HasGamepad = 1 << 0, // Backend Platform supports gamepad and currently has one connected. ImGuiBackendFlags_HasMouseCursors = 1 << 1, // Backend Platform supports honoring GetMouseCursor() value to change the OS cursor shape. - ImGuiBackendFlags_HasSetMousePos = 1 << 2, // Backend Platform supports io.WantSetMousePos requests to reposition the OS mouse position (only used if ImGuiConfigFlags_NavEnableSetMousePos is set). + ImGuiBackendFlags_HasSetMousePos = 1 << 2, // Backend Platform supports io.WantSetMousePos requests to reposition the OS mouse position (only used if io.ConfigNavMoveSetMousePos is set). ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3, // Backend Renderer supports ImDrawCmd::VtxOffset. This enables output of large meshes (64K+ vertices) while still using 16-bit indices. }; @@ -1660,7 +1664,7 @@ enum ImGuiCol_ ImGuiCol_TextLink, // Hyperlink color ImGuiCol_TextSelectedBg, ImGuiCol_DragDropTarget, // Rectangle highlighting a drop target - ImGuiCol_NavHighlight, // Gamepad/keyboard: current highlighted item + ImGuiCol_NavCursor, // Color of keyboard/gamepad navigation cursor/rectangle, when visible ImGuiCol_NavWindowingHighlight, // Highlight window when using CTRL+TAB ImGuiCol_NavWindowingDimBg, // Darken/colorize entire screen behind the CTRL+TAB window list, when active ImGuiCol_ModalWindowDimBg, // Darken/colorize entire screen behind a modal window, when one is active @@ -1670,6 +1674,7 @@ enum ImGuiCol_ ImGuiCol_TabActive = ImGuiCol_TabSelected, // [renamed in 1.90.9] ImGuiCol_TabUnfocused = ImGuiCol_TabDimmed, // [renamed in 1.90.9] ImGuiCol_TabUnfocusedActive = ImGuiCol_TabDimmedSelected, // [renamed in 1.90.9] + ImGuiCol_NavHighlight = ImGuiCol_NavCursor, // [renamed in 1.91.4] #endif }; @@ -1728,7 +1733,7 @@ enum ImGuiButtonFlags_ ImGuiButtonFlags_MouseButtonRight = 1 << 1, // React on right mouse button ImGuiButtonFlags_MouseButtonMiddle = 1 << 2, // React on center mouse button ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle, // [Internal] - //ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft, + ImGuiButtonFlags_EnableNav = 1 << 3, // InvisibleButton(): do not disable navigation/tabbing. Otherwise disabled by default. }; // Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton() @@ -1777,19 +1782,19 @@ enum ImGuiColorEditFlags_ // Flags for DragFloat(), DragInt(), SliderFloat(), SliderInt() etc. // We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them. -// (Those are per-item flags. There are shared flags in ImGuiIO: io.ConfigDragClickToInputText) +// (Those are per-item flags. There is shared behavior flag too: ImGuiIO: io.ConfigDragClickToInputText) enum ImGuiSliderFlags_ { - ImGuiSliderFlags_None = 0, - ImGuiSliderFlags_AlwaysClamp = 1 << 4, // Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds. - ImGuiSliderFlags_Logarithmic = 1 << 5, // Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits. - ImGuiSliderFlags_NoRoundToFormat = 1 << 6, // Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits). - ImGuiSliderFlags_NoInput = 1 << 7, // Disable CTRL+Click or Enter key allowing to input text directly into the widget. - ImGuiSliderFlags_WrapAround = 1 << 8, // Enable wrapping around from max to min and from min to max (only supported by DragXXX() functions for now. - ImGuiSliderFlags_InvalidMask_ = 0x7000000F, // [Internal] We treat using those bits as being potentially a 'float power' argument from the previous API that has got miscast to this enum, and will trigger an assert if needed. - - // Obsolete names - //ImGuiSliderFlags_ClampOnInput = ImGuiSliderFlags_AlwaysClamp, // [renamed in 1.79] + ImGuiSliderFlags_None = 0, + ImGuiSliderFlags_Logarithmic = 1 << 5, // Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits. + ImGuiSliderFlags_NoRoundToFormat = 1 << 6, // Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits). + ImGuiSliderFlags_NoInput = 1 << 7, // Disable CTRL+Click or Enter key allowing to input text directly into the widget. + ImGuiSliderFlags_WrapAround = 1 << 8, // Enable wrapping around from max to min and from min to max. Only supported by DragXXX() functions for now. + ImGuiSliderFlags_ClampOnInput = 1 << 9, // Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds. + ImGuiSliderFlags_ClampZeroRange = 1 << 10, // Clamp even if min==max==0.0f. Otherwise due to legacy reason DragXXX functions don't clamp with those values. When your clamping limits are dynamic you almost always want to use it. + ImGuiSliderFlags_NoSpeedTweaks = 1 << 11, // Disable keyboard modifiers altering tweak speed. Useful if you want to alter tweak speed yourself based on your own logic. + ImGuiSliderFlags_AlwaysClamp = ImGuiSliderFlags_ClampOnInput | ImGuiSliderFlags_ClampZeroRange, + ImGuiSliderFlags_InvalidMask_ = 0x7000000F, // [Internal] We treat using those bits as being potentially a 'float power' argument from the previous API that has got miscast to this enum, and will trigger an assert if needed. }; // Identify a mouse button. @@ -1938,7 +1943,7 @@ enum ImGuiTableColumnFlags_ ImGuiTableColumnFlags_NoSort = 1 << 9, // Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table). ImGuiTableColumnFlags_NoSortAscending = 1 << 10, // Disable ability to sort in the ascending direction. ImGuiTableColumnFlags_NoSortDescending = 1 << 11, // Disable ability to sort in the descending direction. - ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12, // TableHeadersRow() will not submit horizontal label for this column. Convenient for some small columns. Name will still appear in context menu or in angled headers. + ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12, // TableHeadersRow() will submit an empty label for this column. Convenient for some small columns. Name will still appear in context menu or in angled headers. You may append into this cell by calling TableSetColumnIndex() right after the TableHeadersRow() call. ImGuiTableColumnFlags_NoHeaderWidth = 1 << 13, // Disable header text width contribution to automatic column width. ImGuiTableColumnFlags_PreferSortAscending = 1 << 14, // Make the initial sort direction Ascending when first sorting on this column (default). ImGuiTableColumnFlags_PreferSortDescending = 1 << 15, // Make the initial sort direction Descending when first sorting on this column. @@ -2193,6 +2198,8 @@ struct ImGuiStyle // - initialization: backends and user code writes to ImGuiIO. // - main loop: backends writes to ImGuiIO, user code and imgui code reads from ImGuiIO. //----------------------------------------------------------------------------- +// Also see ImGui::GetPlatformIO() and ImGuiPlatformIO struct for OS/platform related functions: clipboard, IME etc. +//----------------------------------------------------------------------------- // [Internal] Storage used by IsKeyDown(), IsKeyPressed() etc functions. // If prior to 1.87 you used io.KeysDownDuration[] (which was marked as internal), you should use GetKeyData(key)->DownDuration and *NOT* io.KeysData[key]->DownDuration. @@ -2210,7 +2217,7 @@ struct ImGuiIO // Configuration // Default value //------------------------------------------------------------------ - ImGuiConfigFlags ConfigFlags; // = 0 // See ImGuiConfigFlags_ enum. Set by user/application. Gamepad/keyboard navigation options, etc. + ImGuiConfigFlags ConfigFlags; // = 0 // See ImGuiConfigFlags_ enum. Set by user/application. Keyboard/Gamepad navigation options, etc. ImGuiBackendFlags BackendFlags; // = 0 // See ImGuiBackendFlags_ enum. Set by backend (imgui_impl_xxx files or custom backend) to communicate features supported by the backend. ImVec2 DisplaySize; // // Main display size, in pixels (generally == GetMainViewport()->Size). May change every frame. float DeltaTime; // = 1.0f/60.0f // Time elapsed since last frame, in seconds. May change every frame. @@ -2219,22 +2226,34 @@ struct ImGuiIO const char* LogFilename; // = "imgui_log.txt"// Path to .log file (default parameter to ImGui::LogToFile when no file is specified). void* UserData; // = NULL // Store your own data. + // Font system ImFontAtlas*Fonts; // // Font atlas: load, rasterize and pack one or more fonts into a single texture. float FontGlobalScale; // = 1.0f // Global scale all fonts - bool FontAllowUserScaling; // = false // Allow user scaling text of individual window with CTRL+Wheel. + bool FontAllowUserScaling; // = false // [OBSOLETE] Allow user scaling text of individual window with CTRL+Wheel. ImFont* FontDefault; // = NULL // Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0]. ImVec2 DisplayFramebufferScale; // = (1, 1) // For retina display or other situations where window coordinates are different from framebuffer coordinates. This generally ends up in ImDrawData::FramebufferScale. + // Keyboard/Gamepad Navigation options + bool ConfigNavSwapGamepadButtons; // = false // Swap Activate<>Cancel (A<>B) buttons, matching typical "Nintendo/Japanese style" gamepad layout. + bool ConfigNavMoveSetMousePos; // = false // Directional/tabbing navigation teleports the mouse cursor. May be useful on TV/console systems where moving a virtual mouse is difficult. Will update io.MousePos and set io.WantSetMousePos=true. + bool ConfigNavCaptureKeyboard; // = true // Sets io.WantCaptureKeyboard when io.NavActive is set. + bool ConfigNavEscapeClearFocusItem; // = true // Pressing Escape can clear focused item + navigation id/highlight. Set to false if you want to always keep highlight on. + bool ConfigNavEscapeClearFocusWindow;// = false // Pressing Escape can clear focused window as well (super set of io.ConfigNavEscapeClearFocusItem). + bool ConfigNavCursorVisibleAuto; // = true // Using directional navigation key makes the cursor visible. Mouse click hides the cursor. + bool ConfigNavCursorVisibleAlways; // = false // Navigation cursor is always visible. + // Miscellaneous options + // (you can visualize and interact with all options in 'Demo->Configuration') bool MouseDrawCursor; // = false // Request ImGui to draw a mouse cursor for you (if you are on a platform without a mouse cursor). Cannot be easily renamed to 'io.ConfigXXX' because this is frequently used by backend implementations. bool ConfigMacOSXBehaviors; // = defined(__APPLE__) // Swap Cmd<>Ctrl keys + OS X style text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl. - bool ConfigNavSwapGamepadButtons; // = false // Swap Activate<>Cancel (A<>B) buttons, matching typical "Nintendo/Japanese style" gamepad layout. bool ConfigInputTrickleEventQueue; // = true // Enable input queue trickling: some types of events submitted during the same frame (e.g. button down + up) will be spread over multiple frames, improving interactions with low framerates. bool ConfigInputTextCursorBlink; // = true // Enable blinking cursor (optional as some users consider it to be distracting). bool ConfigInputTextEnterKeepActive; // = false // [BETA] Pressing Enter will keep item active and select contents (single-line only). bool ConfigDragClickToInputText; // = false // [BETA] Enable turning DragXXX widgets into text input with a simple mouse click-release (without moving). Not desirable on devices without a keyboard. - bool ConfigWindowsResizeFromEdges; // = true // Enable resizing of windows from their edges and from the lower-left corner. This requires (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) because it needs mouse cursor feedback. (This used to be a per-window ImGuiWindowFlags_ResizeFromAnySide flag) - bool ConfigWindowsMoveFromTitleBarOnly; // = false // Enable allowing to move windows only when clicking on their title bar. Does not apply to windows without a title bar. + bool ConfigWindowsResizeFromEdges; // = true // Enable resizing of windows from their edges and from the lower-left corner. This requires ImGuiBackendFlags_HasMouseCursors for better mouse cursor feedback. (This used to be a per-window ImGuiWindowFlags_ResizeFromAnySide flag) + bool ConfigWindowsMoveFromTitleBarOnly; // = false // Enable allowing to move windows only when clicking on their title bar. Does not apply to windows without a title bar. + bool ConfigWindowsCopyContentsWithCtrlC; // = false // [EXPERIMENTAL] CTRL+C copy the contents of focused window into the clipboard. Experimental because: (1) has known issues with nested Begin/End pairs (2) text output quality varies (3) text output is in submission order rather than spatial order. + bool ConfigScrollbarScrollByPage; // = true // Enable scrolling page by page when clicking outside the scrollbar grab. When disabled, always scroll to clicked location. When enabled, Shift+Click scrolls to clicked location. float ConfigMemoryCompactTimer; // = 60.0f // Timer (in seconds) to free transient windows/tables memory buffers when unused. Set to -1.0f to disable. // Inputs Behaviors @@ -2249,12 +2268,37 @@ struct ImGuiIO // Debug options //------------------------------------------------------------------ + // Options to configure Error Handling and how we handle recoverable errors [EXPERIMENTAL] + // - Error recovery is provided as a way to facilitate: + // - Recovery after a programming error (native code or scripting language - the later tends to facilitate iterating on code while running). + // - Recovery after running an exception handler or any error processing which may skip code after an error has been detected. + // - Error recovery is not perfect nor guaranteed! It is a feature to ease development. + // You not are not supposed to rely on it in the course of a normal application run. + // - Functions that support error recovery are using IM_ASSERT_USER_ERROR() instead of IM_ASSERT(). + // - By design, we do NOT allow error recovery to be 100% silent. One of the three options needs to be checked! + // - Always ensure that on programmers seats you have at minimum Asserts or Tooltips enabled when making direct imgui API calls! + // Otherwise it would severely hinder your ability to catch and correct mistakes! + // Read https://github.com/ocornut/imgui/wiki/Error-Handling for details. + // - Programmer seats: keep asserts (default), or disable asserts and keep error tooltips (new and nice!) + // - Non-programmer seats: maybe disable asserts, but make sure errors are resurfaced (tooltips, visible log entries, use callback etc.) + // - Recovery after error/exception: record stack sizes with ErrorRecoveryStoreState(), disable assert, set log callback (to e.g. trigger high-level breakpoint), recover with ErrorRecoveryTryToRecoverState(), restore settings. + bool ConfigErrorRecovery; // = true // Enable error recovery support. Some errors won't be detected and lead to direct crashes if recovery is disabled. + bool ConfigErrorRecoveryEnableAssert; // = true // Enable asserts on recoverable error. By default call IM_ASSERT() when returning from a failing IM_ASSERT_USER_ERROR() + bool ConfigErrorRecoveryEnableDebugLog; // = true // Enable debug log output on recoverable errors. + bool ConfigErrorRecoveryEnableTooltip; // = true // Enable tooltip on recoverable errors. The tooltip include a way to enable asserts if they were disabled. + // Option to enable various debug tools showing buttons that will call the IM_DEBUG_BREAK() macro. // - The Item Picker tool will be available regardless of this being enabled, in order to maximize its discoverability. // - Requires a debugger being attached, otherwise IM_DEBUG_BREAK() options will appear to crash your application. // e.g. io.ConfigDebugIsDebuggerPresent = ::IsDebuggerPresent() on Win32, or refer to ImOsIsDebuggerPresent() imgui_test_engine/imgui_te_utils.cpp for a Unix compatible version). bool ConfigDebugIsDebuggerPresent; // = false // Enable various tools calling IM_DEBUG_BREAK(). + // Tools to detect code submitting items with conflicting/duplicate IDs + // - Code should use PushID()/PopID() in loops, or append "##xx" to same-label identifiers. + // - Empty label e.g. Button("") == same ID as parent widget/node. Use Button("##xx") instead! + // - See FAQ https://github.com/ocornut/imgui/blob/master/docs/FAQ.md#q-about-the-id-stack-system + bool ConfigDebugHighlightIdConflicts;// = true // Highlight and show an error message when multiple items have conflicting identifiers. + // Tools to test correct Begin/End and BeginChild/EndChild behaviors. // - Presently Begin()/End() and BeginChild()/EndChild() needs to ALWAYS be called in tandem, regardless of return value of BeginXXX() // - This is inconsistent with other BeginXXX functions and create confusion for many users. @@ -2271,10 +2315,11 @@ struct ImGuiIO bool ConfigDebugIniSettings; // = false // Save .ini data with extra comments (particularly helpful for Docking, but makes saving slower) //------------------------------------------------------------------ - // Platform Functions + // Platform Identifiers // (the imgui_impl_xxxx backend files are setting those up for you) //------------------------------------------------------------------ + // Nowadays those would be stored in ImGuiPlatformIO but we are leaving them here for legacy reasons. // Optional: Platform/Renderer backend name (informational only! will be displayed in About Window) + User data for backend/wrappers to store their own stuff. const char* BackendPlatformName; // = NULL const char* BackendRendererName; // = NULL @@ -2282,25 +2327,6 @@ struct ImGuiIO void* BackendRendererUserData; // = NULL // User data for renderer backend void* BackendLanguageUserData; // = NULL // User data for non C++ programming language backend - // Optional: Access OS clipboard - // (default to use native Win32 clipboard on Windows, otherwise uses a private clipboard. Override to access OS clipboard on other architectures) - const char* (*GetClipboardTextFn)(void* user_data); - void (*SetClipboardTextFn)(void* user_data, const char* text); - void* ClipboardUserData; - - // Optional: Open link/folder/file in OS Shell - // (default to use ShellExecuteA() on Windows, system() on Linux/Mac) - bool (*PlatformOpenInShellFn)(ImGuiContext* ctx, const char* path); - void* PlatformOpenInShellUserData; - - // Optional: Notify OS Input Method Editor of the screen position of your cursor for text input position (e.g. when using Japanese/Chinese IME on Windows) - // (default to use native imm32 api on Windows) - void (*PlatformSetImeDataFn)(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data); - //void (*SetPlatformImeDataFn)(ImGuiViewport* viewport, ImGuiPlatformImeData* data); // [Renamed to io.PlatformSetImeDataFn in 1.91.0] - - // Optional: Platform locale - ImWchar PlatformLocaleDecimalPoint; // '.' // [Experimental] Configure decimal point e.g. '.' or ',' useful for some languages (e.g. German), generally pulled from *localeconv()->decimal_point - //------------------------------------------------------------------ // Input - Call before calling NewFrame() //------------------------------------------------------------------ @@ -2335,10 +2361,10 @@ struct ImGuiIO bool WantCaptureMouse; // Set when Dear ImGui will use mouse inputs, in this case do not dispatch them to your main game/application (either way, always pass on mouse inputs to imgui). (e.g. unclicked mouse is hovering over an imgui window, widget is active, mouse was clicked over an imgui window, etc.). bool WantCaptureKeyboard; // Set when Dear ImGui will use keyboard inputs, in this case do not dispatch them to your main game/application (either way, always pass keyboard inputs to imgui). (e.g. InputText active, or an imgui window is focused and navigation is enabled, etc.). bool WantTextInput; // Mobile/console: when set, you may display an on-screen keyboard. This is set by Dear ImGui when it wants textual keyboard input to happen (e.g. when a InputText widget is active). - bool WantSetMousePos; // MousePos has been altered, backend should reposition mouse on next frame. Rarely used! Set only when ImGuiConfigFlags_NavEnableSetMousePos flag is enabled. + bool WantSetMousePos; // MousePos has been altered, backend should reposition mouse on next frame. Rarely used! Set only when io.ConfigNavMoveSetMousePos is enabled. bool WantSaveIniSettings; // When manual .ini load/save is active (io.IniFilename == NULL), this will be set to notify your application that you can call SaveIniSettingsToMemory() and save yourself. Important: clear io.WantSaveIniSettings yourself after saving! bool NavActive; // Keyboard/Gamepad navigation is currently allowed (will handle ImGuiKey_NavXXX events) = a window is focused and it doesn't use the ImGuiWindowFlags_NoNavInputs flag. - bool NavVisible; // Keyboard/Gamepad navigation is visible and allowed (will handle ImGuiKey_NavXXX events). + bool NavVisible; // Keyboard/Gamepad navigation highlight is visible and allowed (will handle ImGuiKey_NavXXX events). float Framerate; // Estimate of application framerate (rolling average over 60 frames, based on io.DeltaTime), in frame per second. Solely for convenience. Slow applications may not want to use a moving average or may want to reset underlying buffers occasionally. int MetricsRenderVertices; // Vertices output during last call to Render() int MetricsRenderIndices; // Indices output during last call to Render() = number of triangles * 3 @@ -2367,7 +2393,7 @@ struct ImGuiIO // Other state maintained from data above + IO function calls ImGuiKeyChord KeyMods; // Key mods flags (any of ImGuiMod_Ctrl/ImGuiMod_Shift/ImGuiMod_Alt/ImGuiMod_Super flags, same as io.KeyCtrl/KeyShift/KeyAlt/KeySuper but merged into flags. Read-only, updated by NewFrame() - ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE]; // Key state for all known keys. Use IsKeyXXX() functions to access this. + ImGuiKeyData KeysData[ImGuiKey_NamedKey_COUNT];// Key state for all known keys. Use IsKeyXXX() functions to access this. bool WantCaptureMouseUnlessPopupClose; // Alternative to WantCaptureMouse: (WantCaptureMouse == true && WantCaptureMouseUnlessPopupClose == false) when a click over void is expected to close a popup. ImVec2 MousePosPrev; // Previous mouse position (note that MouseDelta is not necessary == MousePos-MousePosPrev, in case either position is invalid) ImVec2 MouseClickedPos[5]; // Position at time of clicking @@ -2387,19 +2413,25 @@ struct ImGuiIO float PenPressure; // Touch/Pen pressure (0.0f to 1.0f, should be >0.0f only when MouseDown[0] == true). Helper storage currently unused by Dear ImGui. bool AppFocusLost; // Only modify via AddFocusEvent() bool AppAcceptingEvents; // Only modify via SetAppAcceptingEvents() - ImS8 BackendUsingLegacyKeyArrays; // -1: unknown, 0: using AddKeyEvent(), 1: using legacy io.KeysDown[] - bool BackendUsingLegacyNavInputArray; // 0: using AddKeyAnalogEvent(), 1: writing to legacy io.NavInputs[] directly ImWchar16 InputQueueSurrogate; // For AddInputCharacterUTF16() ImVector InputQueueCharacters; // Queue of _characters_ input (obtained by platform backend). Fill using AddInputCharacter() helper. // Legacy: before 1.87, we required backend to fill io.KeyMap[] (imgui->native map) during initialization and io.KeysDown[] (native indices) every frame. // This is still temporarily supported as a legacy feature. However the new preferred scheme is for backend to call io.AddKeyEvent(). // Old (<1.87): ImGui::IsKeyPressed(ImGui::GetIO().KeyMap[ImGuiKey_Space]) --> New (1.87+) ImGui::IsKeyPressed(ImGuiKey_Space) -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - int KeyMap[ImGuiKey_COUNT]; // [LEGACY] Input: map of indices into the KeysDown[512] entries array which represent your "native" keyboard state. The first 512 are now unused and should be kept zero. Legacy backend will write into KeyMap[] using ImGuiKey_ indices which are always >512. - bool KeysDown[ImGuiKey_COUNT]; // [LEGACY] Input: Keyboard keys that are pressed (ideally left in the "native" order your engine has access to keyboard keys, so you can use your own defines/enums for keys). This used to be [512] sized. It is now ImGuiKey_COUNT to allow legacy io.KeysDown[GetKeyIndex(...)] to work without an overflow. - float NavInputs[ImGuiNavInput_COUNT]; // [LEGACY] Since 1.88, NavInputs[] was removed. Backends from 1.60 to 1.86 won't build. Feed gamepad inputs via io.AddKeyEvent() and ImGuiKey_GamepadXXX enums. + // Old (<1.87): ImGui::IsKeyPressed(MYPLATFORM_KEY_SPACE) --> New (1.87+) ImGui::IsKeyPressed(ImGuiKey_Space) + // Read https://github.com/ocornut/imgui/issues/4921 for details. + //int KeyMap[ImGuiKey_COUNT]; // [LEGACY] Input: map of indices into the KeysDown[512] entries array which represent your "native" keyboard state. The first 512 are now unused and should be kept zero. Legacy backend will write into KeyMap[] using ImGuiKey_ indices which are always >512. + //bool KeysDown[ImGuiKey_COUNT]; // [LEGACY] Input: Keyboard keys that are pressed (ideally left in the "native" order your engine has access to keyboard keys, so you can use your own defines/enums for keys). This used to be [512] sized. It is now ImGuiKey_COUNT to allow legacy io.KeysDown[GetKeyIndex(...)] to work without an overflow. + //float NavInputs[ImGuiNavInput_COUNT]; // [LEGACY] Since 1.88, NavInputs[] was removed. Backends from 1.60 to 1.86 won't build. Feed gamepad inputs via io.AddKeyEvent() and ImGuiKey_GamepadXXX enums. //void* ImeWindowHandle; // [Obsoleted in 1.87] Set ImGuiViewport::PlatformHandleRaw instead. Set this to your HWND to get automatic IME cursor positioning. + + // Legacy: before 1.91.1, clipboard functions were stored in ImGuiIO instead of ImGuiPlatformIO. + // As this is will affect all users of custom engines/backends, we are providing proper legacy redirection (will obsolete). +#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + const char* (*GetClipboardTextFn)(void* user_data); + void (*SetClipboardTextFn)(void* user_data, const char* text); + void* ClipboardUserData; #endif IMGUI_API ImGuiIO(); @@ -2412,7 +2444,7 @@ struct ImGuiIO // Shared state of InputText(), passed as an argument to your callback when a ImGuiInputTextFlags_Callback* flag is used. // The callback function should return 0 by default. // Callbacks (follow a flag name and see comments in ImGuiInputTextFlags_ declarations for more details) -// - ImGuiInputTextFlags_CallbackEdit: Callback on buffer edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active) +// - ImGuiInputTextFlags_CallbackEdit: Callback on buffer edit. Note that InputText() already returns true on edit + you can always use IsItemEdited(). The callback is useful to manipulate the underlying buffer while focus is active. // - ImGuiInputTextFlags_CallbackAlways: Callback on each iteration // - ImGuiInputTextFlags_CallbackCompletion: Callback on pressing TAB // - ImGuiInputTextFlags_CallbackHistory: Callback on pressing Up/Down arrows @@ -2664,7 +2696,8 @@ struct ImGuiListClipper // Helpers: ImVec2/ImVec4 operators // - It is important that we are keeping those disabled by default so they don't leak in user space. // - This is in order to allow user enabling implicit cast operators between ImVec2/ImVec4 and their own types (using IM_VEC2_CLASS_EXTRA in imconfig.h) -// - You can use '#define IMGUI_DEFINE_MATH_OPERATORS' to import our operators, provided as a courtesy. +// - Add '#define IMGUI_DEFINE_MATH_OPERATORS' before including this file (or in imconfig.h) to access courtesy maths operators for ImVec2 and ImVec4. +// - We intentionally provide ImVec2*float but not float*ImVec2: this is rare enough and we want to reduce the surface for possible user mistake. #ifdef IMGUI_DEFINE_MATH_OPERATORS #define IMGUI_DEFINE_MATH_OPERATORS_IMPLEMENTED IM_MSVC_RUNTIME_CHECKS_OFF @@ -2692,7 +2725,8 @@ IM_MSVC_RUNTIME_CHECKS_RESTORE #endif // Helpers macros to generate 32-bit encoded colors -// User can declare their own format by #defining the 5 _SHIFT/_MASK macros in their imconfig file. +// - User can declare their own format by #defining the 5 _SHIFT/_MASK macros in their imconfig file. +// - Any setting other than the default will need custom backend support. The only standard backend that supports anything else than the default is DirectX9. #ifndef IM_COL32_R_SHIFT #ifdef IMGUI_USE_BGRA_PACKED_COLOR #define IM_COL32_R_SHIFT 16 @@ -2859,13 +2893,13 @@ struct ImGuiSelectionBasicStorage ImGuiStorage _Storage; // [Internal] Selection set. Think of this as similar to e.g. std::set. Prefer not accessing directly: iterate with GetNextSelectedItem(). // Methods - ImGuiSelectionBasicStorage(); + IMGUI_API ImGuiSelectionBasicStorage(); IMGUI_API void ApplyRequests(ImGuiMultiSelectIO* ms_io); // Apply selection requests coming from BeginMultiSelect() and EndMultiSelect() functions. It uses 'items_count' passed to BeginMultiSelect() IMGUI_API bool Contains(ImGuiID id) const; // Query if an item id is in selection. IMGUI_API void Clear(); // Clear selection IMGUI_API void Swap(ImGuiSelectionBasicStorage& r); // Swap two selections IMGUI_API void SetItemSelected(ImGuiID id, bool selected); // Add/remove an item from selection (generally done by ApplyRequests() function) - IMGUI_API bool GetNextSelectedItem(void** opaque_it, ImGuiID* out_id); // Iterate selection with 'void* it = NULL; ImGuiId id; while (selection.GetNextSelectedItem(&it, &id)) { ... }' + IMGUI_API bool GetNextSelectedItem(void** opaque_it, ImGuiID* out_id); // Iterate selection with 'void* it = NULL; ImGuiID id; while (selection.GetNextSelectedItem(&it, &id)) { ... }' inline ImGuiID GetStorageIdFromIndex(int idx) { return AdapterIndexToStorageId(this, idx); } // Convert index to item id based on provided adapter. }; @@ -2922,9 +2956,11 @@ struct ImDrawCmd unsigned int IdxOffset; // 4 // Start offset in index buffer. unsigned int ElemCount; // 4 // Number of indices (multiple of 3) to be rendered as triangles. Vertices are stored in the callee ImDrawList's vtx_buffer[] array, indices in idx_buffer[]. ImDrawCallback UserCallback; // 4-8 // If != NULL, call the function instead of rendering the vertices. clip_rect and texture_id will be set normally. - void* UserCallbackData; // 4-8 // The draw callback code can access this. + void* UserCallbackData; // 4-8 // Callback user data (when UserCallback != NULL). If called AddCallback() with size == 0, this is a copy of the AddCallback() argument. If called AddCallback() with size > 0, this is pointing to a buffer where data is stored. + int UserCallbackDataSize; // 4 // Size of callback user data when using storage, otherwise 0. + int UserCallbackDataOffset;// 4 // [Internal] Offset of callback user data when using storage, otherwise -1. - ImDrawCmd() { memset(this, 0, sizeof(*this)); } // Also ensure our padding fields are zeroed + ImDrawCmd() { memset(this, 0, sizeof(*this)); } // Also ensure our padding fields are zeroed // Since 1.83: returns ImTextureID associated with this draw call. Warning: DO NOT assume this is always same as 'TextureId' (we will change this function for an upcoming feature) inline ImTextureID GetTexID() const { return TextureId; } @@ -3017,7 +3053,7 @@ enum ImDrawListFlags_ // access the current window draw list and draw custom primitives. // You can interleave normal ImGui:: calls and adding primitives to the current draw list. // In single viewport mode, top-left is == GetMainViewport()->Pos (generally 0,0), bottom-right is == GetMainViewport()->Pos+Size (generally io.DisplaySize). -// You are totally free to apply whatever transformation matrix to want to the data (depending on the use of the transformation you may want to apply it to ClipRect as well!) +// You are totally free to apply whatever transformation matrix you want to the data (depending on the use of the transformation you may want to apply it to ClipRect as well!) // Important: Primitives are always added to the list and not culled (culling is done at higher-level by ImGui:: functions), if you use this API a lot consider coarse culling your drawn objects. struct ImDrawList { @@ -3037,13 +3073,15 @@ struct ImDrawList ImDrawListSplitter _Splitter; // [Internal] for channels api (note: prefer using your own persistent instance of ImDrawListSplitter!) ImVector _ClipRectStack; // [Internal] ImVector _TextureIdStack; // [Internal] + ImVector _CallbacksDataBuf; // [Internal] float _FringeScale; // [Internal] anti-alias fringe is scaled by this value, this helps to keep things sharp while zooming at vertex buffer content const char* _OwnerName; // Pointer to owner window's name for debugging - // If you want to create ImDrawList instances, pass them ImGui::GetDrawListSharedData() or create and use your own ImDrawListSharedData (so you can use ImDrawList without ImGui) - ImDrawList(ImDrawListSharedData* shared_data) { memset(this, 0, sizeof(*this)); _Data = shared_data; } + // If you want to create ImDrawList instances, pass them ImGui::GetDrawListSharedData(). + // (advanced: you may create and use your own ImDrawListSharedData so you can use ImDrawList without ImGui, but that's more involved) + IMGUI_API ImDrawList(ImDrawListSharedData* shared_data); + IMGUI_API ~ImDrawList(); - ~ImDrawList() { _ClearFreeMemory(); } IMGUI_API void PushClipRect(const ImVec2& clip_rect_min, const ImVec2& clip_rect_max, bool intersect_with_current_clip_rect = false); // Render-level scissoring. This is passed down to your render function but not used for CPU-side coarse clipping. Prefer using higher-level ImGui::PushClipRect() to affect logic (hit-testing and widget culling) IMGUI_API void PushClipRectFullScreen(); IMGUI_API void PopClipRect(); @@ -3074,7 +3112,7 @@ struct ImDrawList IMGUI_API void AddEllipse(const ImVec2& center, const ImVec2& radius, ImU32 col, float rot = 0.0f, int num_segments = 0, float thickness = 1.0f); IMGUI_API void AddEllipseFilled(const ImVec2& center, const ImVec2& radius, ImU32 col, float rot = 0.0f, int num_segments = 0); IMGUI_API void AddText(const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL); - IMGUI_API void AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = NULL); + IMGUI_API void AddText(ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = NULL); IMGUI_API void AddBezierCubic(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col, float thickness, int num_segments = 0); // Cubic Bezier (4 control points) IMGUI_API void AddBezierQuadratic(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, ImU32 col, float thickness, int num_segments = 0); // Quadratic Bezier (3 control points) @@ -3109,8 +3147,18 @@ struct ImDrawList IMGUI_API void PathBezierQuadraticCurveTo(const ImVec2& p2, const ImVec2& p3, int num_segments = 0); // Quadratic Bezier (3 control points) IMGUI_API void PathRect(const ImVec2& rect_min, const ImVec2& rect_max, float rounding = 0.0f, ImDrawFlags flags = 0); - // Advanced - IMGUI_API void AddCallback(ImDrawCallback callback, void* callback_data); // Your rendering function must check for 'UserCallback' in ImDrawCmd and call the function instead of rendering triangles. + // Advanced: Draw Callbacks + // - May be used to alter render state (change sampler, blending, current shader). May be used to emit custom rendering commands (difficult to do correctly, but possible). + // - Use special ImDrawCallback_ResetRenderState callback to instruct backend to reset its render state to the default. + // - Your rendering loop must check for 'UserCallback' in ImDrawCmd and call the function instead of rendering triangles. All standard backends are honoring this. + // - For some backends, the callback may access selected render-states exposed by the backend in a ImGui_ImplXXXX_RenderState structure pointed to by platform_io.Renderer_RenderState. + // - IMPORTANT: please be mindful of the different level of indirection between using size==0 (copying argument) and using size>0 (copying pointed data into a buffer). + // - If userdata_size == 0: we copy/store the 'userdata' argument as-is. It will be available unmodified in ImDrawCmd::UserCallbackData during render. + // - If userdata_size > 0, we copy/store 'userdata_size' bytes pointed to by 'userdata'. We store them in a buffer stored inside the drawlist. ImDrawCmd::UserCallbackData will point inside that buffer so you have to retrieve data from there. Your callback may need to use ImDrawCmd::UserCallbackDataSize if you expect dynamically-sized data. + // - Support for userdata_size > 0 was added in v1.91.4, October 2024. So earlier code always only allowed to copy/store a simple void*. + IMGUI_API void AddCallback(ImDrawCallback callback, void* userdata, size_t userdata_size = 0); + + // Advanced: Miscellaneous IMGUI_API void AddDrawCmd(); // This is useful if you need to forcefully create a new draw call (to allow for dependent rendering / blending). Otherwise primitives are merged into the same draw-call as much as possible IMGUI_API ImDrawList* CloneOutput() const; // Create a clone of the CmdBuffer/IdxBuffer/VtxBuffer. @@ -3140,8 +3188,8 @@ struct ImDrawList //inline void AddEllipse(const ImVec2& center, float radius_x, float radius_y, ImU32 col, float rot = 0.0f, int num_segments = 0, float thickness = 1.0f) { AddEllipse(center, ImVec2(radius_x, radius_y), col, rot, num_segments, thickness); } // OBSOLETED in 1.90.5 (Mar 2024) //inline void AddEllipseFilled(const ImVec2& center, float radius_x, float radius_y, ImU32 col, float rot = 0.0f, int num_segments = 0) { AddEllipseFilled(center, ImVec2(radius_x, radius_y), col, rot, num_segments); } // OBSOLETED in 1.90.5 (Mar 2024) //inline void PathEllipticalArcTo(const ImVec2& center, float radius_x, float radius_y, float rot, float a_min, float a_max, int num_segments = 0) { PathEllipticalArcTo(center, ImVec2(radius_x, radius_y), rot, a_min, a_max, num_segments); } // OBSOLETED in 1.90.5 (Mar 2024) - //inline void AddBezierCurve(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col, float thickness, int num_segments = 0) { AddBezierCubic(p1, p2, p3, p4, col, thickness, num_segments); } // OBSOLETED in 1.80 (Jan 2021) - //inline void PathBezierCurveTo(const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, int num_segments = 0) { PathBezierCubicCurveTo(p2, p3, p4, num_segments); } // OBSOLETED in 1.80 (Jan 2021) + //inline void AddBezierCurve(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col, float thickness, int num_segments = 0) { AddBezierCubic(p1, p2, p3, p4, col, thickness, num_segments); } // OBSOLETED in 1.80 (Jan 2021) + //inline void PathBezierCurveTo(const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, int num_segments = 0) { PathBezierCubicCurveTo(p2, p3, p4, num_segments); } // OBSOLETED in 1.80 (Jan 2021) // [Internal helpers] IMGUI_API void _ResetForNewFrame(); @@ -3151,6 +3199,7 @@ struct ImDrawList IMGUI_API void _OnChangedClipRect(); IMGUI_API void _OnChangedTextureID(); IMGUI_API void _OnChangedVtxOffset(); + IMGUI_API void _SetTextureID(ImTextureID texture_id); IMGUI_API int _CalcCircleAutoSegmentCount(float radius) const; IMGUI_API void _PathArcToFastEx(const ImVec2& center, float radius, int a_min_sample, int a_max_sample, int a_step); IMGUI_API void _PathArcToN(const ImVec2& center, float radius, float a_min, float a_max, int num_segments); @@ -3192,8 +3241,8 @@ struct ImFontConfig float SizePixels; // // Size in pixels for rasterizer (more or less maps to the resulting font height). int OversampleH; // 2 // Rasterize at higher quality for sub-pixel positioning. Note the difference between 2 and 3 is minimal. You can reduce this to 1 for large glyphs save memory. Read https://github.com/nothings/stb/blob/master/tests/oversample/README.md for details. int OversampleV; // 1 // Rasterize at higher quality for sub-pixel positioning. This is not really useful as we don't use sub-pixel positions on the Y axis. - bool PixelSnapH; // false // Align every glyph to pixel boundary. Useful e.g. if you are merging a non-pixel aligned font with the default font. If enabled, you can set OversampleH/V to 1. - ImVec2 GlyphExtraSpacing; // 0, 0 // Extra spacing (in pixels) between glyphs. Only X axis is supported for now. + bool PixelSnapH; // false // Align every glyph AdvanceX to pixel boundaries. Useful e.g. if you are merging a non-pixel aligned font with the default font. If enabled, you can set OversampleH/V to 1. + ImVec2 GlyphExtraSpacing; // 0, 0 // Extra spacing (in pixels) between glyphs when rendered: essentially add to glyph->AdvanceX. Only X axis is supported for now. ImVec2 GlyphOffset; // 0, 0 // Offset all glyphs from this font input. const ImWchar* GlyphRanges; // NULL // THE ARRAY DATA NEEDS TO PERSIST AS LONG AS THE FONT IS ALIVE. Pointer to a user-provided list of Unicode range (2 value per range, values are inclusive, zero-terminated list). float GlyphMinAdvanceX; // 0 // Minimum AdvanceX for glyphs, set Min to align font icons, set both Min/Max to enforce mono-space font @@ -3202,7 +3251,7 @@ struct ImFontConfig unsigned int FontBuilderFlags; // 0 // Settings for custom font builder. THIS IS BUILDER IMPLEMENTATION DEPENDENT. Leave as zero if unsure. float RasterizerMultiply; // 1.0f // Linearly brighten (>1.0f) or darken (<1.0f) font output. Brightening small fonts may be a good workaround to make them more readable. This is a silly thing we may remove in the future. float RasterizerDensity; // 1.0f // DPI scale for rasterization, not altering other font metrics: make it easy to swap between e.g. a 100% and a 400% fonts for a zooming display. IMPORTANT: If you increase this it is expected that you increase font scale accordingly, otherwise quality may look lowered. - ImWchar EllipsisChar; // -1 // Explicitly specify unicode codepoint of ellipsis character. When fonts are being merged first specified ellipsis will be used. + ImWchar EllipsisChar; // 0 // Explicitly specify unicode codepoint of ellipsis character. When fonts are being merged first specified ellipsis will be used. // [Internal] char Name[40]; // Name (strictly to ease debugging) @@ -3242,13 +3291,16 @@ struct ImFontGlyphRangesBuilder // See ImFontAtlas::AddCustomRectXXX functions. struct ImFontAtlasCustomRect { - unsigned short Width, Height; // Input // Desired rectangle dimension unsigned short X, Y; // Output // Packed position in Atlas - unsigned int GlyphID; // Input // For custom font glyphs only (ID < 0x110000) + + // [Internal] + unsigned short Width, Height; // Input // Desired rectangle dimension + unsigned int GlyphID : 31; // Input // For custom font glyphs only (ID < 0x110000) + unsigned int GlyphColored : 1; // Input // For custom font glyphs only: glyph is colored, removed tinting. float GlyphAdvanceX; // Input // For custom font glyphs only: glyph xadvance ImVec2 GlyphOffset; // Input // For custom font glyphs only: glyph display offset ImFont* Font; // Input // For custom font glyphs only: target font - ImFontAtlasCustomRect() { Width = Height = 0; X = Y = 0xFFFF; GlyphID = 0; GlyphAdvanceX = 0.0f; GlyphOffset = ImVec2(0, 0); Font = NULL; } + ImFontAtlasCustomRect() { X = Y = 0xFFFF; Width = Height = 0; GlyphID = 0; GlyphColored = 0; GlyphAdvanceX = 0.0f; GlyphOffset = ImVec2(0, 0); Font = NULL; } bool IsPacked() const { return X != 0xFFFF; } }; @@ -3348,7 +3400,7 @@ struct ImFontAtlas ImFontAtlasFlags Flags; // Build flags (see ImFontAtlasFlags_) ImTextureID TexID; // User data to refer to the texture once it has been uploaded to user's graphic systems. It is passed back to you during rendering via the ImDrawCmd structure. int TexDesiredWidth; // Texture width desired by user before Build(). Must be a power-of-two. If have many glyphs your graphics API have texture size restrictions you may want to increase texture width to decrease height. - int TexGlyphPadding; // Padding between glyphs within texture in pixels. Defaults to 1. If your rendering method doesn't rely on bilinear filtering you may set this to 0 (will also need to set AntiAliasedLinesUseTex = false). + int TexGlyphPadding; // FIXME: Should be called "TexPackPadding". Padding between glyphs within texture in pixels. Defaults to 1. If your rendering method doesn't rely on bilinear filtering you may set this to 0 (will also need to set AntiAliasedLinesUseTex = false). bool Locked; // Marked as Locked by ImGui::NewFrame() so attempt to modify the atlas will assert. void* UserData; // Store your own atlas related user-data (if e.g. you have multiple font atlas). @@ -3384,23 +3436,24 @@ struct ImFontAtlas // ImFontAtlas automatically loads a default embedded font for you when you call GetTexDataAsAlpha8() or GetTexDataAsRGBA32(). struct ImFont { - // Members: Hot ~20/24 bytes (for CalcTextSize) - ImVector IndexAdvanceX; // 12-16 // out // // Sparse. Glyphs->AdvanceX in a directly indexable way (cache-friendly for CalcTextSize functions which only this this info, and are often bottleneck in large UI). + // [Internal] Members: Hot ~20/24 bytes (for CalcTextSize) + ImVector IndexAdvanceX; // 12-16 // out // // Sparse. Glyphs->AdvanceX in a directly indexable way (cache-friendly for CalcTextSize functions which only this info, and are often bottleneck in large UI). float FallbackAdvanceX; // 4 // out // = FallbackGlyph->AdvanceX float FontSize; // 4 // in // // Height of characters/line, set during loading (don't change after loading) - // Members: Hot ~28/40 bytes (for CalcTextSize + render loop) + // [Internal] Members: Hot ~28/40 bytes (for RenderText loop) ImVector IndexLookup; // 12-16 // out // // Sparse. Index glyphs by Unicode code-point. ImVector Glyphs; // 12-16 // out // // All glyphs. const ImFontGlyph* FallbackGlyph; // 4-8 // out // = FindGlyph(FontFallbackChar) - // Members: Cold ~32/40 bytes + // [Internal] Members: Cold ~32/40 bytes + // Conceptually ConfigData[] is the list of font sources merged to create this font. ImFontAtlas* ContainerAtlas; // 4-8 // out // // What we has been loaded into - const ImFontConfig* ConfigData; // 4-8 // in // // Pointer within ContainerAtlas->ConfigData + const ImFontConfig* ConfigData; // 4-8 // in // // Pointer within ContainerAtlas->ConfigData to ConfigDataCount instances short ConfigDataCount; // 2 // in // ~ 1 // Number of ImFontConfig involved in creating this font. Bigger than 1 when merging multiple font sources into one ImFont. - ImWchar FallbackChar; // 2 // out // = FFFD/'?' // Character used if a glyph isn't found. - ImWchar EllipsisChar; // 2 // out // = '...'/'.'// Character used for ellipsis rendering. short EllipsisCharCount; // 1 // out // 1 or 3 + ImWchar EllipsisChar; // 2-4 // out // = '...'/'.'// Character used for ellipsis rendering. + ImWchar FallbackChar; // 2-4 // out // = FFFD/'?' // Character used if a glyph isn't found. float EllipsisWidth; // 4 // out // Width float EllipsisCharStep; // 4 // out // Step between characters when EllipsisCount > 0 bool DirtyLookupTables; // 1 // out // @@ -3412,18 +3465,18 @@ struct ImFont // Methods IMGUI_API ImFont(); IMGUI_API ~ImFont(); - IMGUI_API const ImFontGlyph*FindGlyph(ImWchar c) const; - IMGUI_API const ImFontGlyph*FindGlyphNoFallback(ImWchar c) const; - float GetCharAdvance(ImWchar c) const { return ((int)c < IndexAdvanceX.Size) ? IndexAdvanceX[(int)c] : FallbackAdvanceX; } + IMGUI_API const ImFontGlyph*FindGlyph(ImWchar c); + IMGUI_API const ImFontGlyph*FindGlyphNoFallback(ImWchar c); + float GetCharAdvance(ImWchar c) { return ((int)c < IndexAdvanceX.Size) ? IndexAdvanceX[(int)c] : FallbackAdvanceX; } bool IsLoaded() const { return ContainerAtlas != NULL; } const char* GetDebugName() const { return ConfigData ? ConfigData->Name : ""; } // 'max_width' stops rendering after a certain width (could be turned into a 2d size). FLT_MAX to disable. // 'wrap_width' enable automatic word-wrapping across multiple lines to fit into given width. 0.0f to disable. - IMGUI_API ImVec2 CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end = NULL, const char** remaining = NULL) const; // utf8 - IMGUI_API const char* CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width) const; - IMGUI_API void RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c) const; - IMGUI_API void RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width = 0.0f, bool cpu_fine_clip = false) const; + IMGUI_API ImVec2 CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end = NULL, const char** remaining = NULL); // utf8 + IMGUI_API const char* CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width); + IMGUI_API void RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c); + IMGUI_API void RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width = 0.0f, bool cpu_fine_clip = false); // [Internal] Don't use! IMGUI_API void BuildLookupTable(); @@ -3445,7 +3498,7 @@ enum ImGuiViewportFlags_ ImGuiViewportFlags_None = 0, ImGuiViewportFlags_IsPlatformWindow = 1 << 0, // Represent a Platform Window ImGuiViewportFlags_IsPlatformMonitor = 1 << 1, // Represent a Platform Monitor (unused yet) - ImGuiViewportFlags_OwnedByApp = 1 << 2, // Platform Window: is created/managed by the application (rather than a dear imgui backend) + ImGuiViewportFlags_OwnedByApp = 1 << 2, // Platform Window: Is created/managed by the application (rather than a dear imgui backend) }; // - Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows. @@ -3479,7 +3532,45 @@ struct ImGuiViewport // [SECTION] Platform Dependent Interfaces //----------------------------------------------------------------------------- -// (Optional) Support for IME (Input Method Editor) via the io.PlatformSetImeDataFn() function. +// Access via ImGui::GetPlatformIO() +struct ImGuiPlatformIO +{ + IMGUI_API ImGuiPlatformIO(); + + //------------------------------------------------------------------ + // Interface with OS and Platform backend + //------------------------------------------------------------------ + + // Optional: Access OS clipboard + // (default to use native Win32 clipboard on Windows, otherwise uses a private clipboard. Override to access OS clipboard on other architectures) + const char* (*Platform_GetClipboardTextFn)(ImGuiContext* ctx); + void (*Platform_SetClipboardTextFn)(ImGuiContext* ctx, const char* text); + void* Platform_ClipboardUserData; + + // Optional: Open link/folder/file in OS Shell + // (default to use ShellExecuteA() on Windows, system() on Linux/Mac) + bool (*Platform_OpenInShellFn)(ImGuiContext* ctx, const char* path); + void* Platform_OpenInShellUserData; + + // Optional: Notify OS Input Method Editor of the screen position of your cursor for text input position (e.g. when using Japanese/Chinese IME on Windows) + // (default to use native imm32 api on Windows) + void (*Platform_SetImeDataFn)(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data); + void* Platform_ImeUserData; + //void (*SetPlatformImeDataFn)(ImGuiViewport* viewport, ImGuiPlatformImeData* data); // [Renamed to platform_io.PlatformSetImeDataFn in 1.91.1] + + // Optional: Platform locale + // [Experimental] Configure decimal point e.g. '.' or ',' useful for some languages (e.g. German), generally pulled from *localeconv()->decimal_point + ImWchar Platform_LocaleDecimalPoint; // '.' + + //------------------------------------------------------------------ + // Interface with Renderer Backend + //------------------------------------------------------------------ + + // Written by some backends during ImGui_ImplXXXX_RenderDrawData() call to point backend_specific ImGui_ImplXXXX_RenderState* structure. + void* Renderer_RenderState; +}; + +// (Optional) Support for IME (Input Method Editor) via the platform_io.Platform_SetImeDataFn() function. struct ImGuiPlatformImeData { bool WantVisible; // A widget wants the IME to be visible @@ -3509,8 +3600,8 @@ namespace ImGui // OBSOLETED in 1.90.0 (from September 2023) static inline bool BeginChildFrame(ImGuiID id, const ImVec2& size, ImGuiWindowFlags window_flags = 0) { return BeginChild(id, size, ImGuiChildFlags_FrameStyle, window_flags); } static inline void EndChildFrame() { EndChild(); } - //static inline bool BeginChild(const char* str_id, const ImVec2& size_arg, bool border, ImGuiWindowFlags window_flags){ return BeginChild(str_id, size_arg, border ? ImGuiChildFlags_Border : ImGuiChildFlags_None, window_flags); } // Unnecessary as true == ImGuiChildFlags_Border - //static inline bool BeginChild(ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWindowFlags window_flags) { return BeginChild(id, size_arg, border ? ImGuiChildFlags_Border : ImGuiChildFlags_None, window_flags); } // Unnecessary as true == ImGuiChildFlags_Border + //static inline bool BeginChild(const char* str_id, const ImVec2& size_arg, bool borders, ImGuiWindowFlags window_flags){ return BeginChild(str_id, size_arg, borders ? ImGuiChildFlags_Borders : ImGuiChildFlags_None, window_flags); } // Unnecessary as true == ImGuiChildFlags_Borders + //static inline bool BeginChild(ImGuiID id, const ImVec2& size_arg, bool borders, ImGuiWindowFlags window_flags) { return BeginChild(id, size_arg, borders ? ImGuiChildFlags_Borders : ImGuiChildFlags_None, window_flags); } // Unnecessary as true == ImGuiChildFlags_Borders static inline void ShowStackToolWindow(bool* p_open = NULL) { ShowIDStackToolWindow(p_open); } IMGUI_API bool Combo(const char* label, int* current_item, bool (*old_callback)(void* user_data, int idx, const char** out_text), void* user_data, int items_count, int popup_max_height_in_items = -1); IMGUI_API bool ListBox(const char* label, int* current_item, bool (*old_callback)(void* user_data, int idx, const char** out_text), void* user_data, int items_count, int height_in_items = -1); @@ -3519,16 +3610,16 @@ namespace ImGui // OBSOLETED in 1.89.4 (from March 2023) static inline void PushAllowKeyboardFocus(bool tab_stop) { PushItemFlag(ImGuiItemFlags_NoTabStop, !tab_stop); } static inline void PopAllowKeyboardFocus() { PopItemFlag(); } - // OBSOLETED in 1.89 (from August 2022) - IMGUI_API bool ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0, 0, 0, 0), const ImVec4& tint_col = ImVec4(1, 1, 1, 1)); // Use new ImageButton() signature (explicit item id, regular FramePadding) - // OBSOLETED in 1.87 (from February 2022 but more formally obsoleted April 2024) - IMGUI_API ImGuiKey GetKeyIndex(ImGuiKey key); // Map ImGuiKey_* values into legacy native key index. == io.KeyMap[key]. When using a 1.87+ backend using io.AddKeyEvent(), calling GetKeyIndex() with ANY ImGuiKey_XXXX values will return the same value! - //static inline ImGuiKey GetKeyIndex(ImGuiKey key) { IM_ASSERT(key >= ImGuiKey_NamedKey_BEGIN && key < ImGuiKey_NamedKey_END); return key; } // Some of the older obsolete names along with their replacement (commented out so they are not reported in IDE) + //-- OBSOLETED in 1.89 (from August 2022) + //IMGUI_API bool ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1, 1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0, 0, 0, 0), const ImVec4& tint_col = ImVec4(1, 1, 1, 1)); // --> Use new ImageButton() signature (explicit item id, regular FramePadding). Refer to code in 1.91 if you want to grab a copy of this version. //-- OBSOLETED in 1.88 (from May 2022) - //static inline void CaptureKeyboardFromApp(bool want_capture_keyboard = true) { SetNextFrameWantCaptureKeyboard(want_capture_keyboard); } // Renamed as name was misleading + removed default value. - //static inline void CaptureMouseFromApp(bool want_capture_mouse = true) { SetNextFrameWantCaptureMouse(want_capture_mouse); } // Renamed as name was misleading + removed default value. + //static inline void CaptureKeyboardFromApp(bool want_capture_keyboard = true) { SetNextFrameWantCaptureKeyboard(want_capture_keyboard); } // Renamed as name was misleading + removed default value. + //static inline void CaptureMouseFromApp(bool want_capture_mouse = true) { SetNextFrameWantCaptureMouse(want_capture_mouse); } // Renamed as name was misleading + removed default value. + //-- OBSOLETED in 1.87 (from February 2022, more formally obsoleted April 2024) + //IMGUI_API ImGuiKey GetKeyIndex(ImGuiKey key); { IM_ASSERT(key >= ImGuiKey_NamedKey_BEGIN && key < ImGuiKey_NamedKey_END); const ImGuiKeyData* key_data = GetKeyData(key); return (ImGuiKey)(key_data - g.IO.KeysData); } // Map ImGuiKey_* values into legacy native key index. == io.KeyMap[key]. When using a 1.87+ backend using io.AddKeyEvent(), calling GetKeyIndex() with ANY ImGuiKey_XXXX values will return the same value! + //static inline ImGuiKey GetKeyIndex(ImGuiKey key) { IM_ASSERT(key >= ImGuiKey_NamedKey_BEGIN && key < ImGuiKey_NamedKey_END); return key; } //-- OBSOLETED in 1.86 (from November 2021) //IMGUI_API void CalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end); // Code removed, see 1.90 for last version of the code. Calculate range of visible items for large list of evenly sized items. Prefer using ImGuiListClipper. //-- OBSOLETED in 1.85 (from August 2021) @@ -3611,10 +3702,7 @@ namespace ImGui #endif // #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS // RENAMED IMGUI_DISABLE_METRICS_WINDOW > IMGUI_DISABLE_DEBUG_TOOLS in 1.88 (from June 2022) -#if defined(IMGUI_DISABLE_METRICS_WINDOW) && !defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS) && !defined(IMGUI_DISABLE_DEBUG_TOOLS) -#define IMGUI_DISABLE_DEBUG_TOOLS -#endif -#if defined(IMGUI_DISABLE_METRICS_WINDOW) && defined(IMGUI_DISABLE_OBSOLETE_FUNCTIONS) +#ifdef IMGUI_DISABLE_METRICS_WINDOW #error IMGUI_DISABLE_METRICS_WINDOW was renamed to IMGUI_DISABLE_DEBUG_TOOLS, please use new name. #endif diff --git a/3rdparty/imgui/include/imgui_freetype.h b/3rdparty/imgui/include/imgui_freetype.h index b4e1d4893303e..6572b1547bf84 100644 --- a/3rdparty/imgui/include/imgui_freetype.h +++ b/3rdparty/imgui/include/imgui_freetype.h @@ -5,6 +5,13 @@ #include "imgui.h" // IMGUI_API #ifndef IMGUI_DISABLE +// Usage: +// - Add '#define IMGUI_ENABLE_FREETYPE' in your imconfig to enable support for imgui_freetype in imgui. + +// Optional support for OpenType SVG fonts: +// - Add '#define IMGUI_ENABLE_FREETYPE_PLUTOSVG' to use plutosvg (not provided). See #7927. +// - Add '#define IMGUI_ENABLE_FREETYPE_LUNASVG' to use lunasvg (not provided). See #6591. + // Forward declarations struct ImFontAtlas; struct ImFontBuilderIO; diff --git a/3rdparty/imgui/include/imgui_internal.h b/3rdparty/imgui/include/imgui_internal.h index ab43922ba2a87..f3f915d7ead26 100644 --- a/3rdparty/imgui/include/imgui_internal.h +++ b/3rdparty/imgui/include/imgui_internal.h @@ -1,4 +1,4 @@ -// dear imgui, v1.91.0 +// dear imgui, v1.91.7 // (internal structures/api) // You may use this file to debug, understand or extend Dear ImGui features but we don't provide any guarantee of forward compatibility. @@ -28,6 +28,7 @@ Index of this file: // [SECTION] Viewport support // [SECTION] Settings support // [SECTION] Localization support +// [SECTION] Error handling, State recovery support // [SECTION] Metrics, Debug tools // [SECTION] Generic context hooks // [SECTION] ImGuiContext (main imgui context) @@ -60,6 +61,14 @@ Index of this file: #if (defined __SSE__ || defined __x86_64__ || defined _M_X64 || (defined(_M_IX86_FP) && (_M_IX86_FP >= 1))) && !defined(IMGUI_DISABLE_SSE) #define IMGUI_ENABLE_SSE #include +#if (defined __AVX__ || defined __SSE4_2__) +#define IMGUI_ENABLE_SSE4_2 +#include +#endif +#endif +// Emscripten has partial SSE 4.2 support where _mm_crc32_u32 is not available. See https://emscripten.org/docs/porting/simd.html#id11 and #8213 +#if defined(IMGUI_ENABLE_SSE4_2) && !defined(IMGUI_USE_LEGACY_CRC32_ADLER) && !defined(__EMSCRIPTEN__) +#define IMGUI_ENABLE_SSE4_2_CRC #endif // Visual Studio warnings @@ -81,19 +90,20 @@ Index of this file: #endif #pragma clang diagnostic ignored "-Wunknown-pragmas" // warning: unknown warning group 'xxx' #pragma clang diagnostic ignored "-Wfloat-equal" // warning: comparing floating point with == or != is unsafe // storing and comparing against same constants ok, for ImFloor() -#pragma clang diagnostic ignored "-Wunused-function" // for stb_textedit.h -#pragma clang diagnostic ignored "-Wmissing-prototypes" // for stb_textedit.h -#pragma clang diagnostic ignored "-Wold-style-cast" -#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" -#pragma clang diagnostic ignored "-Wdouble-promotion" +#pragma clang diagnostic ignored "-Wold-style-cast" // warning: use of old-style cast +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" // warning: zero as null pointer constant +#pragma clang diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" // warning: implicit conversion from 'xxx' to 'float' may lose precision #pragma clang diagnostic ignored "-Wmissing-noreturn" // warning: function 'xxx' could be declared with attribute 'noreturn' #pragma clang diagnostic ignored "-Wdeprecated-enum-enum-conversion"// warning: bitwise operation between different enumeration types ('XXXFlags_' and 'XXXFlagsPrivate_') is deprecated #pragma clang diagnostic ignored "-Wunsafe-buffer-usage" // warning: 'xxx' is an unsafe pointer used for buffer access +#pragma clang diagnostic ignored "-Wnontrivial-memaccess" // warning: first argument in call to 'memset' is a pointer to non-trivially copyable type #elif defined(__GNUC__) #pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind -#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind +#pragma GCC diagnostic ignored "-Wfloat-equal" // warning: comparing floating-point with '==' or '!=' is unsafe +#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wdeprecated-enum-enum-conversion" // warning: bitwise operation between different enumeration types ('XXXFlags_' and 'XXXFlagsPrivate_') is deprecated #endif // In 1.89.4, we moved the implementation of "courtesy maths operators" from imgui_internal.h in imgui.h @@ -130,6 +140,8 @@ struct ImGuiContext; // Main Dear ImGui context struct ImGuiContextHook; // Hook for extensions like ImGuiTestEngine struct ImGuiDataVarInfo; // Variable information (e.g. to access style variables from an enum) struct ImGuiDataTypeInfo; // Type information associated to a ImGuiDataType enum +struct ImGuiDeactivatedItemData; // Data for IsItemDeactivated()/IsItemDeactivatedAfterEdit() function. +struct ImGuiErrorRecoveryState; // Storage of stack sizes for error handling and recovery struct ImGuiGroupData; // Stacked storage data for BeginGroup()/EndGroup() struct ImGuiInputTextState; // Internal state of the currently focused/edited text input box struct ImGuiInputTextDeactivateData;// Short term storage to backup text of a deactivating InputText() while another is stealing active id @@ -138,7 +150,7 @@ struct ImGuiLocEntry; // A localization entry. struct ImGuiMenuColumns; // Simple column measurement, currently used for MenuItem() only struct ImGuiMultiSelectState; // Multi-selection persistent state (for focused selection). struct ImGuiMultiSelectTempData; // Multi-selection temporary state (while traversing). -struct ImGuiNavItemData; // Result of a gamepad/keyboard directional navigation move query result +struct ImGuiNavItemData; // Result of a keyboard/gamepad directional navigation move query result struct ImGuiMetricsConfig; // Storage for ShowMetricsWindow() and DebugNodeXXX() functions struct ImGuiNextWindowData; // Storage for SetNextWindow** functions struct ImGuiNextItemData; // Storage for SetNextItem** functions @@ -146,7 +158,6 @@ struct ImGuiOldColumnData; // Storage data for a single column for lega struct ImGuiOldColumns; // Storage data for a columns set for legacy Columns() api struct ImGuiPopupData; // Storage for current popup stack struct ImGuiSettingsHandler; // Storage for one type registered in the .ini file -struct ImGuiStackSizes; // Storage of stack sizes for debugging/asserting struct ImGuiStyleMod; // Stacked style modifier, backup of modified data so we can restore it struct ImGuiTabBar; // Storage for a tab bar struct ImGuiTabItem; // Storage for a tab item (within a tab bar) @@ -172,10 +183,11 @@ typedef int ImGuiLayoutType; // -> enum ImGuiLayoutType_ // E // Flags typedef int ImGuiActivateFlags; // -> enum ImGuiActivateFlags_ // Flags: for navigation/focus function (will be for ActivateItem() later) typedef int ImGuiDebugLogFlags; // -> enum ImGuiDebugLogFlags_ // Flags: for ShowDebugLogWindow(), g.DebugLogFlags -typedef int ImGuiFocusRequestFlags; // -> enum ImGuiFocusRequestFlags_ // Flags: for FocusWindow(); +typedef int ImGuiFocusRequestFlags; // -> enum ImGuiFocusRequestFlags_ // Flags: for FocusWindow() typedef int ImGuiItemStatusFlags; // -> enum ImGuiItemStatusFlags_ // Flags: for g.LastItemData.StatusFlags typedef int ImGuiOldColumnFlags; // -> enum ImGuiOldColumnFlags_ // Flags: for BeginColumns() -typedef int ImGuiNavHighlightFlags; // -> enum ImGuiNavHighlightFlags_ // Flags: for RenderNavHighlight() +typedef int ImGuiLogFlags; // -> enum ImGuiLogFlags_ // Flags: for LogBegin() text capturing function +typedef int ImGuiNavRenderCursorFlags; // -> enum ImGuiNavRenderCursorFlags_//Flags: for RenderNavCursor() typedef int ImGuiNavMoveFlags; // -> enum ImGuiNavMoveFlags_ // Flags: for navigation requests typedef int ImGuiNextItemDataFlags; // -> enum ImGuiNextItemDataFlags_ // Flags: for SetNextItemXXX() functions typedef int ImGuiNextWindowDataFlags; // -> enum ImGuiNextWindowDataFlags_// Flags: for SetNextWindowXXX() functions @@ -186,8 +198,6 @@ typedef int ImGuiTooltipFlags; // -> enum ImGuiTooltipFlags_ // F typedef int ImGuiTypingSelectFlags; // -> enum ImGuiTypingSelectFlags_ // Flags: for GetTypingSelectRequest() typedef int ImGuiWindowRefreshFlags; // -> enum ImGuiWindowRefreshFlags_ // Flags: for SetNextWindowRefreshPolicy() -typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...); - //----------------------------------------------------------------------------- // [SECTION] Context pointer // See implementation of this variable in imgui.cpp for comments and details. @@ -197,24 +207,6 @@ typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...); extern IMGUI_API ImGuiContext* GImGui; // Current implicit context pointer #endif -//------------------------------------------------------------------------- -// [SECTION] STB libraries includes -//------------------------------------------------------------------------- - -namespace ImStb -{ - -#undef IMSTB_TEXTEDIT_STRING -#undef IMSTB_TEXTEDIT_CHARTYPE -#define IMSTB_TEXTEDIT_STRING ImGuiInputTextState -#define IMSTB_TEXTEDIT_CHARTYPE ImWchar -#define IMSTB_TEXTEDIT_GETWIDTH_NEWLINE (-1.0f) -#define IMSTB_TEXTEDIT_UNDOSTATECOUNT 99 -#define IMSTB_TEXTEDIT_UNDOCHARCOUNT 999 -#include "imstb_textedit.h" - -} // namespace ImStb - //----------------------------------------------------------------------------- // [SECTION] Macros //----------------------------------------------------------------------------- @@ -230,11 +222,7 @@ namespace ImStb #endif // Debug Logging for ShowDebugLogWindow(). This is designed for relatively rare events so please don't spam. -#ifndef IMGUI_DISABLE_DEBUG_TOOLS -#define IMGUI_DEBUG_LOG(...) ImGui::DebugLog(__VA_ARGS__) -#else -#define IMGUI_DEBUG_LOG(...) ((void)0) -#endif +#define IMGUI_DEBUG_LOG_ERROR(...) do { ImGuiContext& g2 = *GImGui; if (g2.DebugLogFlags & ImGuiDebugLogFlags_EventError) IMGUI_DEBUG_LOG(__VA_ARGS__); else g2.DebugLogSkippedErrors++; } while (0) #define IMGUI_DEBUG_LOG_ACTIVEID(...) do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventActiveId) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) #define IMGUI_DEBUG_LOG_FOCUS(...) do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventFocus) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) #define IMGUI_DEBUG_LOG_POPUP(...) do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventPopup) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) @@ -242,6 +230,7 @@ namespace ImStb #define IMGUI_DEBUG_LOG_SELECTION(...) do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventSelection) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) #define IMGUI_DEBUG_LOG_CLIPPER(...) do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventClipper) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) #define IMGUI_DEBUG_LOG_IO(...) do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventIO) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) +#define IMGUI_DEBUG_LOG_FONT(...) do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventFont) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) #define IMGUI_DEBUG_LOG_INPUTROUTING(...) do{if (g.DebugLogFlags & ImGuiDebugLogFlags_EventInputRouting)IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0) // Static Asserts @@ -256,12 +245,6 @@ namespace ImStb #define IM_ASSERT_PARANOID(_EXPR) #endif -// Error handling -// Down the line in some frameworks/languages we would like to have a way to redirect those to the programmer and recover from more faults. -#ifndef IM_ASSERT_USER_ERROR -#define IM_ASSERT_USER_ERROR(_EXP,_MSG) IM_ASSERT((_EXP) && _MSG) // Recoverable User Error -#endif - // Misc Macros #define IM_PI 3.14159265358979323846f #ifdef _WIN32 @@ -283,6 +266,15 @@ namespace ImStb #define IM_FLOOR IM_TRUNC #endif +// Hint for branch prediction +#if (defined(__cplusplus) && (__cplusplus >= 202002L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 202002L)) +#define IM_LIKELY [[likely]] +#define IM_UNLIKELY [[unlikely]] +#else +#define IM_LIKELY +#define IM_UNLIKELY +#endif + // Enforce cdecl calling convention for functions called by the standard library, in case compilation settings changed the default to e.g. __vectorcall #ifdef _MSC_VER #define IMGUI_CDECL __cdecl @@ -383,7 +375,7 @@ IMGUI_API const char* ImStristr(const char* haystack, const char* haystack_end IMGUI_API void ImStrTrimBlanks(char* str); // Remove leading and trailing blanks from a buffer. IMGUI_API const char* ImStrSkipBlank(const char* str); // Find first non-blank character. IMGUI_API int ImStrlenW(const ImWchar* str); // Computer string length (ImWchar string) -IMGUI_API const ImWchar*ImStrbolW(const ImWchar* buf_mid_line, const ImWchar* buf_begin); // Find beginning-of-line (ImWchar string) +IMGUI_API const char* ImStrbol(const char* buf_mid_line, const char* buf_begin); // Find beginning-of-line IM_MSVC_RUNTIME_CHECKS_OFF static inline char ImToUpper(char c) { return (c >= 'a' && c <= 'z') ? c &= ~32 : c; } static inline bool ImCharIsBlankA(char c) { return c == ' ' || c == '\t'; } @@ -470,7 +462,7 @@ static inline double ImRsqrt(double x) { return 1.0 / sqrt(x); } template static inline T ImMin(T lhs, T rhs) { return lhs < rhs ? lhs : rhs; } template static inline T ImMax(T lhs, T rhs) { return lhs >= rhs ? lhs : rhs; } template static inline T ImClamp(T v, T mn, T mx) { return (v < mn) ? mn : (v > mx) ? mx : v; } -template static inline T ImLerp(T a, T b, float t) { return (T)(a + (b - a) * t); } +template static inline T ImLerp(T a, T b, float t) { return (T)(a + (b - a) * (T)t); } template static inline void ImSwap(T& a, T& b) { T tmp = a; a = b; b = tmp; } template static inline T ImAddClampOverflow(T a, T b, T mn, T mx) { if (b < 0 && (a < mn - b)) return mn; if (b > 0 && (a > mx - b)) return mx; return a + b; } template static inline T ImSubClampOverflow(T a, T b, T mn, T mx) { if (b > 0 && (a < mn + b)) return mn; if (b < 0 && (a > mx + b)) return mx; return a - b; } @@ -774,10 +766,13 @@ IMGUI_API ImGuiStoragePair* ImLowerBound(ImGuiStoragePair* in_begin, ImGuiStorag #define IM_DRAWLIST_ARCFAST_SAMPLE_MAX IM_DRAWLIST_ARCFAST_TABLE_SIZE // Sample index _PathArcToFastEx() for 360 angle. // Data shared between all ImDrawList instances -// You may want to create your own instance of this if you want to use ImDrawList completely without ImGui. In that case, watch out for future changes to this structure. +// Conceptually this could have been called e.g. ImDrawListSharedContext +// Typically one ImGui context would create and maintain one of this. +// You may want to create your own instance of you try to ImDrawList completely without ImGui. In that case, watch out for future changes to this structure. struct IMGUI_API ImDrawListSharedData { ImVec2 TexUvWhitePixel; // UV of white pixel in the atlas + const ImVec4* TexUvLines; // UV of anti-aliased lines in the atlas ImFont* Font; // Current/default font (optional, for simplified AddText overload) float FontSize; // Current/default font size (optional, for simplified AddText overload) float FontScale; // Current/default font scale (== FontSize / Font->FontSize) @@ -785,15 +780,12 @@ struct IMGUI_API ImDrawListSharedData float CircleSegmentMaxError; // Number of circle segments to use per pixel of radius for AddCircle() etc ImVec4 ClipRectFullscreen; // Value for PushClipRectFullscreen() ImDrawListFlags InitialFlags; // Initial flags at the beginning of the frame (it is possible to alter flags on a per-drawlist basis afterwards) + ImVector TempBuffer; // Temporary write buffer - // [Internal] Temp write buffer - ImVector TempBuffer; - - // [Internal] Lookup tables + // Lookup tables ImVec2 ArcFastVtx[IM_DRAWLIST_ARCFAST_TABLE_SIZE]; // Sample points on the quarter of the circle. float ArcFastRadiusCutoff; // Cutoff radius after which arc drawing will fallback to slower PathArcTo() ImU8 CircleSegmentCounts[64]; // Precomputed segment count for given radius before we calculate it dynamically (to avoid calculation overhead) - const ImVec4* TexUvLines; // UV of anti-aliased lines in the atlas ImDrawListSharedData(); void SetCircleTessellationMaxError(float max_error); @@ -836,8 +828,7 @@ struct ImGuiDataTypeInfo // Extend ImGuiDataType_ enum ImGuiDataTypePrivate_ { - ImGuiDataType_String = ImGuiDataType_COUNT + 1, - ImGuiDataType_Pointer, + ImGuiDataType_Pointer = ImGuiDataType_COUNT + 1, ImGuiDataType_ID, }; @@ -846,16 +837,18 @@ enum ImGuiDataTypePrivate_ //----------------------------------------------------------------------------- // Extend ImGuiItemFlags -// - input: PushItemFlag() manipulates g.CurrentItemFlags, ItemAdd() calls may add extra flags. -// - output: stored in g.LastItemData.InFlags +// - input: PushItemFlag() manipulates g.CurrentItemFlags, g.NextItemData.ItemFlags, ItemAdd() calls may add extra flags too. +// - output: stored in g.LastItemData.ItemFlags enum ImGuiItemFlagsPrivate_ { // Controlled by user - ImGuiItemFlags_Disabled = 1 << 10, // false // Disable interactions (DOES NOT affect visuals, see BeginDisabled()/EndDisabled() for full disable feature, and github #211). + ImGuiItemFlags_Disabled = 1 << 10, // false // Disable interactions (DOES NOT affect visuals. DO NOT mix direct use of this with BeginDisabled(). See BeginDisabled()/EndDisabled() for full disable feature, and github #211). ImGuiItemFlags_ReadOnly = 1 << 11, // false // [ALPHA] Allow hovering interactions but underlying value is not changed. ImGuiItemFlags_MixedValue = 1 << 12, // false // [BETA] Represent a mixed/indeterminate value, generally multi-selection where values differ. Currently only supported by Checkbox() (later should support all sorts of widgets) ImGuiItemFlags_NoWindowHoverableCheck = 1 << 13, // false // Disable hoverable check in ItemHoverable() ImGuiItemFlags_AllowOverlap = 1 << 14, // false // Allow being overlapped by another widget. Not-hovered to Hovered transition deferred by a frame. + ImGuiItemFlags_NoNavDisableMouseHover = 1 << 15, // false // Nav keyboard/gamepad mode doesn't disable hover highlight (behave as if NavHighlightItemUnderNav==false). + ImGuiItemFlags_NoMarkEdited = 1 << 16, // false // Skip calling MarkItemEdited() // Controlled by widget code ImGuiItemFlags_Inputable = 1 << 20, // false // [WIP] Auto-activate input mode when tab focused. Currently only used and supported by a few items before it becomes a generic feature. @@ -908,9 +901,8 @@ enum ImGuiInputTextFlagsPrivate_ { // [Internal] ImGuiInputTextFlags_Multiline = 1 << 26, // For internal use by InputTextMultiline() - ImGuiInputTextFlags_NoMarkEdited = 1 << 27, // For internal use by functions using InputText() before reformatting data - ImGuiInputTextFlags_MergedItem = 1 << 28, // For internal use by TempInputText(), will skip calling ItemAdd(). Require bounding-box to strictly match. - ImGuiInputTextFlags_LocalizeDecimalPoint= 1 << 29, // For internal use by InputScalar() and TempInputScalar() + ImGuiInputTextFlags_MergedItem = 1 << 27, // For internal use by TempInputText(), will skip calling ItemAdd(). Require bounding-box to strictly match. + ImGuiInputTextFlags_LocalizeDecimalPoint= 1 << 28, // For internal use by InputScalar() and TempInputScalar() }; // Extend ImGuiButtonFlags_ @@ -922,15 +914,15 @@ enum ImGuiButtonFlagsPrivate_ ImGuiButtonFlags_PressedOnRelease = 1 << 7, // return true on release (default requires click+release) ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8, // return true on double-click (default requires click+release) ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9, // return true when held into while we are drag and dropping another item (used by e.g. tree nodes, collapsing headers) - ImGuiButtonFlags_Repeat = 1 << 10, // hold to repeat + //ImGuiButtonFlags_Repeat = 1 << 10, // hold to repeat -> use ImGuiItemFlags_ButtonRepeat instead. ImGuiButtonFlags_FlattenChildren = 1 << 11, // allow interactions even if a child window is overlapping ImGuiButtonFlags_AllowOverlap = 1 << 12, // require previous frame HoveredId to either match id or be null before being usable. - ImGuiButtonFlags_DontClosePopups = 1 << 13, // disable automatically closing parent popup on press // [UNUSED] + //ImGuiButtonFlags_DontClosePopups = 1 << 13, // disable automatically closing parent popup on press //ImGuiButtonFlags_Disabled = 1 << 14, // disable interactions -> use BeginDisabled() or ImGuiItemFlags_Disabled ImGuiButtonFlags_AlignTextBaseLine = 1 << 15, // vertically align button to match text baseline - ButtonEx() only // FIXME: Should be removed and handled by SmallButton(), not possible currently because of DC.CursorPosPrevLine - ImGuiButtonFlags_NoKeyModifiers = 1 << 16, // disable mouse interaction if a key modifier is held + ImGuiButtonFlags_NoKeyModsAllowed = 1 << 16, // disable mouse interaction if a key modifier is held ImGuiButtonFlags_NoHoldingActiveId = 1 << 17, // don't set ActiveId while holding the mouse (ImGuiButtonFlags_PressedOnClick only) - ImGuiButtonFlags_NoNavFocus = 1 << 18, // don't override navigation focus when activated (FIXME: this is essentially used every time an item uses ImGuiItemFlags_NoNav, but because legacy specs don't requires LastItemData to be set ButtonBehavior(), we can't poll g.LastItemData.InFlags) + ImGuiButtonFlags_NoNavFocus = 1 << 18, // don't override navigation focus when activated (FIXME: this is essentially used every time an item uses ImGuiItemFlags_NoNav, but because legacy specs don't requires LastItemData to be set ButtonBehavior(), we can't poll g.LastItemData.ItemFlags) ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19, // don't report as hovered when nav focus is on this item ImGuiButtonFlags_NoSetKeyOwner = 1 << 20, // don't set key/input owner on the initial click (note: mouse buttons are keys! often, the key in question will be ImGuiKey_MouseLeft!) ImGuiButtonFlags_NoTestKeyOwner = 1 << 21, // don't test key/input owner when polling the key (note: mouse buttons are keys! often, the key in question will be ImGuiKey_MouseLeft!) @@ -969,7 +961,8 @@ enum ImGuiSelectableFlagsPrivate_ enum ImGuiTreeNodeFlagsPrivate_ { ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 28,// FIXME-WIP: Hard-coded for CollapsingHeader() - ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 29,// FIXME-WIP: Turn Down arrow into an Up arrow, but reversed trees (#6517) + ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 29,// FIXME-WIP: Turn Down arrow into an Up arrow, for reversed trees (#6517) + ImGuiTreeNodeFlags_OpenOnMask_ = ImGuiTreeNodeFlags_OpenOnDoubleClick | ImGuiTreeNodeFlags_OpenOnArrow, }; enum ImGuiSeparatorFlags_ @@ -1010,13 +1003,16 @@ enum ImGuiLayoutType_ ImGuiLayoutType_Vertical = 1 }; -enum ImGuiLogType +// Flags for LogBegin() text capturing function +enum ImGuiLogFlags_ { - ImGuiLogType_None = 0, - ImGuiLogType_TTY, - ImGuiLogType_File, - ImGuiLogType_Buffer, - ImGuiLogType_Clipboard, + ImGuiLogFlags_None = 0, + + ImGuiLogFlags_OutputTTY = 1 << 0, + ImGuiLogFlags_OutputFile = 1 << 1, + ImGuiLogFlags_OutputBuffer = 1 << 2, + ImGuiLogFlags_OutputClipboard = 1 << 3, + ImGuiLogFlags_OutputMask_ = ImGuiLogFlags_OutputTTY | ImGuiLogFlags_OutputFile | ImGuiLogFlags_OutputBuffer | ImGuiLogFlags_OutputClipboard, }; // X/Y enums are fixed to 0/1 so they may be used to index ImVec2 @@ -1075,7 +1071,7 @@ struct IMGUI_API ImGuiGroupData ImVec2 BackupCurrLineSize; float BackupCurrLineTextBaseOffset; ImGuiID BackupActiveIdIsAlive; - bool BackupActiveIdPreviousFrameIsAlive; + bool BackupDeactivatedIdIsAlive; bool BackupHoveredIdIsAlive; bool BackupIsSameLine; bool EmitItem; @@ -1108,55 +1104,66 @@ struct IMGUI_API ImGuiInputTextDeactivatedState ImGuiInputTextDeactivatedState() { memset(this, 0, sizeof(*this)); } void ClearFreeMemory() { ID = 0; TextA.clear(); } }; + +// Forward declare imstb_textedit.h structure + make its main configuration define accessible +#undef IMSTB_TEXTEDIT_STRING +#undef IMSTB_TEXTEDIT_CHARTYPE +#define IMSTB_TEXTEDIT_STRING ImGuiInputTextState +#define IMSTB_TEXTEDIT_CHARTYPE char +#define IMSTB_TEXTEDIT_GETWIDTH_NEWLINE (-1.0f) +#define IMSTB_TEXTEDIT_UNDOSTATECOUNT 99 +#define IMSTB_TEXTEDIT_UNDOCHARCOUNT 999 +namespace ImStb { struct STB_TexteditState; } +typedef ImStb::STB_TexteditState ImStbTexteditState; + // Internal state of the currently focused/edited text input box // For a given item ID, access with ImGui::GetInputTextState() struct IMGUI_API ImGuiInputTextState { ImGuiContext* Ctx; // parent UI context (needs to be set explicitly by parent). + ImStbTexteditState* Stb; // State for stb_textedit.h + ImGuiInputTextFlags Flags; // copy of InputText() flags. may be used to check if e.g. ImGuiInputTextFlags_Password is set. ImGuiID ID; // widget id owning the text state - int CurLenW, CurLenA; // we need to maintain our buffer length in both UTF-8 and wchar format. UTF-8 length is valid even if TextA is not. - ImVector TextW; // edit buffer, we need to persist but can't guarantee the persistence of the user-provided buffer. so we copy into own buffer. - ImVector TextA; // temporary UTF8 buffer for callbacks and other operations. this is not updated in every code-path! size=capacity. - ImVector InitialTextA; // value to revert to when pressing Escape = backup of end-user buffer at the time of focus (in UTF-8, unaltered) - bool TextAIsValid; // temporary UTF8 buffer is not initially valid before we make the widget active (until then we pull the data from user argument) - int BufCapacityA; // end-user buffer capacity - float ScrollX; // horizontal scrolling/offset - ImStb::STB_TexteditState Stb; // state for stb_textedit.h + int TextLen; // UTF-8 length of the string in TextA (in bytes) + const char* TextSrc; // == TextA.Data unless read-only, in which case == buf passed to InputText(). Field only set and valid _inside_ the call InputText() call. + ImVector TextA; // main UTF8 buffer. TextA.Size is a buffer size! Should always be >= buf_size passed by user (and of course >= CurLenA + 1). + ImVector TextToRevertTo; // value to revert to when pressing Escape = backup of end-user buffer at the time of focus (in UTF-8, unaltered) + ImVector CallbackTextBackup; // temporary storage for callback to support automatic reconcile of undo-stack + int BufCapacity; // end-user buffer capacity (include zero terminator) + ImVec2 Scroll; // horizontal offset (managed manually) + vertical scrolling (pulled from child window's own Scroll.y) float CursorAnim; // timer for cursor blink, reset on every user action so the cursor reappears immediately bool CursorFollow; // set when we want scrolling to follow the current cursor position (not always!) bool SelectedAllMouseLock; // after a double-click to select all, we ignore further mouse drags to update selection bool Edited; // edited this frame - ImGuiInputTextFlags Flags; // copy of InputText() flags. may be used to check if e.g. ImGuiInputTextFlags_Password is set. - bool ReloadUserBuf; // force a reload of user buf so it may be modified externally. may be automatic in future version. - int ReloadSelectionStart; // POSITIONS ARE IN IMWCHAR units *NOT* UTF-8 this is why this is not exposed yet. + bool WantReloadUserBuf; // force a reload of user buf so it may be modified externally. may be automatic in future version. + int ReloadSelectionStart; int ReloadSelectionEnd; - ImGuiInputTextState() { memset(this, 0, sizeof(*this)); } - void ClearText() { CurLenW = CurLenA = 0; TextW[0] = 0; TextA[0] = 0; CursorClamp(); } - void ClearFreeMemory() { TextW.clear(); TextA.clear(); InitialTextA.clear(); } - int GetUndoAvailCount() const { return Stb.undostate.undo_point; } - int GetRedoAvailCount() const { return IMSTB_TEXTEDIT_UNDOSTATECOUNT - Stb.undostate.redo_point; } + ImGuiInputTextState(); + ~ImGuiInputTextState(); + void ClearText() { TextLen = 0; TextA[0] = 0; CursorClamp(); } + void ClearFreeMemory() { TextA.clear(); TextToRevertTo.clear(); } void OnKeyPressed(int key); // Cannot be inline because we call in code in stb_textedit.h implementation + void OnCharPressed(unsigned int c); // Cursor & Selection - void CursorAnimReset() { CursorAnim = -0.30f; } // After a user-input the cursor stays on for a while without blinking - void CursorClamp() { Stb.cursor = ImMin(Stb.cursor, CurLenW); Stb.select_start = ImMin(Stb.select_start, CurLenW); Stb.select_end = ImMin(Stb.select_end, CurLenW); } - bool HasSelection() const { return Stb.select_start != Stb.select_end; } - void ClearSelection() { Stb.select_start = Stb.select_end = Stb.cursor; } - int GetCursorPos() const { return Stb.cursor; } - int GetSelectionStart() const { return Stb.select_start; } - int GetSelectionEnd() const { return Stb.select_end; } - void SelectAll() { Stb.select_start = 0; Stb.cursor = Stb.select_end = CurLenW; Stb.has_preferred_x = 0; } + void CursorAnimReset(); + void CursorClamp(); + bool HasSelection() const; + void ClearSelection(); + int GetCursorPos() const; + int GetSelectionStart() const; + int GetSelectionEnd() const; + void SelectAll(); // Reload user buf (WIP #2890) // If you modify underlying user-passed const char* while active you need to call this (InputText V2 may lift this) // strcpy(my_buf, "hello"); // if (ImGuiInputTextState* state = ImGui::GetInputTextState(id)) // id may be ImGui::GetItemID() is last item // state->ReloadUserBufAndSelectAll(); - void ReloadUserBufAndSelectAll() { ReloadUserBuf = true; ReloadSelectionStart = 0; ReloadSelectionEnd = INT_MAX; } - void ReloadUserBufAndKeepSelection() { ReloadUserBuf = true; ReloadSelectionStart = Stb.select_start; ReloadSelectionEnd = Stb.select_end; } - void ReloadUserBufAndMoveToEnd() { ReloadUserBuf = true; ReloadSelectionStart = ReloadSelectionEnd = INT_MAX; } - + void ReloadUserBufAndSelectAll(); + void ReloadUserBufAndKeepSelection(); + void ReloadUserBufAndMoveToEnd(); }; enum ImGuiWindowRefreshFlags_ @@ -1220,7 +1227,7 @@ enum ImGuiNextItemDataFlags_ struct ImGuiNextItemData { - ImGuiNextItemDataFlags Flags; + ImGuiNextItemDataFlags HasFlags; // Called HasFlags instead of Flags to avoid mistaking this ImGuiItemFlags ItemFlags; // Currently only tested/used for ImGuiItemFlags_AllowOverlap and ImGuiItemFlags_HasSelectionUserData. // Non-flags members are NOT cleared by ItemAdd() meaning they are still valid during NavProcessItem() ImGuiID FocusScopeId; // Set by SetNextItemSelectionUserData() @@ -1234,18 +1241,18 @@ struct ImGuiNextItemData ImGuiID StorageId; // Set by SetNextItemStorageID() ImGuiNextItemData() { memset(this, 0, sizeof(*this)); SelectionUserData = -1; } - inline void ClearFlags() { Flags = ImGuiNextItemDataFlags_None; ItemFlags = ImGuiItemFlags_None; } // Also cleared manually by ItemAdd()! + inline void ClearFlags() { HasFlags = ImGuiNextItemDataFlags_None; ItemFlags = ImGuiItemFlags_None; } // Also cleared manually by ItemAdd()! }; // Status storage for the last submitted item struct ImGuiLastItemData { ImGuiID ID; - ImGuiItemFlags InFlags; // See ImGuiItemFlags_ + ImGuiItemFlags ItemFlags; // See ImGuiItemFlags_ (called 'InFlags' before v1.91.4). ImGuiItemStatusFlags StatusFlags; // See ImGuiItemStatusFlags_ ImRect Rect; // Full rectangle ImRect NavRect; // Navigation scoring rectangle (not displayed) - // Rarely used fields are not explicitly cleared, only valid when the corresponding ImGuiItemStatusFlags ar set. + // Rarely used fields are not explicitly cleared, only valid when the corresponding ImGuiItemStatusFlags are set. ImRect DisplayRect; // Display rectangle. ONLY VALID IF (StatusFlags & ImGuiItemStatusFlags_HasDisplayRect) is set. ImRect ClipRect; // Clip rectangle at the time of submitting item. ONLY VALID IF (StatusFlags & ImGuiItemStatusFlags_HasClipRect) is set.. ImGuiKeyChord Shortcut; // Shortcut at the time of submitting item. ONLY VALID IF (StatusFlags & ImGuiItemStatusFlags_HasShortcut) is set.. @@ -1261,13 +1268,16 @@ struct ImGuiTreeNodeStackData { ImGuiID ID; ImGuiTreeNodeFlags TreeFlags; - ImGuiItemFlags InFlags; // Used for nav landing + ImGuiItemFlags ItemFlags; // Used for nav landing ImRect NavRect; // Used for nav landing }; -struct IMGUI_API ImGuiStackSizes +// sizeof() = 20 +struct IMGUI_API ImGuiErrorRecoveryState { + short SizeOfWindowStack; short SizeOfIDStack; + short SizeOfTreeStack; short SizeOfColorStack; short SizeOfStyleVarStack; short SizeOfFontStack; @@ -1277,18 +1287,16 @@ struct IMGUI_API ImGuiStackSizes short SizeOfBeginPopupStack; short SizeOfDisabledStack; - ImGuiStackSizes() { memset(this, 0, sizeof(*this)); } - void SetToContextState(ImGuiContext* ctx); - void CompareWithContextState(ImGuiContext* ctx); + ImGuiErrorRecoveryState() { memset(this, 0, sizeof(*this)); } }; // Data saved for each window pushed into the stack struct ImGuiWindowStackData { - ImGuiWindow* Window; - ImGuiLastItemData ParentLastItemDataBackup; - ImGuiStackSizes StackSizesOnBegin; // Store size of various stacks for asserting - bool DisabledOverrideReenable; // Non-child window override disabled flag + ImGuiWindow* Window; + ImGuiLastItemData ParentLastItemDataBackup; + ImGuiErrorRecoveryState StackSizesInBegin; // Store size of various stacks for asserting + bool DisabledOverrideReenable; // Non-child window override disabled flag }; struct ImGuiShrinkWidthItem @@ -1307,6 +1315,15 @@ struct ImGuiPtrOrIndex ImGuiPtrOrIndex(int index) { Ptr = NULL; Index = index; } }; +// Data used by IsItemDeactivated()/IsItemDeactivatedAfterEdit() functions +struct ImGuiDeactivatedItemData +{ + ImGuiID ID; + int ElapseFrame; + bool HasBeenEditedBefore; + bool IsAlive; +}; + //----------------------------------------------------------------------------- // [SECTION] Popup support //----------------------------------------------------------------------------- @@ -1556,12 +1573,18 @@ enum ImGuiScrollFlags_ ImGuiScrollFlags_MaskY_ = ImGuiScrollFlags_KeepVisibleEdgeY | ImGuiScrollFlags_KeepVisibleCenterY | ImGuiScrollFlags_AlwaysCenterY, }; -enum ImGuiNavHighlightFlags_ +enum ImGuiNavRenderCursorFlags_ { - ImGuiNavHighlightFlags_None = 0, - ImGuiNavHighlightFlags_Compact = 1 << 1, // Compact highlight, no padding - ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2, // Draw rectangular highlight if (g.NavId == id) _even_ when using the mouse. - ImGuiNavHighlightFlags_NoRounding = 1 << 3, + ImGuiNavRenderCursorFlags_None = 0, + ImGuiNavRenderCursorFlags_Compact = 1 << 1, // Compact highlight, no padding/distance from focused item + ImGuiNavRenderCursorFlags_AlwaysDraw = 1 << 2, // Draw rectangular highlight if (g.NavId == id) even when g.NavCursorVisible == false, aka even when using the mouse. + ImGuiNavRenderCursorFlags_NoRounding = 1 << 3, +#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + ImGuiNavHighlightFlags_None = ImGuiNavRenderCursorFlags_None, // Renamed in 1.91.4 + ImGuiNavHighlightFlags_Compact = ImGuiNavRenderCursorFlags_Compact, // Renamed in 1.91.4 + ImGuiNavHighlightFlags_AlwaysDraw = ImGuiNavRenderCursorFlags_AlwaysDraw, // Renamed in 1.91.4 + ImGuiNavHighlightFlags_NoRounding = ImGuiNavRenderCursorFlags_NoRounding, // Renamed in 1.91.4 +#endif }; enum ImGuiNavMoveFlags_ @@ -1582,7 +1605,7 @@ enum ImGuiNavMoveFlags_ ImGuiNavMoveFlags_IsPageMove = 1 << 11, // Identify a PageDown/PageUp request. ImGuiNavMoveFlags_Activate = 1 << 12, // Activate/select target item. ImGuiNavMoveFlags_NoSelect = 1 << 13, // Don't trigger selection by not setting g.NavJustMovedTo - ImGuiNavMoveFlags_NoSetNavHighlight = 1 << 14, // Do not alter the visible state of keyboard vs mouse nav highlight + ImGuiNavMoveFlags_NoSetNavCursorVisible = 1 << 14, // Do not alter the nav cursor visible state ImGuiNavMoveFlags_NoClearActiveId = 1 << 15, // (Experimental) Do not clear active id when applying move result }; @@ -1600,17 +1623,17 @@ struct ImGuiNavItemData ImGuiID ID; // Init,Move // Best candidate item ID ImGuiID FocusScopeId; // Init,Move // Best candidate focus scope ID ImRect RectRel; // Init,Move // Best candidate bounding box in window relative space - ImGuiItemFlags InFlags; // ????,Move // Best candidate item flags + ImGuiItemFlags ItemFlags; // ????,Move // Best candidate item flags float DistBox; // Move // Best candidate box distance to current NavId float DistCenter; // Move // Best candidate center distance to current NavId float DistAxial; // Move // Best candidate axial distance to current NavId - ImGuiSelectionUserData SelectionUserData;//I+Mov // Best candidate SetNextItemSelectionUserData() value. Valid if (InFlags & ImGuiItemFlags_HasSelectionUserData) + ImGuiSelectionUserData SelectionUserData;//I+Mov // Best candidate SetNextItemSelectionUserData() value. Valid if (ItemFlags & ImGuiItemFlags_HasSelectionUserData) ImGuiNavItemData() { Clear(); } - void Clear() { Window = NULL; ID = FocusScopeId = 0; InFlags = 0; SelectionUserData = -1; DistBox = DistCenter = DistAxial = FLT_MAX; } + void Clear() { Window = NULL; ID = FocusScopeId = 0; ItemFlags = 0; SelectionUserData = -1; DistBox = DistCenter = DistAxial = FLT_MAX; } }; -// Storage for PushFocusScope() +// Storage for PushFocusScope(), g.FocusScopeStack[], g.NavFocusRoute[] struct ImGuiFocusScopeData { ImGuiID ID; @@ -1805,23 +1828,28 @@ struct ImGuiViewportP : public ImGuiViewport ImDrawList* BgFgDrawLists[2]; // Convenience background (0) and foreground (1) draw lists. We use them to draw software mouser cursor when io.MouseDrawCursor is set and to draw most debug overlays. ImDrawData DrawDataP; ImDrawDataBuilder DrawDataBuilder; // Temporary data while building final ImDrawData - ImVec2 WorkOffsetMin; // Work Area: Offset from Pos to top-left corner of Work Area. Generally (0,0) or (0,+main_menu_bar_height). Work Area is Full Area but without menu-bars/status-bars (so WorkArea always fit inside Pos/Size!) - ImVec2 WorkOffsetMax; // Work Area: Offset from Pos+Size to bottom-right corner of Work Area. Generally (0,0) or (0,-status_bar_height). - ImVec2 BuildWorkOffsetMin; // Work Area: Offset being built during current frame. Generally >= 0.0f. - ImVec2 BuildWorkOffsetMax; // Work Area: Offset being built during current frame. Generally <= 0.0f. + + // Per-viewport work area + // - Insets are >= 0.0f values, distance from viewport corners to work area. + // - BeginMainMenuBar() and DockspaceOverViewport() tend to use work area to avoid stepping over existing contents. + // - Generally 'safeAreaInsets' in iOS land, 'DisplayCutout' in Android land. + ImVec2 WorkInsetMin; // Work Area inset locked for the frame. GetWorkRect() always fits within GetMainRect(). + ImVec2 WorkInsetMax; // " + ImVec2 BuildWorkInsetMin; // Work Area inset accumulator for current frame, to become next frame's WorkInset + ImVec2 BuildWorkInsetMax; // " ImGuiViewportP() { BgFgDrawListsLastFrame[0] = BgFgDrawListsLastFrame[1] = -1; BgFgDrawLists[0] = BgFgDrawLists[1] = NULL; } ~ImGuiViewportP() { if (BgFgDrawLists[0]) IM_DELETE(BgFgDrawLists[0]); if (BgFgDrawLists[1]) IM_DELETE(BgFgDrawLists[1]); } // Calculate work rect pos/size given a set of offset (we have 1 pair of offset for rect locked from last frame data, and 1 pair for currently building rect) - ImVec2 CalcWorkRectPos(const ImVec2& off_min) const { return ImVec2(Pos.x + off_min.x, Pos.y + off_min.y); } - ImVec2 CalcWorkRectSize(const ImVec2& off_min, const ImVec2& off_max) const { return ImVec2(ImMax(0.0f, Size.x - off_min.x + off_max.x), ImMax(0.0f, Size.y - off_min.y + off_max.y)); } - void UpdateWorkRect() { WorkPos = CalcWorkRectPos(WorkOffsetMin); WorkSize = CalcWorkRectSize(WorkOffsetMin, WorkOffsetMax); } // Update public fields + ImVec2 CalcWorkRectPos(const ImVec2& inset_min) const { return ImVec2(Pos.x + inset_min.x, Pos.y + inset_min.y); } + ImVec2 CalcWorkRectSize(const ImVec2& inset_min, const ImVec2& inset_max) const { return ImVec2(ImMax(0.0f, Size.x - inset_min.x - inset_max.x), ImMax(0.0f, Size.y - inset_min.y - inset_max.y)); } + void UpdateWorkRect() { WorkPos = CalcWorkRectPos(WorkInsetMin); WorkSize = CalcWorkRectSize(WorkInsetMin, WorkInsetMax); } // Update public fields // Helpers to retrieve ImRect (we don't need to store BuildWorkRect as every access tend to change it, hence the code asymmetry) ImRect GetMainRect() const { return ImRect(Pos.x, Pos.y, Pos.x + Size.x, Pos.y + Size.y); } ImRect GetWorkRect() const { return ImRect(WorkPos.x, WorkPos.y, WorkPos.x + WorkSize.x, WorkPos.y + WorkSize.y); } - ImRect GetBuildWorkRect() const { ImVec2 pos = CalcWorkRectPos(BuildWorkOffsetMin); ImVec2 size = CalcWorkRectSize(BuildWorkOffsetMin, BuildWorkOffsetMax); return ImRect(pos.x, pos.y, pos.x + size.x, pos.y + size.y); } + ImRect GetBuildWorkRect() const { ImVec2 pos = CalcWorkRectPos(BuildWorkInsetMin); ImVec2 size = CalcWorkRectSize(BuildWorkInsetMin, BuildWorkInsetMax); return ImRect(pos.x, pos.y, pos.x + size.x, pos.y + size.y); } }; //----------------------------------------------------------------------------- @@ -1875,6 +1903,7 @@ enum ImGuiLocKey : int ImGuiLocKey_WindowingMainMenuBar, ImGuiLocKey_WindowingPopup, ImGuiLocKey_WindowingUntitled, + ImGuiLocKey_OpenLink_s, ImGuiLocKey_CopyLink, ImGuiLocKey_COUNT }; @@ -1885,25 +1914,45 @@ struct ImGuiLocEntry const char* Text; }; +//----------------------------------------------------------------------------- +// [SECTION] Error handling, State recovery support +//----------------------------------------------------------------------------- + +// Macros used by Recoverable Error handling +// - Only dispatch error if _EXPR: evaluate as assert (similar to an assert macro). +// - The message will always be a string literal, in order to increase likelihood of being display by an assert handler. +// - See 'Demo->Configuration->Error Handling' and ImGuiIO definitions for details on error handling. +// - Read https://github.com/ocornut/imgui/wiki/Error-Handling for details on error handling. +#ifndef IM_ASSERT_USER_ERROR +#define IM_ASSERT_USER_ERROR(_EXPR,_MSG) do { if (!(_EXPR) && ImGui::ErrorLog(_MSG)) { IM_ASSERT((_EXPR) && _MSG); } } while (0) // Recoverable User Error +#endif + +// The error callback is currently not public, as it is expected that only advanced users will rely on it. +typedef void (*ImGuiErrorCallback)(ImGuiContext* ctx, void* user_data, const char* msg); // Function signature for g.ErrorCallback //----------------------------------------------------------------------------- // [SECTION] Metrics, Debug Tools //----------------------------------------------------------------------------- +// See IMGUI_DEBUG_LOG() and IMGUI_DEBUG_LOG_XXX() macros. enum ImGuiDebugLogFlags_ { // Event types ImGuiDebugLogFlags_None = 0, - ImGuiDebugLogFlags_EventActiveId = 1 << 0, - ImGuiDebugLogFlags_EventFocus = 1 << 1, - ImGuiDebugLogFlags_EventPopup = 1 << 2, - ImGuiDebugLogFlags_EventNav = 1 << 3, - ImGuiDebugLogFlags_EventClipper = 1 << 4, - ImGuiDebugLogFlags_EventSelection = 1 << 5, - ImGuiDebugLogFlags_EventIO = 1 << 6, - ImGuiDebugLogFlags_EventInputRouting = 1 << 7, - - ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting, + ImGuiDebugLogFlags_EventError = 1 << 0, // Error submitted by IM_ASSERT_USER_ERROR() + ImGuiDebugLogFlags_EventActiveId = 1 << 1, + ImGuiDebugLogFlags_EventFocus = 1 << 2, + ImGuiDebugLogFlags_EventPopup = 1 << 3, + ImGuiDebugLogFlags_EventNav = 1 << 4, + ImGuiDebugLogFlags_EventClipper = 1 << 5, + ImGuiDebugLogFlags_EventSelection = 1 << 6, + ImGuiDebugLogFlags_EventIO = 1 << 7, + ImGuiDebugLogFlags_EventFont = 1 << 8, + ImGuiDebugLogFlags_EventInputRouting = 1 << 9, + ImGuiDebugLogFlags_EventDocking = 1 << 10, // Unused in this branch + ImGuiDebugLogFlags_EventViewport = 1 << 11, // Unused in this branch + + ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventError | ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventFont | ImGuiDebugLogFlags_EventInputRouting | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport, ImGuiDebugLogFlags_OutputToTTY = 1 << 20, // Also send output to TTY ImGuiDebugLogFlags_OutputToTestEngine = 1 << 21, // Also send output to Test Engine }; @@ -1993,6 +2042,7 @@ struct ImGuiContext bool Initialized; bool FontAtlasOwnedByContext; // IO.Fonts-> is owned by the ImGuiContext and will be destructed along with it. ImGuiIO IO; + ImGuiPlatformIO PlatformIO; ImGuiStyle Style; ImFont* Font; // (Shortcut) == FontStack.empty() ? IO.Font : FontStack.back() float FontSize; // (Shortcut) == FontBaseSize * g.CurrentWindow->FontWindowScale == window->FontSize(). Text height for current window. @@ -2004,9 +2054,9 @@ struct ImGuiContext int FrameCount; int FrameCountEnded; int FrameCountRendered; + ImGuiID WithinEndChildID; // Set within EndChild() bool WithinFrameScope; // Set by NewFrame(), cleared by EndFrame() bool WithinFrameScopeWithImplicitWindow; // Set by NewFrame(), cleared by EndFrame() when the implicit debug window has been pushed - bool WithinEndChild; // Set within EndChild() bool GcCompactAll; // Request full GC bool TestEngineHookItems; // Will call test engine hooks: ImGuiTestEngineHook_ItemAdd(), ImGuiTestEngineHook_ItemInfo(), ImGuiTestEngineHook_Log() void* TestEngine; // Test engine user data @@ -2041,9 +2091,11 @@ struct ImGuiContext ImVec2 WheelingAxisAvg; // Item/widgets state and tracking information + ImGuiID DebugDrawIdConflicts; // Set when we detect multiple items with the same identifier ImGuiID DebugHookIdInfo; // Will call core hooks: DebugHookIdInfo() from GetID functions, used by ID Stack Tool [next HoveredId/ActiveId to not pull in an extra cache-line] ImGuiID HoveredId; // Hovered widget, filled during the frame ImGuiID HoveredIdPreviousFrame; + int HoveredIdPreviousFrameItemCount; // Count numbers of items using the same ID as last frame's hovered id float HoveredIdTimer; // Measure contiguous hovering time float HoveredIdNotActiveTimer; // Measure contiguous hovering time where the item has not been active bool HoveredIdAllowOverlap; @@ -2064,9 +2116,8 @@ struct ImGuiContext ImGuiWindow* ActiveIdWindow; ImGuiInputSource ActiveIdSource; // Activating source: ImGuiInputSource_Mouse OR ImGuiInputSource_Keyboard OR ImGuiInputSource_Gamepad ImGuiID ActiveIdPreviousFrame; - bool ActiveIdPreviousFrameIsAlive; - bool ActiveIdPreviousFrameHasBeenEditedBefore; - ImGuiWindow* ActiveIdPreviousFrameWindow; + ImGuiDeactivatedItemData DeactivatedItemData; + ImGuiDataTypeStorage ActiveIdValueOnActivation; // Backup of initial value at the time of activation. ONLY SET BY SPECIFIC WIDGETS: DragXXX and SliderXXX. ImGuiID LastActiveId; // Store the last non-zero ActiveId, useful for animation. float LastActiveIdTimer; // Store the last non-zero ActiveId timer since the beginning of activation, useful for animation. @@ -2109,9 +2160,15 @@ struct ImGuiContext // Viewports ImVector Viewports; // Active viewports (Size==1 in 'master' branch). Each viewports hold their copy of ImDrawData. - // Gamepad/keyboard Navigation - ImGuiWindow* NavWindow; // Focused window for navigation. Could be called 'FocusedWindow' + // Keyboard/Gamepad Navigation + bool NavCursorVisible; // Nav focus cursor/rectangle is visible? We hide it after a mouse click. We show it after a nav move. + bool NavHighlightItemUnderNav; // Disable mouse hovering highlight. Highlight navigation focused item instead of mouse hovered item. + //bool NavDisableHighlight; // Old name for !g.NavCursorVisible before 1.91.4 (2024/10/18). OPPOSITE VALUE (g.NavDisableHighlight == !g.NavCursorVisible) + //bool NavDisableMouseHover; // Old name for g.NavHighlightItemUnderNav before 1.91.1 (2024/10/18) this was called When user starts using keyboard/gamepad, we hide mouse hovering highlight until mouse is touched again. + bool NavMousePosDirty; // When set we will update mouse position if io.ConfigNavMoveSetMousePos is set (not enabled by default) + bool NavIdIsAlive; // Nav widget has been seen this frame ~~ NavRectRel is valid ImGuiID NavId; // Focused item for navigation + ImGuiWindow* NavWindow; // Focused window for navigation. Could be called 'FocusedWindow' ImGuiID NavFocusScopeId; // Focused focus scope (e.g. selection code often wants to "clear other items" when landing on an item of the same scope) ImGuiNavLayer NavLayer; // Focused layer (main scrolling layer, or menu/title bar layer) ImGuiID NavActivateId; // ~~ (g.ActiveId == 0) && (IsKeyPressed(ImGuiKey_Space) || IsKeyDown(ImGuiKey_Enter) || IsKeyPressed(ImGuiKey_NavGamepadActivate)) ? NavId : 0, also set when calling ActivateItem() @@ -2125,10 +2182,7 @@ struct ImGuiContext ImGuiActivateFlags NavNextActivateFlags; ImGuiInputSource NavInputSource; // Keyboard or Gamepad mode? THIS CAN ONLY BE ImGuiInputSource_Keyboard or ImGuiInputSource_Mouse ImGuiSelectionUserData NavLastValidSelectionUserData; // Last valid data passed to SetNextItemSelectionUser(), or -1. For current window. Not reset when focusing an item that doesn't have selection data. - bool NavIdIsAlive; // Nav widget has been seen this frame ~~ NavRectRel is valid - bool NavMousePosDirty; // When set we will update mouse position if (io.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) if set (NB: this not enabled by default) - bool NavDisableHighlight; // When user starts using mouse, we hide gamepad/keyboard highlight (NB: but they are still available, which is why NavDisableHighlight isn't always != NavDisableMouseHover) - bool NavDisableMouseHover; // When user starts using gamepad/keyboard, we hide mouse hovering highlight until mouse is touched again. + ImS8 NavCursorHideFrames; // Navigation: Init & Move Requests bool NavAnyRequest; // ~~ NavMoveRequest || NavInitRequest this is to perform early out in ItemAdd() @@ -2160,7 +2214,7 @@ struct ImGuiContext ImGuiID NavJustMovedToFocusScopeId; // Just navigated to this focus scope id (result of a successfully MoveRequest). ImGuiKeyChord NavJustMovedToKeyMods; bool NavJustMovedToIsTabbing; // Copy of ImGuiNavMoveFlags_IsTabbing. Maybe we should store whole flags. - bool NavJustMovedToHasSelectionData; // Copy of move result's InFlags & ImGuiItemFlags_HasSelectionUserData). Maybe we should just store ImGuiNavItemData. + bool NavJustMovedToHasSelectionData; // Copy of move result's ItemFlags & ImGuiItemFlags_HasSelectionUserData). Maybe we should just store ImGuiNavItemData. // Navigation: Windowing (CTRL+TAB for list, or Menu button + keys or directional pads to move/resize) ImGuiKeyChord ConfigNavWindowingKeyNext; // = ImGuiMod_Ctrl | ImGuiKey_Tab (or ImGuiMod_Super | ImGuiKey_Tab on OS X). For reconfiguration (see #4828) @@ -2255,8 +2309,8 @@ struct ImGuiContext ImGuiComboPreviewData ComboPreviewData; ImRect WindowResizeBorderExpectedRect; // Expected border rect, switch to relative edit if moving bool WindowResizeRelativeMode; - short ScrollbarSeekMode; // 0: relative, -1/+1: prev/next page. - float ScrollbarClickDeltaToGrabCenter; // Distance between mouse and center of grab box, normalized in parent space. Use storage? + short ScrollbarSeekMode; // 0: scroll to clicked location, -1/+1: prev/next page. + float ScrollbarClickDeltaToGrabCenter; // When scrolling to mouse location: distance between mouse and center of grab box, normalized in parent space. float SliderGrabClickOffset; float SliderCurrentAccum; // Accumulated slider delta when using navigation controls. bool SliderCurrentAccumDirty; // Has the accumulated slider delta changed since last time we tried to apply it? @@ -2265,15 +2319,15 @@ struct ImGuiContext float DragSpeedDefaultRatio; // If speed == 0.0f, uses (max-min) * DragSpeedDefaultRatio float DisabledAlphaBackup; // Backup for style.Alpha for BeginDisabled() short DisabledStackSize; - short LockMarkEdited; short TooltipOverrideCount; + ImGuiWindow* TooltipPreviousWindow; // Window of last tooltip submitted during the frame ImVector ClipboardHandlerData; // If no custom clipboard handler is defined ImVector MenusIdSubmittedThisFrame; // A list of menu IDs that were rendered at least once ImGuiTypingSelectState TypingSelectState; // State for GetTypingSelectRequest() // Platform support ImGuiPlatformImeData PlatformImeData; // Data updated by current frame - ImGuiPlatformImeData PlatformImeDataPrev; // Previous frame data. When changed we call the io.PlatformSetImeDataFn() handler. + ImGuiPlatformImeData PlatformImeDataPrev; // Previous frame data. When changed we call the platform_io.Platform_SetImeDataFn() handler. // Settings bool SettingsLoaded; @@ -2290,7 +2344,8 @@ struct ImGuiContext // Capture/Logging bool LogEnabled; // Currently capturing - ImGuiLogType LogType; // Capture target + ImGuiLogFlags LogFlags; // Capture flags/type + ImGuiWindow* LogWindow; ImFileHandle LogFile; // If != NULL log to stdout/ file ImGuiTextBuffer LogBuffer; // Accumulation buffer when log to clipboard. This is pointer so our GImGui static constructor doesn't call heap allocators. const char* LogNextPrefix; @@ -2301,11 +2356,22 @@ struct ImGuiContext int LogDepthToExpand; int LogDepthToExpandDefault; // Default/stored value for LogDepthMaxExpand if not specified in the LogXXX function call. + // Error Handling + ImGuiErrorCallback ErrorCallback; // = NULL. May be exposed in public API eventually. + void* ErrorCallbackUserData; // = NULL + ImVec2 ErrorTooltipLockedPos; + bool ErrorFirst; + int ErrorCountCurrentFrame; // [Internal] Number of errors submitted this frame. + ImGuiErrorRecoveryState StackSizesInNewFrame; // [Internal] + ImGuiErrorRecoveryState*StackSizesInBeginForCurrentWindow; // [Internal] + // Debug Tools // (some of the highly frequently used data are interleaved in other structures above: DebugBreakXXX fields, DebugHookIdInfo, DebugLocateId etc.) + int DebugDrawIdConflictsCount; // Locked count (preserved when holding CTRL) ImGuiDebugLogFlags DebugLogFlags; ImGuiTextBuffer DebugLogBuf; ImGuiTextIndex DebugLogIndex; + int DebugLogSkippedErrors; ImGuiDebugLogFlags DebugLogAutoDisableFlags; ImU8 DebugLogAutoDisableFrames; ImU8 DebugLocateFrames; // For DebugLocateItemOnHover(). This is used together with DebugLocateId which is in a hot/cached spot above. @@ -2332,208 +2398,7 @@ struct ImGuiContext ImVector TempBuffer; // Temporary text buffer char TempKeychordName[64]; - ImGuiContext(ImFontAtlas* shared_font_atlas) - { - IO.Ctx = this; - InputTextState.Ctx = this; - - Initialized = false; - FontAtlasOwnedByContext = shared_font_atlas ? false : true; - Font = NULL; - FontSize = FontBaseSize = FontScale = CurrentDpiScale = 0.0f; - IO.Fonts = shared_font_atlas ? shared_font_atlas : IM_NEW(ImFontAtlas)(); - Time = 0.0f; - FrameCount = 0; - FrameCountEnded = FrameCountRendered = -1; - WithinFrameScope = WithinFrameScopeWithImplicitWindow = WithinEndChild = false; - GcCompactAll = false; - TestEngineHookItems = false; - TestEngine = NULL; - memset(ContextName, 0, sizeof(ContextName)); - - InputEventsNextMouseSource = ImGuiMouseSource_Mouse; - InputEventsNextEventId = 1; - - WindowsActiveCount = 0; - CurrentWindow = NULL; - HoveredWindow = NULL; - HoveredWindowUnderMovingWindow = NULL; - HoveredWindowBeforeClear = NULL; - MovingWindow = NULL; - WheelingWindow = NULL; - WheelingWindowStartFrame = WheelingWindowScrolledFrame = -1; - WheelingWindowReleaseTimer = 0.0f; - - DebugHookIdInfo = 0; - HoveredId = HoveredIdPreviousFrame = 0; - HoveredIdAllowOverlap = false; - HoveredIdIsDisabled = false; - HoveredIdTimer = HoveredIdNotActiveTimer = 0.0f; - ItemUnclipByLog = false; - ActiveId = 0; - ActiveIdIsAlive = 0; - ActiveIdTimer = 0.0f; - ActiveIdIsJustActivated = false; - ActiveIdAllowOverlap = false; - ActiveIdNoClearOnFocusLoss = false; - ActiveIdHasBeenPressedBefore = false; - ActiveIdHasBeenEditedBefore = false; - ActiveIdHasBeenEditedThisFrame = false; - ActiveIdFromShortcut = false; - ActiveIdClickOffset = ImVec2(-1, -1); - ActiveIdWindow = NULL; - ActiveIdSource = ImGuiInputSource_None; - ActiveIdMouseButton = -1; - ActiveIdPreviousFrame = 0; - ActiveIdPreviousFrameIsAlive = false; - ActiveIdPreviousFrameHasBeenEditedBefore = false; - ActiveIdPreviousFrameWindow = NULL; - LastActiveId = 0; - LastActiveIdTimer = 0.0f; - - LastKeyboardKeyPressTime = LastKeyModsChangeTime = LastKeyModsChangeFromNoneTime = -1.0; - - ActiveIdUsingNavDirMask = 0x00; - ActiveIdUsingAllKeyboardKeys = false; - - CurrentFocusScopeId = 0; - CurrentItemFlags = ImGuiItemFlags_None; - DebugShowGroupRects = false; - - NavWindow = NULL; - NavId = NavFocusScopeId = NavActivateId = NavActivateDownId = NavActivatePressedId = 0; - NavLayer = ImGuiNavLayer_Main; - NavNextActivateId = 0; - NavActivateFlags = NavNextActivateFlags = ImGuiActivateFlags_None; - NavHighlightActivatedId = 0; - NavHighlightActivatedTimer = 0.0f; - NavInputSource = ImGuiInputSource_Keyboard; - NavLastValidSelectionUserData = ImGuiSelectionUserData_Invalid; - NavIdIsAlive = false; - NavMousePosDirty = false; - NavDisableHighlight = true; - NavDisableMouseHover = false; - - NavAnyRequest = false; - NavInitRequest = false; - NavInitRequestFromMove = false; - NavMoveSubmitted = false; - NavMoveScoringItems = false; - NavMoveForwardToNextFrame = false; - NavMoveFlags = ImGuiNavMoveFlags_None; - NavMoveScrollFlags = ImGuiScrollFlags_None; - NavMoveKeyMods = ImGuiMod_None; - NavMoveDir = NavMoveDirForDebug = NavMoveClipDir = ImGuiDir_None; - NavScoringDebugCount = 0; - NavTabbingDir = 0; - NavTabbingCounter = 0; - - NavJustMovedFromFocusScopeId = NavJustMovedToId = NavJustMovedToFocusScopeId = 0; - NavJustMovedToKeyMods = ImGuiMod_None; - NavJustMovedToIsTabbing = false; - NavJustMovedToHasSelectionData = false; - - // All platforms use Ctrl+Tab but Ctrl<>Super are swapped on Mac... - // FIXME: Because this value is stored, it annoyingly interfere with toggling io.ConfigMacOSXBehaviors updating this.. - ConfigNavWindowingKeyNext = IO.ConfigMacOSXBehaviors ? (ImGuiMod_Super | ImGuiKey_Tab) : (ImGuiMod_Ctrl | ImGuiKey_Tab); - ConfigNavWindowingKeyPrev = IO.ConfigMacOSXBehaviors ? (ImGuiMod_Super | ImGuiMod_Shift | ImGuiKey_Tab) : (ImGuiMod_Ctrl | ImGuiMod_Shift | ImGuiKey_Tab); - NavWindowingTarget = NavWindowingTargetAnim = NavWindowingListWindow = NULL; - NavWindowingTimer = NavWindowingHighlightAlpha = 0.0f; - NavWindowingToggleLayer = false; - NavWindowingToggleKey = ImGuiKey_None; - - DimBgRatio = 0.0f; - - DragDropActive = DragDropWithinSource = DragDropWithinTarget = false; - DragDropSourceFlags = ImGuiDragDropFlags_None; - DragDropSourceFrameCount = -1; - DragDropMouseButton = -1; - DragDropTargetId = 0; - DragDropAcceptFlags = ImGuiDragDropFlags_None; - DragDropAcceptIdCurrRectSurface = 0.0f; - DragDropAcceptIdPrev = DragDropAcceptIdCurr = 0; - DragDropAcceptFrameCount = -1; - DragDropHoldJustPressedId = 0; - memset(DragDropPayloadBufLocal, 0, sizeof(DragDropPayloadBufLocal)); - - ClipperTempDataStacked = 0; - - CurrentTable = NULL; - TablesTempDataStacked = 0; - CurrentTabBar = NULL; - CurrentMultiSelect = NULL; - MultiSelectTempDataStacked = 0; - - HoverItemDelayId = HoverItemDelayIdPreviousFrame = HoverItemUnlockedStationaryId = HoverWindowUnlockedStationaryId = 0; - HoverItemDelayTimer = HoverItemDelayClearTimer = 0.0f; - - MouseCursor = ImGuiMouseCursor_Arrow; - MouseStationaryTimer = 0.0f; - - TempInputId = 0; - memset(&DataTypeZeroValue, 0, sizeof(DataTypeZeroValue)); - BeginMenuDepth = BeginComboDepth = 0; - ColorEditOptions = ImGuiColorEditFlags_DefaultOptions_; - ColorEditCurrentID = ColorEditSavedID = 0; - ColorEditSavedHue = ColorEditSavedSat = 0.0f; - ColorEditSavedColor = 0; - WindowResizeRelativeMode = false; - ScrollbarSeekMode = 0; - ScrollbarClickDeltaToGrabCenter = 0.0f; - SliderGrabClickOffset = 0.0f; - SliderCurrentAccum = 0.0f; - SliderCurrentAccumDirty = false; - DragCurrentAccumDirty = false; - DragCurrentAccum = 0.0f; - DragSpeedDefaultRatio = 1.0f / 100.0f; - DisabledAlphaBackup = 0.0f; - DisabledStackSize = 0; - LockMarkEdited = 0; - TooltipOverrideCount = 0; - - PlatformImeData.InputPos = ImVec2(0.0f, 0.0f); - PlatformImeDataPrev.InputPos = ImVec2(-1.0f, -1.0f); // Different to ensure initial submission - - SettingsLoaded = false; - SettingsDirtyTimer = 0.0f; - HookIdNext = 0; - - memset(LocalizationTable, 0, sizeof(LocalizationTable)); - - LogEnabled = false; - LogType = ImGuiLogType_None; - LogNextPrefix = LogNextSuffix = NULL; - LogFile = NULL; - LogLinePosY = FLT_MAX; - LogLineFirstItem = false; - LogDepthRef = 0; - LogDepthToExpand = LogDepthToExpandDefault = 2; - - DebugLogFlags = ImGuiDebugLogFlags_OutputToTTY; - DebugLocateId = 0; - DebugLogAutoDisableFlags = ImGuiDebugLogFlags_None; - DebugLogAutoDisableFrames = 0; - DebugLocateFrames = 0; - DebugBeginReturnValueCullDepth = -1; - DebugItemPickerActive = false; - DebugItemPickerMouseButton = ImGuiMouseButton_Left; - DebugItemPickerBreakId = 0; - DebugFlashStyleColorTime = 0.0f; - DebugFlashStyleColorIdx = ImGuiCol_COUNT; - - // Same as DebugBreakClearData(). Those fields are scattered in their respective subsystem to stay in hot-data locations - DebugBreakInWindow = 0; - DebugBreakInTable = 0; - DebugBreakInLocateId = false; - DebugBreakKeyChord = ImGuiKey_Pause; - DebugBreakInShortcutRouting = ImGuiKey_None; - - memset(FramerateSecPerFrame, 0, sizeof(FramerateSecPerFrame)); - FramerateSecPerFrameIdx = FramerateSecPerFrameCount = 0; - FramerateSecPerFrameAccum = 0.0f; - WantCaptureMouseNextFrame = WantCaptureKeyboardNextFrame = WantTextInputNextFrame = -1; - memset(TempKeychordName, 0, sizeof(TempKeychordName)); - } + ImGuiContext(ImFontAtlas* shared_font_atlas); }; //----------------------------------------------------------------------------- @@ -2610,7 +2475,7 @@ struct IMGUI_API ImGuiWindow ImVec2 WindowPadding; // Window padding at the time of Begin(). float WindowRounding; // Window rounding at the time of Begin(). May be clamped lower to avoid rendering artifacts with title bar, menu bar etc. float WindowBorderSize; // Window border size at the time of Begin(). - float TitleBarHeight, MenuBarHeight; + float TitleBarHeight, MenuBarHeight; // Note that those used to be function before 2024/05/28. If you have old code calling TitleBarHeight() you can change it to TitleBarHeight. float DecoOuterSizeX1, DecoOuterSizeY1; // Left/Up offsets. Sum of non-scrolling outer decorations (X1 generally == 0.0f. Y1 generally = TitleBarHeight + MenuBarHeight). Locked during Begin(). float DecoOuterSizeX2, DecoOuterSizeY2; // Right/Down offsets (X2 generally == ScrollbarSize.x, Y2 == ScrollbarSizes.y). float DecoInnerSizeX1, DecoInnerSizeY1; // Applied AFTER/OVER InnerRect. Specialized for Tables as they use specialized form of clipping and frozen rows/columns are inside InnerRect (and not part of regular decoration sizes). @@ -2707,6 +2572,7 @@ struct IMGUI_API ImGuiWindow ImGuiID GetID(const char* str, const char* str_end = NULL); ImGuiID GetID(const void* ptr); ImGuiID GetID(int n); + ImGuiID GetIDFromPos(const ImVec2& p_abs); ImGuiID GetIDFromRectangle(const ImRect& r_abs); // We don't use g.FontSize because the window may be != g.CurrentWindow. @@ -2755,9 +2621,10 @@ struct ImGuiTabItem ImGuiTabItem() { memset(this, 0, sizeof(*this)); LastFrameVisible = LastFrameSelected = -1; RequestedWidth = -1.0f; NameOffset = -1; BeginOrder = IndexDuringLayout = -1; } }; -// Storage for a tab bar (sizeof() 152 bytes) +// Storage for a tab bar (sizeof() 160 bytes) struct IMGUI_API ImGuiTabBar { + ImGuiWindow* Window; ImVector Tabs; ImGuiTabBarFlags Flags; ImGuiID ID; // Zero for tab-bars used by docking @@ -2818,6 +2685,7 @@ struct ImGuiTableColumn float MaxX; float WidthRequest; // Master width absolute value when !(Flags & _WidthStretch). When Stretch this is derived every frame from StretchWeight in TableUpdateLayout() float WidthAuto; // Automatic width + float WidthMax; // Maximum width (FIXME: overwritten by each instance) float StretchWeight; // Master width weight when (Flags & _WidthStretch). Often around ~1.0f initially. float InitStretchWeightOrWidth; // Value passed to TableSetupColumn(). For Width it is a content width (_without padding_). ImRect ClipRect; // Clipping rectangle for the column @@ -3097,6 +2965,7 @@ namespace ImGui // If this ever crashes because g.CurrentWindow is NULL, it means that either: // - ImGui::NewFrame() has never been called, which is illegal. // - You are calling ImGui functions after ImGui::EndFrame()/ImGui::Render() and before the next ImGui::NewFrame(), which is also illegal. + IMGUI_API ImGuiIO& GetIOEx(ImGuiContext* ctx); inline ImGuiWindow* GetCurrentWindowRead() { ImGuiContext& g = *GImGui; return g.CurrentWindow; } inline ImGuiWindow* GetCurrentWindow() { ImGuiContext& g = *GImGui; g.CurrentWindow->WriteAccessed = true; return g.CurrentWindow; } IMGUI_API ImGuiWindow* FindWindowByID(ImGuiID id); @@ -3116,8 +2985,8 @@ namespace ImGui inline void SetWindowParentWindowForFocusRoute(ImGuiWindow* window, ImGuiWindow* parent_window) { window->ParentWindowForFocusRoute = parent_window; } inline ImRect WindowRectAbsToRel(ImGuiWindow* window, const ImRect& r) { ImVec2 off = window->DC.CursorStartPos; return ImRect(r.Min.x - off.x, r.Min.y - off.y, r.Max.x - off.x, r.Max.y - off.y); } inline ImRect WindowRectRelToAbs(ImGuiWindow* window, const ImRect& r) { ImVec2 off = window->DC.CursorStartPos; return ImRect(r.Min.x + off.x, r.Min.y + off.y, r.Max.x + off.x, r.Max.y + off.y); } - inline ImVec2 WindowPosRelToAbs(ImGuiWindow* window, const ImVec2& p) { ImVec2 off = window->DC.CursorStartPos; return ImVec2(p.x + off.x, p.y + off.y); } inline ImVec2 WindowPosAbsToRel(ImGuiWindow* window, const ImVec2& p) { ImVec2 off = window->DC.CursorStartPos; return ImVec2(p.x - off.x, p.y - off.y); } + inline ImVec2 WindowPosRelToAbs(ImGuiWindow* window, const ImVec2& p) { ImVec2 off = window->DC.CursorStartPos; return ImVec2(p.x + off.x, p.y + off.y); } // Windows: Display Order and Focus Order IMGUI_API void FocusWindow(ImGuiWindow* window, ImGuiFocusRequestFlags flags = 0); @@ -3158,6 +3027,7 @@ namespace ImGui IMGUI_API void CallContextHooks(ImGuiContext* context, ImGuiContextHookType type); // Viewports + IMGUI_API void ScaleWindowsInViewport(ImGuiViewportP* viewport, float scale); IMGUI_API void SetWindowViewport(ImGuiWindow* window, ImGuiViewportP* viewport); // Settings @@ -3194,7 +3064,7 @@ namespace ImGui // Basic Accessors inline ImGuiItemStatusFlags GetItemStatusFlags() { ImGuiContext& g = *GImGui; return g.LastItemData.StatusFlags; } - inline ImGuiItemFlags GetItemFlags() { ImGuiContext& g = *GImGui; return g.LastItemData.InFlags; } + inline ImGuiItemFlags GetItemFlags() { ImGuiContext& g = *GImGui; return g.LastItemData.ItemFlags; } inline ImGuiID GetActiveID() { ImGuiContext& g = *GImGui; return g.ActiveId; } inline ImGuiID GetFocusID() { ImGuiContext& g = *GImGui; return g.NavId; } IMGUI_API void SetActiveID(ImGuiID id, ImGuiWindow* window); @@ -3227,7 +3097,7 @@ namespace ImGui IMGUI_API void EndDisabledOverrideReenable(); // Logging/Capture - IMGUI_API void LogBegin(ImGuiLogType type, int auto_open_depth); // -> BeginCapture() when we design v2 api, for now stay under the radar by using the old name. + IMGUI_API void LogBegin(ImGuiLogFlags flags, int auto_open_depth); // -> BeginCapture() when we design v2 api, for now stay under the radar by using the old name. IMGUI_API void LogToBuffer(int auto_open_depth = -1); // Start logging/capturing to internal buffer IMGUI_API void LogRenderedText(const ImVec2* ref_pos, const char* text, const char* text_end = NULL); IMGUI_API void LogSetNextTextDecoration(const char* prefix, const char* suffix); @@ -3263,7 +3133,7 @@ namespace ImGui IMGUI_API bool BeginComboPreview(); IMGUI_API void EndComboPreview(); - // Gamepad/Keyboard Navigation + // Keyboard/Gamepad Navigation IMGUI_API void NavInitWindow(ImGuiWindow* window, bool force_reinit); IMGUI_API void NavInitRequestApplyResult(); IMGUI_API bool NavMoveRequestButNoResultYet(); @@ -3276,7 +3146,7 @@ namespace ImGui IMGUI_API void NavMoveRequestTryWrapping(ImGuiWindow* window, ImGuiNavMoveFlags move_flags); IMGUI_API void NavHighlightActivated(ImGuiID id); IMGUI_API void NavClearPreferredPosForAxis(ImGuiAxis axis); - IMGUI_API void NavRestoreHighlightAfterMove(); + IMGUI_API void SetNavCursorVisibleAfterMove(); IMGUI_API void NavUpdateCurrentWindowIsScrollPushableX(); IMGUI_API void SetNavWindow(ImGuiWindow* window); IMGUI_API void SetNavID(ImGuiID id, ImGuiNavLayer nav_layer, ImGuiID focus_scope_id, const ImRect& rect_rel); @@ -3297,7 +3167,7 @@ namespace ImGui inline bool IsGamepadKey(ImGuiKey key) { return key >= ImGuiKey_Gamepad_BEGIN && key < ImGuiKey_Gamepad_END; } inline bool IsMouseKey(ImGuiKey key) { return key >= ImGuiKey_Mouse_BEGIN && key < ImGuiKey_Mouse_END; } inline bool IsAliasKey(ImGuiKey key) { return key >= ImGuiKey_Aliases_BEGIN && key < ImGuiKey_Aliases_END; } - inline bool IsModKey(ImGuiKey key) { return key >= ImGuiKey_LeftCtrl && key <= ImGuiKey_RightSuper; } + inline bool IsLRModKey(ImGuiKey key) { return key >= ImGuiKey_LeftCtrl && key <= ImGuiKey_RightSuper; } ImGuiKeyChord FixupKeyChord(ImGuiKeyChord key_chord); inline ImGuiKey ConvertSingleModFlagToKey(ImGuiKey key) { @@ -3393,6 +3263,8 @@ namespace ImGui IMGUI_API void RenderDragDropTargetRect(const ImRect& bb, const ImRect& item_clip_rect); // Typing-Select API + // (provide Windows Explorer style "select items by typing partial name" + "cycle through items by typing same letter" feature) + // (this is currently not documented nor used by main library, but should work. See "widgets_typingselect" in imgui_test_suite for usage code. Please let us know if you use this!) IMGUI_API ImGuiTypingSelectRequest* GetTypingSelectRequest(ImGuiTypingSelectFlags flags = ImGuiTypingSelectFlags_None); IMGUI_API int TypingSelectFindMatch(ImGuiTypingSelectRequest* req, int items_count, const char* (*get_item_name_func)(void*, int), void* user_data, int nav_item_idx); IMGUI_API int TypingSelectFindNextSingleCharMatch(ImGuiTypingSelectRequest* req, int items_count, const char* (*get_item_name_func)(void*, int), void* user_data, int nav_item_idx); @@ -3461,7 +3333,7 @@ namespace ImGui IMGUI_API ImRect TableGetCellBgRect(const ImGuiTable* table, int column_n); IMGUI_API const char* TableGetColumnName(const ImGuiTable* table, int column_n); IMGUI_API ImGuiID TableGetColumnResizeID(ImGuiTable* table, int column_n, int instance_no = 0); - IMGUI_API float TableGetMaxColumnWidth(const ImGuiTable* table, int column_n); + IMGUI_API float TableCalcMaxColumnWidth(const ImGuiTable* table, int column_n); IMGUI_API void TableSetColumnWidthAutoSingle(ImGuiTable* table, int column_n); IMGUI_API void TableSetColumnWidthAutoAll(ImGuiTable* table); IMGUI_API void TableRemove(ImGuiTable* table); @@ -3489,6 +3361,7 @@ namespace ImGui IMGUI_API void TabBarRemoveTab(ImGuiTabBar* tab_bar, ImGuiID tab_id); IMGUI_API void TabBarCloseTab(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); IMGUI_API void TabBarQueueFocus(ImGuiTabBar* tab_bar, ImGuiTabItem* tab); + IMGUI_API void TabBarQueueFocus(ImGuiTabBar* tab_bar, const char* tab_name); IMGUI_API void TabBarQueueReorder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab, int offset); IMGUI_API void TabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar, ImGuiTabItem* tab, ImVec2 mouse_pos); IMGUI_API bool TabBarProcessReorder(ImGuiTabBar* tab_bar); @@ -3506,10 +3379,13 @@ namespace ImGui IMGUI_API void RenderTextClipped(const ImVec2& pos_min, const ImVec2& pos_max, const char* text, const char* text_end, const ImVec2* text_size_if_known, const ImVec2& align = ImVec2(0, 0), const ImRect* clip_rect = NULL); IMGUI_API void RenderTextClippedEx(ImDrawList* draw_list, const ImVec2& pos_min, const ImVec2& pos_max, const char* text, const char* text_end, const ImVec2* text_size_if_known, const ImVec2& align = ImVec2(0, 0), const ImRect* clip_rect = NULL); IMGUI_API void RenderTextEllipsis(ImDrawList* draw_list, const ImVec2& pos_min, const ImVec2& pos_max, float clip_max_x, float ellipsis_max_x, const char* text, const char* text_end, const ImVec2* text_size_if_known); - IMGUI_API void RenderFrame(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool border = true, float rounding = 0.0f); + IMGUI_API void RenderFrame(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool borders = true, float rounding = 0.0f); IMGUI_API void RenderFrameBorder(ImVec2 p_min, ImVec2 p_max, float rounding = 0.0f); IMGUI_API void RenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, float grid_step, ImVec2 grid_off, float rounding = 0.0f, ImDrawFlags flags = 0); - IMGUI_API void RenderNavHighlight(const ImRect& bb, ImGuiID id, ImGuiNavHighlightFlags flags = ImGuiNavHighlightFlags_None); // Navigation highlight + IMGUI_API void RenderNavCursor(const ImRect& bb, ImGuiID id, ImGuiNavRenderCursorFlags flags = ImGuiNavRenderCursorFlags_None); // Navigation highlight +#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + inline void RenderNavHighlight(const ImRect& bb, ImGuiID id, ImGuiNavRenderCursorFlags flags = ImGuiNavRenderCursorFlags_None) { RenderNavCursor(bb, id, flags); } // Renamed in 1.91.4 +#endif IMGUI_API const char* FindRenderedTextEnd(const char* text, const char* text_end = NULL); // Find the optional ## from which we stop displaying text. IMGUI_API void RenderMouseCursor(ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow); @@ -3525,7 +3401,7 @@ namespace ImGui IMGUI_API void TextEx(const char* text, const char* text_end = NULL, ImGuiTextFlags flags = 0); IMGUI_API bool ButtonEx(const char* label, const ImVec2& size_arg = ImVec2(0, 0), ImGuiButtonFlags flags = 0); IMGUI_API bool ArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags = 0); - IMGUI_API bool ImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags = 0); + IMGUI_API bool ImageButtonEx(ImGuiID id, ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags = 0); IMGUI_API void SeparatorEx(ImGuiSeparatorFlags flags, float thickness = 1.0f); IMGUI_API void SeparatorTextEx(ImGuiID id, const char* label, const char* label_end, float extra_width); IMGUI_API bool CheckboxFlags(const char* label, ImS64* flags, ImS64 flags_value); @@ -3535,7 +3411,7 @@ namespace ImGui IMGUI_API bool CloseButton(ImGuiID id, const ImVec2& pos); IMGUI_API bool CollapseButton(ImGuiID id, const ImVec2& pos); IMGUI_API void Scrollbar(ImGuiAxis axis); - IMGUI_API bool ScrollbarEx(const ImRect& bb, ImGuiID id, ImGuiAxis axis, ImS64* p_scroll_v, ImS64 avail_v, ImS64 contents_v, ImDrawFlags flags); + IMGUI_API bool ScrollbarEx(const ImRect& bb, ImGuiID id, ImGuiAxis axis, ImS64* p_scroll_v, ImS64 avail_v, ImS64 contents_v, ImDrawFlags draw_rounding_flags = 0); IMGUI_API ImRect GetWindowScrollbarRect(ImGuiWindow* window, ImGuiAxis axis); IMGUI_API ImGuiID GetWindowScrollbarID(ImGuiWindow* window, ImGuiAxis axis); IMGUI_API ImGuiID GetWindowResizeCornerID(ImGuiWindow* window, int n); // 0..3: corners @@ -3571,6 +3447,7 @@ namespace ImGui IMGUI_API bool DataTypeApplyFromText(const char* buf, ImGuiDataType data_type, void* p_data, const char* format, void* p_data_when_empty = NULL); IMGUI_API int DataTypeCompare(ImGuiDataType data_type, const void* arg_1, const void* arg_2); IMGUI_API bool DataTypeClamp(ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max); + IMGUI_API bool DataTypeIsZero(ImGuiDataType data_type, const void* p_data); // InputText IMGUI_API bool InputTextEx(const char* label, const char* hint, char* buf, int buf_size, const ImVec2& size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback = NULL, void* user_data = NULL); @@ -3599,11 +3476,18 @@ namespace ImGui IMGUI_API void GcCompactTransientWindowBuffers(ImGuiWindow* window); IMGUI_API void GcAwakeTransientWindowBuffers(ImGuiWindow* window); + // Error handling, State Recovery + IMGUI_API bool ErrorLog(const char* msg); + IMGUI_API void ErrorRecoveryStoreState(ImGuiErrorRecoveryState* state_out); + IMGUI_API void ErrorRecoveryTryToRecoverState(const ImGuiErrorRecoveryState* state_in); + IMGUI_API void ErrorRecoveryTryToRecoverWindowState(const ImGuiErrorRecoveryState* state_in); + IMGUI_API void ErrorCheckUsingSetCursorPosToExtendParentBoundaries(); + IMGUI_API void ErrorCheckEndFrameFinalizeErrorTooltip(); + IMGUI_API bool BeginErrorTooltip(); + IMGUI_API void EndErrorTooltip(); + // Debug Tools IMGUI_API void DebugAllocHook(ImGuiDebugAllocInfo* info, int frame_count, void* ptr, size_t size); // size >= 0 : alloc, size = -1 : free - IMGUI_API void ErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback, void* user_data = NULL); - IMGUI_API void ErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback, void* user_data = NULL); - IMGUI_API void ErrorCheckUsingSetCursorPosToExtendParentBoundaries(); IMGUI_API void DebugDrawCursorPos(ImU32 col = IM_COL32(255, 0, 0, 255)); IMGUI_API void DebugDrawLineExtents(ImU32 col = IM_COL32(255, 0, 0, 255)); IMGUI_API void DebugDrawItemRect(ImU32 col = IM_COL32(255, 0, 0, 255)); @@ -3638,9 +3522,8 @@ namespace ImGui // Obsolete functions #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS - inline void SetItemUsingMouseWheel() { SetItemKeyOwner(ImGuiKey_MouseWheelY); } // Changed in 1.89 - inline bool TreeNodeBehaviorIsOpen(ImGuiID id, ImGuiTreeNodeFlags flags = 0) { return TreeNodeUpdateNextOpen(id, flags); } // Renamed in 1.89 - + //inline void SetItemUsingMouseWheel() { SetItemKeyOwner(ImGuiKey_MouseWheelY); } // Changed in 1.89 + //inline bool TreeNodeBehaviorIsOpen(ImGuiID id, ImGuiTreeNodeFlags flags = 0) { return TreeNodeUpdateNextOpen(id, flags); } // Renamed in 1.89 //inline bool IsKeyPressedMap(ImGuiKey key, bool repeat = true) { IM_ASSERT(IsNamedKey(key)); return IsKeyPressed(key, repeat); } // Removed in 1.87: Mapping from named key is always identity! // Refactored focus/nav/tabbing system in 1.82 and 1.84. If you have old/custom copy-and-pasted widgets which used FocusableItemRegister(): @@ -3658,7 +3541,8 @@ namespace ImGui // [SECTION] ImFontAtlas internal API //----------------------------------------------------------------------------- -// This structure is likely to evolve as we add support for incremental atlas updates +// This structure is likely to evolve as we add support for incremental atlas updates. +// Conceptually this could be in ImGuiPlatformIO, but we are far from ready to make this public. struct ImFontBuilderIO { bool (*FontBuilder_Build)(ImFontAtlas* atlas); @@ -3691,7 +3575,7 @@ extern const char* ImGuiTestEngine_FindItemDebugLabel(ImGuiContext* ctx, ImGuiI // In IMGUI_VERSION_NUM >= 18934: changed IMGUI_TEST_ENGINE_ITEM_ADD(bb,id) to IMGUI_TEST_ENGINE_ITEM_ADD(id,bb,item_data); #define IMGUI_TEST_ENGINE_ITEM_ADD(_ID,_BB,_ITEM_DATA) if (g.TestEngineHookItems) ImGuiTestEngineHook_ItemAdd(&g, _ID, _BB, _ITEM_DATA) // Register item bounding box #define IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS) if (g.TestEngineHookItems) ImGuiTestEngineHook_ItemInfo(&g, _ID, _LABEL, _FLAGS) // Register item label and status flags (optional) -#define IMGUI_TEST_ENGINE_LOG(_FMT,...) if (g.TestEngineHookItems) ImGuiTestEngineHook_Log(&g, _FMT, __VA_ARGS__) // Custom log entry from user land into test log +#define IMGUI_TEST_ENGINE_LOG(_FMT,...) ImGuiTestEngineHook_Log(&g, _FMT, __VA_ARGS__) // Custom log entry from user land into test log #else #define IMGUI_TEST_ENGINE_ITEM_ADD(_BB,_ID) ((void)0) #define IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS) ((void)g) diff --git a/3rdparty/imgui/include/imgui_stdlib.h b/3rdparty/imgui/include/imgui_stdlib.h index 835a808f2fae3..697fc34ad2d31 100644 --- a/3rdparty/imgui/include/imgui_stdlib.h +++ b/3rdparty/imgui/include/imgui_stdlib.h @@ -9,6 +9,8 @@ #pragma once +#ifndef IMGUI_DISABLE + #include namespace ImGui @@ -19,3 +21,5 @@ namespace ImGui IMGUI_API bool InputTextMultiline(const char* label, std::string* str, const ImVec2& size = ImVec2(0, 0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = nullptr, void* user_data = nullptr); IMGUI_API bool InputTextWithHint(const char* label, const char* hint, std::string* str, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = nullptr, void* user_data = nullptr); } + +#endif // #ifndef IMGUI_DISABLE diff --git a/3rdparty/imgui/include/imstb_textedit.h b/3rdparty/imgui/include/imstb_textedit.h index 783054ab953eb..b7a761c853819 100644 --- a/3rdparty/imgui/include/imstb_textedit.h +++ b/3rdparty/imgui/include/imstb_textedit.h @@ -3,6 +3,8 @@ // Those changes would need to be pushed into nothings/stb: // - Fix in stb_textedit_discard_redo (see https://github.com/nothings/stb/issues/321) // - Fix in stb_textedit_find_charpos to handle last line (see https://github.com/ocornut/imgui/issues/6000 + #6783) +// - Added name to struct or it may be forward declared in our code. +// - Added UTF-8 support (see https://github.com/nothings/stb/issues/188 + https://github.com/ocornut/imgui/pull/7925) // Grep for [DEAR IMGUI] to find the changes. // - Also renamed macros used or defined outside of IMSTB_TEXTEDIT_IMPLEMENTATION block from STB_TEXTEDIT_* to IMSTB_TEXTEDIT_* @@ -209,6 +211,7 @@ // int stb_textedit_cut(STB_TEXTEDIT_STRING *str, STB_TexteditState *state) // int stb_textedit_paste(STB_TEXTEDIT_STRING *str, STB_TexteditState *state, STB_TEXTEDIT_CHARTYPE *text, int len) // void stb_textedit_key(STB_TEXTEDIT_STRING *str, STB_TexteditState *state, STB_TEXEDIT_KEYTYPE key) +// void stb_textedit_text(STB_TEXTEDIT_STRING *str, STB_TexteditState *state, STB_TEXTEDIT_CHARTYPE *text, int text_len) // // Each of these functions potentially updates the string and updates the // state. @@ -243,7 +246,12 @@ // various definitions like STB_TEXTEDIT_K_LEFT have the is-key-event bit // set, and make STB_TEXTEDIT_KEYTOCHAR check that the is-key-event bit is // clear. STB_TEXTEDIT_KEYTYPE defaults to int, but you can #define it to -// anything other type you wante before including. +// anything other type you want before including. +// if the STB_TEXTEDIT_KEYTOTEXT function is defined, selected keys are +// transformed into text and stb_textedit_text() is automatically called. +// +// text: [DEAR IMGUI] added 2024-09 +// call this to text inputs sent to the textfield. // // // When rendering, you can read the cursor position and selection state from @@ -318,7 +326,7 @@ typedef struct int undo_char_point, redo_char_point; } StbUndoState; -typedef struct +typedef struct STB_TexteditState { ///////////////////// // @@ -438,13 +446,13 @@ static int stb_text_locate_coord(IMSTB_TEXTEDIT_STRING *str, float x, float y) if (x < r.x1) { // search characters in row for one that straddles 'x' prev_x = r.x0; - for (k=0; k < r.num_chars; ++k) { + for (k=0; k < r.num_chars; k = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, i + k) - i) { float w = STB_TEXTEDIT_GETWIDTH(str, i, k); if (x < prev_x+w) { if (x < prev_x+w/2) return k+i; else - return k+i+1; + return IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, i + k); } prev_x += w; } @@ -563,7 +571,7 @@ static void stb_textedit_find_charpos(StbFindState *find, IMSTB_TEXTEDIT_STRING // now scan to find xpos find->x = r.x0; - for (i=0; first+i < n; ++i) + for (i=0; first+i < n; i = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, first + i) - first) find->x += STB_TEXTEDIT_GETWIDTH(str, first, i); } @@ -640,6 +648,17 @@ static void stb_textedit_move_to_last(IMSTB_TEXTEDIT_STRING *str, STB_TexteditSt } } +// [DEAR IMGUI] +// Functions must be implemented for UTF8 support +// Code in this file that uses those functions is modified for [DEAR IMGUI] and deviates from the original stb_textedit. +// There is not necessarily a '[DEAR IMGUI]' at the usage sites. +#ifndef IMSTB_TEXTEDIT_GETPREVCHARINDEX +#define IMSTB_TEXTEDIT_GETPREVCHARINDEX(obj, idx) (idx - 1) +#endif +#ifndef IMSTB_TEXTEDIT_GETNEXTCHARINDEX +#define IMSTB_TEXTEDIT_GETNEXTCHARINDEX(obj, idx) (idx + 1) +#endif + #ifdef STB_TEXTEDIT_IS_SPACE static int is_word_boundary( IMSTB_TEXTEDIT_STRING *str, int idx ) { @@ -720,36 +739,44 @@ static int stb_textedit_paste_internal(IMSTB_TEXTEDIT_STRING *str, STB_TexteditS #define STB_TEXTEDIT_KEYTYPE int #endif +// [DEAR IMGUI] Added stb_textedit_text(), extracted out and called by stb_textedit_key() for backward compatibility. +static void stb_textedit_text(IMSTB_TEXTEDIT_STRING* str, STB_TexteditState* state, const IMSTB_TEXTEDIT_CHARTYPE* text, int text_len) +{ + // can't add newline in single-line mode + if (text[0] == '\n' && state->single_line) + return; + + if (state->insert_mode && !STB_TEXT_HAS_SELECTION(state) && state->cursor < STB_TEXTEDIT_STRINGLEN(str)) { + stb_text_makeundo_replace(str, state, state->cursor, 1, 1); + STB_TEXTEDIT_DELETECHARS(str, state->cursor, 1); + if (STB_TEXTEDIT_INSERTCHARS(str, state->cursor, text, text_len)) { + state->cursor += text_len; + state->has_preferred_x = 0; + } + } + else { + stb_textedit_delete_selection(str, state); // implicitly clamps + if (STB_TEXTEDIT_INSERTCHARS(str, state->cursor, text, text_len)) { + stb_text_makeundo_insert(state, state->cursor, text_len); + state->cursor += text_len; + state->has_preferred_x = 0; + } + } +} + // API key: process a keyboard input static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *state, STB_TEXTEDIT_KEYTYPE key) { retry: switch (key) { default: { +#ifdef STB_TEXTEDIT_KEYTOTEXT int c = STB_TEXTEDIT_KEYTOTEXT(key); if (c > 0) { - IMSTB_TEXTEDIT_CHARTYPE ch = (IMSTB_TEXTEDIT_CHARTYPE) c; - - // can't add newline in single-line mode - if (c == '\n' && state->single_line) - break; - - if (state->insert_mode && !STB_TEXT_HAS_SELECTION(state) && state->cursor < STB_TEXTEDIT_STRINGLEN(str)) { - stb_text_makeundo_replace(str, state, state->cursor, 1, 1); - STB_TEXTEDIT_DELETECHARS(str, state->cursor, 1); - if (STB_TEXTEDIT_INSERTCHARS(str, state->cursor, &ch, 1)) { - ++state->cursor; - state->has_preferred_x = 0; - } - } else { - stb_textedit_delete_selection(str,state); // implicitly clamps - if (STB_TEXTEDIT_INSERTCHARS(str, state->cursor, &ch, 1)) { - stb_text_makeundo_insert(state, state->cursor, 1); - ++state->cursor; - state->has_preferred_x = 0; - } - } + IMSTB_TEXTEDIT_CHARTYPE ch = (IMSTB_TEXTEDIT_CHARTYPE)c; + stb_textedit_text(str, state, &ch, 1); } +#endif break; } @@ -775,7 +802,7 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat stb_textedit_move_to_first(state); else if (state->cursor > 0) - --state->cursor; + state->cursor = IMSTB_TEXTEDIT_GETPREVCHARINDEX(str, state->cursor); state->has_preferred_x = 0; break; @@ -784,7 +811,7 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat if (STB_TEXT_HAS_SELECTION(state)) stb_textedit_move_to_last(str, state); else - ++state->cursor; + state->cursor = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, state->cursor); stb_textedit_clamp(str, state); state->has_preferred_x = 0; break; @@ -794,7 +821,7 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat stb_textedit_prep_selection_at_cursor(state); // move selection left if (state->select_end > 0) - --state->select_end; + state->select_end = IMSTB_TEXTEDIT_GETPREVCHARINDEX(str, state->select_end); state->cursor = state->select_end; state->has_preferred_x = 0; break; @@ -844,7 +871,7 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat case STB_TEXTEDIT_K_RIGHT | STB_TEXTEDIT_K_SHIFT: stb_textedit_prep_selection_at_cursor(state); // move selection right - ++state->select_end; + state->select_end = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, state->select_end); stb_textedit_clamp(str, state); state->cursor = state->select_end; state->has_preferred_x = 0; @@ -900,7 +927,7 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat x += dx; if (x > goal_x) break; - ++state->cursor; + state->cursor = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, state->cursor); } stb_textedit_clamp(str, state); @@ -962,7 +989,7 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat x += dx; if (x > goal_x) break; - ++state->cursor; + state->cursor = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, state->cursor); } stb_textedit_clamp(str, state); @@ -990,7 +1017,7 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat else { int n = STB_TEXTEDIT_STRINGLEN(str); if (state->cursor < n) - stb_textedit_delete(str, state, state->cursor, 1); + stb_textedit_delete(str, state, state->cursor, IMSTB_TEXTEDIT_GETNEXTCHARINDEX(str, state->cursor) - state->cursor); } state->has_preferred_x = 0; break; @@ -1002,8 +1029,9 @@ static void stb_textedit_key(IMSTB_TEXTEDIT_STRING *str, STB_TexteditState *stat else { stb_textedit_clamp(str, state); if (state->cursor > 0) { - stb_textedit_delete(str, state, state->cursor-1, 1); - --state->cursor; + int prev = IMSTB_TEXTEDIT_GETPREVCHARINDEX(str, state->cursor); + stb_textedit_delete(str, state, prev, state->cursor - prev); + state->cursor = prev; } } state->has_preferred_x = 0; diff --git a/3rdparty/imgui/src/imgui.cpp b/3rdparty/imgui/src/imgui.cpp index 18bedc9952adb..f9f21f9f9e548 100644 --- a/3rdparty/imgui/src/imgui.cpp +++ b/3rdparty/imgui/src/imgui.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.91.0 +// dear imgui, v1.91.7 // (main code and documentation) // Help: @@ -10,7 +10,7 @@ // - FAQ ........................ https://dearimgui.com/faq (in repository as docs/FAQ.md) // - Homepage ................... https://github.com/ocornut/imgui // - Releases & changelog ....... https://github.com/ocornut/imgui/releases -// - Gallery .................... https://github.com/ocornut/imgui/issues/7503 (please post your screenshots/video there!) +// - Gallery .................... https://github.com/ocornut/imgui/issues?q=label%3Agallery (please post your screenshots/video there!) // - Wiki ....................... https://github.com/ocornut/imgui/wiki (lots of good stuff there) // - Getting Started https://github.com/ocornut/imgui/wiki/Getting-Started (how to integrate in an existing app by adding ~25 lines of code) // - Third-party Extensions https://github.com/ocornut/imgui/wiki/Useful-Extensions (ImPlot & many more) @@ -25,7 +25,7 @@ // please post in https://github.com/ocornut/imgui/discussions if you cannot find a solution in resources above. // Everything else should be asked in 'Issues'! We are building a database of cross-linked knowledge there. -// Copyright (c) 2014-2024 Omar Cornut +// Copyright (c) 2014-2025 Omar Cornut // Developed by Omar Cornut and every direct or indirect contributors to the GitHub. // See LICENSE.txt for copyright and licensing details (standard MIT License). // This library is free but needs your support to sustain development and maintenance. @@ -63,7 +63,7 @@ CODE // [SECTION] INCLUDES // [SECTION] FORWARD DECLARATIONS // [SECTION] CONTEXT AND MEMORY ALLOCATORS -// [SECTION] USER FACING STRUCTURES (ImGuiStyle, ImGuiIO) +// [SECTION] USER FACING STRUCTURES (ImGuiStyle, ImGuiIO, ImGuiPlatformIO) // [SECTION] MISC HELPERS/UTILITIES (Geometry functions) // [SECTION] MISC HELPERS/UTILITIES (String, Format, Hash functions) // [SECTION] MISC HELPERS/UTILITIES (File functions) @@ -79,12 +79,13 @@ CODE // [SECTION] MAIN CODE (most of the code! lots of stuff, needs tidying up!) // [SECTION] ID STACK // [SECTION] INPUTS -// [SECTION] ERROR CHECKING +// [SECTION] ERROR CHECKING, STATE RECOVERY // [SECTION] ITEM SUBMISSION // [SECTION] LAYOUT // [SECTION] SCROLLING // [SECTION] TOOLTIPS // [SECTION] POPUPS +// [SECTION] WINDOW FOCUS // [SECTION] KEYBOARD/GAMEPAD NAVIGATION // [SECTION] DRAG AND DROP // [SECTION] LOGGING/CAPTURING @@ -174,7 +175,6 @@ CODE - Set 'io.BackendFlags |= ImGuiBackendFlags_HasGamepad' + call io.AddKeyEvent/AddKeyAnalogEvent() with ImGuiKey_Gamepad_XXX keys. - For analog values (0.0f to 1.0f), backend is responsible to handling a dead-zone and rescaling inputs accordingly. Backend code will probably need to transform your raw inputs (such as e.g. remapping your 0.2..0.9 raw input range to 0.0..1.0 imgui range, etc.). - - BEFORE 1.87, BACKENDS USED TO WRITE TO io.NavInputs[]. This is now obsolete. Please call io functions instead! - If you need to share inputs between your game and the Dear ImGui interface, the easiest approach is to go all-or-nothing, with a buttons combo to toggle the target. Please reach out if you think the game vs navigation input sharing could be improved. @@ -183,8 +183,8 @@ CODE - Consoles/Tablet/Phone users: Consider using a Synergy 1.x server (on your PC) + run examples/libs/synergy/uSynergy.c (on your console/tablet/phone app) in order to share your PC mouse/keyboard. - See https://github.com/ocornut/imgui/wiki/Useful-Extensions#remoting for other remoting solutions. - - On a TV/console system where readability may be lower or mouse inputs may be awkward, you may want to set the ImGuiConfigFlags_NavEnableSetMousePos flag. - Enabling ImGuiConfigFlags_NavEnableSetMousePos + ImGuiBackendFlags_HasSetMousePos instructs Dear ImGui to move your mouse cursor along with navigation movements. + - On a TV/console system where readability may be lower or mouse inputs may be awkward, you may want to set the io.ConfigNavMoveSetMousePos flag. + Enabling io.ConfigNavMoveSetMousePos + ImGuiBackendFlags_HasSetMousePos instructs Dear ImGui to move your mouse cursor along with navigation movements. When enabled, the NewFrame() function may alter 'io.MousePos' and set 'io.WantSetMousePos' to notify you that it wants the mouse cursor to be moved. When that happens your backend NEEDS to move the OS or underlying mouse cursor on the next frame. Some of the backends in examples/ do that. (If you set the NavEnableSetMousePos flag but don't honor 'io.WantSetMousePos' properly, Dear ImGui will misbehave as it will see your mouse moving back & forth!) @@ -430,6 +430,53 @@ CODE When you are not sure about an old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files. You can read releases logs https://github.com/ocornut/imgui/releases for more details. + - 2025/01/14 (1.91.7) - renamed ImGuiTreeNodeFlags_SpanTextWidth to ImGuiTreeNodeFlags_SpanLabelWidth for consistency with other names. Kept redirection enum (will obsolete). (#6937) + - 2024/11/27 (1.91.6) - changed CRC32 table from CRC32-adler to CRC32c polynomial in order to be compatible with the result of SSE 4.2 instructions. + As a result, old .ini data may be partially lost (docking and tables information particularly). + Because some users have crafted and storing .ini data as a way to workaround limitations of the docking API, we are providing a '#define IMGUI_USE_LEGACY_CRC32_ADLER' compile-time option to keep using old CRC32 tables if you cannot afford invalidating old .ini data. + - 2024/11/06 (1.91.5) - commented/obsoleted out pre-1.87 IO system (equivalent to using IMGUI_DISABLE_OBSOLETE_KEYIO or IMGUI_DISABLE_OBSOLETE_FUNCTIONS before) + - io.KeyMap[] and io.KeysDown[] are removed (obsoleted February 2022). + - io.NavInputs[] and ImGuiNavInput are removed (obsoleted July 2022). + - pre-1.87 backends are not supported: + - backends need to call io.AddKeyEvent(), io.AddMouseEvent() instead of writing to io.KeysDown[], io.MouseDown[] fields. + - backends need to call io.AddKeyAnalogEvent() for gamepad values instead of writing to io.NavInputs[] fields. + - for more reference: + - read 1.87 and 1.88 part of this section or read Changelog for 1.87 and 1.88. + - read https://github.com/ocornut/imgui/issues/4921 + - if you have trouble updating a very old codebase using legacy backend-specific key codes: consider updating to 1.91.4 first, then #define IMGUI_DISABLE_OBSOLETE_KEYIO, then update to latest. + - obsoleted ImGuiKey_COUNT (it is unusually error-prone/misleading since valid keys don't start at 0). probably use ImGuiKey_NamedKey_BEGIN/ImGuiKey_NamedKey_END? + - fonts: removed const qualifiers from most font functions in prevision for upcoming font improvements. + - 2024/10/18 (1.91.4) - renamed ImGuiCol_NavHighlight to ImGuiCol_NavCursor (for consistency with newly exposed and reworked features). Kept inline redirection enum (will obsolete). + - 2024/10/14 (1.91.4) - moved ImGuiConfigFlags_NavEnableSetMousePos to standalone io.ConfigNavMoveSetMousePos bool. + moved ImGuiConfigFlags_NavNoCaptureKeyboard to standalone io.ConfigNavCaptureKeyboard bool (note the inverted value!). + kept legacy names (will obsolete) + code that copies settings once the first time. Dynamically changing the old value won't work. Switch to using the new value! + - 2024/10/10 (1.91.4) - the typedef for ImTextureID now defaults to ImU64 instead of void*. (#1641) + this removes the requirement to redefine it for backends which are e.g. storing descriptor sets or other 64-bits structures when building on 32-bits archs. It therefore simplify various building scripts/helpers. + you may have compile-time issues if you were casting to 'void*' instead of 'ImTextureID' when passing your types to functions taking ImTextureID values, e.g. ImGui::Image(). + in doubt it is almost always better to do an intermediate intptr_t cast, since it allows casting any pointer/integer type without warning: + - May warn: ImGui::Image((void*)MyTextureData, ...); + - May warn: ImGui::Image((void*)(intptr_t)MyTextureData, ...); + - Won't warn: ImGui::Image((ImTextureID)(intptr_t)MyTextureData), ...); + - note that you can always define ImTextureID to be your own high-level structures (with dedicated constructors) if you like. + - 2024/10/03 (1.91.3) - drags: treat v_min==v_max as a valid clamping range when != 0.0f. Zero is a still special value due to legacy reasons, unless using ImGuiSliderFlags_ClampZeroRange. (#7968, #3361, #76) + - drags: extended behavior of ImGuiSliderFlags_AlwaysClamp to include _ClampZeroRange. It considers v_min==v_max==0.0f as a valid clamping range (aka edits not allowed). + although unlikely, it you wish to only clamp on text input but want v_min==v_max==0.0f to mean unclamped drags, you can use _ClampOnInput instead of _AlwaysClamp. (#7968, #3361, #76) + - 2024/09/10 (1.91.2) - internals: using multiple overlayed ButtonBehavior() with same ID will now have io.ConfigDebugHighlightIdConflicts=true feature emit a warning. (#8030) + it was one of the rare case where using same ID is legal. workarounds: (1) use single ButtonBehavior() call with multiple _MouseButton flags, or (2) surround the calls with PushItemFlag(ImGuiItemFlags_AllowDuplicateId, true); ... PopItemFlag() + - 2024/08/23 (1.91.1) - renamed ImGuiChildFlags_Border to ImGuiChildFlags_Borders for consistency. kept inline redirection flag. + - 2024/08/22 (1.91.1) - moved some functions from ImGuiIO to ImGuiPlatformIO structure: + - io.GetClipboardTextFn -> platform_io.Platform_GetClipboardTextFn + changed 'void* user_data' to 'ImGuiContext* ctx'. Pull your user data from platform_io.ClipboardUserData. + - io.SetClipboardTextFn -> platform_io.Platform_SetClipboardTextFn + same as above line. + - io.PlatformOpenInShellFn -> platform_io.Platform_OpenInShellFn (#7660) + - io.PlatformSetImeDataFn -> platform_io.Platform_SetImeDataFn + - io.PlatformLocaleDecimalPoint -> platform_io.Platform_LocaleDecimalPoint (#7389, #6719, #2278) + - access those via GetPlatformIO() instead of GetIO(). + some were introduced very recently and often automatically setup by core library and backends, so for those we are exceptionally not maintaining a legacy redirection symbol. + - commented the old ImageButton() signature obsoleted in 1.89 (~August 2022). As a reminder: + - old ImageButton() before 1.89 used ImTextureId as item id (created issue with e.g. multiple buttons in same scope, transient texture id values, opaque computation of ID) + - new ImageButton() since 1.89 requires an explicit 'const char* str_id' + - old ImageButton() before 1.89 had frame_padding' override argument. + - new ImageButton() since 1.89 always use style.FramePadding, which you can freely override with PushStyleVar()/PopStyleVar(). - 2024/07/25 (1.91.0) - obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and GetWindowContentRegionMax(). (see #7838 on GitHub for more info) you should never need those functions. you can do everything with GetCursorScreenPos() and GetContentRegionAvail() in a more simple way. - instead of: GetWindowContentRegionMax().x - GetCursorPos().x @@ -501,6 +548,7 @@ CODE - new: BeginChild("Name", size, ImGuiChildFlags_Border) - old: BeginChild("Name", size, false) - new: BeginChild("Name", size) or BeginChild("Name", 0) or BeginChild("Name", size, ImGuiChildFlags_None) + **AMEND FROM THE FUTURE: from 1.91.1, 'ImGuiChildFlags_Border' is called 'ImGuiChildFlags_Borders'** - 2023/11/02 (1.90.0) - BeginChild: added child-flag ImGuiChildFlags_AlwaysUseWindowPadding as a replacement for the window-flag ImGuiWindowFlags_AlwaysUseWindowPadding: the feature only ever made sense for BeginChild() anyhow. - old: BeginChild("Name", size, 0, ImGuiWindowFlags_AlwaysUseWindowPadding); - new: BeginChild("Name", size, ImGuiChildFlags_AlwaysUseWindowPadding, 0); @@ -600,7 +648,7 @@ CODE - Backend writing to io.MouseHoveredViewport -> backend should call io.AddMouseViewportEvent() [Docking branch w/ multi-viewports only] note: for all calls to IO new functions, the Dear ImGui context should be bound/current. read https://github.com/ocornut/imgui/issues/4921 for details. - - 2022/01/10 (1.87) - inputs: reworked keyboard IO. Removed io.KeyMap[], io.KeysDown[] in favor of calling io.AddKeyEvent(). Removed GetKeyIndex(), now unnecessary. All IsKeyXXX() functions now take ImGuiKey values. All features are still functional until IMGUI_DISABLE_OBSOLETE_KEYIO is defined. Read Changelog and Release Notes for details. + - 2022/01/10 (1.87) - inputs: reworked keyboard IO. Removed io.KeyMap[], io.KeysDown[] in favor of calling io.AddKeyEvent(), ImGui::IsKeyDown(). Removed GetKeyIndex(), now unnecessary. All IsKeyXXX() functions now take ImGuiKey values. All features are still functional until IMGUI_DISABLE_OBSOLETE_KEYIO is defined. Read Changelog and Release Notes for details. - IsKeyPressed(MY_NATIVE_KEY_XXX) -> use IsKeyPressed(ImGuiKey_XXX) - IsKeyPressed(GetKeyIndex(ImGuiKey_XXX)) -> use IsKeyPressed(ImGuiKey_XXX) - Backend writing to io.KeyMap[],io.KeysDown[] -> backend should call io.AddKeyEvent() (+ call io.SetKeyEventNativeData() if you want legacy user code to stil function with legacy key codes). @@ -1049,7 +1097,7 @@ CODE #else #include #endif -#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_GAMES) +#if defined(WINAPI_FAMILY) && ((defined(WINAPI_FAMILY_APP) && WINAPI_FAMILY == WINAPI_FAMILY_APP) || (defined(WINAPI_FAMILY_GAMES) && WINAPI_FAMILY == WINAPI_FAMILY_GAMES)) // The UWP and GDK Win32 API subsets don't support clipboard nor IME functions #define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS #define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS @@ -1092,17 +1140,20 @@ CODE #pragma clang diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function // using printf() is a misery with this as C++ va_arg ellipsis changes float to double. #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" // warning: implicit conversion from 'xxx' to 'float' may lose precision #pragma clang diagnostic ignored "-Wunsafe-buffer-usage" // warning: 'xxx' is an unsafe pointer used for buffer access +#pragma clang diagnostic ignored "-Wnontrivial-memaccess" // warning: first argument in call to 'memset' is a pointer to non-trivially copyable type #elif defined(__GNUC__) // We disable -Wpragmas because GCC doesn't provide a has_warning equivalent and some forks/patches may not follow the warning/version association. -#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind -#pragma GCC diagnostic ignored "-Wunused-function" // warning: 'xxxx' defined but not used -#pragma GCC diagnostic ignored "-Wint-to-pointer-cast" // warning: cast to pointer from integer of different size -#pragma GCC diagnostic ignored "-Wformat" // warning: format '%p' expects argument of type 'void*', but argument 6 has type 'ImGuiWindow*' -#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function -#pragma GCC diagnostic ignored "-Wconversion" // warning: conversion to 'xxxx' from 'xxxx' may alter its value -#pragma GCC diagnostic ignored "-Wformat-nonliteral" // warning: format not a string literal, format string not checked -#pragma GCC diagnostic ignored "-Wstrict-overflow" // warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false -#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind +#pragma GCC diagnostic ignored "-Wunused-function" // warning: 'xxxx' defined but not used +#pragma GCC diagnostic ignored "-Wint-to-pointer-cast" // warning: cast to pointer from integer of different size +#pragma GCC diagnostic ignored "-Wfloat-equal" // warning: comparing floating-point with '==' or '!=' is unsafe +#pragma GCC diagnostic ignored "-Wformat" // warning: format '%p' expects argument of type 'int'/'void*', but argument X has type 'unsigned int'/'ImGuiWindow*' +#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function +#pragma GCC diagnostic ignored "-Wconversion" // warning: conversion to 'xxxx' from 'xxxx' may alter its value +#pragma GCC diagnostic ignored "-Wformat-nonliteral" // warning: format not a string literal, format string not checked +#pragma GCC diagnostic ignored "-Wstrict-overflow" // warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false +#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wcast-qual" // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers #endif // Debug options @@ -1121,7 +1172,9 @@ static const float WINDOWS_RESIZE_FROM_EDGES_FEEDBACK_TIMER = 0.04f; // Reduc static const float WINDOWS_MOUSE_WHEEL_SCROLL_LOCK_TIMER = 0.70f; // Lock scrolled window (so it doesn't pick child windows that are scrolling through) for a certain time, unless mouse moved. // Tooltip offset -static const ImVec2 TOOLTIP_DEFAULT_OFFSET = ImVec2(16, 10); // Multiplied by g.Style.MouseCursorScale +static const ImVec2 TOOLTIP_DEFAULT_OFFSET_MOUSE = ImVec2(16, 10); // Multiplied by g.Style.MouseCursorScale +static const ImVec2 TOOLTIP_DEFAULT_OFFSET_TOUCH = ImVec2(0, -20); // Multiplied by g.Style.MouseCursorScale +static const ImVec2 TOOLTIP_DEFAULT_PIVOT_TOUCH = ImVec2(0.5f, 1.0f); // Multiplied by g.Style.MouseCursorScale //------------------------------------------------------------------------- // [SECTION] FORWARD DECLARATIONS @@ -1140,17 +1193,21 @@ static void WindowSettingsHandler_ReadLine(ImGuiContext*, ImGuiSetti static void WindowSettingsHandler_ApplyAll(ImGuiContext*, ImGuiSettingsHandler*); static void WindowSettingsHandler_WriteAll(ImGuiContext*, ImGuiSettingsHandler*, ImGuiTextBuffer* buf); -// Platform Dependents default implementation for IO functions -static const char* GetClipboardTextFn_DefaultImpl(void* user_data_ctx); -static void SetClipboardTextFn_DefaultImpl(void* user_data_ctx, const char* text); -static void PlatformSetImeDataFn_DefaultImpl(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data); -static bool PlatformOpenInShellFn_DefaultImpl(ImGuiContext* ctx, const char* path); +// Platform Dependents default implementation for ImGuiPlatformIO functions +static const char* Platform_GetClipboardTextFn_DefaultImpl(ImGuiContext* ctx); +static void Platform_SetClipboardTextFn_DefaultImpl(ImGuiContext* ctx, const char* text); +static void Platform_SetImeDataFn_DefaultImpl(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data); +static bool Platform_OpenInShellFn_DefaultImpl(ImGuiContext* ctx, const char* path); namespace ImGui { // Item static void ItemHandleShortcut(ImGuiID id); +// Window Focus +static int FindWindowFocusIndex(ImGuiWindow* window); +static void UpdateWindowInFocusOrderList(ImGuiWindow* window, bool just_created, ImGuiWindowFlags new_flags); + // Navigation static void NavUpdate(); static void NavUpdateWindowing(); @@ -1166,18 +1223,20 @@ static bool NavScoreItem(ImGuiNavItemData* result); static void NavApplyItemToResult(ImGuiNavItemData* result); static void NavProcessItem(); static void NavProcessItemForTabbingRequest(ImGuiID id, ImGuiItemFlags item_flags, ImGuiNavMoveFlags move_flags); +static ImGuiInputSource NavCalcPreferredRefPosSource(); static ImVec2 NavCalcPreferredRefPos(); static void NavSaveLastChildNavWindowIntoParent(ImGuiWindow* nav_window); static ImGuiWindow* NavRestoreLastChildNavWindow(ImGuiWindow* window); static void NavRestoreLayer(ImGuiNavLayer layer); -static int FindWindowFocusIndex(ImGuiWindow* window); // Error Checking and Debug Tools static void ErrorCheckNewFrameSanityChecks(); static void ErrorCheckEndFrameSanityChecks(); +#ifndef IMGUI_DISABLE_DEBUG_TOOLS static void UpdateDebugToolItemPicker(); static void UpdateDebugToolStackQueries(); static void UpdateDebugToolFlashStyleColor(); +#endif // Inputs static void UpdateKeyboardInputs(); @@ -1244,7 +1303,7 @@ static ImGuiMemFreeFunc GImAllocatorFreeFunc = FreeWrapper; static void* GImAllocatorUserData = NULL; //----------------------------------------------------------------------------- -// [SECTION] USER FACING STRUCTURES (ImGuiStyle, ImGuiIO) +// [SECTION] USER FACING STRUCTURES (ImGuiStyle, ImGuiIO, ImGuiPlatformIO) //----------------------------------------------------------------------------- ImGuiStyle::ImGuiStyle() @@ -1353,10 +1412,6 @@ ImGuiIO::ImGuiIO() IniSavingRate = 5.0f; IniFilename = "imgui.ini"; // Important: "imgui.ini" is relative to current working dir, most apps will want to lock this to an absolute path (e.g. same path as executables). LogFilename = "imgui_log.txt"; -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - for (int i = 0; i < ImGuiKey_COUNT; i++) - KeyMap[i] = -1; -#endif UserData = NULL; Fonts = NULL; @@ -1365,11 +1420,14 @@ ImGuiIO::ImGuiIO() FontAllowUserScaling = false; DisplayFramebufferScale = ImVec2(1.0f, 1.0f); - MouseDoubleClickTime = 0.30f; - MouseDoubleClickMaxDist = 6.0f; - MouseDragThreshold = 6.0f; - KeyRepeatDelay = 0.275f; - KeyRepeatRate = 0.050f; + // Keyboard/Gamepad Navigation options + ConfigNavSwapGamepadButtons = false; + ConfigNavMoveSetMousePos = false; + ConfigNavCaptureKeyboard = true; + ConfigNavEscapeClearFocusItem = true; + ConfigNavEscapeClearFocusWindow = false; + ConfigNavCursorVisibleAuto = true; + ConfigNavCursorVisibleAlways = false; // Miscellaneous options MouseDrawCursor = false; @@ -1378,23 +1436,36 @@ ImGuiIO::ImGuiIO() #else ConfigMacOSXBehaviors = false; #endif - ConfigNavSwapGamepadButtons = false; ConfigInputTrickleEventQueue = true; ConfigInputTextCursorBlink = true; ConfigInputTextEnterKeepActive = false; ConfigDragClickToInputText = false; ConfigWindowsResizeFromEdges = true; ConfigWindowsMoveFromTitleBarOnly = false; + ConfigWindowsCopyContentsWithCtrlC = false; + ConfigScrollbarScrollByPage = true; ConfigMemoryCompactTimer = 60.0f; + ConfigDebugIsDebuggerPresent = false; + ConfigDebugHighlightIdConflicts = true; ConfigDebugBeginReturnValueOnce = false; ConfigDebugBeginReturnValueLoop = false; + ConfigErrorRecovery = true; + ConfigErrorRecoveryEnableAssert = true; + ConfigErrorRecoveryEnableDebugLog = true; + ConfigErrorRecoveryEnableTooltip = true; + + // Inputs Behaviors + MouseDoubleClickTime = 0.30f; + MouseDoubleClickMaxDist = 6.0f; + MouseDragThreshold = 6.0f; + KeyRepeatDelay = 0.275f; + KeyRepeatRate = 0.050f; + // Platform Functions // Note: Initialize() will setup default clipboard/ime handlers. BackendPlatformName = BackendRendererName = NULL; BackendPlatformUserData = BackendRendererUserData = BackendLanguageUserData = NULL; - PlatformOpenInShellUserData = NULL; - PlatformLocaleDecimalPoint = '.'; // Input (NB: we already have memset zero the entire structure!) MousePos = ImVec2(-FLT_MAX, -FLT_MAX); @@ -1403,8 +1474,6 @@ ImGuiIO::ImGuiIO() for (int i = 0; i < IM_ARRAYSIZE(MouseDownDuration); i++) MouseDownDuration[i] = MouseDownDurationPrev[i] = -1.0f; for (int i = 0; i < IM_ARRAYSIZE(KeysData); i++) { KeysData[i].DownDuration = KeysData[i].DownDurationPrev = -1.0f; } AppAcceptingEvents = true; - BackendUsingLegacyKeyArrays = (ImS8)-1; - BackendUsingLegacyNavInputArray = true; // assume using legacy array until proven wrong } // Pass in translated ASCII characters for text input. @@ -1485,16 +1554,15 @@ void ImGuiIO::ClearEventsQueue() // Clear current keyboard/gamepad state + current frame text input buffer. Equivalent to releasing all keys/buttons. void ImGuiIO::ClearInputKeys() { -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - memset(KeysDown, 0, sizeof(KeysDown)); -#endif - for (int n = 0; n < IM_ARRAYSIZE(KeysData); n++) + ImGuiContext& g = *Ctx; + for (int key = ImGuiKey_NamedKey_BEGIN; key < ImGuiKey_NamedKey_END; key++) { - if (ImGui::IsMouseKey((ImGuiKey)(n + ImGuiKey_KeysData_OFFSET))) + if (ImGui::IsMouseKey((ImGuiKey)key)) continue; - KeysData[n].Down = false; - KeysData[n].DownDuration = -1.0f; - KeysData[n].DownDurationPrev = -1.0f; + ImGuiKeyData* key_data = &g.IO.KeysData[key - ImGuiKey_NamedKey_BEGIN]; + key_data->Down = false; + key_data->DownDuration = -1.0f; + key_data->DownDurationPrev = -1.0f; } KeyCtrl = KeyShift = KeyAlt = KeySuper = false; KeyMods = ImGuiMod_None; @@ -1505,7 +1573,7 @@ void ImGuiIO::ClearInputMouse() { for (ImGuiKey key = ImGuiKey_Mouse_BEGIN; key < ImGuiKey_Mouse_END; key = (ImGuiKey)(key + 1)) { - ImGuiKeyData* key_data = &KeysData[key - ImGuiKey_KeysData_OFFSET]; + ImGuiKeyData* key_data = &KeysData[key - ImGuiKey_NamedKey_BEGIN]; key_data->Down = false; key_data->DownDuration = -1.0f; key_data->DownDurationPrev = -1.0f; @@ -1572,17 +1640,6 @@ void ImGuiIO::AddKeyAnalogEvent(ImGuiKey key, bool down, float analog_value) else if (key == ImGuiKey_RightCtrl) { key = ImGuiKey_RightSuper; } } - // Verify that backend isn't mixing up using new io.AddKeyEvent() api and old io.KeysDown[] + io.KeyMap[] data. -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - IM_ASSERT((BackendUsingLegacyKeyArrays == -1 || BackendUsingLegacyKeyArrays == 0) && "Backend needs to either only use io.AddKeyEvent(), either only fill legacy io.KeysDown[] + io.KeyMap[]. Not both!"); - if (BackendUsingLegacyKeyArrays == -1) - for (int n = ImGuiKey_NamedKey_BEGIN; n < ImGuiKey_NamedKey_END; n++) - IM_ASSERT(KeyMap[n] == -1 && "Backend needs to either only use io.AddKeyEvent(), either only fill legacy io.KeysDown[] + io.KeyMap[]. Not both!"); - BackendUsingLegacyKeyArrays = 0; -#endif - if (ImGui::IsGamepadKey(key)) - BackendUsingLegacyNavInputArray = false; - // Filter duplicate (in particular: key mods and gamepad analog values are commonly spammed) const ImGuiInputEvent* latest_event = FindLatestInputEvent(&g, ImGuiInputEventType_Key, (int)key); const ImGuiKeyData* key_data = ImGui::GetKeyData(&g, key); @@ -1618,20 +1675,10 @@ void ImGuiIO::SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native return; IM_ASSERT(ImGui::IsNamedKey(key)); // >= 512 IM_ASSERT(native_legacy_index == -1 || ImGui::IsLegacyKey((ImGuiKey)native_legacy_index)); // >= 0 && <= 511 - IM_UNUSED(native_keycode); // Yet unused - IM_UNUSED(native_scancode); // Yet unused - - // Build native->imgui map so old user code can still call key functions with native 0..511 values. -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - const int legacy_key = (native_legacy_index != -1) ? native_legacy_index : native_keycode; - if (!ImGui::IsLegacyKey((ImGuiKey)legacy_key)) - return; - KeyMap[legacy_key] = key; - KeyMap[key] = legacy_key; -#else - IM_UNUSED(key); - IM_UNUSED(native_legacy_index); -#endif + IM_UNUSED(key); // Yet unused + IM_UNUSED(native_keycode); // Yet unused + IM_UNUSED(native_scancode); // Yet unused + IM_UNUSED(native_legacy_index); // Yet unused } // Set master flag for accepting key/mouse/text events (default to true). Useful if you have native dialog boxes that are interrupting your application loop/refresh, and you want to disable events being queued while your app is frozen. @@ -1762,6 +1809,13 @@ void ImGuiIO::AddFocusEvent(bool focused) g.InputEventsQueue.push_back(e); } +ImGuiPlatformIO::ImGuiPlatformIO() +{ + // Most fields are initialized with zero + memset(this, 0, sizeof(*this)); + Platform_LocaleDecimalPoint = '.'; +} + //----------------------------------------------------------------------------- // [SECTION] MISC HELPERS/UTILITIES (Geometry functions) //----------------------------------------------------------------------------- @@ -1952,7 +2006,7 @@ const char* ImStreolRange(const char* str, const char* str_end) return p ? p : str_end; } -const ImWchar* ImStrbolW(const ImWchar* buf_mid_line, const ImWchar* buf_begin) // find beginning-of-line +const char* ImStrbol(const char* buf_mid_line, const char* buf_begin) // find beginning-of-line { while (buf_mid_line > buf_begin && buf_mid_line[-1] != '\n') buf_mid_line--; @@ -2105,11 +2159,14 @@ void ImFormatStringToTempBufferV(const char** out_buf, const char** out_buf_end, } } +#ifndef IMGUI_ENABLE_SSE4_2_CRC // CRC32 needs a 1KB lookup table (not cache friendly) // Although the code to generate the table is simple and shorter than the table itself, using a const table allows us to easily: // - avoid an unnecessary branch/memory tap, - keep the ImHashXXX functions usable by static constructors, - make it thread-safe. static const ImU32 GCrc32LookupTable[256] = { +#ifdef IMGUI_USE_LEGACY_CRC32_ADLER + // Legacy CRC32-adler table used pre 1.91.6 (before 2024/11/27). Only use if you cannot afford invalidating old .ini data. 0x00000000,0x77073096,0xEE0E612C,0x990951BA,0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3,0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,0x09B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91, 0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7,0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5, 0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B,0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59, @@ -2126,7 +2183,27 @@ static const ImU32 GCrc32LookupTable[256] = 0x86D3D2D4,0xF1D4E242,0x68DDB3F8,0x1FDA836E,0x81BE16CD,0xF6B9265B,0x6FB077E1,0x18B74777,0x88085AE6,0xFF0F6A70,0x66063BCA,0x11010B5C,0x8F659EFF,0xF862AE69,0x616BFFD3,0x166CCF45, 0xA00AE278,0xD70DD2EE,0x4E048354,0x3903B3C2,0xA7672661,0xD06016F7,0x4969474D,0x3E6E77DB,0xAED16A4A,0xD9D65ADC,0x40DF0B66,0x37D83BF0,0xA9BCAE53,0xDEBB9EC5,0x47B2CF7F,0x30B5FFE9, 0xBDBDF21C,0xCABAC28A,0x53B39330,0x24B4A3A6,0xBAD03605,0xCDD70693,0x54DE5729,0x23D967BF,0xB3667A2E,0xC4614AB8,0x5D681B02,0x2A6F2B94,0xB40BBE37,0xC30C8EA1,0x5A05DF1B,0x2D02EF8D, +#else + // CRC32c table compatible with SSE 4.2 instructions + 0x00000000,0xF26B8303,0xE13B70F7,0x1350F3F4,0xC79A971F,0x35F1141C,0x26A1E7E8,0xD4CA64EB,0x8AD958CF,0x78B2DBCC,0x6BE22838,0x9989AB3B,0x4D43CFD0,0xBF284CD3,0xAC78BF27,0x5E133C24, + 0x105EC76F,0xE235446C,0xF165B798,0x030E349B,0xD7C45070,0x25AFD373,0x36FF2087,0xC494A384,0x9A879FA0,0x68EC1CA3,0x7BBCEF57,0x89D76C54,0x5D1D08BF,0xAF768BBC,0xBC267848,0x4E4DFB4B, + 0x20BD8EDE,0xD2D60DDD,0xC186FE29,0x33ED7D2A,0xE72719C1,0x154C9AC2,0x061C6936,0xF477EA35,0xAA64D611,0x580F5512,0x4B5FA6E6,0xB93425E5,0x6DFE410E,0x9F95C20D,0x8CC531F9,0x7EAEB2FA, + 0x30E349B1,0xC288CAB2,0xD1D83946,0x23B3BA45,0xF779DEAE,0x05125DAD,0x1642AE59,0xE4292D5A,0xBA3A117E,0x4851927D,0x5B016189,0xA96AE28A,0x7DA08661,0x8FCB0562,0x9C9BF696,0x6EF07595, + 0x417B1DBC,0xB3109EBF,0xA0406D4B,0x522BEE48,0x86E18AA3,0x748A09A0,0x67DAFA54,0x95B17957,0xCBA24573,0x39C9C670,0x2A993584,0xD8F2B687,0x0C38D26C,0xFE53516F,0xED03A29B,0x1F682198, + 0x5125DAD3,0xA34E59D0,0xB01EAA24,0x42752927,0x96BF4DCC,0x64D4CECF,0x77843D3B,0x85EFBE38,0xDBFC821C,0x2997011F,0x3AC7F2EB,0xC8AC71E8,0x1C661503,0xEE0D9600,0xFD5D65F4,0x0F36E6F7, + 0x61C69362,0x93AD1061,0x80FDE395,0x72966096,0xA65C047D,0x5437877E,0x4767748A,0xB50CF789,0xEB1FCBAD,0x197448AE,0x0A24BB5A,0xF84F3859,0x2C855CB2,0xDEEEDFB1,0xCDBE2C45,0x3FD5AF46, + 0x7198540D,0x83F3D70E,0x90A324FA,0x62C8A7F9,0xB602C312,0x44694011,0x5739B3E5,0xA55230E6,0xFB410CC2,0x092A8FC1,0x1A7A7C35,0xE811FF36,0x3CDB9BDD,0xCEB018DE,0xDDE0EB2A,0x2F8B6829, + 0x82F63B78,0x709DB87B,0x63CD4B8F,0x91A6C88C,0x456CAC67,0xB7072F64,0xA457DC90,0x563C5F93,0x082F63B7,0xFA44E0B4,0xE9141340,0x1B7F9043,0xCFB5F4A8,0x3DDE77AB,0x2E8E845F,0xDCE5075C, + 0x92A8FC17,0x60C37F14,0x73938CE0,0x81F80FE3,0x55326B08,0xA759E80B,0xB4091BFF,0x466298FC,0x1871A4D8,0xEA1A27DB,0xF94AD42F,0x0B21572C,0xDFEB33C7,0x2D80B0C4,0x3ED04330,0xCCBBC033, + 0xA24BB5A6,0x502036A5,0x4370C551,0xB11B4652,0x65D122B9,0x97BAA1BA,0x84EA524E,0x7681D14D,0x2892ED69,0xDAF96E6A,0xC9A99D9E,0x3BC21E9D,0xEF087A76,0x1D63F975,0x0E330A81,0xFC588982, + 0xB21572C9,0x407EF1CA,0x532E023E,0xA145813D,0x758FE5D6,0x87E466D5,0x94B49521,0x66DF1622,0x38CC2A06,0xCAA7A905,0xD9F75AF1,0x2B9CD9F2,0xFF56BD19,0x0D3D3E1A,0x1E6DCDEE,0xEC064EED, + 0xC38D26C4,0x31E6A5C7,0x22B65633,0xD0DDD530,0x0417B1DB,0xF67C32D8,0xE52CC12C,0x1747422F,0x49547E0B,0xBB3FFD08,0xA86F0EFC,0x5A048DFF,0x8ECEE914,0x7CA56A17,0x6FF599E3,0x9D9E1AE0, + 0xD3D3E1AB,0x21B862A8,0x32E8915C,0xC083125F,0x144976B4,0xE622F5B7,0xF5720643,0x07198540,0x590AB964,0xAB613A67,0xB831C993,0x4A5A4A90,0x9E902E7B,0x6CFBAD78,0x7FAB5E8C,0x8DC0DD8F, + 0xE330A81A,0x115B2B19,0x020BD8ED,0xF0605BEE,0x24AA3F05,0xD6C1BC06,0xC5914FF2,0x37FACCF1,0x69E9F0D5,0x9B8273D6,0x88D28022,0x7AB90321,0xAE7367CA,0x5C18E4C9,0x4F48173D,0xBD23943E, + 0xF36E6F75,0x0105EC76,0x12551F82,0xE03E9C81,0x34F4F86A,0xC69F7B69,0xD5CF889D,0x27A40B9E,0x79B737BA,0x8BDCB4B9,0x988C474D,0x6AE7C44E,0xBE2DA0A5,0x4C4623A6,0x5F16D052,0xAD7D5351 +#endif }; +#endif // Known size hash // It is ok to call ImHashData on a string with known length but the ### operator won't be supported. @@ -2135,10 +2212,22 @@ ImGuiID ImHashData(const void* data_p, size_t data_size, ImGuiID seed) { ImU32 crc = ~seed; const unsigned char* data = (const unsigned char*)data_p; + const unsigned char *data_end = (const unsigned char*)data_p + data_size; +#ifndef IMGUI_ENABLE_SSE4_2_CRC const ImU32* crc32_lut = GCrc32LookupTable; - while (data_size-- != 0) + while (data < data_end) crc = (crc >> 8) ^ crc32_lut[(crc & 0xFF) ^ *data++]; return ~crc; +#else + while (data + 4 <= data_end) + { + crc = _mm_crc32_u32(crc, *(ImU32*)data); + data += 4; + } + while (data < data_end) + crc = _mm_crc32_u8(crc, *data++); + return ~crc; +#endif } // Zero-terminated string hash, with support for ### to reset back to seed value @@ -2152,7 +2241,9 @@ ImGuiID ImHashStr(const char* data_p, size_t data_size, ImGuiID seed) seed = ~seed; ImU32 crc = seed; const unsigned char* data = (const unsigned char*)data_p; +#ifndef IMGUI_ENABLE_SSE4_2_CRC const ImU32* crc32_lut = GCrc32LookupTable; +#endif if (data_size != 0) { while (data_size-- != 0) @@ -2160,7 +2251,11 @@ ImGuiID ImHashStr(const char* data_p, size_t data_size, ImGuiID seed) unsigned char c = *data++; if (c == '#' && data_size >= 2 && data[0] == '#' && data[1] == '#') crc = seed; +#ifndef IMGUI_ENABLE_SSE4_2_CRC crc = (crc >> 8) ^ crc32_lut[(crc & 0xFF) ^ c]; +#else + crc = _mm_crc32_u8(crc, c); +#endif } } else @@ -2169,7 +2264,11 @@ ImGuiID ImHashStr(const char* data_p, size_t data_size, ImGuiID seed) { if (c == '#' && data[0] == '#' && data[1] == '#') crc = seed; +#ifndef IMGUI_ENABLE_SSE4_2_CRC crc = (crc >> 8) ^ crc32_lut[(crc & 0xFF) ^ c]; +#else + crc = _mm_crc32_u8(crc, c); +#endif } } return ~crc; @@ -2184,7 +2283,7 @@ ImGuiID ImHashStr(const char* data_p, size_t data_size, ImGuiID seed) ImFileHandle ImFileOpen(const char* filename, const char* mode) { -#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS) && !defined(__CYGWIN__) && !defined(__GNUC__) +#if defined(_WIN32) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS) && (defined(__MINGW32__) || (!defined(__CYGWIN__) && !defined(__GNUC__))) // We need a fopen() wrapper because MSVC/Windows fopen doesn't handle UTF-8 filenames. // Previously we used ImTextCountCharsFromUtf8/ImTextStrFromUtf8 here but we now need to support ImWchar16 and ImWchar32! const int filename_wsize = ::MultiByteToWideChar(CP_UTF8, 0, filename, -1, NULL, 0); @@ -3249,7 +3348,7 @@ void ImGui::PopStyleColor(int count) ImGuiContext& g = *GImGui; if (g.ColorStack.Size < count) { - IM_ASSERT_USER_ERROR(g.ColorStack.Size > count, "Calling PopStyleColor() too many times!"); + IM_ASSERT_USER_ERROR(0, "Calling PopStyleColor() too many times!"); count = g.ColorStack.Size; } while (count > 0) @@ -3309,28 +3408,56 @@ void ImGui::PushStyleVar(ImGuiStyleVar idx, float val) { ImGuiContext& g = *GImGui; const ImGuiDataVarInfo* var_info = GetStyleVarInfo(idx); - if (var_info->Type == ImGuiDataType_Float && var_info->Count == 1) + if (var_info->Type != ImGuiDataType_Float || var_info->Count != 1) + { + IM_ASSERT_USER_ERROR(0, "Calling PushStyleVar() variant with wrong type!"); + return; + } + float* pvar = (float*)var_info->GetVarPtr(&g.Style); + g.StyleVarStack.push_back(ImGuiStyleMod(idx, *pvar)); + *pvar = val; +} + +void ImGui::PushStyleVarX(ImGuiStyleVar idx, float val_x) +{ + ImGuiContext& g = *GImGui; + const ImGuiDataVarInfo* var_info = GetStyleVarInfo(idx); + if (var_info->Type != ImGuiDataType_Float || var_info->Count != 2) + { + IM_ASSERT_USER_ERROR(0, "Calling PushStyleVar() variant with wrong type!"); + return; + } + ImVec2* pvar = (ImVec2*)var_info->GetVarPtr(&g.Style); + g.StyleVarStack.push_back(ImGuiStyleMod(idx, *pvar)); + pvar->x = val_x; +} + +void ImGui::PushStyleVarY(ImGuiStyleVar idx, float val_y) +{ + ImGuiContext& g = *GImGui; + const ImGuiDataVarInfo* var_info = GetStyleVarInfo(idx); + if (var_info->Type != ImGuiDataType_Float || var_info->Count != 2) { - float* pvar = (float*)var_info->GetVarPtr(&g.Style); - g.StyleVarStack.push_back(ImGuiStyleMod(idx, *pvar)); - *pvar = val; + IM_ASSERT_USER_ERROR(0, "Calling PushStyleVar() variant with wrong type!"); return; } - IM_ASSERT_USER_ERROR(0, "Calling PushStyleVar() variant with wrong type!"); + ImVec2* pvar = (ImVec2*)var_info->GetVarPtr(&g.Style); + g.StyleVarStack.push_back(ImGuiStyleMod(idx, *pvar)); + pvar->y = val_y; } void ImGui::PushStyleVar(ImGuiStyleVar idx, const ImVec2& val) { ImGuiContext& g = *GImGui; const ImGuiDataVarInfo* var_info = GetStyleVarInfo(idx); - if (var_info->Type == ImGuiDataType_Float && var_info->Count == 2) + if (var_info->Type != ImGuiDataType_Float || var_info->Count != 2) { - ImVec2* pvar = (ImVec2*)var_info->GetVarPtr(&g.Style); - g.StyleVarStack.push_back(ImGuiStyleMod(idx, *pvar)); - *pvar = val; + IM_ASSERT_USER_ERROR(0, "Calling PushStyleVar() variant with wrong type!"); return; } - IM_ASSERT_USER_ERROR(0, "Calling PushStyleVar() variant with wrong type!"); + ImVec2* pvar = (ImVec2*)var_info->GetVarPtr(&g.Style); + g.StyleVarStack.push_back(ImGuiStyleMod(idx, *pvar)); + *pvar = val; } void ImGui::PopStyleVar(int count) @@ -3338,7 +3465,7 @@ void ImGui::PopStyleVar(int count) ImGuiContext& g = *GImGui; if (g.StyleVarStack.Size < count) { - IM_ASSERT_USER_ERROR(g.StyleVarStack.Size > count, "Calling PopStyleVar() too many times!"); + IM_ASSERT_USER_ERROR(0, "Calling PopStyleVar() too many times!"); count = g.StyleVarStack.Size; } while (count > 0) @@ -3411,7 +3538,7 @@ const char* ImGui::GetStyleColorName(ImGuiCol idx) case ImGuiCol_TextLink: return "TextLink"; case ImGuiCol_TextSelectedBg: return "TextSelectedBg"; case ImGuiCol_DragDropTarget: return "DragDropTarget"; - case ImGuiCol_NavHighlight: return "NavHighlight"; + case ImGuiCol_NavCursor: return "NavCursor"; case ImGuiCol_NavWindowingHighlight: return "NavWindowingHighlight"; case ImGuiCol_NavWindowingDimBg: return "NavWindowingDimBg"; case ImGuiCol_ModalWindowDimBg: return "ModalWindowDimBg"; @@ -3420,7 +3547,6 @@ const char* ImGui::GetStyleColorName(ImGuiCol idx) return "Unknown"; } - //----------------------------------------------------------------------------- // [SECTION] RENDER HELPERS // Some of those (internal) functions are currently quite a legacy mess - their signature and behavior will change, @@ -3552,7 +3678,7 @@ void ImGui::RenderTextEllipsis(ImDrawList* draw_list, const ImVec2& pos_min, con // min max ellipsis_max // <-> this is generally some padding value - const ImFont* font = draw_list->_Data->Font; + ImFont* font = draw_list->_Data->Font; const float font_size = draw_list->_Data->FontSize; const float font_scale = draw_list->_Data->FontScale; const char* text_end_ellipsis = NULL; @@ -3591,13 +3717,13 @@ void ImGui::RenderTextEllipsis(ImDrawList* draw_list, const ImVec2& pos_min, con } // Render a rectangle shaped with optional rounding and borders -void ImGui::RenderFrame(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool border, float rounding) +void ImGui::RenderFrame(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool borders, float rounding) { ImGuiContext& g = *GImGui; ImGuiWindow* window = g.CurrentWindow; window->DrawList->AddRectFilled(p_min, p_max, fill_col, rounding); const float border_size = g.Style.FrameBorderSize; - if (border && border_size > 0.0f) + if (borders && border_size > 0.0f) { window->DrawList->AddRect(p_min + ImVec2(1, 1), p_max + ImVec2(1, 1), GetColorU32(ImGuiCol_BorderShadow), rounding, 0, border_size); window->DrawList->AddRect(p_min, p_max, GetColorU32(ImGuiCol_Border), rounding, 0, border_size); @@ -3616,24 +3742,26 @@ void ImGui::RenderFrameBorder(ImVec2 p_min, ImVec2 p_max, float rounding) } } -void ImGui::RenderNavHighlight(const ImRect& bb, ImGuiID id, ImGuiNavHighlightFlags flags) +void ImGui::RenderNavCursor(const ImRect& bb, ImGuiID id, ImGuiNavRenderCursorFlags flags) { ImGuiContext& g = *GImGui; if (id != g.NavId) return; - if (g.NavDisableHighlight && !(flags & ImGuiNavHighlightFlags_AlwaysDraw)) + if (!g.NavCursorVisible && !(flags & ImGuiNavRenderCursorFlags_AlwaysDraw)) + return; + if (id == g.LastItemData.ID && (g.LastItemData.ItemFlags & ImGuiItemFlags_NoNav)) return; ImGuiWindow* window = g.CurrentWindow; if (window->DC.NavHideHighlightOneFrame) return; - float rounding = (flags & ImGuiNavHighlightFlags_NoRounding) ? 0.0f : g.Style.FrameRounding; + float rounding = (flags & ImGuiNavRenderCursorFlags_NoRounding) ? 0.0f : g.Style.FrameRounding; ImRect display_rect = bb; display_rect.ClipWith(window->ClipRect); const float thickness = 2.0f; - if (flags & ImGuiNavHighlightFlags_Compact) + if (flags & ImGuiNavRenderCursorFlags_Compact) { - window->DrawList->AddRect(display_rect.Min, display_rect.Max, GetColorU32(ImGuiCol_NavHighlight), rounding, 0, thickness); + window->DrawList->AddRect(display_rect.Min, display_rect.Max, GetColorU32(ImGuiCol_NavCursor), rounding, 0, thickness); } else { @@ -3642,7 +3770,7 @@ void ImGui::RenderNavHighlight(const ImRect& bb, ImGuiID id, ImGuiNavHighlightFl bool fully_visible = window->ClipRect.Contains(display_rect); if (!fully_visible) window->DrawList->PushClipRect(display_rect.Min, display_rect.Max); - window->DrawList->AddRect(display_rect.Min, display_rect.Max, GetColorU32(ImGuiCol_NavHighlight), rounding, 0, thickness); + window->DrawList->AddRect(display_rect.Min, display_rect.Max, GetColorU32(ImGuiCol_NavCursor), rounding, 0, thickness); if (!fully_visible) window->DrawList->PopClipRect(); } @@ -3651,7 +3779,8 @@ void ImGui::RenderNavHighlight(const ImRect& bb, ImGuiID id, ImGuiNavHighlightFl void ImGui::RenderMouseCursor(ImVec2 base_pos, float base_scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow) { ImGuiContext& g = *GImGui; - IM_ASSERT(mouse_cursor > ImGuiMouseCursor_None && mouse_cursor < ImGuiMouseCursor_COUNT); + if (mouse_cursor <= ImGuiMouseCursor_None || mouse_cursor >= ImGuiMouseCursor_COUNT) // We intentionally accept out of bound values. + mouse_cursor = ImGuiMouseCursor_Arrow; ImFontAtlas* font_atlas = g.DrawListSharedData.Font->ContainerAtlas; for (ImGuiViewportP* viewport : g.Viewports) { @@ -3731,7 +3860,7 @@ void ImGui::DestroyContext(ImGuiContext* ctx) IM_DELETE(ctx); } -// IMPORTANT: ###xxx suffixes must be same in ALL languages to allow for automation. +// IMPORTANT: interactive elements requires a fixed ###xxx suffix, it must be same in ALL languages to allow for automation. static const ImGuiLocEntry GLocalizationEntriesEnUS[] = { { ImGuiLocKey_VersionStr, "Dear ImGui " IMGUI_VERSION " (" IM_STRINGIFY(IMGUI_VERSION_NUM) ")" }, @@ -3742,9 +3871,226 @@ static const ImGuiLocEntry GLocalizationEntriesEnUS[] = { ImGuiLocKey_WindowingMainMenuBar, "(Main menu bar)" }, { ImGuiLocKey_WindowingPopup, "(Popup)" }, { ImGuiLocKey_WindowingUntitled, "(Untitled)" }, - { ImGuiLocKey_CopyLink, "Copy Link###CopyLink" }, + { ImGuiLocKey_OpenLink_s, "Open '%s'" }, + { ImGuiLocKey_CopyLink, "Copy Link###CopyLink" }, }; +ImGuiContext::ImGuiContext(ImFontAtlas* shared_font_atlas) +{ + IO.Ctx = this; + InputTextState.Ctx = this; + + Initialized = false; + FontAtlasOwnedByContext = shared_font_atlas ? false : true; + Font = NULL; + FontSize = FontBaseSize = FontScale = CurrentDpiScale = 0.0f; + IO.Fonts = shared_font_atlas ? shared_font_atlas : IM_NEW(ImFontAtlas)(); + Time = 0.0f; + FrameCount = 0; + FrameCountEnded = FrameCountRendered = -1; + WithinEndChildID = 0; + WithinFrameScope = WithinFrameScopeWithImplicitWindow = false; + GcCompactAll = false; + TestEngineHookItems = false; + TestEngine = NULL; + memset(ContextName, 0, sizeof(ContextName)); + + InputEventsNextMouseSource = ImGuiMouseSource_Mouse; + InputEventsNextEventId = 1; + + WindowsActiveCount = 0; + CurrentWindow = NULL; + HoveredWindow = NULL; + HoveredWindowUnderMovingWindow = NULL; + HoveredWindowBeforeClear = NULL; + MovingWindow = NULL; + WheelingWindow = NULL; + WheelingWindowStartFrame = WheelingWindowScrolledFrame = -1; + WheelingWindowReleaseTimer = 0.0f; + + DebugDrawIdConflicts = 0; + DebugHookIdInfo = 0; + HoveredId = HoveredIdPreviousFrame = 0; + HoveredIdPreviousFrameItemCount = 0; + HoveredIdAllowOverlap = false; + HoveredIdIsDisabled = false; + HoveredIdTimer = HoveredIdNotActiveTimer = 0.0f; + ItemUnclipByLog = false; + ActiveId = 0; + ActiveIdIsAlive = 0; + ActiveIdTimer = 0.0f; + ActiveIdIsJustActivated = false; + ActiveIdAllowOverlap = false; + ActiveIdNoClearOnFocusLoss = false; + ActiveIdHasBeenPressedBefore = false; + ActiveIdHasBeenEditedBefore = false; + ActiveIdHasBeenEditedThisFrame = false; + ActiveIdFromShortcut = false; + ActiveIdClickOffset = ImVec2(-1, -1); + ActiveIdWindow = NULL; + ActiveIdSource = ImGuiInputSource_None; + ActiveIdMouseButton = -1; + ActiveIdPreviousFrame = 0; + memset(&DeactivatedItemData, 0, sizeof(DeactivatedItemData)); + memset(&ActiveIdValueOnActivation, 0, sizeof(ActiveIdValueOnActivation)); + LastActiveId = 0; + LastActiveIdTimer = 0.0f; + + LastKeyboardKeyPressTime = LastKeyModsChangeTime = LastKeyModsChangeFromNoneTime = -1.0; + + ActiveIdUsingNavDirMask = 0x00; + ActiveIdUsingAllKeyboardKeys = false; + + CurrentFocusScopeId = 0; + CurrentItemFlags = ImGuiItemFlags_None; + DebugShowGroupRects = false; + + NavCursorVisible = false; + NavHighlightItemUnderNav = false; + NavMousePosDirty = false; + NavIdIsAlive = false; + NavId = 0; + NavWindow = NULL; + NavFocusScopeId = NavActivateId = NavActivateDownId = NavActivatePressedId = 0; + NavLayer = ImGuiNavLayer_Main; + NavNextActivateId = 0; + NavActivateFlags = NavNextActivateFlags = ImGuiActivateFlags_None; + NavHighlightActivatedId = 0; + NavHighlightActivatedTimer = 0.0f; + NavInputSource = ImGuiInputSource_Keyboard; + NavLastValidSelectionUserData = ImGuiSelectionUserData_Invalid; + NavCursorHideFrames = 0; + + NavAnyRequest = false; + NavInitRequest = false; + NavInitRequestFromMove = false; + NavMoveSubmitted = false; + NavMoveScoringItems = false; + NavMoveForwardToNextFrame = false; + NavMoveFlags = ImGuiNavMoveFlags_None; + NavMoveScrollFlags = ImGuiScrollFlags_None; + NavMoveKeyMods = ImGuiMod_None; + NavMoveDir = NavMoveDirForDebug = NavMoveClipDir = ImGuiDir_None; + NavScoringDebugCount = 0; + NavTabbingDir = 0; + NavTabbingCounter = 0; + + NavJustMovedFromFocusScopeId = NavJustMovedToId = NavJustMovedToFocusScopeId = 0; + NavJustMovedToKeyMods = ImGuiMod_None; + NavJustMovedToIsTabbing = false; + NavJustMovedToHasSelectionData = false; + + // All platforms use Ctrl+Tab but Ctrl<>Super are swapped on Mac... + // FIXME: Because this value is stored, it annoyingly interfere with toggling io.ConfigMacOSXBehaviors updating this.. + ConfigNavWindowingKeyNext = IO.ConfigMacOSXBehaviors ? (ImGuiMod_Super | ImGuiKey_Tab) : (ImGuiMod_Ctrl | ImGuiKey_Tab); + ConfigNavWindowingKeyPrev = IO.ConfigMacOSXBehaviors ? (ImGuiMod_Super | ImGuiMod_Shift | ImGuiKey_Tab) : (ImGuiMod_Ctrl | ImGuiMod_Shift | ImGuiKey_Tab); + NavWindowingTarget = NavWindowingTargetAnim = NavWindowingListWindow = NULL; + NavWindowingTimer = NavWindowingHighlightAlpha = 0.0f; + NavWindowingToggleLayer = false; + NavWindowingToggleKey = ImGuiKey_None; + + DimBgRatio = 0.0f; + + DragDropActive = DragDropWithinSource = DragDropWithinTarget = false; + DragDropSourceFlags = ImGuiDragDropFlags_None; + DragDropSourceFrameCount = -1; + DragDropMouseButton = -1; + DragDropTargetId = 0; + DragDropAcceptFlags = ImGuiDragDropFlags_None; + DragDropAcceptIdCurrRectSurface = 0.0f; + DragDropAcceptIdPrev = DragDropAcceptIdCurr = 0; + DragDropAcceptFrameCount = -1; + DragDropHoldJustPressedId = 0; + memset(DragDropPayloadBufLocal, 0, sizeof(DragDropPayloadBufLocal)); + + ClipperTempDataStacked = 0; + + CurrentTable = NULL; + TablesTempDataStacked = 0; + CurrentTabBar = NULL; + CurrentMultiSelect = NULL; + MultiSelectTempDataStacked = 0; + + HoverItemDelayId = HoverItemDelayIdPreviousFrame = HoverItemUnlockedStationaryId = HoverWindowUnlockedStationaryId = 0; + HoverItemDelayTimer = HoverItemDelayClearTimer = 0.0f; + + MouseCursor = ImGuiMouseCursor_Arrow; + MouseStationaryTimer = 0.0f; + + TempInputId = 0; + memset(&DataTypeZeroValue, 0, sizeof(DataTypeZeroValue)); + BeginMenuDepth = BeginComboDepth = 0; + ColorEditOptions = ImGuiColorEditFlags_DefaultOptions_; + ColorEditCurrentID = ColorEditSavedID = 0; + ColorEditSavedHue = ColorEditSavedSat = 0.0f; + ColorEditSavedColor = 0; + WindowResizeRelativeMode = false; + ScrollbarSeekMode = 0; + ScrollbarClickDeltaToGrabCenter = 0.0f; + SliderGrabClickOffset = 0.0f; + SliderCurrentAccum = 0.0f; + SliderCurrentAccumDirty = false; + DragCurrentAccumDirty = false; + DragCurrentAccum = 0.0f; + DragSpeedDefaultRatio = 1.0f / 100.0f; + DisabledAlphaBackup = 0.0f; + DisabledStackSize = 0; + TooltipOverrideCount = 0; + TooltipPreviousWindow = NULL; + + PlatformImeData.InputPos = ImVec2(0.0f, 0.0f); + PlatformImeDataPrev.InputPos = ImVec2(-1.0f, -1.0f); // Different to ensure initial submission + + SettingsLoaded = false; + SettingsDirtyTimer = 0.0f; + HookIdNext = 0; + + memset(LocalizationTable, 0, sizeof(LocalizationTable)); + + LogEnabled = false; + LogFlags = ImGuiLogFlags_None; + LogWindow = NULL; + LogNextPrefix = LogNextSuffix = NULL; + LogFile = NULL; + LogLinePosY = FLT_MAX; + LogLineFirstItem = false; + LogDepthRef = 0; + LogDepthToExpand = LogDepthToExpandDefault = 2; + + ErrorCallback = NULL; + ErrorCallbackUserData = NULL; + ErrorFirst = true; + ErrorCountCurrentFrame = 0; + StackSizesInBeginForCurrentWindow = NULL; + + DebugDrawIdConflictsCount = 0; + DebugLogFlags = ImGuiDebugLogFlags_EventError | ImGuiDebugLogFlags_OutputToTTY; + DebugLocateId = 0; + DebugLogSkippedErrors = 0; + DebugLogAutoDisableFlags = ImGuiDebugLogFlags_None; + DebugLogAutoDisableFrames = 0; + DebugLocateFrames = 0; + DebugBeginReturnValueCullDepth = -1; + DebugItemPickerActive = false; + DebugItemPickerMouseButton = ImGuiMouseButton_Left; + DebugItemPickerBreakId = 0; + DebugFlashStyleColorTime = 0.0f; + DebugFlashStyleColorIdx = ImGuiCol_COUNT; + + // Same as DebugBreakClearData(). Those fields are scattered in their respective subsystem to stay in hot-data locations + DebugBreakInWindow = 0; + DebugBreakInTable = 0; + DebugBreakInLocateId = false; + DebugBreakKeyChord = ImGuiKey_Pause; + DebugBreakInShortcutRouting = ImGuiKey_None; + + memset(FramerateSecPerFrame, 0, sizeof(FramerateSecPerFrame)); + FramerateSecPerFrameIdx = FramerateSecPerFrameCount = 0; + FramerateSecPerFrameAccum = 0.0f; + WantCaptureMouseNextFrame = WantCaptureKeyboardNextFrame = WantTextInputNextFrame = -1; + memset(TempKeychordName, 0, sizeof(TempKeychordName)); +} + void ImGui::Initialize() { ImGuiContext& g = *GImGui; @@ -3767,12 +4113,11 @@ void ImGui::Initialize() // Setup default localization table LocalizeRegisterEntries(GLocalizationEntriesEnUS, IM_ARRAYSIZE(GLocalizationEntriesEnUS)); - // Setup default platform clipboard/IME handlers. - g.IO.GetClipboardTextFn = GetClipboardTextFn_DefaultImpl; // Platform dependent default implementations - g.IO.SetClipboardTextFn = SetClipboardTextFn_DefaultImpl; - g.IO.ClipboardUserData = (void*)&g; // Default implementation use the ImGuiContext as user data (ideally those would be arguments to the function) - g.IO.PlatformOpenInShellFn = PlatformOpenInShellFn_DefaultImpl; - g.IO.PlatformSetImeDataFn = PlatformSetImeDataFn_DefaultImpl; + // Setup default ImGuiPlatformIO clipboard/IME handlers. + g.PlatformIO.Platform_GetClipboardTextFn = Platform_GetClipboardTextFn_DefaultImpl; // Platform dependent default implementations + g.PlatformIO.Platform_SetClipboardTextFn = Platform_SetClipboardTextFn_DefaultImpl; + g.PlatformIO.Platform_OpenInShellFn = Platform_OpenInShellFn_DefaultImpl; + g.PlatformIO.Platform_SetImeDataFn = Platform_SetImeDataFn_DefaultImpl; // Create default viewport ImGuiViewportP* viewport = IM_NEW(ImGuiViewportP)(); @@ -3829,7 +4174,7 @@ void ImGui::Shutdown() g.WindowsById.Clear(); g.NavWindow = NULL; g.HoveredWindow = g.HoveredWindowUnderMovingWindow = NULL; - g.ActiveIdWindow = g.ActiveIdPreviousFrameWindow = NULL; + g.ActiveIdWindow = NULL; g.MovingWindow = NULL; g.KeysRoutingTable.Clear(); @@ -3909,7 +4254,6 @@ void ImGui::CallContextHooks(ImGuiContext* ctx, ImGuiContextHookType hook_type) hook.Callback(&g, &hook); } - //----------------------------------------------------------------------------- // [SECTION] MAIN CODE (most of the code! lots of stuff, needs tidying up!) //----------------------------------------------------------------------------- @@ -3935,8 +4279,8 @@ ImGuiWindow::ImGuiWindow(ImGuiContext* ctx, const char* name) : DrawListInst(NUL FontWindowScale = 1.0f; SettingsOffset = -1; DrawList = &DrawListInst; - DrawList->_Data = &Ctx->DrawListSharedData; DrawList->_OwnerName = Name; + DrawList->_Data = &Ctx->DrawListSharedData; NavPreferredScoringPosRel[0] = NavPreferredScoringPosRel[1] = ImVec2(FLT_MAX, FLT_MAX); } @@ -3951,12 +4295,13 @@ static void SetCurrentWindow(ImGuiWindow* window) { ImGuiContext& g = *GImGui; g.CurrentWindow = window; + g.StackSizesInBeginForCurrentWindow = g.CurrentWindow ? &g.CurrentWindowStack.back().StackSizesInBegin : NULL; g.CurrentTable = window && window->DC.CurrentTableIdx != -1 ? g.Tables.GetByIndex(window->DC.CurrentTableIdx) : NULL; g.CurrentDpiScale = 1.0f; // FIXME-DPI: WIP this is modified in docking if (window) { g.FontSize = g.DrawListSharedData.FontSize = window->CalcFontSize(); - g.FontScale = g.FontSize / g.Font->FontSize; + g.FontScale = g.DrawListSharedData.FontScale = g.FontSize / g.Font->FontSize; ImGui::NavUpdateCurrentWindowIsScrollPushableX(); } } @@ -4013,9 +4358,16 @@ void ImGui::SetActiveID(ImGuiID id, ImGuiWindow* window) g.MovingWindow = NULL; } + // Store deactivate data + ImGuiDeactivatedItemData* deactivated_data = &g.DeactivatedItemData; + deactivated_data->ID = g.ActiveId; + deactivated_data->ElapseFrame = (g.LastItemData.ID == g.ActiveId) ? g.FrameCount : g.FrameCount + 1; // FIXME: OK to use LastItemData? + deactivated_data->HasBeenEditedBefore = g.ActiveIdHasBeenEditedBefore; + deactivated_data->IsAlive = (g.ActiveIdIsAlive == g.ActiveId); + // This could be written in a more general way (e.g associate a hook to ActiveId), // but since this is currently quite an exception we'll leave it as is. - // One common scenario leading to this is: pressing Key ->NavMoveRequestApplyResult() -> ClearActiveId() + // One common scenario leading to this is: pressing Key ->NavMoveRequestApplyResult() -> ClearActiveID() if (g.InputTextState.ID == g.ActiveId) InputTextDeactivateHook(g.ActiveId); } @@ -4076,10 +4428,10 @@ ImGuiID ImGui::GetHoveredID() void ImGui::MarkItemEdited(ImGuiID id) { - // This marking is solely to be able to provide info for IsItemDeactivatedAfterEdit(). + // This marking is to be able to provide info for IsItemDeactivatedAfterEdit(). // ActiveId might have been released by the time we call this (as in the typical press/release button behavior) but still need to fill the data. ImGuiContext& g = *GImGui; - if (g.LockMarkEdited > 0) + if (g.LastItemData.ItemFlags & ImGuiItemFlags_NoMarkEdited) return; if (g.ActiveId == id || g.ActiveId == 0) { @@ -4145,14 +4497,14 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) { ImGuiContext& g = *GImGui; ImGuiWindow* window = g.CurrentWindow; - IM_ASSERT((flags & ~ImGuiHoveredFlags_AllowedMaskForIsItemHovered) == 0 && "Invalid flags for IsItemHovered()!"); + IM_ASSERT_USER_ERROR((flags & ~ImGuiHoveredFlags_AllowedMaskForIsItemHovered) == 0, "Invalid flags for IsItemHovered()!"); - if (g.NavDisableMouseHover && !g.NavDisableHighlight && !(flags & ImGuiHoveredFlags_NoNavOverride)) + if (g.NavHighlightItemUnderNav && g.NavCursorVisible && !(flags & ImGuiHoveredFlags_NoNavOverride)) { - if ((g.LastItemData.InFlags & ImGuiItemFlags_Disabled) && !(flags & ImGuiHoveredFlags_AllowWhenDisabled)) - return false; if (!IsItemFocused()) return false; + if ((g.LastItemData.ItemFlags & ImGuiItemFlags_Disabled) && !(flags & ImGuiHoveredFlags_AllowWhenDisabled)) + return false; if (flags & ImGuiHoveredFlags_ForTooltip) flags = ApplyHoverFlagsForTooltip(flags, g.Style.HoverFlagsForTooltipNav); @@ -4167,8 +4519,6 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) if (flags & ImGuiHoveredFlags_ForTooltip) flags = ApplyHoverFlagsForTooltip(flags, g.Style.HoverFlagsForTooltipMouse); - IM_ASSERT((flags & (ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_NoPopupHierarchy)) == 0); // Flags not supported by this function - // Done with rectangle culling so we can perform heavier checks now // Test if we are hovering the right window (our window could be behind another window) // [2021/03/02] Reworked / reverted the revert, finally. Note we want e.g. BeginGroup/ItemAdd/EndGroup to work as well. (#3851) @@ -4182,25 +4532,27 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) // Test if another item is active (e.g. being dragged) const ImGuiID id = g.LastItemData.ID; if ((flags & ImGuiHoveredFlags_AllowWhenBlockedByActiveItem) == 0) - if (g.ActiveId != 0 && g.ActiveId != id && !g.ActiveIdAllowOverlap && g.ActiveId != window->MoveId) - return false; + if (g.ActiveId != 0 && g.ActiveId != id && !g.ActiveIdAllowOverlap) + if (g.ActiveId != window->MoveId) + return false; // Test if interactions on this window are blocked by an active popup or modal. // The ImGuiHoveredFlags_AllowWhenBlockedByPopup flag will be tested here. - if (!IsWindowContentHoverable(window, flags) && !(g.LastItemData.InFlags & ImGuiItemFlags_NoWindowHoverableCheck)) + if (!IsWindowContentHoverable(window, flags) && !(g.LastItemData.ItemFlags & ImGuiItemFlags_NoWindowHoverableCheck)) return false; // Test if the item is disabled - if ((g.LastItemData.InFlags & ImGuiItemFlags_Disabled) && !(flags & ImGuiHoveredFlags_AllowWhenDisabled)) + if ((g.LastItemData.ItemFlags & ImGuiItemFlags_Disabled) && !(flags & ImGuiHoveredFlags_AllowWhenDisabled)) return false; // Special handling for calling after Begin() which represent the title bar or tab. - // When the window is skipped/collapsed (SkipItems==true) that last item will never be overwritten so we need to detect the case. + // When the window is skipped/collapsed (SkipItems==true) that last item (always ->MoveId submitted by Begin) + // will never be overwritten so we need to detect the case. if (id == window->MoveId && window->WriteAccessed) return false; // Test if using AllowOverlap and overlapped - if ((g.LastItemData.InFlags & ImGuiItemFlags_AllowOverlap) && id != 0) + if ((g.LastItemData.ItemFlags & ImGuiItemFlags_AllowOverlap) && id != 0) if ((flags & ImGuiHoveredFlags_AllowWhenOverlappedByItem) == 0) if (g.HoveredIdPreviousFrame != g.LastItemData.ID) return false; @@ -4211,7 +4563,7 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) const float delay = CalcDelayFromHoveredFlags(flags); if (delay > 0.0f || (flags & ImGuiHoveredFlags_Stationary)) { - ImGuiID hover_delay_id = (g.LastItemData.ID != 0) ? g.LastItemData.ID : window->GetIDFromRectangle(g.LastItemData.Rect); + ImGuiID hover_delay_id = (g.LastItemData.ID != 0) ? g.LastItemData.ID : window->GetIDFromPos(g.LastItemData.Rect.Min); if ((flags & ImGuiHoveredFlags_NoSharedDelay) && (g.HoverItemDelayIdPreviousFrame != hover_delay_id)) g.HoverItemDelayTimer = 0.0f; g.HoverItemDelayId = hover_delay_id; @@ -4233,12 +4585,23 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) // (this does not rely on LastItemData it can be called from a ButtonBehavior() call not following an ItemAdd() call) // FIXME-LEGACY: the 'ImGuiItemFlags item_flags' parameter was added on 2023-06-28. // If you used this in your legacy/custom widgets code: -// - Commonly: if your ItemHoverable() call comes after an ItemAdd() call: pass 'item_flags = g.LastItemData.InFlags'. +// - Commonly: if your ItemHoverable() call comes after an ItemAdd() call: pass 'item_flags = g.LastItemData.ItemFlags'. // - Rare: otherwise you may pass 'item_flags = 0' (ImGuiItemFlags_None) unless you want to benefit from special behavior handled by ItemHoverable. bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id, ImGuiItemFlags item_flags) { ImGuiContext& g = *GImGui; ImGuiWindow* window = g.CurrentWindow; + + // Detect ID conflicts +#ifndef IMGUI_DISABLE_DEBUG_TOOLS + if (id != 0 && g.HoveredIdPreviousFrame == id && (item_flags & ImGuiItemFlags_AllowDuplicateId) == 0) + { + g.HoveredIdPreviousFrameItemCount++; + if (g.DebugDrawIdConflicts == id) + window->DrawList->AddRect(bb.Min - ImVec2(1,1), bb.Max + ImVec2(1,1), IM_COL32(255, 0, 0, 255), 0.0f, ImDrawFlags_None, 2.0f); + } +#endif + if (g.HoveredWindow != window) return false; if (!IsMouseHoveringRect(bb.Min, bb.Max)) @@ -4278,7 +4641,7 @@ bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id, ImGuiItemFlags item_flag // Display shortcut (only works with mouse) // (ImGuiItemStatusFlags_HasShortcut in LastItemData denotes we want a tooltip) - if (id == g.LastItemData.ID && (g.LastItemData.StatusFlags & ImGuiItemStatusFlags_HasShortcut)) + if (id == g.LastItemData.ID && (g.LastItemData.StatusFlags & ImGuiItemStatusFlags_HasShortcut) && g.ActiveId != id) if (IsItemHovered(ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_DelayNormal)) SetTooltip("%s", GetKeyChordName(g.LastItemData.Shortcut)); } @@ -4307,7 +4670,7 @@ bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id, ImGuiItemFlags item_flag } #endif - if (g.NavDisableMouseHover) + if (g.NavHighlightItemUnderNav && (item_flags & ImGuiItemFlags_NoNavDisableMouseHover) == 0) return false; return true; @@ -4332,7 +4695,7 @@ void ImGui::SetLastItemData(ImGuiID item_id, ImGuiItemFlags in_flags, ImGuiItemS { ImGuiContext& g = *GImGui; g.LastItemData.ID = item_id; - g.LastItemData.InFlags = in_flags; + g.LastItemData.ItemFlags = in_flags; g.LastItemData.StatusFlags = item_flags; g.LastItemData.Rect = g.LastItemData.NavRect = item_rect; } @@ -4397,29 +4760,29 @@ void ImGui::DebugAllocHook(ImGuiDebugAllocInfo* info, int frame_count, void* ptr } if (size != (size_t)-1) { + //printf("[%05d] MemAlloc(%d) -> 0x%p\n", frame_count, (int)size, ptr); entry->AllocCount++; info->TotalAllocCount++; - //printf("[%05d] MemAlloc(%d) -> 0x%p\n", frame_count, size, ptr); } else { + //printf("[%05d] MemFree(0x%p)\n", frame_count, ptr); entry->FreeCount++; info->TotalFreeCount++; - //printf("[%05d] MemFree(0x%p)\n", frame_count, ptr); } } const char* ImGui::GetClipboardText() { ImGuiContext& g = *GImGui; - return g.IO.GetClipboardTextFn ? g.IO.GetClipboardTextFn(g.IO.ClipboardUserData) : ""; + return g.PlatformIO.Platform_GetClipboardTextFn ? g.PlatformIO.Platform_GetClipboardTextFn(&g) : ""; } void ImGui::SetClipboardText(const char* text) { ImGuiContext& g = *GImGui; - if (g.IO.SetClipboardTextFn) - g.IO.SetClipboardTextFn(g.IO.ClipboardUserData, text); + if (g.PlatformIO.Platform_SetClipboardTextFn != NULL) + g.PlatformIO.Platform_SetClipboardTextFn(&g, text); } const char* ImGui::GetVersion() @@ -4433,6 +4796,19 @@ ImGuiIO& ImGui::GetIO() return GImGui->IO; } +// This variant exists to facilitate backends experimenting with multi-threaded parallel context. (#8069, #6293, #5856) +ImGuiIO& ImGui::GetIOEx(ImGuiContext* ctx) +{ + IM_ASSERT(ctx != NULL); + return ctx->IO; +} + +ImGuiPlatformIO& ImGui::GetPlatformIO() +{ + IM_ASSERT(GImGui != NULL && "No current context. Did you call ImGui::CreateContext() and ImGui::SetCurrentContext()?"); + return GImGui->PlatformIO; +} + // Pass this to your backend rendering function! Valid after Render() and until the next call to NewFrame() ImDrawData* ImGui::GetDrawData() { @@ -4510,7 +4886,8 @@ void ImGui::StartMouseMovingWindow(ImGuiWindow* window) ImGuiContext& g = *GImGui; FocusWindow(window); SetActiveID(window->MoveId, window); - g.NavDisableHighlight = true; + if (g.IO.ConfigNavCursorVisibleAuto) + g.NavCursorVisible = false; g.ActiveIdClickOffset = g.IO.MouseClickedPos[0] - window->RootWindow->Pos; g.ActiveIdNoClearOnFocusLoss = true; SetActiveIdUsingAllKeyboardKeys(); @@ -4561,12 +4938,13 @@ void ImGui::UpdateMouseMovingWindowNewFrame() } } -// Initiate moving window when clicking on empty space or title bar. +// Initiate focusing and moving window when clicking on empty space or title bar. +// Initiate focusing window when clicking on a disabled item. // Handle left-click and right-click focus. void ImGui::UpdateMouseMovingWindowEndFrame() { ImGuiContext& g = *GImGui; - if (g.ActiveId != 0 || g.HoveredId != 0) + if (g.ActiveId != 0 || (g.HoveredId != 0 && !g.HoveredIdIsDisabled)) return; // Unless we just made a window/popup appear @@ -4587,11 +4965,13 @@ void ImGui::UpdateMouseMovingWindowEndFrame() StartMouseMovingWindow(g.HoveredWindow); //-V595 // Cancel moving if clicked outside of title bar - if (g.IO.ConfigWindowsMoveFromTitleBarOnly && !(root_window->Flags & ImGuiWindowFlags_NoTitleBar)) - if (!root_window->TitleBarRect().Contains(g.IO.MouseClickedPos[0])) - g.MovingWindow = NULL; + if (g.IO.ConfigWindowsMoveFromTitleBarOnly) + if (!(root_window->Flags & ImGuiWindowFlags_NoTitleBar)) + if (!root_window->TitleBarRect().Contains(g.IO.MouseClickedPos[0])) + g.MovingWindow = NULL; - // Cancel moving if clicked over an item which was disabled or inhibited by popups (note that we know HoveredId == 0 already) + // Cancel moving if clicked over an item which was disabled or inhibited by popups + // (when g.HoveredIdIsDisabled == true && g.HoveredId == 0 we are inhibited by popups, when g.HoveredIdIsDisabled == true && g.HoveredId != 0 we are over a disabled item)0 already) if (g.HoveredIdIsDisabled) g.MovingWindow = NULL; } @@ -4605,7 +4985,7 @@ void ImGui::UpdateMouseMovingWindowEndFrame() // With right mouse button we close popups without changing focus based on where the mouse is aimed // Instead, focus will be restored to the window under the bottom-most closed popup. // (The left mouse button path calls FocusWindow on the hovered window, which will lead NewFrame->ClosePopupsOverWindow to trigger) - if (g.IO.MouseClicked[1]) + if (g.IO.MouseClicked[1] && g.HoveredId == 0) { // Find the top-most window between HoveredWindow and the top-most Modal Window. // This is where we can trim the popup stack. @@ -4690,9 +5070,14 @@ void ImGui::UpdateHoveredWindowAndCaptureFlags() } // Update io.WantCaptureKeyboard for the user application (true = dispatch keyboard info to Dear ImGui only, false = dispatch keyboard info to Dear ImGui + underlying app) - io.WantCaptureKeyboard = (g.ActiveId != 0) || (modal_window != NULL); - if (io.NavActive && (io.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard) && !(io.ConfigFlags & ImGuiConfigFlags_NavNoCaptureKeyboard)) - io.WantCaptureKeyboard = true; + io.WantCaptureKeyboard = false; + if ((io.ConfigFlags & ImGuiConfigFlags_NoKeyboard) == 0) + { + if ((g.ActiveId != 0) || (modal_window != NULL)) + io.WantCaptureKeyboard = true; + else if (io.NavActive && (io.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard) && io.ConfigNavCaptureKeyboard) + io.WantCaptureKeyboard = true; + } if (g.WantCaptureKeyboardNextFrame != -1) // Manual override io.WantCaptureKeyboard = (g.WantCaptureKeyboardNextFrame != 0); @@ -4700,7 +5085,7 @@ void ImGui::UpdateHoveredWindowAndCaptureFlags() io.WantTextInput = (g.WantTextInputNextFrame != -1) ? (g.WantTextInputNextFrame != 0) : false; } -// Calling SetupDrawListSharedData() is followed by SetCurrentFont() which sets up the remaining data. +// Called once a frame. Followed by SetCurrentFont() which sets up the remaining data. static void SetupDrawListSharedData() { ImGuiContext& g = *GImGui; @@ -4775,6 +5160,12 @@ void ImGui::NewFrame() if (g.DragDropActive && g.DragDropPayload.SourceId == g.ActiveId) KeepAliveID(g.DragDropPayload.SourceId); + // [DEBUG] + if (!g.IO.ConfigDebugHighlightIdConflicts || !g.IO.KeyCtrl) // Count is locked while holding CTRL + g.DebugDrawIdConflicts = 0; + if (g.IO.ConfigDebugHighlightIdConflicts && g.HoveredIdPreviousFrameItemCount > 1) + g.DebugDrawIdConflicts = g.HoveredIdPreviousFrame; + // Update HoveredId data if (!g.HoveredIdPreviousFrame) g.HoveredIdTimer = 0.0f; @@ -4785,6 +5176,7 @@ void ImGui::NewFrame() if (g.HoveredId && g.ActiveId != g.HoveredId) g.HoveredIdNotActiveTimer += g.IO.DeltaTime; g.HoveredIdPreviousFrame = g.HoveredId; + g.HoveredIdPreviousFrameItemCount = 0; g.HoveredId = 0; g.HoveredIdAllowOverlap = false; g.HoveredIdIsDisabled = false; @@ -4803,11 +5195,8 @@ void ImGui::NewFrame() g.ActiveIdTimer += g.IO.DeltaTime; g.LastActiveIdTimer += g.IO.DeltaTime; g.ActiveIdPreviousFrame = g.ActiveId; - g.ActiveIdPreviousFrameWindow = g.ActiveIdWindow; - g.ActiveIdPreviousFrameHasBeenEditedBefore = g.ActiveIdHasBeenEditedBefore; g.ActiveIdIsAlive = 0; g.ActiveIdHasBeenEditedThisFrame = false; - g.ActiveIdPreviousFrameIsAlive = false; g.ActiveIdIsJustActivated = false; if (g.TempInputId != 0 && g.ActiveId != g.TempInputId) g.TempInputId = 0; @@ -4816,6 +5205,9 @@ void ImGui::NewFrame() g.ActiveIdUsingNavDirMask = 0x00; g.ActiveIdUsingAllKeyboardKeys = false; } + if (g.DeactivatedItemData.ElapseFrame < g.FrameCount) + g.DeactivatedItemData.ID = 0; + g.DeactivatedItemData.IsAlive = false; // Record when we have been stationary as this state is preserved while over same item. // FIXME: The way this is expressed means user cannot alter HoverStationaryDelay during the frame to use varying values. @@ -4853,6 +5245,7 @@ void ImGui::NewFrame() g.DragDropWithinSource = false; g.DragDropWithinTarget = false; g.DragDropHoldJustPressedId = 0; + g.TooltipPreviousWindow = NULL; // Close popups on focus lost (currently wip/opt-in) //if (g.IO.AppFocusLost) @@ -4866,14 +5259,31 @@ void ImGui::NewFrame() //IM_ASSERT(g.IO.KeyAlt == IsKeyDown(ImGuiKey_LeftAlt) || IsKeyDown(ImGuiKey_RightAlt)); //IM_ASSERT(g.IO.KeySuper == IsKeyDown(ImGuiKey_LeftSuper) || IsKeyDown(ImGuiKey_RightSuper)); - // Update gamepad/keyboard navigation + // Update keyboard/gamepad navigation NavUpdate(); // Update mouse input state UpdateMouseInputs(); + // Mark all windows as not visible and compact unused memory. + IM_ASSERT(g.WindowsFocusOrder.Size <= g.Windows.Size); + const float memory_compact_start_time = (g.GcCompactAll || g.IO.ConfigMemoryCompactTimer < 0.0f) ? FLT_MAX : (float)g.Time - g.IO.ConfigMemoryCompactTimer; + for (ImGuiWindow* window : g.Windows) + { + window->WasActive = window->Active; + window->Active = false; + window->WriteAccessed = false; + window->BeginCountPreviousFrame = window->BeginCount; + window->BeginCount = 0; + + // Garbage collect transient buffers of recently unused windows + if (!window->WasActive && !window->MemoryCompacted && window->LastTimeActive < memory_compact_start_time) + GcCompactTransientWindowBuffers(window); + } + // Find hovered window // (needs to be before UpdateMouseMovingWindowNewFrame so we fill g.HoveredWindowUnderMovingWindow on the mouse release frame) + // (currently needs to be done after the WasActive=Active loop and FindHoveredWindowEx uses ->Active) UpdateHoveredWindowAndCaptureFlags(); // Handle user moving window with mouse (at the beginning of the frame to avoid input lag or sheering) @@ -4895,22 +5305,6 @@ void ImGui::NewFrame() // Mouse wheel scrolling, scale UpdateMouseWheel(); - // Mark all windows as not visible and compact unused memory. - IM_ASSERT(g.WindowsFocusOrder.Size <= g.Windows.Size); - const float memory_compact_start_time = (g.GcCompactAll || g.IO.ConfigMemoryCompactTimer < 0.0f) ? FLT_MAX : (float)g.Time - g.IO.ConfigMemoryCompactTimer; - for (ImGuiWindow* window : g.Windows) - { - window->WasActive = window->Active; - window->Active = false; - window->WriteAccessed = false; - window->BeginCountPreviousFrame = window->BeginCount; - window->BeginCount = 0; - - // Garbage collect transient buffers of recently unused windows - if (!window->WasActive && !window->MemoryCompacted && window->LastTimeActive < memory_compact_start_time) - GcCompactTransientWindowBuffers(window); - } - // Garbage collect transient buffers of recently unused tables for (int i = 0; i < g.TablesLastTimeActive.Size; i++) if (g.TablesLastTimeActive[i] >= 0.0f && g.TablesLastTimeActive[i] < memory_compact_start_time) @@ -4961,6 +5355,10 @@ void ImGui::NewFrame() Begin("Debug##Default"); IM_ASSERT(g.CurrentWindow->IsFallbackWindow == true); + // Store stack sizes + g.ErrorCountCurrentFrame = 0; + ErrorRecoveryStoreState(&g.StackSizesInNewFrame); + // [DEBUG] When io.ConfigDebugBeginReturnValue is set, we make Begin()/BeginChild() return false at different level of the window-stack, // allowing to validate correct Begin/End behavior in user code. #ifndef IMGUI_DISABLE_DEBUG_TOOLS @@ -5068,6 +5466,8 @@ static void InitViewportDrawData(ImGuiViewportP* viewport) // - If the code here changes, may need to update code of functions like NextColumn() and PushColumnClipRect(): // some frequently called functions which to modify both channels and clipping simultaneously tend to use the // more specialized SetWindowClipRectBeforeSetChannel() to avoid extraneous updates of underlying ImDrawCmds. +// - This is analoguous to PushFont()/PopFont() in the sense that are a mixing a global stack and a window stack, +// which in the case of ClipRect is not so problematic but tends to be more restrictive for fonts. void ImGui::PushClipRect(const ImVec2& clip_rect_min, const ImVec2& clip_rect_max, bool intersect_with_current_clip_rect) { ImGuiWindow* window = GetCurrentWindow(); @@ -5145,7 +5545,7 @@ static void ImGui::RenderDimmedBackgrounds() } else if (dim_bg_for_window_list) { - // Draw dimming behind CTRL+Tab target window + // Draw dimming behind CTRL+Tab target window and behind CTRL+Tab UI window RenderDimmedBackgroundBehindWindow(g.NavWindowingTargetAnim, GetColorU32(ImGuiCol_NavWindowingDimBg, g.DimBgRatio)); // Draw border around CTRL+Tab target window @@ -5177,15 +5577,19 @@ void ImGui::EndFrame() CallContextHooks(&g, ImGuiContextHookType_EndFramePre); + // [EXPERIMENTAL] Recover from errors + if (g.IO.ConfigErrorRecovery) + ErrorRecoveryTryToRecoverState(&g.StackSizesInNewFrame); ErrorCheckEndFrameSanityChecks(); + ErrorCheckEndFrameFinalizeErrorTooltip(); // Notify Platform/OS when our Input Method Editor cursor has moved (e.g. CJK inputs using Microsoft IME) ImGuiPlatformImeData* ime_data = &g.PlatformImeData; - if (g.IO.PlatformSetImeDataFn != NULL && memcmp(ime_data, &g.PlatformImeDataPrev, sizeof(ImGuiPlatformImeData)) != 0) + if (g.PlatformIO.Platform_SetImeDataFn != NULL && memcmp(ime_data, &g.PlatformImeDataPrev, sizeof(ImGuiPlatformImeData)) != 0) { - IMGUI_DEBUG_LOG_IO("[io] Calling io.PlatformSetImeDataFn(): WantVisible: %d, InputPos (%.2f,%.2f)\n", ime_data->WantVisible, ime_data->InputPos.x, ime_data->InputPos.y); + IMGUI_DEBUG_LOG_IO("[io] Calling Platform_SetImeDataFn(): WantVisible: %d, InputPos (%.2f,%.2f)\n", ime_data->WantVisible, ime_data->InputPos.x, ime_data->InputPos.y); ImGuiViewport* viewport = GetMainViewport(); - g.IO.PlatformSetImeDataFn(&g, viewport, ime_data); + g.PlatformIO.Platform_SetImeDataFn(&g, viewport, ime_data); } // Hide implicit/fallback "Debug" window if it hasn't been used @@ -5211,7 +5615,7 @@ void ImGui::EndFrame() // in the BeginDragDropSource() block of the dragged item, you can submit them from a safe single spot // (e.g. end of your item loop, or before EndFrame) by reading payload data. // In the typical case, the contents of drag tooltip should be possible to infer solely from payload data. - if (g.DragDropActive && g.DragDropSourceFrameCount < g.FrameCount && !(g.DragDropSourceFlags & ImGuiDragDropFlags_SourceNoPreviewTooltip)) + if (g.DragDropActive && g.DragDropSourceFrameCount + 1 < g.FrameCount && !(g.DragDropSourceFlags & ImGuiDragDropFlags_SourceNoPreviewTooltip)) { g.DragDropWithinSource = true; SetTooltip("..."); @@ -5270,9 +5674,6 @@ void ImGui::Render() g.IO.MetricsRenderWindows = 0; CallContextHooks(&g, ImGuiContextHookType_RenderPre); - // Draw modal/window whitening backgrounds - RenderDimmedBackgrounds(); - // Add background ImDrawList (for each active viewport) for (ImGuiViewportP* viewport : g.Viewports) { @@ -5281,6 +5682,9 @@ void ImGui::Render() AddDrawListToDrawDataEx(&viewport->DrawDataP, viewport->DrawDataBuilder.Layers[0], GetBackgroundDrawList(viewport)); } + // Draw modal/window whitening backgrounds + RenderDimmedBackgrounds(); + // Add ImDrawList to render ImGuiWindow* windows_to_render_top_most[2]; windows_to_render_top_most[0] = (g.NavWindowingTarget && !(g.NavWindowingTarget->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus)) ? g.NavWindowingTarget->RootWindow : NULL; @@ -5371,7 +5775,7 @@ void ImGui::FindHoveredWindowEx(const ImVec2& pos, bool find_first_and_in_any_vi { ImGuiWindow* window = g.Windows[i]; IM_MSVC_WARNING_SUPPRESS(28182); // [Static Analyzer] Dereferencing NULL pointer. - if (!window->Active || window->Hidden) + if (!window->WasActive || window->Hidden) continue; if (window->Flags & ImGuiWindowFlags_NoMouseInputs) continue; @@ -5435,22 +5839,20 @@ bool ImGui::IsItemDeactivated() ImGuiContext& g = *GImGui; if (g.LastItemData.StatusFlags & ImGuiItemStatusFlags_HasDeactivated) return (g.LastItemData.StatusFlags & ImGuiItemStatusFlags_Deactivated) != 0; - return (g.ActiveIdPreviousFrame == g.LastItemData.ID && g.ActiveIdPreviousFrame != 0 && g.ActiveId != g.LastItemData.ID); + return (g.DeactivatedItemData.ID == g.LastItemData.ID && g.LastItemData.ID != 0 && g.DeactivatedItemData.ElapseFrame >= g.FrameCount); } bool ImGui::IsItemDeactivatedAfterEdit() { ImGuiContext& g = *GImGui; - return IsItemDeactivated() && (g.ActiveIdPreviousFrameHasBeenEditedBefore || (g.ActiveId == 0 && g.ActiveIdHasBeenEditedBefore)); + return IsItemDeactivated() && g.DeactivatedItemData.HasBeenEditedBefore; } -// == GetItemID() == GetFocusID() +// == (GetItemID() == GetFocusID() && GetFocusID() != 0) bool ImGui::IsItemFocused() { ImGuiContext& g = *GImGui; - if (g.NavId != g.LastItemData.ID || g.NavId == 0) - return false; - return true; + return g.NavId == g.LastItemData.ID && g.NavId != 0; } // Important: this can be useful but it is NOT equivalent to the behavior of e.g.Button()! @@ -5496,7 +5898,7 @@ bool ImGui::IsAnyItemActive() bool ImGui::IsAnyItemFocused() { ImGuiContext& g = *GImGui; - return g.NavId != 0 && !g.NavDisableHighlight; + return g.NavId != 0 && g.NavCursorVisible; } bool ImGui::IsItemVisible() @@ -5570,7 +5972,7 @@ ImVec2 ImGui::GetItemRectSize() } // Prior to v1.90 2023/10/16, the BeginChild() function took a 'bool border = false' parameter instead of 'ImGuiChildFlags child_flags = 0'. -// ImGuiChildFlags_Border is defined as always == 1 in order to allow old code passing 'true'. Read comments in imgui.h for details! +// ImGuiChildFlags_Borders is defined as always == 1 in order to allow old code passing 'true'. Read comments in imgui.h for details! bool ImGui::BeginChild(const char* str_id, const ImVec2& size_arg, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags) { ImGuiID id = GetCurrentWindow()->GetID(str_id); @@ -5589,7 +5991,7 @@ bool ImGui::BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, I IM_ASSERT(id != 0); // Sanity check as it is likely that some user will accidentally pass ImGuiWindowFlags into the ImGuiChildFlags argument. - const ImGuiChildFlags ImGuiChildFlags_SupportedMask_ = ImGuiChildFlags_Border | ImGuiChildFlags_AlwaysUseWindowPadding | ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY | ImGuiChildFlags_AutoResizeX | ImGuiChildFlags_AutoResizeY | ImGuiChildFlags_AlwaysAutoResize | ImGuiChildFlags_FrameStyle | ImGuiChildFlags_NavFlattened; + const ImGuiChildFlags ImGuiChildFlags_SupportedMask_ = ImGuiChildFlags_Borders | ImGuiChildFlags_AlwaysUseWindowPadding | ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY | ImGuiChildFlags_AutoResizeX | ImGuiChildFlags_AutoResizeY | ImGuiChildFlags_AlwaysAutoResize | ImGuiChildFlags_FrameStyle | ImGuiChildFlags_NavFlattened; IM_UNUSED(ImGuiChildFlags_SupportedMask_); IM_ASSERT((child_flags & ~ImGuiChildFlags_SupportedMask_) == 0 && "Illegal ImGuiChildFlags value. Did you pass ImGuiWindowFlags values instead of ImGuiChildFlags?"); IM_ASSERT((window_flags & ImGuiWindowFlags_AlwaysAutoResize) == 0 && "Cannot specify ImGuiWindowFlags_AlwaysAutoResize for BeginChild(). Use ImGuiChildFlags_AlwaysAutoResize!"); @@ -5624,22 +6026,42 @@ bool ImGui::BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, I PushStyleVar(ImGuiStyleVar_ChildRounding, g.Style.FrameRounding); PushStyleVar(ImGuiStyleVar_ChildBorderSize, g.Style.FrameBorderSize); PushStyleVar(ImGuiStyleVar_WindowPadding, g.Style.FramePadding); - child_flags |= ImGuiChildFlags_Border | ImGuiChildFlags_AlwaysUseWindowPadding; + child_flags |= ImGuiChildFlags_Borders | ImGuiChildFlags_AlwaysUseWindowPadding; window_flags |= ImGuiWindowFlags_NoMove; } - // Forward child flags - g.NextWindowData.Flags |= ImGuiNextWindowDataFlags_HasChildFlags; - g.NextWindowData.ChildFlags = child_flags; - // Forward size // Important: Begin() has special processing to switch condition to ImGuiCond_FirstUseEver for a given axis when ImGuiChildFlags_ResizeXXX is set. // (the alternative would to store conditional flags per axis, which is possible but more code) const ImVec2 size_avail = GetContentRegionAvail(); const ImVec2 size_default((child_flags & ImGuiChildFlags_AutoResizeX) ? 0.0f : size_avail.x, (child_flags & ImGuiChildFlags_AutoResizeY) ? 0.0f : size_avail.y); - const ImVec2 size = CalcItemSize(size_arg, size_default.x, size_default.y); + ImVec2 size = CalcItemSize(size_arg, size_default.x, size_default.y); + + // A SetNextWindowSize() call always has priority (#8020) + // (since the code in Begin() never supported SizeVal==0.0f aka auto-resize via SetNextWindowSize() call, we don't support it here for now) + // FIXME: We only support ImGuiCond_Always in this path. Supporting other paths would requires to obtain window pointer. + if ((g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasSize) != 0 && (g.NextWindowData.SizeCond & ImGuiCond_Always) != 0) + { + if (g.NextWindowData.SizeVal.x > 0.0f) + { + size.x = g.NextWindowData.SizeVal.x; + child_flags &= ~ImGuiChildFlags_ResizeX; + } + if (g.NextWindowData.SizeVal.y > 0.0f) + { + size.y = g.NextWindowData.SizeVal.y; + child_flags &= ~ImGuiChildFlags_ResizeY; + } + } SetNextWindowSize(size); + // Forward child flags (we allow prior settings to merge but it'll only work for adding flags) + if (g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasChildFlags) + g.NextWindowData.ChildFlags |= child_flags; + else + g.NextWindowData.ChildFlags = child_flags; + g.NextWindowData.Flags |= ImGuiNextWindowDataFlags_HasChildFlags; + // Build up name. If you need to append to a same child from multiple location in the ID stack, use BeginChild(ImGuiID id) with a stable value. // FIXME: 2023/11/14: commented out shorted version. We had an issue with multiple ### in child window path names, which the trailing hash helped workaround. // e.g. "ParentName###ParentIdentifier/ChildName###ChildIdentifier" would get hashed incorrectly by ImHashStr(), trailing _%08X somehow fixes it. @@ -5654,7 +6076,7 @@ bool ImGui::BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, I // Set style const float backup_border_size = g.Style.ChildBorderSize; - if ((child_flags & ImGuiChildFlags_Border) == 0) + if ((child_flags & ImGuiChildFlags_Borders) == 0) g.Style.ChildBorderSize = 0.0f; // Begin into window @@ -5696,10 +6118,10 @@ void ImGui::EndChild() ImGuiContext& g = *GImGui; ImGuiWindow* child_window = g.CurrentWindow; - IM_ASSERT(g.WithinEndChild == false); + const ImGuiID backup_within_end_child_id = g.WithinEndChildID; IM_ASSERT(child_window->Flags & ImGuiWindowFlags_ChildWindow); // Mismatched BeginChild()/EndChild() calls - g.WithinEndChild = true; + g.WithinEndChildID = child_window->ID; ImVec2 child_size = child_window->Size; End(); if (child_window->BeginCount == 1) @@ -5711,11 +6133,11 @@ void ImGui::EndChild() if ((child_window->DC.NavLayersActiveMask != 0 || child_window->DC.NavWindowHasScrollY) && !nav_flattened) { ItemAdd(bb, child_window->ChildId); - RenderNavHighlight(bb, child_window->ChildId); + RenderNavCursor(bb, child_window->ChildId); // When browsing a window that has no activable items (scroll only) we keep a highlight on the child (pass g.NavId to trick into always displaying) if (child_window->DC.NavLayersActiveMask == 0 && child_window == g.NavWindow) - RenderNavHighlight(ImRect(bb.Min - ImVec2(2, 2), bb.Max + ImVec2(2, 2)), g.NavId, ImGuiNavHighlightFlags_Compact); + RenderNavCursor(ImRect(bb.Min - ImVec2(2, 2), bb.Max + ImVec2(2, 2)), g.NavId, ImGuiNavRenderCursorFlags_Compact); } else { @@ -5731,7 +6153,7 @@ void ImGui::EndChild() if (g.HoveredWindow == child_window) g.LastItemData.StatusFlags |= ImGuiItemStatusFlags_HoveredWindow; } - g.WithinEndChild = false; + g.WithinEndChildID = backup_within_end_child_id; g.LogLinePosY = -FLT_MAX; // To enforce a carriage return } @@ -5762,29 +6184,6 @@ static void ApplyWindowSettings(ImGuiWindow* window, ImGuiWindowSettings* settin window->Collapsed = settings->Collapsed; } -static void UpdateWindowInFocusOrderList(ImGuiWindow* window, bool just_created, ImGuiWindowFlags new_flags) -{ - ImGuiContext& g = *GImGui; - - const bool new_is_explicit_child = (new_flags & ImGuiWindowFlags_ChildWindow) != 0 && ((new_flags & ImGuiWindowFlags_Popup) == 0 || (new_flags & ImGuiWindowFlags_ChildMenu) != 0); - const bool child_flag_changed = new_is_explicit_child != window->IsExplicitChild; - if ((just_created || child_flag_changed) && !new_is_explicit_child) - { - IM_ASSERT(!g.WindowsFocusOrder.contains(window)); - g.WindowsFocusOrder.push_back(window); - window->FocusOrder = (short)(g.WindowsFocusOrder.Size - 1); - } - else if (!just_created && child_flag_changed && new_is_explicit_child) - { - IM_ASSERT(g.WindowsFocusOrder[window->FocusOrder] == window); - for (int n = window->FocusOrder + 1; n < g.WindowsFocusOrder.Size; n++) - g.WindowsFocusOrder[n]->FocusOrder--; - g.WindowsFocusOrder.erase(g.WindowsFocusOrder.Data + window->FocusOrder); - window->FocusOrder = -1; - } - window->IsExplicitChild = new_is_explicit_child; -} - static void InitOrLoadWindowSettings(ImGuiWindow* window, ImGuiWindowSettings* settings) { // Initial window state with e.g. default/arbitrary window position @@ -6096,7 +6495,7 @@ static int ImGui::UpdateWindowManualResize(ImGuiWindow* window, const ImVec2& si ButtonBehavior(resize_rect, resize_grip_id, &hovered, &held, ImGuiButtonFlags_FlattenChildren | ImGuiButtonFlags_NoNavFocus); //GetForegroundDrawList(window)->AddRect(resize_rect.Min, resize_rect.Max, IM_COL32(255, 255, 0, 255)); if (hovered || held) - g.MouseCursor = (resize_grip_n & 1) ? ImGuiMouseCursor_ResizeNESW : ImGuiMouseCursor_ResizeNWSE; + SetMouseCursor((resize_grip_n & 1) ? ImGuiMouseCursor_ResizeNESW : ImGuiMouseCursor_ResizeNWSE); if (held && g.IO.MouseDoubleClicked[0]) { @@ -6142,7 +6541,7 @@ static int ImGui::UpdateWindowManualResize(ImGuiWindow* window, const ImVec2& si if (hovered && g.HoveredIdTimer <= WINDOWS_RESIZE_FROM_EDGES_FEEDBACK_TIMER) hovered = false; if (hovered || held) - g.MouseCursor = (axis == ImGuiAxis_X) ? ImGuiMouseCursor_ResizeEW : ImGuiMouseCursor_ResizeNS; + SetMouseCursor((axis == ImGuiAxis_X) ? ImGuiMouseCursor_ResizeEW : ImGuiMouseCursor_ResizeNS); if (held && g.IO.MouseDoubleClicked[0]) { // Double-clicking bottom or right border auto-fit on this axis @@ -6233,7 +6632,7 @@ static int ImGui::UpdateWindowManualResize(ImGuiWindow* window, const ImVec2& si g.NavWindowingAccumDeltaSize += nav_resize_dir * resize_step; g.NavWindowingAccumDeltaSize = ImMax(g.NavWindowingAccumDeltaSize, clamp_rect.Min - window->Pos - window->Size); // We need Pos+Size >= clmap_rect.Min, so Size >= clmap_rect.Min - Pos, so size_delta >= clmap_rect.Min - window->Pos - window->Size g.NavWindowingToggleLayer = false; - g.NavDisableMouseHover = true; + g.NavHighlightItemUnderNav = true; resize_grip_col[0] = GetColorU32(ImGuiCol_ResizeGripActive); ImVec2 accum_floored = ImTrunc(g.NavWindowingAccumDeltaSize); if (accum_floored.x != 0.0f || accum_floored.y != 0.0f) @@ -6320,9 +6719,10 @@ void ImGui::RenderWindowDecorations(ImGuiWindow* window, const ImRect& title_bar ImGuiStyle& style = g.Style; ImGuiWindowFlags flags = window->Flags; - // Ensure that ScrollBar doesn't read last frame's SkipItems + // Ensure that Scrollbar() doesn't read last frame's SkipItems IM_ASSERT(window->BeginCount == 0); window->SkipItems = false; + window->DC.NavLayerCurrent = ImGuiNavLayer_Menu; // Draw window + handle manual resize // As we highlight the title bar when want_focus is set, multiple reappearing windows will have their title bar highlighted on their reappearing frame. @@ -6333,7 +6733,7 @@ void ImGui::RenderWindowDecorations(ImGuiWindow* window, const ImRect& title_bar // Title bar only const float backup_border_size = style.FrameBorderSize; g.Style.FrameBorderSize = window->WindowBorderSize; - ImU32 title_bar_col = GetColorU32((title_bar_is_highlight && !g.NavDisableHighlight) ? ImGuiCol_TitleBgActive : ImGuiCol_TitleBgCollapsed); + ImU32 title_bar_col = GetColorU32((title_bar_is_highlight && g.NavCursorVisible) ? ImGuiCol_TitleBgActive : ImGuiCol_TitleBgCollapsed); RenderFrame(title_bar_rect.Min, title_bar_rect.Max, title_bar_col, true, window_rounding); g.Style.FrameBorderSize = backup_border_size; } @@ -6399,6 +6799,7 @@ void ImGui::RenderWindowDecorations(ImGuiWindow* window, const ImRect& title_bar if (handle_borders_and_resize_grips) RenderWindowOuterBorders(window); } + window->DC.NavLayerCurrent = ImGuiNavLayer_Main; } // Render title text, collapse button, close button @@ -6522,49 +6923,26 @@ void ImGui::UpdateWindowSkipRefresh(ImGuiWindow* window) return; if (window->Hidden) // If was hidden (previous frame) return; - if ((g.NextWindowData.RefreshFlagsVal & ImGuiWindowRefreshFlags_RefreshOnHover) && g.HoveredWindow && window->RootWindow == g.HoveredWindow->RootWindow) - return; - if ((g.NextWindowData.RefreshFlagsVal & ImGuiWindowRefreshFlags_RefreshOnFocus) && g.NavWindow && window->RootWindow == g.NavWindow->RootWindow) - return; + if ((g.NextWindowData.RefreshFlagsVal & ImGuiWindowRefreshFlags_RefreshOnHover) && g.HoveredWindow) + if (window->RootWindow == g.HoveredWindow->RootWindow || IsWindowWithinBeginStackOf(g.HoveredWindow->RootWindow, window)) + return; + if ((g.NextWindowData.RefreshFlagsVal & ImGuiWindowRefreshFlags_RefreshOnFocus) && g.NavWindow) + if (window->RootWindow == g.NavWindow->RootWindow || IsWindowWithinBeginStackOf(g.NavWindow->RootWindow, window)) + return; window->DrawList = NULL; window->SkipRefresh = true; } } -// When a modal popup is open, newly created windows that want focus (i.e. are not popups and do not specify ImGuiWindowFlags_NoFocusOnAppearing) -// should be positioned behind that modal window, unless the window was created inside the modal begin-stack. -// In case of multiple stacked modals newly created window honors begin stack order and does not go below its own modal parent. -// - WindowA // FindBlockingModal() returns Modal1 -// - WindowB // .. returns Modal1 -// - Modal1 // .. returns Modal2 -// - WindowC // .. returns Modal2 -// - WindowD // .. returns Modal2 -// - Modal2 // .. returns Modal2 -// - WindowE // .. returns NULL -// Notes: -// - FindBlockingModal(NULL) == NULL is generally equivalent to GetTopMostPopupModal() == NULL. -// Only difference is here we check for ->Active/WasActive but it may be unnecessary. -ImGuiWindow* ImGui::FindBlockingModal(ImGuiWindow* window) +static void SetWindowActiveForSkipRefresh(ImGuiWindow* window) { - ImGuiContext& g = *GImGui; - if (g.OpenPopupStack.Size <= 0) - return NULL; - - // Find a modal that has common parent with specified window. Specified window should be positioned behind that modal. - for (ImGuiPopupData& popup_data : g.OpenPopupStack) - { - ImGuiWindow* popup_window = popup_data.Window; - if (popup_window == NULL || !(popup_window->Flags & ImGuiWindowFlags_Modal)) - continue; - if (!popup_window->Active && !popup_window->WasActive) // Check WasActive, because this code may run before popup renders on current frame, also check Active to handle newly created windows. - continue; - if (window == NULL) // FindBlockingModal(NULL) test for if FocusWindow(NULL) is naturally possible via a mouse click. - return popup_window; - if (IsWindowWithinBeginStackOf(window, popup_window)) // Window may be over modal - continue; - return popup_window; // Place window right below first block modal - } - return NULL; + window->Active = true; + for (ImGuiWindow* child : window->DC.ChildWindows) + if (!child->Hidden) + { + child->Active = child->SkipRefresh = true; + SetWindowActiveForSkipRefresh(child); + } } // Push a new Dear ImGui window to add widgets to. @@ -6639,12 +7017,13 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) // Add to stack g.CurrentWindow = window; - ImGuiWindowStackData window_stack_data; + g.CurrentWindowStack.resize(g.CurrentWindowStack.Size + 1); + ImGuiWindowStackData& window_stack_data = g.CurrentWindowStack.back(); window_stack_data.Window = window; window_stack_data.ParentLastItemDataBackup = g.LastItemData; - window_stack_data.StackSizesOnBegin.SetToContextState(&g); window_stack_data.DisabledOverrideReenable = (flags & ImGuiWindowFlags_Tooltip) && (g.CurrentItemFlags & ImGuiItemFlags_Disabled); - g.CurrentWindowStack.push_back(window_stack_data); + ErrorRecoveryStoreState(&window_stack_data.StackSizesInBegin); + g.StackSizesInBeginForCurrentWindow = &window_stack_data.StackSizesInBegin; if (flags & ImGuiWindowFlags_ChildMenu) g.BeginMenuDepth++; @@ -6832,9 +7211,10 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) // At this point we don't have a clipping rectangle setup yet, so we can use the title bar area for hit detection and drawing if (!(flags & ImGuiWindowFlags_NoTitleBar) && !(flags & ImGuiWindowFlags_NoCollapse)) { - // We don't use a regular button+id to test for double-click on title bar (mostly due to legacy reason, could be fixed), so verify that we don't have items over the title bar. + // We don't use a regular button+id to test for double-click on title bar (mostly due to legacy reason, could be fixed), + // so verify that we don't have items over the title bar. ImRect title_bar_rect = window->TitleBarRect(); - if (g.HoveredWindow == window && g.HoveredId == 0 && g.HoveredIdPreviousFrame == 0 && IsMouseHoveringRect(title_bar_rect.Min, title_bar_rect.Max)) + if (g.HoveredWindow == window && g.HoveredId == 0 && g.HoveredIdPreviousFrame == 0 && g.ActiveId == 0 && IsMouseHoveringRect(title_bar_rect.Min, title_bar_rect.Max)) if (g.IO.MouseClickedCount[0] == 2 && GetKeyOwner(ImGuiKey_MouseLeft) == ImGuiKeyOwner_NoOwner) window->WantCollapseToggle = true; if (window->WantCollapseToggle) @@ -6968,9 +7348,12 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) { IM_ASSERT(window->IDStack.Size == 1); window->IDStack.Size = 0; // As window->IDStack[0] == window->ID here, make sure TestEngine doesn't erroneously see window as parent of itself. + window->DC.NavLayerCurrent = ImGuiNavLayer_Menu; IMGUI_TEST_ENGINE_ITEM_ADD(window->ID, window->Rect(), NULL); IMGUI_TEST_ENGINE_ITEM_INFO(window->ID, window->Name, (g.HoveredWindow == window) ? ImGuiItemStatusFlags_HoveredRect : 0); window->IDStack.Size = 1; + window->DC.NavLayerCurrent = ImGuiNavLayer_Main; + } #endif @@ -7051,10 +7434,14 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) // Affected by window/frame border size. Used by: // - Begin() initial clip rect float top_border_size = (((flags & ImGuiWindowFlags_MenuBar) || !(flags & ImGuiWindowFlags_NoTitleBar)) ? style.FrameBorderSize : window->WindowBorderSize); - window->InnerClipRect.Min.x = ImFloor(0.5f + window->InnerRect.Min.x + window->WindowBorderSize); - window->InnerClipRect.Min.y = ImFloor(0.5f + window->InnerRect.Min.y + top_border_size); - window->InnerClipRect.Max.x = ImFloor(0.5f + window->InnerRect.Max.x - window->WindowBorderSize); - window->InnerClipRect.Max.y = ImFloor(0.5f + window->InnerRect.Max.y - window->WindowBorderSize); + + // Try to match the fact that our border is drawn centered over the window rectangle, rather than inner. + // This is why we do a *0.5f here. We don't currently even technically support large values for WindowBorderSize, + // see e.g #7887 #7888, but may do after we move the window border to become an inner border (and then we can remove the 0.5f here). + window->InnerClipRect.Min.x = ImFloor(0.5f + window->InnerRect.Min.x + window->WindowBorderSize * 0.5f); + window->InnerClipRect.Min.y = ImFloor(0.5f + window->InnerRect.Min.y + top_border_size * 0.5f); + window->InnerClipRect.Max.x = ImFloor(window->InnerRect.Max.x - window->WindowBorderSize * 0.5f); + window->InnerClipRect.Max.y = ImFloor(window->InnerRect.Max.y - window->WindowBorderSize * 0.5f); window->InnerClipRect.ClipWithFull(host_rect); // Default item width. Make it proportional to window size if window manually resizes @@ -7196,6 +7583,13 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) if (want_focus && window == g.NavWindow) NavInitWindow(window, false); // <-- this is in the way for us to be able to defer and sort reappearing FocusWindow() calls + // Pressing CTRL+C copy window content into the clipboard + // [EXPERIMENTAL] Breaks on nested Begin/End pairs. We need to work that out and add better logging scope. + // [EXPERIMENTAL] Text outputs has many issues. + if (g.IO.ConfigWindowsCopyContentsWithCtrlC) + if (g.NavWindow && g.NavWindow->RootWindow == window && g.ActiveId == 0 && Shortcut(ImGuiMod_Ctrl | ImGuiKey_C)) + LogToClipboard(0); + // Title bar if (!(flags & ImGuiWindowFlags_NoTitleBar)) RenderWindowTitleBarContents(window, ImRect(title_bar_rect.Min.x + window->WindowBorderSize, title_bar_rect.Min.y, title_bar_rect.Max.x - window->WindowBorderSize, title_bar_rect.Max.y), name, p_open); @@ -7203,15 +7597,8 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) // Clear hit test shape every frame window->HitTestHoleSize.x = window->HitTestHoleSize.y = 0; - // Pressing CTRL+C while holding on a window copy its content to the clipboard - // This works but 1. doesn't handle multiple Begin/End pairs, 2. recursing into another Begin/End pair - so we need to work that out and add better logging scope. - // Maybe we can support CTRL+C on every element? - /* - //if (g.NavWindow == window && g.ActiveId == 0) - if (g.ActiveId == window->MoveId) - if (g.IO.KeyCtrl && IsKeyPressed(ImGuiKey_C)) - LogToClipboard(); - */ + if (flags & ImGuiWindowFlags_Tooltip) + g.TooltipPreviousWindow = window; // We fill last item data based on Title Bar/Tab, in order for IsItemHovered() and IsItemActive() to be usable after Begin(). // This is useful to allow creating context menus on title bar only, etc. @@ -7226,14 +7613,18 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) // [Test Engine] Register title bar / tab with MoveId. #ifdef IMGUI_ENABLE_TEST_ENGINE if (!(window->Flags & ImGuiWindowFlags_NoTitleBar)) + { + window->DC.NavLayerCurrent = ImGuiNavLayer_Menu; IMGUI_TEST_ENGINE_ITEM_ADD(g.LastItemData.ID, g.LastItemData.Rect, &g.LastItemData); + window->DC.NavLayerCurrent = ImGuiNavLayer_Main; + } #endif } else { // Skip refresh always mark active if (window->SkipRefresh) - window->Active = true; + SetWindowActiveForSkipRefresh(window); // Append SetCurrentWindow(window); @@ -7337,7 +7728,7 @@ void ImGui::End() // Error checking: verify that user doesn't directly call End() on a child window. if (window->Flags & ImGuiWindowFlags_ChildWindow) - IM_ASSERT_USER_ERROR(g.WithinEndChild, "Must call EndChild() and not End()!"); + IM_ASSERT_USER_ERROR(g.WithinEndChildID == window->ID, "Must call EndChild() and not End()!"); // Close anything that is open if (window->DC.CurrentColumns) @@ -7355,7 +7746,7 @@ void ImGui::End() } // Stop logging - if (!(window->Flags & ImGuiWindowFlags_ChildWindow)) // FIXME: add more options for scope of logging + if (g.LogWindow == window) // FIXME: add more options for scope of logging LogFinish(); if (window->DC.IsSetPos) @@ -7367,216 +7758,63 @@ void ImGui::End() g.BeginMenuDepth--; if (window->Flags & ImGuiWindowFlags_Popup) g.BeginPopupStack.pop_back(); - window_stack_data.StackSizesOnBegin.CompareWithContextState(&g); + + // Error handling, state recovery + if (g.IO.ConfigErrorRecovery) + ErrorRecoveryTryToRecoverWindowState(&window_stack_data.StackSizesInBegin); + g.CurrentWindowStack.pop_back(); SetCurrentWindow(g.CurrentWindowStack.Size == 0 ? NULL : g.CurrentWindowStack.back().Window); } -void ImGui::BringWindowToFocusFront(ImGuiWindow* window) +// Important: this alone doesn't alter current ImDrawList state. This is called by PushFont/PopFont only. +void ImGui::SetCurrentFont(ImFont* font) { ImGuiContext& g = *GImGui; - IM_ASSERT(window == window->RootWindow); + IM_ASSERT(font && font->IsLoaded()); // Font Atlas not created. Did you call io.Fonts->GetTexDataAsRGBA32 / GetTexDataAsAlpha8 ? + IM_ASSERT(font->Scale > 0.0f); + g.Font = font; + g.FontBaseSize = ImMax(1.0f, g.IO.FontGlobalScale * g.Font->FontSize * g.Font->Scale); + g.FontSize = g.CurrentWindow ? g.CurrentWindow->CalcFontSize() : 0.0f; + g.FontScale = g.FontSize / g.Font->FontSize; - const int cur_order = window->FocusOrder; - IM_ASSERT(g.WindowsFocusOrder[cur_order] == window); - if (g.WindowsFocusOrder.back() == window) - return; + ImFontAtlas* atlas = g.Font->ContainerAtlas; + g.DrawListSharedData.TexUvWhitePixel = atlas->TexUvWhitePixel; + g.DrawListSharedData.TexUvLines = atlas->TexUvLines; + g.DrawListSharedData.Font = g.Font; + g.DrawListSharedData.FontSize = g.FontSize; + g.DrawListSharedData.FontScale = g.FontScale; +} - const int new_order = g.WindowsFocusOrder.Size - 1; - for (int n = cur_order; n < new_order; n++) - { - g.WindowsFocusOrder[n] = g.WindowsFocusOrder[n + 1]; - g.WindowsFocusOrder[n]->FocusOrder--; - IM_ASSERT(g.WindowsFocusOrder[n]->FocusOrder == n); - } - g.WindowsFocusOrder[new_order] = window; - window->FocusOrder = (short)new_order; +// Use ImDrawList::_SetTextureID(), making our shared g.FontStack[] authorative against window-local ImDrawList. +// - Whereas ImDrawList::PushTextureID()/PopTextureID() is not to be used across Begin() calls. +// - Note that we don't propagate current texture id when e.g. Begin()-ing into a new window, we never really did... +// - Some code paths never really fully worked with multiple atlas textures. +// - The right-ish solution may be to remove _SetTextureID() and make AddText/RenderText lazily call PushTextureID()/PopTextureID() +// the same way AddImage() does, but then all other primitives would also need to? I don't think we should tackle this problem +// because we have a concrete need and a test bed for multiple atlas textures. +void ImGui::PushFont(ImFont* font) +{ + ImGuiContext& g = *GImGui; + if (font == NULL) + font = GetDefaultFont(); + g.FontStack.push_back(font); + SetCurrentFont(font); + g.CurrentWindow->DrawList->_SetTextureID(font->ContainerAtlas->TexID); } -void ImGui::BringWindowToDisplayFront(ImGuiWindow* window) +void ImGui::PopFont() { ImGuiContext& g = *GImGui; - ImGuiWindow* current_front_window = g.Windows.back(); - if (current_front_window == window || current_front_window->RootWindow == window) // Cheap early out (could be better) + if (g.FontStack.Size <= 0) + { + IM_ASSERT_USER_ERROR(0, "Calling PopFont() too many times!"); return; - for (int i = g.Windows.Size - 2; i >= 0; i--) // We can ignore the top-most window - if (g.Windows[i] == window) - { - memmove(&g.Windows[i], &g.Windows[i + 1], (size_t)(g.Windows.Size - i - 1) * sizeof(ImGuiWindow*)); - g.Windows[g.Windows.Size - 1] = window; - break; - } -} - -void ImGui::BringWindowToDisplayBack(ImGuiWindow* window) -{ - ImGuiContext& g = *GImGui; - if (g.Windows[0] == window) - return; - for (int i = 0; i < g.Windows.Size; i++) - if (g.Windows[i] == window) - { - memmove(&g.Windows[1], &g.Windows[0], (size_t)i * sizeof(ImGuiWindow*)); - g.Windows[0] = window; - break; - } -} - -void ImGui::BringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* behind_window) -{ - IM_ASSERT(window != NULL && behind_window != NULL); - ImGuiContext& g = *GImGui; - window = window->RootWindow; - behind_window = behind_window->RootWindow; - int pos_wnd = FindWindowDisplayIndex(window); - int pos_beh = FindWindowDisplayIndex(behind_window); - if (pos_wnd < pos_beh) - { - size_t copy_bytes = (pos_beh - pos_wnd - 1) * sizeof(ImGuiWindow*); - memmove(&g.Windows.Data[pos_wnd], &g.Windows.Data[pos_wnd + 1], copy_bytes); - g.Windows[pos_beh - 1] = window; - } - else - { - size_t copy_bytes = (pos_wnd - pos_beh) * sizeof(ImGuiWindow*); - memmove(&g.Windows.Data[pos_beh + 1], &g.Windows.Data[pos_beh], copy_bytes); - g.Windows[pos_beh] = window; - } -} - -int ImGui::FindWindowDisplayIndex(ImGuiWindow* window) -{ - ImGuiContext& g = *GImGui; - return g.Windows.index_from_ptr(g.Windows.find(window)); -} - -// Moving window to front of display and set focus (which happens to be back of our sorted list) -void ImGui::FocusWindow(ImGuiWindow* window, ImGuiFocusRequestFlags flags) -{ - ImGuiContext& g = *GImGui; - - // Modal check? - if ((flags & ImGuiFocusRequestFlags_UnlessBelowModal) && (g.NavWindow != window)) // Early out in common case. - if (ImGuiWindow* blocking_modal = FindBlockingModal(window)) - { - // This block would typically be reached in two situations: - // - API call to FocusWindow() with a window under a modal and ImGuiFocusRequestFlags_UnlessBelowModal flag. - // - User clicking on void or anything behind a modal while a modal is open (window == NULL) - IMGUI_DEBUG_LOG_FOCUS("[focus] FocusWindow(\"%s\", UnlessBelowModal): prevented by \"%s\".\n", window ? window->Name : "", blocking_modal->Name); - if (window && window == window->RootWindow && (window->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0) - BringWindowToDisplayBehind(window, blocking_modal); // Still bring right under modal. (FIXME: Could move in focus list too?) - ClosePopupsOverWindow(GetTopMostPopupModal(), false); // Note how we need to use GetTopMostPopupModal() aad NOT blocking_modal, to handle nested modals - return; - } - - // Find last focused child (if any) and focus it instead. - if ((flags & ImGuiFocusRequestFlags_RestoreFocusedChild) && window != NULL) - window = NavRestoreLastChildNavWindow(window); - - // Apply focus - if (g.NavWindow != window) - { - SetNavWindow(window); - if (window && g.NavDisableMouseHover) - g.NavMousePosDirty = true; - g.NavId = window ? window->NavLastIds[0] : 0; // Restore NavId - g.NavLayer = ImGuiNavLayer_Main; - SetNavFocusScope(window ? window->NavRootFocusScopeId : 0); - g.NavIdIsAlive = false; - g.NavLastValidSelectionUserData = ImGuiSelectionUserData_Invalid; - - // Close popups if any - ClosePopupsOverWindow(window, false); - } - - // Move the root window to the top of the pile - IM_ASSERT(window == NULL || window->RootWindow != NULL); - ImGuiWindow* focus_front_window = window ? window->RootWindow : NULL; // NB: In docking branch this is window->RootWindowDockStop - ImGuiWindow* display_front_window = window ? window->RootWindow : NULL; - - // Steal active widgets. Some of the cases it triggers includes: - // - Focus a window while an InputText in another window is active, if focus happens before the old InputText can run. - // - When using Nav to activate menu items (due to timing of activating on press->new window appears->losing ActiveId) - if (g.ActiveId != 0 && g.ActiveIdWindow && g.ActiveIdWindow->RootWindow != focus_front_window) - if (!g.ActiveIdNoClearOnFocusLoss) - ClearActiveID(); - - // Passing NULL allow to disable keyboard focus - if (!window) - return; - - // Bring to front - BringWindowToFocusFront(focus_front_window); - if (((window->Flags | display_front_window->Flags) & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0) - BringWindowToDisplayFront(display_front_window); -} - -void ImGui::FocusTopMostWindowUnderOne(ImGuiWindow* under_this_window, ImGuiWindow* ignore_window, ImGuiViewport* filter_viewport, ImGuiFocusRequestFlags flags) -{ - ImGuiContext& g = *GImGui; - IM_UNUSED(filter_viewport); // Unused in master branch. - int start_idx = g.WindowsFocusOrder.Size - 1; - if (under_this_window != NULL) - { - // Aim at root window behind us, if we are in a child window that's our own root (see #4640) - int offset = -1; - while (under_this_window->Flags & ImGuiWindowFlags_ChildWindow) - { - under_this_window = under_this_window->ParentWindow; - offset = 0; - } - start_idx = FindWindowFocusIndex(under_this_window) + offset; - } - for (int i = start_idx; i >= 0; i--) - { - // We may later decide to test for different NoXXXInputs based on the active navigation input (mouse vs nav) but that may feel more confusing to the user. - ImGuiWindow* window = g.WindowsFocusOrder[i]; - if (window == ignore_window || !window->WasActive) - continue; - if ((window->Flags & (ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs)) != (ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs)) - { - FocusWindow(window, flags); - return; - } } - FocusWindow(NULL, flags); -} - -// Important: this alone doesn't alter current ImDrawList state. This is called by PushFont/PopFont only. -void ImGui::SetCurrentFont(ImFont* font) -{ - ImGuiContext& g = *GImGui; - IM_ASSERT(font && font->IsLoaded()); // Font Atlas not created. Did you call io.Fonts->GetTexDataAsRGBA32 / GetTexDataAsAlpha8 ? - IM_ASSERT(font->Scale > 0.0f); - g.Font = font; - g.FontBaseSize = ImMax(1.0f, g.IO.FontGlobalScale * g.Font->FontSize * g.Font->Scale); - g.FontSize = g.CurrentWindow ? g.CurrentWindow->CalcFontSize() : 0.0f; - g.FontScale = g.FontSize / g.Font->FontSize; - - ImFontAtlas* atlas = g.Font->ContainerAtlas; - g.DrawListSharedData.TexUvWhitePixel = atlas->TexUvWhitePixel; - g.DrawListSharedData.TexUvLines = atlas->TexUvLines; - g.DrawListSharedData.Font = g.Font; - g.DrawListSharedData.FontSize = g.FontSize; - g.DrawListSharedData.FontScale = g.FontScale; -} - -void ImGui::PushFont(ImFont* font) -{ - ImGuiContext& g = *GImGui; - if (!font) - font = GetDefaultFont(); - SetCurrentFont(font); - g.FontStack.push_back(font); - g.CurrentWindow->DrawList->PushTextureID(font->ContainerAtlas->TexID); -} - -void ImGui::PopFont() -{ - ImGuiContext& g = *GImGui; - g.CurrentWindow->DrawList->PopTextureID(); g.FontStack.pop_back(); - SetCurrentFont(g.FontStack.empty() ? GetDefaultFont() : g.FontStack.back()); + ImFont* font = g.FontStack.Size == 0 ? GetDefaultFont() : g.FontStack.back(); + SetCurrentFont(font); + g.CurrentWindow->DrawList->_SetTextureID(font->ContainerAtlas->TexID); } void ImGui::PushItemFlag(ImGuiItemFlags option, bool enabled) @@ -7595,7 +7833,11 @@ void ImGui::PushItemFlag(ImGuiItemFlags option, bool enabled) void ImGui::PopItemFlag() { ImGuiContext& g = *GImGui; - IM_ASSERT(g.ItemFlagsStack.Size > 1); // Too many calls to PopItemFlag() - we always leave a 0 at the bottom of the stack. + if (g.ItemFlagsStack.Size <= 1) + { + IM_ASSERT_USER_ERROR(0, "Calling PopItemFlag() too many times!"); + return; + } g.ItemFlagsStack.pop_back(); g.CurrentItemFlags = g.ItemFlagsStack.back(); } @@ -7604,8 +7846,9 @@ void ImGui::PopItemFlag() // - Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled) // - Visually this is currently altering alpha, but it is expected that in a future styling system this would work differently. // - Feedback welcome at https://github.com/ocornut/imgui/issues/211 -// - BeginDisabled(false) essentially does nothing useful but is provided to facilitate use of boolean expressions. If you can avoid calling BeginDisabled(False)/EndDisabled() best to avoid it. -// - Optimized shortcuts instead of PushStyleVar() + PushItemFlag() +// - BeginDisabled(false)/EndDisabled() essentially does nothing but is provided to facilitate use of boolean expressions. +// (as a micro-optimization: if you have tens of thousands of BeginDisabled(false)/EndDisabled() pairs, you might want to reformulate your code to avoid making those calls) +// - Note: mixing up BeginDisabled() and PushItemFlag(ImGuiItemFlags_Disabled) is currently NOT SUPPORTED. void ImGui::BeginDisabled(bool disabled) { ImGuiContext& g = *GImGui; @@ -7624,7 +7867,11 @@ void ImGui::BeginDisabled(bool disabled) void ImGui::EndDisabled() { ImGuiContext& g = *GImGui; - IM_ASSERT(g.DisabledStackSize > 0); + if (g.DisabledStackSize <= 0) + { + IM_ASSERT_USER_ERROR(0, "Calling EndDisabled() too many times!"); + return; + } g.DisabledStackSize--; bool was_disabled = (g.CurrentItemFlags & ImGuiItemFlags_Disabled) != 0; //PopItemFlag(); @@ -7659,14 +7906,21 @@ void ImGui::EndDisabledOverrideReenable() void ImGui::PushTextWrapPos(float wrap_pos_x) { - ImGuiWindow* window = GetCurrentWindow(); + ImGuiContext& g = *GImGui; + ImGuiWindow* window = g.CurrentWindow; window->DC.TextWrapPosStack.push_back(window->DC.TextWrapPos); window->DC.TextWrapPos = wrap_pos_x; } void ImGui::PopTextWrapPos() { - ImGuiWindow* window = GetCurrentWindow(); + ImGuiContext& g = *GImGui; + ImGuiWindow* window = g.CurrentWindow; + if (window->DC.TextWrapPosStack.Size <= 0) + { + IM_ASSERT_USER_ERROR(0, "Calling PopTextWrapPos() too many times!"); + return; + } window->DC.TextWrapPos = window->DC.TextWrapPosStack.back(); window->DC.TextWrapPosStack.pop_back(); } @@ -7739,9 +7993,9 @@ bool ImGui::IsWindowAbove(ImGuiWindow* potential_above, ImGuiWindow* potential_b // Refer to FAQ entry "How can I tell whether to dispatch mouse/keyboard to Dear ImGui or my application?" for details. bool ImGui::IsWindowHovered(ImGuiHoveredFlags flags) { - IM_ASSERT((flags & ~ImGuiHoveredFlags_AllowedMaskForIsWindowHovered) == 0 && "Invalid flags for IsWindowHovered()!"); - ImGuiContext& g = *GImGui; + IM_ASSERT_USER_ERROR((flags & ~ImGuiHoveredFlags_AllowedMaskForIsWindowHovered) == 0, "Invalid flags for IsWindowHovered()!"); + ImGuiWindow* ref_window = g.HoveredWindow; ImGuiWindow* cur_window = g.CurrentWindow; if (ref_window == NULL) @@ -7782,36 +8036,6 @@ bool ImGui::IsWindowHovered(ImGuiHoveredFlags flags) return true; } -bool ImGui::IsWindowFocused(ImGuiFocusedFlags flags) -{ - ImGuiContext& g = *GImGui; - ImGuiWindow* ref_window = g.NavWindow; - ImGuiWindow* cur_window = g.CurrentWindow; - - if (ref_window == NULL) - return false; - if (flags & ImGuiFocusedFlags_AnyWindow) - return true; - - IM_ASSERT(cur_window); // Not inside a Begin()/End() - const bool popup_hierarchy = (flags & ImGuiFocusedFlags_NoPopupHierarchy) == 0; - if (flags & ImGuiHoveredFlags_RootWindow) - cur_window = GetCombinedRootWindow(cur_window, popup_hierarchy); - - if (flags & ImGuiHoveredFlags_ChildWindows) - return IsWindowChildOf(ref_window, cur_window, popup_hierarchy); - else - return (ref_window == cur_window); -} - -// Can we focus this window with CTRL+TAB (or PadMenu + PadFocusPrev/PadFocusNext) -// Note that NoNavFocus makes the window not reachable with CTRL+TAB but it can still be focused with mouse or programmatically. -// If you want a window to never be focused, you may use the e.g. NoInputs flag. -bool ImGui::IsWindowNavFocusable(ImGuiWindow* window) -{ - return window->WasActive && window == window->RootWindow && !(window->Flags & ImGuiWindowFlags_NoNavFocus); -} - float ImGui::GetWindowWidth() { ImGuiWindow* window = GImGui->CurrentWindow; @@ -7959,24 +8183,6 @@ void ImGui::SetWindowCollapsed(const char* name, bool collapsed, ImGuiCond cond) SetWindowCollapsed(window, collapsed, cond); } -void ImGui::SetWindowFocus() -{ - FocusWindow(GImGui->CurrentWindow); -} - -void ImGui::SetWindowFocus(const char* name) -{ - if (name) - { - if (ImGuiWindow* window = FindWindowByName(name)) - FocusWindow(window); - } - else - { - FocusWindow(NULL); - } -} - void ImGui::SetNextWindowPos(const ImVec2& pos, ImGuiCond cond, const ImVec2& pivot) { ImGuiContext& g = *GImGui; @@ -8034,12 +8240,6 @@ void ImGui::SetNextWindowCollapsed(bool collapsed, ImGuiCond cond) g.NextWindowData.CollapsedCond = cond ? cond : ImGuiCond_Always; } -void ImGui::SetNextWindowFocus() -{ - ImGuiContext& g = *GImGui; - g.NextWindowData.Flags |= ImGuiNextWindowDataFlags_HasFocus; -} - void ImGui::SetNextWindowBgAlpha(float alpha) { ImGuiContext& g = *GImGui; @@ -8099,9 +8299,9 @@ void ImGui::PushFocusScope(ImGuiID id) void ImGui::PopFocusScope() { ImGuiContext& g = *GImGui; - if (g.FocusScopeStack.Size == 0) + if (g.FocusScopeStack.Size <= g.StackSizesInBeginForCurrentWindow->SizeOfFocusScopeStack) { - IM_ASSERT_USER_ERROR(g.FocusScopeStack.Size > 0, "Calling PopFocusScope() too many times!"); + IM_ASSERT_USER_ERROR(0, "Calling PopFocusScope() too many times!"); return; } g.FocusScopeStack.pop_back(); @@ -8147,7 +8347,7 @@ void ImGui::FocusItem() return; } - ImGuiNavMoveFlags move_flags = ImGuiNavMoveFlags_IsTabbing | ImGuiNavMoveFlags_FocusApi | ImGuiNavMoveFlags_NoSetNavHighlight | ImGuiNavMoveFlags_NoSelect; + ImGuiNavMoveFlags move_flags = ImGuiNavMoveFlags_IsTabbing | ImGuiNavMoveFlags_FocusApi | ImGuiNavMoveFlags_NoSetNavCursorVisible | ImGuiNavMoveFlags_NoSelect; ImGuiScrollFlags scroll_flags = window->Appearing ? ImGuiScrollFlags_KeepVisibleEdgeX | ImGuiScrollFlags_AlwaysCenterY : ImGuiScrollFlags_KeepVisibleEdgeX | ImGuiScrollFlags_KeepVisibleEdgeY; SetNavWindow(window); NavMoveRequestSubmit(ImGuiDir_None, ImGuiDir_Up, move_flags, scroll_flags); @@ -8182,7 +8382,7 @@ void ImGui::SetKeyboardFocusHere(int offset) SetNavWindow(window); - ImGuiNavMoveFlags move_flags = ImGuiNavMoveFlags_IsTabbing | ImGuiNavMoveFlags_Activate | ImGuiNavMoveFlags_FocusApi | ImGuiNavMoveFlags_NoSetNavHighlight; + ImGuiNavMoveFlags move_flags = ImGuiNavMoveFlags_IsTabbing | ImGuiNavMoveFlags_Activate | ImGuiNavMoveFlags_FocusApi | ImGuiNavMoveFlags_NoSetNavCursorVisible; ImGuiScrollFlags scroll_flags = window->Appearing ? ImGuiScrollFlags_KeepVisibleEdgeX | ImGuiScrollFlags_AlwaysCenterY : ImGuiScrollFlags_KeepVisibleEdgeX | ImGuiScrollFlags_KeepVisibleEdgeY; NavMoveRequestSubmit(ImGuiDir_None, offset < 0 ? ImGuiDir_Up : ImGuiDir_Down, move_flags, scroll_flags); // FIXME-NAV: Once we refactor tabbing, add LegacyApi flag to not activate non-inputable. if (offset == -1) @@ -8282,6 +8482,16 @@ ImGuiID ImGuiWindow::GetID(int n) } // This is only used in rare/specific situations to manufacture an ID out of nowhere. +// FIXME: Consider instead storing last non-zero ID + count of successive zero-ID, and combine those? +ImGuiID ImGuiWindow::GetIDFromPos(const ImVec2& p_abs) +{ + ImGuiID seed = IDStack.back(); + ImVec2 p_rel = ImGui::WindowPosAbsToRel(this, p_abs); + ImGuiID id = ImHashData(&p_rel, sizeof(p_rel), seed); + return id; +} + +// " ImGuiID ImGuiWindow::GetIDFromRectangle(const ImRect& r_abs) { ImGuiID seed = IDStack.back(); @@ -8362,7 +8572,11 @@ ImGuiID ImGui::GetIDWithSeed(int n, ImGuiID seed) void ImGui::PopID() { ImGuiWindow* window = GImGui->CurrentWindow; - IM_ASSERT(window->IDStack.Size > 1); // Too many PopID(), or could be popping in a wrong/different window? + if (window->IDStack.Size <= 1) + { + IM_ASSERT_USER_ERROR(0, "Calling PopID() too many times!"); + return; + } window->IDStack.pop_back(); } @@ -8394,7 +8608,7 @@ IM_MSVC_RUNTIME_CHECKS_RESTORE //----------------------------------------------------------------------------- // [SECTION] INPUTS //----------------------------------------------------------------------------- -// - GetModForModKey() [Internal] +// - GetModForLRModKey() [Internal] // - FixupKeyChord() [Internal] // - GetKeyData() [Internal] // - GetKeyIndex() [Internal] @@ -8457,7 +8671,7 @@ IM_MSVC_RUNTIME_CHECKS_RESTORE // - Shortcut() [Internal] //----------------------------------------------------------------------------- -static ImGuiKeyChord GetModForModKey(ImGuiKey key) +static ImGuiKeyChord GetModForLRModKey(ImGuiKey key) { if (key == ImGuiKey_LeftCtrl || key == ImGuiKey_RightCtrl) return ImGuiMod_Ctrl; @@ -8474,8 +8688,8 @@ ImGuiKeyChord ImGui::FixupKeyChord(ImGuiKeyChord key_chord) { // Add ImGuiMod_XXXX when a corresponding ImGuiKey_LeftXXX/ImGuiKey_RightXXX is specified. ImGuiKey key = (ImGuiKey)(key_chord & ~ImGuiMod_Mask_); - if (IsModKey(key)) - key_chord |= GetModForModKey(key); + if (IsLRModKey(key)) + key_chord |= GetModForLRModKey(key); return key_chord; } @@ -8487,29 +8701,12 @@ ImGuiKeyData* ImGui::GetKeyData(ImGuiContext* ctx, ImGuiKey key) if (key & ImGuiMod_Mask_) key = ConvertSingleModFlagToKey(key); -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - IM_ASSERT(key >= ImGuiKey_LegacyNativeKey_BEGIN && key < ImGuiKey_NamedKey_END); - if (IsLegacyKey(key) && g.IO.KeyMap[key] != -1) - key = (ImGuiKey)g.IO.KeyMap[key]; // Remap native->imgui or imgui->native -#else IM_ASSERT(IsNamedKey(key) && "Support for user key indices was dropped in favor of ImGuiKey. Please update backend & user code."); -#endif - return &g.IO.KeysData[key - ImGuiKey_KeysData_OFFSET]; + return &g.IO.KeysData[key - ImGuiKey_NamedKey_BEGIN]; } -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO -// Formally moved to obsolete section in 1.90.5 in spite of documented as obsolete since 1.87 -ImGuiKey ImGui::GetKeyIndex(ImGuiKey key) -{ - ImGuiContext& g = *GImGui; - IM_ASSERT(IsNamedKey(key)); - const ImGuiKeyData* key_data = GetKeyData(key); - return (ImGuiKey)(key_data - g.IO.KeysData); -} -#endif - -// Those names a provided for debugging purpose and are not meant to be saved persistently not compared. -static const char* const GKeyNames[] = +// Those names a provided for debugging purpose and are not meant to be saved persistently not compared. +static const char* const GKeyNames[] = { "Tab", "LeftArrow", "RightArrow", "UpArrow", "DownArrow", "PageUp", "PageDown", "Home", "End", "Insert", "Delete", "Backspace", "Space", "Enter", "Escape", @@ -8539,18 +8736,7 @@ const char* ImGui::GetKeyName(ImGuiKey key) { if (key == ImGuiKey_None) return "None"; -#ifdef IMGUI_DISABLE_OBSOLETE_KEYIO IM_ASSERT(IsNamedKeyOrMod(key) && "Support for user key indices was dropped in favor of ImGuiKey. Please update backend and user code."); -#else - ImGuiContext& g = *GImGui; - if (IsLegacyKey(key)) - { - if (g.IO.KeyMap[key] == -1) - return "N/A"; - IM_ASSERT(IsNamedKey((ImGuiKey)g.IO.KeyMap[key])); - key = (ImGuiKey)g.IO.KeyMap[key]; - } -#endif if (key & ImGuiMod_Mask_) key = ConvertSingleModFlagToKey(key); if (!IsNamedKey(key)) @@ -8566,8 +8752,8 @@ const char* ImGui::GetKeyChordName(ImGuiKeyChord key_chord) ImGuiContext& g = *GImGui; const ImGuiKey key = (ImGuiKey)(key_chord & ~ImGuiMod_Mask_); - if (IsModKey(key)) - key_chord &= ~GetModForModKey(key); // Return "Ctrl+LeftShift" instead of "Ctrl+Shift+LeftShift" + if (IsLRModKey(key)) + key_chord &= ~GetModForLRModKey(key); // Return "Ctrl+LeftShift" instead of "Ctrl+Shift+LeftShift" ImFormatString(g.TempKeychordName, IM_ARRAYSIZE(g.TempKeychordName), "%s%s%s%s%s", (key_chord & ImGuiMod_Ctrl) ? "Ctrl+" : "", (key_chord & ImGuiMod_Shift) ? "Shift+" : "", @@ -8767,8 +8953,9 @@ static int CalcRoutingScore(ImGuiID focus_scope_id, ImGuiID owner_id, ImGuiInput return 0; } -// We need this to filter some Shortcut() routes when an item e.g. an InputText() is active -// e.g. ImGuiKey_G won't be considered a shortcut when item is active, but ImGuiMod|ImGuiKey_G can be. +// - We need this to filter some Shortcut() routes when an item e.g. an InputText() is active +// e.g. ImGuiKey_G won't be considered a shortcut when item is active, but ImGuiMod|ImGuiKey_G can be. +// - This is also used by UpdateInputEvents() to avoid trickling in the most common case of e.g. pressing ImGuiKey_G also emitting a G character. static bool IsKeyChordPotentiallyCharInput(ImGuiKeyChord key_chord) { // Mimic 'ignore_char_inputs' logic in InputText() @@ -8782,6 +8969,8 @@ static bool IsKeyChordPotentiallyCharInput(ImGuiKeyChord key_chord) // Return true for A-Z, 0-9 and other keys associated to char inputs. Other keys such as F1-F12 won't be filtered. ImGuiKey key = (ImGuiKey)(key_chord & ~ImGuiMod_Mask_); + if (key == ImGuiKey_None) + return false; return g.KeysMayBeCharInput.TestBit(key); } @@ -8905,7 +9094,7 @@ bool ImGui::IsKeyPressed(ImGuiKey key, bool repeat) return IsKeyPressed(key, repeat ? ImGuiInputFlags_Repeat : ImGuiInputFlags_None, ImGuiKeyOwner_Any); } -// Important: unless legacy IsKeyPressed(ImGuiKey, bool repeat=true) which DEFAULT to repeat, this requires EXPLICIT repeat. +// Important: unlike legacy IsKeyPressed(ImGuiKey, bool repeat=true) which DEFAULT to repeat, this requires EXPLICIT repeat. bool ImGui::IsKeyPressed(ImGuiKey key, ImGuiInputFlags flags, ImGuiID owner_id) { const ImGuiKeyData* key_data = GetKeyData(key); @@ -9155,6 +9344,9 @@ ImGuiMouseCursor ImGui::GetMouseCursor() return g.MouseCursor; } +// We intentionally accept values of ImGuiMouseCursor that are outside our bounds, in case users needs to hack-in a custom cursor value. +// Custom cursors may be handled by custom backends. If you are using a standard backend and want to hack in a custom cursor, you may +// handle it before the backend _NewFrame() call and temporarily set ImGuiConfigFlags_NoMouseCursorChange during the backend _NewFrame() call. void ImGui::SetMouseCursor(ImGuiMouseCursor cursor_type) { ImGuiContext& g = *GImGui; @@ -9188,74 +9380,6 @@ static void ImGui::UpdateKeyboardInputs() if (io.ConfigFlags & ImGuiConfigFlags_NoKeyboard) io.ClearInputKeys(); - // Import legacy keys or verify they are not used -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - if (io.BackendUsingLegacyKeyArrays == 0) - { - // Backend used new io.AddKeyEvent() API: Good! Verify that old arrays are never written to externally. - for (int n = 0; n < ImGuiKey_LegacyNativeKey_END; n++) - IM_ASSERT((io.KeysDown[n] == false || IsKeyDown((ImGuiKey)n)) && "Backend needs to either only use io.AddKeyEvent(), either only fill legacy io.KeysDown[] + io.KeyMap[]. Not both!"); - } - else - { - if (g.FrameCount == 0) - for (int n = ImGuiKey_LegacyNativeKey_BEGIN; n < ImGuiKey_LegacyNativeKey_END; n++) - IM_ASSERT(g.IO.KeyMap[n] == -1 && "Backend is not allowed to write to io.KeyMap[0..511]!"); - - // Build reverse KeyMap (Named -> Legacy) - for (int n = ImGuiKey_NamedKey_BEGIN; n < ImGuiKey_NamedKey_END; n++) - if (io.KeyMap[n] != -1) - { - IM_ASSERT(IsLegacyKey((ImGuiKey)io.KeyMap[n])); - io.KeyMap[io.KeyMap[n]] = n; - } - - // Import legacy keys into new ones - for (int n = ImGuiKey_LegacyNativeKey_BEGIN; n < ImGuiKey_LegacyNativeKey_END; n++) - if (io.KeysDown[n] || io.BackendUsingLegacyKeyArrays == 1) - { - const ImGuiKey key = (ImGuiKey)(io.KeyMap[n] != -1 ? io.KeyMap[n] : n); - IM_ASSERT(io.KeyMap[n] == -1 || IsNamedKey(key)); - io.KeysData[key].Down = io.KeysDown[n]; - if (key != n) - io.KeysDown[key] = io.KeysDown[n]; // Allow legacy code using io.KeysDown[GetKeyIndex()] with old backends - io.BackendUsingLegacyKeyArrays = 1; - } - if (io.BackendUsingLegacyKeyArrays == 1) - { - GetKeyData(ImGuiMod_Ctrl)->Down = io.KeyCtrl; - GetKeyData(ImGuiMod_Shift)->Down = io.KeyShift; - GetKeyData(ImGuiMod_Alt)->Down = io.KeyAlt; - GetKeyData(ImGuiMod_Super)->Down = io.KeySuper; - } - } -#endif - - // Import legacy ImGuiNavInput_ io inputs and convert to gamepad keys -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - const bool nav_gamepad_active = (io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad) != 0 && (io.BackendFlags & ImGuiBackendFlags_HasGamepad) != 0; - if (io.BackendUsingLegacyNavInputArray && nav_gamepad_active) - { - #define MAP_LEGACY_NAV_INPUT_TO_KEY1(_KEY, _NAV1) do { io.KeysData[_KEY].Down = (io.NavInputs[_NAV1] > 0.0f); io.KeysData[_KEY].AnalogValue = io.NavInputs[_NAV1]; } while (0) - #define MAP_LEGACY_NAV_INPUT_TO_KEY2(_KEY, _NAV1, _NAV2) do { io.KeysData[_KEY].Down = (io.NavInputs[_NAV1] > 0.0f) || (io.NavInputs[_NAV2] > 0.0f); io.KeysData[_KEY].AnalogValue = ImMax(io.NavInputs[_NAV1], io.NavInputs[_NAV2]); } while (0) - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadFaceDown, ImGuiNavInput_Activate); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadFaceRight, ImGuiNavInput_Cancel); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadFaceLeft, ImGuiNavInput_Menu); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadFaceUp, ImGuiNavInput_Input); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadDpadLeft, ImGuiNavInput_DpadLeft); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadDpadRight, ImGuiNavInput_DpadRight); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadDpadUp, ImGuiNavInput_DpadUp); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadDpadDown, ImGuiNavInput_DpadDown); - MAP_LEGACY_NAV_INPUT_TO_KEY2(ImGuiKey_GamepadL1, ImGuiNavInput_FocusPrev, ImGuiNavInput_TweakSlow); - MAP_LEGACY_NAV_INPUT_TO_KEY2(ImGuiKey_GamepadR1, ImGuiNavInput_FocusNext, ImGuiNavInput_TweakFast); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadLStickLeft, ImGuiNavInput_LStickLeft); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadLStickRight, ImGuiNavInput_LStickRight); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadLStickUp, ImGuiNavInput_LStickUp); - MAP_LEGACY_NAV_INPUT_TO_KEY1(ImGuiKey_GamepadLStickDown, ImGuiNavInput_LStickDown); - #undef NAV_MAP_KEY - } -#endif - // Update aliases for (int n = 0; n < ImGuiMouseButton_COUNT; n++) UpdateAliasKey(MouseButtonToKey(n), io.MouseDown[n], io.MouseDown[n] ? 1.0f : 0.0f); @@ -9279,22 +9403,21 @@ static void ImGui::UpdateKeyboardInputs() // Clear gamepad data if disabled if ((io.BackendFlags & ImGuiBackendFlags_HasGamepad) == 0) - for (int i = ImGuiKey_Gamepad_BEGIN; i < ImGuiKey_Gamepad_END; i++) + for (int key = ImGuiKey_Gamepad_BEGIN; key < ImGuiKey_Gamepad_END; key++) { - io.KeysData[i - ImGuiKey_KeysData_OFFSET].Down = false; - io.KeysData[i - ImGuiKey_KeysData_OFFSET].AnalogValue = 0.0f; + io.KeysData[key - ImGuiKey_NamedKey_BEGIN].Down = false; + io.KeysData[key - ImGuiKey_NamedKey_BEGIN].AnalogValue = 0.0f; } // Update keys - for (int i = 0; i < ImGuiKey_KeysData_SIZE; i++) + for (int key = ImGuiKey_NamedKey_BEGIN; key < ImGuiKey_NamedKey_END; key++) { - ImGuiKeyData* key_data = &io.KeysData[i]; + ImGuiKeyData* key_data = &io.KeysData[key - ImGuiKey_NamedKey_BEGIN]; key_data->DownDurationPrev = key_data->DownDuration; key_data->DownDuration = key_data->Down ? (key_data->DownDuration < 0.0f ? 0.0f : key_data->DownDuration + io.DeltaTime) : -1.0f; if (key_data->DownDuration == 0.0f) { - ImGuiKey key = (ImGuiKey)(ImGuiKey_KeysData_OFFSET + i); - if (IsKeyboardKey(key)) + if (IsKeyboardKey((ImGuiKey)key)) g.LastKeyboardKeyPressTime = g.Time; else if (key == ImGuiKey_ReservedForModCtrl || key == ImGuiKey_ReservedForModShift || key == ImGuiKey_ReservedForModAlt || key == ImGuiKey_ReservedForModSuper) g.LastKeyboardKeyPressTime = g.Time; @@ -9304,7 +9427,7 @@ static void ImGui::UpdateKeyboardInputs() // Update keys/input owner (named keys only): one entry per key for (ImGuiKey key = ImGuiKey_NamedKey_BEGIN; key < ImGuiKey_NamedKey_END; key = (ImGuiKey)(key + 1)) { - ImGuiKeyData* key_data = &io.KeysData[key - ImGuiKey_KeysData_OFFSET]; + ImGuiKeyData* key_data = &io.KeysData[key - ImGuiKey_NamedKey_BEGIN]; ImGuiKeyOwnerData* owner_data = &g.KeysOwnerData[key - ImGuiKey_NamedKey_BEGIN]; owner_data->OwnerCurr = owner_data->OwnerNext; if (!key_data->Down) // Important: ownership is released on the frame after a release. Ensure a 'MouseDown -> CloseWindow -> MouseUp' chain doesn't lead to someone else seeing the MouseUp. @@ -9345,9 +9468,9 @@ static void ImGui::UpdateMouseInputs() g.MouseStationaryTimer = mouse_stationary ? (g.MouseStationaryTimer + io.DeltaTime) : 0.0f; //IMGUI_DEBUG_LOG("%.4f\n", g.MouseStationaryTimer); - // If mouse moved we re-enable mouse hovering in case it was disabled by gamepad/keyboard. In theory should use a >0.0f threshold but would need to reset in everywhere we set this to true. + // If mouse moved we re-enable mouse hovering in case it was disabled by keyboard/gamepad. In theory should use a >0.0f threshold but would need to reset in everywhere we set this to true. if (io.MouseDelta.x != 0.0f || io.MouseDelta.y != 0.0f) - g.NavDisableMouseHover = false; + g.NavHighlightItemUnderNav = false; for (int i = 0; i < IM_ARRAYSIZE(io.MouseDown); i++) { @@ -9384,9 +9507,9 @@ static void ImGui::UpdateMouseInputs() // We provide io.MouseDoubleClicked[] as a legacy service io.MouseDoubleClicked[i] = (io.MouseClickedCount[i] == 2); - // Clicking any mouse button reactivate mouse hovering which may have been deactivated by gamepad/keyboard navigation + // Clicking any mouse button reactivate mouse hovering which may have been deactivated by keyboard/gamepad navigation if (io.MouseClicked[i]) - g.NavDisableMouseHover = false; + g.NavHighlightItemUnderNav = false; } } @@ -9586,11 +9709,11 @@ void ImGui::UpdateInputEvents(bool trickle_fast_inputs) // Only trickle chars<>key when working with InputText() // FIXME: InputText() could parse event trail? // FIXME: Could specialize chars<>keys trickling rules for control keys (those not typically associated to characters) - const bool trickle_interleaved_keys_and_text = (trickle_fast_inputs && g.WantTextInputNextFrame == 1); + const bool trickle_interleaved_nonchar_keys_and_text = (trickle_fast_inputs && g.WantTextInputNextFrame == 1); - bool mouse_moved = false, mouse_wheeled = false, key_changed = false, text_inputted = false; + bool mouse_moved = false, mouse_wheeled = false, key_changed = false, key_changed_nonchar = false, text_inputted = false; int mouse_button_changed = 0x00; - ImBitArray key_changed_mask; + ImBitArray key_changed_mask; int event_n = 0; for (; event_n < g.InputEventsQueue.Size; event_n++) @@ -9640,30 +9763,32 @@ void ImGui::UpdateInputEvents(bool trickle_fast_inputs) IM_ASSERT(key != ImGuiKey_None); ImGuiKeyData* key_data = GetKeyData(key); const int key_data_index = (int)(key_data - g.IO.KeysData); - if (trickle_fast_inputs && key_data->Down != e->Key.Down && (key_changed_mask.TestBit(key_data_index) || text_inputted || mouse_button_changed != 0)) + if (trickle_fast_inputs && key_data->Down != e->Key.Down && (key_changed_mask.TestBit(key_data_index) || mouse_button_changed != 0)) + break; + + const bool key_is_potentially_for_char_input = IsKeyChordPotentiallyCharInput(GetMergedModsFromKeys() | key); + if (trickle_interleaved_nonchar_keys_and_text && (text_inputted && !key_is_potentially_for_char_input)) break; + key_data->Down = e->Key.Down; key_data->AnalogValue = e->Key.AnalogValue; key_changed = true; key_changed_mask.SetBit(key_data_index); - - // Allow legacy code using io.KeysDown[GetKeyIndex()] with new backends -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - io.KeysDown[key_data_index] = key_data->Down; - if (io.KeyMap[key_data_index] != -1) - io.KeysDown[io.KeyMap[key_data_index]] = key_data->Down; -#endif + if (trickle_interleaved_nonchar_keys_and_text && !key_is_potentially_for_char_input) + key_changed_nonchar = true; } else if (e->Type == ImGuiInputEventType_Text) { if (io.ConfigFlags & ImGuiConfigFlags_NoKeyboard) continue; // Trickling Rule: Stop processing queued events if keys/mouse have been interacted with - if (trickle_fast_inputs && ((key_changed && trickle_interleaved_keys_and_text) || mouse_button_changed != 0 || mouse_moved || mouse_wheeled)) + if (trickle_fast_inputs && (mouse_button_changed != 0 || mouse_moved || mouse_wheeled)) + break; + if (trickle_interleaved_nonchar_keys_and_text && key_changed_nonchar) break; unsigned int c = e->Text.Char; io.InputQueueCharacters.push_back(c <= IM_UNICODE_CODEPOINT_MAX ? (ImWchar)c : IM_UNICODE_CODEPOINT_INVALID); - if (trickle_interleaved_keys_and_text) + if (trickle_interleaved_nonchar_keys_and_text) text_inputted = true; } else if (e->Type == ImGuiInputEventType_Focus) @@ -9840,7 +9965,7 @@ bool ImGui::IsKeyChordPressed(ImGuiKeyChord key_chord, ImGuiInputFlags flags, Im void ImGui::SetNextItemShortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags) { ImGuiContext& g = *GImGui; - g.NextItemData.Flags |= ImGuiNextItemDataFlags_HasShortcut; + g.NextItemData.HasFlags |= ImGuiNextItemDataFlags_HasShortcut; g.NextItemData.Shortcut = key_chord; g.NextItemData.ShortcutFlags = flags; } @@ -9852,7 +9977,7 @@ void ImGui::ItemHandleShortcut(ImGuiID id) ImGuiInputFlags flags = g.NextItemData.ShortcutFlags; IM_ASSERT((flags & ~ImGuiInputFlags_SupportedBySetNextItemShortcut) == 0); // Passing flags not supported by SetNextItemShortcut()! - if (g.LastItemData.InFlags & ImGuiItemFlags_Disabled) + if (g.LastItemData.ItemFlags & ImGuiItemFlags_Disabled) return; if (flags & ImGuiInputFlags_Tooltip) { @@ -9911,9 +10036,17 @@ bool ImGui::Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags, ImGuiID own return true; } - //----------------------------------------------------------------------------- -// [SECTION] ERROR CHECKING +// [SECTION] ERROR CHECKING, STATE RECOVERY +//----------------------------------------------------------------------------- +// - DebugCheckVersionAndDataLayout() (called via IMGUI_CHECKVERSION() macros) +// - ErrorCheckUsingSetCursorPosToExtendParentBoundaries() +// - ErrorCheckNewFrameSanityChecks() +// - ErrorCheckEndFrameSanityChecks() +// - ErrorRecoveryStoreState() +// - ErrorRecoveryTryToRecoverState() +// - ErrorRecoveryTryToRecoverWindowState() +// - ErrorLog() //----------------------------------------------------------------------------- // Verify ABI compatibility between caller code and compiled version of Dear ImGui. This helps detects some build issues. @@ -10003,126 +10136,151 @@ static void ImGui::ErrorCheckNewFrameSanityChecks() IM_ASSERT(g.Style.WindowMinSize.x >= 1.0f && g.Style.WindowMinSize.y >= 1.0f && "Invalid style setting."); IM_ASSERT(g.Style.WindowMenuButtonPosition == ImGuiDir_None || g.Style.WindowMenuButtonPosition == ImGuiDir_Left || g.Style.WindowMenuButtonPosition == ImGuiDir_Right); IM_ASSERT(g.Style.ColorButtonPosition == ImGuiDir_Left || g.Style.ColorButtonPosition == ImGuiDir_Right); -#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO - for (int n = ImGuiKey_NamedKey_BEGIN; n < ImGuiKey_COUNT; n++) - IM_ASSERT(g.IO.KeyMap[n] >= -1 && g.IO.KeyMap[n] < ImGuiKey_LegacyNativeKey_END && "io.KeyMap[] contains an out of bound value (need to be 0..511, or -1 for unmapped key)"); - // Check: required key mapping (we intentionally do NOT check all keys to not pressure user into setting up everything, but Space is required and was only added in 1.60 WIP) - if ((g.IO.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard) && g.IO.BackendUsingLegacyKeyArrays == 1) - IM_ASSERT(g.IO.KeyMap[ImGuiKey_Space] != -1 && "ImGuiKey_Space is not mapped, required for keyboard navigation."); + // Error handling: we do not accept 100% silent recovery! Please contact me if you feel this is getting in your way. + if (g.IO.ConfigErrorRecovery) + IM_ASSERT(g.IO.ConfigErrorRecoveryEnableAssert || g.IO.ConfigErrorRecoveryEnableDebugLog || g.IO.ConfigErrorRecoveryEnableTooltip || g.ErrorCallback != NULL); + +#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS + // Remap legacy names + if (g.IO.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) + { + g.IO.ConfigNavMoveSetMousePos = true; + g.IO.ConfigFlags &= ~ImGuiConfigFlags_NavEnableSetMousePos; + } + if (g.IO.ConfigFlags & ImGuiConfigFlags_NavNoCaptureKeyboard) + { + g.IO.ConfigNavCaptureKeyboard = false; + g.IO.ConfigFlags &= ~ImGuiConfigFlags_NavNoCaptureKeyboard; + } + + // Remap legacy clipboard handlers (OBSOLETED in 1.91.1, August 2024) + if (g.IO.GetClipboardTextFn != NULL && (g.PlatformIO.Platform_GetClipboardTextFn == NULL || g.PlatformIO.Platform_GetClipboardTextFn == Platform_GetClipboardTextFn_DefaultImpl)) + g.PlatformIO.Platform_GetClipboardTextFn = [](ImGuiContext* ctx) { return ctx->IO.GetClipboardTextFn(ctx->IO.ClipboardUserData); }; + if (g.IO.SetClipboardTextFn != NULL && (g.PlatformIO.Platform_SetClipboardTextFn == NULL || g.PlatformIO.Platform_SetClipboardTextFn == Platform_SetClipboardTextFn_DefaultImpl)) + g.PlatformIO.Platform_SetClipboardTextFn = [](ImGuiContext* ctx, const char* text) { return ctx->IO.SetClipboardTextFn(ctx->IO.ClipboardUserData, text); }; #endif } static void ImGui::ErrorCheckEndFrameSanityChecks() { - ImGuiContext& g = *GImGui; - // Verify that io.KeyXXX fields haven't been tampered with. Key mods should not be modified between NewFrame() and EndFrame() // One possible reason leading to this assert is that your backends update inputs _AFTER_ NewFrame(). // It is known that when some modal native windows called mid-frame takes focus away, some backends such as GLFW will // send key release events mid-frame. This would normally trigger this assertion and lead to sheared inputs. // We silently accommodate for this case by ignoring the case where all io.KeyXXX modifiers were released (aka key_mod_flags == 0), // while still correctly asserting on mid-frame key press events. + ImGuiContext& g = *GImGui; const ImGuiKeyChord key_mods = GetMergedModsFromKeys(); + IM_UNUSED(g); + IM_UNUSED(key_mods); IM_ASSERT((key_mods == 0 || g.IO.KeyMods == key_mods) && "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods"); IM_UNUSED(key_mods); - // [EXPERIMENTAL] Recover from errors: You may call this yourself before EndFrame(). - //ErrorCheckEndFrameRecover(); - - // Report when there is a mismatch of Begin/BeginChild vs End/EndChild calls. Important: Remember that the Begin/BeginChild API requires you - // to always call End/EndChild even if Begin/BeginChild returns false! (this is unfortunately inconsistent with most other Begin* API). - if (g.CurrentWindowStack.Size != 1) - { - if (g.CurrentWindowStack.Size > 1) - { - ImGuiWindow* window = g.CurrentWindowStack.back().Window; // <-- This window was not Ended! - IM_ASSERT_USER_ERROR(g.CurrentWindowStack.Size == 1, "Mismatched Begin/BeginChild vs End/EndChild calls: did you forget to call End/EndChild?"); - IM_UNUSED(window); - while (g.CurrentWindowStack.Size > 1) - End(); - } - else - { - IM_ASSERT_USER_ERROR(g.CurrentWindowStack.Size == 1, "Mismatched Begin/BeginChild vs End/EndChild calls: did you call End/EndChild too much?"); - } - } + IM_ASSERT(g.CurrentWindowStack.Size == 1); + IM_ASSERT(g.CurrentWindowStack[0].Window->IsFallbackWindow); +} - IM_ASSERT_USER_ERROR(g.GroupStack.Size == 0, "Missing EndGroup call!"); +// Save current stack sizes. Called e.g. by NewFrame() and by Begin() but may be called for manual recovery. +void ImGui::ErrorRecoveryStoreState(ImGuiErrorRecoveryState* state_out) +{ + ImGuiContext& g = *GImGui; + state_out->SizeOfWindowStack = (short)g.CurrentWindowStack.Size; + state_out->SizeOfIDStack = (short)g.CurrentWindow->IDStack.Size; + state_out->SizeOfTreeStack = (short)g.CurrentWindow->DC.TreeDepth; // NOT g.TreeNodeStack.Size which is a partial stack! + state_out->SizeOfColorStack = (short)g.ColorStack.Size; + state_out->SizeOfStyleVarStack = (short)g.StyleVarStack.Size; + state_out->SizeOfFontStack = (short)g.FontStack.Size; + state_out->SizeOfFocusScopeStack = (short)g.FocusScopeStack.Size; + state_out->SizeOfGroupStack = (short)g.GroupStack.Size; + state_out->SizeOfItemFlagsStack = (short)g.ItemFlagsStack.Size; + state_out->SizeOfBeginPopupStack = (short)g.BeginPopupStack.Size; + state_out->SizeOfDisabledStack = (short)g.DisabledStackSize; } -// Experimental recovery from incorrect usage of BeginXXX/EndXXX/PushXXX/PopXXX calls. -// Must be called during or before EndFrame(). -// This is generally flawed as we are not necessarily End/Popping things in the right order. -// FIXME: Can't recover from inside BeginTabItem/EndTabItem yet. -// FIXME: Can't recover from interleaved BeginTabBar/Begin -void ImGui::ErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback, void* user_data) +// Chosen name "Try to recover" over e.g. "Restore" to suggest this is not a 100% guaranteed recovery. +// Called by e.g. EndFrame() but may be called for manual recovery. +// Attempt to recover full window stack. +void ImGui::ErrorRecoveryTryToRecoverState(const ImGuiErrorRecoveryState* state_in) { // PVS-Studio V1044 is "Loop break conditions do not depend on the number of iterations" ImGuiContext& g = *GImGui; - while (g.CurrentWindowStack.Size > 0) //-V1044 + while (g.CurrentWindowStack.Size > state_in->SizeOfWindowStack) //-V1044 { - ErrorCheckEndWindowRecover(log_callback, user_data); + // Recap: + // - Begin()/BeginChild() return false to indicate the window is collapsed or fully clipped. + // - Always call a matching End() for each Begin() call, regardless of its return value! + // - Begin/End and BeginChild/EndChild logic is KNOWN TO BE INCONSISTENT WITH ALL OTHER BEGIN/END FUNCTIONS. + // - We will fix that in a future major update. ImGuiWindow* window = g.CurrentWindow; - if (g.CurrentWindowStack.Size == 1) - { - IM_ASSERT(window->IsFallbackWindow); - break; - } if (window->Flags & ImGuiWindowFlags_ChildWindow) { - if (log_callback) log_callback(user_data, "Recovered from missing EndChild() for '%s'", window->Name); - EndChild(); + if (g.CurrentTable != NULL && g.CurrentTable->InnerWindow == g.CurrentWindow) + { + IM_ASSERT_USER_ERROR(0, "Missing EndTable()"); + EndTable(); + } + else + { + IM_ASSERT_USER_ERROR(0, "Missing EndChild()"); + EndChild(); + } } else { - if (log_callback) log_callback(user_data, "Recovered from missing End() for '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing End()"); End(); } } + if (g.CurrentWindowStack.Size == state_in->SizeOfWindowStack) + ErrorRecoveryTryToRecoverWindowState(state_in); } -// Must be called before End()/EndChild() -void ImGui::ErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback, void* user_data) +// Called by e.g. End() but may be called for manual recovery. +// Read '// Error Handling [BETA]' block in imgui_internal.h for details. +// Attempt to recover from incorrect usage of BeginXXX/EndXXX/PushXXX/PopXXX calls. +void ImGui::ErrorRecoveryTryToRecoverWindowState(const ImGuiErrorRecoveryState* state_in) { ImGuiContext& g = *GImGui; - while (g.CurrentTable && (g.CurrentTable->OuterWindow == g.CurrentWindow || g.CurrentTable->InnerWindow == g.CurrentWindow)) + + while (g.CurrentTable != NULL && g.CurrentTable->InnerWindow == g.CurrentWindow) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing EndTable() in '%s'", g.CurrentTable->OuterWindow->Name); + IM_ASSERT_USER_ERROR(0, "Missing EndTable()"); EndTable(); } ImGuiWindow* window = g.CurrentWindow; - ImGuiStackSizes* stack_sizes = &g.CurrentWindowStack.back().StackSizesOnBegin; - IM_ASSERT(window != NULL); - while (g.CurrentTabBar != NULL) //-V1044 + + // FIXME: Can't recover from inside BeginTabItem/EndTabItem yet. + while (g.CurrentTabBar != NULL && g.CurrentTabBar->Window == window) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing EndTabBar() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing EndTabBar()"); EndTabBar(); } - while (g.CurrentMultiSelect != NULL && g.CurrentMultiSelect->Storage->Window == window) + while (g.CurrentMultiSelect != NULL && g.CurrentMultiSelect->Storage->Window == window) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing EndMultiSelect() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing EndMultiSelect()"); EndMultiSelect(); } - while (window->DC.TreeDepth > 0) + while (window->DC.TreeDepth > state_in->SizeOfTreeStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing TreePop() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing TreePop()"); TreePop(); } - while (g.GroupStack.Size > stack_sizes->SizeOfGroupStack) //-V1044 + while (g.GroupStack.Size > state_in->SizeOfGroupStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing EndGroup() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing EndGroup()"); EndGroup(); } - while (window->IDStack.Size > 1) + IM_ASSERT(g.GroupStack.Size == state_in->SizeOfGroupStack); + while (window->IDStack.Size > state_in->SizeOfIDStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing PopID() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing PopID()"); PopID(); } - while (g.DisabledStackSize > stack_sizes->SizeOfDisabledStack) //-V1044 + while (g.DisabledStackSize > state_in->SizeOfDisabledStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing EndDisabled() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing EndDisabled()"); if (g.CurrentItemFlags & ImGuiItemFlags_Disabled) EndDisabled(); else @@ -10131,70 +10289,151 @@ void ImGui::ErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback, vo g.CurrentWindowStack.back().DisabledOverrideReenable = false; } } - while (g.ColorStack.Size > stack_sizes->SizeOfColorStack) + IM_ASSERT(g.DisabledStackSize == state_in->SizeOfDisabledStack); + while (g.ColorStack.Size > state_in->SizeOfColorStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing PopStyleColor() in '%s' for ImGuiCol_%s", window->Name, GetStyleColorName(g.ColorStack.back().Col)); + IM_ASSERT_USER_ERROR(0, "Missing PopStyleColor()"); PopStyleColor(); } - while (g.ItemFlagsStack.Size > stack_sizes->SizeOfItemFlagsStack) //-V1044 + while (g.ItemFlagsStack.Size > state_in->SizeOfItemFlagsStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing PopItemFlag() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing PopItemFlag()"); PopItemFlag(); } - while (g.StyleVarStack.Size > stack_sizes->SizeOfStyleVarStack) //-V1044 + while (g.StyleVarStack.Size > state_in->SizeOfStyleVarStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing PopStyleVar() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing PopStyleVar()"); PopStyleVar(); } - while (g.FontStack.Size > stack_sizes->SizeOfFontStack) //-V1044 + while (g.FontStack.Size > state_in->SizeOfFontStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing PopFont() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing PopFont()"); PopFont(); } - while (g.FocusScopeStack.Size > stack_sizes->SizeOfFocusScopeStack + 1) //-V1044 + while (g.FocusScopeStack.Size > state_in->SizeOfFocusScopeStack) //-V1044 { - if (log_callback) log_callback(user_data, "Recovered from missing PopFocusScope() in '%s'", window->Name); + IM_ASSERT_USER_ERROR(0, "Missing PopFocusScope()"); PopFocusScope(); } + //IM_ASSERT(g.FocusScopeStack.Size == state_in->SizeOfFocusScopeStack); } -// Save current stack sizes for later compare -void ImGuiStackSizes::SetToContextState(ImGuiContext* ctx) +bool ImGui::ErrorLog(const char* msg) { - ImGuiContext& g = *ctx; + ImGuiContext& g = *GImGui; + + // Output to debug log +#ifndef IMGUI_DISABLE_DEBUG_TOOLS ImGuiWindow* window = g.CurrentWindow; - SizeOfIDStack = (short)window->IDStack.Size; - SizeOfColorStack = (short)g.ColorStack.Size; - SizeOfStyleVarStack = (short)g.StyleVarStack.Size; - SizeOfFontStack = (short)g.FontStack.Size; - SizeOfFocusScopeStack = (short)g.FocusScopeStack.Size; - SizeOfGroupStack = (short)g.GroupStack.Size; - SizeOfItemFlagsStack = (short)g.ItemFlagsStack.Size; - SizeOfBeginPopupStack = (short)g.BeginPopupStack.Size; - SizeOfDisabledStack = (short)g.DisabledStackSize; + + if (g.IO.ConfigErrorRecoveryEnableDebugLog) + { + if (g.ErrorFirst) + IMGUI_DEBUG_LOG_ERROR("[imgui-error] (current settings: Assert=%d, Log=%d, Tooltip=%d)\n", + g.IO.ConfigErrorRecoveryEnableAssert, g.IO.ConfigErrorRecoveryEnableDebugLog, g.IO.ConfigErrorRecoveryEnableTooltip); + IMGUI_DEBUG_LOG_ERROR("[imgui-error] In window '%s': %s\n", window ? window->Name : "NULL", msg); + } + g.ErrorFirst = false; + + // Output to tooltip + if (g.IO.ConfigErrorRecoveryEnableTooltip) + { + if (g.WithinFrameScope && BeginErrorTooltip()) + { + if (g.ErrorCountCurrentFrame < 20) + { + Text("In window '%s': %s", window ? window->Name : "NULL", msg); + if (window && (!window->IsFallbackWindow || window->WasActive)) + GetForegroundDrawList(window)->AddRect(window->Pos, window->Pos + window->Size, IM_COL32(255, 0, 0, 255)); + } + if (g.ErrorCountCurrentFrame == 20) + Text("(and more errors)"); + // EndFrame() will amend debug buttons to this window, after all errors have been submitted. + EndErrorTooltip(); + } + g.ErrorCountCurrentFrame++; + } +#endif + + // Output to callback + if (g.ErrorCallback != NULL) + g.ErrorCallback(&g, g.ErrorCallbackUserData, msg); + + // Return whether we should assert + return g.IO.ConfigErrorRecoveryEnableAssert; } -// Compare to detect usage errors -void ImGuiStackSizes::CompareWithContextState(ImGuiContext* ctx) +void ImGui::ErrorCheckEndFrameFinalizeErrorTooltip() { - ImGuiContext& g = *ctx; - ImGuiWindow* window = g.CurrentWindow; - IM_UNUSED(window); +#ifndef IMGUI_DISABLE_DEBUG_TOOLS + ImGuiContext& g = *GImGui; + if (g.DebugDrawIdConflicts != 0 && g.IO.KeyCtrl == false) + g.DebugDrawIdConflictsCount = g.HoveredIdPreviousFrameItemCount; + if (g.DebugDrawIdConflicts != 0 && g.DebugItemPickerActive == false && BeginErrorTooltip()) + { + Text("Programmer error: %d visible items with conflicting ID!", g.DebugDrawIdConflictsCount); + BulletText("Code should use PushID()/PopID() in loops, or append \"##xx\" to same-label identifiers!"); + BulletText("Empty label e.g. Button(\"\") == same ID as parent widget/node. Use Button(\"##xx\") instead!"); + //BulletText("Code intending to use duplicate ID may use e.g. PushItemFlag(ImGuiItemFlags_AllowDuplicateId, true); ... PopItemFlag()"); // Not making this too visible for fear of it being abused. + BulletText("Set io.ConfigDebugHighlightIdConflicts=false to disable this warning in non-programmers builds."); + Separator(); + Text("(Hold CTRL to: use"); + SameLine(); + if (SmallButton("Item Picker")) + DebugStartItemPicker(); + SameLine(); + Text("to break in item call-stack, or"); + SameLine(); + if (SmallButton("Open FAQ->About ID Stack System") && g.PlatformIO.Platform_OpenInShellFn != NULL) + g.PlatformIO.Platform_OpenInShellFn(&g, "https://github.com/ocornut/imgui/blob/master/docs/FAQ.md#qa-usage"); + EndErrorTooltip(); + } + + if (g.ErrorCountCurrentFrame > 0 && BeginErrorTooltip()) // Amend at end of frame + { + Separator(); + Text("(Hold CTRL to:"); + SameLine(); + if (SmallButton("Enable Asserts")) + g.IO.ConfigErrorRecoveryEnableAssert = true; + //SameLine(); + //if (SmallButton("Hide Error Tooltips")) + // g.IO.ConfigErrorRecoveryEnableTooltip = false; // Too dangerous + SameLine(0, 0); + Text(")"); + EndErrorTooltip(); + } +#endif +} - // Window stacks - // NOT checking: DC.ItemWidth, DC.TextWrapPos (per window) to allow user to conveniently push once and not pop (they are cleared on Begin) - IM_ASSERT(SizeOfIDStack == window->IDStack.Size && "PushID/PopID or TreeNode/TreePop Mismatch!"); +// Pseudo-tooltip. Follow mouse until CTRL is held. When CTRL is held we lock position, allowing to click it. +bool ImGui::BeginErrorTooltip() +{ + ImGuiContext& g = *GImGui; + ImGuiWindow* window = FindWindowByName("##Tooltip_Error"); + const bool use_locked_pos = (g.IO.KeyCtrl && window && window->WasActive); + PushStyleColor(ImGuiCol_PopupBg, ImLerp(g.Style.Colors[ImGuiCol_PopupBg], ImVec4(1.0f, 0.0f, 0.0f, 1.0f), 0.15f)); + if (use_locked_pos) + SetNextWindowPos(g.ErrorTooltipLockedPos); + bool is_visible = Begin("##Tooltip_Error", NULL, ImGuiWindowFlags_Tooltip | ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_AlwaysAutoResize); + PopStyleColor(); + if (is_visible && g.CurrentWindow->BeginCount == 1) + { + SeparatorText("MESSAGE FROM DEAR IMGUI"); + BringWindowToDisplayFront(g.CurrentWindow); + BringWindowToFocusFront(g.CurrentWindow); + g.ErrorTooltipLockedPos = GetWindowPos(); + } + else if (!is_visible) + { + End(); + } + return is_visible; +} - // Global stacks - // For color, style and font stacks there is an incentive to use Push/Begin/Pop/.../End patterns, so we relax our checks a little to allow them. - IM_ASSERT(SizeOfGroupStack == g.GroupStack.Size && "BeginGroup/EndGroup Mismatch!"); - IM_ASSERT(SizeOfBeginPopupStack == g.BeginPopupStack.Size && "BeginPopup/EndPopup or BeginMenu/EndMenu Mismatch!"); - IM_ASSERT(SizeOfDisabledStack == g.DisabledStackSize && "BeginDisabled/EndDisabled Mismatch!"); - IM_ASSERT(SizeOfItemFlagsStack >= g.ItemFlagsStack.Size && "PushItemFlag/PopItemFlag Mismatch!"); - IM_ASSERT(SizeOfColorStack >= g.ColorStack.Size && "PushStyleColor/PopStyleColor Mismatch!"); - IM_ASSERT(SizeOfStyleVarStack >= g.StyleVarStack.Size && "PushStyleVar/PopStyleVar Mismatch!"); - IM_ASSERT(SizeOfFontStack >= g.FontStack.Size && "PushFont/PopFont Mismatch!"); - IM_ASSERT(SizeOfFocusScopeStack == g.FocusScopeStack.Size && "PushFocusScope/PopFocusScope Mismatch!"); +void ImGui::EndErrorTooltip() +{ + End(); } //----------------------------------------------------------------------------- @@ -10210,8 +10449,8 @@ void ImGui::KeepAliveID(ImGuiID id) ImGuiContext& g = *GImGui; if (g.ActiveId == id) g.ActiveIdIsAlive = id; - if (g.ActiveIdPreviousFrame == id) - g.ActiveIdPreviousFrameIsAlive = true; + if (g.DeactivatedItemData.ID == id) + g.DeactivatedItemData.IsAlive = true; } // Declare item bounding box for clipping and interaction. @@ -10229,7 +10468,7 @@ bool ImGui::ItemAdd(const ImRect& bb, ImGuiID id, const ImRect* nav_bb_arg, ImGu g.LastItemData.ID = id; g.LastItemData.Rect = bb; g.LastItemData.NavRect = nav_bb_arg ? *nav_bb_arg : bb; - g.LastItemData.InFlags = g.CurrentItemFlags | g.NextItemData.ItemFlags | extra_flags; + g.LastItemData.ItemFlags = g.CurrentItemFlags | g.NextItemData.ItemFlags | extra_flags; g.LastItemData.StatusFlags = ImGuiItemStatusFlags_None; // Note: we don't copy 'g.NextItemData.SelectionUserData' to an hypothetical g.LastItemData.SelectionUserData: since the former is not cleared. @@ -10247,7 +10486,7 @@ bool ImGui::ItemAdd(const ImRect& bb, ImGuiID id, const ImRect* nav_bb_arg, ImGu // to reach unclipped widgets. This would work if user had explicit scrolling control (e.g. mapped on a stick). // We intentionally don't check if g.NavWindow != NULL because g.NavAnyRequest should only be set when it is non null. // If we crash on a NULL g.NavWindow we need to fix the bug elsewhere. - if (!(g.LastItemData.InFlags & ImGuiItemFlags_NoNav)) + if (!(g.LastItemData.ItemFlags & ImGuiItemFlags_NoNav)) { // FIMXE-NAV: investigate changing the window tests into a simple 'if (g.NavFocusScopeId == g.CurrentFocusScopeId)' test. window->DC.NavLayersActiveMaskNext |= (1 << window->DC.NavLayerCurrent); @@ -10257,12 +10496,12 @@ bool ImGui::ItemAdd(const ImRect& bb, ImGuiID id, const ImRect* nav_bb_arg, ImGu NavProcessItem(); } - if (g.NextItemData.Flags & ImGuiNextItemDataFlags_HasShortcut) + if (g.NextItemData.HasFlags & ImGuiNextItemDataFlags_HasShortcut) ItemHandleShortcut(id); } // Lightweight clear of SetNextItemXXX data. - g.NextItemData.Flags = ImGuiNextItemDataFlags_None; + g.NextItemData.HasFlags = ImGuiNextItemDataFlags_None; g.NextItemData.ItemFlags = ImGuiItemFlags_None; #ifdef IMGUI_ENABLE_TEST_ENGINE @@ -10292,10 +10531,13 @@ bool ImGui::ItemAdd(const ImRect& bb, ImGuiID id, const ImRect* nav_bb_arg, ImGu IM_ASSERT(id != window->ID && "Cannot have an empty ID at the root of a window. If you need an empty label, use ## and read the FAQ about how the ID Stack works!"); } //if (g.IO.KeyAlt) window->DrawList->AddRect(bb.Min, bb.Max, IM_COL32(255,255,0,120)); // [DEBUG] - //if ((g.LastItemData.InFlags & ImGuiItemFlags_NoNav) == 0) + //if ((g.LastItemData.ItemFlags & ImGuiItemFlags_NoNav) == 0) // window->DrawList->AddRect(g.LastItemData.NavRect.Min, g.LastItemData.NavRect.Max, IM_COL32(255,255,0,255)); // [DEBUG] #endif + if (id != 0 && g.DeactivatedItemData.ID == id) + g.DeactivatedItemData.ElapseFrame = g.FrameCount; + // We need to calculate this now to take account of the current clipping rectangle (as items like Selectable may change them) if (is_rect_visible) g.LastItemData.StatusFlags |= ImGuiItemStatusFlags_Visible; @@ -10491,7 +10733,7 @@ void ImGui::Unindent(float indent_w) void ImGui::SetNextItemWidth(float item_width) { ImGuiContext& g = *GImGui; - g.NextItemData.Flags |= ImGuiNextItemDataFlags_HasWidth; + g.NextItemData.HasFlags |= ImGuiNextItemDataFlags_HasWidth; g.NextItemData.Width = item_width; } @@ -10502,7 +10744,7 @@ void ImGui::PushItemWidth(float item_width) ImGuiWindow* window = g.CurrentWindow; window->DC.ItemWidthStack.push_back(window->DC.ItemWidth); // Backup current width window->DC.ItemWidth = (item_width == 0.0f ? window->ItemWidthDefault : item_width); - g.NextItemData.Flags &= ~ImGuiNextItemDataFlags_HasWidth; + g.NextItemData.HasFlags &= ~ImGuiNextItemDataFlags_HasWidth; } void ImGui::PushMultiItemsWidths(int components, float w_full) @@ -10521,12 +10763,18 @@ void ImGui::PushMultiItemsWidths(int components, float w_full) prev_split = next_split; } window->DC.ItemWidth = ImMax(prev_split, 1.0f); - g.NextItemData.Flags &= ~ImGuiNextItemDataFlags_HasWidth; + g.NextItemData.HasFlags &= ~ImGuiNextItemDataFlags_HasWidth; } void ImGui::PopItemWidth() { - ImGuiWindow* window = GetCurrentWindow(); + ImGuiContext& g = *GImGui; + ImGuiWindow* window = g.CurrentWindow; + if (window->DC.ItemWidthStack.Size <= 0) + { + IM_ASSERT_USER_ERROR(0, "Calling PopItemWidth() too many times!"); + return; + } window->DC.ItemWidth = window->DC.ItemWidthStack.back(); window->DC.ItemWidthStack.pop_back(); } @@ -10538,7 +10786,7 @@ float ImGui::CalcItemWidth() ImGuiContext& g = *GImGui; ImGuiWindow* window = g.CurrentWindow; float w; - if (g.NextItemData.Flags & ImGuiNextItemDataFlags_HasWidth) + if (g.NextItemData.HasFlags & ImGuiNextItemDataFlags_HasWidth) w = g.NextItemData.Width; else w = window->DC.ItemWidth; @@ -10649,7 +10897,7 @@ void ImGui::BeginGroup() group_data.BackupActiveIdIsAlive = g.ActiveIdIsAlive; group_data.BackupHoveredIdIsAlive = g.HoveredId != 0; group_data.BackupIsSameLine = window->DC.IsSameLine; - group_data.BackupActiveIdPreviousFrameIsAlive = g.ActiveIdPreviousFrameIsAlive; + group_data.BackupDeactivatedIdIsAlive = g.DeactivatedItemData.IsAlive; group_data.EmitItem = true; window->DC.GroupOffset.x = window->DC.CursorPos.x - window->Pos.x - window->DC.ColumnsOffset.x; @@ -10700,11 +10948,11 @@ void ImGui::EndGroup() // Also if you grep for LastItemId you'll notice it is only used in that context. // (The two tests not the same because ActiveIdIsAlive is an ID itself, in order to be able to handle ActiveId being overwritten during the frame.) const bool group_contains_curr_active_id = (group_data.BackupActiveIdIsAlive != g.ActiveId) && (g.ActiveIdIsAlive == g.ActiveId) && g.ActiveId; - const bool group_contains_prev_active_id = (group_data.BackupActiveIdPreviousFrameIsAlive == false) && (g.ActiveIdPreviousFrameIsAlive == true); + const bool group_contains_deactivated_id = (group_data.BackupDeactivatedIdIsAlive == false) && (g.DeactivatedItemData.IsAlive == true); if (group_contains_curr_active_id) g.LastItemData.ID = g.ActiveId; - else if (group_contains_prev_active_id) - g.LastItemData.ID = g.ActiveIdPreviousFrame; + else if (group_contains_deactivated_id) + g.LastItemData.ID = g.DeactivatedItemData.ID; g.LastItemData.Rect = group_bb; // Forward Hovered flag @@ -10718,7 +10966,7 @@ void ImGui::EndGroup() // Forward Deactivated flag g.LastItemData.StatusFlags |= ImGuiItemStatusFlags_HasDeactivated; - if (group_contains_prev_active_id && g.ActiveId != g.ActiveIdPreviousFrame) + if (group_contains_deactivated_id) g.LastItemData.StatusFlags |= ImGuiItemStatusFlags_Deactivated; g.GroupStack.pop_back(); @@ -10988,7 +11236,8 @@ bool ImGui::BeginTooltipEx(ImGuiTooltipFlags tooltip_flags, ImGuiWindowFlags ext { ImGuiContext& g = *GImGui; - if (g.DragDropWithinSource || g.DragDropWithinTarget) + const bool is_dragdrop_tooltip = g.DragDropWithinSource || g.DragDropWithinTarget; + if (is_dragdrop_tooltip) { // Drag and Drop tooltips are positioning differently than other tooltips: // - offset visibility to increase visibility around mouse. @@ -10996,23 +11245,29 @@ bool ImGui::BeginTooltipEx(ImGuiTooltipFlags tooltip_flags, ImGuiWindowFlags ext // We call SetNextWindowPos() to enforce position and disable clamping. // See FindBestWindowPosForPopup() for positionning logic of other tooltips (not drag and drop ones). //ImVec2 tooltip_pos = g.IO.MousePos - g.ActiveIdClickOffset - g.Style.WindowPadding; - ImVec2 tooltip_pos = g.IO.MousePos + TOOLTIP_DEFAULT_OFFSET * g.Style.MouseCursorScale; - SetNextWindowPos(tooltip_pos); + const bool is_touchscreen = (g.IO.MouseSource == ImGuiMouseSource_TouchScreen); + if ((g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasPos) == 0) + { + ImVec2 tooltip_pos = is_touchscreen ? (g.IO.MousePos + TOOLTIP_DEFAULT_OFFSET_TOUCH * g.Style.MouseCursorScale) : (g.IO.MousePos + TOOLTIP_DEFAULT_OFFSET_MOUSE * g.Style.MouseCursorScale); + ImVec2 tooltip_pivot = is_touchscreen ? TOOLTIP_DEFAULT_PIVOT_TOUCH : ImVec2(0.0f, 0.0f); + SetNextWindowPos(tooltip_pos, ImGuiCond_None, tooltip_pivot); + } + SetNextWindowBgAlpha(g.Style.Colors[ImGuiCol_PopupBg].w * 0.60f); //PushStyleVar(ImGuiStyleVar_Alpha, g.Style.Alpha * 0.60f); // This would be nice but e.g ColorButton with checkboard has issue with transparent colors :( tooltip_flags |= ImGuiTooltipFlags_OverridePrevious; } - char window_name[16]; - ImFormatString(window_name, IM_ARRAYSIZE(window_name), "##Tooltip_%02d", g.TooltipOverrideCount); - if (tooltip_flags & ImGuiTooltipFlags_OverridePrevious) - if (ImGuiWindow* window = FindWindowByName(window_name)) - if (window->Active) - { - // Hide previous tooltip from being displayed. We can't easily "reset" the content of a window so we create a new one. - SetWindowHiddenAndSkipItemsForCurrentFrame(window); - ImFormatString(window_name, IM_ARRAYSIZE(window_name), "##Tooltip_%02d", ++g.TooltipOverrideCount); - } + const char* window_name_template = is_dragdrop_tooltip ? "##Tooltip_DragDrop_%02d" : "##Tooltip_%02d"; + char window_name[32]; + ImFormatString(window_name, IM_ARRAYSIZE(window_name), window_name_template, g.TooltipOverrideCount); + if ((tooltip_flags & ImGuiTooltipFlags_OverridePrevious) && g.TooltipPreviousWindow != NULL && g.TooltipPreviousWindow->Active) + { + // Hide previous tooltip from being displayed. We can't easily "reset" the content of a window so we create a new one. + //IMGUI_DEBUG_LOG("[tooltip] '%s' already active, using +1 for this frame\n", window_name); + SetWindowHiddenAndSkipItemsForCurrentFrame(g.TooltipPreviousWindow); + ImFormatString(window_name, IM_ARRAYSIZE(window_name), window_name_template, ++g.TooltipOverrideCount); + } ImGuiWindowFlags flags = ImGuiWindowFlags_Tooltip | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_AlwaysAutoResize; Begin(window_name, NULL, flags | extra_window_flags); // 2023-03-09: Added bool return value to the API, but currently always returning true. @@ -11130,6 +11385,43 @@ ImGuiWindow* ImGui::GetTopMostAndVisiblePopupModal() return NULL; } + +// When a modal popup is open, newly created windows that want focus (i.e. are not popups and do not specify ImGuiWindowFlags_NoFocusOnAppearing) +// should be positioned behind that modal window, unless the window was created inside the modal begin-stack. +// In case of multiple stacked modals newly created window honors begin stack order and does not go below its own modal parent. +// - WindowA // FindBlockingModal() returns Modal1 +// - WindowB // .. returns Modal1 +// - Modal1 // .. returns Modal2 +// - WindowC // .. returns Modal2 +// - WindowD // .. returns Modal2 +// - Modal2 // .. returns Modal2 +// - WindowE // .. returns NULL +// Notes: +// - FindBlockingModal(NULL) == NULL is generally equivalent to GetTopMostPopupModal() == NULL. +// Only difference is here we check for ->Active/WasActive but it may be unnecessary. +ImGuiWindow* ImGui::FindBlockingModal(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + if (g.OpenPopupStack.Size <= 0) + return NULL; + + // Find a modal that has common parent with specified window. Specified window should be positioned behind that modal. + for (ImGuiPopupData& popup_data : g.OpenPopupStack) + { + ImGuiWindow* popup_window = popup_data.Window; + if (popup_window == NULL || !(popup_window->Flags & ImGuiWindowFlags_Modal)) + continue; + if (!popup_window->Active && !popup_window->WasActive) // Check WasActive, because this code may run before popup renders on current frame, also check Active to handle newly created windows. + continue; + if (window == NULL) // FindBlockingModal(NULL) test for if FocusWindow(NULL) is naturally possible via a mouse click. + return popup_window; + if (IsWindowWithinBeginStackOf(window, popup_window)) // Window may be over modal + continue; + return popup_window; // Place window right below first block modal + } + return NULL; +} + void ImGui::OpenPopup(const char* str_id, ImGuiPopupFlags popup_flags) { ImGuiContext& g = *GImGui; @@ -11268,6 +11560,9 @@ void ImGui::ClosePopupToLevel(int remaining, bool restore_focus_to_window_under_ ImGuiContext& g = *GImGui; IMGUI_DEBUG_LOG_POPUP("[popup] ClosePopupToLevel(%d), restore_under=%d\n", remaining, restore_focus_to_window_under_popup); IM_ASSERT(remaining >= 0 && remaining < g.OpenPopupStack.Size); + if (g.DebugLogFlags & ImGuiDebugLogFlags_EventPopup) + for (int n = remaining; n < g.OpenPopupStack.Size; n++) + IMGUI_DEBUG_LOG_POPUP("[popup] - Closing PopupID 0x%08X Window \"%s\"\n", g.OpenPopupStack[n].PopupId, g.OpenPopupStack[n].Window ? g.OpenPopupStack[n].Window->Name : NULL); // Trim open popup stack ImGuiPopupData prev_popup = g.OpenPopupStack[remaining]; @@ -11404,11 +11699,11 @@ void ImGui::EndPopup() NavMoveRequestTryWrapping(window, ImGuiNavMoveFlags_LoopY); // Child-popups don't need to be laid out - IM_ASSERT(g.WithinEndChild == false); + const ImGuiID backup_within_end_child_id = g.WithinEndChildID; if (window->Flags & ImGuiWindowFlags_ChildWindow) - g.WithinEndChild = true; + g.WithinEndChildID = window->ID; End(); - g.WithinEndChild = false; + g.WithinEndChildID = backup_within_end_child_id; } // Helper to open a popup if mouse button is released over the item @@ -11515,107 +11810,386 @@ ImVec2 ImGui::FindBestWindowPosForPopupEx(const ImVec2& ref_pos, const ImVec2& s return pos; } } - - // Tooltip and Default popup policy - // (Always first try the direction we used on the last frame, if any) - if (policy == ImGuiPopupPositionPolicy_Tooltip || policy == ImGuiPopupPositionPolicy_Default) + + // Tooltip and Default popup policy + // (Always first try the direction we used on the last frame, if any) + if (policy == ImGuiPopupPositionPolicy_Tooltip || policy == ImGuiPopupPositionPolicy_Default) + { + const ImGuiDir dir_prefered_order[ImGuiDir_COUNT] = { ImGuiDir_Right, ImGuiDir_Down, ImGuiDir_Up, ImGuiDir_Left }; + for (int n = (*last_dir != ImGuiDir_None) ? -1 : 0; n < ImGuiDir_COUNT; n++) + { + const ImGuiDir dir = (n == -1) ? *last_dir : dir_prefered_order[n]; + if (n != -1 && dir == *last_dir) // Already tried this direction? + continue; + + const float avail_w = (dir == ImGuiDir_Left ? r_avoid.Min.x : r_outer.Max.x) - (dir == ImGuiDir_Right ? r_avoid.Max.x : r_outer.Min.x); + const float avail_h = (dir == ImGuiDir_Up ? r_avoid.Min.y : r_outer.Max.y) - (dir == ImGuiDir_Down ? r_avoid.Max.y : r_outer.Min.y); + + // If there's not enough room on one axis, there's no point in positioning on a side on this axis (e.g. when not enough width, use a top/bottom position to maximize available width) + if (avail_w < size.x && (dir == ImGuiDir_Left || dir == ImGuiDir_Right)) + continue; + if (avail_h < size.y && (dir == ImGuiDir_Up || dir == ImGuiDir_Down)) + continue; + + ImVec2 pos; + pos.x = (dir == ImGuiDir_Left) ? r_avoid.Min.x - size.x : (dir == ImGuiDir_Right) ? r_avoid.Max.x : base_pos_clamped.x; + pos.y = (dir == ImGuiDir_Up) ? r_avoid.Min.y - size.y : (dir == ImGuiDir_Down) ? r_avoid.Max.y : base_pos_clamped.y; + + // Clamp top-left corner of popup + pos.x = ImMax(pos.x, r_outer.Min.x); + pos.y = ImMax(pos.y, r_outer.Min.y); + + *last_dir = dir; + return pos; + } + } + + // Fallback when not enough room: + *last_dir = ImGuiDir_None; + + // For tooltip we prefer avoiding the cursor at all cost even if it means that part of the tooltip won't be visible. + if (policy == ImGuiPopupPositionPolicy_Tooltip) + return ref_pos + ImVec2(2, 2); + + // Otherwise try to keep within display + ImVec2 pos = ref_pos; + pos.x = ImMax(ImMin(pos.x + size.x, r_outer.Max.x) - size.x, r_outer.Min.x); + pos.y = ImMax(ImMin(pos.y + size.y, r_outer.Max.y) - size.y, r_outer.Min.y); + return pos; +} + +// Note that this is used for popups, which can overlap the non work-area of individual viewports. +ImRect ImGui::GetPopupAllowedExtentRect(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + IM_UNUSED(window); + ImRect r_screen = ((ImGuiViewportP*)(void*)GetMainViewport())->GetMainRect(); + ImVec2 padding = g.Style.DisplaySafeAreaPadding; + r_screen.Expand(ImVec2((r_screen.GetWidth() > padding.x * 2) ? -padding.x : 0.0f, (r_screen.GetHeight() > padding.y * 2) ? -padding.y : 0.0f)); + return r_screen; +} + +ImVec2 ImGui::FindBestWindowPosForPopup(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + + ImRect r_outer = GetPopupAllowedExtentRect(window); + if (window->Flags & ImGuiWindowFlags_ChildMenu) + { + // Child menus typically request _any_ position within the parent menu item, and then we move the new menu outside the parent bounds. + // This is how we end up with child menus appearing (most-commonly) on the right of the parent menu. + IM_ASSERT(g.CurrentWindow == window); + ImGuiWindow* parent_window = g.CurrentWindowStack[g.CurrentWindowStack.Size - 2].Window; + float horizontal_overlap = g.Style.ItemInnerSpacing.x; // We want some overlap to convey the relative depth of each menu (currently the amount of overlap is hard-coded to style.ItemSpacing.x). + ImRect r_avoid; + if (parent_window->DC.MenuBarAppending) + r_avoid = ImRect(-FLT_MAX, parent_window->ClipRect.Min.y, FLT_MAX, parent_window->ClipRect.Max.y); // Avoid parent menu-bar. If we wanted multi-line menu-bar, we may instead want to have the calling window setup e.g. a NextWindowData.PosConstraintAvoidRect field + else + r_avoid = ImRect(parent_window->Pos.x + horizontal_overlap, -FLT_MAX, parent_window->Pos.x + parent_window->Size.x - horizontal_overlap - parent_window->ScrollbarSizes.x, FLT_MAX); + return FindBestWindowPosForPopupEx(window->Pos, window->Size, &window->AutoPosLastDirection, r_outer, r_avoid, ImGuiPopupPositionPolicy_Default); + } + if (window->Flags & ImGuiWindowFlags_Popup) + { + return FindBestWindowPosForPopupEx(window->Pos, window->Size, &window->AutoPosLastDirection, r_outer, ImRect(window->Pos, window->Pos), ImGuiPopupPositionPolicy_Default); // Ideally we'd disable r_avoid here + } + if (window->Flags & ImGuiWindowFlags_Tooltip) + { + // Position tooltip (always follows mouse + clamp within outer boundaries) + // FIXME: + // - Too many paths. One problem is that FindBestWindowPosForPopupEx() doesn't allow passing a suggested position (so touch screen path doesn't use it by default). + // - Drag and drop tooltips are not using this path either: BeginTooltipEx() manually sets their position. + // - Require some tidying up. In theory we could handle both cases in same location, but requires a bit of shuffling + // as drag and drop tooltips are calling SetNextWindowPos() leading to 'window_pos_set_by_api' being set in Begin(). + IM_ASSERT(g.CurrentWindow == window); + const float scale = g.Style.MouseCursorScale; + const ImVec2 ref_pos = NavCalcPreferredRefPos(); + + if (g.IO.MouseSource == ImGuiMouseSource_TouchScreen && NavCalcPreferredRefPosSource() == ImGuiInputSource_Mouse) + { + ImVec2 tooltip_pos = ref_pos + TOOLTIP_DEFAULT_OFFSET_TOUCH * scale - (TOOLTIP_DEFAULT_PIVOT_TOUCH * window->Size); + if (r_outer.Contains(ImRect(tooltip_pos, tooltip_pos + window->Size))) + return tooltip_pos; + } + + ImVec2 tooltip_pos = ref_pos + TOOLTIP_DEFAULT_OFFSET_MOUSE * scale; + ImRect r_avoid; + if (g.NavCursorVisible && g.NavHighlightItemUnderNav && !g.IO.ConfigNavMoveSetMousePos) + r_avoid = ImRect(ref_pos.x - 16, ref_pos.y - 8, ref_pos.x + 16, ref_pos.y + 8); + else + r_avoid = ImRect(ref_pos.x - 16, ref_pos.y - 8, ref_pos.x + 24 * scale, ref_pos.y + 24 * scale); // FIXME: Hard-coded based on mouse cursor shape expectation. Exact dimension not very important. + //GetForegroundDrawList()->AddRect(r_avoid.Min, r_avoid.Max, IM_COL32(255, 0, 255, 255)); + + return FindBestWindowPosForPopupEx(tooltip_pos, window->Size, &window->AutoPosLastDirection, r_outer, r_avoid, ImGuiPopupPositionPolicy_Tooltip); + } + IM_ASSERT(0); + return window->Pos; +} + +//----------------------------------------------------------------------------- +// [SECTION] WINDOW FOCUS +//---------------------------------------------------------------------------- +// - SetWindowFocus() +// - SetNextWindowFocus() +// - IsWindowFocused() +// - UpdateWindowInFocusOrderList() [Internal] +// - BringWindowToFocusFront() [Internal] +// - BringWindowToDisplayFront() [Internal] +// - BringWindowToDisplayBack() [Internal] +// - BringWindowToDisplayBehind() [Internal] +// - FindWindowDisplayIndex() [Internal] +// - FocusWindow() [Internal] +// - FocusTopMostWindowUnderOne() [Internal] +//----------------------------------------------------------------------------- + +void ImGui::SetWindowFocus() +{ + FocusWindow(GImGui->CurrentWindow); +} + +void ImGui::SetWindowFocus(const char* name) +{ + if (name) + { + if (ImGuiWindow* window = FindWindowByName(name)) + FocusWindow(window); + } + else + { + FocusWindow(NULL); + } +} + +void ImGui::SetNextWindowFocus() +{ + ImGuiContext& g = *GImGui; + g.NextWindowData.Flags |= ImGuiNextWindowDataFlags_HasFocus; +} + +// Similar to IsWindowHovered() +bool ImGui::IsWindowFocused(ImGuiFocusedFlags flags) +{ + ImGuiContext& g = *GImGui; + ImGuiWindow* ref_window = g.NavWindow; + ImGuiWindow* cur_window = g.CurrentWindow; + + if (ref_window == NULL) + return false; + if (flags & ImGuiFocusedFlags_AnyWindow) + return true; + + IM_ASSERT(cur_window); // Not inside a Begin()/End() + const bool popup_hierarchy = (flags & ImGuiFocusedFlags_NoPopupHierarchy) == 0; + if (flags & ImGuiHoveredFlags_RootWindow) + cur_window = GetCombinedRootWindow(cur_window, popup_hierarchy); + + if (flags & ImGuiHoveredFlags_ChildWindows) + return IsWindowChildOf(ref_window, cur_window, popup_hierarchy); + else + return (ref_window == cur_window); +} + +static int ImGui::FindWindowFocusIndex(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + IM_UNUSED(g); + int order = window->FocusOrder; + IM_ASSERT(window->RootWindow == window); // No child window (not testing _ChildWindow because of docking) + IM_ASSERT(g.WindowsFocusOrder[order] == window); + return order; +} + +static void ImGui::UpdateWindowInFocusOrderList(ImGuiWindow* window, bool just_created, ImGuiWindowFlags new_flags) +{ + ImGuiContext& g = *GImGui; + + const bool new_is_explicit_child = (new_flags & ImGuiWindowFlags_ChildWindow) != 0 && ((new_flags & ImGuiWindowFlags_Popup) == 0 || (new_flags & ImGuiWindowFlags_ChildMenu) != 0); + const bool child_flag_changed = new_is_explicit_child != window->IsExplicitChild; + if ((just_created || child_flag_changed) && !new_is_explicit_child) + { + IM_ASSERT(!g.WindowsFocusOrder.contains(window)); + g.WindowsFocusOrder.push_back(window); + window->FocusOrder = (short)(g.WindowsFocusOrder.Size - 1); + } + else if (!just_created && child_flag_changed && new_is_explicit_child) + { + IM_ASSERT(g.WindowsFocusOrder[window->FocusOrder] == window); + for (int n = window->FocusOrder + 1; n < g.WindowsFocusOrder.Size; n++) + g.WindowsFocusOrder[n]->FocusOrder--; + g.WindowsFocusOrder.erase(g.WindowsFocusOrder.Data + window->FocusOrder); + window->FocusOrder = -1; + } + window->IsExplicitChild = new_is_explicit_child; +} + +void ImGui::BringWindowToFocusFront(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + IM_ASSERT(window == window->RootWindow); + + const int cur_order = window->FocusOrder; + IM_ASSERT(g.WindowsFocusOrder[cur_order] == window); + if (g.WindowsFocusOrder.back() == window) + return; + + const int new_order = g.WindowsFocusOrder.Size - 1; + for (int n = cur_order; n < new_order; n++) + { + g.WindowsFocusOrder[n] = g.WindowsFocusOrder[n + 1]; + g.WindowsFocusOrder[n]->FocusOrder--; + IM_ASSERT(g.WindowsFocusOrder[n]->FocusOrder == n); + } + g.WindowsFocusOrder[new_order] = window; + window->FocusOrder = (short)new_order; +} + +// Note technically focus related but rather adjacent and close to BringWindowToFocusFront() +void ImGui::BringWindowToDisplayFront(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + ImGuiWindow* current_front_window = g.Windows.back(); + if (current_front_window == window || current_front_window->RootWindow == window) // Cheap early out (could be better) + return; + for (int i = g.Windows.Size - 2; i >= 0; i--) // We can ignore the top-most window + if (g.Windows[i] == window) + { + memmove(&g.Windows[i], &g.Windows[i + 1], (size_t)(g.Windows.Size - i - 1) * sizeof(ImGuiWindow*)); + g.Windows[g.Windows.Size - 1] = window; + break; + } +} + +void ImGui::BringWindowToDisplayBack(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + if (g.Windows[0] == window) + return; + for (int i = 0; i < g.Windows.Size; i++) + if (g.Windows[i] == window) + { + memmove(&g.Windows[1], &g.Windows[0], (size_t)i * sizeof(ImGuiWindow*)); + g.Windows[0] = window; + break; + } +} + +void ImGui::BringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* behind_window) +{ + IM_ASSERT(window != NULL && behind_window != NULL); + ImGuiContext& g = *GImGui; + window = window->RootWindow; + behind_window = behind_window->RootWindow; + int pos_wnd = FindWindowDisplayIndex(window); + int pos_beh = FindWindowDisplayIndex(behind_window); + if (pos_wnd < pos_beh) + { + size_t copy_bytes = (pos_beh - pos_wnd - 1) * sizeof(ImGuiWindow*); + memmove(&g.Windows.Data[pos_wnd], &g.Windows.Data[pos_wnd + 1], copy_bytes); + g.Windows[pos_beh - 1] = window; + } + else { - const ImGuiDir dir_prefered_order[ImGuiDir_COUNT] = { ImGuiDir_Right, ImGuiDir_Down, ImGuiDir_Up, ImGuiDir_Left }; - for (int n = (*last_dir != ImGuiDir_None) ? -1 : 0; n < ImGuiDir_COUNT; n++) - { - const ImGuiDir dir = (n == -1) ? *last_dir : dir_prefered_order[n]; - if (n != -1 && dir == *last_dir) // Already tried this direction? - continue; + size_t copy_bytes = (pos_wnd - pos_beh) * sizeof(ImGuiWindow*); + memmove(&g.Windows.Data[pos_beh + 1], &g.Windows.Data[pos_beh], copy_bytes); + g.Windows[pos_beh] = window; + } +} - const float avail_w = (dir == ImGuiDir_Left ? r_avoid.Min.x : r_outer.Max.x) - (dir == ImGuiDir_Right ? r_avoid.Max.x : r_outer.Min.x); - const float avail_h = (dir == ImGuiDir_Up ? r_avoid.Min.y : r_outer.Max.y) - (dir == ImGuiDir_Down ? r_avoid.Max.y : r_outer.Min.y); +int ImGui::FindWindowDisplayIndex(ImGuiWindow* window) +{ + ImGuiContext& g = *GImGui; + return g.Windows.index_from_ptr(g.Windows.find(window)); +} - // If there's not enough room on one axis, there's no point in positioning on a side on this axis (e.g. when not enough width, use a top/bottom position to maximize available width) - if (avail_w < size.x && (dir == ImGuiDir_Left || dir == ImGuiDir_Right)) - continue; - if (avail_h < size.y && (dir == ImGuiDir_Up || dir == ImGuiDir_Down)) - continue; +// Moving window to front of display and set focus (which happens to be back of our sorted list) +void ImGui::FocusWindow(ImGuiWindow* window, ImGuiFocusRequestFlags flags) +{ + ImGuiContext& g = *GImGui; - ImVec2 pos; - pos.x = (dir == ImGuiDir_Left) ? r_avoid.Min.x - size.x : (dir == ImGuiDir_Right) ? r_avoid.Max.x : base_pos_clamped.x; - pos.y = (dir == ImGuiDir_Up) ? r_avoid.Min.y - size.y : (dir == ImGuiDir_Down) ? r_avoid.Max.y : base_pos_clamped.y; + // Modal check? + if ((flags & ImGuiFocusRequestFlags_UnlessBelowModal) && (g.NavWindow != window)) // Early out in common case. + if (ImGuiWindow* blocking_modal = FindBlockingModal(window)) + { + // This block would typically be reached in two situations: + // - API call to FocusWindow() with a window under a modal and ImGuiFocusRequestFlags_UnlessBelowModal flag. + // - User clicking on void or anything behind a modal while a modal is open (window == NULL) + IMGUI_DEBUG_LOG_FOCUS("[focus] FocusWindow(\"%s\", UnlessBelowModal): prevented by \"%s\".\n", window ? window->Name : "", blocking_modal->Name); + if (window && window == window->RootWindow && (window->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0) + BringWindowToDisplayBehind(window, blocking_modal); // Still bring right under modal. (FIXME: Could move in focus list too?) + ClosePopupsOverWindow(GetTopMostPopupModal(), false); // Note how we need to use GetTopMostPopupModal() aad NOT blocking_modal, to handle nested modals + return; + } - // Clamp top-left corner of popup - pos.x = ImMax(pos.x, r_outer.Min.x); - pos.y = ImMax(pos.y, r_outer.Min.y); + // Find last focused child (if any) and focus it instead. + if ((flags & ImGuiFocusRequestFlags_RestoreFocusedChild) && window != NULL) + window = NavRestoreLastChildNavWindow(window); - *last_dir = dir; - return pos; - } + // Apply focus + if (g.NavWindow != window) + { + SetNavWindow(window); + if (window && g.NavHighlightItemUnderNav) + g.NavMousePosDirty = true; + g.NavId = window ? window->NavLastIds[0] : 0; // Restore NavId + g.NavLayer = ImGuiNavLayer_Main; + SetNavFocusScope(window ? window->NavRootFocusScopeId : 0); + g.NavIdIsAlive = false; + g.NavLastValidSelectionUserData = ImGuiSelectionUserData_Invalid; + + // Close popups if any + ClosePopupsOverWindow(window, false); } - // Fallback when not enough room: - *last_dir = ImGuiDir_None; + // Move the root window to the top of the pile + IM_ASSERT(window == NULL || window->RootWindow != NULL); + ImGuiWindow* focus_front_window = window ? window->RootWindow : NULL; // NB: In docking branch this is window->RootWindowDockStop + ImGuiWindow* display_front_window = window ? window->RootWindow : NULL; - // For tooltip we prefer avoiding the cursor at all cost even if it means that part of the tooltip won't be visible. - if (policy == ImGuiPopupPositionPolicy_Tooltip) - return ref_pos + ImVec2(2, 2); + // Steal active widgets. Some of the cases it triggers includes: + // - Focus a window while an InputText in another window is active, if focus happens before the old InputText can run. + // - When using Nav to activate menu items (due to timing of activating on press->new window appears->losing ActiveId) + if (g.ActiveId != 0 && g.ActiveIdWindow && g.ActiveIdWindow->RootWindow != focus_front_window) + if (!g.ActiveIdNoClearOnFocusLoss) + ClearActiveID(); - // Otherwise try to keep within display - ImVec2 pos = ref_pos; - pos.x = ImMax(ImMin(pos.x + size.x, r_outer.Max.x) - size.x, r_outer.Min.x); - pos.y = ImMax(ImMin(pos.y + size.y, r_outer.Max.y) - size.y, r_outer.Min.y); - return pos; -} + // Passing NULL allow to disable keyboard focus + if (!window) + return; -// Note that this is used for popups, which can overlap the non work-area of individual viewports. -ImRect ImGui::GetPopupAllowedExtentRect(ImGuiWindow* window) -{ - ImGuiContext& g = *GImGui; - IM_UNUSED(window); - ImRect r_screen = ((ImGuiViewportP*)(void*)GetMainViewport())->GetMainRect(); - ImVec2 padding = g.Style.DisplaySafeAreaPadding; - r_screen.Expand(ImVec2((r_screen.GetWidth() > padding.x * 2) ? -padding.x : 0.0f, (r_screen.GetHeight() > padding.y * 2) ? -padding.y : 0.0f)); - return r_screen; + // Bring to front + BringWindowToFocusFront(focus_front_window); + if (((window->Flags | display_front_window->Flags) & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0) + BringWindowToDisplayFront(display_front_window); } -ImVec2 ImGui::FindBestWindowPosForPopup(ImGuiWindow* window) +void ImGui::FocusTopMostWindowUnderOne(ImGuiWindow* under_this_window, ImGuiWindow* ignore_window, ImGuiViewport* filter_viewport, ImGuiFocusRequestFlags flags) { ImGuiContext& g = *GImGui; - - ImRect r_outer = GetPopupAllowedExtentRect(window); - if (window->Flags & ImGuiWindowFlags_ChildMenu) - { - // Child menus typically request _any_ position within the parent menu item, and then we move the new menu outside the parent bounds. - // This is how we end up with child menus appearing (most-commonly) on the right of the parent menu. - IM_ASSERT(g.CurrentWindow == window); - ImGuiWindow* parent_window = g.CurrentWindowStack[g.CurrentWindowStack.Size - 2].Window; - float horizontal_overlap = g.Style.ItemInnerSpacing.x; // We want some overlap to convey the relative depth of each menu (currently the amount of overlap is hard-coded to style.ItemSpacing.x). - ImRect r_avoid; - if (parent_window->DC.MenuBarAppending) - r_avoid = ImRect(-FLT_MAX, parent_window->ClipRect.Min.y, FLT_MAX, parent_window->ClipRect.Max.y); // Avoid parent menu-bar. If we wanted multi-line menu-bar, we may instead want to have the calling window setup e.g. a NextWindowData.PosConstraintAvoidRect field - else - r_avoid = ImRect(parent_window->Pos.x + horizontal_overlap, -FLT_MAX, parent_window->Pos.x + parent_window->Size.x - horizontal_overlap - parent_window->ScrollbarSizes.x, FLT_MAX); - return FindBestWindowPosForPopupEx(window->Pos, window->Size, &window->AutoPosLastDirection, r_outer, r_avoid, ImGuiPopupPositionPolicy_Default); - } - if (window->Flags & ImGuiWindowFlags_Popup) + IM_UNUSED(filter_viewport); // Unused in master branch. + int start_idx = g.WindowsFocusOrder.Size - 1; + if (under_this_window != NULL) { - return FindBestWindowPosForPopupEx(window->Pos, window->Size, &window->AutoPosLastDirection, r_outer, ImRect(window->Pos, window->Pos), ImGuiPopupPositionPolicy_Default); // Ideally we'd disable r_avoid here + // Aim at root window behind us, if we are in a child window that's our own root (see #4640) + int offset = -1; + while (under_this_window->Flags & ImGuiWindowFlags_ChildWindow) + { + under_this_window = under_this_window->ParentWindow; + offset = 0; + } + start_idx = FindWindowFocusIndex(under_this_window) + offset; } - if (window->Flags & ImGuiWindowFlags_Tooltip) + for (int i = start_idx; i >= 0; i--) { - // Position tooltip (always follows mouse + clamp within outer boundaries) - // Note that drag and drop tooltips are NOT using this path: BeginTooltipEx() manually sets their position. - // In theory we could handle both cases in same location, but requires a bit of shuffling as drag and drop tooltips are calling SetWindowPos() leading to 'window_pos_set_by_api' being set in Begin() - IM_ASSERT(g.CurrentWindow == window); - const float scale = g.Style.MouseCursorScale; - const ImVec2 ref_pos = NavCalcPreferredRefPos(); - const ImVec2 tooltip_pos = ref_pos + TOOLTIP_DEFAULT_OFFSET * scale; - ImRect r_avoid; - if (!g.NavDisableHighlight && g.NavDisableMouseHover && !(g.IO.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos)) - r_avoid = ImRect(ref_pos.x - 16, ref_pos.y - 8, ref_pos.x + 16, ref_pos.y + 8); - else - r_avoid = ImRect(ref_pos.x - 16, ref_pos.y - 8, ref_pos.x + 24 * scale, ref_pos.y + 24 * scale); // FIXME: Hard-coded based on mouse cursor shape expectation. Exact dimension not very important. - //GetForegroundDrawList()->AddRect(r_avoid.Min, r_avoid.Max, IM_COL32(255, 0, 255, 255)); - return FindBestWindowPosForPopupEx(tooltip_pos, window->Size, &window->AutoPosLastDirection, r_outer, r_avoid, ImGuiPopupPositionPolicy_Tooltip); + // We may later decide to test for different NoXXXInputs based on the active navigation input (mouse vs nav) but that may feel more confusing to the user. + ImGuiWindow* window = g.WindowsFocusOrder[i]; + if (window == ignore_window || !window->WasActive) + continue; + if ((window->Flags & (ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs)) != (ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs)) + { + FocusWindow(window, flags); + return; + } } - IM_ASSERT(0); - return window->Pos; + FocusWindow(NULL, flags); } //----------------------------------------------------------------------------- @@ -11626,6 +12200,23 @@ ImVec2 ImGui::FindBestWindowPosForPopup(ImGuiWindow* window) // In our terminology those should be interchangeable, yet right now this is super confusing. // Those two functions are merely a legacy artifact, so at minimum naming should be clarified. +void ImGui::SetNavCursorVisible(bool visible) +{ + ImGuiContext& g = *GImGui; + if (g.IO.ConfigNavCursorVisibleAlways) + visible = true; + g.NavCursorVisible = visible; +} + +// (was called NavRestoreHighlightAfterMove() before 1.91.4) +void ImGui::SetNavCursorVisibleAfterMove() +{ + ImGuiContext& g = *GImGui; + if (g.IO.ConfigNavCursorVisibleAuto) + g.NavCursorVisible = true; + g.NavHighlightItemUnderNav = g.NavMousePosDirty = true; +} + void ImGui::SetNavWindow(ImGuiWindow* window) { ImGuiContext& g = *GImGui; @@ -11687,9 +12278,9 @@ void ImGui::SetFocusID(ImGuiID id, ImGuiWindow* window) window->NavRectRel[nav_layer] = WindowRectAbsToRel(window, g.LastItemData.NavRect); if (g.ActiveIdSource == ImGuiInputSource_Keyboard || g.ActiveIdSource == ImGuiInputSource_Gamepad) - g.NavDisableMouseHover = true; - else - g.NavDisableHighlight = true; + g.NavHighlightItemUnderNav = true; + else if (g.IO.ConfigNavCursorVisibleAuto) + g.NavCursorVisible = false; // Clear preferred scoring position (NavMoveRequestApplyResult() will tend to restore it) NavClearPreferredPosForAxis(ImGuiAxis_X); @@ -11712,7 +12303,7 @@ static float inline NavScoreItemDistInterval(float cand_min, float cand_max, flo return 0.0f; } -// Scoring function for gamepad/keyboard directional navigation. Based on https://gist.github.com/rygorous/6981057 +// Scoring function for keyboard/gamepad directional navigation. Based on https://gist.github.com/rygorous/6981057 static bool ImGui::NavScoreItem(ImGuiNavItemData* result) { ImGuiContext& g = *GImGui; @@ -11861,9 +12452,9 @@ static void ImGui::NavApplyItemToResult(ImGuiNavItemData* result) result->Window = window; result->ID = g.LastItemData.ID; result->FocusScopeId = g.CurrentFocusScopeId; - result->InFlags = g.LastItemData.InFlags; + result->ItemFlags = g.LastItemData.ItemFlags; result->RectRel = WindowRectAbsToRel(window, g.LastItemData.NavRect); - if (result->InFlags & ImGuiItemFlags_HasSelectionUserData) + if (result->ItemFlags & ImGuiItemFlags_HasSelectionUserData) { IM_ASSERT(g.NextItemData.SelectionUserData != ImGuiSelectionUserData_Invalid); result->SelectionUserData = g.NextItemData.SelectionUserData; // INTENTIONAL: At this point this field is not cleared in NextItemData. Avoid unnecessary copy to LastItemData. @@ -11886,7 +12477,7 @@ static void ImGui::NavProcessItem() ImGuiContext& g = *GImGui; ImGuiWindow* window = g.CurrentWindow; const ImGuiID id = g.LastItemData.ID; - const ImGuiItemFlags item_flags = g.LastItemData.InFlags; + const ImGuiItemFlags item_flags = g.LastItemData.ItemFlags; // When inside a container that isn't scrollable with Left<>Right, clip NavRect accordingly (#2221) if (window->DC.NavIsScrollPushableX == false) @@ -11948,7 +12539,7 @@ static void ImGui::NavProcessItem() SetNavFocusScope(g.CurrentFocusScopeId); // Will set g.NavFocusScopeId AND store g.NavFocusScopePath g.NavFocusScopeId = g.CurrentFocusScopeId; g.NavIdIsAlive = true; - if (g.LastItemData.InFlags & ImGuiItemFlags_HasSelectionUserData) + if (g.LastItemData.ItemFlags & ImGuiItemFlags_HasSelectionUserData) { IM_ASSERT(g.NextItemData.SelectionUserData != ImGuiSelectionUserData_Invalid); g.NavLastValidSelectionUserData = g.NextItemData.SelectionUserData; // INTENTIONAL: At this point this field is not cleared in NextItemData. Avoid unnecessary copy to LastItemData. @@ -12069,7 +12660,7 @@ void ImGui::NavMoveRequestResolveWithPastTreeNode(ImGuiNavItemData* result, ImGu ImGuiContext& g = *GImGui; g.NavMoveScoringItems = false; g.LastItemData.ID = tree_node_data->ID; - g.LastItemData.InFlags = tree_node_data->InFlags & ~ImGuiItemFlags_HasSelectionUserData; // Losing SelectionUserData, recovered next-frame (cheaper). + g.LastItemData.ItemFlags = tree_node_data->ItemFlags & ~ImGuiItemFlags_HasSelectionUserData; // Losing SelectionUserData, recovered next-frame (cheaper). g.LastItemData.NavRect = tree_node_data->NavRect; NavApplyItemToResult(result); // Result this instead of implementing a NavApplyPastTreeNodeToResult() NavClearPreferredPosForAxis(ImGuiAxis_Y); @@ -12152,13 +12743,6 @@ void ImGui::NavRestoreLayer(ImGuiNavLayer layer) } } -void ImGui::NavRestoreHighlightAfterMove() -{ - ImGuiContext& g = *GImGui; - g.NavDisableHighlight = false; - g.NavDisableMouseHover = g.NavMousePosDirty = true; -} - static inline void ImGui::NavUpdateAnyRequestFlag() { ImGuiContext& g = *GImGui; @@ -12199,14 +12783,29 @@ void ImGui::NavInitWindow(ImGuiWindow* window, bool force_reinit) } } +static ImGuiInputSource ImGui::NavCalcPreferredRefPosSource() +{ + ImGuiContext& g = *GImGui; + ImGuiWindow* window = g.NavWindow; + const bool activated_shortcut = g.ActiveId != 0 && g.ActiveIdFromShortcut && g.ActiveId == g.LastItemData.ID; + + // Testing for !activated_shortcut here could in theory be removed if we decided that activating a remote shortcut altered one of the g.NavDisableXXX flag. + if ((!g.NavCursorVisible || !g.NavHighlightItemUnderNav || !window) && !activated_shortcut) + return ImGuiInputSource_Mouse; + else + return ImGuiInputSource_Keyboard; // or Nav in general +} + static ImVec2 ImGui::NavCalcPreferredRefPos() { ImGuiContext& g = *GImGui; ImGuiWindow* window = g.NavWindow; + ImGuiInputSource source = NavCalcPreferredRefPosSource(); + const bool activated_shortcut = g.ActiveId != 0 && g.ActiveIdFromShortcut && g.ActiveId == g.LastItemData.ID; // Testing for !activated_shortcut here could in theory be removed if we decided that activating a remote shortcut altered one of the g.NavDisableXXX flag. - if ((g.NavDisableHighlight || !g.NavDisableMouseHover || !window) && !activated_shortcut) + if (source == ImGuiInputSource_Mouse) { // Mouse (we need a fallback in case the mouse becomes invalid after being used) // The +1.0f offset when stored by OpenPopupEx() allows reopening this or another popup (same or another mouse button) while not moving the mouse, it is pretty standard. @@ -12295,11 +12894,14 @@ static void ImGui::NavUpdate() NavMoveRequestApplyResult(); g.NavTabbingCounter = 0; g.NavMoveSubmitted = g.NavMoveScoringItems = false; + if (g.NavCursorHideFrames > 0) + if (--g.NavCursorHideFrames == 0) + g.NavCursorVisible = true; // Schedule mouse position update (will be done at the bottom of this function, after 1) processing all move requests and 2) updating scrolling) bool set_mouse_pos = false; if (g.NavMousePosDirty && g.NavIdIsAlive) - if (!g.NavDisableHighlight && g.NavDisableMouseHover && g.NavWindow) + if (g.NavCursorVisible && g.NavHighlightItemUnderNav && g.NavWindow) set_mouse_pos = true; g.NavMousePosDirty = false; IM_ASSERT(g.NavLayer == ImGuiNavLayer_Main || g.NavLayer == ImGuiNavLayer_Menu); @@ -12315,7 +12917,7 @@ static void ImGui::NavUpdate() // Set output flags for user application io.NavActive = (nav_keyboard_active || nav_gamepad_active) && g.NavWindow && !(g.NavWindow->Flags & ImGuiWindowFlags_NoNavInputs); - io.NavVisible = (io.NavActive && g.NavId != 0 && !g.NavDisableHighlight) || (g.NavWindowingTarget != NULL); + io.NavVisible = (io.NavActive && g.NavId != 0 && g.NavCursorVisible) || (g.NavWindowingTarget != NULL); // Process NavCancel input (to close a popup, get back to parent, clear focus) NavUpdateCancelRequest(); @@ -12323,7 +12925,7 @@ static void ImGui::NavUpdate() // Process manual activation request g.NavActivateId = g.NavActivateDownId = g.NavActivatePressedId = 0; g.NavActivateFlags = ImGuiActivateFlags_None; - if (g.NavId != 0 && !g.NavDisableHighlight && !g.NavWindowingTarget && g.NavWindow && !(g.NavWindow->Flags & ImGuiWindowFlags_NoNavInputs)) + if (g.NavId != 0 && g.NavCursorVisible && !g.NavWindowingTarget && g.NavWindow && !(g.NavWindow->Flags & ImGuiWindowFlags_NoNavInputs)) { const bool activate_down = (nav_keyboard_active && IsKeyDown(ImGuiKey_Space, ImGuiKeyOwner_NoOwner)) || (nav_gamepad_active && IsKeyDown(ImGuiKey_NavGamepadActivate, ImGuiKeyOwner_NoOwner)); const bool activate_pressed = activate_down && ((nav_keyboard_active && IsKeyPressed(ImGuiKey_Space, 0, ImGuiKeyOwner_NoOwner)) || (nav_gamepad_active && IsKeyPressed(ImGuiKey_NavGamepadActivate, 0, ImGuiKeyOwner_NoOwner))); @@ -12348,7 +12950,9 @@ static void ImGui::NavUpdate() } } if (g.NavWindow && (g.NavWindow->Flags & ImGuiWindowFlags_NoNavInputs)) - g.NavDisableHighlight = true; + g.NavCursorVisible = false; + else if (g.IO.ConfigNavCursorVisibleAlways && g.NavCursorHideFrames == 0) + g.NavCursorVisible = true; if (g.NavActivateId != 0) IM_ASSERT(g.NavActivateDownId == g.NavActivateId); @@ -12405,13 +13009,13 @@ static void ImGui::NavUpdate() // Always prioritize mouse highlight if navigation is disabled if (!nav_keyboard_active && !nav_gamepad_active) { - g.NavDisableHighlight = true; - g.NavDisableMouseHover = set_mouse_pos = false; + g.NavCursorVisible = false; + g.NavHighlightItemUnderNav = set_mouse_pos = false; } // Update mouse position if requested // (This will take into account the possibility that a Scroll was queued in the window to offset our absolute mouse position before scroll has been applied) - if (set_mouse_pos && (io.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) && (io.BackendFlags & ImGuiBackendFlags_HasSetMousePos)) + if (set_mouse_pos && io.ConfigNavMoveSetMousePos && (io.BackendFlags & ImGuiBackendFlags_HasSetMousePos)) TeleportMousePos(NavCalcPreferredRefPos()); // [DEBUG] @@ -12441,7 +13045,7 @@ void ImGui::NavInitRequestApplyResult() g.NavJustMovedToFocusScopeId = result->FocusScopeId; g.NavJustMovedToKeyMods = 0; g.NavJustMovedToIsTabbing = false; - g.NavJustMovedToHasSelectionData = (result->InFlags & ImGuiItemFlags_HasSelectionUserData) != 0; + g.NavJustMovedToHasSelectionData = (result->ItemFlags & ImGuiItemFlags_HasSelectionUserData) != 0; } // Apply result from previous navigation init request (will typically select the first item, unless SetItemDefaultFocus() has been called) @@ -12452,7 +13056,7 @@ void ImGui::NavInitRequestApplyResult() if (result->SelectionUserData != ImGuiSelectionUserData_Invalid) g.NavLastValidSelectionUserData = result->SelectionUserData; if (g.NavInitRequestFromMove) - NavRestoreHighlightAfterMove(); + SetNavCursorVisibleAfterMove(); } // Bias scoring rect ahead of scoring + update preferred pos (if missing) using source position @@ -12549,7 +13153,8 @@ void ImGui::NavUpdateCreateMoveRequest() IMGUI_DEBUG_LOG_NAV("[nav] NavInitRequest: from move, window \"%s\", layer=%d\n", window ? window->Name : "", g.NavLayer); g.NavInitRequest = g.NavInitRequestFromMove = true; g.NavInitResult.ID = 0; - g.NavDisableHighlight = false; + if (g.IO.ConfigNavCursorVisibleAuto) + g.NavCursorVisible = true; } // When using gamepad, we project the reference nav bounding box into window visible area. @@ -12613,7 +13218,7 @@ void ImGui::NavUpdateCreateTabbingRequest() // See NavProcessItemForTabbingRequest() for a description of the various forward/backward tabbing cases with and without wrapping. const bool nav_keyboard_active = (g.IO.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard) != 0; if (nav_keyboard_active) - g.NavTabbingDir = g.IO.KeyShift ? -1 : (g.NavDisableHighlight == true && g.ActiveId == 0) ? 0 : +1; + g.NavTabbingDir = g.IO.KeyShift ? -1 : (g.NavCursorVisible == false && g.ActiveId == 0) ? 0 : +1; else g.NavTabbingDir = g.IO.KeyShift ? -1 : (g.ActiveId == 0) ? 0 : +1; ImGuiNavMoveFlags move_flags = ImGuiNavMoveFlags_IsTabbing | ImGuiNavMoveFlags_Activate; @@ -12645,9 +13250,9 @@ void ImGui::NavMoveRequestApplyResult() if (result == NULL) { if (g.NavMoveFlags & ImGuiNavMoveFlags_IsTabbing) - g.NavMoveFlags |= ImGuiNavMoveFlags_NoSetNavHighlight; - if (g.NavId != 0 && (g.NavMoveFlags & ImGuiNavMoveFlags_NoSetNavHighlight) == 0) - NavRestoreHighlightAfterMove(); + g.NavMoveFlags |= ImGuiNavMoveFlags_NoSetNavCursorVisible; + if (g.NavId != 0 && (g.NavMoveFlags & ImGuiNavMoveFlags_NoSetNavCursorVisible) == 0) + SetNavCursorVisibleAfterMove(); NavClearPreferredPosForAxis(axis); // On a failed move, clear preferred pos for this axis. IMGUI_DEBUG_LOG_NAV("[nav] NavMoveSubmitted but not led to a result!\n"); return; @@ -12700,7 +13305,7 @@ void ImGui::NavMoveRequestApplyResult() g.NavJustMovedToFocusScopeId = result->FocusScopeId; g.NavJustMovedToKeyMods = g.NavMoveKeyMods; g.NavJustMovedToIsTabbing = (g.NavMoveFlags & ImGuiNavMoveFlags_IsTabbing) != 0; - g.NavJustMovedToHasSelectionData = (result->InFlags & ImGuiItemFlags_HasSelectionUserData) != 0; + g.NavJustMovedToHasSelectionData = (result->ItemFlags & ImGuiItemFlags_HasSelectionUserData) != 0; //IMGUI_DEBUG_LOG_NAV("[nav] NavJustMovedFromFocusScopeId = 0x%08X, NavJustMovedToFocusScopeId = 0x%08X\n", g.NavJustMovedFromFocusScopeId, g.NavJustMovedToFocusScopeId); } @@ -12720,7 +13325,7 @@ void ImGui::NavMoveRequestApplyResult() } // Tabbing: Activates Inputable, otherwise only Focus - if ((g.NavMoveFlags & ImGuiNavMoveFlags_IsTabbing) && (result->InFlags & ImGuiItemFlags_Inputable) == 0) + if ((g.NavMoveFlags & ImGuiNavMoveFlags_IsTabbing) && (result->ItemFlags & ImGuiItemFlags_Inputable) == 0) g.NavMoveFlags &= ~ImGuiNavMoveFlags_Activate; // Activate @@ -12732,12 +13337,12 @@ void ImGui::NavMoveRequestApplyResult() g.NavNextActivateFlags |= ImGuiActivateFlags_PreferInput | ImGuiActivateFlags_TryToPreserveState | ImGuiActivateFlags_FromTabbing; } - // Enable nav highlight - if ((g.NavMoveFlags & ImGuiNavMoveFlags_NoSetNavHighlight) == 0) - NavRestoreHighlightAfterMove(); + // Make nav cursor visible + if ((g.NavMoveFlags & ImGuiNavMoveFlags_NoSetNavCursorVisible) == 0) + SetNavCursorVisibleAfterMove(); } -// Process NavCancel input (to close a popup, get back to parent, clear focus) +// Process Escape/NavCancel input (to close a popup, get back to parent, clear focus) // FIXME: In order to support e.g. Escape to clear a selection we'll need: // - either to store the equivalent of ActiveIdUsingKeyInputMask for a FocusScope and test for it. // - either to move most/all of those tests to the epilogue/end functions of the scope they are dealing with (e.g. exit child window in EndChild()) or in EndFrame(), to allow an earlier intercept @@ -12758,7 +13363,7 @@ static void ImGui::NavUpdateCancelRequest() { // Leave the "menu" layer NavRestoreLayer(ImGuiNavLayer_Main); - NavRestoreHighlightAfterMove(); + SetNavCursorVisibleAfterMove(); } else if (g.NavWindow && g.NavWindow != g.NavWindow->RootWindow && !(g.NavWindow->RootWindowForNav->Flags & ImGuiWindowFlags_Popup) && g.NavWindow->RootWindowForNav->ParentWindow) { @@ -12768,7 +13373,7 @@ static void ImGui::NavUpdateCancelRequest() IM_ASSERT(child_window->ChildId != 0); FocusWindow(parent_window); SetNavID(child_window->ChildId, ImGuiNavLayer_Main, 0, WindowRectAbsToRel(parent_window, child_window->Rect())); - NavRestoreHighlightAfterMove(); + SetNavCursorVisibleAfterMove(); } else if (g.OpenPopupStack.Size > 0 && g.OpenPopupStack.back().Window != NULL && !(g.OpenPopupStack.back().Window->Flags & ImGuiWindowFlags_Modal)) { @@ -12778,9 +13383,16 @@ static void ImGui::NavUpdateCancelRequest() else { // Clear NavLastId for popups but keep it for regular child window so we can leave one and come back where we were - if (g.NavWindow && ((g.NavWindow->Flags & ImGuiWindowFlags_Popup) || !(g.NavWindow->Flags & ImGuiWindowFlags_ChildWindow))) - g.NavWindow->NavLastIds[0] = 0; - g.NavId = 0; + // FIXME-NAV: This should happen on window appearing. + if (g.IO.ConfigNavEscapeClearFocusItem || g.IO.ConfigNavEscapeClearFocusWindow) + if (g.NavWindow && ((g.NavWindow->Flags & ImGuiWindowFlags_Popup)))// || !(g.NavWindow->Flags & ImGuiWindowFlags_ChildWindow))) + g.NavWindow->NavLastIds[0] = 0; + + // Clear nav focus + if (g.IO.ConfigNavEscapeClearFocusItem || g.IO.ConfigNavEscapeClearFocusWindow) + g.NavId = 0; + if (g.IO.ConfigNavEscapeClearFocusWindow) + FocusWindow(NULL); } } @@ -12936,14 +13548,12 @@ static void ImGui::NavUpdateCreateWrappingRequest() NavMoveRequestForward(g.NavMoveDir, clip_dir, move_flags, g.NavMoveScrollFlags); } -static int ImGui::FindWindowFocusIndex(ImGuiWindow* window) +// Can we focus this window with CTRL+TAB (or PadMenu + PadFocusPrev/PadFocusNext) +// Note that NoNavFocus makes the window not reachable with CTRL+TAB but it can still be focused with mouse or programmatically. +// If you want a window to never be focused, you may use the e.g. NoInputs flag. +bool ImGui::IsWindowNavFocusable(ImGuiWindow* window) { - ImGuiContext& g = *GImGui; - IM_UNUSED(g); - int order = window->FocusOrder; - IM_ASSERT(window->RootWindow == window); // No child window (not testing _ChildWindow because of docking) - IM_ASSERT(g.WindowsFocusOrder[order] == window); - return order; + return window->WasActive && window == window->RootWindow && !(window->Flags & ImGuiWindowFlags_NoNavFocus); } static ImGuiWindow* FindWindowNavFocusable(int i_start, int i_stop, int dir) // FIXME-OPT O(N) @@ -12955,7 +13565,7 @@ static ImGuiWindow* FindWindowNavFocusable(int i_start, int i_stop, int dir) // return NULL; } -static void NavUpdateWindowingHighlightWindow(int focus_change_dir) +static void NavUpdateWindowingTarget(int focus_change_dir) { ImGuiContext& g = *GImGui; IM_ASSERT(g.NavWindowingTarget); @@ -13006,18 +13616,21 @@ static void ImGui::NavUpdateWindowing() const bool keyboard_next_window = allow_windowing && g.ConfigNavWindowingKeyNext && Shortcut(g.ConfigNavWindowingKeyNext, ImGuiInputFlags_Repeat | ImGuiInputFlags_RouteAlways, owner_id); const bool keyboard_prev_window = allow_windowing && g.ConfigNavWindowingKeyPrev && Shortcut(g.ConfigNavWindowingKeyPrev, ImGuiInputFlags_Repeat | ImGuiInputFlags_RouteAlways, owner_id); /* - Why do we need to patch ImGui to disable the nav menu... + //Why do we need to patch ImGui to disable the nav menu... const bool start_windowing_with_gamepad = allow_windowing && nav_gamepad_active && !g.NavWindowingTarget && IsKeyPressed(ImGuiKey_NavGamepadMenu, ImGuiInputFlags_None); const bool start_windowing_with_keyboard = allow_windowing && !g.NavWindowingTarget && (keyboard_next_window || keyboard_prev_window); // Note: enabled even without NavEnableKeyboard! + bool just_started_windowing_from_null_focus = false; if (start_windowing_with_gamepad || start_windowing_with_keyboard) if (ImGuiWindow* window = g.NavWindow ? g.NavWindow : FindWindowNavFocusable(g.WindowsFocusOrder.Size - 1, -INT_MAX, -1)) { - g.NavWindowingTarget = g.NavWindowingTargetAnim = window->RootWindow; + g.NavWindowingTarget = g.NavWindowingTargetAnim = window->RootWindow; // Current location g.NavWindowingTimer = g.NavWindowingHighlightAlpha = 0.0f; g.NavWindowingAccumDeltaPos = g.NavWindowingAccumDeltaSize = ImVec2(0.0f, 0.0f); g.NavWindowingToggleLayer = start_windowing_with_gamepad ? true : false; // Gamepad starts toggling layer g.NavInputSource = start_windowing_with_keyboard ? ImGuiInputSource_Keyboard : ImGuiInputSource_Gamepad; + if (g.NavWindow == NULL) + just_started_windowing_from_null_focus = true; // Manually register ownership of our mods. Using a global route in the Shortcut() calls instead would probably be correct but may have more side-effects. if (keyboard_next_window || keyboard_prev_window) @@ -13033,9 +13646,9 @@ static void ImGui::NavUpdateWindowing() // Select window to focus const int focus_change_dir = (int)IsKeyPressed(ImGuiKey_GamepadL1) - (int)IsKeyPressed(ImGuiKey_GamepadR1); - if (focus_change_dir != 0) + if (focus_change_dir != 0 && !false /*just_started_windowing_from_null_focus*/) { - NavUpdateWindowingHighlightWindow(focus_change_dir); + NavUpdateWindowingTarget(focus_change_dir); g.NavWindowingHighlightAlpha = 1.0f; } @@ -13058,22 +13671,25 @@ static void ImGui::NavUpdateWindowing() ImGuiKeyChord shared_mods = ((g.ConfigNavWindowingKeyNext ? g.ConfigNavWindowingKeyNext : ImGuiMod_Mask_) & (g.ConfigNavWindowingKeyPrev ? g.ConfigNavWindowingKeyPrev : ImGuiMod_Mask_)) & ImGuiMod_Mask_; IM_ASSERT(shared_mods != 0); // Next/Prev shortcut currently needs a shared modifier to "hold", otherwise Prev actions would keep cycling between two windows. g.NavWindowingHighlightAlpha = ImMax(g.NavWindowingHighlightAlpha, ImSaturate((g.NavWindowingTimer - NAV_WINDOWING_HIGHLIGHT_DELAY) / 0.05f)); // 1.0f - if (keyboard_next_window || keyboard_prev_window) - NavUpdateWindowingHighlightWindow(keyboard_next_window ? -1 : +1); + if ((keyboard_next_window || keyboard_prev_window) && !false /*just_started_windowing_from_null_focus*/) + NavUpdateWindowingTarget(keyboard_next_window ? -1 : +1); else if ((io.KeyMods & shared_mods) != shared_mods) apply_focus_window = g.NavWindowingTarget; } // Keyboard: Press and Release ALT to toggle menu layer const ImGuiKey windowing_toggle_keys[] = { ImGuiKey_LeftAlt, ImGuiKey_RightAlt }; - for (ImGuiKey windowing_toggle_key : windowing_toggle_keys) - if (nav_keyboard_active && IsKeyPressed(windowing_toggle_key, 0, ImGuiKeyOwner_NoOwner)) - { - g.NavWindowingToggleLayer = true; - g.NavWindowingToggleKey = windowing_toggle_key; - g.NavInputSource = ImGuiInputSource_Keyboard; - break; - } + bool windowing_toggle_layer_start = false; + if (g.NavWindow != NULL && !(g.NavWindow->Flags & ImGuiWindowFlags_NoNavInputs)) + for (ImGuiKey windowing_toggle_key : windowing_toggle_keys) + if (nav_keyboard_active && IsKeyPressed(windowing_toggle_key, 0, ImGuiKeyOwner_NoOwner)) + { + windowing_toggle_layer_start = true; + g.NavWindowingToggleLayer = true; + g.NavWindowingToggleKey = windowing_toggle_key; + g.NavInputSource = ImGuiInputSource_Keyboard; + break; + } if (g.NavWindowingToggleLayer && g.NavInputSource == ImGuiInputSource_Keyboard) { // We cancel toggling nav layer when any text has been typed (generally while holding Alt). (See #370) @@ -13082,7 +13698,9 @@ static void ImGui::NavUpdateWindowing() // We cancel toggling nav layer if an owner has claimed the key. if (io.InputQueueCharacters.Size > 0 || io.KeyCtrl || io.KeyShift || io.KeySuper) g.NavWindowingToggleLayer = false; - if (TestKeyOwner(g.NavWindowingToggleKey, ImGuiKeyOwner_NoOwner) == false || TestKeyOwner(ImGuiMod_Alt, ImGuiKeyOwner_NoOwner) == false) + else if (windowing_toggle_layer_start == false && g.LastKeyboardKeyPressTime == g.Time) + g.NavWindowingToggleLayer = false; + else if (TestKeyOwner(g.NavWindowingToggleKey, ImGuiKeyOwner_NoOwner) == false || TestKeyOwner(ImGuiMod_Alt, ImGuiKeyOwner_NoOwner) == false) g.NavWindowingToggleLayer = false; // Apply layer toggle on Alt release @@ -13108,7 +13726,7 @@ static void ImGui::NavUpdateWindowing() const float NAV_MOVE_SPEED = 800.0f; const float move_step = NAV_MOVE_SPEED * io.DeltaTime * ImMin(io.DisplayFramebufferScale.x, io.DisplayFramebufferScale.y); g.NavWindowingAccumDeltaPos += nav_move_dir * move_step; - g.NavDisableMouseHover = true; + g.NavHighlightItemUnderNav = true; ImVec2 accum_floored = ImTrunc(g.NavWindowingAccumDeltaPos); if (accum_floored.x != 0.0f || accum_floored.y != 0.0f) { @@ -13123,7 +13741,7 @@ static void ImGui::NavUpdateWindowing() if (apply_focus_window && (g.NavWindow == NULL || apply_focus_window != g.NavWindow->RootWindow)) { ClearActiveID(); - NavRestoreHighlightAfterMove(); + SetNavCursorVisibleAfterMove(); ClosePopupsOverWindow(apply_focus_window, false); FocusWindow(apply_focus_window, ImGuiFocusRequestFlags_RestoreFocusedChild); apply_focus_window = g.NavWindow; @@ -13170,7 +13788,7 @@ static void ImGui::NavUpdateWindowing() if (new_nav_layer == ImGuiNavLayer_Menu) g.NavWindow->NavLastIds[new_nav_layer] = 0; NavRestoreLayer(new_nav_layer); - NavRestoreHighlightAfterMove(); + SetNavCursorVisibleAfterMove(); } } } @@ -13218,7 +13836,6 @@ void ImGui::NavUpdateWindowingOverlay() PopStyleVar(); } - //----------------------------------------------------------------------------- // [SECTION] DRAG AND DROP //----------------------------------------------------------------------------- @@ -13309,7 +13926,7 @@ bool ImGui::BeginDragDropSource(ImGuiDragDropFlags flags) // Rely on keeping other window->LastItemXXX fields intact. source_id = g.LastItemData.ID = window->GetIDFromRectangle(g.LastItemData.Rect); KeepAliveID(source_id); - bool is_hovered = ItemHoverable(g.LastItemData.Rect, source_id, g.LastItemData.InFlags); + bool is_hovered = ItemHoverable(g.LastItemData.Rect, source_id, g.LastItemData.ItemFlags); if (is_hovered && g.IO.MouseClicked[mouse_button]) { SetActiveID(source_id, window); @@ -13684,15 +14301,17 @@ void ImGui::LogRenderedText(const ImVec2* ref_pos, const char* text, const char* } // Start logging/capturing text output -void ImGui::LogBegin(ImGuiLogType type, int auto_open_depth) +void ImGui::LogBegin(ImGuiLogFlags flags, int auto_open_depth) { ImGuiContext& g = *GImGui; ImGuiWindow* window = g.CurrentWindow; IM_ASSERT(g.LogEnabled == false); - IM_ASSERT(g.LogFile == NULL); - IM_ASSERT(g.LogBuffer.empty()); + IM_ASSERT(g.LogFile == NULL && g.LogBuffer.empty()); + IM_ASSERT(ImIsPowerOfTwo(flags & ImGuiLogFlags_OutputMask_)); // Check that only 1 type flag is used + g.LogEnabled = g.ItemUnclipByLog = true; - g.LogType = type; + g.LogFlags = flags; + g.LogWindow = window; g.LogNextPrefix = g.LogNextSuffix = NULL; g.LogDepthRef = window->DC.TreeDepth; g.LogDepthToExpand = ((auto_open_depth >= 0) ? auto_open_depth : g.LogDepthToExpandDefault); @@ -13715,7 +14334,7 @@ void ImGui::LogToTTY(int auto_open_depth) return; IM_UNUSED(auto_open_depth); #ifndef IMGUI_DISABLE_TTY_FUNCTIONS - LogBegin(ImGuiLogType_TTY, auto_open_depth); + LogBegin(ImGuiLogFlags_OutputTTY, auto_open_depth); g.LogFile = stdout; #endif } @@ -13741,7 +14360,7 @@ void ImGui::LogToFile(int auto_open_depth, const char* filename) return; } - LogBegin(ImGuiLogType_File, auto_open_depth); + LogBegin(ImGuiLogFlags_OutputFile, auto_open_depth); g.LogFile = f; } @@ -13751,7 +14370,7 @@ void ImGui::LogToClipboard(int auto_open_depth) ImGuiContext& g = *GImGui; if (g.LogEnabled) return; - LogBegin(ImGuiLogType_Clipboard, auto_open_depth); + LogBegin(ImGuiLogFlags_OutputClipboard, auto_open_depth); } void ImGui::LogToBuffer(int auto_open_depth) @@ -13759,7 +14378,7 @@ void ImGui::LogToBuffer(int auto_open_depth) ImGuiContext& g = *GImGui; if (g.LogEnabled) return; - LogBegin(ImGuiLogType_Buffer, auto_open_depth); + LogBegin(ImGuiLogFlags_OutputBuffer, auto_open_depth); } void ImGui::LogFinish() @@ -13769,29 +14388,29 @@ void ImGui::LogFinish() return; LogText(IM_NEWLINE); - switch (g.LogType) + switch (g.LogFlags & ImGuiLogFlags_OutputMask_) { - case ImGuiLogType_TTY: + case ImGuiLogFlags_OutputTTY: #ifndef IMGUI_DISABLE_TTY_FUNCTIONS fflush(g.LogFile); #endif break; - case ImGuiLogType_File: + case ImGuiLogFlags_OutputFile: ImFileClose(g.LogFile); break; - case ImGuiLogType_Buffer: + case ImGuiLogFlags_OutputBuffer: break; - case ImGuiLogType_Clipboard: + case ImGuiLogFlags_OutputClipboard: if (!g.LogBuffer.empty()) SetClipboardText(g.LogBuffer.begin()); break; - case ImGuiLogType_None: + default: IM_ASSERT(0); break; } g.LogEnabled = g.ItemUnclipByLog = false; - g.LogType = ImGuiLogType_None; + g.LogFlags = ImGuiLogFlags_None; g.LogFile = NULL; g.LogBuffer.clear(); } @@ -13825,7 +14444,6 @@ void ImGui::LogButtons() LogToClipboard(); } - //----------------------------------------------------------------------------- // [SECTION] SETTINGS //----------------------------------------------------------------------------- @@ -14185,7 +14803,6 @@ static void WindowSettingsHandler_WriteAll(ImGuiContext* ctx, ImGuiSettingsHandl } } - //----------------------------------------------------------------------------- // [SECTION] LOCALIZATION //----------------------------------------------------------------------------- @@ -14197,12 +14814,12 @@ void ImGui::LocalizeRegisterEntries(const ImGuiLocEntry* entries, int count) g.LocalizationTable[entries[n].Key] = entries[n].Text; } - //----------------------------------------------------------------------------- // [SECTION] VIEWPORTS, PLATFORM WINDOWS //----------------------------------------------------------------------------- // - GetMainViewport() // - SetWindowViewport() [Internal] +// - ScaleWindowsInViewport() [Internal] // - UpdateViewportsNewFrame() [Internal] // (this section is more complete in the 'docking' branch) //----------------------------------------------------------------------------- @@ -14218,6 +14835,24 @@ void ImGui::SetWindowViewport(ImGuiWindow* window, ImGuiViewportP* viewport) window->Viewport = viewport; } +static void ScaleWindow(ImGuiWindow* window, float scale) +{ + ImVec2 origin = window->Viewport->Pos; + window->Pos = ImFloor((window->Pos - origin) * scale + origin); + window->Size = ImTrunc(window->Size * scale); + window->SizeFull = ImTrunc(window->SizeFull * scale); + window->ContentSize = ImTrunc(window->ContentSize * scale); +} + +// Scale all windows (position, size). Use when e.g. changing DPI. (This is a lossy operation!) +void ImGui::ScaleWindowsInViewport(ImGuiViewportP* viewport, float scale) +{ + ImGuiContext& g = *GImGui; + for (ImGuiWindow* window : g.Windows) + if (window->Viewport == viewport) + ScaleWindow(window, scale); +} + // Update viewports and monitor infos static void ImGui::UpdateViewportsNewFrame() { @@ -14233,10 +14868,11 @@ static void ImGui::UpdateViewportsNewFrame() for (ImGuiViewportP* viewport : g.Viewports) { - // Lock down space taken by menu bars and status bars, reset the offset for fucntions like BeginMainMenuBar() to alter them again. - viewport->WorkOffsetMin = viewport->BuildWorkOffsetMin; - viewport->WorkOffsetMax = viewport->BuildWorkOffsetMax; - viewport->BuildWorkOffsetMin = viewport->BuildWorkOffsetMax = ImVec2(0.0f, 0.0f); + // Lock down space taken by menu bars and status bars + // Setup initial value for functions like BeginMainMenuBar(), DockSpaceOverViewport() etc. + viewport->WorkInsetMin = viewport->BuildWorkInsetMin; + viewport->WorkInsetMax = viewport->BuildWorkInsetMax; + viewport->BuildWorkInsetMin = viewport->BuildWorkInsetMax = ImVec2(0.0f, 0.0f); viewport->UpdateWorkRect(); } } @@ -14265,9 +14901,9 @@ static void ImGui::UpdateViewportsNewFrame() // Win32 clipboard implementation // We use g.ClipboardHandlerData for temporary storage to ensure it is freed on Shutdown() -static const char* GetClipboardTextFn_DefaultImpl(void* user_data_ctx) +static const char* Platform_GetClipboardTextFn_DefaultImpl(ImGuiContext* ctx) { - ImGuiContext& g = *(ImGuiContext*)user_data_ctx; + ImGuiContext& g = *ctx; g.ClipboardHandlerData.clear(); if (!::OpenClipboard(NULL)) return NULL; @@ -14288,7 +14924,7 @@ static const char* GetClipboardTextFn_DefaultImpl(void* user_data_ctx) return g.ClipboardHandlerData.Data; } -static void SetClipboardTextFn_DefaultImpl(void*, const char* text) +static void Platform_SetClipboardTextFn_DefaultImpl(ImGuiContext*, const char* text) { if (!::OpenClipboard(NULL)) return; @@ -14315,7 +14951,7 @@ static PasteboardRef main_clipboard = 0; // OSX clipboard implementation // If you enable this you will need to add '-framework ApplicationServices' to your linker command-line! -static void SetClipboardTextFn_DefaultImpl(void*, const char* text) +static void Platform_SetClipboardTextFn_DefaultImpl(ImGuiContext*, const char* text) { if (!main_clipboard) PasteboardCreate(kPasteboardClipboard, &main_clipboard); @@ -14328,9 +14964,9 @@ static void SetClipboardTextFn_DefaultImpl(void*, const char* text) } } -static const char* GetClipboardTextFn_DefaultImpl(void* user_data_ctx) +static const char* Platform_GetClipboardTextFn_DefaultImpl(ImGuiContext* ctx) { - ImGuiContext& g = *(ImGuiContext*)user_data_ctx; + ImGuiContext& g = *ctx; if (!main_clipboard) PasteboardCreate(kPasteboardClipboard, &main_clipboard); PasteboardSynchronize(main_clipboard); @@ -14364,15 +15000,15 @@ static const char* GetClipboardTextFn_DefaultImpl(void* user_data_ctx) #else // Local Dear ImGui-only clipboard implementation, if user hasn't defined better clipboard handlers. -static const char* GetClipboardTextFn_DefaultImpl(void* user_data_ctx) +static const char* Platform_GetClipboardTextFn_DefaultImpl(ImGuiContext* ctx) { - ImGuiContext& g = *(ImGuiContext*)user_data_ctx; + ImGuiContext& g = *ctx; return g.ClipboardHandlerData.empty() ? NULL : g.ClipboardHandlerData.begin(); } -static void SetClipboardTextFn_DefaultImpl(void* user_data_ctx, const char* text) +static void Platform_SetClipboardTextFn_DefaultImpl(ImGuiContext* ctx, const char* text) { - ImGuiContext& g = *(ImGuiContext*)user_data_ctx; + ImGuiContext& g = *ctx; g.ClipboardHandlerData.clear(); const char* text_end = text + strlen(text); g.ClipboardHandlerData.resize((int)(text_end - text) + 1); @@ -14400,14 +15036,14 @@ static void SetClipboardTextFn_DefaultImpl(void* user_data_ctx, const char* text #ifdef _MSC_VER #pragma comment(lib, "shell32") #endif -static bool PlatformOpenInShellFn_DefaultImpl(ImGuiContext*, const char* path) +static bool Platform_OpenInShellFn_DefaultImpl(ImGuiContext*, const char* path) { return (INT_PTR)::ShellExecuteA(NULL, "open", path, NULL, NULL, SW_SHOWDEFAULT) > 32; } #else #include #include -static bool PlatformOpenInShellFn_DefaultImpl(ImGuiContext*, const char* path) +static bool Platform_OpenInShellFn_DefaultImpl(ImGuiContext*, const char* path) { #if defined(__APPLE__) const char* args[] { "open", "--", path, NULL }; @@ -14431,7 +15067,7 @@ static bool PlatformOpenInShellFn_DefaultImpl(ImGuiContext*, const char* path) } #endif #else -static bool PlatformOpenInShellFn_DefaultImpl(ImGuiContext*, const char*) { return false; } +static bool Platform_OpenInShellFn_DefaultImpl(ImGuiContext*, const char*) { return false; } #endif // Default shell handlers //----------------------------------------------------------------------------- @@ -14444,7 +15080,7 @@ static bool PlatformOpenInShellFn_DefaultImpl(ImGuiContext*, const char*) { retu #pragma comment(lib, "imm32") #endif -static void PlatformSetImeDataFn_DefaultImpl(ImGuiContext*, ImGuiViewport* viewport, ImGuiPlatformImeData* data) +static void Platform_SetImeDataFn_DefaultImpl(ImGuiContext*, ImGuiViewport* viewport, ImGuiPlatformImeData* data) { // Notify OS Input Method Editor of text input position HWND hwnd = (HWND)viewport->PlatformHandleRaw; @@ -14470,7 +15106,7 @@ static void PlatformSetImeDataFn_DefaultImpl(ImGuiContext*, ImGuiViewport* viewp #else -static void PlatformSetImeDataFn_DefaultImpl(ImGuiContext*, ImGuiViewport*, ImGuiPlatformImeData*) {} +static void Platform_SetImeDataFn_DefaultImpl(ImGuiContext*, ImGuiViewport*, ImGuiPlatformImeData*) {} #endif // Default IME handlers @@ -14658,12 +15294,23 @@ void ImGui::UpdateDebugToolFlashStyleColor() ImGuiContext& g = *GImGui; if (g.DebugFlashStyleColorTime <= 0.0f) return; - ColorConvertHSVtoRGB(cosf(g.DebugFlashStyleColorTime * 6.0f) * 0.5f + 0.5f, 0.5f, 0.5f, g.Style.Colors[g.DebugFlashStyleColorIdx].x, g.Style.Colors[g.DebugFlashStyleColorIdx].y, g.Style.Colors[g.DebugFlashStyleColorIdx].z); + ColorConvertHSVtoRGB(ImCos(g.DebugFlashStyleColorTime * 6.0f) * 0.5f + 0.5f, 0.5f, 0.5f, g.Style.Colors[g.DebugFlashStyleColorIdx].x, g.Style.Colors[g.DebugFlashStyleColorIdx].y, g.Style.Colors[g.DebugFlashStyleColorIdx].z); g.Style.Colors[g.DebugFlashStyleColorIdx].w = 1.0f; if ((g.DebugFlashStyleColorTime -= g.IO.DeltaTime) <= 0.0f) DebugFlashStyleColorStop(); } +static const char* FormatTextureIDForDebugDisplay(char* buf, int buf_size, ImTextureID tex_id) +{ + union { void* ptr; int integer; } tex_id_opaque; + memcpy(&tex_id_opaque, &tex_id, ImMin(sizeof(void*), sizeof(tex_id))); + if (sizeof(tex_id) >= sizeof(void*)) + ImFormatString(buf, buf_size, "0x%p", tex_id_opaque.ptr); + else + ImFormatString(buf, buf_size, "0x%04X", tex_id_opaque.integer); + return buf; +} + // Avoid naming collision with imgui_demo.cpp's HelpMarker() for unity builds. static void MetricsHelpMarker(const char* desc) { @@ -14718,7 +15365,7 @@ void ImGui::ShowMetricsWindow(bool* p_open) DebugBreakClearData(); // Basic info - Text("Dear ImGui %s", GetVersion()); + Text("Dear ImGui %s (%d)", IMGUI_VERSION, IMGUI_VERSION_NUM); if (g.ContextName[0] != 0) { SameLine(); @@ -15088,18 +15735,11 @@ void ImGui::ShowMetricsWindow(bool* p_open) { Text("KEYBOARD/GAMEPAD/MOUSE KEYS"); { - // We iterate both legacy native range and named ImGuiKey ranges, which is a little odd but this allows displaying the data for old/new backends. // User code should never have to go through such hoops! You can generally iterate between ImGuiKey_NamedKey_BEGIN and ImGuiKey_NamedKey_END. Indent(); -#ifdef IMGUI_DISABLE_OBSOLETE_KEYIO - struct funcs { static bool IsLegacyNativeDupe(ImGuiKey) { return false; } }; -#else - struct funcs { static bool IsLegacyNativeDupe(ImGuiKey key) { return key >= 0 && key < 512 && GetIO().KeyMap[key] != -1; } }; // Hide Native<>ImGuiKey duplicates when both exists in the array - //Text("Legacy raw:"); for (ImGuiKey key = ImGuiKey_KeysData_OFFSET; key < ImGuiKey_COUNT; key++) { if (io.KeysDown[key]) { SameLine(); Text("\"%s\" %d", GetKeyName(key), key); } } -#endif - Text("Keys down:"); for (ImGuiKey key = ImGuiKey_KeysData_OFFSET; key < ImGuiKey_COUNT; key = (ImGuiKey)(key + 1)) { if (funcs::IsLegacyNativeDupe(key) || !IsKeyDown(key)) continue; SameLine(); Text(IsNamedKey(key) ? "\"%s\"" : "\"%s\" %d", GetKeyName(key), key); SameLine(); Text("(%.02f)", GetKeyData(key)->DownDuration); } - Text("Keys pressed:"); for (ImGuiKey key = ImGuiKey_KeysData_OFFSET; key < ImGuiKey_COUNT; key = (ImGuiKey)(key + 1)) { if (funcs::IsLegacyNativeDupe(key) || !IsKeyPressed(key)) continue; SameLine(); Text(IsNamedKey(key) ? "\"%s\"" : "\"%s\" %d", GetKeyName(key), key); } - Text("Keys released:"); for (ImGuiKey key = ImGuiKey_KeysData_OFFSET; key < ImGuiKey_COUNT; key = (ImGuiKey)(key + 1)) { if (funcs::IsLegacyNativeDupe(key) || !IsKeyReleased(key)) continue; SameLine(); Text(IsNamedKey(key) ? "\"%s\"" : "\"%s\" %d", GetKeyName(key), key); } + Text("Keys down:"); for (ImGuiKey key = ImGuiKey_NamedKey_BEGIN; key < ImGuiKey_NamedKey_END; key = (ImGuiKey)(key + 1)) { if (!IsKeyDown(key)) continue; SameLine(); Text(IsNamedKey(key) ? "\"%s\"" : "\"%s\" %d", GetKeyName(key), key); SameLine(); Text("(%.02f)", GetKeyData(key)->DownDuration); } + Text("Keys pressed:"); for (ImGuiKey key = ImGuiKey_NamedKey_BEGIN; key < ImGuiKey_NamedKey_END; key = (ImGuiKey)(key + 1)) { if (!IsKeyPressed(key)) continue; SameLine(); Text(IsNamedKey(key) ? "\"%s\"" : "\"%s\" %d", GetKeyName(key), key); } + Text("Keys released:"); for (ImGuiKey key = ImGuiKey_NamedKey_BEGIN; key < ImGuiKey_NamedKey_END; key = (ImGuiKey)(key + 1)) { if (!IsKeyReleased(key)) continue; SameLine(); Text(IsNamedKey(key) ? "\"%s\"" : "\"%s\" %d", GetKeyName(key), key); } Text("Keys mods: %s%s%s%s", io.KeyCtrl ? "CTRL " : "", io.KeyShift ? "SHIFT " : "", io.KeyAlt ? "ALT " : "", io.KeySuper ? "SUPER " : ""); Text("Chars queue:"); for (int i = 0; i < io.InputQueueCharacters.Size; i++) { ImWchar c = io.InputQueueCharacters[i]; SameLine(); Text("\'%c\' (0x%04X)", (c > ' ' && c <= 255) ? (char)c : '?', c); } // FIXME: We should convert 'c' to UTF-8 here but the functions are not public. DebugRenderKeyboardPreview(GetWindowDrawList()); @@ -15213,7 +15853,7 @@ void ImGui::ShowMetricsWindow(bool* p_open) Text("NavActive: %d, NavVisible: %d", g.IO.NavActive, g.IO.NavVisible); Text("NavActivateId/DownId/PressedId: %08X/%08X/%08X", g.NavActivateId, g.NavActivateDownId, g.NavActivatePressedId); Text("NavActivateFlags: %04X", g.NavActivateFlags); - Text("NavDisableHighlight: %d, NavDisableMouseHover: %d", g.NavDisableHighlight, g.NavDisableMouseHover); + Text("NavCursorVisible: %d, NavHighlightItemUnderNav: %d", g.NavCursorVisible, g.NavHighlightItemUnderNav); Text("NavFocusScopeId = 0x%08X", g.NavFocusScopeId); Text("NavFocusRoute[] = "); for (int path_n = g.NavFocusRoute.Size - 1; path_n >= 0; path_n--) @@ -15340,7 +15980,7 @@ bool ImGui::DebugBreakButton(const char* label, const char* description_of_locat ColorConvertRGBtoHSV(col4f.x, col4f.y, col4f.z, hsv.x, hsv.y, hsv.z); ColorConvertHSVtoRGB(hsv.x + 0.20f, hsv.y, hsv.z, col4f.x, col4f.y, col4f.z); - RenderNavHighlight(bb, id); + RenderNavCursor(bb, id); RenderFrame(bb.Min, bb.Max, GetColorU32(col4f), true, g.Style.FrameRounding); RenderTextClipped(bb.Min, bb.Max, label, NULL, &label_size, g.Style.ButtonTextAlign, &bb); @@ -15359,16 +15999,6 @@ void ImGui::DebugNodeColumns(ImGuiOldColumns* columns) TreePop(); } -static void FormatTextureIDForDebugDisplay(char* buf, int buf_size, ImTextureID tex_id) -{ - union { void* ptr; int integer; } tex_id_opaque; - memcpy(&tex_id_opaque, &tex_id, ImMin(sizeof(void*), sizeof(tex_id))); - if (sizeof(tex_id) >= sizeof(void*)) - ImFormatString(buf, buf_size, "0x%p", tex_id_opaque.ptr); - else - ImFormatString(buf, buf_size, "0x%04X", tex_id_opaque.integer); -} - // [DEBUG] Display contents of ImDrawList void ImGui::DebugNodeDrawList(ImGuiWindow* window, ImGuiViewportP* viewport, const ImDrawList* draw_list, const char* label) { @@ -15660,9 +16290,9 @@ void ImGui::DebugNodeViewport(ImGuiViewportP* viewport) if (open) { ImGuiWindowFlags flags = viewport->Flags; - BulletText("Main Pos: (%.0f,%.0f), Size: (%.0f,%.0f)\nWorkArea Offset Left: %.0f Top: %.0f, Right: %.0f, Bottom: %.0f", + BulletText("Main Pos: (%.0f,%.0f), Size: (%.0f,%.0f)\nWorkArea Inset Left: %.0f Top: %.0f, Right: %.0f, Bottom: %.0f", viewport->Pos.x, viewport->Pos.y, viewport->Size.x, viewport->Size.y, - viewport->WorkOffsetMin.x, viewport->WorkOffsetMin.y, viewport->WorkOffsetMax.x, viewport->WorkOffsetMax.y); + viewport->WorkInsetMin.x, viewport->WorkInsetMin.y, viewport->WorkInsetMax.x, viewport->WorkInsetMax.y); BulletText("Flags: 0x%04X =%s%s%s", viewport->Flags, (flags & ImGuiViewportFlags_IsPlatformWindow) ? " IsPlatformWindow" : "", (flags & ImGuiViewportFlags_IsPlatformMonitor) ? " IsPlatformMonitor" : "", @@ -15707,7 +16337,7 @@ void ImGui::DebugNodeWindow(ImGuiWindow* window, const char* label) (flags & ImGuiWindowFlags_NoMouseInputs)? "NoMouseInputs":"", (flags & ImGuiWindowFlags_NoNavInputs) ? "NoNavInputs" : "", (flags & ImGuiWindowFlags_AlwaysAutoResize) ? "AlwaysAutoResize" : ""); if (flags & ImGuiWindowFlags_ChildWindow) BulletText("ChildFlags: 0x%08X (%s%s%s%s..)", window->ChildFlags, - (window->ChildFlags & ImGuiChildFlags_Border) ? "Border " : "", + (window->ChildFlags & ImGuiChildFlags_Borders) ? "Borders " : "", (window->ChildFlags & ImGuiChildFlags_ResizeX) ? "ResizeX " : "", (window->ChildFlags & ImGuiChildFlags_ResizeY) ? "ResizeY " : "", (window->ChildFlags & ImGuiChildFlags_NavFlattened) ? "NavFlattened " : ""); @@ -15717,7 +16347,7 @@ void ImGui::DebugNodeWindow(ImGuiWindow* window, const char* label) for (int layer = 0; layer < ImGuiNavLayer_COUNT; layer++) { ImRect r = window->NavRectRel[layer]; - if (r.Min.x >= r.Max.y && r.Min.y >= r.Max.y) + if (r.Min.x >= r.Max.x && r.Min.y >= r.Max.y) BulletText("NavLastIds[%d]: 0x%08X", layer, window->NavLastIds[layer]); else BulletText("NavLastIds[%d]: 0x%08X at +(%.1f,%.1f)(%.1f,%.1f)", layer, window->NavLastIds[layer], r.Min.x, r.Min.y, r.Max.x, r.Max.y); @@ -15830,18 +16460,30 @@ static void ShowDebugLogFlag(const char* name, ImGuiDebugLogFlags flags) ImGuiContext& g = *GImGui; ImVec2 size(ImGui::GetFrameHeight() + g.Style.ItemInnerSpacing.x + ImGui::CalcTextSize(name).x, ImGui::GetFrameHeight()); SameLineOrWrap(size); // FIXME-LAYOUT: To be done automatically once we rework ItemSize/ItemAdd into ItemLayout. + + bool highlight_errors = (flags == ImGuiDebugLogFlags_EventError && g.DebugLogSkippedErrors > 0); + if (highlight_errors) + ImGui::PushStyleColor(ImGuiCol_Text, ImLerp(g.Style.Colors[ImGuiCol_Text], ImVec4(1.0f, 0.0f, 0.0f, 1.0f), 0.30f)); if (ImGui::CheckboxFlags(name, &g.DebugLogFlags, flags) && g.IO.KeyShift && (g.DebugLogFlags & flags) != 0) { g.DebugLogAutoDisableFrames = 2; g.DebugLogAutoDisableFlags |= flags; } - ImGui::SetItemTooltip("Hold SHIFT when clicking to enable for 2 frames only (useful for spammy log entries)"); + if (highlight_errors) + { + ImGui::PopStyleColor(); + ImGui::SetItemTooltip("%d past errors skipped.", g.DebugLogSkippedErrors); + } + else + { + ImGui::SetItemTooltip("Hold SHIFT when clicking to enable for 2 frames only (useful for spammy log entries)"); + } } void ImGui::ShowDebugLogWindow(bool* p_open) { ImGuiContext& g = *GImGui; - if (!(g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasSize)) + if ((g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasSize) == 0) SetNextWindowSize(ImVec2(0.0f, GetFontSize() * 12.0f), ImGuiCond_FirstUseEver); if (!Begin("Dear ImGui Debug Log", p_open) || GetCurrentWindow()->BeginCount > 1) { @@ -15853,10 +16495,12 @@ void ImGui::ShowDebugLogWindow(bool* p_open) CheckboxFlags("All", &g.DebugLogFlags, all_enable_flags); SetItemTooltip("(except InputRouting which is spammy)"); + ShowDebugLogFlag("Errors", ImGuiDebugLogFlags_EventError); ShowDebugLogFlag("ActiveId", ImGuiDebugLogFlags_EventActiveId); ShowDebugLogFlag("Clipper", ImGuiDebugLogFlags_EventClipper); ShowDebugLogFlag("Focus", ImGuiDebugLogFlags_EventFocus); ShowDebugLogFlag("IO", ImGuiDebugLogFlags_EventIO); + //ShowDebugLogFlag("Font", ImGuiDebugLogFlags_EventFont); ShowDebugLogFlag("Nav", ImGuiDebugLogFlags_EventNav); ShowDebugLogFlag("Popup", ImGuiDebugLogFlags_EventPopup); ShowDebugLogFlag("Selection", ImGuiDebugLogFlags_EventSelection); @@ -15866,6 +16510,7 @@ void ImGui::ShowDebugLogWindow(bool* p_open) { g.DebugLogBuf.clear(); g.DebugLogIndex.clear(); + g.DebugLogSkippedErrors = 0; } SameLine(); if (SmallButton("Copy")) @@ -15886,7 +16531,7 @@ void ImGui::ShowDebugLogWindow(bool* p_open) EndPopup(); } - BeginChild("##log", ImVec2(0.0f, 0.0f), ImGuiChildFlags_Border, ImGuiWindowFlags_AlwaysVerticalScrollbar | ImGuiWindowFlags_AlwaysHorizontalScrollbar); + BeginChild("##log", ImVec2(0.0f, 0.0f), ImGuiChildFlags_Borders, ImGuiWindowFlags_AlwaysVerticalScrollbar | ImGuiWindowFlags_AlwaysHorizontalScrollbar); const ImGuiDebugLogFlags backup_log_flags = g.DebugLogFlags; g.DebugLogFlags &= ~ImGuiDebugLogFlags_EventClipper; @@ -15908,7 +16553,7 @@ void ImGui::ShowDebugLogWindow(bool* p_open) void ImGui::DebugTextUnformattedWithLocateItem(const char* line_begin, const char* line_end) { TextUnformatted(line_begin, line_end); - if (!IsItemHovered()) + if (!IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem)) return; ImGuiContext& g = *GImGui; ImRect text_rect = g.LastItemData.Rect; @@ -16158,7 +16803,7 @@ static int StackToolFormatLevelInfo(ImGuiIDStackTool* tool, int n, bool format_f void ImGui::ShowIDStackToolWindow(bool* p_open) { ImGuiContext& g = *GImGui; - if (!(g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasSize)) + if ((g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasSize) == 0) SetNextWindowSize(ImVec2(0.0f, GetFontSize() * 8.0f), ImGuiCond_FirstUseEver); if (!Begin("Dear ImGui ID Stack Tool", p_open) || GetCurrentWindow()->BeginCount > 1) { diff --git a/3rdparty/imgui/src/imgui_demo.cpp b/3rdparty/imgui/src/imgui_demo.cpp index 4d6c2bbf2918e..d0e41f370cf29 100644 --- a/3rdparty/imgui/src/imgui_demo.cpp +++ b/3rdparty/imgui/src/imgui_demo.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.91.0 +// dear imgui, v1.91.7 // (demo code) // Help: @@ -116,6 +116,9 @@ Index of this file: #if !defined(_MSC_VER) || _MSC_VER >= 1800 #include // PRId64/PRIu64, not avail in some MinGW headers. #endif +#ifdef __EMSCRIPTEN__ +#include // __EMSCRIPTEN_major__ etc. +#endif // Visual Studio warnings #ifdef _MSC_VER @@ -142,12 +145,16 @@ Index of this file: #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" // warning: implicit conversion from 'xxx' to 'float' may lose precision #pragma clang diagnostic ignored "-Wunsafe-buffer-usage" // warning: 'xxx' is an unsafe pointer used for buffer access #elif defined(__GNUC__) -#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind -#pragma GCC diagnostic ignored "-Wint-to-pointer-cast" // warning: cast to pointer from integer of different size -#pragma GCC diagnostic ignored "-Wformat-security" // warning: format string is not a string literal (potentially insecure) -#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function -#pragma GCC diagnostic ignored "-Wconversion" // warning: conversion to 'xxxx' from 'xxxx' may alter its value -#pragma GCC diagnostic ignored "-Wmisleading-indentation" // [__GNUC__ >= 6] warning: this 'if' clause does not guard this statement // GCC 6.0+ only. See #883 on GitHub. +#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind +#pragma GCC diagnostic ignored "-Wfloat-equal" // warning: comparing floating-point with '==' or '!=' is unsafe +#pragma GCC diagnostic ignored "-Wint-to-pointer-cast" // warning: cast to pointer from integer of different size +#pragma GCC diagnostic ignored "-Wformat" // warning: format '%p' expects argument of type 'int'/'void*', but argument X has type 'unsigned int'/'ImGuiWindow*' +#pragma GCC diagnostic ignored "-Wformat-security" // warning: format string is not a string literal (potentially insecure) +#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function +#pragma GCC diagnostic ignored "-Wconversion" // warning: conversion to 'xxxx' from 'xxxx' may alter its value +#pragma GCC diagnostic ignored "-Wmisleading-indentation" // [__GNUC__ >= 6] warning: this 'if' clause does not guard this statement // GCC 6.0+ only. See #883 on GitHub. +#pragma GCC diagnostic ignored "-Wstrict-overflow" // warning: assuming signed overflow does not occur when simplifying division / ..when changing X +- C1 cmp C2 to X cmp C2 -+ C1 +#pragma GCC diagnostic ignored "-Wcast-qual" // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers #endif // Play it nice with Windows users (Update: May 2018, Notepad now supports Unix-style carriage returns!) @@ -288,6 +295,7 @@ struct ExampleMemberInfo // Metadata description of ExampleTreeNode struct. static const ExampleMemberInfo ExampleTreeNodeMemberInfos[] { + { "MyName", ImGuiDataType_String, 1, offsetof(ExampleTreeNode, Name) }, { "MyBool", ImGuiDataType_Bool, 1, offsetof(ExampleTreeNode, DataMyBool) }, { "MyInt", ImGuiDataType_S32, 1, offsetof(ExampleTreeNode, DataMyInt) }, { "MyVec2", ImGuiDataType_Float, 2, offsetof(ExampleTreeNode, DataMyVec2) }, @@ -305,28 +313,36 @@ static ExampleTreeNode* ExampleTree_CreateNode(const char* name, int uid, Exampl return node; } +static void ExampleTree_DestroyNode(ExampleTreeNode* node) +{ + for (ExampleTreeNode* child_node : node->Childs) + ExampleTree_DestroyNode(child_node); + IM_DELETE(node); +} + // Create example tree data // (this allocates _many_ more times than most other code in either Dear ImGui or others demo) static ExampleTreeNode* ExampleTree_CreateDemoTree() { static const char* root_names[] = { "Apple", "Banana", "Cherry", "Kiwi", "Mango", "Orange", "Pear", "Pineapple", "Strawberry", "Watermelon" }; - char name_buf[32]; + const size_t NAME_MAX_LEN = sizeof(ExampleTreeNode::Name); + char name_buf[NAME_MAX_LEN]; int uid = 0; ExampleTreeNode* node_L0 = ExampleTree_CreateNode("", ++uid, NULL); const int root_items_multiplier = 2; for (int idx_L0 = 0; idx_L0 < IM_ARRAYSIZE(root_names) * root_items_multiplier; idx_L0++) { - snprintf(name_buf, 32, "%s %d", root_names[idx_L0 / root_items_multiplier], idx_L0 % root_items_multiplier); + snprintf(name_buf, IM_ARRAYSIZE(name_buf), "%s %d", root_names[idx_L0 / root_items_multiplier], idx_L0 % root_items_multiplier); ExampleTreeNode* node_L1 = ExampleTree_CreateNode(name_buf, ++uid, node_L0); const int number_of_childs = (int)strlen(node_L1->Name); for (int idx_L1 = 0; idx_L1 < number_of_childs; idx_L1++) { - snprintf(name_buf, 32, "Child %d", idx_L1); + snprintf(name_buf, IM_ARRAYSIZE(name_buf), "Child %d", idx_L1); ExampleTreeNode* node_L2 = ExampleTree_CreateNode(name_buf, ++uid, node_L1); node_L2->HasData = true; if (idx_L1 == 0) { - snprintf(name_buf, 32, "Sub-child %d", 0); + snprintf(name_buf, IM_ARRAYSIZE(name_buf), "Sub-child %d", 0); ExampleTreeNode* node_L3 = ExampleTree_CreateNode(name_buf, ++uid, node_L2); node_L3->HasData = true; } @@ -339,7 +355,7 @@ static ExampleTreeNode* ExampleTree_CreateDemoTree() // [SECTION] Demo Window / ShowDemoWindow() //----------------------------------------------------------------------------- -// Data to be shared accross different functions of the demo. +// Data to be shared across different functions of the demo. struct ImGuiDemoWindowData { // Examples Apps (accessible from the "Examples" menu) @@ -367,6 +383,8 @@ struct ImGuiDemoWindowData // Other data ExampleTreeNode* DemoTree = NULL; + + ~ImGuiDemoWindowData() { if (DemoTree) ExampleTree_DestroyNode(DemoTree); } }; // Demonstrate most Dear ImGui features (this is big function!) @@ -497,8 +515,6 @@ void ImGui::ShowDemoWindow(bool* p_open) ImGui::SameLine(); HelpMarker("Enable keyboard controls."); ImGui::CheckboxFlags("io.ConfigFlags: NavEnableGamepad", &io.ConfigFlags, ImGuiConfigFlags_NavEnableGamepad); ImGui::SameLine(); HelpMarker("Enable gamepad controls. Require backend to set io.BackendFlags |= ImGuiBackendFlags_HasGamepad.\n\nRead instructions in imgui.cpp for details."); - ImGui::CheckboxFlags("io.ConfigFlags: NavEnableSetMousePos", &io.ConfigFlags, ImGuiConfigFlags_NavEnableSetMousePos); - ImGui::SameLine(); HelpMarker("Instruct navigation to move the mouse cursor. See comment for ImGuiConfigFlags_NavEnableSetMousePos."); ImGui::CheckboxFlags("io.ConfigFlags: NoMouse", &io.ConfigFlags, ImGuiConfigFlags_NoMouse); ImGui::SameLine(); HelpMarker("Instruct dear imgui to disable mouse inputs and interactions."); @@ -525,6 +541,29 @@ void ImGui::ShowDemoWindow(bool* p_open) ImGui::Checkbox("io.MouseDrawCursor", &io.MouseDrawCursor); ImGui::SameLine(); HelpMarker("Instruct Dear ImGui to render a mouse cursor itself. Note that a mouse cursor rendered via your application GPU rendering path will feel more laggy than hardware cursor, but will be more in sync with your other visuals.\n\nSome desktop applications may use both kinds of cursors (e.g. enable software cursor only when resizing/dragging something)."); + ImGui::SeparatorText("Keyboard/Gamepad Navigation"); + ImGui::Checkbox("io.ConfigNavSwapGamepadButtons", &io.ConfigNavSwapGamepadButtons); + ImGui::Checkbox("io.ConfigNavMoveSetMousePos", &io.ConfigNavMoveSetMousePos); + ImGui::SameLine(); HelpMarker("Directional/tabbing navigation teleports the mouse cursor. May be useful on TV/console systems where moving a virtual mouse is difficult"); + ImGui::Checkbox("io.ConfigNavCaptureKeyboard", &io.ConfigNavCaptureKeyboard); + ImGui::Checkbox("io.ConfigNavEscapeClearFocusItem", &io.ConfigNavEscapeClearFocusItem); + ImGui::SameLine(); HelpMarker("Pressing Escape clears focused item."); + ImGui::Checkbox("io.ConfigNavEscapeClearFocusWindow", &io.ConfigNavEscapeClearFocusWindow); + ImGui::SameLine(); HelpMarker("Pressing Escape clears focused window."); + ImGui::Checkbox("io.ConfigNavCursorVisibleAuto", &io.ConfigNavCursorVisibleAuto); + ImGui::SameLine(); HelpMarker("Using directional navigation key makes the cursor visible. Mouse click hides the cursor."); + ImGui::Checkbox("io.ConfigNavCursorVisibleAlways", &io.ConfigNavCursorVisibleAlways); + ImGui::SameLine(); HelpMarker("Navigation cursor is always visible."); + + ImGui::SeparatorText("Windows"); + ImGui::Checkbox("io.ConfigWindowsResizeFromEdges", &io.ConfigWindowsResizeFromEdges); + ImGui::SameLine(); HelpMarker("Enable resizing of windows from their edges and from the lower-left corner.\nThis requires ImGuiBackendFlags_HasMouseCursors for better mouse cursor feedback."); + ImGui::Checkbox("io.ConfigWindowsMoveFromTitleBarOnly", &io.ConfigWindowsMoveFromTitleBarOnly); + ImGui::Checkbox("io.ConfigWindowsCopyContentsWithCtrlC", &io.ConfigWindowsCopyContentsWithCtrlC); // [EXPERIMENTAL] + ImGui::SameLine(); HelpMarker("*EXPERIMENTAL* CTRL+C copy the contents of focused window into the clipboard.\n\nExperimental because:\n- (1) has known issues with nested Begin/End pairs.\n- (2) text output quality varies.\n- (3) text output is in submission order rather than spatial order."); + ImGui::Checkbox("io.ConfigScrollbarScrollByPage", &io.ConfigScrollbarScrollByPage); + ImGui::SameLine(); HelpMarker("Enable scrolling page by page when clicking outside the scrollbar grab.\nWhen disabled, always scroll to clicked location.\nWhen enabled, Shift+Click scrolls to clicked location."); + ImGui::SeparatorText("Widgets"); ImGui::Checkbox("io.ConfigInputTextCursorBlink", &io.ConfigInputTextCursorBlink); ImGui::SameLine(); HelpMarker("Enable blinking cursor (optional as some users consider it to be distracting)."); @@ -532,18 +571,35 @@ void ImGui::ShowDemoWindow(bool* p_open) ImGui::SameLine(); HelpMarker("Pressing Enter will keep item active and select contents (single-line only)."); ImGui::Checkbox("io.ConfigDragClickToInputText", &io.ConfigDragClickToInputText); ImGui::SameLine(); HelpMarker("Enable turning DragXXX widgets into text input with a simple mouse click-release (without moving)."); - ImGui::Checkbox("io.ConfigWindowsResizeFromEdges", &io.ConfigWindowsResizeFromEdges); - ImGui::SameLine(); HelpMarker("Enable resizing of windows from their edges and from the lower-left corner.\nThis requires (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) because it needs mouse cursor feedback."); - ImGui::Checkbox("io.ConfigWindowsMoveFromTitleBarOnly", &io.ConfigWindowsMoveFromTitleBarOnly); ImGui::Checkbox("io.ConfigMacOSXBehaviors", &io.ConfigMacOSXBehaviors); ImGui::SameLine(); HelpMarker("Swap Cmd<>Ctrl keys, enable various MacOS style behaviors."); ImGui::Text("Also see Style->Rendering for rendering options."); + // Also read: https://github.com/ocornut/imgui/wiki/Error-Handling + ImGui::SeparatorText("Error Handling"); + + ImGui::Checkbox("io.ConfigErrorRecovery", &io.ConfigErrorRecovery); + ImGui::SameLine(); HelpMarker( + "Options to configure how we handle recoverable errors.\n" + "- Error recovery is not perfect nor guaranteed! It is a feature to ease development.\n" + "- You not are not supposed to rely on it in the course of a normal application run.\n" + "- Possible usage: facilitate recovery from errors triggered from a scripting language or after specific exceptions handlers.\n" + "- Always ensure that on programmers seat you have at minimum Asserts or Tooltips enabled when making direct imgui API call!" + "Otherwise it would severely hinder your ability to catch and correct mistakes!"); + ImGui::Checkbox("io.ConfigErrorRecoveryEnableAssert", &io.ConfigErrorRecoveryEnableAssert); + ImGui::Checkbox("io.ConfigErrorRecoveryEnableDebugLog", &io.ConfigErrorRecoveryEnableDebugLog); + ImGui::Checkbox("io.ConfigErrorRecoveryEnableTooltip", &io.ConfigErrorRecoveryEnableTooltip); + if (!io.ConfigErrorRecoveryEnableAssert && !io.ConfigErrorRecoveryEnableDebugLog && !io.ConfigErrorRecoveryEnableTooltip) + io.ConfigErrorRecoveryEnableAssert = io.ConfigErrorRecoveryEnableDebugLog = io.ConfigErrorRecoveryEnableTooltip = true; + + // Also read: https://github.com/ocornut/imgui/wiki/Debug-Tools ImGui::SeparatorText("Debug"); ImGui::Checkbox("io.ConfigDebugIsDebuggerPresent", &io.ConfigDebugIsDebuggerPresent); ImGui::SameLine(); HelpMarker("Enable various tools calling IM_DEBUG_BREAK().\n\nRequires a debugger being attached, otherwise IM_DEBUG_BREAK() options will appear to crash your application."); + ImGui::Checkbox("io.ConfigDebugHighlightIdConflicts", &io.ConfigDebugHighlightIdConflicts); + ImGui::SameLine(); HelpMarker("Highlight and show an error message when multiple items have conflicting identifiers."); ImGui::BeginDisabled(); - ImGui::Checkbox("io.ConfigDebugBeginReturnValueOnce", &io.ConfigDebugBeginReturnValueOnce); // . + ImGui::Checkbox("io.ConfigDebugBeginReturnValueOnce", &io.ConfigDebugBeginReturnValueOnce); ImGui::EndDisabled(); ImGui::SameLine(); HelpMarker("First calls to Begin()/BeginChild() will return false.\n\nTHIS OPTION IS DISABLED because it needs to be set at application boot-time to make sense. Showing the disabled option is a way to make this feature easier to discover."); ImGui::Checkbox("io.ConfigDebugBeginReturnValueLoop", &io.ConfigDebugBeginReturnValueLoop); @@ -571,6 +627,7 @@ void ImGui::ShowDemoWindow(bool* p_open) ImGui::CheckboxFlags("io.BackendFlags: HasSetMousePos", &io.BackendFlags, ImGuiBackendFlags_HasSetMousePos); ImGui::CheckboxFlags("io.BackendFlags: RendererHasVtxOffset", &io.BackendFlags, ImGuiBackendFlags_RendererHasVtxOffset); ImGui::EndDisabled(); + ImGui::TreePop(); ImGui::Spacing(); } @@ -680,22 +737,32 @@ static void ShowDemoWindowMenuBar(ImGuiDemoWindowData* demo_data) if (ImGui::BeginMenu("Tools")) { IMGUI_DEMO_MARKER("Menu/Tools"); + ImGuiIO& io = ImGui::GetIO(); #ifndef IMGUI_DISABLE_DEBUG_TOOLS const bool has_debug_tools = true; #else const bool has_debug_tools = false; #endif ImGui::MenuItem("Metrics/Debugger", NULL, &demo_data->ShowMetrics, has_debug_tools); + if (ImGui::BeginMenu("Debug Options")) + { + ImGui::BeginDisabled(!has_debug_tools); + ImGui::Checkbox("Highlight ID Conflicts", &io.ConfigDebugHighlightIdConflicts); + ImGui::EndDisabled(); + ImGui::Checkbox("Assert on error recovery", &io.ConfigErrorRecoveryEnableAssert); + ImGui::TextDisabled("(see Demo->Configuration for details & more)"); + ImGui::EndMenu(); + } ImGui::MenuItem("Debug Log", NULL, &demo_data->ShowDebugLog, has_debug_tools); ImGui::MenuItem("ID Stack Tool", NULL, &demo_data->ShowIDStackTool, has_debug_tools); - ImGui::MenuItem("Style Editor", NULL, &demo_data->ShowStyleEditor); - bool is_debugger_present = ImGui::GetIO().ConfigDebugIsDebuggerPresent; - if (ImGui::MenuItem("Item Picker", NULL, false, has_debug_tools && is_debugger_present)) + bool is_debugger_present = io.ConfigDebugIsDebuggerPresent; + if (ImGui::MenuItem("Item Picker", NULL, false, has_debug_tools))// && is_debugger_present)) ImGui::DebugStartItemPicker(); if (!is_debugger_present) - ImGui::SetItemTooltip("Requires io.ConfigDebugIsDebuggerPresent=true to be set.\n\nWe otherwise disable the menu option to avoid casual users crashing the application.\n\nYou can however always access the Item Picker in Metrics->Tools."); - ImGui::Separator(); + ImGui::SetItemTooltip("Requires io.ConfigDebugIsDebuggerPresent=true to be set.\n\nWe otherwise disable some extra features to avoid casual users crashing the application."); + ImGui::MenuItem("Style Editor", NULL, &demo_data->ShowStyleEditor); ImGui::MenuItem("About Dear ImGui", NULL, &demo_data->ShowAbout); + ImGui::EndMenu(); } ImGui::EndMenuBar(); @@ -974,7 +1041,7 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) // The following examples are passed for documentation purpose but may not be useful to most users. // Passing ImGuiHoveredFlags_ForTooltip to IsItemHovered() will pull ImGuiHoveredFlags flags values from - // 'style.HoverFlagsForTooltipMouse' or 'style.HoverFlagsForTooltipNav' depending on whether mouse or gamepad/keyboard is being used. + // 'style.HoverFlagsForTooltipMouse' or 'style.HoverFlagsForTooltipNav' depending on whether mouse or keyboard/gamepad is being used. // With default settings, ImGuiHoveredFlags_ForTooltip is equivalent to ImGuiHoveredFlags_DelayShort + ImGuiHoveredFlags_Stationary. ImGui::Button("Manual", sz); if (ImGui::IsItemHovered(ImGuiHoveredFlags_ForTooltip)) @@ -1055,7 +1122,7 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) ImGui::CheckboxFlags("ImGuiTreeNodeFlags_OpenOnDoubleClick", &base_flags, ImGuiTreeNodeFlags_OpenOnDoubleClick); ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanAvailWidth", &base_flags, ImGuiTreeNodeFlags_SpanAvailWidth); ImGui::SameLine(); HelpMarker("Extend hit area to all available width instead of allowing more items to be laid out after the node."); ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanFullWidth", &base_flags, ImGuiTreeNodeFlags_SpanFullWidth); - ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanTextWidth", &base_flags, ImGuiTreeNodeFlags_SpanTextWidth); ImGui::SameLine(); HelpMarker("Reduce hit area to the text label and a bit of margin."); + ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanLabelWidth", &base_flags, ImGuiTreeNodeFlags_SpanLabelWidth); ImGui::SameLine(); HelpMarker("Reduce hit area to the text label and a bit of margin."); ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanAllColumns", &base_flags, ImGuiTreeNodeFlags_SpanAllColumns); ImGui::SameLine(); HelpMarker("For use in Tables only."); ImGui::CheckboxFlags("ImGuiTreeNodeFlags_AllowOverlap", &base_flags, ImGuiTreeNodeFlags_AllowOverlap); ImGui::CheckboxFlags("ImGuiTreeNodeFlags_Framed", &base_flags, ImGuiTreeNodeFlags_Framed); ImGui::SameLine(); HelpMarker("Draw frame with background (e.g. for CollapsingHeader)"); @@ -1092,9 +1159,9 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) ImGui::Text("This is a drag and drop source"); ImGui::EndDragDropSource(); } - if (i == 2 && (base_flags & ImGuiTreeNodeFlags_SpanTextWidth)) + if (i == 2 && (base_flags & ImGuiTreeNodeFlags_SpanLabelWidth)) { - // Item 2 has an additional inline button to help demonstrate SpanTextWidth. + // Item 2 has an additional inline button to help demonstrate SpanLabelWidth. ImGui::SameLine(); if (ImGui::SmallButton("button")) {} } @@ -1775,6 +1842,16 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) ImGui::TreePop(); } + IMGUI_DEMO_MARKER("Widgets/Text Input/Eliding, Alignment"); + if (ImGui::TreeNode("Eliding, Alignment")) + { + static char buf1[128] = "/path/to/some/folder/with/long/filename.cpp"; + static ImGuiInputTextFlags flags = ImGuiInputTextFlags_ElideLeft; + ImGui::CheckboxFlags("ImGuiInputTextFlags_ElideLeft", &flags, ImGuiInputTextFlags_ElideLeft); + ImGui::InputText("Path", buf1, IM_ARRAYSIZE(buf1), flags); + ImGui::TreePop(); + } + IMGUI_DEMO_MARKER("Widgets/Text Input/Miscellaneous"); if (ImGui::TreeNode("Miscellaneous")) { @@ -1996,8 +2073,12 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) ImGui::SameLine(); ImGui::SliderInt("Sample count", &display_count, 1, 400); float (*func)(void*, int) = (func_type == 0) ? Funcs::Sin : Funcs::Saw; - ImGui::PlotLines("Lines", func, NULL, display_count, 0, NULL, -1.0f, 1.0f, ImVec2(0, 80)); - ImGui::PlotHistogram("Histogram", func, NULL, display_count, 0, NULL, -1.0f, 1.0f, ImVec2(0, 80)); + ImGui::PlotLines("Lines##2", func, NULL, display_count, 0, NULL, -1.0f, 1.0f, ImVec2(0, 80)); + ImGui::PlotHistogram("Histogram##2", func, NULL, display_count, 0, NULL, -1.0f, 1.0f, ImVec2(0, 80)); + ImGui::Separator(); + + ImGui::Text("Need better plotting and graphing? Consider using ImPlot:"); + ImGui::TextLinkOpenURL("https://github.com/epezent/implot"); ImGui::Separator(); ImGui::TreePop(); @@ -2231,13 +2312,18 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) // Demonstrate using advanced flags for DragXXX and SliderXXX functions. Note that the flags are the same! static ImGuiSliderFlags flags = ImGuiSliderFlags_None; ImGui::CheckboxFlags("ImGuiSliderFlags_AlwaysClamp", &flags, ImGuiSliderFlags_AlwaysClamp); - ImGui::SameLine(); HelpMarker("Always clamp value to min/max bounds (if any) when input manually with CTRL+Click."); + ImGui::CheckboxFlags("ImGuiSliderFlags_ClampOnInput", &flags, ImGuiSliderFlags_ClampOnInput); + ImGui::SameLine(); HelpMarker("Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds."); + ImGui::CheckboxFlags("ImGuiSliderFlags_ClampZeroRange", &flags, ImGuiSliderFlags_ClampZeroRange); + ImGui::SameLine(); HelpMarker("Clamp even if min==max==0.0f. Otherwise DragXXX functions don't clamp."); ImGui::CheckboxFlags("ImGuiSliderFlags_Logarithmic", &flags, ImGuiSliderFlags_Logarithmic); ImGui::SameLine(); HelpMarker("Enable logarithmic editing (more precision for small values)."); ImGui::CheckboxFlags("ImGuiSliderFlags_NoRoundToFormat", &flags, ImGuiSliderFlags_NoRoundToFormat); ImGui::SameLine(); HelpMarker("Disable rounding underlying value to match precision of the format string (e.g. %.3f values are rounded to those 3 digits)."); ImGui::CheckboxFlags("ImGuiSliderFlags_NoInput", &flags, ImGuiSliderFlags_NoInput); ImGui::SameLine(); HelpMarker("Disable CTRL+Click or Enter key allowing to input text directly into the widget."); + ImGui::CheckboxFlags("ImGuiSliderFlags_NoSpeedTweaks", &flags, ImGuiSliderFlags_NoSpeedTweaks); + ImGui::SameLine(); HelpMarker("Disable keyboard modifiers altering tweak speed. Useful if you want to alter tweak speed yourself based on your own logic."); ImGui::CheckboxFlags("ImGuiSliderFlags_WrapAround", &flags, ImGuiSliderFlags_WrapAround); ImGui::SameLine(); HelpMarker("Enable wrapping around from max to min and from min to max (only supported by DragXXX() functions)"); @@ -2249,6 +2335,8 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) ImGui::DragFloat("DragFloat (0 -> +inf)", &drag_f, 0.005f, 0.0f, FLT_MAX, "%.3f", flags); ImGui::DragFloat("DragFloat (-inf -> 1)", &drag_f, 0.005f, -FLT_MAX, 1.0f, "%.3f", flags); ImGui::DragFloat("DragFloat (-inf -> +inf)", &drag_f, 0.005f, -FLT_MAX, +FLT_MAX, "%.3f", flags); + //ImGui::DragFloat("DragFloat (0 -> 0)", &drag_f, 0.005f, 0.0f, 0.0f, "%.3f", flags); // To test ClampZeroRange + //ImGui::DragFloat("DragFloat (100 -> 100)", &drag_f, 0.005f, 100.0f, 100.0f, "%.3f", flags); ImGui::DragInt("DragInt (0 -> 100)", &drag_i, 0.5f, 0, 100, "%d", flags); // Sliders @@ -2588,6 +2676,11 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) IMGUI_DEMO_MARKER("Widgets/Drag and Drop/Drag to reorder items (simple)"); if (ImGui::TreeNode("Drag to reorder items (simple)")) { + // FIXME: there is temporary (usually single-frame) ID Conflict during reordering as a same item may be submitting twice. + // This code was always slightly faulty but in a way which was not easily noticeable. + // Until we fix this, enable ImGuiItemFlags_AllowDuplicateId to disable detecting the issue. + ImGui::PushItemFlag(ImGuiItemFlags_AllowDuplicateId, true); + // Simple reordering HelpMarker( "We don't use the drag and drop api at all here! " @@ -2609,6 +2702,8 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) } } } + + ImGui::PopItemFlag(); ImGui::TreePop(); } @@ -2761,7 +2856,7 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) static bool embed_all_inside_a_child_window = false; ImGui::Checkbox("Embed everything inside a child window for testing _RootWindow flag.", &embed_all_inside_a_child_window); if (embed_all_inside_a_child_window) - ImGui::BeginChild("outer_child", ImVec2(0, ImGui::GetFontSize() * 20.0f), ImGuiChildFlags_Border); + ImGui::BeginChild("outer_child", ImVec2(0, ImGui::GetFontSize() * 20.0f), ImGuiChildFlags_Borders); // Testing IsWindowFocused() function with its various flags. ImGui::BulletText( @@ -2809,7 +2904,7 @@ static void ShowDemoWindowWidgets(ImGuiDemoWindowData* demo_data) ImGui::IsWindowHovered(ImGuiHoveredFlags_AnyWindow), ImGui::IsWindowHovered(ImGuiHoveredFlags_Stationary)); - ImGui::BeginChild("child", ImVec2(0, 50), ImGuiChildFlags_Border); + ImGui::BeginChild("child", ImVec2(0, 50), ImGuiChildFlags_Borders); ImGui::Text("This is another child window for testing the _ChildWindows flag."); ImGui::EndChild(); if (embed_all_inside_a_child_window) @@ -3374,7 +3469,7 @@ static void ShowDemoWindowMultiSelect(ImGuiDemoWindowData* demo_data) ImGui::CheckboxFlags("ImGuiMultiSelectFlags_NoAutoClear", &flags, ImGuiMultiSelectFlags_NoAutoClear); ImGui::CheckboxFlags("ImGuiMultiSelectFlags_BoxSelect2d", &flags, ImGuiMultiSelectFlags_BoxSelect2d); // Cannot use ImGuiMultiSelectFlags_BoxSelect1d as checkboxes are varying width. - if (ImGui::BeginChild("##Basket", ImVec2(-FLT_MIN, ImGui::GetFontSize() * 20), ImGuiChildFlags_Border | ImGuiChildFlags_ResizeY)) + if (ImGui::BeginChild("##Basket", ImVec2(-FLT_MIN, ImGui::GetFontSize() * 20), ImGuiChildFlags_Borders | ImGuiChildFlags_ResizeY)) { ImGuiMultiSelectIO* ms_io = ImGui::BeginMultiSelect(flags, -1, IM_ARRAYSIZE(items)); ImGuiSelectionExternalStorage storage_wrapper; @@ -3676,7 +3771,7 @@ static void ShowDemoWindowMultiSelect(ImGuiDemoWindowData* demo_data) { ImVec2 color_button_sz(ImGui::GetFontSize(), ImGui::GetFontSize()); if (widget_type == WidgetType_TreeNode) - ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(ImGui::GetStyle().ItemSpacing.x, 0.0f)); + ImGui::PushStyleVarY(ImGuiStyleVar_ItemSpacing, 0.0f); ImGuiMultiSelectIO* ms_io = ImGui::BeginMultiSelect(flags, selection.Size, items.Size); selection.ApplyRequests(ms_io); @@ -3692,7 +3787,7 @@ static void ShowDemoWindowMultiSelect(ImGuiDemoWindowData* demo_data) ImGui::BeginTable("##Split", 2, ImGuiTableFlags_Resizable | ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_NoPadOuterX); ImGui::TableSetupColumn("", ImGuiTableColumnFlags_WidthStretch, 0.70f); ImGui::TableSetupColumn("", ImGuiTableColumnFlags_WidthStretch, 0.30f); - //ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(ImGui::GetStyle().ItemSpacing.x, 0.0f)); + //ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacingY, 0.0f); } ImGuiListClipper clipper; @@ -3880,7 +3975,7 @@ static void ShowDemoWindowLayout() if (!disable_menu) window_flags |= ImGuiWindowFlags_MenuBar; ImGui::PushStyleVar(ImGuiStyleVar_ChildRounding, 5.0f); - ImGui::BeginChild("ChildR", ImVec2(0, 260), ImGuiChildFlags_Border, window_flags); + ImGui::BeginChild("ChildR", ImVec2(0, 260), ImGuiChildFlags_Borders, window_flags); if (!disable_menu && ImGui::BeginMenuBar()) { if (ImGui::BeginMenu("Menu")) @@ -3909,8 +4004,11 @@ static void ShowDemoWindowLayout() ImGui::SeparatorText("Manual-resize"); { HelpMarker("Drag bottom border to resize. Double-click bottom border to auto-fit to vertical contents."); + //if (ImGui::Button("Set Height to 200")) + // ImGui::SetNextWindowSize(ImVec2(-FLT_MIN, 200.0f)); + ImGui::PushStyleColor(ImGuiCol_ChildBg, ImGui::GetStyleColorVec4(ImGuiCol_FrameBg)); - if (ImGui::BeginChild("ResizableChild", ImVec2(-FLT_MIN, ImGui::GetTextLineHeightWithSpacing() * 8), ImGuiChildFlags_Border | ImGuiChildFlags_ResizeY)) + if (ImGui::BeginChild("ResizableChild", ImVec2(-FLT_MIN, ImGui::GetTextLineHeightWithSpacing() * 8), ImGuiChildFlags_Borders | ImGuiChildFlags_ResizeY)) for (int n = 0; n < 10; n++) ImGui::Text("Line %04d", n); ImGui::PopStyleColor(); @@ -3928,7 +4026,7 @@ static void ShowDemoWindowLayout() ImGui::DragInt("Max Height (in Lines)", &max_height_in_lines, 0.2f); ImGui::SetNextWindowSizeConstraints(ImVec2(0.0f, ImGui::GetTextLineHeightWithSpacing() * 1), ImVec2(FLT_MAX, ImGui::GetTextLineHeightWithSpacing() * max_height_in_lines)); - if (ImGui::BeginChild("ConstrainedChild", ImVec2(-FLT_MIN, 0.0f), ImGuiChildFlags_Border | ImGuiChildFlags_AutoResizeY)) + if (ImGui::BeginChild("ConstrainedChild", ImVec2(-FLT_MIN, 0.0f), ImGuiChildFlags_Borders | ImGuiChildFlags_AutoResizeY)) for (int n = 0; n < draw_lines; n++) ImGui::Text("Line %04d", n); ImGui::EndChild(); @@ -3946,11 +4044,11 @@ static void ShowDemoWindowLayout() { static int offset_x = 0; static bool override_bg_color = true; - static ImGuiChildFlags child_flags = ImGuiChildFlags_Border | ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY; + static ImGuiChildFlags child_flags = ImGuiChildFlags_Borders | ImGuiChildFlags_ResizeX | ImGuiChildFlags_ResizeY; ImGui::SetNextItemWidth(ImGui::GetFontSize() * 8); ImGui::DragInt("Offset X", &offset_x, 1.0f, -1000, 1000); ImGui::Checkbox("Override ChildBg color", &override_bg_color); - ImGui::CheckboxFlags("ImGuiChildFlags_Border", &child_flags, ImGuiChildFlags_Border); + ImGui::CheckboxFlags("ImGuiChildFlags_Borders", &child_flags, ImGuiChildFlags_Borders); ImGui::CheckboxFlags("ImGuiChildFlags_AlwaysUseWindowPadding", &child_flags, ImGuiChildFlags_AlwaysUseWindowPadding); ImGui::CheckboxFlags("ImGuiChildFlags_ResizeX", &child_flags, ImGuiChildFlags_ResizeX); ImGui::CheckboxFlags("ImGuiChildFlags_ResizeY", &child_flags, ImGuiChildFlags_ResizeY); @@ -4217,7 +4315,7 @@ static void ShowDemoWindowLayout() // down by FramePadding.y ahead of time) ImGui::AlignTextToFramePadding(); ImGui::Text("OK Blahblah"); ImGui::SameLine(); - ImGui::Button("Some framed item"); ImGui::SameLine(); + ImGui::Button("Some framed item##2"); ImGui::SameLine(); HelpMarker("We call AlignTextToFramePadding() to vertically align the text baseline by +FramePadding.y"); // SmallButton() uses the same vertical padding as Text @@ -4360,7 +4458,7 @@ static void ShowDemoWindowLayout() const ImGuiWindowFlags child_flags = enable_extra_decorations ? ImGuiWindowFlags_MenuBar : 0; const ImGuiID child_id = ImGui::GetID((void*)(intptr_t)i); - const bool child_is_visible = ImGui::BeginChild(child_id, ImVec2(child_w, 200.0f), ImGuiChildFlags_Border, child_flags); + const bool child_is_visible = ImGui::BeginChild(child_id, ImVec2(child_w, 200.0f), ImGuiChildFlags_Borders, child_flags); if (ImGui::BeginMenuBar()) { ImGui::TextUnformatted("abc"); @@ -4407,7 +4505,7 @@ static void ShowDemoWindowLayout() float child_height = ImGui::GetTextLineHeight() + style.ScrollbarSize + style.WindowPadding.y * 2.0f; ImGuiWindowFlags child_flags = ImGuiWindowFlags_HorizontalScrollbar | (enable_extra_decorations ? ImGuiWindowFlags_AlwaysVerticalScrollbar : 0); ImGuiID child_id = ImGui::GetID((void*)(intptr_t)i); - bool child_is_visible = ImGui::BeginChild(child_id, ImVec2(-100, child_height), ImGuiChildFlags_Border, child_flags); + bool child_is_visible = ImGui::BeginChild(child_id, ImVec2(-100, child_height), ImGuiChildFlags_Borders, child_flags); if (scroll_to_off) ImGui::SetScrollX(scroll_to_off_px); if (scroll_to_pos) @@ -4449,7 +4547,7 @@ static void ShowDemoWindowLayout() ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, 3.0f); ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(2.0f, 1.0f)); ImVec2 scrolling_child_size = ImVec2(0, ImGui::GetFrameHeightWithSpacing() * 7 + 30); - ImGui::BeginChild("scrolling", scrolling_child_size, ImGuiChildFlags_Border, ImGuiWindowFlags_HorizontalScrollbar); + ImGui::BeginChild("scrolling", scrolling_child_size, ImGuiChildFlags_Borders, ImGuiWindowFlags_HorizontalScrollbar); for (int line = 0; line < lines; line++) { // Display random stuff. For the sake of this trivial demo we are using basic Button() + SameLine() @@ -4595,7 +4693,7 @@ static void ShowDemoWindowLayout() } if (show_child) { - ImGui::BeginChild("child", ImVec2(0, 0), ImGuiChildFlags_Border); + ImGui::BeginChild("child", ImVec2(0, 0), ImGuiChildFlags_Borders); ImGui::EndChild(); } ImGui::End(); @@ -5081,8 +5179,8 @@ const ImGuiTableSortSpecs* MyItem::s_current_sort_specs = NULL; static void PushStyleCompact() { ImGuiStyle& style = ImGui::GetStyle(); - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(style.FramePadding.x, (float)(int)(style.FramePadding.y * 0.60f))); - ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(style.ItemSpacing.x, (float)(int)(style.ItemSpacing.y * 0.60f))); + ImGui::PushStyleVarY(ImGuiStyleVar_FramePadding, (float)(int)(style.FramePadding.y * 0.60f)); + ImGui::PushStyleVarY(ImGuiStyleVar_ItemSpacing, (float)(int)(style.ItemSpacing.y * 0.60f)); } static void PopStyleCompact() @@ -6116,7 +6214,7 @@ static void ShowDemoWindowTables() for (int row = 0; row < 8; row++) { if ((row % 3) == 2) - ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, ImVec2(style.CellPadding.x, 20.0f)); + ImGui::PushStyleVarY(ImGuiStyleVar_CellPadding, 20.0f); ImGui::TableNextRow(ImGuiTableRowFlags_None); ImGui::TableNextColumn(); ImGui::Text("CellPadding.y = %.2f", style.CellPadding.y); @@ -6259,15 +6357,17 @@ static void ShowDemoWindowTables() IMGUI_DEMO_MARKER("Tables/Tree view"); if (ImGui::TreeNode("Tree view")) { - static ImGuiTableFlags flags = ImGuiTableFlags_BordersV | ImGuiTableFlags_BordersOuterH | ImGuiTableFlags_Resizable | ImGuiTableFlags_RowBg | ImGuiTableFlags_NoBordersInBody; + static ImGuiTableFlags table_flags = ImGuiTableFlags_BordersV | ImGuiTableFlags_BordersOuterH | ImGuiTableFlags_Resizable | ImGuiTableFlags_RowBg | ImGuiTableFlags_NoBordersInBody; - static ImGuiTreeNodeFlags tree_node_flags = ImGuiTreeNodeFlags_SpanAllColumns; - ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanFullWidth", &tree_node_flags, ImGuiTreeNodeFlags_SpanFullWidth); - ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanTextWidth", &tree_node_flags, ImGuiTreeNodeFlags_SpanTextWidth); - ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanAllColumns", &tree_node_flags, ImGuiTreeNodeFlags_SpanAllColumns); + static ImGuiTreeNodeFlags tree_node_flags_base = ImGuiTreeNodeFlags_SpanAllColumns; + ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanFullWidth", &tree_node_flags_base, ImGuiTreeNodeFlags_SpanFullWidth); + ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanLabelWidth", &tree_node_flags_base, ImGuiTreeNodeFlags_SpanLabelWidth); + ImGui::CheckboxFlags("ImGuiTreeNodeFlags_SpanAllColumns", &tree_node_flags_base, ImGuiTreeNodeFlags_SpanAllColumns); + ImGui::CheckboxFlags("ImGuiTreeNodeFlags_LabelSpanAllColumns", &tree_node_flags_base, ImGuiTreeNodeFlags_LabelSpanAllColumns); + ImGui::SameLine(); HelpMarker("Useful if you know that you aren't displaying contents in other columns"); HelpMarker("See \"Columns flags\" section to configure how indentation is applied to individual columns."); - if (ImGui::BeginTable("3ways", 3, flags)) + if (ImGui::BeginTable("3ways", 3, table_flags)) { // The first column will use the default _WidthStretch when ScrollX is Off and _WidthFixed when ScrollX is On ImGui::TableSetupColumn("Name", ImGuiTableColumnFlags_NoHide); @@ -6288,13 +6388,21 @@ static void ShowDemoWindowTables() ImGui::TableNextRow(); ImGui::TableNextColumn(); const bool is_folder = (node->ChildCount > 0); + + ImGuiTreeNodeFlags node_flags = tree_node_flags_base; + if (node != &all_nodes[0]) + node_flags &= ~ImGuiTreeNodeFlags_LabelSpanAllColumns; // Only demonstrate this on the root node. + if (is_folder) { - bool open = ImGui::TreeNodeEx(node->Name, tree_node_flags); - ImGui::TableNextColumn(); - ImGui::TextDisabled("--"); - ImGui::TableNextColumn(); - ImGui::TextUnformatted(node->Type); + bool open = ImGui::TreeNodeEx(node->Name, node_flags); + if ((node_flags & ImGuiTreeNodeFlags_LabelSpanAllColumns) == 0) + { + ImGui::TableNextColumn(); + ImGui::TextDisabled("--"); + ImGui::TableNextColumn(); + ImGui::TextUnformatted(node->Type); + } if (open) { for (int child_n = 0; child_n < node->ChildCount; child_n++) @@ -6304,7 +6412,7 @@ static void ShowDemoWindowTables() } else { - ImGui::TreeNodeEx(node->Name, tree_node_flags | ImGuiTreeNodeFlags_Leaf | ImGuiTreeNodeFlags_Bullet | ImGuiTreeNodeFlags_NoTreePushOnOpen); + ImGui::TreeNodeEx(node->Name, node_flags | ImGuiTreeNodeFlags_Leaf | ImGuiTreeNodeFlags_Bullet | ImGuiTreeNodeFlags_NoTreePushOnOpen); ImGui::TableNextColumn(); ImGui::Text("%d", node->Size); ImGui::TableNextColumn(); @@ -6314,7 +6422,7 @@ static void ShowDemoWindowTables() }; static const MyTreeNode nodes[] = { - { "Root", "Folder", -1, 1, 3 }, // 0 + { "Root with Long Name", "Folder", -1, 1, 3 }, // 0 { "Music", "Folder", -1, 4, 2 }, // 1 { "Textures", "Folder", -1, 6, 3 }, // 2 { "desktop.ini", "System file", 1024, -1,-1 }, // 3 @@ -6395,7 +6503,11 @@ static void ShowDemoWindowTables() // FIXME: It would be nice to actually demonstrate full-featured selection using those checkbox. static bool column_selected[3] = {}; - // Instead of calling TableHeadersRow() we'll submit custom headers ourselves + // Instead of calling TableHeadersRow() we'll submit custom headers ourselves. + // (A different approach is also possible: + // - Specify ImGuiTableColumnFlags_NoHeaderLabel in some TableSetupColumn() call. + // - Call TableHeadersRow() normally. This will submit TableHeader() with no name. + // - Then call TableSetColumnIndex() to position yourself in the column and submit your stuff e.g. Checkbox().) ImGui::TableNextRow(ImGuiTableRowFlags_Headers); for (int column = 0; column < COLUMNS_COUNT; column++) { @@ -6410,6 +6522,7 @@ static void ShowDemoWindowTables() ImGui::PopID(); } + // Submit table contents for (int row = 0; row < 5; row++) { ImGui::TableNextRow(); @@ -6444,6 +6557,7 @@ static void ShowDemoWindowTables() ImGui::CheckboxFlags("_ScrollX", &table_flags, ImGuiTableFlags_ScrollX); ImGui::CheckboxFlags("_ScrollY", &table_flags, ImGuiTableFlags_ScrollY); ImGui::CheckboxFlags("_Resizable", &table_flags, ImGuiTableFlags_Resizable); + ImGui::CheckboxFlags("_Sortable", &table_flags, ImGuiTableFlags_Sortable); ImGui::CheckboxFlags("_NoBordersInBody", &table_flags, ImGuiTableFlags_NoBordersInBody); ImGui::CheckboxFlags("_HighlightHoveredColumn", &table_flags, ImGuiTableFlags_HighlightHoveredColumn); ImGui::SetNextItemWidth(ImGui::GetFontSize() * 8); @@ -7134,12 +7248,14 @@ static void ShowDemoWindowColumns() { if (h_borders && ImGui::GetColumnIndex() == 0) ImGui::Separator(); + ImGui::PushID(i); ImGui::Text("%c%c%c", 'a' + i, 'a' + i, 'a' + i); ImGui::Text("Width %.2f", ImGui::GetColumnWidth()); ImGui::Text("Avail %.2f", ImGui::GetContentRegionAvail().x); ImGui::Text("Offset %.2f", ImGui::GetColumnOffset()); ImGui::Text("Long text that is likely to clip"); ImGui::Button("Button", ImVec2(-FLT_MIN, 0.0f)); + ImGui::PopID(); ImGui::NextColumn(); } ImGui::Columns(1); @@ -7297,13 +7413,8 @@ static void ShowDemoWindowInputs() // displaying the data for old/new backends. // User code should never have to go through such hoops! // You can generally iterate between ImGuiKey_NamedKey_BEGIN and ImGuiKey_NamedKey_END. -#ifdef IMGUI_DISABLE_OBSOLETE_KEYIO struct funcs { static bool IsLegacyNativeDupe(ImGuiKey) { return false; } }; ImGuiKey start_key = ImGuiKey_NamedKey_BEGIN; -#else - struct funcs { static bool IsLegacyNativeDupe(ImGuiKey key) { return key >= 0 && key < 512 && ImGui::GetIO().KeyMap[key] != -1; } }; // Hide Native<>ImGuiKey duplicates when both exists in the array - ImGuiKey start_key = (ImGuiKey)0; -#endif ImGui::Text("Keys down:"); for (ImGuiKey key = start_key; key < ImGuiKey_NamedKey_END; key = (ImGuiKey)(key + 1)) { if (funcs::IsLegacyNativeDupe(key) || !ImGui::IsKeyDown(key)) continue; ImGui::SameLine(); ImGui::Text((key < ImGuiKey_NamedKey_BEGIN) ? "\"%s\"" : "\"%s\" %d", ImGui::GetKeyName(key), key); } ImGui::Text("Keys mods: %s%s%s%s", io.KeyCtrl ? "CTRL " : "", io.KeyShift ? "SHIFT " : "", io.KeyAlt ? "ALT " : "", io.KeySuper ? "SUPER " : ""); ImGui::Text("Chars queue:"); for (int i = 0; i < io.InputQueueCharacters.Size; i++) { ImWchar c = io.InputQueueCharacters[i]; ImGui::SameLine(); ImGui::Text("\'%c\' (0x%04X)", (c > ' ' && c <= 255) ? (char)c : '?', c); } // FIXME: We should convert 'c' to UTF-8 here but the functions are not public. @@ -7462,7 +7573,8 @@ static void ShowDemoWindowInputs() IM_ASSERT(IM_ARRAYSIZE(mouse_cursors_names) == ImGuiMouseCursor_COUNT); ImGuiMouseCursor current = ImGui::GetMouseCursor(); - ImGui::Text("Current mouse cursor = %d: %s", current, mouse_cursors_names[current]); + const char* cursor_name = (current >= ImGuiMouseCursor_Arrow) && (current < ImGuiMouseCursor_COUNT) ? mouse_cursors_names[current] : "N/A"; + ImGui::Text("Current mouse cursor = %d: %s", current, cursor_name); ImGui::BeginDisabled(true); ImGui::CheckboxFlags("io.BackendFlags: HasMouseCursors", &io.BackendFlags, ImGuiBackendFlags_HasMouseCursors); ImGui::EndDisabled(); @@ -7598,7 +7710,8 @@ void ImGui::ShowAboutWindow(bool* p_open) ImGui::TextLinkOpenURL("Funding", "https://github.com/ocornut/imgui/wiki/Funding"); ImGui::Separator(); - ImGui::Text("By Omar Cornut and all Dear ImGui contributors."); + ImGui::Text("(c) 2014-2025 Omar Cornut"); + ImGui::Text("Developed by Omar Cornut and all Dear ImGui contributors."); ImGui::Text("Dear ImGui is licensed under the MIT License, see LICENSE for more information."); ImGui::Text("If your company uses this, please consider funding the project."); @@ -7625,9 +7738,6 @@ void ImGui::ShowAboutWindow(bool* p_open) #ifdef IMGUI_DISABLE_OBSOLETE_FUNCTIONS ImGui::Text("define: IMGUI_DISABLE_OBSOLETE_FUNCTIONS"); #endif -#ifdef IMGUI_DISABLE_OBSOLETE_KEYIO - ImGui::Text("define: IMGUI_DISABLE_OBSOLETE_KEYIO"); -#endif #ifdef IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS ImGui::Text("define: IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS"); #endif @@ -7687,6 +7797,7 @@ void ImGui::ShowAboutWindow(bool* p_open) #endif #ifdef __EMSCRIPTEN__ ImGui::Text("define: __EMSCRIPTEN__"); + ImGui::Text("Emscripten: %d.%d.%d", __EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__); #endif ImGui::Separator(); ImGui::Text("io.BackendPlatformName: %s", io.BackendPlatformName ? io.BackendPlatformName : "NULL"); @@ -7694,12 +7805,13 @@ void ImGui::ShowAboutWindow(bool* p_open) ImGui::Text("io.ConfigFlags: 0x%08X", io.ConfigFlags); if (io.ConfigFlags & ImGuiConfigFlags_NavEnableKeyboard) ImGui::Text(" NavEnableKeyboard"); if (io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad) ImGui::Text(" NavEnableGamepad"); - if (io.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) ImGui::Text(" NavEnableSetMousePos"); - if (io.ConfigFlags & ImGuiConfigFlags_NavNoCaptureKeyboard) ImGui::Text(" NavNoCaptureKeyboard"); if (io.ConfigFlags & ImGuiConfigFlags_NoMouse) ImGui::Text(" NoMouse"); if (io.ConfigFlags & ImGuiConfigFlags_NoMouseCursorChange) ImGui::Text(" NoMouseCursorChange"); + if (io.ConfigFlags & ImGuiConfigFlags_NoKeyboard) ImGui::Text(" NoKeyboard"); if (io.MouseDrawCursor) ImGui::Text("io.MouseDrawCursor"); if (io.ConfigMacOSXBehaviors) ImGui::Text("io.ConfigMacOSXBehaviors"); + if (io.ConfigNavMoveSetMousePos) ImGui::Text("io.ConfigNavMoveSetMousePos"); + if (io.ConfigNavCaptureKeyboard) ImGui::Text("io.ConfigNavCaptureKeyboard"); if (io.ConfigInputTextCursorBlink) ImGui::Text("io.ConfigInputTextCursorBlink"); if (io.ConfigWindowsResizeFromEdges) ImGui::Text("io.ConfigWindowsResizeFromEdges"); if (io.ConfigWindowsMoveFromTitleBarOnly) ImGui::Text("io.ConfigWindowsMoveFromTitleBarOnly"); @@ -7756,6 +7868,8 @@ void ImGui::ShowFontSelector(const char* label) ImGui::PushID((void*)font); if (ImGui::Selectable(font->GetDebugName(), font == font_current)) io.FontDefault = font; + if (font == font_current) + ImGui::SetItemDefaultFocus(); ImGui::PopID(); } ImGui::EndCombo(); @@ -7941,7 +8055,7 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref) "Right-click to open edit options menu."); ImGui::SetNextWindowSizeConstraints(ImVec2(0.0f, ImGui::GetTextLineHeightWithSpacing() * 10), ImVec2(FLT_MAX, FLT_MAX)); - ImGui::BeginChild("##colors", ImVec2(0, 0), ImGuiChildFlags_Border | ImGuiChildFlags_NavFlattened, ImGuiWindowFlags_AlwaysVerticalScrollbar | ImGuiWindowFlags_AlwaysHorizontalScrollbar); + ImGui::BeginChild("##colors", ImVec2(0, 0), ImGuiChildFlags_Borders | ImGuiChildFlags_NavFlattened, ImGuiWindowFlags_AlwaysVerticalScrollbar | ImGuiWindowFlags_AlwaysHorizontalScrollbar); ImGui::PushItemWidth(ImGui::GetFontSize() * -12); for (int i = 0; i < ImGuiCol_COUNT; i++) { @@ -8175,7 +8289,7 @@ static void ShowExampleMenuFile() { static bool enabled = true; ImGui::MenuItem("Enabled", "", &enabled); - ImGui::BeginChild("child", ImVec2(0, 60), ImGuiChildFlags_Border); + ImGui::BeginChild("child", ImVec2(0, 60), ImGuiChildFlags_Borders); for (int i = 0; i < 10; i++) ImGui::Text("Scrolling Text %d", i); ImGui::EndChild(); @@ -8772,7 +8886,7 @@ static void ShowExampleAppLayout(bool* p_open) // Left static int selected = 0; { - ImGui::BeginChild("left pane", ImVec2(150, 0), ImGuiChildFlags_Border | ImGuiChildFlags_ResizeX); + ImGui::BeginChild("left pane", ImVec2(150, 0), ImGuiChildFlags_Borders | ImGuiChildFlags_ResizeX); for (int i = 0; i < 100; i++) { // FIXME: Good candidate to use ImGuiSelectableFlags_SelectOnNav @@ -8833,7 +8947,7 @@ struct ExampleAppPropertyEditor { // Left side: draw tree // - Currently using a table to benefit from RowBg feature - if (ImGui::BeginChild("##tree", ImVec2(300, 0), ImGuiChildFlags_ResizeX | ImGuiChildFlags_Border | ImGuiChildFlags_NavFlattened)) + if (ImGui::BeginChild("##tree", ImVec2(300, 0), ImGuiChildFlags_ResizeX | ImGuiChildFlags_Borders | ImGuiChildFlags_NavFlattened)) { ImGui::SetNextItemWidth(-FLT_MIN); ImGui::SetNextItemShortcut(ImGuiMod_Ctrl | ImGuiKey_F, ImGuiInputFlags_Tooltip); @@ -8863,6 +8977,8 @@ struct ExampleAppPropertyEditor ImGui::Separator(); if (ImGui::BeginTable("##properties", 2, ImGuiTableFlags_Resizable | ImGuiTableFlags_ScrollY)) { + // Push object ID after we entered the table, so table is shared for all objects + ImGui::PushID((int)node->UID); ImGui::TableSetupColumn("", ImGuiTableColumnFlags_WidthFixed); ImGui::TableSetupColumn("", ImGuiTableColumnFlags_WidthStretch, 2.0f); // Default twice larger if (node->HasData) @@ -8901,10 +9017,16 @@ struct ExampleAppPropertyEditor ImGui::SliderScalarN("##Editor", field_desc.DataType, field_ptr, field_desc.DataCount, &v_min, &v_max); break; } + case ImGuiDataType_String: + { + ImGui::InputText("##Editor", reinterpret_cast(field_ptr), 28); + break; + } } ImGui::PopID(); } } + ImGui::PopID(); ImGui::EndTable(); } } @@ -9447,7 +9569,7 @@ static void ShowExampleAppCustomRendering(bool* p_open) // To use a child window instead we could use, e.g: // ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0, 0)); // Disable padding // ImGui::PushStyleColor(ImGuiCol_ChildBg, IM_COL32(50, 50, 50, 255)); // Set a background color - // ImGui::BeginChild("canvas", ImVec2(0.0f, 0.0f), ImGuiChildFlags_Border, ImGuiWindowFlags_NoMove); + // ImGui::BeginChild("canvas", ImVec2(0.0f, 0.0f), ImGuiChildFlags_Borders, ImGuiWindowFlags_NoMove); // ImGui::PopStyleColor(); // ImGui::PopStyleVar(); // [...] @@ -10098,8 +10220,8 @@ struct ExampleAssetsBrowser } ImGuiIO& io = ImGui::GetIO(); - ImGui::SetNextWindowContentSize(ImVec2(0.0f, LayoutOuterPadding + LayoutLineCount * (LayoutItemSize.x + LayoutItemSpacing))); - if (ImGui::BeginChild("Assets", ImVec2(0.0f, -ImGui::GetTextLineHeightWithSpacing()), ImGuiChildFlags_Border, ImGuiWindowFlags_NoMove)) + ImGui::SetNextWindowContentSize(ImVec2(0.0f, LayoutOuterPadding + LayoutLineCount * (LayoutItemSize.y + LayoutItemSpacing))); + if (ImGui::BeginChild("Assets", ImVec2(0.0f, -ImGui::GetTextLineHeightWithSpacing()), ImGuiChildFlags_Borders, ImGuiWindowFlags_NoMove)) { ImDrawList* draw_list = ImGui::GetWindowDrawList(); @@ -10148,7 +10270,7 @@ struct ExampleAssetsBrowser // Rendering parameters const ImU32 icon_type_overlay_colors[3] = { 0, IM_COL32(200, 70, 70, 255), IM_COL32(70, 170, 70, 255) }; - const ImU32 icon_bg_color = ImGui::GetColorU32(ImGuiCol_MenuBarBg); + const ImU32 icon_bg_color = ImGui::GetColorU32(IM_COL32(35, 35, 35, 220)); const ImVec2 icon_type_overlay_size = ImVec2(4.0f, 4.0f); const bool display_label = (LayoutItemSize.x >= ImGui::CalcTextSize("999").x); @@ -10310,6 +10432,8 @@ void ImGui::ShowAboutWindow(bool*) {} void ImGui::ShowDemoWindow(bool*) {} void ImGui::ShowUserGuide() {} void ImGui::ShowStyleEditor(ImGuiStyle*) {} +bool ImGui::ShowStyleSelector(const char* label) { return false; } +void ImGui::ShowFontSelector(const char* label) {} #endif diff --git a/3rdparty/imgui/src/imgui_draw.cpp b/3rdparty/imgui/src/imgui_draw.cpp index 5e1538add5573..cc9b6066bc2ee 100644 --- a/3rdparty/imgui/src/imgui_draw.cpp +++ b/3rdparty/imgui/src/imgui_draw.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.91.0 +// dear imgui, v1.91.7 // (drawing and font code) /* @@ -14,7 +14,7 @@ Index of this file: // [SECTION] Helpers ShadeVertsXXX functions // [SECTION] ImFontConfig // [SECTION] ImFontAtlas -// [SECTION] ImFontAtlas glyph ranges helpers +// [SECTION] ImFontAtlas: glyph ranges helpers // [SECTION] ImFontGlyphRangesBuilder // [SECTION] ImFont // [SECTION] ImGui Internal Render Helpers @@ -66,13 +66,18 @@ Index of this file: #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" // warning: implicit conversion from 'xxx' to 'float' may lose precision #pragma clang diagnostic ignored "-Wreserved-identifier" // warning: identifier '_Xxx' is reserved because it starts with '_' followed by a capital letter #pragma clang diagnostic ignored "-Wunsafe-buffer-usage" // warning: 'xxx' is an unsafe pointer used for buffer access +#pragma clang diagnostic ignored "-Wnontrivial-memaccess" // warning: first argument in call to 'memset' is a pointer to non-trivially copyable type +#pragma clang diagnostic ignored "-Wcast-qual" // warning: cast from 'const xxxx *' to 'xxx *' drops const qualifier #elif defined(__GNUC__) -#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind -#pragma GCC diagnostic ignored "-Wunused-function" // warning: 'xxxx' defined but not used -#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function -#pragma GCC diagnostic ignored "-Wconversion" // warning: conversion to 'xxxx' from 'xxxx' may alter its value -#pragma GCC diagnostic ignored "-Wstack-protector" // warning: stack protector not protecting local variables: variable length buffer -#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind +#pragma GCC diagnostic ignored "-Wunused-function" // warning: 'xxxx' defined but not used +#pragma GCC diagnostic ignored "-Wfloat-equal" // warning: comparing floating-point with '==' or '!=' is unsafe +#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function +#pragma GCC diagnostic ignored "-Wconversion" // warning: conversion to 'xxxx' from 'xxxx' may alter its value +#pragma GCC diagnostic ignored "-Wstack-protector" // warning: stack protector not protecting local variables: variable length buffer +#pragma GCC diagnostic ignored "-Wstrict-overflow" // warning: assuming signed overflow does not occur when simplifying division / ..when changing X +- C1 cmp C2 to X cmp C2 -+ C1 +#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wcast-qual" // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers #endif //------------------------------------------------------------------------- @@ -101,16 +106,15 @@ namespace IMGUI_STB_NAMESPACE #if defined(__clang__) #pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunused-function" +#pragma clang diagnostic ignored "-Wunused-function" // warning: 'xxxx' defined but not used #pragma clang diagnostic ignored "-Wmissing-prototypes" #pragma clang diagnostic ignored "-Wimplicit-fallthrough" -#pragma clang diagnostic ignored "-Wcast-qual" // warning: cast from 'const xxxx *' to 'xxx *' drops const qualifier #endif #if defined(__GNUC__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wtype-limits" // warning: comparison is always true due to limited range of data type [-Wtype-limits] -#pragma GCC diagnostic ignored "-Wcast-qual" // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers +#pragma GCC diagnostic ignored "-Wimplicit-fallthrough" // warning: this statement may fall through #endif #ifndef STB_RECT_PACK_IMPLEMENTATION // in case the user already have an implementation in the _same_ compilation unit (e.g. unity builds) @@ -217,7 +221,7 @@ void ImGui::StyleColorsDark(ImGuiStyle* dst) colors[ImGuiCol_TabSelectedOverline] = colors[ImGuiCol_HeaderActive]; colors[ImGuiCol_TabDimmed] = ImLerp(colors[ImGuiCol_Tab], colors[ImGuiCol_TitleBg], 0.80f); colors[ImGuiCol_TabDimmedSelected] = ImLerp(colors[ImGuiCol_TabSelected], colors[ImGuiCol_TitleBg], 0.40f); - colors[ImGuiCol_TabDimmedSelectedOverline] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f); + colors[ImGuiCol_TabDimmedSelectedOverline] = ImVec4(0.50f, 0.50f, 0.50f, 0.00f); colors[ImGuiCol_PlotLines] = ImVec4(0.61f, 0.61f, 0.61f, 1.00f); colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00f, 0.43f, 0.35f, 1.00f); colors[ImGuiCol_PlotHistogram] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f); @@ -230,7 +234,7 @@ void ImGui::StyleColorsDark(ImGuiStyle* dst) colors[ImGuiCol_TextLink] = colors[ImGuiCol_HeaderActive]; colors[ImGuiCol_TextSelectedBg] = ImVec4(0.26f, 0.59f, 0.98f, 0.35f); colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f); - colors[ImGuiCol_NavHighlight] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); + colors[ImGuiCol_NavCursor] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.35f); @@ -280,7 +284,7 @@ void ImGui::StyleColorsClassic(ImGuiStyle* dst) colors[ImGuiCol_TabSelectedOverline] = colors[ImGuiCol_HeaderActive]; colors[ImGuiCol_TabDimmed] = ImLerp(colors[ImGuiCol_Tab], colors[ImGuiCol_TitleBg], 0.80f); colors[ImGuiCol_TabDimmedSelected] = ImLerp(colors[ImGuiCol_TabSelected], colors[ImGuiCol_TitleBg], 0.40f); - colors[ImGuiCol_TabDimmedSelectedOverline] = colors[ImGuiCol_HeaderActive]; + colors[ImGuiCol_TabDimmedSelectedOverline] = ImVec4(0.53f, 0.53f, 0.87f, 0.00f); colors[ImGuiCol_PlotLines] = ImVec4(1.00f, 1.00f, 1.00f, 1.00f); colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f); colors[ImGuiCol_PlotHistogram] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f); @@ -293,7 +297,7 @@ void ImGui::StyleColorsClassic(ImGuiStyle* dst) colors[ImGuiCol_TextLink] = colors[ImGuiCol_HeaderActive]; colors[ImGuiCol_TextSelectedBg] = ImVec4(0.00f, 0.00f, 1.00f, 0.35f); colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f); - colors[ImGuiCol_NavHighlight] = colors[ImGuiCol_HeaderHovered]; + colors[ImGuiCol_NavCursor] = colors[ImGuiCol_HeaderHovered]; colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.20f, 0.20f, 0.20f, 0.35f); @@ -344,7 +348,7 @@ void ImGui::StyleColorsLight(ImGuiStyle* dst) colors[ImGuiCol_TabSelectedOverline] = colors[ImGuiCol_HeaderActive]; colors[ImGuiCol_TabDimmed] = ImLerp(colors[ImGuiCol_Tab], colors[ImGuiCol_TitleBg], 0.80f); colors[ImGuiCol_TabDimmedSelected] = ImLerp(colors[ImGuiCol_TabSelected], colors[ImGuiCol_TitleBg], 0.40f); - colors[ImGuiCol_TabDimmedSelectedOverline] = ImVec4(0.26f, 0.59f, 1.00f, 1.00f); + colors[ImGuiCol_TabDimmedSelectedOverline] = ImVec4(0.26f, 0.59f, 1.00f, 0.00f); colors[ImGuiCol_PlotLines] = ImVec4(0.39f, 0.39f, 0.39f, 1.00f); colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00f, 0.43f, 0.35f, 1.00f); colors[ImGuiCol_PlotHistogram] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f); @@ -357,7 +361,7 @@ void ImGui::StyleColorsLight(ImGuiStyle* dst) colors[ImGuiCol_TextLink] = colors[ImGuiCol_HeaderActive]; colors[ImGuiCol_TextSelectedBg] = ImVec4(0.26f, 0.59f, 0.98f, 0.35f); colors[ImGuiCol_DragDropTarget] = ImVec4(0.26f, 0.59f, 0.98f, 0.95f); - colors[ImGuiCol_NavHighlight] = colors[ImGuiCol_HeaderHovered]; + colors[ImGuiCol_NavCursor] = colors[ImGuiCol_HeaderHovered]; colors[ImGuiCol_NavWindowingHighlight] = ImVec4(0.70f, 0.70f, 0.70f, 0.70f); colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.20f, 0.20f, 0.20f, 0.20f); colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.20f, 0.20f, 0.20f, 0.35f); @@ -393,6 +397,17 @@ void ImDrawListSharedData::SetCircleTessellationMaxError(float max_error) ArcFastRadiusCutoff = IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R(IM_DRAWLIST_ARCFAST_SAMPLE_MAX, CircleSegmentMaxError); } +ImDrawList::ImDrawList(ImDrawListSharedData* shared_data) +{ + memset(this, 0, sizeof(*this)); + _Data = shared_data; +} + +ImDrawList::~ImDrawList() +{ + _ClearFreeMemory(); +} + // Initialize before use in a new frame. We always have a command ready in the buffer. // In the majority of cases, you would want to call PushClipRect() and PushTextureID() after this. void ImDrawList::_ResetForNewFrame() @@ -414,6 +429,7 @@ void ImDrawList::_ResetForNewFrame() _IdxWritePtr = NULL; _ClipRectStack.resize(0); _TextureIdStack.resize(0); + _CallbacksDataBuf.resize(0); _Path.resize(0); _Splitter.Clear(); CmdBuffer.push_back(ImDrawCmd()); @@ -431,6 +447,7 @@ void ImDrawList::_ClearFreeMemory() _IdxWritePtr = NULL; _ClipRectStack.clear(); _TextureIdStack.clear(); + _CallbacksDataBuf.clear(); _Path.clear(); _Splitter.ClearFreeMemory(); } @@ -470,7 +487,7 @@ void ImDrawList::_PopUnusedDrawCmd() } } -void ImDrawList::AddCallback(ImDrawCallback callback, void* callback_data) +void ImDrawList::AddCallback(ImDrawCallback callback, void* userdata, size_t userdata_size) { IM_ASSERT_PARANOID(CmdBuffer.Size > 0); ImDrawCmd* curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1]; @@ -480,8 +497,26 @@ void ImDrawList::AddCallback(ImDrawCallback callback, void* callback_data) AddDrawCmd(); curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1]; } + curr_cmd->UserCallback = callback; - curr_cmd->UserCallbackData = callback_data; + if (userdata_size == 0) + { + // Store user data directly in command (no indirection) + curr_cmd->UserCallbackData = userdata; + curr_cmd->UserCallbackDataSize = 0; + curr_cmd->UserCallbackDataOffset = -1; + } + else + { + // Copy and store user data in a buffer + IM_ASSERT(userdata != NULL); + IM_ASSERT(userdata_size < (1u << 31)); + curr_cmd->UserCallbackData = NULL; // Will be resolved during Render() + curr_cmd->UserCallbackDataSize = (int)userdata_size; + curr_cmd->UserCallbackDataOffset = _CallbacksDataBuf.Size; + _CallbacksDataBuf.resize(_CallbacksDataBuf.Size + (int)userdata_size); + memcpy(_CallbacksDataBuf.Data + (size_t)curr_cmd->UserCallbackDataOffset, userdata, userdata_size); + } AddDrawCmd(); // Force a new command after us (see comment below) } @@ -526,7 +561,6 @@ void ImDrawList::_OnChangedClipRect() CmdBuffer.pop_back(); return; } - curr_cmd->ClipRect = _CmdHeader.ClipRect; } @@ -549,7 +583,6 @@ void ImDrawList::_OnChangedTextureID() CmdBuffer.pop_back(); return; } - curr_cmd->TextureId = _CmdHeader.TextureId; } @@ -625,6 +658,15 @@ void ImDrawList::PopTextureID() _OnChangedTextureID(); } +// This is used by ImGui::PushFont()/PopFont(). It works because we never use _TextureIdStack[] elsewhere than in PushTextureID()/PopTextureID(). +void ImDrawList::_SetTextureID(ImTextureID texture_id) +{ + if (_CmdHeader.TextureId == texture_id) + return; + _CmdHeader.TextureId = texture_id; + _OnChangedTextureID(); +} + // Reserve space for a number of vertices and indices. // You must finish filling your reserved data before calling PrimReserve() again, as it may reallocate or // submit the intermediate results. PrimUnreserve() can be used to release unused allocations. @@ -1619,7 +1661,7 @@ void ImDrawList::AddBezierQuadratic(const ImVec2& p1, const ImVec2& p2, const Im PathStroke(col, 0, thickness); } -void ImDrawList::AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect) +void ImDrawList::AddText(ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect) { if ((col & IM_COL32_A_MASK) == 0) return; @@ -2215,6 +2257,12 @@ void ImGui::AddDrawListToDrawDataEx(ImDrawData* draw_data, ImVector if (sizeof(ImDrawIdx) == 2) IM_ASSERT(draw_list->_VtxCurrentIdx < (1 << 16) && "Too many vertices in ImDrawList using 16-bit indices. Read comment above"); + // Resolve callback data pointers + if (draw_list->_CallbacksDataBuf.Size > 0) + for (ImDrawCmd& cmd : draw_list->CmdBuffer) + if (cmd.UserCallback != NULL && cmd.UserCallbackDataOffset != -1 && cmd.UserCallbackDataSize > 0) + cmd.UserCallbackData = draw_list->_CallbacksDataBuf.Data + cmd.UserCallbackDataOffset; + // Add to output list + records state in ImDrawData out_list->push_back(draw_list); draw_data->CmdListsCount++; @@ -2332,12 +2380,44 @@ ImFontConfig::ImFontConfig() GlyphMaxAdvanceX = FLT_MAX; RasterizerMultiply = 1.0f; RasterizerDensity = 1.0f; - EllipsisChar = (ImWchar)-1; + EllipsisChar = 0; } //----------------------------------------------------------------------------- // [SECTION] ImFontAtlas //----------------------------------------------------------------------------- +// - Default texture data encoded in ASCII +// - ImFontAtlas::ClearInputData() +// - ImFontAtlas::ClearTexData() +// - ImFontAtlas::ClearFonts() +// - ImFontAtlas::Clear() +// - ImFontAtlas::GetTexDataAsAlpha8() +// - ImFontAtlas::GetTexDataAsRGBA32() +// - ImFontAtlas::AddFont() +// - ImFontAtlas::AddFontDefault() +// - ImFontAtlas::AddFontFromFileTTF() +// - ImFontAtlas::AddFontFromMemoryTTF() +// - ImFontAtlas::AddFontFromMemoryCompressedTTF() +// - ImFontAtlas::AddFontFromMemoryCompressedBase85TTF() +// - ImFontAtlas::AddCustomRectRegular() +// - ImFontAtlas::AddCustomRectFontGlyph() +// - ImFontAtlas::CalcCustomRectUV() +// - ImFontAtlas::GetMouseCursorTexData() +// - ImFontAtlas::Build() +// - ImFontAtlasBuildMultiplyCalcLookupTable() +// - ImFontAtlasBuildMultiplyRectAlpha8() +// - ImFontAtlasBuildWithStbTruetype() +// - ImFontAtlasGetBuilderForStbTruetype() +// - ImFontAtlasUpdateConfigDataPointers() +// - ImFontAtlasBuildSetupFont() +// - ImFontAtlasBuildPackCustomRects() +// - ImFontAtlasBuildRender8bppRectFromString() +// - ImFontAtlasBuildRender32bppRectFromString() +// - ImFontAtlasBuildRenderDefaultTexData() +// - ImFontAtlasBuildRenderLinesTexData() +// - ImFontAtlasBuildInit() +// - ImFontAtlasBuildFinish() +//----------------------------------------------------------------------------- // A work of art lies ahead! (. = white layer, X = black layer, others are blank) // The 2x2 white texels on the top left are the ones we'll use everywhere in Dear ImGui to render filled shapes. @@ -2492,13 +2572,15 @@ ImFont* ImFontAtlas::AddFont(const ImFontConfig* font_cfg) { IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!"); IM_ASSERT(font_cfg->FontData != NULL && font_cfg->FontDataSize > 0); - IM_ASSERT(font_cfg->SizePixels > 0.0f); + IM_ASSERT(font_cfg->SizePixels > 0.0f && "Is ImFontConfig struct correctly initialized?"); + IM_ASSERT(font_cfg->OversampleH > 0 && font_cfg->OversampleV > 0 && "Is ImFontConfig struct correctly initialized?"); + IM_ASSERT(font_cfg->RasterizerDensity > 0.0f); // Create new font if (!font_cfg->MergeMode) Fonts.push_back(IM_NEW(ImFont)); else - IM_ASSERT(!Fonts.empty() && "Cannot use MergeMode for the first font"); // When using MergeMode make sure that a font has already been added before. You can use ImGui::GetIO().Fonts->AddFontDefault() to add the default imgui font. + IM_ASSERT(Fonts.Size > 0 && "Cannot use MergeMode for the first font"); // When using MergeMode make sure that a font has already been added before. You can use ImGui::GetIO().Fonts->AddFontDefault() to add the default imgui font. ConfigData.push_back(*font_cfg); ImFontConfig& new_font_cfg = ConfigData.back(); @@ -2511,9 +2593,13 @@ ImFont* ImFontAtlas::AddFont(const ImFontConfig* font_cfg) memcpy(new_font_cfg.FontData, font_cfg->FontData, (size_t)new_font_cfg.FontDataSize); } - if (new_font_cfg.DstFont->EllipsisChar == (ImWchar)-1) - new_font_cfg.DstFont->EllipsisChar = font_cfg->EllipsisChar; + // Round font size + // - We started rounding in 1.90 WIP (18991) as our layout system currently doesn't support non-rounded font size well yet. + // - Note that using io.FontGlobalScale or SetWindowFontScale(), with are legacy-ish, partially supported features, can still lead to unrounded sizes. + // - We may support it better later and remove this rounding. + new_font_cfg.SizePixels = ImTrunc(new_font_cfg.SizePixels); + // Pointers to ConfigData and BuilderData are otherwise dangling ImFontAtlasUpdateConfigDataPointers(this); // Invalidate texture @@ -2525,7 +2611,6 @@ ImFont* ImFontAtlas::AddFont(const ImFontConfig* font_cfg) // Default font TTF is compressed with stb_compress then base85 encoded (see misc/fonts/binary_to_compressed_c.cpp for encoder) static unsigned int stb_decompress_length(const unsigned char* input); static unsigned int stb_decompress(unsigned char* output, const unsigned char* input, unsigned int length); -static const char* GetDefaultCompressedFontDataTTFBase85(); static unsigned int Decode85Byte(char c) { return c >= '\\' ? c-36 : c-35; } static void Decode85(const unsigned char* src, unsigned char* dst) { @@ -2537,10 +2622,14 @@ static void Decode85(const unsigned char* src, unsigned char* dst) dst += 4; } } +#ifndef IMGUI_DISABLE_DEFAULT_FONT +static const char* GetDefaultCompressedFontDataTTF(int* out_size); +#endif // Load embedded ProggyClean.ttf at size 13, disable oversampling ImFont* ImFontAtlas::AddFontDefault(const ImFontConfig* font_cfg_template) { +#ifndef IMGUI_DISABLE_DEFAULT_FONT ImFontConfig font_cfg = font_cfg_template ? *font_cfg_template : ImFontConfig(); if (!font_cfg_template) { @@ -2554,10 +2643,16 @@ ImFont* ImFontAtlas::AddFontDefault(const ImFontConfig* font_cfg_template) font_cfg.EllipsisChar = (ImWchar)0x0085; font_cfg.GlyphOffset.y = 1.0f * IM_TRUNC(font_cfg.SizePixels / 13.0f); // Add +1 offset per 13 units - const char* ttf_compressed_base85 = GetDefaultCompressedFontDataTTFBase85(); + int ttf_compressed_size = 0; + const char* ttf_compressed = GetDefaultCompressedFontDataTTF(&ttf_compressed_size); const ImWchar* glyph_ranges = font_cfg.GlyphRanges != NULL ? font_cfg.GlyphRanges : GetGlyphRangesDefault(); - ImFont* font = AddFontFromMemoryCompressedBase85TTF(ttf_compressed_base85, font_cfg.SizePixels, &font_cfg, glyph_ranges); + ImFont* font = AddFontFromMemoryCompressedTTF(ttf_compressed, ttf_compressed_size, font_cfg.SizePixels, &font_cfg, glyph_ranges); return font; +#else + IM_ASSERT(0 && "AddFontDefault() disabled in this build."); + IM_UNUSED(font_cfg_template); + return NULL; +#endif // #ifndef IMGUI_DISABLE_DEFAULT_FONT } ImFont* ImFontAtlas::AddFontFromFileTTF(const char* filename, float size_pixels, const ImFontConfig* font_cfg_template, const ImWchar* glyph_ranges) @@ -2641,6 +2736,7 @@ int ImFontAtlas::AddCustomRectFontGlyph(ImFont* font, ImWchar id, int width, int r.Width = (unsigned short)width; r.Height = (unsigned short)height; r.GlyphID = id; + r.GlyphColored = 0; // Set to 1 manually to mark glyph as colored // FIXME: No official API for that (#8133) r.GlyphAdvanceX = advance_x; r.GlyphOffset = offset; r.Font = font; @@ -2815,8 +2911,9 @@ static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas) for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2) { // Check for valid range. This may also help detect *some* dangling pointers, because a common - // user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent. - IM_ASSERT(src_range[0] <= src_range[1]); + // user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent, + // or to forget to zero-terminate the glyph range array. + IM_ASSERT(src_range[0] <= src_range[1] && "Invalid range: is your glyph range array persistent? it is zero-terminated?"); src_tmp.GlyphsHighest = ImMax(src_tmp.GlyphsHighest, (int)src_range[1]); } dst_tmp.SrcCount++; @@ -2876,6 +2973,7 @@ static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas) int total_surface = 0; int buf_rects_out_n = 0; int buf_packedchars_out_n = 0; + const int pack_padding = atlas->TexGlyphPadding; for (int src_i = 0; src_i < src_tmp_array.Size; src_i++) { ImFontBuildSrcData& src_tmp = src_tmp_array[src_i]; @@ -2899,18 +2997,19 @@ static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas) // Gather the sizes of all rectangles we will need to pack (this loop is based on stbtt_PackFontRangesGatherRects) const float scale = (cfg.SizePixels > 0.0f) ? stbtt_ScaleForPixelHeight(&src_tmp.FontInfo, cfg.SizePixels * cfg.RasterizerDensity) : stbtt_ScaleForMappingEmToPixels(&src_tmp.FontInfo, -cfg.SizePixels * cfg.RasterizerDensity); - const int padding = atlas->TexGlyphPadding; for (int glyph_i = 0; glyph_i < src_tmp.GlyphsList.Size; glyph_i++) { int x0, y0, x1, y1; const int glyph_index_in_font = stbtt_FindGlyphIndex(&src_tmp.FontInfo, src_tmp.GlyphsList[glyph_i]); IM_ASSERT(glyph_index_in_font != 0); stbtt_GetGlyphBitmapBoxSubpixel(&src_tmp.FontInfo, glyph_index_in_font, scale * cfg.OversampleH, scale * cfg.OversampleV, 0, 0, &x0, &y0, &x1, &y1); - src_tmp.Rects[glyph_i].w = (stbrp_coord)(x1 - x0 + padding + cfg.OversampleH - 1); - src_tmp.Rects[glyph_i].h = (stbrp_coord)(y1 - y0 + padding + cfg.OversampleV - 1); + src_tmp.Rects[glyph_i].w = (stbrp_coord)(x1 - x0 + pack_padding + cfg.OversampleH - 1); + src_tmp.Rects[glyph_i].h = (stbrp_coord)(y1 - y0 + pack_padding + cfg.OversampleV - 1); total_surface += src_tmp.Rects[glyph_i].w * src_tmp.Rects[glyph_i].h; } } + for (int i = 0; i < atlas->CustomRects.Size; i++) + total_surface += (atlas->CustomRects[i].Width + pack_padding) * (atlas->CustomRects[i].Height + pack_padding); // We need a width for the skyline algorithm, any width! // The exact width doesn't really matter much, but some API/GPU have texture size limitations and increasing width can decrease height. @@ -2926,7 +3025,8 @@ static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas) // Pack our extra data rectangles first, so it will be on the upper-left corner of our texture (UV will have small values). const int TEX_HEIGHT_MAX = 1024 * 32; stbtt_pack_context spc = {}; - stbtt_PackBegin(&spc, NULL, atlas->TexWidth, TEX_HEIGHT_MAX, 0, atlas->TexGlyphPadding, NULL); + stbtt_PackBegin(&spc, NULL, atlas->TexWidth, TEX_HEIGHT_MAX, 0, 0, NULL); + spc.padding = atlas->TexGlyphPadding; // Because we mixup stbtt_PackXXX and stbrp_PackXXX there's a bit of a hack here, not passing the value to stbtt_PackBegin() allows us to still pack a TexWidth-1 wide item. (#8107) ImFontAtlasBuildPackCustomRects(atlas, spc.pack_info); // 6. Pack each source font. No rendering yet, we are working with rectangles in an infinitely tall texture at this point. @@ -3072,13 +3172,14 @@ void ImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, void* stbrp_context_opa if (user_rects.Size < 1) { __builtin_unreachable(); } // Workaround for GCC bug if IM_ASSERT() is defined to conditionally throw (see #5343) #endif + const int pack_padding = atlas->TexGlyphPadding; ImVector pack_rects; pack_rects.resize(user_rects.Size); memset(pack_rects.Data, 0, (size_t)pack_rects.size_in_bytes()); for (int i = 0; i < user_rects.Size; i++) { - pack_rects[i].w = user_rects[i].Width; - pack_rects[i].h = user_rects[i].Height; + pack_rects[i].w = user_rects[i].Width + pack_padding; + pack_rects[i].h = user_rects[i].Height + pack_padding; } stbrp_pack_rects(pack_context, &pack_rects[0], pack_rects.Size); for (int i = 0; i < pack_rects.Size; i++) @@ -3086,7 +3187,7 @@ void ImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, void* stbrp_context_opa { user_rects[i].X = (unsigned short)pack_rects[i].x; user_rects[i].Y = (unsigned short)pack_rects[i].y; - IM_ASSERT(pack_rects[i].w == user_rects[i].Width && pack_rects[i].h == user_rects[i].Height); + IM_ASSERT(pack_rects[i].w == user_rects[i].Width + pack_padding && pack_rects[i].h == user_rects[i].Height + pack_padding); atlas->TexHeight = ImMax(atlas->TexHeight, pack_rects[i].y + pack_rects[i].h); } } @@ -3117,35 +3218,35 @@ static void ImFontAtlasBuildRenderDefaultTexData(ImFontAtlas* atlas) IM_ASSERT(r->IsPacked()); const int w = atlas->TexWidth; - if (!(atlas->Flags & ImFontAtlasFlags_NoMouseCursors)) + if (atlas->Flags & ImFontAtlasFlags_NoMouseCursors) { - // Render/copy pixels - IM_ASSERT(r->Width == FONT_ATLAS_DEFAULT_TEX_DATA_W * 2 + 1 && r->Height == FONT_ATLAS_DEFAULT_TEX_DATA_H); - const int x_for_white = r->X; - const int x_for_black = r->X + FONT_ATLAS_DEFAULT_TEX_DATA_W + 1; + // White pixels only + IM_ASSERT(r->Width == 2 && r->Height == 2); + const int offset = (int)r->X + (int)r->Y * w; if (atlas->TexPixelsAlpha8 != NULL) { - ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', 0xFF); - ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', 0xFF); + atlas->TexPixelsAlpha8[offset] = atlas->TexPixelsAlpha8[offset + 1] = atlas->TexPixelsAlpha8[offset + w] = atlas->TexPixelsAlpha8[offset + w + 1] = 0xFF; } else { - ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', IM_COL32_WHITE); - ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', IM_COL32_WHITE); + atlas->TexPixelsRGBA32[offset] = atlas->TexPixelsRGBA32[offset + 1] = atlas->TexPixelsRGBA32[offset + w] = atlas->TexPixelsRGBA32[offset + w + 1] = IM_COL32_WHITE; } } else { - // Render 4 white pixels - IM_ASSERT(r->Width == 2 && r->Height == 2); - const int offset = (int)r->X + (int)r->Y * w; + // White pixels and mouse cursor + IM_ASSERT(r->Width == FONT_ATLAS_DEFAULT_TEX_DATA_W * 2 + 1 && r->Height == FONT_ATLAS_DEFAULT_TEX_DATA_H); + const int x_for_white = r->X; + const int x_for_black = r->X + FONT_ATLAS_DEFAULT_TEX_DATA_W + 1; if (atlas->TexPixelsAlpha8 != NULL) { - atlas->TexPixelsAlpha8[offset] = atlas->TexPixelsAlpha8[offset + 1] = atlas->TexPixelsAlpha8[offset + w] = atlas->TexPixelsAlpha8[offset + w + 1] = 0xFF; + ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', 0xFF); + ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', 0xFF); } else { - atlas->TexPixelsRGBA32[offset] = atlas->TexPixelsRGBA32[offset + 1] = atlas->TexPixelsRGBA32[offset + w] = atlas->TexPixelsRGBA32[offset + w + 1] = IM_COL32_WHITE; + ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', IM_COL32_WHITE); + ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', IM_COL32_WHITE); } } atlas->TexUvWhitePixel = ImVec2((r->X + 0.5f) * atlas->TexUvScale.x, (r->Y + 0.5f) * atlas->TexUvScale.y); @@ -3159,38 +3260,38 @@ static void ImFontAtlasBuildRenderLinesTexData(ImFontAtlas* atlas) // This generates a triangular shape in the texture, with the various line widths stacked on top of each other to allow interpolation between them ImFontAtlasCustomRect* r = atlas->GetCustomRectByIndex(atlas->PackIdLines); IM_ASSERT(r->IsPacked()); - for (unsigned int n = 0; n < IM_DRAWLIST_TEX_LINES_WIDTH_MAX + 1; n++) // +1 because of the zero-width row + for (int n = 0; n < IM_DRAWLIST_TEX_LINES_WIDTH_MAX + 1; n++) // +1 because of the zero-width row { // Each line consists of at least two empty pixels at the ends, with a line of solid pixels in the middle - unsigned int y = n; - unsigned int line_width = n; - unsigned int pad_left = (r->Width - line_width) / 2; - unsigned int pad_right = r->Width - (pad_left + line_width); + int y = n; + int line_width = n; + int pad_left = (r->Width - line_width) / 2; + int pad_right = r->Width - (pad_left + line_width); // Write each slice IM_ASSERT(pad_left + line_width + pad_right == r->Width && y < r->Height); // Make sure we're inside the texture bounds before we start writing pixels if (atlas->TexPixelsAlpha8 != NULL) { unsigned char* write_ptr = &atlas->TexPixelsAlpha8[r->X + ((r->Y + y) * atlas->TexWidth)]; - for (unsigned int i = 0; i < pad_left; i++) + for (int i = 0; i < pad_left; i++) *(write_ptr + i) = 0x00; - for (unsigned int i = 0; i < line_width; i++) + for (int i = 0; i < line_width; i++) *(write_ptr + pad_left + i) = 0xFF; - for (unsigned int i = 0; i < pad_right; i++) + for (int i = 0; i < pad_right; i++) *(write_ptr + pad_left + line_width + i) = 0x00; } else { unsigned int* write_ptr = &atlas->TexPixelsRGBA32[r->X + ((r->Y + y) * atlas->TexWidth)]; - for (unsigned int i = 0; i < pad_left; i++) + for (int i = 0; i < pad_left; i++) *(write_ptr + i) = IM_COL32(255, 255, 255, 0); - for (unsigned int i = 0; i < line_width; i++) + for (int i = 0; i < line_width; i++) *(write_ptr + pad_left + i) = IM_COL32_WHITE; - for (unsigned int i = 0; i < pad_right; i++) + for (int i = 0; i < pad_right; i++) *(write_ptr + pad_left + line_width + i) = IM_COL32(255, 255, 255, 0); } @@ -3205,13 +3306,6 @@ static void ImFontAtlasBuildRenderLinesTexData(ImFontAtlas* atlas) // Note: this is called / shared by both the stb_truetype and the FreeType builder void ImFontAtlasBuildInit(ImFontAtlas* atlas) { - // Round font size - // - We started rounding in 1.90 WIP (18991) as our layout system currently doesn't support non-rounded font size well yet. - // - Note that using io.FontGlobalScale or SetWindowFontScale(), with are legacy-ish, partially supported features, can still lead to unrounded sizes. - // - We may support it better later and remove this rounding. - for (ImFontConfig& cfg : atlas->ConfigData) - cfg.SizePixels = ImTrunc(cfg.SizePixels); - // Register texture region for mouse cursors or standard white pixels if (atlas->PackIdMouseCursors < 0) { @@ -3250,6 +3344,8 @@ void ImFontAtlasBuildFinish(ImFontAtlas* atlas) ImVec2 uv0, uv1; atlas->CalcCustomRectUV(r, &uv0, &uv1); r->Font->AddGlyph(NULL, (ImWchar)r->GlyphID, r->GlyphOffset.x, r->GlyphOffset.y, r->GlyphOffset.x + r->Width, r->GlyphOffset.y + r->Height, uv0.x, uv0.y, uv1.x, uv1.y, r->GlyphAdvanceX); + if (r->GlyphColored) + r->Font->Glyphs.back().Colored = 1; } // Build all fonts lookup tables @@ -3260,6 +3356,20 @@ void ImFontAtlasBuildFinish(ImFontAtlas* atlas) atlas->TexReady = true; } +//------------------------------------------------------------------------- +// [SECTION] ImFontAtlas: glyph ranges helpers +//------------------------------------------------------------------------- +// - GetGlyphRangesDefault() +// - GetGlyphRangesGreek() +// - GetGlyphRangesKorean() +// - GetGlyphRangesChineseFull() +// - GetGlyphRangesChineseSimplifiedCommon() +// - GetGlyphRangesJapanese() +// - GetGlyphRangesCyrillic() +// - GetGlyphRangesThai() +// - GetGlyphRangesVietnamese() +//----------------------------------------------------------------------------- + // Retrieve list of range (2 int per range, values are inclusive) const ImWchar* ImFontAtlas::GetGlyphRangesDefault() { @@ -3321,10 +3431,6 @@ static void UnpackAccumulativeOffsetsIntoRanges(int base_codepoint, const short* out_ranges[0] = 0; } -//------------------------------------------------------------------------- -// [SECTION] ImFontAtlas glyph ranges helpers -//------------------------------------------------------------------------- - const ImWchar* ImFontAtlas::GetGlyphRangesChineseSimplifiedCommon() { // Store 2500 regularly used characters for Simplified Chinese. @@ -3571,8 +3677,8 @@ ImFont::ImFont() { FontSize = 0.0f; FallbackAdvanceX = 0.0f; - FallbackChar = (ImWchar)-1; - EllipsisChar = (ImWchar)-1; + FallbackChar = 0; + EllipsisChar = 0; EllipsisWidth = EllipsisCharStep = 0.0f; EllipsisCharCount = 0; FallbackGlyph = NULL; @@ -3603,6 +3709,7 @@ void ImFont::ClearOutputData() DirtyLookupTables = true; Ascent = Descent = 0.0f; MetricsTotalSurface = 0; + memset(Used4kPagesMap, 0, sizeof(Used4kPagesMap)); } static ImWchar FindFirstExistingGlyph(ImFont* font, const ImWchar* candidate_chars, int candidate_chars_count) @@ -3610,7 +3717,7 @@ static ImWchar FindFirstExistingGlyph(ImFont* font, const ImWchar* candidate_cha for (int n = 0; n < candidate_chars_count; n++) if (font->FindGlyphNoFallback(candidate_chars[n]) != NULL) return candidate_chars[n]; - return (ImWchar)-1; + return 0; } void ImFont::BuildLookupTable() @@ -3677,23 +3784,23 @@ void ImFont::BuildLookupTable() // Setup Ellipsis character. It is required for rendering elided text. We prefer using U+2026 (horizontal ellipsis). // However some old fonts may contain ellipsis at U+0085. Here we auto-detect most suitable ellipsis character. // FIXME: Note that 0x2026 is rarely included in our font ranges. Because of this we are more likely to use three individual dots. - const ImWchar ellipsis_chars[] = { (ImWchar)0x2026, (ImWchar)0x0085 }; + const ImWchar ellipsis_chars[] = { ConfigData->EllipsisChar, (ImWchar)0x2026, (ImWchar)0x0085 }; const ImWchar dots_chars[] = { (ImWchar)'.', (ImWchar)0xFF0E }; - if (EllipsisChar == (ImWchar)-1) + if (EllipsisChar == 0) EllipsisChar = FindFirstExistingGlyph(this, ellipsis_chars, IM_ARRAYSIZE(ellipsis_chars)); const ImWchar dot_char = FindFirstExistingGlyph(this, dots_chars, IM_ARRAYSIZE(dots_chars)); - if (EllipsisChar != (ImWchar)-1) + if (EllipsisChar != 0) { EllipsisCharCount = 1; EllipsisWidth = EllipsisCharStep = FindGlyph(EllipsisChar)->X1; } - else if (dot_char != (ImWchar)-1) + else if (dot_char != 0) { - const ImFontGlyph* glyph = FindGlyph(dot_char); + const ImFontGlyph* dot_glyph = FindGlyph(dot_char); EllipsisChar = dot_char; EllipsisCharCount = 3; - EllipsisCharStep = (glyph->X1 - glyph->X0) + 1.0f; - EllipsisWidth = EllipsisCharStep * 3.0f - 1.0f; + EllipsisCharStep = (float)(int)(dot_glyph->X1 - dot_glyph->X0) + 1.0f; + EllipsisWidth = ImMax(dot_glyph->AdvanceX, dot_glyph->X0 + EllipsisCharStep * 3.0f - 1.0f); // FIXME: Slightly odd for normally mono-space fonts but since this is used for trailing contents. } } @@ -3750,8 +3857,9 @@ void ImFont::AddGlyph(const ImFontConfig* cfg, ImWchar codepoint, float x0, floa advance_x += cfg->GlyphExtraSpacing.x; } + int glyph_idx = Glyphs.Size; Glyphs.resize(Glyphs.Size + 1); - ImFontGlyph& glyph = Glyphs.back(); + ImFontGlyph& glyph = Glyphs[glyph_idx]; glyph.Codepoint = (unsigned int)codepoint; glyph.Visible = (x0 != x1) && (y0 != y1); glyph.Colored = false; @@ -3787,7 +3895,8 @@ void ImFont::AddRemapChar(ImWchar dst, ImWchar src, bool overwrite_dst) IndexAdvanceX[dst] = (src < index_size) ? IndexAdvanceX.Data[src] : 1.0f; } -const ImFontGlyph* ImFont::FindGlyph(ImWchar c) const +// Find glyph, return fallback if missing +const ImFontGlyph* ImFont::FindGlyph(ImWchar c) { if (c >= (size_t)IndexLookup.Size) return FallbackGlyph; @@ -3797,7 +3906,7 @@ const ImFontGlyph* ImFont::FindGlyph(ImWchar c) const return &Glyphs.Data[i]; } -const ImFontGlyph* ImFont::FindGlyphNoFallback(ImWchar c) const +const ImFontGlyph* ImFont::FindGlyphNoFallback(ImWchar c) { if (c >= (size_t)IndexLookup.Size) return NULL; @@ -3807,7 +3916,7 @@ const ImFontGlyph* ImFont::FindGlyphNoFallback(ImWchar c) const return &Glyphs.Data[i]; } -// Wrapping skips upcoming blanks +// Trim trailing space and find beginning of next line static inline const char* CalcWordWrapNextLineStartA(const char* text, const char* text_end) { while (text < text_end && ImCharIsBlankA(*text)) @@ -3817,10 +3926,12 @@ static inline const char* CalcWordWrapNextLineStartA(const char* text, const cha return text; } +#define ImFontGetCharAdvanceX(_FONT, _CH) ((int)(_CH) < (_FONT)->IndexAdvanceX.Size ? (_FONT)->IndexAdvanceX.Data[_CH] : (_FONT)->FallbackAdvanceX) + // Simple word-wrapping for English, not full-featured. Please submit failing cases! // This will return the next location to wrap from. If no wrapping if necessary, this will fast-forward to e.g. text_end. // FIXME: Much possible improvements (don't cut things like "word !", "word!!!" but cut within "word,,,,", more sensible support for punctuations, support for Unicode punctuations, etc.) -const char* ImFont::CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width) const +const char* ImFont::CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width) { // For references, possible wrap point marked with ^ // "aaa bbb, ccc,ddd. eee fff. ggg!" @@ -3869,7 +3980,7 @@ const char* ImFont::CalcWordWrapPositionA(float scale, const char* text, const c } } - const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX.Data[c] : FallbackAdvanceX); + const float char_width = ImFontGetCharAdvanceX(this, c); if (ImCharIsBlankW(c)) { if (inside_word) @@ -3918,7 +4029,7 @@ const char* ImFont::CalcWordWrapPositionA(float scale, const char* text, const c return s; } -ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end, const char** remaining) const +ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end, const char** remaining) { if (!text_end) text_end = text_begin + strlen(text_begin); // FIXME-OPT: Need to avoid this. @@ -3974,7 +4085,7 @@ ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, cons continue; } - const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX.Data[c] : FallbackAdvanceX) * scale; + const float char_width = ImFontGetCharAdvanceX(this, c) * scale; if (line_width + char_width >= max_width) { s = prev_s; @@ -3997,7 +4108,7 @@ ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, cons } // Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound. -void ImFont::RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c) const +void ImFont::RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c) { const ImFontGlyph* glyph = FindGlyph(c); if (!glyph || !glyph->Visible) @@ -4012,7 +4123,7 @@ void ImFont::RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, Im } // Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound. -void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width, bool cpu_fine_clip) const +void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width, bool cpu_fine_clip) { if (!text_end) text_end = text_begin + strlen(text_begin); // ImGui:: functions generally already provides a valid text_end, so this is merely to handle direct calls. @@ -4023,9 +4134,9 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, Im if (y > clip_rect.w) return; - const float start_x = x; const float scale = size / FontSize; const float line_height = FontSize * scale; + const float origin_x = x; const bool word_wrap_enabled = (wrap_width > 0.0f); // Fast-forward to first visible line @@ -4084,11 +4195,11 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, Im { // Calculate how far we can render. Requires two passes on the string data but keeps the code simple and not intrusive for what's essentially an uncommon feature. if (!word_wrap_eol) - word_wrap_eol = CalcWordWrapPositionA(scale, s, text_end, wrap_width - (x - start_x)); + word_wrap_eol = CalcWordWrapPositionA(scale, s, text_end, wrap_width - (x - origin_x)); if (s >= word_wrap_eol) { - x = start_x; + x = origin_x; y += line_height; if (y > clip_rect.w) break; // break out of main loop @@ -4109,7 +4220,7 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, Im { if (c == '\n') { - x = start_x; + x = origin_x; y += line_height; if (y > clip_rect.w) break; // break out of main loop @@ -4532,101 +4643,187 @@ static unsigned int stb_decompress(unsigned char *output, const unsigned char *i // MIT license (see License.txt in http://www.proggyfonts.net/index.php?menu=download) // Download and more information at http://www.proggyfonts.net or http://upperboundsinteractive.com/fonts.php //----------------------------------------------------------------------------- + +#ifndef IMGUI_DISABLE_DEFAULT_FONT + // File: 'ProggyClean.ttf' (41208 bytes) -// Exported using misc/fonts/binary_to_compressed_c.cpp (with compression + base85 string encoding). -// The purpose of encoding as base85 instead of "0x00,0x01,..." style is only save on _source code_ size. -//----------------------------------------------------------------------------- -static const char proggy_clean_ttf_compressed_data_base85[11980 + 1] = - "7])#######hV0qs'/###[),##/l:$#Q6>##5[n42>c-TH`->>#/e>11NNV=Bv(*:.F?uu#(gRU.o0XGH`$vhLG1hxt9?W`#,5LsCp#-i>.r$<$6pD>Lb';9Crc6tgXmKVeU2cD4Eo3R/" - "2*>]b(MC;$jPfY.;h^`IWM9Qo#t'X#(v#Y9w0#1D$CIf;W'#pWUPXOuxXuU(H9M(1=Ke$$'5F%)]0^#0X@U.a$FBjVQTSDgEKnIS7EM9>ZY9w0#L;>>#Mx&4Mvt//L[MkA#W@lK.N'[0#7RL_&#w+F%HtG9M#XL`N&.,GM4Pg;--VsM.M0rJfLH2eTM`*oJMHRC`N" - "kfimM2J,W-jXS:)r0wK#@Fge$U>`w'N7G#$#fB#$E^$#:9:hk+eOe--6x)F7*E%?76%^GMHePW-Z5l'&GiF#$956:rS?dA#fiK:)Yr+`�j@'DbG&#^$PG.Ll+DNa&VZ>1i%h1S9u5o@YaaW$e+bROPOpxTO7Stwi1::iB1q)C_=dV26J;2,]7op$]uQr@_V7$q^%lQwtuHY]=DX,n3L#0PHDO4f9>dC@O>HBuKPpP*E,N+b3L#lpR/MrTEH.IAQk.a>D[.e;mc." - "x]Ip.PH^'/aqUO/$1WxLoW0[iLAw=4h(9.`G" - "CRUxHPeR`5Mjol(dUWxZa(>STrPkrJiWx`5U7F#.g*jrohGg`cg:lSTvEY/EV_7H4Q9[Z%cnv;JQYZ5q.l7Zeas:HOIZOB?Ggv:[7MI2k).'2($5FNP&EQ(,)" - "U]W]+fh18.vsai00);D3@4ku5P?DP8aJt+;qUM]=+b'8@;mViBKx0DE[-auGl8:PJ&Dj+M6OC]O^((##]`0i)drT;-7X`=-H3[igUnPG-NZlo.#k@h#=Ork$m>a>$-?Tm$UV(?#P6YY#" - "'/###xe7q.73rI3*pP/$1>s9)W,JrM7SN]'/4C#v$U`0#V.[0>xQsH$fEmPMgY2u7Kh(G%siIfLSoS+MK2eTM$=5,M8p`A.;_R%#u[K#$x4AG8.kK/HSB==-'Ie/QTtG?-.*^N-4B/ZM" - "_3YlQC7(p7q)&](`6_c)$/*JL(L-^(]$wIM`dPtOdGA,U3:w2M-0+WomX2u7lqM2iEumMTcsF?-aT=Z-97UEnXglEn1K-bnEO`gu" - "Ft(c%=;Am_Qs@jLooI&NX;]0#j4#F14;gl8-GQpgwhrq8'=l_f-b49'UOqkLu7-##oDY2L(te+Mch&gLYtJ,MEtJfLh'x'M=$CS-ZZ%P]8bZ>#S?YY#%Q&q'3^Fw&?D)UDNrocM3A76/" - "/oL?#h7gl85[qW/NDOk%16ij;+:1a'iNIdb-ou8.P*w,v5#EI$TWS>Pot-R*H'-SEpA:g)f+O$%%`kA#G=8RMmG1&O`>to8bC]T&$,n.LoO>29sp3dt-52U%VM#q7'DHpg+#Z9%H[Ket`e;)f#Km8&+DC$I46>#Kr]]u-[=99tts1.qb#q72g1WJO81q+eN'03'eM>&1XxY-caEnO" - "j%2n8)),?ILR5^.Ibn<-X-Mq7[a82Lq:F&#ce+S9wsCK*x`569E8ew'He]h:sI[2LM$[guka3ZRd6:t%IG:;$%YiJ:Nq=?eAw;/:nnDq0(CYcMpG)qLN4$##&J-XTt,%OVU4)S1+R-#dg0/Nn?Ku1^0f$B*P:Rowwm-`0PKjYDDM'3]d39VZHEl4,.j']Pk-M.h^&:0FACm$maq-&sgw0t7/6(^xtk%" - "LuH88Fj-ekm>GA#_>568x6(OFRl-IZp`&b,_P'$MhLbxfc$mj`,O;&%W2m`Zh:/)Uetw:aJ%]K9h:TcF]u_-Sj9,VK3M.*'&0D[Ca]J9gp8,kAW]" - "%(?A%R$f<->Zts'^kn=-^@c4%-pY6qI%J%1IGxfLU9CP8cbPlXv);C=b),<2mOvP8up,UVf3839acAWAW-W?#ao/^#%KYo8fRULNd2.>%m]UK:n%r$'sw]J;5pAoO_#2mO3n,'=H5(et" - "Hg*`+RLgv>=4U8guD$I%D:W>-r5V*%j*W:Kvej.Lp$'?;++O'>()jLR-^u68PHm8ZFWe+ej8h:9r6L*0//c&iH&R8pRbA#Kjm%upV1g:" - "a_#Ur7FuA#(tRh#.Y5K+@?3<-8m0$PEn;J:rh6?I6uG<-`wMU'ircp0LaE_OtlMb&1#6T.#FDKu#1Lw%u%+GM+X'e?YLfjM[VO0MbuFp7;>Q&#WIo)0@F%q7c#4XAXN-U&VBpqB>0ie&jhZ[?iLR@@_AvA-iQC(=ksRZRVp7`.=+NpBC%rh&3]R:8XDmE5^V8O(x<-+k?'(^](H.aREZSi,#1:[IXaZFOm<-ui#qUq2$##Ri;u75OK#(RtaW-K-F`S+cF]uN`-KMQ%rP/Xri.LRcB##=YL3BgM/3M" - "D?@f&1'BW-)Ju#bmmWCMkk&#TR`C,5d>g)F;t,4:@_l8G/5h4vUd%&%950:VXD'QdWoY-F$BtUwmfe$YqL'8(PWX(" - "P?^@Po3$##`MSs?DWBZ/S>+4%>fX,VWv/w'KD`LP5IbH;rTV>n3cEK8U#bX]l-/V+^lj3;vlMb&[5YQ8#pekX9JP3XUC72L,,?+Ni&co7ApnO*5NK,((W-i:$,kp'UDAO(G0Sq7MVjJs" - "bIu)'Z,*[>br5fX^:FPAWr-m2KgLQ_nN6'8uTGT5g)uLv:873UpTLgH+#FgpH'_o1780Ph8KmxQJ8#H72L4@768@Tm&Q" - "h4CB/5OvmA&,Q&QbUoi$a_%3M01H)4x7I^&KQVgtFnV+;[Pc>[m4k//,]1?#`VY[Jr*3&&slRfLiVZJ:]?=K3Sw=[$=uRB?3xk48@aege0jT6'N#(q%.O=?2S]u*(m<-" - "V8J'(1)G][68hW$5'q[GC&5j`TE?m'esFGNRM)j,ffZ?-qx8;->g4t*:CIP/[Qap7/9'#(1sao7w-.qNUdkJ)tCF&#B^;xGvn2r9FEPFFFcL@.iFNkTve$m%#QvQS8U@)2Z+3K:AKM5i" - "sZ88+dKQ)W6>J%CL`.d*(B`-n8D9oK-XV1q['-5k'cAZ69e;D_?$ZPP&s^+7])$*$#@QYi9,5P r+$%CE=68>K8r0=dSC%%(@p7" - ".m7jilQ02'0-VWAgTlGW'b)Tq7VT9q^*^$$.:&N@@" - "$&)WHtPm*5_rO0&e%K&#-30j(E4#'Zb.o/(Tpm$>K'f@[PvFl,hfINTNU6u'0pao7%XUp9]5.>%h`8_=VYbxuel.NTSsJfLacFu3B'lQSu/m6-Oqem8T+oE--$0a/k]uj9EwsG>%veR*" - "hv^BFpQj:K'#SJ,sB-'#](j.Lg92rTw-*n%@/;39rrJF,l#qV%OrtBeC6/,;qB3ebNW[?,Hqj2L.1NP&GjUR=1D8QaS3Up&@*9wP?+lo7b?@%'k4`p0Z$22%K3+iCZj?XJN4Nm&+YF]u" - "@-W$U%VEQ/,,>>#)D#%8cY#YZ?=,`Wdxu/ae&#" - "w6)R89tI#6@s'(6Bf7a&?S=^ZI_kS&ai`&=tE72L_D,;^R)7[$so8lKN%5/$(vdfq7+ebA#" - "u1p]ovUKW&Y%q]'>$1@-[xfn$7ZTp7mM,G,Ko7a&Gu%G[RMxJs[0MM%wci.LFDK)(%:_i2B5CsR8&9Z&#=mPEnm0f`<&c)QL5uJ#%u%lJj+D-r;BoFDoS97h5g)E#o:&S4weDF,9^Hoe`h*L+_a*NrLW-1pG_&2UdB8" - "6e%B/:=>)N4xeW.*wft-;$'58-ESqr#U`'6AQ]m&6/`Z>#S?YY#Vc;r7U2&326d=w&H####?TZ`*4?&.MK?LP8Vxg>$[QXc%QJv92.(Db*B)gb*BM9dM*hJMAo*c&#" - "b0v=Pjer]$gG&JXDf->'StvU7505l9$AFvgYRI^&<^b68?j#q9QX4SM'RO#&sL1IM.rJfLUAj221]d##DW=m83u5;'bYx,*Sl0hL(W;;$doB&O/TQ:(Z^xBdLjLV#*8U_72Lh+2Q8Cj0i:6hp&$C/:p(HK>T8Y[gHQ4`4)'$Ab(Nof%V'8hL&#SfD07&6D@M.*J:;$-rv29'M]8qMv-tLp,'886iaC=Hb*YJoKJ,(j%K=H`K.v9HggqBIiZu'QvBT.#=)0ukruV&.)3=(^1`o*Pj4<-#MJ+gLq9-##@HuZPN0]u:h7.T..G:;$/Usj(T7`Q8tT72LnYl<-qx8;-HV7Q-&Xdx%1a,hC=0u+HlsV>nuIQL-5" - "_>@kXQtMacfD.m-VAb8;IReM3$wf0''hra*so568'Ip&vRs849'MRYSp%:t:h5qSgwpEr$B>Q,;s(C#$)`svQuF$##-D,##,g68@2[T;.XSdN9Qe)rpt._K-#5wF)sP'##p#C0c%-Gb%" - "hd+<-j'Ai*x&&HMkT]C'OSl##5RG[JXaHN;d'uA#x._U;.`PU@(Z3dt4r152@:v,'R.Sj'w#0<-;kPI)FfJ&#AYJ&#//)>-k=m=*XnK$>=)72L]0I%>.G690a:$##<,);?;72#?x9+d;" - "^V'9;jY@;)br#q^YQpx:X#Te$Z^'=-=bGhLf:D6&bNwZ9-ZD#n^9HhLMr5G;']d&6'wYmTFmLq9wI>P(9mI[>kC-ekLC/R&CH+s'B;K-M6$EB%is00:" - "+A4[7xks.LrNk0&E)wILYF@2L'0Nb$+pv<(2.768/FrY&h$^3i&@+G%JT'<-,v`3;_)I9M^AE]CN?Cl2AZg+%4iTpT3$U4O]GKx'm9)b@p7YsvK3w^YR-" - "CdQ*:Ir<($u&)#(&?L9Rg3H)4fiEp^iI9O8KnTj,]H?D*r7'M;PwZ9K0E^k&-cpI;.p/6_vwoFMV<->#%Xi.LxVnrU(4&8/P+:hLSKj$#U%]49t'I:rgMi'FL@a:0Y-uA[39',(vbma*" - "hU%<-SRF`Tt:542R_VV$p@[p8DV[A,?1839FWdFTi1O*H&#(AL8[_P%.M>v^-))qOT*F5Cq0`Ye%+$B6i:7@0IXSsDiWP,##P`%/L-" - "S(qw%sf/@%#B6;/U7K]uZbi^Oc^2n%t<)'mEVE''n`WnJra$^TKvX5B>;_aSEK',(hwa0:i4G?.Bci.(X[?b*($,=-n<.Q%`(X=?+@Am*Js0&=3bh8K]mL69=Lb,OcZV/);TTm8VI;?%OtJ<(b4mq7M6:u?KRdFl*:xP?Yb.5)%w_I?7uk5JC+FS(m#i'k.'a0i)9<7b'fs'59hq$*5Uhv##pi^8+hIEBF`nvo`;'l0.^S1<-wUK2/Coh58KKhLj" - "M=SO*rfO`+qC`W-On.=AJ56>>i2@2LH6A:&5q`?9I3@@'04&p2/LVa*T-4<-i3;M9UvZd+N7>b*eIwg:CC)c<>nO&#$(>.Z-I&J(Q0Hd5Q%7Co-b`-cP)hI;*_F]u`Rb[.j8_Q/<&>uu+VsH$sM9TA%?)(vmJ80),P7E>)tjD%2L=-t#fK[%`v=Q8WlA2);Sa" - ">gXm8YB`1d@K#n]76-a$U,mF%Ul:#/'xoFM9QX-$.QN'>" - "[%$Z$uF6pA6Ki2O5:8w*vP1<-1`[G,)-m#>0`P&#eb#.3i)rtB61(o'$?X3B2Qft^ae_5tKL9MUe9b*sLEQ95C&`=G?@Mj=wh*'3E>=-<)Gt*Iw)'QG:`@I" - "wOf7&]1i'S01B+Ev/Nac#9S;=;YQpg_6U`*kVY39xK,[/6Aj7:'1Bm-_1EYfa1+o&o4hp7KN_Q(OlIo@S%;jVdn0'1h19w,WQhLI)3S#f$2(eb,jr*b;3Vw]*7NH%$c4Vs,eD9>XW8?N]o+(*pgC%/72LV-uW%iewS8W6m2rtCpo'RS1R84=@paTKt)>=%&1[)*vp'u+x,VrwN;&]kuO9JDbg=pO$J*.jVe;u'm0dr9l,<*wMK*Oe=g8lV_KEBFkO'oU]^=[-792#ok,)" - "i]lR8qQ2oA8wcRCZ^7w/Njh;?.stX?Q1>S1q4Bn$)K1<-rGdO'$Wr.Lc.CG)$/*JL4tNR/,SVO3,aUw'DJN:)Ss;wGn9A32ijw%FL+Z0Fn.U9;reSq)bmI32U==5ALuG&#Vf1398/pVo" - "1*c-(aY168o<`JsSbk-,1N;$>0:OUas(3:8Z972LSfF8eb=c-;>SPw7.6hn3m`9^Xkn(r.qS[0;T%&Qc=+STRxX'q1BNk3&*eu2;&8q$&x>Q#Q7^Tf+6<(d%ZVmj2bDi%.3L2n+4W'$P" - "iDDG)g,r%+?,$@?uou5tSe2aN_AQU*'IAO" - "URQ##V^Fv-XFbGM7Fl(N<3DhLGF%q.1rC$#:T__&Pi68%0xi_&[qFJ(77j_&JWoF.V735&T,[R*:xFR*K5>>#`bW-?4Ne_&6Ne_&6Ne_&n`kr-#GJcM6X;uM6X;uM(.a..^2TkL%oR(#" - ";u.T%fAr%4tJ8&><1=GHZ_+m9/#H1F^R#SC#*N=BA9(D?v[UiFY>>^8p,KKF.W]L29uLkLlu/+4T" - "w$)F./^n3+rlo+DB;5sIYGNk+i1t-69Jg--0pao7Sm#K)pdHW&;LuDNH@H>#/X-TI(;P>#,Gc>#0Su>#4`1?#8lC?#xL$#B.`$#F:r$#JF.%#NR@%#R_R%#Vke%#Zww%#_-4^Rh%Sflr-k'MS.o?.5/sWel/wpEM0%3'/1)K^f1-d>G21&v(35>V`39V7A4=onx4" - "A1OY5EI0;6Ibgr6M$HS7Q<)58C5w,;WoA*#[%T*#`1g*#d=#+#hI5+#lUG+#pbY+#tnl+#x$),#&1;,#*=M,#.I`,#2Ur,#6b.-#;w[H#iQtA#m^0B#qjBB#uvTB##-hB#'9$C#+E6C#" - "/QHC#3^ZC#7jmC#;v)D#?,)4kMYD4lVu`4m`:&5niUA5@(A5BA1]PBB:xlBCC=2CDLXMCEUtiCf&0g2'tN?PGT4CPGT4CPGT4CPGT4CPGT4CPGT4CPGT4CP" - "GT4CPGT4CPGT4CPGT4CPGT4CPGT4CP-qekC`.9kEg^+F$kwViFJTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5KTB&5o,^<-28ZI'O?;xp" - "O?;xpO?;xpO?;xpO?;xpO?;xpO?;xpO?;xpO?;xpO?;xpO?;xpO?;xpO?;xpO?;xp;7q-#lLYI:xvD=#"; - -static const char* GetDefaultCompressedFontDataTTFBase85() -{ - return proggy_clean_ttf_compressed_data_base85; +// Exported using binary_to_compressed_c.exe -u8 "ProggyClean.ttf" proggy_clean_ttf +static const unsigned int proggy_clean_ttf_compressed_size = 9583; +static const unsigned char proggy_clean_ttf_compressed_data[9583] = +{ + 87,188,0,0,0,0,0,0,0,0,160,248,0,4,0,0,55,0,1,0,0,0,12,0,128,0,3,0,64,79,83,47,50,136,235,116,144,0,0,1,72,130,21,44,78,99,109,97,112,2,18,35,117,0,0,3,160,130,19,36,82,99,118,116, + 32,130,23,130,2,33,4,252,130,4,56,2,103,108,121,102,18,175,137,86,0,0,7,4,0,0,146,128,104,101,97,100,215,145,102,211,130,27,32,204,130,3,33,54,104,130,16,39,8,66,1,195,0,0,1,4,130, + 15,59,36,104,109,116,120,138,0,126,128,0,0,1,152,0,0,2,6,108,111,99,97,140,115,176,216,0,0,5,130,30,41,2,4,109,97,120,112,1,174,0,218,130,31,32,40,130,16,44,32,110,97,109,101,37,89, + 187,150,0,0,153,132,130,19,44,158,112,111,115,116,166,172,131,239,0,0,155,36,130,51,44,210,112,114,101,112,105,2,1,18,0,0,4,244,130,47,32,8,132,203,46,1,0,0,60,85,233,213,95,15,60, + 245,0,3,8,0,131,0,34,183,103,119,130,63,43,0,0,189,146,166,215,0,0,254,128,3,128,131,111,130,241,33,2,0,133,0,32,1,130,65,38,192,254,64,0,0,3,128,131,16,130,5,32,1,131,7,138,3,33,2, + 0,130,17,36,1,1,0,144,0,130,121,130,23,38,2,0,8,0,64,0,10,130,9,32,118,130,9,130,6,32,0,130,59,33,1,144,131,200,35,2,188,2,138,130,16,32,143,133,7,37,1,197,0,50,2,0,131,0,33,4,9,131, + 5,145,3,43,65,108,116,115,0,64,0,0,32,172,8,0,131,0,35,5,0,1,128,131,77,131,3,33,3,128,191,1,33,1,128,130,184,35,0,0,128,0,130,3,131,11,32,1,130,7,33,0,128,131,1,32,1,136,9,32,0,132, + 15,135,5,32,1,131,13,135,27,144,35,32,1,149,25,131,21,32,0,130,0,32,128,132,103,130,35,132,39,32,0,136,45,136,97,133,17,130,5,33,0,0,136,19,34,0,128,1,133,13,133,5,32,128,130,15,132, + 131,32,3,130,5,32,3,132,27,144,71,32,0,133,27,130,29,130,31,136,29,131,63,131,3,65,63,5,132,5,132,205,130,9,33,0,0,131,9,137,119,32,3,132,19,138,243,130,55,32,1,132,35,135,19,131,201, + 136,11,132,143,137,13,130,41,32,0,131,3,144,35,33,128,0,135,1,131,223,131,3,141,17,134,13,136,63,134,15,136,53,143,15,130,96,33,0,3,131,4,130,3,34,28,0,1,130,5,34,0,0,76,130,17,131, + 9,36,28,0,4,0,48,130,17,46,8,0,8,0,2,0,0,0,127,0,255,32,172,255,255,130,9,34,0,0,129,132,9,130,102,33,223,213,134,53,132,22,33,1,6,132,6,64,4,215,32,129,165,216,39,177,0,1,141,184, + 1,255,133,134,45,33,198,0,193,1,8,190,244,1,28,1,158,2,20,2,136,2,252,3,20,3,88,3,156,3,222,4,20,4,50,4,80,4,98,4,162,5,22,5,102,5,188,6,18,6,116,6,214,7,56,7,126,7,236,8,78,8,108, + 8,150,8,208,9,16,9,74,9,136,10,22,10,128,11,4,11,86,11,200,12,46,12,130,12,234,13,94,13,164,13,234,14,80,14,150,15,40,15,176,16,18,16,116,16,224,17,82,17,182,18,4,18,110,18,196,19, + 76,19,172,19,246,20,88,20,174,20,234,21,64,21,128,21,166,21,184,22,18,22,126,22,198,23,52,23,142,23,224,24,86,24,186,24,238,25,54,25,150,25,212,26,72,26,156,26,240,27,92,27,200,28, + 4,28,76,28,150,28,234,29,42,29,146,29,210,30,64,30,142,30,224,31,36,31,118,31,166,31,166,32,16,130,1,52,46,32,138,32,178,32,200,33,20,33,116,33,152,33,238,34,98,34,134,35,12,130,1, + 33,128,35,131,1,60,152,35,176,35,216,36,0,36,74,36,104,36,144,36,174,37,6,37,96,37,130,37,248,37,248,38,88,38,170,130,1,8,190,216,39,64,39,154,40,10,40,104,40,168,41,14,41,32,41,184, + 41,248,42,54,42,96,42,96,43,2,43,42,43,94,43,172,43,230,44,32,44,52,44,154,45,40,45,92,45,120,45,170,45,232,46,38,46,166,47,38,47,182,47,244,48,94,48,200,49,62,49,180,50,30,50,158, + 51,30,51,130,51,238,52,92,52,206,53,58,53,134,53,212,54,38,54,114,54,230,55,118,55,216,56,58,56,166,57,18,57,116,57,174,58,46,58,154,59,6,59,124,59,232,60,58,60,150,61,34,61,134,61, + 236,62,86,62,198,63,42,63,154,64,18,64,106,64,208,65,54,65,162,66,8,66,64,66,122,66,184,66,240,67,98,67,204,68,42,68,138,68,238,69,88,69,182,69,226,70,84,70,180,71,20,71,122,71,218, + 72,84,72,198,73,64,0,36,70,21,8,8,77,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,39,0,43,0,47,0,51,0,55,0,59,0,63,0,67,0,71,0,75,0,79,0,83,0,87,0,91,0,95,0,99,0,103,0,107,0,111,0,115, + 0,119,0,123,0,127,0,131,0,135,0,139,0,143,0,0,17,53,51,21,49,150,3,32,5,130,23,32,33,130,3,211,7,151,115,32,128,133,0,37,252,128,128,2,128,128,190,5,133,74,32,4,133,6,206,5,42,0,7, + 1,128,0,0,2,0,4,0,0,65,139,13,37,0,1,53,51,21,7,146,3,32,3,130,19,32,1,141,133,32,3,141,14,131,13,38,255,0,128,128,0,6,1,130,84,35,2,128,4,128,140,91,132,89,32,51,65,143,6,139,7,33, + 1,0,130,57,32,254,130,3,32,128,132,4,32,4,131,14,138,89,35,0,0,24,0,130,0,33,3,128,144,171,66,55,33,148,115,65,187,19,32,5,130,151,143,155,163,39,32,1,136,182,32,253,134,178,132,7, + 132,200,145,17,32,3,65,48,17,165,17,39,0,0,21,0,128,255,128,3,65,175,17,65,3,27,132,253,131,217,139,201,155,233,155,27,131,67,131,31,130,241,33,255,0,131,181,137,232,132,15,132,4,138, + 247,34,255,0,128,179,238,32,0,130,0,32,20,65,239,48,33,0,19,67,235,10,32,51,65,203,14,65,215,11,32,7,154,27,135,39,32,33,130,35,33,128,128,130,231,32,253,132,231,32,128,132,232,34, + 128,128,254,133,13,136,8,32,253,65,186,5,130,36,130,42,176,234,133,231,34,128,0,0,66,215,44,33,0,1,68,235,6,68,211,19,32,49,68,239,14,139,207,139,47,66,13,7,32,51,130,47,33,1,0,130, + 207,35,128,128,1,0,131,222,131,5,130,212,130,6,131,212,32,0,130,10,133,220,130,233,130,226,32,254,133,255,178,233,39,3,1,128,3,0,2,0,4,68,15,7,68,99,12,130,89,130,104,33,128,4,133, + 93,130,10,38,0,0,11,1,0,255,0,68,63,16,70,39,9,66,215,8,32,7,68,77,6,68,175,14,32,29,68,195,6,132,7,35,2,0,128,255,131,91,132,4,65,178,5,141,111,67,129,23,165,135,140,107,142,135,33, + 21,5,69,71,6,131,7,33,1,0,140,104,132,142,130,4,137,247,140,30,68,255,12,39,11,0,128,0,128,3,0,3,69,171,15,67,251,7,65,15,8,66,249,11,65,229,7,67,211,7,66,13,7,35,1,128,128,254,133, + 93,32,254,131,145,132,4,132,18,32,2,151,128,130,23,34,0,0,9,154,131,65,207,8,68,107,15,68,51,7,32,7,70,59,7,135,121,130,82,32,128,151,111,41,0,0,4,0,128,255,0,1,128,1,137,239,33,0, + 37,70,145,10,65,77,10,65,212,14,37,0,0,0,5,0,128,66,109,5,70,123,10,33,0,19,72,33,18,133,237,70,209,11,33,0,2,130,113,137,119,136,115,33,1,0,133,43,130,5,34,0,0,10,69,135,6,70,219, + 13,66,155,7,65,9,12,66,157,11,66,9,11,32,7,130,141,132,252,66,151,9,137,9,66,15,30,36,0,20,0,128,0,130,218,71,11,42,68,51,8,65,141,7,73,19,15,69,47,23,143,39,66,81,7,32,1,66,55,6,34, + 1,128,128,68,25,5,69,32,6,137,6,136,25,32,254,131,42,32,3,66,88,26,148,26,32,0,130,0,32,14,164,231,70,225,12,66,233,7,67,133,19,71,203,15,130,161,32,255,130,155,32,254,139,127,134, + 12,164,174,33,0,15,164,159,33,59,0,65,125,20,66,25,7,32,5,68,191,6,66,29,7,144,165,65,105,9,35,128,128,255,0,137,2,133,182,164,169,33,128,128,197,171,130,155,68,235,7,32,21,70,77,19, + 66,21,10,68,97,8,66,30,5,66,4,43,34,0,17,0,71,19,41,65,253,20,71,25,23,65,91,15,65,115,7,34,2,128,128,66,9,8,130,169,33,1,0,66,212,13,132,28,72,201,43,35,0,0,0,18,66,27,38,76,231,5, + 68,157,20,135,157,32,7,68,185,13,65,129,28,66,20,5,32,253,66,210,11,65,128,49,133,61,32,0,65,135,6,74,111,37,72,149,12,66,203,19,65,147,19,68,93,7,68,85,8,76,4,5,33,255,0,133,129,34, + 254,0,128,68,69,8,181,197,34,0,0,12,65,135,32,65,123,20,69,183,27,133,156,66,50,5,72,87,10,67,137,32,33,0,19,160,139,78,251,13,68,55,20,67,119,19,65,91,36,69,177,15,32,254,143,16,65, + 98,53,32,128,130,0,32,0,66,43,54,70,141,23,66,23,15,131,39,69,47,11,131,15,70,129,19,74,161,9,36,128,255,0,128,254,130,153,65,148,32,67,41,9,34,0,0,4,79,15,5,73,99,10,71,203,8,32,3, + 72,123,6,72,43,8,32,2,133,56,131,99,130,9,34,0,0,6,72,175,5,73,159,14,144,63,135,197,132,189,133,66,33,255,0,73,6,7,70,137,12,35,0,0,0,10,130,3,73,243,25,67,113,12,65,73,7,69,161,7, + 138,7,37,21,2,0,128,128,254,134,3,73,116,27,33,128,128,130,111,39,12,0,128,1,0,3,128,2,72,219,21,35,43,0,47,0,67,47,20,130,111,33,21,1,68,167,13,81,147,8,133,230,32,128,77,73,6,32, + 128,131,142,134,18,130,6,32,255,75,18,12,131,243,37,128,0,128,3,128,3,74,231,21,135,123,32,29,134,107,135,7,32,21,74,117,7,135,7,134,96,135,246,74,103,23,132,242,33,0,10,67,151,28, + 67,133,20,66,141,11,131,11,32,3,77,71,6,32,128,130,113,32,1,81,4,6,134,218,66,130,24,131,31,34,0,26,0,130,0,77,255,44,83,15,11,148,155,68,13,7,32,49,78,231,18,79,7,11,73,243,11,32, + 33,65,187,10,130,63,65,87,8,73,239,19,35,0,128,1,0,131,226,32,252,65,100,6,32,128,139,8,33,1,0,130,21,32,253,72,155,44,73,255,20,32,128,71,67,8,81,243,39,67,15,20,74,191,23,68,121, + 27,32,1,66,150,6,32,254,79,19,11,131,214,32,128,130,215,37,2,0,128,253,0,128,136,5,65,220,24,147,212,130,210,33,0,24,72,219,42,84,255,13,67,119,16,69,245,19,72,225,19,65,3,15,69,93, + 19,131,55,132,178,71,115,14,81,228,6,142,245,33,253,0,132,43,172,252,65,16,11,75,219,8,65,219,31,66,223,24,75,223,10,33,29,1,80,243,10,66,175,8,131,110,134,203,133,172,130,16,70,30, + 7,164,183,130,163,32,20,65,171,48,65,163,36,65,143,23,65,151,19,65,147,13,65,134,17,133,17,130,216,67,114,5,164,217,65,137,12,72,147,48,79,71,19,74,169,22,80,251,8,65,173,7,66,157, + 15,74,173,15,32,254,65,170,8,71,186,45,72,131,6,77,143,40,187,195,152,179,65,123,38,68,215,57,68,179,15,65,85,7,69,187,14,32,21,66,95,15,67,19,25,32,1,83,223,6,32,2,76,240,7,77,166, + 43,65,8,5,130,206,32,0,67,39,54,143,167,66,255,19,82,193,11,151,47,85,171,5,67,27,17,132,160,69,172,11,69,184,56,66,95,6,33,12,1,130,237,32,2,68,179,27,68,175,16,80,135,15,72,55,7, + 71,87,12,73,3,12,132,12,66,75,32,76,215,5,169,139,147,135,148,139,81,12,12,81,185,36,75,251,7,65,23,27,76,215,9,87,165,12,65,209,15,72,157,7,65,245,31,32,128,71,128,6,32,1,82,125,5, + 34,0,128,254,131,169,32,254,131,187,71,180,9,132,27,32,2,88,129,44,32,0,78,47,40,65,79,23,79,171,14,32,21,71,87,8,72,15,14,65,224,33,130,139,74,27,62,93,23,7,68,31,7,75,27,7,139,15, + 74,3,7,74,23,27,65,165,11,65,177,15,67,123,5,32,1,130,221,32,252,71,96,5,74,12,12,133,244,130,25,34,1,0,128,130,2,139,8,93,26,8,65,9,32,65,57,14,140,14,32,0,73,79,67,68,119,11,135, + 11,32,51,90,75,14,139,247,65,43,7,131,19,139,11,69,159,11,65,247,6,36,1,128,128,253,0,90,71,9,33,1,0,132,14,32,128,89,93,14,69,133,6,130,44,131,30,131,6,65,20,56,33,0,16,72,179,40, + 75,47,12,65,215,19,74,95,19,65,43,11,131,168,67,110,5,75,23,17,69,106,6,75,65,5,71,204,43,32,0,80,75,47,71,203,15,159,181,68,91,11,67,197,7,73,101,13,68,85,6,33,128,128,130,214,130, + 25,32,254,74,236,48,130,194,37,0,18,0,128,255,128,77,215,40,65,139,64,32,51,80,159,10,65,147,39,130,219,84,212,43,130,46,75,19,97,74,33,11,65,201,23,65,173,31,33,1,0,79,133,6,66,150, + 5,67,75,48,85,187,6,70,207,37,32,71,87,221,13,73,163,14,80,167,15,132,15,83,193,19,82,209,8,78,99,9,72,190,11,77,110,49,89,63,5,80,91,35,99,63,32,70,235,23,81,99,10,69,148,10,65,110, + 36,32,0,65,99,47,95,219,11,68,171,51,66,87,7,72,57,7,74,45,17,143,17,65,114,50,33,14,0,65,111,40,159,195,98,135,15,35,7,53,51,21,100,78,9,95,146,16,32,254,82,114,6,32,128,67,208,37, + 130,166,99,79,58,32,17,96,99,14,72,31,19,72,87,31,82,155,7,67,47,14,32,21,131,75,134,231,72,51,17,72,78,8,133,8,80,133,6,33,253,128,88,37,9,66,124,36,72,65,12,134,12,71,55,43,66,139, + 27,85,135,10,91,33,12,65,35,11,66,131,11,71,32,8,90,127,6,130,244,71,76,11,168,207,33,0,12,66,123,32,32,0,65,183,15,68,135,11,66,111,7,67,235,11,66,111,15,32,254,97,66,12,160,154,67, + 227,52,80,33,15,87,249,15,93,45,31,75,111,12,93,45,11,77,99,9,160,184,81,31,12,32,15,98,135,30,104,175,7,77,249,36,69,73,15,78,5,12,32,254,66,151,19,34,128,128,4,87,32,12,149,35,133, + 21,96,151,31,32,19,72,35,5,98,173,15,143,15,32,21,143,99,158,129,33,0,0,65,35,52,65,11,15,147,15,98,75,11,33,1,0,143,151,132,15,32,254,99,200,37,132,43,130,4,39,0,10,0,128,1,128,3, + 0,104,151,14,97,187,20,69,131,15,67,195,11,87,227,7,33,128,128,132,128,33,254,0,68,131,9,65,46,26,42,0,0,0,7,0,0,255,128,3,128,0,88,223,15,33,0,21,89,61,22,66,209,12,65,2,12,37,0,2, + 1,0,3,128,101,83,8,36,0,1,53,51,29,130,3,34,21,1,0,66,53,8,32,0,68,215,6,100,55,25,107,111,9,66,193,11,72,167,8,73,143,31,139,31,33,1,0,131,158,32,254,132,5,33,253,128,65,16,9,133, + 17,89,130,25,141,212,33,0,0,93,39,8,90,131,25,93,39,14,66,217,6,106,179,8,159,181,71,125,15,139,47,138,141,87,11,14,76,23,14,65,231,26,140,209,66,122,8,81,179,5,101,195,26,32,47,74, + 75,13,69,159,11,83,235,11,67,21,16,136,167,131,106,130,165,130,15,32,128,101,90,24,134,142,32,0,65,103,51,108,23,11,101,231,15,75,173,23,74,237,23,66,15,6,66,46,17,66,58,17,65,105, + 49,66,247,55,71,179,12,70,139,15,86,229,7,84,167,15,32,1,95,72,12,89,49,6,33,128,128,65,136,38,66,30,9,32,0,100,239,7,66,247,29,70,105,20,65,141,19,69,81,15,130,144,32,128,83,41,5, + 32,255,131,177,68,185,5,133,126,65,97,37,32,0,130,0,33,21,0,130,55,66,195,28,67,155,13,34,79,0,83,66,213,13,73,241,19,66,59,19,65,125,11,135,201,66,249,16,32,128,66,44,11,66,56,17, + 68,143,8,68,124,38,67,183,12,96,211,9,65,143,29,112,171,5,32,0,68,131,63,34,33,53,51,71,121,11,32,254,98,251,16,32,253,74,231,10,65,175,37,133,206,37,0,0,8,1,0,0,107,123,11,113,115, + 9,33,0,1,130,117,131,3,73,103,7,66,51,18,66,44,5,133,75,70,88,5,32,254,65,39,12,68,80,9,34,12,0,128,107,179,28,68,223,6,155,111,86,147,15,32,2,131,82,141,110,33,254,0,130,15,32,4,103, + 184,15,141,35,87,176,5,83,11,5,71,235,23,114,107,11,65,189,16,70,33,15,86,153,31,135,126,86,145,30,65,183,41,32,0,130,0,32,10,65,183,24,34,35,0,39,67,85,9,65,179,15,143,15,33,1,0,65, + 28,17,157,136,130,123,32,20,130,3,32,0,97,135,24,115,167,19,80,71,12,32,51,110,163,14,78,35,19,131,19,155,23,77,229,8,78,9,17,151,17,67,231,46,94,135,8,73,31,31,93,215,56,82,171,25, + 72,77,8,162,179,169,167,99,131,11,69,85,19,66,215,15,76,129,13,68,115,22,72,79,35,67,113,5,34,0,0,19,70,31,46,65,89,52,73,223,15,85,199,33,95,33,8,132,203,73,29,32,67,48,16,177,215, + 101,13,15,65,141,43,69,141,15,75,89,5,70,0,11,70,235,21,178,215,36,10,0,128,0,0,71,207,24,33,0,19,100,67,6,80,215,11,66,67,7,80,43,12,71,106,7,80,192,5,65,63,5,66,217,26,33,0,13,156, + 119,68,95,5,72,233,12,134,129,85,81,11,76,165,20,65,43,8,73,136,8,75,10,31,38,128,128,0,0,0,13,1,130,4,32,3,106,235,29,114,179,12,66,131,23,32,7,77,133,6,67,89,12,131,139,116,60,9, + 89,15,37,32,0,74,15,7,103,11,22,65,35,5,33,55,0,93,81,28,67,239,23,78,85,5,107,93,14,66,84,17,65,193,26,74,183,10,66,67,34,143,135,79,91,15,32,7,117,111,8,75,56,9,84,212,9,154,134, + 32,0,130,0,32,18,130,3,70,171,41,83,7,16,70,131,19,84,191,15,84,175,19,84,167,30,84,158,12,154,193,68,107,15,33,0,0,65,79,42,65,71,7,73,55,7,118,191,16,83,180,9,32,255,76,166,9,154, + 141,32,0,130,0,69,195,52,65,225,15,151,15,75,215,31,80,56,10,68,240,17,100,32,9,70,147,39,65,93,12,71,71,41,92,85,15,84,135,23,78,35,15,110,27,10,84,125,8,107,115,29,136,160,38,0,0, + 14,0,128,255,0,82,155,24,67,239,8,119,255,11,69,131,11,77,29,6,112,31,8,134,27,105,203,8,32,2,75,51,11,75,195,12,74,13,29,136,161,37,128,0,0,0,11,1,130,163,82,115,8,125,191,17,69,35, + 12,74,137,15,143,15,32,1,65,157,12,136,12,161,142,65,43,40,65,199,6,65,19,24,102,185,11,76,123,11,99,6,12,135,12,32,254,130,8,161,155,101,23,9,39,8,0,0,1,128,3,128,2,78,63,17,72,245, + 12,67,41,11,90,167,9,32,128,97,49,9,32,128,109,51,14,132,97,81,191,8,130,97,125,99,12,121,35,9,127,75,15,71,79,12,81,151,23,87,97,7,70,223,15,80,245,16,105,97,15,32,254,113,17,6,32, + 128,130,8,105,105,8,76,122,18,65,243,21,74,63,7,38,4,1,0,255,0,2,0,119,247,28,133,65,32,255,141,91,35,0,0,0,16,67,63,36,34,59,0,63,77,59,9,119,147,11,143,241,66,173,15,66,31,11,67, + 75,8,81,74,16,32,128,131,255,87,181,42,127,43,5,34,255,128,2,120,235,11,37,19,0,23,0,0,37,109,191,14,118,219,7,127,43,14,65,79,14,35,0,0,0,3,73,91,5,130,5,38,3,0,7,0,11,0,0,70,205, + 11,88,221,12,32,0,73,135,7,87,15,22,73,135,10,79,153,15,97,71,19,65,49,11,32,1,131,104,121,235,11,80,65,11,142,179,144,14,81,123,46,32,1,88,217,5,112,5,8,65,201,15,83,29,15,122,147, + 11,135,179,142,175,143,185,67,247,39,66,199,7,35,5,0,128,3,69,203,15,123,163,12,67,127,7,130,119,71,153,10,141,102,70,175,8,32,128,121,235,30,136,89,100,191,11,116,195,11,111,235,15, + 72,39,7,32,2,97,43,5,132,5,94,67,8,131,8,125,253,10,32,3,65,158,16,146,16,130,170,40,0,21,0,128,0,0,3,128,5,88,219,15,24,64,159,32,135,141,65,167,15,68,163,10,97,73,49,32,255,82,58, + 7,93,80,8,97,81,16,24,67,87,52,34,0,0,5,130,231,33,128,2,80,51,13,65,129,8,113,61,6,132,175,65,219,5,130,136,77,152,17,32,0,95,131,61,70,215,6,33,21,51,90,53,10,78,97,23,105,77,31, + 65,117,7,139,75,24,68,195,9,24,64,22,9,33,0,128,130,11,33,128,128,66,25,5,121,38,5,134,5,134,45,66,40,36,66,59,18,34,128,0,0,66,59,81,135,245,123,103,19,120,159,19,77,175,12,33,255, + 0,87,29,10,94,70,21,66,59,54,39,3,1,128,3,0,2,128,4,24,65,7,15,66,47,7,72,98,12,37,0,0,0,3,1,0,24,65,55,21,131,195,32,1,67,178,6,33,4,0,77,141,8,32,6,131,47,74,67,16,24,69,3,20,24, + 65,251,7,133,234,130,229,94,108,17,35,0,0,6,0,141,175,86,59,5,162,79,85,166,8,70,112,13,32,13,24,64,67,26,24,71,255,7,123,211,12,80,121,11,69,215,15,66,217,11,69,71,10,131,113,132, + 126,119,90,9,66,117,19,132,19,32,0,130,0,24,64,47,59,33,7,0,73,227,5,68,243,15,85,13,12,76,37,22,74,254,15,130,138,33,0,4,65,111,6,137,79,65,107,16,32,1,77,200,6,34,128,128,3,75,154, + 12,37,0,16,0,0,2,0,104,115,36,140,157,68,67,19,68,51,15,106,243,15,134,120,70,37,10,68,27,10,140,152,65,121,24,32,128,94,155,7,67,11,8,24,74,11,25,65,3,12,83,89,18,82,21,37,67,200, + 5,130,144,24,64,172,12,33,4,0,134,162,74,80,14,145,184,32,0,130,0,69,251,20,32,19,81,243,5,82,143,8,33,5,53,89,203,5,133,112,79,109,15,33,0,21,130,71,80,175,41,36,75,0,79,0,83,121, + 117,9,87,89,27,66,103,11,70,13,15,75,191,11,135,67,87,97,20,109,203,5,69,246,8,108,171,5,78,195,38,65,51,13,107,203,11,77,3,17,24,75,239,17,65,229,28,79,129,39,130,175,32,128,123,253, + 7,132,142,24,65,51,15,65,239,41,36,128,128,0,0,13,65,171,5,66,163,28,136,183,118,137,11,80,255,15,67,65,7,74,111,8,32,0,130,157,32,253,24,76,35,10,103,212,5,81,175,9,69,141,7,66,150, + 29,131,158,24,75,199,28,124,185,7,76,205,15,68,124,14,32,3,123,139,16,130,16,33,128,128,108,199,6,33,0,3,65,191,35,107,11,6,73,197,11,24,70,121,15,83,247,15,24,70,173,23,69,205,14, + 32,253,131,140,32,254,136,4,94,198,9,32,3,78,4,13,66,127,13,143,13,32,0,130,0,33,16,0,24,69,59,39,109,147,12,76,253,19,24,69,207,15,69,229,15,130,195,71,90,10,139,10,130,152,73,43, + 40,91,139,10,65,131,37,35,75,0,79,0,84,227,12,143,151,68,25,15,80,9,23,95,169,11,34,128,2,128,112,186,5,130,6,83,161,19,76,50,6,130,37,65,145,44,110,83,5,32,16,67,99,6,71,67,15,76, + 55,17,140,215,67,97,23,76,69,15,77,237,11,104,211,23,77,238,11,65,154,43,33,0,10,83,15,28,83,13,20,67,145,19,67,141,14,97,149,21,68,9,15,86,251,5,66,207,5,66,27,37,82,1,23,127,71,12, + 94,235,10,110,175,24,98,243,15,132,154,132,4,24,66,69,10,32,4,67,156,43,130,198,35,2,1,0,4,75,27,9,69,85,9,95,240,7,32,128,130,35,32,28,66,43,40,24,82,63,23,83,123,12,72,231,15,127, + 59,23,116,23,19,117,71,7,24,77,99,15,67,111,15,71,101,8,36,2,128,128,252,128,127,60,11,32,1,132,16,130,18,141,24,67,107,9,32,3,68,194,15,175,15,38,0,11,0,128,1,128,2,80,63,25,32,0, + 24,65,73,11,69,185,15,83,243,16,32,0,24,81,165,8,130,86,77,35,6,155,163,88,203,5,24,66,195,30,70,19,19,24,80,133,15,32,1,75,211,8,32,254,108,133,8,79,87,20,65,32,9,41,0,0,7,0,128,0, + 0,2,128,2,68,87,15,66,1,16,92,201,16,24,76,24,17,133,17,34,128,0,30,66,127,64,34,115,0,119,73,205,9,66,43,11,109,143,15,24,79,203,11,90,143,15,131,15,155,31,65,185,15,86,87,11,35,128, + 128,253,0,69,7,6,130,213,33,1,0,119,178,15,142,17,66,141,74,83,28,6,36,7,0,0,4,128,82,39,18,76,149,12,67,69,21,32,128,79,118,15,32,0,130,0,32,8,131,206,32,2,79,83,9,100,223,14,102, + 113,23,115,115,7,24,65,231,12,130,162,32,4,68,182,19,130,102,93,143,8,69,107,29,24,77,255,12,143,197,72,51,7,76,195,15,132,139,85,49,15,130,152,131,18,71,81,23,70,14,11,36,0,10,0,128, + 2,69,59,9,89,151,15,66,241,11,76,165,12,71,43,15,75,49,13,65,12,23,132,37,32,0,179,115,130,231,95,181,16,132,77,32,254,67,224,8,65,126,20,79,171,8,32,2,89,81,5,75,143,6,80,41,8,34, + 2,0,128,24,81,72,9,32,0,130,0,35,17,0,0,255,77,99,39,95,65,36,67,109,15,24,69,93,11,77,239,5,95,77,23,35,128,1,0,128,24,86,7,8,132,167,32,2,69,198,41,130,202,33,0,26,120,75,44,24,89, + 51,15,71,243,12,70,239,11,24,84,3,11,66,7,11,71,255,10,32,21,69,155,35,88,151,12,32,128,74,38,10,65,210,8,74,251,5,65,226,5,75,201,13,32,3,65,9,41,146,41,40,0,0,0,9,1,0,1,0,2,91,99, + 19,32,35,106,119,13,70,219,15,83,239,12,137,154,32,2,67,252,19,36,128,0,0,4,1,130,196,32,2,130,8,91,107,8,32,0,135,81,24,73,211,8,132,161,73,164,13,36,0,8,0,128,2,105,123,26,139,67, + 76,99,15,34,1,0,128,135,76,83,156,20,92,104,8,67,251,30,24,86,47,27,123,207,12,24,86,7,15,71,227,8,32,4,65,20,20,131,127,32,0,130,123,32,0,71,223,26,32,19,90,195,22,71,223,15,84,200, + 6,32,128,133,241,24,84,149,9,67,41,25,36,0,0,0,22,0,88,111,49,32,87,66,21,5,77,3,27,123,75,7,71,143,19,135,183,71,183,19,130,171,74,252,5,131,5,89,87,17,32,1,132,18,130,232,68,11,10, + 33,1,128,70,208,16,66,230,18,147,18,130,254,223,255,75,27,23,65,59,15,135,39,155,255,34,128,128,254,104,92,8,33,0,128,65,32,11,65,1,58,33,26,0,130,0,72,71,18,78,55,17,76,11,19,86,101, + 12,75,223,11,89,15,11,24,76,87,15,75,235,15,131,15,72,95,7,85,71,11,72,115,11,73,64,6,34,1,128,128,66,215,9,34,128,254,128,134,14,33,128,255,67,102,5,32,0,130,16,70,38,11,66,26,57, + 88,11,8,24,76,215,34,78,139,7,95,245,7,32,7,24,73,75,23,32,128,131,167,130,170,101,158,9,82,49,22,118,139,6,32,18,67,155,44,116,187,9,108,55,14,80,155,23,66,131,15,93,77,10,131,168, + 32,128,73,211,12,24,75,187,22,32,4,96,71,20,67,108,19,132,19,120,207,8,32,5,76,79,15,66,111,21,66,95,8,32,3,190,211,111,3,8,211,212,32,20,65,167,44,34,75,0,79,97,59,13,32,33,112,63, + 10,65,147,19,69,39,19,143,39,24,66,71,9,130,224,65,185,43,94,176,12,65,183,24,71,38,8,24,72,167,7,65,191,38,136,235,24,96,167,12,65,203,62,115,131,13,65,208,42,175,235,67,127,6,32, + 4,76,171,29,114,187,5,32,71,65,211,5,65,203,68,72,51,8,164,219,32,0,172,214,71,239,58,78,3,27,66,143,15,77,19,15,147,31,35,33,53,51,21,66,183,10,173,245,66,170,30,150,30,34,0,0,23, + 80,123,54,76,1,16,73,125,15,82,245,11,167,253,24,76,85,12,70,184,5,32,254,131,185,37,254,0,128,1,0,128,133,16,117,158,18,92,27,38,65,3,17,130,251,35,17,0,128,254,24,69,83,39,140,243, + 121,73,19,109,167,7,81,41,15,24,95,175,12,102,227,15,121,96,11,24,95,189,7,32,3,145,171,154,17,24,77,47,9,33,0,5,70,71,37,68,135,7,32,29,117,171,11,69,87,15,24,79,97,19,24,79,149,23, + 131,59,32,1,75,235,5,72,115,11,72,143,7,132,188,71,27,46,131,51,32,0,69,95,6,175,215,32,21,131,167,81,15,19,151,191,151,23,131,215,71,43,5,32,254,24,79,164,24,74,109,8,77,166,13,65, + 176,26,88,162,5,98,159,6,171,219,120,247,6,79,29,8,99,169,10,103,59,19,65,209,35,131,35,91,25,19,112,94,15,83,36,8,173,229,33,20,0,88,75,43,71,31,12,65,191,71,33,1,0,130,203,32,254, + 131,4,68,66,7,67,130,6,104,61,13,173,215,38,13,1,0,0,0,2,128,67,111,28,74,129,16,104,35,19,79,161,16,87,14,7,138,143,132,10,67,62,36,114,115,5,162,151,67,33,16,108,181,15,143,151,67, + 5,5,24,100,242,15,170,153,34,0,0,14,65,51,34,32,55,79,75,9,32,51,74,7,10,65,57,38,132,142,32,254,72,0,14,139,163,32,128,80,254,8,67,158,21,65,63,7,32,4,72,227,27,95,155,12,67,119,19, + 124,91,24,149,154,72,177,34,97,223,8,155,151,24,108,227,15,88,147,16,72,117,19,68,35,11,92,253,15,70,199,15,24,87,209,17,32,2,87,233,7,32,1,24,88,195,10,119,24,8,32,3,81,227,24,65, + 125,21,35,128,128,0,25,76,59,48,24,90,187,9,97,235,12,66,61,11,91,105,19,24,79,141,11,24,79,117,15,24,79,129,27,90,53,13,130,13,32,253,131,228,24,79,133,40,69,70,8,66,137,31,65,33, + 19,96,107,8,68,119,29,66,7,5,68,125,16,65,253,19,65,241,27,24,90,179,13,24,79,143,18,33,128,128,130,246,32,254,130,168,68,154,36,77,51,9,97,47,5,167,195,32,21,131,183,78,239,27,155, + 195,78,231,14,201,196,77,11,6,32,5,73,111,37,97,247,12,77,19,31,155,207,78,215,19,162,212,69,17,14,66,91,19,80,143,57,78,203,39,159,215,32,128,93,134,8,24,80,109,24,66,113,15,169,215, + 66,115,6,32,4,69,63,33,32,0,101,113,7,86,227,35,143,211,36,49,53,51,21,1,77,185,14,65,159,28,69,251,34,67,56,8,33,9,0,24,107,175,25,90,111,12,110,251,11,119,189,24,119,187,34,87,15, + 9,32,4,66,231,37,90,39,7,66,239,8,84,219,15,69,105,23,24,85,27,27,87,31,11,33,1,128,76,94,6,32,1,85,241,7,33,128,128,106,48,10,33,128,128,69,136,11,133,13,24,79,116,49,84,236,8,24, + 91,87,9,32,5,165,255,69,115,12,66,27,15,159,15,24,72,247,12,74,178,5,24,80,64,15,33,0,128,143,17,77,89,51,130,214,24,81,43,7,170,215,74,49,8,159,199,143,31,139,215,69,143,5,32,254, + 24,81,50,35,181,217,84,123,70,143,195,159,15,65,187,16,66,123,7,65,175,15,65,193,29,68,207,39,79,27,5,70,131,6,32,4,68,211,33,33,67,0,83,143,14,159,207,143,31,140,223,33,0,128,24,80, + 82,14,24,93,16,23,32,253,65,195,5,68,227,40,133,214,107,31,7,32,5,67,115,27,87,9,8,107,31,43,66,125,6,32,0,103,177,23,131,127,72,203,36,32,0,110,103,8,155,163,73,135,6,32,19,24,112, + 99,10,65,71,11,73,143,19,143,31,126,195,5,24,85,21,9,24,76,47,14,32,254,24,93,77,36,68,207,11,39,25,0,0,255,128,3,128,4,66,51,37,95,247,13,82,255,24,76,39,19,147,221,66,85,27,24,118, + 7,8,24,74,249,12,76,74,8,91,234,8,67,80,17,131,222,33,253,0,121,30,44,73,0,16,69,15,6,32,0,65,23,38,69,231,12,65,179,6,98,131,16,86,31,27,24,108,157,14,80,160,8,24,65,46,17,33,4,0, + 96,2,18,144,191,65,226,8,68,19,5,171,199,80,9,15,180,199,67,89,5,32,255,24,79,173,28,174,201,24,79,179,50,32,1,24,122,5,10,82,61,10,180,209,83,19,8,32,128,24,80,129,27,111,248,43,131, + 71,24,115,103,8,67,127,41,78,213,24,100,247,19,66,115,39,75,107,5,32,254,165,219,78,170,40,24,112,163,49,32,1,97,203,6,65,173,64,32,0,83,54,7,133,217,88,37,12,32,254,131,28,33,128, + 3,67,71,44,84,183,6,32,5,69,223,33,96,7,7,123,137,16,192,211,24,112,14,9,32,255,67,88,29,68,14,10,84,197,38,33,0,22,116,47,50,32,87,106,99,9,116,49,15,89,225,15,97,231,23,70,41,19, + 82,85,8,93,167,6,32,253,132,236,108,190,7,89,251,5,116,49,58,33,128,128,131,234,32,15,24,74,67,38,70,227,24,24,83,45,23,89,219,12,70,187,12,89,216,19,32,2,69,185,24,141,24,70,143,66, + 24,82,119,56,78,24,10,32,253,133,149,132,6,24,106,233,7,69,198,48,178,203,81,243,12,68,211,15,106,255,23,66,91,15,69,193,7,100,39,10,24,83,72,16,176,204,33,19,0,88,207,45,68,21,12, + 68,17,10,65,157,53,68,17,6,32,254,92,67,10,65,161,25,69,182,43,24,118,91,47,69,183,18,181,209,111,253,12,89,159,8,66,112,12,69,184,45,35,0,0,0,9,24,80,227,26,73,185,16,118,195,15,131, + 15,33,1,0,65,59,15,66,39,27,160,111,66,205,12,148,111,143,110,33,128,128,156,112,24,81,199,8,75,199,23,66,117,20,155,121,32,254,68,126,12,72,213,29,134,239,149,123,89,27,16,148,117, + 65,245,8,24,71,159,14,141,134,134,28,73,51,55,109,77,15,105,131,11,68,67,11,76,169,27,107,209,12,102,174,8,32,128,72,100,18,116,163,56,79,203,11,75,183,44,85,119,19,71,119,23,151,227, + 32,1,93,27,8,65,122,5,77,102,8,110,120,20,66,23,8,66,175,17,66,63,12,133,12,79,35,8,74,235,33,67,149,16,69,243,15,78,57,15,69,235,16,67,177,7,151,192,130,23,67,84,29,141,192,174,187, + 77,67,15,69,11,12,159,187,77,59,10,199,189,24,70,235,50,96,83,19,66,53,23,105,65,19,77,47,12,163,199,66,67,37,78,207,50,67,23,23,174,205,67,228,6,71,107,13,67,22,14,66,85,11,83,187, + 38,124,47,49,95,7,19,66,83,23,67,23,19,24,96,78,17,80,101,16,71,98,40,33,0,7,88,131,22,24,89,245,12,84,45,12,102,213,5,123,12,9,32,2,126,21,14,43,255,0,128,128,0,0,20,0,128,255,128, + 3,126,19,39,32,75,106,51,7,113,129,15,24,110,135,19,126,47,15,115,117,11,69,47,11,32,2,109,76,9,102,109,9,32,128,75,2,10,130,21,32,254,69,47,6,32,3,94,217,47,32,0,65,247,10,69,15,46, + 65,235,31,65,243,15,101,139,10,66,174,14,65,247,16,72,102,28,69,17,14,84,243,9,165,191,88,47,48,66,53,12,32,128,71,108,6,203,193,32,17,75,187,42,73,65,16,65,133,52,114,123,9,167,199, + 69,21,37,86,127,44,75,171,11,180,197,78,213,12,148,200,81,97,46,24,95,243,9,32,4,66,75,33,113,103,9,87,243,36,143,225,24,84,27,31,90,145,8,148,216,67,49,5,24,84,34,14,75,155,27,67, + 52,13,140,13,36,0,20,0,128,255,24,135,99,46,88,59,43,155,249,80,165,7,136,144,71,161,23,32,253,132,33,32,254,88,87,44,136,84,35,128,0,0,21,81,103,5,94,47,44,76,51,12,143,197,151,15, + 65,215,31,24,64,77,13,65,220,20,65,214,14,71,4,40,65,213,13,32,0,130,0,35,21,1,2,0,135,0,34,36,0,72,134,10,36,1,0,26,0,130,134,11,36,2,0,14,0,108,134,11,32,3,138,23,32,4,138,11,34, + 5,0,20,134,33,34,0,0,6,132,23,32,1,134,15,32,18,130,25,133,11,37,1,0,13,0,49,0,133,11,36,2,0,7,0,38,134,11,36,3,0,17,0,45,134,11,32,4,138,35,36,5,0,10,0,62,134,23,32,6,132,23,36,3, + 0,1,4,9,130,87,131,167,133,11,133,167,133,11,133,167,133,11,37,3,0,34,0,122,0,133,11,133,167,133,11,133,167,133,11,133,167,34,50,0,48,130,1,34,52,0,47,134,5,8,49,49,0,53,98,121,32, + 84,114,105,115,116,97,110,32,71,114,105,109,109,101,114,82,101,103,117,108,97,114,84,84,88,32,80,114,111,103,103,121,67,108,101,97,110,84,84,50,48,48,52,47,130,2,53,49,53,0,98,0,121, + 0,32,0,84,0,114,0,105,0,115,0,116,0,97,0,110,130,15,32,71,132,15,36,109,0,109,0,101,130,9,32,82,130,5,36,103,0,117,0,108,130,29,32,114,130,43,34,84,0,88,130,35,32,80,130,25,34,111, + 0,103,130,1,34,121,0,67,130,27,32,101,132,59,32,84,130,31,33,0,0,65,155,9,34,20,0,0,65,11,6,130,8,135,2,33,1,1,130,9,8,120,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,11,1,12,1,13,1,14, + 1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0, + 22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,130,187,8,66,33,0,34,0,35,0,36,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0, + 57,0,58,0,59,0,60,0,61,0,62,0,63,0,64,0,65,0,66,130,243,9,75,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,91,0, + 92,0,93,0,94,0,95,0,96,0,97,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1,48,1,49,1,50,1,51,1,52,1,53,1,54,1,55,1,56,1,57,1,58,1,59,1,60,1,61,1,62,1, + 63,1,64,1,65,0,172,0,163,0,132,0,133,0,189,0,150,0,232,0,134,0,142,0,139,0,157,0,169,0,164,0,239,0,138,0,218,0,131,0,147,0,242,0,243,0,141,0,151,0,136,0,195,0,222,0,241,0,158,0,170, + 0,245,0,244,0,246,0,162,0,173,0,201,0,199,0,174,0,98,0,99,0,144,0,100,0,203,0,101,0,200,0,202,0,207,0,204,0,205,0,206,0,233,0,102,0,211,0,208,0,209,0,175,0,103,0,240,0,145,0,214,0, + 212,0,213,0,104,0,235,0,237,0,137,0,106,0,105,0,107,0,109,0,108,0,110,0,160,0,111,0,113,0,112,0,114,0,115,0,117,0,116,0,118,0,119,0,234,0,120,0,122,0,121,0,123,0,125,0,124,0,184,0, + 161,0,127,0,126,0,128,0,129,0,236,0,238,0,186,14,117,110,105,99,111,100,101,35,48,120,48,48,48,49,141,14,32,50,141,14,32,51,141,14,32,52,141,14,32,53,141,14,32,54,141,14,32,55,141, + 14,32,56,141,14,32,57,141,14,32,97,141,14,32,98,141,14,32,99,141,14,32,100,141,14,32,101,141,14,32,102,140,14,33,49,48,141,14,141,239,32,49,141,239,32,49,141,239,32,49,141,239,32,49, + 141,239,32,49,141,239,32,49,141,239,32,49,141,239,32,49,141,239,32,49,141,239,32,49,141,239,32,49,141,239,32,49,141,239,32,49,141,239,45,49,102,6,100,101,108,101,116,101,4,69,117,114, + 111,140,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236,32,56,141,236, + 32,56,141,236,32,56,141,236,32,56,65,220,13,32,57,65,220,13,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141, + 239,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141,239,32,57,141,239,35,57,102,0,0,5,250,72,249,98,247, +}; + +static const char* GetDefaultCompressedFontDataTTF(int* out_size) +{ + *out_size = proggy_clean_ttf_compressed_size; + return (const char*)proggy_clean_ttf_compressed_data; } +#endif // #ifndef IMGUI_DISABLE_DEFAULT_FONT #endif // #ifndef IMGUI_DISABLE diff --git a/3rdparty/imgui/src/imgui_freetype.cpp b/3rdparty/imgui/src/imgui_freetype.cpp index 68e38ed95b888..997bc4340bd58 100644 --- a/3rdparty/imgui/src/imgui_freetype.cpp +++ b/3rdparty/imgui/src/imgui_freetype.cpp @@ -6,10 +6,11 @@ // CHANGELOG // (minor and older changes stripped away, please see git history for details) +// 2024/10/17: added plutosvg support for SVG Fonts (seems faster/better than lunasvg). Enable by using '#define IMGUI_ENABLE_FREETYPE_PLUTOSVG'. (#7927) // 2023/11/13: added support for ImFontConfig::RasterizationDensity field for scaling render density without scaling metrics. -// 2023/08/01: added support for SVG fonts, enable by using '#define IMGUI_ENABLE_FREETYPE_LUNASVG' (#6591) +// 2023/08/01: added support for SVG fonts, enable by using '#define IMGUI_ENABLE_FREETYPE_LUNASVG'. (#6591) // 2023/01/04: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. -// 2021/08/23: fixed crash when FT_Render_Glyph() fails to render a glyph and returns NULL. +// 2021/08/23: fixed crash when FT_Render_Glyph() fails to render a glyph and returns nullptr. // 2021/03/05: added ImGuiFreeTypeBuilderFlags_Bitmap to load bitmap glyphs. // 2021/03/02: set 'atlas->TexPixelsUseColors = true' to help some backends with deciding of a preferred texture format. // 2021/01/28: added support for color-layered glyphs via ImGuiFreeTypeBuilderFlags_LoadColor (require Freetype 2.10+). @@ -45,12 +46,21 @@ #include FT_GLYPH_H // #include FT_SYNTHESIS_H // -#ifdef IMGUI_ENABLE_FREETYPE_LUNASVG +// Handle LunaSVG and PlutoSVG +#if defined(IMGUI_ENABLE_FREETYPE_LUNASVG) && defined(IMGUI_ENABLE_FREETYPE_PLUTOSVG) +#error "Cannot enable both IMGUI_ENABLE_FREETYPE_LUNASVG and IMGUI_ENABLE_FREETYPE_PLUTOSVG" +#endif +#ifdef IMGUI_ENABLE_FREETYPE_LUNASVG #include FT_OTSVG_H // #include FT_BBOX_H // #include +#endif +#ifdef IMGUI_ENABLE_FREETYPE_PLUTOSVG +#include +#endif +#if defined(IMGUI_ENABLE_FREETYPE_LUNASVG) || defined (IMGUI_ENABLE_FREETYPE_PLUTOSVG) #if !((FREETYPE_MAJOR >= 2) && (FREETYPE_MINOR >= 12)) -#error IMGUI_ENABLE_FREETYPE_LUNASVG requires FreeType version >= 2.12 +#error IMGUI_ENABLE_FREETYPE_PLUTOSVG or IMGUI_ENABLE_FREETYPE_LUNASVG requires FreeType version >= 2.12 #endif #endif @@ -159,6 +169,7 @@ namespace const FT_Glyph_Metrics* LoadGlyph(uint32_t in_codepoint); const FT_Bitmap* RenderGlyphAndGetInfo(GlyphInfo* out_glyph_info); void BlitGlyph(const FT_Bitmap* ft_bitmap, uint32_t* dst, uint32_t dst_pitch, unsigned char* multiply_table = nullptr); + FreeTypeFont() { memset((void*)this, 0, sizeof(*this)); } ~FreeTypeFont() { CloseFont(); } // [Internals] @@ -269,11 +280,11 @@ namespace // Need an outline for this to work FT_GlyphSlot slot = Face->glyph; -#ifdef IMGUI_ENABLE_FREETYPE_LUNASVG +#if defined(IMGUI_ENABLE_FREETYPE_LUNASVG) || defined(IMGUI_ENABLE_FREETYPE_PLUTOSVG) IM_ASSERT(slot->format == FT_GLYPH_FORMAT_OUTLINE || slot->format == FT_GLYPH_FORMAT_BITMAP || slot->format == FT_GLYPH_FORMAT_SVG); #else #if ((FREETYPE_MAJOR >= 2) && (FREETYPE_MINOR >= 12)) - IM_ASSERT(slot->format != FT_GLYPH_FORMAT_SVG && "The font contains SVG glyphs, you'll need to enable IMGUI_ENABLE_FREETYPE_LUNASVG in imconfig.h and install required libraries in order to use this font"); + IM_ASSERT(slot->format != FT_GLYPH_FORMAT_SVG && "The font contains SVG glyphs, you'll need to enable IMGUI_ENABLE_FREETYPE_PLUTOSVG or IMGUI_ENABLE_FREETYPE_LUNASVG in imconfig.h and install required libraries in order to use this font"); #endif IM_ASSERT(slot->format == FT_GLYPH_FORMAT_OUTLINE || slot->format == FT_GLYPH_FORMAT_BITMAP); #endif // IMGUI_ENABLE_FREETYPE_LUNASVG @@ -480,8 +491,9 @@ bool ImFontAtlasBuildWithFreeTypeEx(FT_Library ft_library, ImFontAtlas* atlas, u for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2) { // Check for valid range. This may also help detect *some* dangling pointers, because a common - // user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent. - IM_ASSERT(src_range[0] <= src_range[1]); + // user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent, + // or to forget to zero-terminate the glyph range array. + IM_ASSERT(src_range[0] <= src_range[1] && "Invalid range: is your glyph range array persistent? it is zero-terminated?"); src_tmp.GlyphsHighest = ImMax(src_tmp.GlyphsHighest, (int)src_range[1]); } dst_tmp.SrcCount++; @@ -561,6 +573,7 @@ bool ImFontAtlasBuildWithFreeTypeEx(FT_Library ft_library, ImFontAtlas* atlas, u // 8. Render/rasterize font characters into the texture int total_surface = 0; int buf_rects_out_n = 0; + const int pack_padding = atlas->TexGlyphPadding; for (int src_i = 0; src_i < src_tmp_array.Size; src_i++) { ImFontBuildSrcDataFT& src_tmp = src_tmp_array[src_i]; @@ -578,7 +591,6 @@ bool ImFontAtlasBuildWithFreeTypeEx(FT_Library ft_library, ImFontAtlas* atlas, u ImFontAtlasBuildMultiplyCalcLookupTable(multiply_table, cfg.RasterizerMultiply); // Gather the sizes of all rectangles we will need to pack - const int padding = atlas->TexGlyphPadding; for (int glyph_i = 0; glyph_i < src_tmp.GlyphsList.Size; glyph_i++) { ImFontBuildSrcGlyphFT& src_glyph = src_tmp.GlyphsList[glyph_i]; @@ -606,11 +618,13 @@ bool ImFontAtlasBuildWithFreeTypeEx(FT_Library ft_library, ImFontAtlas* atlas, u buf_bitmap_current_used_bytes += bitmap_size_in_bytes; src_tmp.Font.BlitGlyph(ft_bitmap, src_glyph.BitmapData, src_glyph.Info.Width, multiply_enabled ? multiply_table : nullptr); - src_tmp.Rects[glyph_i].w = (stbrp_coord)(src_glyph.Info.Width + padding); - src_tmp.Rects[glyph_i].h = (stbrp_coord)(src_glyph.Info.Height + padding); + src_tmp.Rects[glyph_i].w = (stbrp_coord)(src_glyph.Info.Width + pack_padding); + src_tmp.Rects[glyph_i].h = (stbrp_coord)(src_glyph.Info.Height + pack_padding); total_surface += src_tmp.Rects[glyph_i].w * src_tmp.Rects[glyph_i].h; } } + for (int i = 0; i < atlas->CustomRects.Size; i++) + total_surface += (atlas->CustomRects[i].Width + pack_padding) * (atlas->CustomRects[i].Height + pack_padding); // We need a width for the skyline algorithm, any width! // The exact width doesn't really matter much, but some API/GPU have texture size limitations and increasing width can decrease height. @@ -670,8 +684,6 @@ bool ImFontAtlasBuildWithFreeTypeEx(FT_Library ft_library, ImFontAtlas* atlas, u for (int src_i = 0; src_i < src_tmp_array.Size; src_i++) { ImFontBuildSrcDataFT& src_tmp = src_tmp_array[src_i]; - if (src_tmp.GlyphsCount == 0) - continue; // When merging fonts with MergeMode=true: // - We can have multiple input fonts writing into a same destination font. @@ -682,6 +694,9 @@ bool ImFontAtlasBuildWithFreeTypeEx(FT_Library ft_library, ImFontAtlas* atlas, u const float ascent = src_tmp.Font.Info.Ascender; const float descent = src_tmp.Font.Info.Descender; ImFontAtlasBuildSetupFont(atlas, dst_font, &cfg, ascent, descent); + + if (src_tmp.GlyphsCount == 0) + continue; const float font_off_x = cfg.GlyphOffset.x; const float font_off_y = cfg.GlyphOffset.y + IM_ROUND(dst_font->Ascent); @@ -809,6 +824,10 @@ static bool ImFontAtlasBuildWithFreeType(ImFontAtlas* atlas) SVG_RendererHooks hooks = { ImGuiLunasvgPortInit, ImGuiLunasvgPortFree, ImGuiLunasvgPortRender, ImGuiLunasvgPortPresetSlot }; FT_Property_Set(ft_library, "ot-svg", "svg-hooks", &hooks); #endif // IMGUI_ENABLE_FREETYPE_LUNASVG +#ifdef IMGUI_ENABLE_FREETYPE_PLUTOSVG + // With plutosvg, use provided hooks + FT_Property_Set(ft_library, "ot-svg", "svg-hooks", plutosvg_ft_svg_hooks()); +#endif // IMGUI_ENABLE_FREETYPE_PLUTOSVG bool ret = ImFontAtlasBuildWithFreeTypeEx(ft_library, atlas, atlas->FontBuilderFlags); FT_Done_Library(ft_library); diff --git a/3rdparty/imgui/src/imgui_stdlib.cpp b/3rdparty/imgui/src/imgui_stdlib.cpp index cf69aa89a6304..c04d487cc77ab 100644 --- a/3rdparty/imgui/src/imgui_stdlib.cpp +++ b/3rdparty/imgui/src/imgui_stdlib.cpp @@ -8,6 +8,7 @@ // https://github.com/ocornut/imgui/wiki/Useful-Extensions#cness #include "imgui.h" +#ifndef IMGUI_DISABLE #include "imgui_stdlib.h" // Clang warnings with -Weverything @@ -83,3 +84,5 @@ bool ImGui::InputTextWithHint(const char* label, const char* hint, std::string* #if defined(__clang__) #pragma clang diagnostic pop #endif + +#endif // #ifndef IMGUI_DISABLE diff --git a/3rdparty/imgui/src/imgui_tables.cpp b/3rdparty/imgui/src/imgui_tables.cpp index 37dd703043bcc..efef5ff74347d 100644 --- a/3rdparty/imgui/src/imgui_tables.cpp +++ b/3rdparty/imgui/src/imgui_tables.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.91.0 +// dear imgui, v1.91.7 // (tables and columns code) /* @@ -229,9 +229,14 @@ Index of this file: #pragma clang diagnostic ignored "-Wdeprecated-enum-enum-conversion"// warning: bitwise operation between different enumeration types ('XXXFlags_' and 'XXXFlagsPrivate_') is deprecated #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" // warning: implicit conversion from 'xxx' to 'float' may lose precision #pragma clang diagnostic ignored "-Wunsafe-buffer-usage" // warning: 'xxx' is an unsafe pointer used for buffer access +#pragma clang diagnostic ignored "-Wnontrivial-memaccess" // warning: first argument in call to 'memset' is a pointer to non-trivially copyable type #elif defined(__GNUC__) #pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind +#pragma GCC diagnostic ignored "-Wfloat-equal" // warning: comparing floating-point with '==' or '!=' is unsafe #pragma GCC diagnostic ignored "-Wformat-nonliteral" // warning: format not a string literal, format string not checked +#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function +#pragma GCC diagnostic ignored "-Wformat" // warning: format '%p' expects argument of type 'int'/'void*', but argument X has type 'unsigned int'/'ImGuiWindow*' +#pragma GCC diagnostic ignored "-Wstrict-overflow" #pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead #endif @@ -328,7 +333,7 @@ bool ImGui::BeginTableEx(const char* name, ImGuiID id, int columns_count, ImG // - always performing the GetOrAddByKey() O(log N) query in g.Tables.Map[]. const bool use_child_window = (flags & (ImGuiTableFlags_ScrollX | ImGuiTableFlags_ScrollY)) != 0; const ImVec2 avail_size = GetContentRegionAvail(); - const ImVec2 actual_outer_size = CalcItemSize(outer_size, ImMax(avail_size.x, 1.0f), use_child_window ? ImMax(avail_size.y, 1.0f) : 0.0f); + const ImVec2 actual_outer_size = ImTrunc(CalcItemSize(outer_size, ImMax(avail_size.x, 1.0f), use_child_window ? ImMax(avail_size.y, 1.0f) : 0.0f)); const ImRect outer_rect(outer_window->DC.CursorPos, outer_window->DC.CursorPos + actual_outer_size); const bool outer_window_is_measuring_size = (outer_window->AutoFitFramesX > 0) || (outer_window->AutoFitFramesY > 0); // Doesn't apply to AlwaysAutoResize windows! if (use_child_window && IsClippedEx(outer_rect, 0) && !outer_window_is_measuring_size) @@ -409,7 +414,8 @@ bool ImGui::BeginTableEx(const char* name, ImGuiID id, int columns_count, ImG // Reset scroll if we are reactivating it if ((previous_flags & (ImGuiTableFlags_ScrollX | ImGuiTableFlags_ScrollY)) == 0) - SetNextWindowScroll(ImVec2(0.0f, 0.0f)); + if ((g.NextWindowData.Flags & ImGuiNextWindowDataFlags_HasScroll) == 0) + SetNextWindowScroll(ImVec2(0.0f, 0.0f)); // Create scrolling region (without border and zero window padding) ImGuiWindowFlags child_window_flags = (flags & ImGuiTableFlags_ScrollX) ? ImGuiWindowFlags_HorizontalScrollbar : ImGuiWindowFlags_None; @@ -460,16 +466,27 @@ bool ImGui::BeginTableEx(const char* name, ImGuiID id, int columns_count, ImG temp_data->HostBackupItemWidthStackSize = outer_window->DC.ItemWidthStack.Size; inner_window->DC.PrevLineSize = inner_window->DC.CurrLineSize = ImVec2(0.0f, 0.0f); - // Make left and top borders not overlap our contents by offsetting HostClipRect (#6765) + // Make borders not overlap our contents by offsetting HostClipRect (#6765, #7428, #3752) // (we normally shouldn't alter HostClipRect as we rely on TableMergeDrawChannels() expanding non-clipped column toward the // limits of that rectangle, in order for ImDrawListSplitter::Merge() to merge the draw commands. However since the overlap // problem only affect scrolling tables in this case we can get away with doing it without extra cost). if (inner_window != outer_window) { + // FIXME: Because inner_window's Scrollbar doesn't know about border size, since it's not encoded in window->WindowBorderSize, + // it already overlaps it and doesn't need an extra offset. Ideally we should be able to pass custom border size with + // different x/y values to BeginChild(). if (flags & ImGuiTableFlags_BordersOuterV) + { table->HostClipRect.Min.x = ImMin(table->HostClipRect.Min.x + TABLE_BORDER_SIZE, table->HostClipRect.Max.x); + if (inner_window->DecoOuterSizeX2 == 0.0f) + table->HostClipRect.Max.x = ImMax(table->HostClipRect.Max.x - TABLE_BORDER_SIZE, table->HostClipRect.Min.x); + } if (flags & ImGuiTableFlags_BordersOuterH) + { table->HostClipRect.Min.y = ImMin(table->HostClipRect.Min.y + TABLE_BORDER_SIZE, table->HostClipRect.Max.y); + if (inner_window->DecoOuterSizeY2 == 0.0f) + table->HostClipRect.Max.y = ImMax(table->HostClipRect.Max.y - TABLE_BORDER_SIZE, table->HostClipRect.Min.y); + } } // Padding and Spacing @@ -497,7 +514,7 @@ bool ImGui::BeginTableEx(const char* name, ImGuiID id, int columns_count, ImG table->InnerClipRect = (inner_window == outer_window) ? table->WorkRect : inner_window->ClipRect; table->InnerClipRect.ClipWith(table->WorkRect); // We need this to honor inner_width table->InnerClipRect.ClipWithFull(table->HostClipRect); - table->InnerClipRect.Max.y = (flags & ImGuiTableFlags_NoHostExtendY) ? ImMin(table->InnerClipRect.Max.y, inner_window->WorkRect.Max.y) : inner_window->ClipRect.Max.y; + table->InnerClipRect.Max.y = (flags & ImGuiTableFlags_NoHostExtendY) ? ImMin(table->InnerClipRect.Max.y, inner_window->WorkRect.Max.y) : table->HostClipRect.Max.y; table->RowPosY1 = table->RowPosY2 = table->WorkRect.Min.y; // This is needed somehow table->RowTextBaseline = 0.0f; // This will be cleared again by TableBeginRow() @@ -855,7 +872,7 @@ void ImGui::TableUpdateLayout(ImGuiTable* table) // Calculate ideal/auto column width (that's the width required for all contents to be visible without clipping) // Combine width from regular rows + width from headers unless requested not to. - if (!column->IsPreserveWidthAuto) + if (!column->IsPreserveWidthAuto && table->InstanceCurrent == 0) column->WidthAuto = TableGetColumnWidthAuto(table, column); // Non-resizable columns keep their requested width (apply user value regardless of IsPreserveWidthAuto) @@ -1059,16 +1076,12 @@ void ImGui::TableUpdateLayout(ImGuiTable* table) continue; } - // Detect hovered column - if (is_hovering_table && mouse_skewed_x >= column->ClipRect.Min.x && mouse_skewed_x < column->ClipRect.Max.x) - table->HoveredColumnBody = (ImGuiTableColumnIdx)column_n; - // Lock start position column->MinX = offset_x; // Lock width based on start position and minimum/maximum width for this position - float max_width = TableGetMaxColumnWidth(table, column_n); - column->WidthGiven = ImMin(column->WidthGiven, max_width); + column->WidthMax = TableCalcMaxColumnWidth(table, column_n); + column->WidthGiven = ImMin(column->WidthGiven, column->WidthMax); column->WidthGiven = ImMax(column->WidthGiven, ImMin(column->WidthRequest, table->MinColumnWidth)); column->MaxX = offset_x + column->WidthGiven + table->CellSpacingX1 + table->CellSpacingX2 + table->CellPaddingX * 2.0f; @@ -1117,8 +1130,13 @@ void ImGui::TableUpdateLayout(ImGuiTable* table) column->Flags |= ImGuiTableColumnFlags_IsVisible; if (column->SortOrder != -1) column->Flags |= ImGuiTableColumnFlags_IsSorted; - if (table->HoveredColumnBody == column_n) + + // Detect hovered column + if (is_hovering_table && mouse_skewed_x >= column->ClipRect.Min.x && mouse_skewed_x < column->ClipRect.Max.x) + { column->Flags |= ImGuiTableColumnFlags_IsHovered; + table->HoveredColumnBody = (ImGuiTableColumnIdx)column_n; + } // Alignment // FIXME-TABLE: This align based on the whole column width, not per-cell, and therefore isn't useful in @@ -1148,7 +1166,7 @@ void ImGui::TableUpdateLayout(ImGuiTable* table) } // Don't decrement auto-fit counters until container window got a chance to submit its items - if (table->HostSkipItems == false) + if (table->HostSkipItems == false && table->InstanceCurrent == 0) { column->AutoFitQueue >>= 1; column->CannotSkipItemsQueue >>= 1; @@ -1249,7 +1267,7 @@ void ImGui::TableUpdateLayout(ImGuiTable* table) if (table->Flags & ImGuiTableFlags_NoClip) table->DrawSplitter->SetCurrentChannel(inner_window->DrawList, TABLE_DRAW_CHANNEL_NOCLIP); else - inner_window->DrawList->PushClipRect(inner_window->ClipRect.Min, inner_window->ClipRect.Max, false); + inner_window->DrawList->PushClipRect(inner_window->InnerClipRect.Min, inner_window->InnerClipRect.Max, false); // FIXME: use table->InnerClipRect? } // Process hit-testing on resizing borders. Actual size change will be applied in EndTable() @@ -1319,7 +1337,11 @@ void ImGui::EndTable() { ImGuiContext& g = *GImGui; ImGuiTable* table = g.CurrentTable; - IM_ASSERT(table != NULL && "Only call EndTable() if BeginTable() returns true!"); + if (table == NULL) + { + IM_ASSERT_USER_ERROR(table != NULL, "EndTable() call should only be done while in BeginTable() scope!"); + return; + } // This assert would be very useful to catch a common error... unfortunately it would probably trigger in some // cases, and for consistency user may sometimes output empty tables (and still benefit from e.g. outer border) @@ -1472,7 +1494,9 @@ void ImGui::EndTable() { short backup_nav_layers_active_mask = inner_window->DC.NavLayersActiveMask; inner_window->DC.NavLayersActiveMask |= 1 << ImGuiNavLayer_Main; // So empty table don't appear to navigate differently. + g.CurrentTable = NULL; // To avoid error recovery recursing EndChild(); + g.CurrentTable = table; inner_window->DC.NavLayersActiveMask = backup_nav_layers_active_mask; } else @@ -1540,8 +1564,12 @@ void ImGui::TableSetupColumn(const char* label, ImGuiTableColumnFlags flags, flo { ImGuiContext& g = *GImGui; ImGuiTable* table = g.CurrentTable; - IM_ASSERT(table != NULL && "Need to call TableSetupColumn() after BeginTable()!"); - IM_ASSERT(table->IsLayoutLocked == false && "Need to call call TableSetupColumn() before first row!"); + if (table == NULL) + { + IM_ASSERT_USER_ERROR(table != NULL, "Call should only be done while in BeginTable() scope!"); + return; + } + IM_ASSERT(table->IsLayoutLocked == false && "Need to call TableSetupColumn() before first row!"); IM_ASSERT((flags & ImGuiTableColumnFlags_StatusMask_) == 0 && "Illegal to pass StatusMask values to TableSetupColumn()"); if (table->DeclColumnsCount >= table->ColumnsCount) { @@ -1614,7 +1642,11 @@ void ImGui::TableSetupScrollFreeze(int columns, int rows) { ImGuiContext& g = *GImGui; ImGuiTable* table = g.CurrentTable; - IM_ASSERT(table != NULL && "Need to call TableSetupColumn() after BeginTable()!"); + if (table == NULL) + { + IM_ASSERT_USER_ERROR(table != NULL, "Call should only be done while in BeginTable() scope!"); + return; + } IM_ASSERT(table->IsLayoutLocked == false && "Need to call TableSetupColumn() before first row!"); IM_ASSERT(columns >= 0 && columns < IMGUI_TABLE_MAX_COLUMNS); IM_ASSERT(rows >= 0 && rows < 128); // Arbitrary limit @@ -1691,9 +1723,11 @@ void ImGui::TableSetColumnEnabled(int column_n, bool enabled) { ImGuiContext& g = *GImGui; ImGuiTable* table = g.CurrentTable; - IM_ASSERT(table != NULL); - if (!table) + if (table == NULL) + { + IM_ASSERT_USER_ERROR(table != NULL, "Call should only be done while in BeginTable() scope!"); return; + } IM_ASSERT(table->Flags & ImGuiTableFlags_Hideable); // See comments above if (column_n < 0) column_n = table->CurrentColumn; @@ -1999,7 +2033,7 @@ void ImGui::TableEndRow(ImGuiTable* table) { for (int column_n = 0; column_n < table->ColumnsCount; column_n++) table->Columns[column_n].NavLayerCurrent = ImGuiNavLayer_Main; - const float y0 = ImMax(table->RowPosY2 + 1, window->InnerClipRect.Min.y); + const float y0 = ImMax(table->RowPosY2 + 1, table->InnerClipRect.Min.y); table_instance->LastFrozenHeight = y0 - table->OuterRect.Min.y; if (unfreeze_rows_actual) @@ -2008,8 +2042,8 @@ void ImGui::TableEndRow(ImGuiTable* table) table->IsUnfrozenRows = true; // BgClipRect starts as table->InnerClipRect, reduce it now and make BgClipRectForDrawCmd == BgClipRect - table->BgClipRect.Min.y = table->Bg2ClipRectForDrawCmd.Min.y = ImMin(y0, window->InnerClipRect.Max.y); - table->BgClipRect.Max.y = table->Bg2ClipRectForDrawCmd.Max.y = window->InnerClipRect.Max.y; + table->BgClipRect.Min.y = table->Bg2ClipRectForDrawCmd.Min.y = ImMin(y0, table->InnerClipRect.Max.y); + table->BgClipRect.Max.y = table->Bg2ClipRectForDrawCmd.Max.y = table->InnerClipRect.Max.y; table->Bg2DrawChannelCurrent = table->Bg2DrawChannelUnfrozen; IM_ASSERT(table->Bg2ClipRectForDrawCmd.Min.y <= table->Bg2ClipRectForDrawCmd.Max.y); @@ -2195,8 +2229,8 @@ void ImGui::TableEndCell(ImGuiTable* table) // Note that actual columns widths are computed in TableUpdateLayout(). //------------------------------------------------------------------------- -// Maximum column content width given current layout. Use column->MinX so this value on a per-column basis. -float ImGui::TableGetMaxColumnWidth(const ImGuiTable* table, int column_n) +// Maximum column content width given current layout. Use column->MinX so this value differs on a per-column basis. +float ImGui::TableCalcMaxColumnWidth(const ImGuiTable* table, int column_n) { const ImGuiTableColumn* column = &table->Columns[column_n]; float max_width = FLT_MAX; @@ -2258,7 +2292,7 @@ void ImGui::TableSetColumnWidth(int column_n, float width) // Compare both requested and actual given width to avoid overwriting requested width when column is stuck (minimum size, bounded) IM_ASSERT(table->MinColumnWidth > 0.0f); const float min_width = table->MinColumnWidth; - const float max_width = ImMax(min_width, TableGetMaxColumnWidth(table, column_n)); + const float max_width = ImMax(min_width, column_0->WidthMax); // Don't use TableCalcMaxColumnWidth() here as it would rely on MinX from last instance (#7933) column_0_width = ImClamp(column_0_width, min_width, max_width); if (column_0->WidthGiven == column_0_width || column_0->WidthRequest == column_0_width) return; @@ -2743,7 +2777,7 @@ void ImGui::TableDrawBorders(ImGuiTable* table) const ImU32 outer_col = table->BorderColorStrong; if ((table->Flags & ImGuiTableFlags_BordersOuter) == ImGuiTableFlags_BordersOuter) { - inner_drawlist->AddRect(outer_border.Min, outer_border.Max + ImVec2(1, 1), outer_col, 0.0f, 0, border_size); + inner_drawlist->AddRect(outer_border.Min, outer_border.Max, outer_col, 0.0f, 0, border_size); } else if (table->Flags & ImGuiTableFlags_BordersOuterV) { @@ -3007,15 +3041,21 @@ float ImGui::TableGetHeaderAngledMaxLabelWidth() // The intent is that advanced users willing to create customized headers would not need to use this helper // and can create their own! For example: TableHeader() may be preceded by Checkbox() or other custom widgets. // See 'Demo->Tables->Custom headers' for a demonstration of implementing a custom version of this. -// This code is constructed to not make much use of internal functions, as it is intended to be a template to copy. +// This code is intentionally written to not make much use of internal functions, to give you better direction +// if you need to write your own. // FIXME-TABLE: TableOpenContextMenu() and TableGetHeaderRowHeight() are not public. void ImGui::TableHeadersRow() { ImGuiContext& g = *GImGui; ImGuiTable* table = g.CurrentTable; - IM_ASSERT(table != NULL && "Need to call TableHeadersRow() after BeginTable()!"); + if (table == NULL) + { + IM_ASSERT_USER_ERROR(table != NULL, "Call should only be done while in BeginTable() scope!"); + return; + } - // Layout if not already done (this is automatically done by TableNextRow, we do it here solely to facilitate stepping in debugger as it is frequent to step in TableUpdateLayout) + // Call layout if not already done. This is automatically done by TableNextRow: we do it here _only_ to make + // it easier to debug-step in TableUpdateLayout(). Your own version of this function doesn't need this. if (!table->IsLayoutLocked) TableUpdateLayout(table); @@ -3032,8 +3072,7 @@ void ImGui::TableHeadersRow() if (!TableSetColumnIndex(column_n)) continue; - // Push an id to allow unnamed labels (generally accidental, but let's behave nicely with them) - // In your own code you may omit the PushID/PopID all-together, provided you know they won't collide. + // Push an id to allow empty/unnamed headers. This is also idiomatic as it ensure there is a consistent ID path to access columns (for e.g. automation) const char* name = (TableGetColumnFlags(column_n) & ImGuiTableColumnFlags_NoHeaderLabel) ? "" : TableGetColumnName(column_n); PushID(column_n); TableHeader(name); @@ -3058,7 +3097,12 @@ void ImGui::TableHeader(const char* label) return; ImGuiTable* table = g.CurrentTable; - IM_ASSERT(table != NULL && "Need to call TableHeader() after BeginTable()!"); + if (table == NULL) + { + IM_ASSERT_USER_ERROR(table != NULL, "Call should only be done while in BeginTable() scope!"); + return; + } + IM_ASSERT(table->CurrentColumn != -1); const int column_n = table->CurrentColumn; ImGuiTableColumn* column = &table->Columns[column_n]; @@ -3124,7 +3168,7 @@ void ImGui::TableHeader(const char* label) if ((table->RowFlags & ImGuiTableRowFlags_Headers) == 0) TableSetBgColor(ImGuiTableBgTarget_CellBg, GetColorU32(ImGuiCol_TableHeaderBg), table->CurrentColumn); } - RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_Compact | ImGuiNavHighlightFlags_NoRounding); + RenderNavCursor(bb, id, ImGuiNavRenderCursorFlags_Compact | ImGuiNavRenderCursorFlags_NoRounding); if (held) table->HeldHeaderColumn = (ImGuiTableColumnIdx)column_n; window->DC.CursorPos.y -= g.Style.ItemSpacing.y * 0.5f; @@ -3233,7 +3277,11 @@ void ImGui::TableAngledHeadersRowEx(ImGuiID row_id, float angle, float max_label ImGuiTable* table = g.CurrentTable; ImGuiWindow* window = g.CurrentWindow; ImDrawList* draw_list = window->DrawList; - IM_ASSERT(table != NULL && "Need to call TableHeadersRow() after BeginTable()!"); + if (table == NULL) + { + IM_ASSERT_USER_ERROR(table != NULL, "Call should only be done while in BeginTable() scope!"); + return; + } IM_ASSERT(table->CurrentRow == -1 && "Must be first row"); if (max_label_width == 0.0f) @@ -3278,7 +3326,7 @@ void ImGui::TableAngledHeadersRowEx(ImGuiID row_id, float angle, float max_label const ImVec2 align = g.Style.TableAngledHeadersTextAlign; // Draw background and labels in first pass, then all borders. - float max_x = 0.0f; + float max_x = -FLT_MAX; for (int pass = 0; pass < 2; pass++) for (int order_n = 0; order_n < data_count; order_n++) { @@ -4396,7 +4444,7 @@ void ImGui::EndColumns() { ButtonBehavior(column_hit_rect, column_id, &hovered, &held); if (hovered || held) - g.MouseCursor = ImGuiMouseCursor_ResizeEW; + SetMouseCursor(ImGuiMouseCursor_ResizeEW); if (held && !(column->Flags & ImGuiOldColumnFlags_NoResize)) dragging_column = n; } @@ -4428,12 +4476,12 @@ void ImGui::EndColumns() NavUpdateCurrentWindowIsScrollPushableX(); } -void ImGui::Columns(int columns_count, const char* id, bool border) +void ImGui::Columns(int columns_count, const char* id, bool borders) { ImGuiWindow* window = GetCurrentWindow(); IM_ASSERT(columns_count >= 1); - ImGuiOldColumnFlags flags = (border ? 0 : ImGuiOldColumnFlags_NoBorder); + ImGuiOldColumnFlags flags = (borders ? 0 : ImGuiOldColumnFlags_NoBorder); //flags |= ImGuiOldColumnFlags_NoPreserveWidths; // NB: Legacy behavior ImGuiOldColumns* columns = window->DC.CurrentColumns; if (columns != NULL && columns->Count == columns_count && columns->Flags == flags) diff --git a/3rdparty/imgui/src/imgui_widgets.cpp b/3rdparty/imgui/src/imgui_widgets.cpp index 2aa24efe8e975..dd27400cd156d 100644 --- a/3rdparty/imgui/src/imgui_widgets.cpp +++ b/3rdparty/imgui/src/imgui_widgets.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.91.0 +// dear imgui, v1.91.7 // (widgets code) /* @@ -79,11 +79,17 @@ Index of this file: #pragma clang diagnostic ignored "-Wdeprecated-enum-enum-conversion"// warning: bitwise operation between different enumeration types ('XXXFlags_' and 'XXXFlagsPrivate_') is deprecated #pragma clang diagnostic ignored "-Wimplicit-int-float-conversion" // warning: implicit conversion from 'xxx' to 'float' may lose precision #pragma clang diagnostic ignored "-Wunsafe-buffer-usage" // warning: 'xxx' is an unsafe pointer used for buffer access +#pragma clang diagnostic ignored "-Wnontrivial-memaccess" // warning: first argument in call to 'memset' is a pointer to non-trivially copyable type #elif defined(__GNUC__) #pragma GCC diagnostic ignored "-Wpragmas" // warning: unknown option after '#pragma GCC diagnostic' kind +#pragma GCC diagnostic ignored "-Wfloat-equal" // warning: comparing floating-point with '==' or '!=' is unsafe +#pragma GCC diagnostic ignored "-Wformat" // warning: format '%p' expects argument of type 'int'/'void*', but argument X has type 'unsigned int'/'ImGuiWindow*' #pragma GCC diagnostic ignored "-Wformat-nonliteral" // warning: format not a string literal, format string not checked -#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead #pragma GCC diagnostic ignored "-Wdeprecated-enum-enum-conversion" // warning: bitwise operation between different enumeration types ('XXXFlags_' and 'XXXFlagsPrivate_') is deprecated +#pragma GCC diagnostic ignored "-Wdouble-promotion" // warning: implicit conversion from 'float' to 'double' when passing argument to function +#pragma GCC diagnostic ignored "-Wstrict-overflow" // warning: assuming signed overflow does not occur when simplifying division / ..when changing X +- C1 cmp C2 to X cmp C2 -+ C1 +#pragma GCC diagnostic ignored "-Wclass-memaccess" // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead +#pragma GCC diagnostic ignored "-Wcast-qual" // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers #endif //------------------------------------------------------------------------- @@ -128,7 +134,7 @@ static const ImU64 IM_U64_MAX = (2ULL * 9223372036854775807LL + 1); // For InputTextEx() static bool InputTextFilterCharacter(ImGuiContext* ctx, unsigned int* p_char, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data, bool input_source_is_clipboard = false); static int InputTextCalcTextLenAndLineCount(const char* text_begin, const char** out_text_end); -static ImVec2 InputTextCalcTextSizeW(ImGuiContext* ctx, const ImWchar* text_begin, const ImWchar* text_end, const ImWchar** remaining = NULL, ImVec2* out_offset = NULL, bool stop_on_new_line = false); +static ImVec2 InputTextCalcTextSize(ImGuiContext* ctx, const char* text_begin, const char* text_end, const char** remaining = NULL, ImVec2* out_offset = NULL, bool stop_on_new_line = false); //------------------------------------------------------------------------- // [SECTION] Widgets: Text, etc. @@ -471,7 +477,7 @@ void ImGui::BulletTextV(const char* fmt, va_list args) // - PressedOnDragDropHold can generally be associated with any flag. // - PressedOnDoubleClick can be associated by PressedOnClickRelease/PressedOnRelease, in which case the second release event won't be reported. //------------------------------------------------------------------------------------------------------------------------------------------------ -// The behavior of the return-value changes when ImGuiButtonFlags_Repeat is set: +// The behavior of the return-value changes when ImGuiItemFlags_ButtonRepeat is set: // Repeat+ Repeat+ Repeat+ Repeat+ // PressedOnClickRelease PressedOnClick PressedOnRelease PressedOnDoubleClick //------------------------------------------------------------------------------------------------------------------------------------------------- @@ -482,29 +488,32 @@ void ImGui::BulletTextV(const char* fmt, va_list args) // Frame N + RepeatDelay + RepeatRate*N true true - true //------------------------------------------------------------------------------------------------------------------------------------------------- -// FIXME: For refactor we could output flags, incl mouse hovered vs nav keyboard vs nav triggered etc. -// And better standardize how widgets use 'GetColor32((held && hovered) ? ... : hovered ? ...)' vs 'GetColor32(held ? ... : hovered ? ...);' -// For mouse feedback we typically prefer the 'held && hovered' test, but for nav feedback not always. Outputting hovered=true on Activation may be misleading. +// - FIXME: For refactor we could output flags, incl mouse hovered vs nav keyboard vs nav triggered etc. +// And better standardize how widgets use 'GetColor32((held && hovered) ? ... : hovered ? ...)' vs 'GetColor32(held ? ... : hovered ? ...);' +// For mouse feedback we typically prefer the 'held && hovered' test, but for nav feedback not always. Outputting hovered=true on Activation may be misleading. +// - Since v1.91.2 (Sept 2024) we included io.ConfigDebugHighlightIdConflicts feature. +// One idiom which was previously valid which will now emit a warning is when using multiple overlayed ButtonBehavior() +// with same ID and different MouseButton (see #8030). You can fix it by: +// (1) switching to use a single ButtonBehavior() with multiple _MouseButton flags. +// or (2) surrounding those calls with PushItemFlag(ImGuiItemFlags_AllowDuplicateId, true); ... PopItemFlag() bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool* out_held, ImGuiButtonFlags flags) { ImGuiContext& g = *GImGui; ImGuiWindow* window = GetCurrentWindow(); + // Default behavior inherited from item flags + // Note that _both_ ButtonFlags and ItemFlags are valid sources, so copy one into the item_flags and only check that. + ImGuiItemFlags item_flags = (g.LastItemData.ID == id ? g.LastItemData.ItemFlags : g.CurrentItemFlags); + if (flags & ImGuiButtonFlags_AllowOverlap) + item_flags |= ImGuiItemFlags_AllowOverlap; + // Default only reacts to left mouse button if ((flags & ImGuiButtonFlags_MouseButtonMask_) == 0) flags |= ImGuiButtonFlags_MouseButtonLeft; // Default behavior requires click + release inside bounding box if ((flags & ImGuiButtonFlags_PressedOnMask_) == 0) - flags |= ImGuiButtonFlags_PressedOnDefault_; - - // Default behavior inherited from item flags - // Note that _both_ ButtonFlags and ItemFlags are valid sources, so copy one into the item_flags and only check that. - ImGuiItemFlags item_flags = (g.LastItemData.ID == id ? g.LastItemData.InFlags : g.CurrentItemFlags); - if (flags & ImGuiButtonFlags_AllowOverlap) - item_flags |= ImGuiItemFlags_AllowOverlap; - if (flags & ImGuiButtonFlags_Repeat) - item_flags |= ImGuiItemFlags_ButtonRepeat; + flags |= (item_flags & ImGuiItemFlags_ButtonRepeat) ? ImGuiButtonFlags_PressedOnClick : ImGuiButtonFlags_PressedOnDefault_; ImGuiWindow* backup_hovered_window = g.HoveredWindow; const bool flatten_hovered_children = (flags & ImGuiButtonFlags_FlattenChildren) && g.HoveredWindow && g.HoveredWindow->RootWindow == window; @@ -556,7 +565,8 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool } // Process initial action - if (!(flags & ImGuiButtonFlags_NoKeyModifiers) || (!g.IO.KeyCtrl && !g.IO.KeyShift && !g.IO.KeyAlt)) + const bool mods_ok = !(flags & ImGuiButtonFlags_NoKeyModsAllowed) || (!g.IO.KeyCtrl && !g.IO.KeyShift && !g.IO.KeyAlt); + if (mods_ok) { if (mouse_button_clicked != -1 && g.ActiveId != id) { @@ -603,7 +613,7 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool if (!has_repeated_at_least_once) pressed = true; if (!(flags & ImGuiButtonFlags_NoNavFocus)) - SetFocusID(id, window); + SetFocusID(id, window); // FIXME: Lack of FocusWindow() call here is inconsistent with other paths. Research why. ClearActiveID(); } } @@ -615,13 +625,13 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool pressed = true; } - if (pressed) - g.NavDisableHighlight = true; + if (pressed && g.IO.ConfigNavCursorVisibleAuto) + g.NavCursorVisible = false; } - // Gamepad/Keyboard handling + // Keyboard/Gamepad navigation handling // We report navigated and navigation-activated items as hovered but we don't set g.HoveredId to not interfere with mouse. - if (g.NavId == id && !g.NavDisableHighlight && g.NavDisableMouseHover) + if (g.NavId == id && g.NavCursorVisible && g.NavHighlightItemUnderNav) if (!(flags & ImGuiButtonFlags_NoHoveredOnFocus)) hovered = true; if (g.NavActivateDownId == id) @@ -684,8 +694,8 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool } ClearActiveID(); } - if (!(flags & ImGuiButtonFlags_NoNavFocus)) - g.NavDisableHighlight = true; + if (!(flags & ImGuiButtonFlags_NoNavFocus) && g.IO.ConfigNavCursorVisibleAuto) + g.NavCursorVisible = false; } else if (g.ActiveIdSource == ImGuiInputSource_Keyboard || g.ActiveIdSource == ImGuiInputSource_Gamepad) { @@ -735,7 +745,7 @@ bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags // Render const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button); - RenderNavHighlight(bb, id); + RenderNavCursor(bb, id); RenderFrame(bb.Min, bb.Max, col, true, style.FrameRounding); if (g.LogEnabled) @@ -782,11 +792,12 @@ bool ImGui::InvisibleButton(const char* str_id, const ImVec2& size_arg, ImGuiBut ImVec2 size = CalcItemSize(size_arg, 0.0f, 0.0f); const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + size); ItemSize(size); - if (!ItemAdd(bb, id)) + if (!ItemAdd(bb, id, NULL, (flags & ImGuiButtonFlags_EnableNav) ? ImGuiItemFlags_None : ImGuiItemFlags_NoNav)) return false; bool hovered, held; bool pressed = ButtonBehavior(bb, id, &hovered, &held, flags); + RenderNavCursor(bb, id); IMGUI_TEST_ENGINE_ITEM_INFO(id, str_id, g.LastItemData.StatusFlags); return pressed; @@ -812,7 +823,7 @@ bool ImGui::ArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size, ImGuiBu // Render const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button); const ImU32 text_col = GetColorU32(ImGuiCol_Text); - RenderNavHighlight(bb, id); + RenderNavCursor(bb, id); RenderFrame(bb.Min, bb.Max, bg_col, true, g.Style.FrameRounding); RenderArrow(window->DrawList, bb.Min + ImVec2(ImMax(0.0f, (size.x - g.FontSize) * 0.5f), ImMax(0.0f, (size.y - g.FontSize) * 0.5f)), text_col, dir); @@ -853,7 +864,7 @@ bool ImGui::CloseButton(ImGuiID id, const ImVec2& pos) ImU32 bg_col = GetColorU32(held ? ImGuiCol_ButtonActive : ImGuiCol_ButtonHovered); if (hovered) window->DrawList->AddRectFilled(bb.Min, bb.Max, bg_col); - RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_Compact); + RenderNavCursor(bb, id, ImGuiNavRenderCursorFlags_Compact); ImU32 cross_col = GetColorU32(ImGuiCol_Text); ImVec2 cross_center = bb.GetCenter() - ImVec2(0.5f, 0.5f); float cross_extent = g.FontSize * 0.5f * 0.7071f - 1.0f; @@ -880,7 +891,7 @@ bool ImGui::CollapseButton(ImGuiID id, const ImVec2& pos) ImU32 text_col = GetColorU32(ImGuiCol_Text); if (hovered || held) window->DrawList->AddRectFilled(bb.Min, bb.Max, bg_col); - RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_Compact); + RenderNavCursor(bb, id, ImGuiNavRenderCursorFlags_Compact); RenderArrow(window->DrawList, bb.Min, text_col, window->Collapsed ? ImGuiDir_Right : ImGuiDir_Down, 1.0f); // Switch to moving the window after mouse is moved beyond the initial drag threshold @@ -944,7 +955,7 @@ void ImGui::Scrollbar(ImGuiAxis axis) // - We store values as normalized ratio and in a form that allows the window content to change while we are holding on a scrollbar // - We handle both horizontal and vertical scrollbars, which makes the terminology not ideal. // Still, the code should probably be made simpler.. -bool ImGui::ScrollbarEx(const ImRect& bb_frame, ImGuiID id, ImGuiAxis axis, ImS64* p_scroll_v, ImS64 size_visible_v, ImS64 size_contents_v, ImDrawFlags flags) +bool ImGui::ScrollbarEx(const ImRect& bb_frame, ImGuiID id, ImGuiAxis axis, ImS64* p_scroll_v, ImS64 size_visible_v, ImS64 size_contents_v, ImDrawFlags draw_rounding_flags) { ImGuiContext& g = *GImGui; ImGuiWindow* window = g.CurrentWindow; @@ -999,9 +1010,10 @@ bool ImGui::ScrollbarEx(const ImRect& bb_frame, ImGuiID id, ImGuiAxis axis, ImS6 const int held_dir = (clicked_v_norm < grab_v_norm) ? -1 : (clicked_v_norm > grab_v_norm + grab_h_norm) ? +1 : 0; if (g.ActiveIdIsJustActivated) { - // On initial click calculate the distance between mouse and the center of the grab - g.ScrollbarSeekMode = (short)held_dir; - g.ScrollbarClickDeltaToGrabCenter = (g.ScrollbarSeekMode == 0.0f) ? clicked_v_norm - grab_v_norm - grab_h_norm * 0.5f : 0.0f; + // On initial click when held_dir == 0 (clicked over grab): calculate the distance between mouse and the center of the grab + const bool scroll_to_clicked_location = (g.IO.ConfigScrollbarScrollByPage == false || g.IO.KeyShift || held_dir == 0); + g.ScrollbarSeekMode = scroll_to_clicked_location ? 0 : (short)held_dir; + g.ScrollbarClickDeltaToGrabCenter = (held_dir == 0 && !g.IO.KeyShift) ? clicked_v_norm - grab_v_norm - grab_h_norm * 0.5f : 0.0f; } // Apply scroll (p_scroll_v will generally point on one member of window->Scroll) @@ -1034,7 +1046,7 @@ bool ImGui::ScrollbarEx(const ImRect& bb_frame, ImGuiID id, ImGuiAxis axis, ImS6 // Render const ImU32 bg_col = GetColorU32(ImGuiCol_ScrollbarBg); const ImU32 grab_col = GetColorU32(held ? ImGuiCol_ScrollbarGrabActive : hovered ? ImGuiCol_ScrollbarGrabHovered : ImGuiCol_ScrollbarGrab, alpha); - window->DrawList->AddRectFilled(bb_frame.Min, bb_frame.Max, bg_col, window->WindowRounding, flags); + window->DrawList->AddRectFilled(bb_frame.Min, bb_frame.Max, bg_col, window->WindowRounding, draw_rounding_flags); ImRect grab_rect; if (axis == ImGuiAxis_X) grab_rect = ImRect(ImLerp(bb.Min.x, bb.Max.x, grab_v_norm), bb.Min.y, ImLerp(bb.Min.x, bb.Max.x, grab_v_norm) + grab_h_pixels, bb.Max.y); @@ -1066,9 +1078,7 @@ void ImGui::Image(ImTextureID user_texture_id, const ImVec2& image_size, const I window->DrawList->AddImage(user_texture_id, bb.Min + padding, bb.Max - padding, uv0, uv1, GetColorU32(tint_col)); } -// ImageButton() is flawed as 'id' is always derived from 'texture_id' (see #2464 #1390) -// We provide this internal helper to write your own variant while we figure out how to redesign the public ImageButton() API. -bool ImGui::ImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags) +bool ImGui::ImageButtonEx(ImGuiID id, ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col, ImGuiButtonFlags flags) { ImGuiContext& g = *GImGui; ImGuiWindow* window = GetCurrentWindow(); @@ -1086,16 +1096,17 @@ bool ImGui::ImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2& imag // Render const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button); - RenderNavHighlight(bb, id); + RenderNavCursor(bb, id); RenderFrame(bb.Min, bb.Max, col, true, ImClamp((float)ImMin(padding.x, padding.y), 0.0f, g.Style.FrameRounding)); if (bg_col.w > 0.0f) window->DrawList->AddRectFilled(bb.Min + padding, bb.Max - padding, GetColorU32(bg_col)); - window->DrawList->AddImage(texture_id, bb.Min + padding, bb.Max - padding, uv0, uv1, GetColorU32(tint_col)); + window->DrawList->AddImage(user_texture_id, bb.Min + padding, bb.Max - padding, uv0, uv1, GetColorU32(tint_col)); return pressed; } -// Note that ImageButton() adds style.FramePadding*2.0f to provided size. This is in order to facilitate fitting an image in a button. +// - ImageButton() adds style.FramePadding*2.0f to provided size. This is in order to facilitate fitting an image in a button. +// - ImageButton() draws a background based on regular Button() color + optionally an inner background if specified. (#8165) // FIXME: Maybe that's not the best design? bool ImGui::ImageButton(const char* str_id, ImTextureID user_texture_id, const ImVec2& image_size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& bg_col, const ImVec4& tint_col) { ImGuiContext& g = *GImGui; @@ -1108,28 +1119,24 @@ bool ImGui::ImageButton(const char* str_id, ImTextureID user_texture_id, const I #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS // Legacy API obsoleted in 1.89. Two differences with new ImageButton() -// - new ImageButton() requires an explicit 'const char* str_id' Old ImageButton() used opaque imTextureId (created issue with: multiple buttons with same image, transient texture id values, opaque computation of ID) -// - new ImageButton() always use style.FramePadding Old ImageButton() had an override argument. -// If you need to change padding with new ImageButton() you can use PushStyleVar(ImGuiStyleVar_FramePadding, value), consistent with other Button functions. +// - old ImageButton() used ImTextureID as item id (created issue with multiple buttons with same image, transient texture id values, opaque computation of ID) +// - new ImageButton() requires an explicit 'const char* str_id' +// - old ImageButton() had frame_padding' override argument. +// - new ImageButton() always use style.FramePadding. +/* bool ImGui::ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0, const ImVec2& uv1, int frame_padding, const ImVec4& bg_col, const ImVec4& tint_col) { - ImGuiContext& g = *GImGui; - ImGuiWindow* window = g.CurrentWindow; - if (window->SkipItems) - return false; - // Default to using texture ID as ID. User can still push string/integer prefixes. - PushID((void*)(intptr_t)user_texture_id); - const ImGuiID id = window->GetID("#image"); - PopID(); - + PushID((ImTextureID)(intptr_t)user_texture_id); if (frame_padding >= 0) PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2((float)frame_padding, (float)frame_padding)); - bool ret = ImageButtonEx(id, user_texture_id, size, uv0, uv1, bg_col, tint_col); + bool ret = ImageButton("", user_texture_id, size, uv0, uv1, bg_col, tint_col); if (frame_padding >= 0) PopStyleVar(); + PopID(); return ret; } +*/ #endif // #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS bool ImGui::Checkbox(const char* label, bool* v) @@ -1148,7 +1155,7 @@ bool ImGui::Checkbox(const char* label, bool* v) const ImRect total_bb(pos, pos + ImVec2(square_sz + (label_size.x > 0.0f ? style.ItemInnerSpacing.x + label_size.x : 0.0f), label_size.y + style.FramePadding.y * 2.0f)); ItemSize(total_bb, style.FramePadding.y); const bool is_visible = ItemAdd(total_bb, id); - const bool is_multi_select = (g.LastItemData.InFlags & ImGuiItemFlags_IsMultiSelect) != 0; + const bool is_multi_select = (g.LastItemData.ItemFlags & ImGuiItemFlags_IsMultiSelect) != 0; if (!is_visible) if (!is_multi_select || !g.BoxSelectState.UnclipMode || !g.BoxSelectState.UnclipRect.Overlaps(total_bb)) // Extra layer of "no logic clip" for box-select support { @@ -1178,10 +1185,10 @@ bool ImGui::Checkbox(const char* label, bool* v) } const ImRect check_bb(pos, pos + ImVec2(square_sz, square_sz)); - const bool mixed_value = (g.LastItemData.InFlags & ImGuiItemFlags_MixedValue) != 0; + const bool mixed_value = (g.LastItemData.ItemFlags & ImGuiItemFlags_MixedValue) != 0; if (is_visible) { - RenderNavHighlight(total_bb, id); + RenderNavCursor(total_bb, id); RenderFrame(check_bb.Min, check_bb.Max, GetColorU32((held && hovered) ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg), true, style.FrameRounding); ImU32 check_col = GetColorU32(ImGuiCol_CheckMark); if (mixed_value) @@ -1283,7 +1290,7 @@ bool ImGui::RadioButton(const char* label, bool active) if (pressed) MarkItemEdited(id); - RenderNavHighlight(total_bb, id); + RenderNavCursor(total_bb, id); const int num_segment = window->DrawList->_CalcCircleAutoSegmentCount(radius); window->DrawList->AddCircleFilled(center, radius, GetColorU32((held && hovered) ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg), num_segment); if (active) @@ -1423,7 +1430,10 @@ bool ImGui::TextLink(const char* label) bool hovered, held; bool pressed = ButtonBehavior(bb, id, &hovered, &held); - RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_None); + RenderNavCursor(bb, id); + + if (hovered) + SetMouseCursor(ImGuiMouseCursor_Hand); ImVec4 text_colf = g.Style.Colors[ImGuiCol_TextLink]; ImVec4 line_colf = text_colf; @@ -1459,9 +1469,9 @@ void ImGui::TextLinkOpenURL(const char* label, const char* url) if (url == NULL) url = label; if (TextLink(label)) - if (g.IO.PlatformOpenInShellFn != NULL) - g.IO.PlatformOpenInShellFn(&g, url); - SetItemTooltip("%s", url); // It is more reassuring for user to _always_ display URL when we same as label + if (g.PlatformIO.Platform_OpenInShellFn != NULL) + g.PlatformIO.Platform_OpenInShellFn(&g, url); + SetItemTooltip(LocalizeGetMsg(ImGuiLocKey_OpenLink_s), url); // It is more reassuring for user to _always_ display URL when we same as label if (BeginPopupContextItem()) { if (MenuItem(LocalizeGetMsg(ImGuiLocKey_CopyLink))) @@ -1851,7 +1861,7 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImGuiComboF // Render shape const ImU32 frame_col = GetColorU32(hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg); const float value_x2 = ImMax(bb.Min.x, bb.Max.x - arrow_size); - RenderNavHighlight(bb, id); + RenderNavCursor(bb, id); if (!(flags & ImGuiComboFlags_NoPreview)) window->DrawList->AddRectFilled(bb.Min, ImVec2(value_x2, bb.Max.y), frame_col, style.FrameRounding, (flags & ImGuiComboFlags_NoArrowButton) ? ImDrawFlags_RoundCornersAll : ImDrawFlags_RoundCornersLeft); if (!(flags & ImGuiComboFlags_NoArrowButton)) @@ -1941,7 +1951,7 @@ bool ImGui::BeginComboPopup(ImGuiID popup_id, const ImRect& bb, ImGuiComboFlags // We don't use BeginPopupEx() solely because we have a custom name string, which we could make an argument to BeginPopupEx() ImGuiWindowFlags window_flags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_Popup | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoMove; - PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(g.Style.FramePadding.x, g.Style.WindowPadding.y)); // Horizontally align ourselves with the framed text + PushStyleVarX(ImGuiStyleVar_WindowPadding, g.Style.FramePadding.x); // Horizontally align ourselves with the framed text bool ret = Begin(name, NULL, window_flags); PopStyleVar(); if (!ret) @@ -2161,6 +2171,7 @@ static const ImGuiDataTypeInfo GDataTypeInfo[] = { sizeof(float), "float", "%.3f","%f" }, // ImGuiDataType_Float (float are promoted to double in va_arg) { sizeof(double), "double","%f", "%lf" }, // ImGuiDataType_Double { sizeof(bool), "bool", "%d", "%d" }, // ImGuiDataType_Bool + { 0, "char*","%s", "%s" }, // ImGuiDataType_String }; IM_STATIC_ASSERT(IM_ARRAYSIZE(GDataTypeInfo) == ImGuiDataType_COUNT); @@ -2351,6 +2362,12 @@ bool ImGui::DataTypeClamp(ImGuiDataType data_type, void* p_data, const void* p_m return false; } +bool ImGui::DataTypeIsZero(ImGuiDataType data_type, const void* p_data) +{ + ImGuiContext& g = *GImGui; + return DataTypeCompare(data_type, p_data, &g.DataTypeZeroValue) == 0; +} + static float GetMinimumStepAtDecimalPrecision(int decimal_precision) { static const float min_steps[10] = { 1.0f, 0.1f, 0.01f, 0.001f, 0.0001f, 0.00001f, 0.000001f, 0.0000001f, 0.00000001f, 0.000000001f }; @@ -2409,7 +2426,7 @@ bool ImGui::DragBehaviorT(ImGuiDataType data_type, TYPE* v, float v_speed, const { ImGuiContext& g = *GImGui; const ImGuiAxis axis = (flags & ImGuiSliderFlags_Vertical) ? ImGuiAxis_Y : ImGuiAxis_X; - const bool is_bounded = (v_min < v_max); + const bool is_bounded = (v_min < v_max) || ((v_min == v_max) && (v_min != 0.0f || (flags & ImGuiSliderFlags_ClampZeroRange))); const bool is_wrapped = is_bounded && (flags & ImGuiSliderFlags_WrapAround); const bool is_logarithmic = (flags & ImGuiSliderFlags_Logarithmic) != 0; const bool is_floating_point = (data_type == ImGuiDataType_Float) || (data_type == ImGuiDataType_Double); @@ -2423,9 +2440,9 @@ bool ImGui::DragBehaviorT(ImGuiDataType data_type, TYPE* v, float v_speed, const if (g.ActiveIdSource == ImGuiInputSource_Mouse && IsMousePosValid() && IsMouseDragPastThreshold(0, g.IO.MouseDragThreshold * DRAG_MOUSE_THRESHOLD_FACTOR)) { adjust_delta = g.IO.MouseDelta[axis]; - if (g.IO.KeyAlt) + if (g.IO.KeyAlt && !(flags & ImGuiSliderFlags_NoSpeedTweaks)) adjust_delta *= 1.0f / 100.0f; - if (g.IO.KeyShift) + if (g.IO.KeyShift && !(flags & ImGuiSliderFlags_NoSpeedTweaks)) adjust_delta *= 10.0f; } else if (g.ActiveIdSource == ImGuiInputSource_Keyboard || g.ActiveIdSource == ImGuiInputSource_Gamepad) @@ -2433,7 +2450,7 @@ bool ImGui::DragBehaviorT(ImGuiDataType data_type, TYPE* v, float v_speed, const const int decimal_precision = is_floating_point ? ImParseFormatPrecision(format, 3) : 0; const bool tweak_slow = IsKeyDown((g.NavInputSource == ImGuiInputSource_Gamepad) ? ImGuiKey_NavGamepadTweakSlow : ImGuiKey_NavKeyboardTweakSlow); const bool tweak_fast = IsKeyDown((g.NavInputSource == ImGuiInputSource_Gamepad) ? ImGuiKey_NavGamepadTweakFast : ImGuiKey_NavKeyboardTweakFast); - const float tweak_factor = tweak_slow ? 1.0f / 10.0f : tweak_fast ? 10.0f : 1.0f; + const float tweak_factor = (flags & ImGuiSliderFlags_NoSpeedTweaks) ? 1.0f : tweak_slow ? 1.0f / 10.0f : tweak_fast ? 10.0f : 1.0f; adjust_delta = GetNavTweakPressedAmount(axis) * tweak_factor; v_speed = ImMax(v_speed, GetMinimumStepAtDecimalPrecision(decimal_precision)); } @@ -2551,7 +2568,7 @@ bool ImGui::DragBehavior(ImGuiID id, ImGuiDataType data_type, void* p_v, float v } if (g.ActiveId != id) return false; - if ((g.LastItemData.InFlags & ImGuiItemFlags_ReadOnly) || (flags & ImGuiSliderFlags_ReadOnly)) + if ((g.LastItemData.ItemFlags & ImGuiItemFlags_ReadOnly) || (flags & ImGuiSliderFlags_ReadOnly)) return false; switch (data_type) @@ -2598,7 +2615,7 @@ bool ImGui::DragScalar(const char* label, ImGuiDataType data_type, void* p_data, if (format == NULL) format = DataTypeGetInfo(data_type)->PrintFmt; - const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.InFlags); + const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.ItemFlags); bool temp_input_is_active = temp_input_allowed && TempInputIsActive(id); if (!temp_input_is_active) { @@ -2621,6 +2638,10 @@ bool ImGui::DragScalar(const char* label, ImGuiDataType data_type, void* p_data, temp_input_is_active = true; } + // Store initial value (not used by main lib but available as a convenience but some mods e.g. to revert) + if (make_active) + memcpy(&g.ActiveIdValueOnActivation, p_data, DataTypeGetInfo(data_type)->Size); + if (make_active && !temp_input_is_active) { SetActiveID(id, window); @@ -2632,14 +2653,22 @@ bool ImGui::DragScalar(const char* label, ImGuiDataType data_type, void* p_data, if (temp_input_is_active) { - // Only clamp CTRL+Click input when ImGuiSliderFlags_AlwaysClamp is set - const bool is_clamp_input = (flags & ImGuiSliderFlags_AlwaysClamp) != 0 && (p_min == NULL || p_max == NULL || DataTypeCompare(data_type, p_min, p_max) < 0); - return TempInputScalar(frame_bb, id, label, data_type, p_data, format, is_clamp_input ? p_min : NULL, is_clamp_input ? p_max : NULL); + // Only clamp CTRL+Click input when ImGuiSliderFlags_ClampOnInput is set (generally via ImGuiSliderFlags_AlwaysClamp) + bool clamp_enabled = false; + if ((flags & ImGuiSliderFlags_ClampOnInput) && (p_min != NULL || p_max != NULL)) + { + const int clamp_range_dir = (p_min != NULL && p_max != NULL) ? DataTypeCompare(data_type, p_min, p_max) : 0; // -1 when *p_min < *p_max, == 0 when *p_min == *p_max + if (p_min == NULL || p_max == NULL || clamp_range_dir < 0) + clamp_enabled = true; + else if (clamp_range_dir == 0) + clamp_enabled = DataTypeIsZero(data_type, p_min) ? ((flags & ImGuiSliderFlags_ClampZeroRange) != 0) : true; + } + return TempInputScalar(frame_bb, id, label, data_type, p_data, format, clamp_enabled ? p_min : NULL, clamp_enabled ? p_max : NULL); } // Draw frame const ImU32 frame_col = GetColorU32(g.ActiveId == id ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg); - RenderNavHighlight(frame_bb, id); + RenderNavCursor(frame_bb, id); RenderFrame(frame_bb.Min, frame_bb.Max, frame_col, true, style.FrameRounding); // Drag behavior @@ -3030,14 +3059,14 @@ bool ImGui::SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_typ const int decimal_precision = is_floating_point ? ImParseFormatPrecision(format, 3) : 0; if (decimal_precision > 0) { - input_delta /= 100.0f; // Gamepad/keyboard tweak speeds in % of slider bounds + input_delta /= 100.0f; // Keyboard/Gamepad tweak speeds in % of slider bounds if (tweak_slow) input_delta /= 10.0f; } else { if ((v_range_f >= -100.0f && v_range_f <= 100.0f && v_range_f != 0.0f) || tweak_slow) - input_delta = ((input_delta < 0.0f) ? -1.0f : +1.0f) / v_range_f; // Gamepad/keyboard tweak speeds in integer steps + input_delta = ((input_delta < 0.0f) ? -1.0f : +1.0f) / v_range_f; // Keyboard/Gamepad tweak speeds in integer steps else input_delta /= 100.0f; } @@ -3085,7 +3114,7 @@ bool ImGui::SliderBehaviorT(const ImRect& bb, ImGuiID id, ImGuiDataType data_typ } if (set_new_value) - if ((g.LastItemData.InFlags & ImGuiItemFlags_ReadOnly) || (flags & ImGuiSliderFlags_ReadOnly)) + if ((g.LastItemData.ItemFlags & ImGuiItemFlags_ReadOnly) || (flags & ImGuiSliderFlags_ReadOnly)) set_new_value = false; if (set_new_value) @@ -3190,7 +3219,7 @@ bool ImGui::SliderScalar(const char* label, ImGuiDataType data_type, void* p_dat if (format == NULL) format = DataTypeGetInfo(data_type)->PrintFmt; - const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.InFlags); + const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.ItemFlags); bool temp_input_is_active = temp_input_allowed && TempInputIsActive(id); if (!temp_input_is_active) { @@ -3203,6 +3232,10 @@ bool ImGui::SliderScalar(const char* label, ImGuiDataType data_type, void* p_dat if ((clicked && g.IO.KeyCtrl) || (g.NavActivateId == id && (g.NavActivateFlags & ImGuiActivateFlags_PreferInput))) temp_input_is_active = true; + // Store initial value (not used by main lib but available as a convenience but some mods e.g. to revert) + if (make_active) + memcpy(&g.ActiveIdValueOnActivation, p_data, DataTypeGetInfo(data_type)->Size); + if (make_active && !temp_input_is_active) { SetActiveID(id, window); @@ -3214,14 +3247,14 @@ bool ImGui::SliderScalar(const char* label, ImGuiDataType data_type, void* p_dat if (temp_input_is_active) { - // Only clamp CTRL+Click input when ImGuiSliderFlags_AlwaysClamp is set - const bool is_clamp_input = (flags & ImGuiSliderFlags_AlwaysClamp) != 0; - return TempInputScalar(frame_bb, id, label, data_type, p_data, format, is_clamp_input ? p_min : NULL, is_clamp_input ? p_max : NULL); + // Only clamp CTRL+Click input when ImGuiSliderFlags_ClampOnInput is set (generally via ImGuiSliderFlags_AlwaysClamp) + const bool clamp_enabled = (flags & ImGuiSliderFlags_ClampOnInput) != 0; + return TempInputScalar(frame_bb, id, label, data_type, p_data, format, clamp_enabled ? p_min : NULL, clamp_enabled ? p_max : NULL); } // Draw frame const ImU32 frame_col = GetColorU32(g.ActiveId == id ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg); - RenderNavHighlight(frame_bb, id); + RenderNavCursor(frame_bb, id); RenderFrame(frame_bb.Min, frame_bb.Max, frame_col, true, g.Style.FrameRounding); // Slider behavior @@ -3310,7 +3343,8 @@ bool ImGui::SliderAngle(const char* label, float* v_rad, float v_degrees_min, fl format = "%.0f deg"; float v_deg = (*v_rad) * 360.0f / (2 * IM_PI); bool value_changed = SliderFloat(label, &v_deg, v_degrees_min, v_degrees_max, format, flags); - *v_rad = v_deg * (2 * IM_PI) / 360.0f; + if (value_changed) + *v_rad = v_deg * (2 * IM_PI) / 360.0f; return value_changed; } @@ -3356,7 +3390,7 @@ bool ImGui::VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType d if (format == NULL) format = DataTypeGetInfo(data_type)->PrintFmt; - const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.InFlags); + const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.ItemFlags); const bool clicked = hovered && IsMouseClicked(0, ImGuiInputFlags_None, id); if (clicked || g.NavActivateId == id) { @@ -3370,7 +3404,7 @@ bool ImGui::VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType d // Draw frame const ImU32 frame_col = GetColorU32(g.ActiveId == id ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg); - RenderNavHighlight(frame_bb, id); + RenderNavCursor(frame_bb, id); RenderFrame(frame_bb.Min, frame_bb.Max, frame_col, true, g.Style.FrameRounding); // Slider behavior @@ -3552,6 +3586,8 @@ int ImParseFormatPrecision(const char* fmt, int default_precision) // Create text input in place of another active widget (e.g. used when doing a CTRL+Click on drag/slider widgets) // FIXME: Facilitate using this in variety of other situations. +// FIXME: Among other things, setting ImGuiItemFlags_AllowDuplicateId in LastItemData is currently correct but +// the expected relationship between TempInputXXX functions and LastItemData is a little fishy. bool ImGui::TempInputText(const ImRect& bb, ImGuiID id, const char* label, char* buf, int buf_size, ImGuiInputTextFlags flags) { // On the first frame, g.TempInputTextId == 0, then on subsequent frames it becomes == id. @@ -3562,6 +3598,7 @@ bool ImGui::TempInputText(const ImRect& bb, ImGuiID id, const char* label, char* ClearActiveID(); g.CurrentWindow->DC.CursorPos = bb.Min; + g.LastItemData.ItemFlags |= ImGuiItemFlags_AllowDuplicateId; bool value_changed = InputTextEx(label, NULL, buf, buf_size, bb.GetSize(), flags | ImGuiInputTextFlags_MergedItem); if (init) { @@ -3579,6 +3616,7 @@ bool ImGui::TempInputScalar(const ImRect& bb, ImGuiID id, const char* label, ImG { // FIXME: May need to clarify display behavior if format doesn't contain %. // "%d" -> "%d" / "There are %d items" -> "%d" / "items" -> "%d" (fallback). Also see #6405 + ImGuiContext& g = *GImGui; const ImGuiDataTypeInfo* type_info = DataTypeGetInfo(data_type); char fmt_buf[32]; char data_buf[32]; @@ -3588,8 +3626,8 @@ bool ImGui::TempInputScalar(const ImRect& bb, ImGuiID id, const char* label, ImG DataTypeFormatString(data_buf, IM_ARRAYSIZE(data_buf), data_type, p_data, format); ImStrTrimBlanks(data_buf); - ImGuiInputTextFlags flags = ImGuiInputTextFlags_AutoSelectAll | (ImGuiInputTextFlags)ImGuiInputTextFlags_NoMarkEdited | (ImGuiInputTextFlags)ImGuiInputTextFlags_LocalizeDecimalPoint; - + ImGuiInputTextFlags flags = ImGuiInputTextFlags_AutoSelectAll | (ImGuiInputTextFlags)ImGuiInputTextFlags_LocalizeDecimalPoint; + g.LastItemData.ItemFlags |= ImGuiItemFlags_NoMarkEdited; // Because TempInputText() uses ImGuiInputTextFlags_MergedItem it doesn't submit a new item, so we poke LastItemData. bool value_changed = false; if (TempInputText(bb, id, label, data_buf, IM_ARRAYSIZE(data_buf), flags)) { @@ -3608,6 +3646,7 @@ bool ImGui::TempInputScalar(const ImRect& bb, ImGuiID id, const char* label, ImG } // Only mark as edited if new value is different + g.LastItemData.ItemFlags &= ~ImGuiItemFlags_NoMarkEdited; value_changed = memcmp(&data_backup, p_data, data_type_size) != 0; if (value_changed) MarkItemEdited(id); @@ -3618,7 +3657,7 @@ bool ImGui::TempInputScalar(const ImRect& bb, ImGuiID id, const char* label, ImG void ImGui::SetNextItemRefVal(ImGuiDataType data_type, void* p_data) { ImGuiContext& g = *GImGui; - g.NextItemData.Flags |= ImGuiNextItemDataFlags_HasRefVal; + g.NextItemData.HasFlags |= ImGuiNextItemDataFlags_HasRefVal; memcpy(&g.NextItemData.RefVal, p_data, DataTypeGetInfo(data_type)->Size); } @@ -3632,11 +3671,12 @@ bool ImGui::InputScalar(const char* label, ImGuiDataType data_type, void* p_data ImGuiContext& g = *GImGui; ImGuiStyle& style = g.Style; + IM_ASSERT((flags & ImGuiInputTextFlags_EnterReturnsTrue) == 0); // Not supported by InputScalar(). Please open an issue if you this would be useful to you. Otherwise use IsItemDeactivatedAfterEdit()! if (format == NULL) format = DataTypeGetInfo(data_type)->PrintFmt; - void* p_data_default = (g.NextItemData.Flags & ImGuiNextItemDataFlags_HasRefVal) ? &g.NextItemData.RefVal : &g.DataTypeZeroValue; + void* p_data_default = (g.NextItemData.HasFlags & ImGuiNextItemDataFlags_HasRefVal) ? &g.NextItemData.RefVal : &g.DataTypeZeroValue; char buf[64]; if ((flags & ImGuiInputTextFlags_DisplayEmptyRefVal) && DataTypeCompare(data_type, p_data, p_data_default) == 0) @@ -3644,8 +3684,10 @@ bool ImGui::InputScalar(const char* label, ImGuiDataType data_type, void* p_data else DataTypeFormatString(buf, IM_ARRAYSIZE(buf), data_type, p_data, format); - flags |= ImGuiInputTextFlags_AutoSelectAll | (ImGuiInputTextFlags)ImGuiInputTextFlags_NoMarkEdited; // We call MarkItemEdited() ourselves by comparing the actual data rather than the string. - flags |= (ImGuiInputTextFlags)ImGuiInputTextFlags_LocalizeDecimalPoint; + // Disable the MarkItemEdited() call in InputText but keep ImGuiItemStatusFlags_Edited. + // We call MarkItemEdited() ourselves by comparing the actual data rather than the string. + g.NextItemData.ItemFlags |= ImGuiItemFlags_NoMarkEdited; + flags |= ImGuiInputTextFlags_AutoSelectAll | (ImGuiInputTextFlags)ImGuiInputTextFlags_LocalizeDecimalPoint; bool value_changed = false; if (p_step == NULL) @@ -3667,21 +3709,22 @@ bool ImGui::InputScalar(const char* label, ImGuiDataType data_type, void* p_data // Step buttons const ImVec2 backup_frame_padding = style.FramePadding; style.FramePadding.x = style.FramePadding.y; - ImGuiButtonFlags button_flags = ImGuiButtonFlags_Repeat | ImGuiButtonFlags_DontClosePopups; if (flags & ImGuiInputTextFlags_ReadOnly) BeginDisabled(); + PushItemFlag(ImGuiItemFlags_ButtonRepeat, true); SameLine(0, style.ItemInnerSpacing.x); - if (ButtonEx("-", ImVec2(button_size, button_size), button_flags)) + if (ButtonEx("-", ImVec2(button_size, button_size))) { DataTypeApplyOp(data_type, '-', p_data, p_data, g.IO.KeyCtrl && p_step_fast ? p_step_fast : p_step); value_changed = true; } SameLine(0, style.ItemInnerSpacing.x); - if (ButtonEx("+", ImVec2(button_size, button_size), button_flags)) + if (ButtonEx("+", ImVec2(button_size, button_size))) { DataTypeApplyOp(data_type, '+', p_data, p_data, g.IO.KeyCtrl && p_step_fast ? p_step_fast : p_step); value_changed = true; } + PopItemFlag(); if (flags & ImGuiInputTextFlags_ReadOnly) EndDisabled(); @@ -3696,6 +3739,8 @@ bool ImGui::InputScalar(const char* label, ImGuiDataType data_type, void* p_data PopID(); EndGroup(); } + + g.LastItemData.ItemFlags &= ~ImGuiItemFlags_NoMarkEdited; if (value_changed) MarkItemEdited(g.LastItemData.ID); @@ -3787,6 +3832,7 @@ bool ImGui::InputDouble(const char* label, double* v, double step, double step_f //------------------------------------------------------------------------- // [SECTION] Widgets: InputText, InputTextMultiline, InputTextWithHint //------------------------------------------------------------------------- +// - imstb_textedit.h include // - InputText() // - InputTextWithHint() // - InputTextMultiline() @@ -3797,6 +3843,11 @@ bool ImGui::InputDouble(const char* label, double* v, double step, double step_f // - DebugNodeInputTextState() [Internal] //------------------------------------------------------------------------- +namespace ImStb +{ +#include "imstb_textedit.h" +} + bool ImGui::InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data) { IM_ASSERT(!(flags & ImGuiInputTextFlags_Multiline)); // call InputTextMultiline() @@ -3814,21 +3865,28 @@ bool ImGui::InputTextWithHint(const char* label, const char* hint, char* buf, si return InputTextEx(label, hint, buf, (int)buf_size, ImVec2(0, 0), flags, callback, user_data); } +// This is only used in the path where the multiline widget is inactivate. static int InputTextCalcTextLenAndLineCount(const char* text_begin, const char** out_text_end) { int line_count = 0; const char* s = text_begin; - while (char c = *s++) // We are only matching for \n so we can ignore UTF-8 decoding - if (c == '\n') - line_count++; - s--; - if (s[0] != '\n' && s[0] != '\r') + while (true) + { + const char* s_eol = strchr(s, '\n'); line_count++; + if (s_eol == NULL) + { + s = s + strlen(s); + break; + } + s = s_eol + 1; + } *out_text_end = s; return line_count; } -static ImVec2 InputTextCalcTextSizeW(ImGuiContext* ctx, const ImWchar* text_begin, const ImWchar* text_end, const ImWchar** remaining, ImVec2* out_offset, bool stop_on_new_line) +// FIXME: Ideally we'd share code with ImFont::CalcTextSizeA() +static ImVec2 InputTextCalcTextSize(ImGuiContext* ctx, const char* text_begin, const char* text_end, const char** remaining, ImVec2* out_offset, bool stop_on_new_line) { ImGuiContext& g = *ctx; ImFont* font = g.Font; @@ -3838,10 +3896,15 @@ static ImVec2 InputTextCalcTextSizeW(ImGuiContext* ctx, const ImWchar* text_begi ImVec2 text_size = ImVec2(0, 0); float line_width = 0.0f; - const ImWchar* s = text_begin; + const char* s = text_begin; while (s < text_end) { - unsigned int c = (unsigned int)(*s++); + unsigned int c = (unsigned int)*s; + if (c < 0x80) + s += 1; + else + s += ImTextCharFromUtf8(&c, s, text_end); + if (c == '\n') { text_size.x = ImMax(text_size.x, line_width); @@ -3854,7 +3917,7 @@ static ImVec2 InputTextCalcTextSizeW(ImGuiContext* ctx, const ImWchar* text_begi if (c == '\r') continue; - const float char_width = font->GetCharAdvance((ImWchar)c) * scale; + const float char_width = ((int)c < font->IndexAdvanceX.Size ? font->IndexAdvanceX.Data[c] : font->FallbackAdvanceX) * scale; line_width += char_width; } @@ -3874,19 +3937,21 @@ static ImVec2 InputTextCalcTextSizeW(ImGuiContext* ctx, const ImWchar* text_begi } // Wrapper for stb_textedit.h to edit text (our wrapper is for: statically sized buffer, single-line, wchar characters. InputText converts between UTF-8 and wchar) +// With our UTF-8 use of stb_textedit: +// - STB_TEXTEDIT_GETCHAR is nothing more than a a "GETBYTE". It's only used to compare to ascii or to copy blocks of text so we are fine. +// - One exception is the STB_TEXTEDIT_IS_SPACE feature which would expect a full char in order to handle full-width space such as 0x3000 (see ImCharIsBlankW). +// - ...but we don't use that feature. namespace ImStb { - -static int STB_TEXTEDIT_STRINGLEN(const ImGuiInputTextState* obj) { return obj->CurLenW; } -static ImWchar STB_TEXTEDIT_GETCHAR(const ImGuiInputTextState* obj, int idx) { IM_ASSERT(idx <= obj->CurLenW); return obj->TextW[idx]; } -static float STB_TEXTEDIT_GETWIDTH(ImGuiInputTextState* obj, int line_start_idx, int char_idx) { ImWchar c = obj->TextW[line_start_idx + char_idx]; if (c == '\n') return IMSTB_TEXTEDIT_GETWIDTH_NEWLINE; ImGuiContext& g = *obj->Ctx; return g.Font->GetCharAdvance(c) * g.FontScale; } -static int STB_TEXTEDIT_KEYTOTEXT(int key) { return key >= 0x200000 ? 0 : key; } -static ImWchar STB_TEXTEDIT_NEWLINE = '\n'; +static int STB_TEXTEDIT_STRINGLEN(const ImGuiInputTextState* obj) { return obj->TextLen; } +static char STB_TEXTEDIT_GETCHAR(const ImGuiInputTextState* obj, int idx) { IM_ASSERT(idx <= obj->TextLen); return obj->TextSrc[idx]; } +static float STB_TEXTEDIT_GETWIDTH(ImGuiInputTextState* obj, int line_start_idx, int char_idx) { unsigned int c; ImTextCharFromUtf8(&c, obj->TextSrc + line_start_idx + char_idx, obj->TextSrc + obj->TextLen); if ((ImWchar)c == '\n') return IMSTB_TEXTEDIT_GETWIDTH_NEWLINE; ImGuiContext& g = *obj->Ctx; return g.Font->GetCharAdvance((ImWchar)c) * g.FontScale; } +static char STB_TEXTEDIT_NEWLINE = '\n'; static void STB_TEXTEDIT_LAYOUTROW(StbTexteditRow* r, ImGuiInputTextState* obj, int line_start_idx) { - const ImWchar* text = obj->TextW.Data; - const ImWchar* text_remaining = NULL; - const ImVec2 size = InputTextCalcTextSizeW(obj->Ctx, text + line_start_idx, text + obj->CurLenW, &text_remaining, NULL, true); + const char* text = obj->TextSrc; + const char* text_remaining = NULL; + const ImVec2 size = InputTextCalcTextSize(obj->Ctx, text + line_start_idx, text + obj->TextLen, &text_remaining, NULL, true); r->x0 = 0.0f; r->x1 = size.x; r->baseline_y_delta = size.y; @@ -3895,9 +3960,37 @@ static void STB_TEXTEDIT_LAYOUTROW(StbTexteditRow* r, ImGuiInputTextState* ob r->num_chars = (int)(text_remaining - (text + line_start_idx)); } -static bool is_separator(unsigned int c) +#define IMSTB_TEXTEDIT_GETNEXTCHARINDEX IMSTB_TEXTEDIT_GETNEXTCHARINDEX_IMPL +#define IMSTB_TEXTEDIT_GETPREVCHARINDEX IMSTB_TEXTEDIT_GETPREVCHARINDEX_IMPL + +static int IMSTB_TEXTEDIT_GETNEXTCHARINDEX_IMPL(ImGuiInputTextState* obj, int idx) { - return c==',' || c==';' || c=='(' || c==')' || c=='{' || c=='}' || c=='[' || c==']' || c=='|' || c=='\n' || c=='\r' || c=='.' || c=='!' || c=='\\' || c=='/'; + if (idx >= obj->TextLen) + return obj->TextLen + 1; + unsigned int c; + return idx + ImTextCharFromUtf8(&c, obj->TextSrc + idx, obj->TextSrc + obj->TextLen); +} + +static int IMSTB_TEXTEDIT_GETPREVCHARINDEX_IMPL(ImGuiInputTextState* obj, int idx) +{ + if (idx <= 0) + return -1; + const char* p = ImTextFindPreviousUtf8Codepoint(obj->TextSrc, obj->TextSrc + idx); + return (int)(p - obj->TextSrc); +} + +static bool ImCharIsSeparatorW(unsigned int c) +{ + static const unsigned int separator_list[] = + { + ',', 0x3001, '.', 0x3002, ';', 0xFF1B, '(', 0xFF08, ')', 0xFF09, '{', 0xFF5B, '}', 0xFF5D, + '[', 0x300C, ']', 0x300D, '|', 0xFF5C, '!', 0xFF01, '\\', 0xFFE5, '/', 0x30FB, 0xFF0F, + '\n', '\r', + }; + for (unsigned int separator : separator_list) + if (c == separator) + return true; + return false; } static int is_word_boundary_from_right(ImGuiInputTextState* obj, int idx) @@ -3906,10 +3999,15 @@ static int is_word_boundary_from_right(ImGuiInputTextState* obj, int idx) if ((obj->Flags & ImGuiInputTextFlags_Password) || idx <= 0) return 0; - bool prev_white = ImCharIsBlankW(obj->TextW[idx - 1]); - bool prev_separ = is_separator(obj->TextW[idx - 1]); - bool curr_white = ImCharIsBlankW(obj->TextW[idx]); - bool curr_separ = is_separator(obj->TextW[idx]); + const char* curr_p = obj->TextSrc + idx; + const char* prev_p = ImTextFindPreviousUtf8Codepoint(obj->TextSrc, curr_p); + unsigned int curr_c; ImTextCharFromUtf8(&curr_c, curr_p, obj->TextSrc + obj->TextLen); + unsigned int prev_c; ImTextCharFromUtf8(&prev_c, prev_p, obj->TextSrc + obj->TextLen); + + bool prev_white = ImCharIsBlankW(prev_c); + bool prev_separ = ImCharIsSeparatorW(prev_c); + bool curr_white = ImCharIsBlankW(curr_c); + bool curr_separ = ImCharIsSeparatorW(curr_c); return ((prev_white || prev_separ) && !(curr_separ || curr_white)) || (curr_separ && !prev_separ); } static int is_word_boundary_from_left(ImGuiInputTextState* obj, int idx) @@ -3917,63 +4015,82 @@ static int is_word_boundary_from_left(ImGuiInputTextState* obj, int idx) if ((obj->Flags & ImGuiInputTextFlags_Password) || idx <= 0) return 0; - bool prev_white = ImCharIsBlankW(obj->TextW[idx]); - bool prev_separ = is_separator(obj->TextW[idx]); - bool curr_white = ImCharIsBlankW(obj->TextW[idx - 1]); - bool curr_separ = is_separator(obj->TextW[idx - 1]); + const char* curr_p = obj->TextSrc + idx; + const char* prev_p = ImTextFindPreviousUtf8Codepoint(obj->TextSrc, curr_p); + unsigned int prev_c; ImTextCharFromUtf8(&prev_c, curr_p, obj->TextSrc + obj->TextLen); + unsigned int curr_c; ImTextCharFromUtf8(&curr_c, prev_p, obj->TextSrc + obj->TextLen); + + bool prev_white = ImCharIsBlankW(prev_c); + bool prev_separ = ImCharIsSeparatorW(prev_c); + bool curr_white = ImCharIsBlankW(curr_c); + bool curr_separ = ImCharIsSeparatorW(curr_c); return ((prev_white) && !(curr_separ || curr_white)) || (curr_separ && !prev_separ); } -static int STB_TEXTEDIT_MOVEWORDLEFT_IMPL(ImGuiInputTextState* obj, int idx) { idx--; while (idx >= 0 && !is_word_boundary_from_right(obj, idx)) idx--; return idx < 0 ? 0 : idx; } -static int STB_TEXTEDIT_MOVEWORDRIGHT_MAC(ImGuiInputTextState* obj, int idx) { idx++; int len = obj->CurLenW; while (idx < len && !is_word_boundary_from_left(obj, idx)) idx++; return idx > len ? len : idx; } -static int STB_TEXTEDIT_MOVEWORDRIGHT_WIN(ImGuiInputTextState* obj, int idx) { idx++; int len = obj->CurLenW; while (idx < len && !is_word_boundary_from_right(obj, idx)) idx++; return idx > len ? len : idx; } +static int STB_TEXTEDIT_MOVEWORDLEFT_IMPL(ImGuiInputTextState* obj, int idx) +{ + idx = IMSTB_TEXTEDIT_GETPREVCHARINDEX(obj, idx); + while (idx >= 0 && !is_word_boundary_from_right(obj, idx)) + idx = IMSTB_TEXTEDIT_GETPREVCHARINDEX(obj, idx); + return idx < 0 ? 0 : idx; +} +static int STB_TEXTEDIT_MOVEWORDRIGHT_MAC(ImGuiInputTextState* obj, int idx) +{ + int len = obj->TextLen; + idx = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(obj, idx); + while (idx < len && !is_word_boundary_from_left(obj, idx)) + idx = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(obj, idx); + return idx > len ? len : idx; +} +static int STB_TEXTEDIT_MOVEWORDRIGHT_WIN(ImGuiInputTextState* obj, int idx) +{ + idx = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(obj, idx); + int len = obj->TextLen; + while (idx < len && !is_word_boundary_from_right(obj, idx)) + idx = IMSTB_TEXTEDIT_GETNEXTCHARINDEX(obj, idx); + return idx > len ? len : idx; +} static int STB_TEXTEDIT_MOVEWORDRIGHT_IMPL(ImGuiInputTextState* obj, int idx) { ImGuiContext& g = *obj->Ctx; if (g.IO.ConfigMacOSXBehaviors) return STB_TEXTEDIT_MOVEWORDRIGHT_MAC(obj, idx); else return STB_TEXTEDIT_MOVEWORDRIGHT_WIN(obj, idx); } -#define STB_TEXTEDIT_MOVEWORDLEFT STB_TEXTEDIT_MOVEWORDLEFT_IMPL // They need to be #define for stb_textedit.h -#define STB_TEXTEDIT_MOVEWORDRIGHT STB_TEXTEDIT_MOVEWORDRIGHT_IMPL +#define STB_TEXTEDIT_MOVEWORDLEFT STB_TEXTEDIT_MOVEWORDLEFT_IMPL // They need to be #define for stb_textedit.h +#define STB_TEXTEDIT_MOVEWORDRIGHT STB_TEXTEDIT_MOVEWORDRIGHT_IMPL static void STB_TEXTEDIT_DELETECHARS(ImGuiInputTextState* obj, int pos, int n) { - ImWchar* dst = obj->TextW.Data + pos; - - // We maintain our buffer length in both UTF-8 and wchar formats + // Offset remaining text (+ copy zero terminator) + IM_ASSERT(obj->TextSrc == obj->TextA.Data); + char* dst = obj->TextA.Data + pos; + char* src = obj->TextA.Data + pos + n; + memmove(dst, src, obj->TextLen - n - pos + 1); obj->Edited = true; - obj->CurLenA -= ImTextCountUtf8BytesFromStr(dst, dst + n); - obj->CurLenW -= n; - - // Offset remaining text (FIXME-OPT: Use memmove) - const ImWchar* src = obj->TextW.Data + pos + n; - while (ImWchar c = *src++) - *dst++ = c; - *dst = '\0'; + obj->TextLen -= n; } -static bool STB_TEXTEDIT_INSERTCHARS(ImGuiInputTextState* obj, int pos, const ImWchar* new_text, int new_text_len) +static bool STB_TEXTEDIT_INSERTCHARS(ImGuiInputTextState* obj, int pos, const char* new_text, int new_text_len) { const bool is_resizable = (obj->Flags & ImGuiInputTextFlags_CallbackResize) != 0; - const int text_len = obj->CurLenW; + const int text_len = obj->TextLen; IM_ASSERT(pos <= text_len); - const int new_text_len_utf8 = ImTextCountUtf8BytesFromStr(new_text, new_text + new_text_len); - if (!is_resizable && (new_text_len_utf8 + obj->CurLenA + 1 > obj->BufCapacityA)) + if (!is_resizable && (new_text_len + obj->TextLen + 1 > obj->BufCapacity)) return false; // Grow internal buffer if needed - if (new_text_len + text_len + 1 > obj->TextW.Size) + IM_ASSERT(obj->TextSrc == obj->TextA.Data); + if (new_text_len + text_len + 1 > obj->TextA.Size) { if (!is_resizable) return false; - IM_ASSERT(text_len < obj->TextW.Size); - obj->TextW.resize(text_len + ImClamp(new_text_len * 4, 32, ImMax(256, new_text_len)) + 1); + obj->TextA.resize(text_len + ImClamp(new_text_len, 32, ImMax(256, new_text_len)) + 1); + obj->TextSrc = obj->TextA.Data; } - ImWchar* text = obj->TextW.Data; + char* text = obj->TextA.Data; if (pos != text_len) - memmove(text + pos + new_text_len, text + pos, (size_t)(text_len - pos) * sizeof(ImWchar)); - memcpy(text + pos, new_text, (size_t)new_text_len * sizeof(ImWchar)); + memmove(text + pos + new_text_len, text + pos, (size_t)(text_len - pos)); + memcpy(text + pos, new_text, (size_t)new_text_len); obj->Edited = true; - obj->CurLenW += new_text_len; - obj->CurLenA += new_text_len_utf8; - obj->TextW[obj->CurLenW] = '\0'; + obj->TextLen += new_text_len; + obj->TextA[obj->TextLen] = '\0'; return true; } @@ -4005,8 +4122,8 @@ static bool STB_TEXTEDIT_INSERTCHARS(ImGuiInputTextState* obj, int pos, const Im // the stb_textedit_paste() function creates two separate records, so we perform it manually. (FIXME: Report to nothings/stb?) static void stb_textedit_replace(ImGuiInputTextState* str, STB_TexteditState* state, const IMSTB_TEXTEDIT_CHARTYPE* text, int text_len) { - stb_text_makeundo_replace(str, state, 0, str->CurLenW, text_len); - ImStb::STB_TEXTEDIT_DELETECHARS(str, 0, str->CurLenW); + stb_text_makeundo_replace(str, state, 0, str->TextLen, text_len); + ImStb::STB_TEXTEDIT_DELETECHARS(str, 0, str->TextLen); state->cursor = state->select_start = state->select_end = 0; if (text_len <= 0) return; @@ -4021,29 +4138,65 @@ static void stb_textedit_replace(ImGuiInputTextState* str, STB_TexteditState* st } // namespace ImStb +// We added an extra indirection where 'Stb' is heap-allocated, in order facilitate the work of bindings generators. +ImGuiInputTextState::ImGuiInputTextState() +{ + memset(this, 0, sizeof(*this)); + Stb = IM_NEW(ImStbTexteditState); + memset(Stb, 0, sizeof(*Stb)); +} + +ImGuiInputTextState::~ImGuiInputTextState() +{ + IM_DELETE(Stb); +} + void ImGuiInputTextState::OnKeyPressed(int key) { - stb_textedit_key(this, &Stb, key); + stb_textedit_key(this, Stb, key); + CursorFollow = true; + CursorAnimReset(); +} + +void ImGuiInputTextState::OnCharPressed(unsigned int c) +{ + // Convert the key to a UTF8 byte sequence. + // The changes we had to make to stb_textedit_key made it very much UTF-8 specific which is not too great. + char utf8[5]; + ImTextCharToUtf8(utf8, c); + stb_textedit_text(this, Stb, utf8, (int)strlen(utf8)); CursorFollow = true; CursorAnimReset(); } +// Those functions are not inlined in imgui_internal.h, allowing us to hide ImStbTexteditState from that header. +void ImGuiInputTextState::CursorAnimReset() { CursorAnim = -0.30f; } // After a user-input the cursor stays on for a while without blinking +void ImGuiInputTextState::CursorClamp() { Stb->cursor = ImMin(Stb->cursor, TextLen); Stb->select_start = ImMin(Stb->select_start, TextLen); Stb->select_end = ImMin(Stb->select_end, TextLen); } +bool ImGuiInputTextState::HasSelection() const { return Stb->select_start != Stb->select_end; } +void ImGuiInputTextState::ClearSelection() { Stb->select_start = Stb->select_end = Stb->cursor; } +int ImGuiInputTextState::GetCursorPos() const { return Stb->cursor; } +int ImGuiInputTextState::GetSelectionStart() const { return Stb->select_start; } +int ImGuiInputTextState::GetSelectionEnd() const { return Stb->select_end; } +void ImGuiInputTextState::SelectAll() { Stb->select_start = 0; Stb->cursor = Stb->select_end = TextLen; Stb->has_preferred_x = 0; } +void ImGuiInputTextState::ReloadUserBufAndSelectAll() { WantReloadUserBuf = true; ReloadSelectionStart = 0; ReloadSelectionEnd = INT_MAX; } +void ImGuiInputTextState::ReloadUserBufAndKeepSelection() { WantReloadUserBuf = true; ReloadSelectionStart = Stb->select_start; ReloadSelectionEnd = Stb->select_end; } +void ImGuiInputTextState::ReloadUserBufAndMoveToEnd() { WantReloadUserBuf = true; ReloadSelectionStart = ReloadSelectionEnd = INT_MAX; } + ImGuiInputTextCallbackData::ImGuiInputTextCallbackData() { memset(this, 0, sizeof(*this)); } -// Public API to manipulate UTF-8 text -// We expose UTF-8 to the user (unlike the STB_TEXTEDIT_* functions which are manipulating wchar) +// Public API to manipulate UTF-8 text from within a callback. // FIXME: The existence of this rarely exercised code path is a bit of a nuisance. +// Historically they existed because STB_TEXTEDIT_INSERTCHARS() etc. worked on our ImWchar +// buffer, but nowadays they both work on UTF-8 data. Should aim to merge both. void ImGuiInputTextCallbackData::DeleteChars(int pos, int bytes_count) { IM_ASSERT(pos + bytes_count <= BufTextLen); char* dst = Buf + pos; const char* src = Buf + pos + bytes_count; - while (char c = *src++) - *dst++ = c; - *dst = '\0'; + memmove(dst, src, BufTextLen - bytes_count - pos + 1); if (CursorPos >= pos + bytes_count) CursorPos -= bytes_count; @@ -4060,6 +4213,7 @@ void ImGuiInputTextCallbackData::InsertChars(int pos, const char* new_text, cons if (new_text == new_text_end) return; + // Grow internal buffer if needed const bool is_resizable = (Flags & ImGuiInputTextFlags_CallbackResize) != 0; const int new_text_len = new_text_end ? (int)(new_text_end - new_text) : (int)strlen(new_text); if (new_text_len + BufTextLen >= BufSize) @@ -4067,15 +4221,15 @@ void ImGuiInputTextCallbackData::InsertChars(int pos, const char* new_text, cons if (!is_resizable) return; - // Contrary to STB_TEXTEDIT_INSERTCHARS() this is working in the UTF8 buffer, hence the mildly similar code (until we remove the U16 buffer altogether!) ImGuiContext& g = *Ctx; ImGuiInputTextState* edit_state = &g.InputTextState; IM_ASSERT(edit_state->ID != 0 && g.ActiveId == edit_state->ID); IM_ASSERT(Buf == edit_state->TextA.Data); int new_buf_size = BufTextLen + ImClamp(new_text_len * 4, 32, ImMax(256, new_text_len)) + 1; - edit_state->TextA.reserve(new_buf_size + 1); + edit_state->TextA.resize(new_buf_size + 1); + edit_state->TextSrc = edit_state->TextA.Data; Buf = edit_state->TextA.Data; - BufSize = edit_state->BufCapacityA = new_buf_size; + BufSize = edit_state->BufCapacity = new_buf_size; } if (BufTextLen != pos) @@ -4129,10 +4283,10 @@ static bool InputTextFilterCharacter(ImGuiContext* ctx, unsigned int* p_char, Im // The standard mandate that programs starts in the "C" locale where the decimal point is '.'. // We don't really intend to provide widespread support for it, but out of empathy for people stuck with using odd API, we support the bare minimum aka overriding the decimal point. // Change the default decimal_point with: - // ImGui::GetIO()->PlatformLocaleDecimalPoint = *localeconv()->decimal_point; + // ImGui::GetPlatformIO()->Platform_LocaleDecimalPoint = *localeconv()->decimal_point; // Users of non-default decimal point (in particular ',') may be affected by word-selection logic (is_word_boundary_from_right/is_word_boundary_from_left) functions. ImGuiContext& g = *ctx; - const unsigned c_decimal_point = (unsigned int)g.IO.PlatformLocaleDecimalPoint; + const unsigned c_decimal_point = (unsigned int)g.PlatformIO.Platform_LocaleDecimalPoint; if (flags & (ImGuiInputTextFlags_CharsDecimal | ImGuiInputTextFlags_CharsScientific | (ImGuiInputTextFlags)ImGuiInputTextFlags_LocalizeDecimalPoint)) if (c == '.' || c == ',') c = c_decimal_point; @@ -4191,19 +4345,11 @@ static bool InputTextFilterCharacter(ImGuiContext* ctx, unsigned int* p_char, Im return true; } -// Find the shortest single replacement we can make to get the new text from the old text. -// Important: needs to be run before TextW is rewritten with the new characters because calling STB_TEXTEDIT_GETCHAR() at the end. +// Find the shortest single replacement we can make to get from old_buf to new_buf +// Note that this doesn't directly alter state->TextA, state->TextLen. They are expected to be made valid separately. // FIXME: Ideally we should transition toward (1) making InsertChars()/DeleteChars() update undo-stack (2) discourage (and keep reconcile) or obsolete (and remove reconcile) accessing buffer directly. -static void InputTextReconcileUndoStateAfterUserCallback(ImGuiInputTextState* state, const char* new_buf_a, int new_length_a) +static void InputTextReconcileUndoState(ImGuiInputTextState* state, const char* old_buf, int old_length, const char* new_buf, int new_length) { - ImGuiContext& g = *GImGui; - const ImWchar* old_buf = state->TextW.Data; - const int old_length = state->CurLenW; - const int new_length = ImTextCountCharsFromUtf8(new_buf_a, new_buf_a + new_length_a); - g.TempBuffer.reserve_discard((new_length + 1) * sizeof(ImWchar)); - ImWchar* new_buf = (ImWchar*)(void*)g.TempBuffer.Data; - ImTextStrFromUtf8(new_buf, new_length + 1, new_buf_a, new_buf_a + new_length_a); - const int shorter_length = ImMin(old_length, new_length); int first_diff; for (first_diff = 0; first_diff < shorter_length; first_diff++) @@ -4212,7 +4358,7 @@ static void InputTextReconcileUndoStateAfterUserCallback(ImGuiInputTextState* st if (first_diff == old_length && first_diff == new_length) return; - int old_last_diff = old_length - 1; + int old_last_diff = old_length - 1; int new_last_diff = new_length - 1; for (; old_last_diff >= first_diff && new_last_diff >= first_diff; old_last_diff--, new_last_diff--) if (old_buf[old_last_diff] != new_buf[new_last_diff]) @@ -4221,9 +4367,9 @@ static void InputTextReconcileUndoStateAfterUserCallback(ImGuiInputTextState* st const int insert_len = new_last_diff - first_diff + 1; const int delete_len = old_last_diff - first_diff + 1; if (insert_len > 0 || delete_len > 0) - if (IMSTB_TEXTEDIT_CHARTYPE* p = stb_text_createundo(&state->Stb.undostate, first_diff, delete_len, insert_len)) + if (IMSTB_TEXTEDIT_CHARTYPE* p = stb_text_createundo(&state->Stb->undostate, first_diff, delete_len, insert_len)) for (int i = 0; i < delete_len; i++) - p[i] = ImStb::STB_TEXTEDIT_GETCHAR(state, first_diff + i); + p[i] = old_buf[first_diff + i]; } // As InputText() retain textual data and we currently provide a path for user to not retain it (via local variables) @@ -4244,8 +4390,9 @@ void ImGui::InputTextDeactivateHook(ImGuiID id) else { IM_ASSERT(state->TextA.Data != 0); - g.InputTextDeactivatedState.TextA.resize(state->CurLenA + 1); - memcpy(g.InputTextDeactivatedState.TextA.Data, state->TextA.Data, state->CurLenA + 1); + IM_ASSERT(state->TextA[state->TextLen] == 0); + g.InputTextDeactivatedState.TextA.resize(state->TextLen + 1); + memcpy(g.InputTextDeactivatedState.TextA.Data, state->TextA.Data, state->TextLen + 1); } } @@ -4266,6 +4413,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ IM_ASSERT(buf != NULL && buf_size >= 0); IM_ASSERT(!((flags & ImGuiInputTextFlags_CallbackHistory) && (flags & ImGuiInputTextFlags_Multiline))); // Can't use both together (they both use up/down keys) IM_ASSERT(!((flags & ImGuiInputTextFlags_CallbackCompletion) && (flags & ImGuiInputTextFlags_AllowTabInput))); // Can't use both together (they both use tab key) + IM_ASSERT(!((flags & ImGuiInputTextFlags_ElideLeft) && (flags & ImGuiInputTextFlags_Multiline))); // Multiline will not work with left-trimming ImGuiContext& g = *GImGui; ImGuiIO& io = g.IO; @@ -4313,7 +4461,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ PushStyleVar(ImGuiStyleVar_ChildRounding, style.FrameRounding); PushStyleVar(ImGuiStyleVar_ChildBorderSize, style.FrameBorderSize); PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0, 0)); // Ensure no clip rect so mouse hover can reach FramePadding edges - bool child_visible = BeginChildEx(label, id, frame_bb.GetSize(), ImGuiChildFlags_Border, ImGuiWindowFlags_NoMove); + bool child_visible = BeginChildEx(label, id, frame_bb.GetSize(), ImGuiChildFlags_Borders, ImGuiWindowFlags_NoMove); g.NavActivateId = backup_activate_id; PopStyleVar(3); PopStyleColor(); @@ -4336,14 +4484,18 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ if (!ItemAdd(total_bb, id, &frame_bb, ImGuiItemFlags_Inputable)) return false; } - const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.InFlags); + + // Ensure mouse cursor is set even after switching to keyboard/gamepad mode. May generalize further? (#6417) + bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.ItemFlags | ImGuiItemFlags_NoNavDisableMouseHover); if (hovered) - g.MouseCursor = ImGuiMouseCursor_TextInput; + SetMouseCursor(ImGuiMouseCursor_TextInput); + if (hovered && g.NavHighlightItemUnderNav) + hovered = false; // We are only allowed to access the state if we are already the active widget. ImGuiInputTextState* state = GetInputTextState(id); - if (g.LastItemData.InFlags & ImGuiItemFlags_ReadOnly) + if (g.LastItemData.ItemFlags & ImGuiItemFlags_ReadOnly) flags |= ImGuiInputTextFlags_ReadOnly; const bool is_readonly = (flags & ImGuiInputTextFlags_ReadOnly) != 0; const bool is_password = (flags & ImGuiInputTextFlags_Password) != 0; @@ -4362,63 +4514,67 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ float scroll_y = is_multiline ? draw_window->Scroll.y : FLT_MAX; - const bool init_reload_from_user_buf = (state != NULL && state->ReloadUserBuf); - const bool init_changed_specs = (state != NULL && state->Stb.single_line != !is_multiline); // state != NULL means its our state. + const bool init_reload_from_user_buf = (state != NULL && state->WantReloadUserBuf); + const bool init_changed_specs = (state != NULL && state->Stb->single_line != !is_multiline); // state != NULL means its our state. const bool init_make_active = (user_clicked || user_scroll_finish || input_requested_by_nav); const bool init_state = (init_make_active || user_scroll_active); - if ((init_state && g.ActiveId != id) || init_changed_specs || init_reload_from_user_buf) + if (init_reload_from_user_buf) + { + int new_len = (int)strlen(buf); + IM_ASSERT(new_len + 1 <= buf_size && "Is your input buffer properly zero-terminated?"); + state->WantReloadUserBuf = false; + InputTextReconcileUndoState(state, state->TextA.Data, state->TextLen, buf, new_len); + state->TextA.resize(buf_size + 1); // we use +1 to make sure that .Data is always pointing to at least an empty string. + state->TextLen = new_len; + memcpy(state->TextA.Data, buf, state->TextLen + 1); + state->Stb->select_start = state->ReloadSelectionStart; + state->Stb->cursor = state->Stb->select_end = state->ReloadSelectionEnd; + state->CursorClamp(); + } + else if ((init_state && g.ActiveId != id) || init_changed_specs) { // Access state even if we don't own it yet. state = &g.InputTextState; state->CursorAnimReset(); - state->ReloadUserBuf = false; // Backup state of deactivating item so they'll have a chance to do a write to output buffer on the same frame they report IsItemDeactivatedAfterEdit (#4714) InputTextDeactivateHook(state->ID); + // Take a copy of the initial buffer value. // From the moment we focused we are normally ignoring the content of 'buf' (unless we are in read-only mode) const int buf_len = (int)strlen(buf); - if (!init_reload_from_user_buf) - { - // Take a copy of the initial buffer value. - state->InitialTextA.resize(buf_len + 1); // UTF-8. we use +1 to make sure that .Data is always pointing to at least an empty string. - memcpy(state->InitialTextA.Data, buf, buf_len + 1); - } + IM_ASSERT(buf_len + 1 <= buf_size && "Is your input buffer properly zero-terminated?"); + state->TextToRevertTo.resize(buf_len + 1); // UTF-8. we use +1 to make sure that .Data is always pointing to at least an empty string. + memcpy(state->TextToRevertTo.Data, buf, buf_len + 1); // Preserve cursor position and undo/redo stack if we come back to same widget // FIXME: Since we reworked this on 2022/06, may want to differentiate recycle_cursor vs recycle_undostate? - bool recycle_state = (state->ID == id && !init_changed_specs && !init_reload_from_user_buf); - if (recycle_state && (state->CurLenA != buf_len || (state->TextAIsValid && strncmp(state->TextA.Data, buf, buf_len) != 0))) + bool recycle_state = (state->ID == id && !init_changed_specs); + if (recycle_state && (state->TextLen != buf_len || (state->TextA.Data == NULL || strncmp(state->TextA.Data, buf, buf_len) != 0))) recycle_state = false; // Start edition - const char* buf_end = NULL; state->ID = id; - state->TextW.resize(buf_size + 1); // wchar count <= UTF-8 count. we use +1 to make sure that .Data is always pointing to at least an empty string. - state->TextA.resize(0); - state->TextAIsValid = false; // TextA is not valid yet (we will display buf until then) - state->CurLenW = ImTextStrFromUtf8(state->TextW.Data, buf_size, buf, NULL, &buf_end); - state->CurLenA = (int)(buf_end - buf); // We can't get the result from ImStrncpy() above because it is not UTF-8 aware. Here we'll cut off malformed UTF-8. + state->TextLen = buf_len; + if (!is_readonly) + { + state->TextA.resize(buf_size + 1); // we use +1 to make sure that .Data is always pointing to at least an empty string. + memcpy(state->TextA.Data, buf, state->TextLen + 1); + } + + // Find initial scroll position for right alignment + state->Scroll = ImVec2(0.0f, 0.0f); + if (flags & ImGuiInputTextFlags_ElideLeft) + state->Scroll.x += ImMax(0.0f, CalcTextSize(buf).x - frame_size.x + style.FramePadding.x * 2.0f); + // Recycle existing cursor/selection/undo stack but clamp position + // Note a single mouse click will override the cursor/position immediately by calling stb_textedit_click handler. if (recycle_state) - { - // Recycle existing cursor/selection/undo stack but clamp position - // Note a single mouse click will override the cursor/position immediately by calling stb_textedit_click handler. state->CursorClamp(); - } else - { - state->ScrollX = 0.0f; - stb_textedit_initialize_state(&state->Stb, !is_multiline); - } + stb_textedit_initialize_state(state->Stb, !is_multiline); - if (init_reload_from_user_buf) - { - state->Stb.select_start = state->ReloadSelectionStart; - state->Stb.cursor = state->Stb.select_end = state->ReloadSelectionEnd; - state->CursorClamp(); - } - else if (!is_multiline) + if (!is_multiline) { if (flags & ImGuiInputTextFlags_AutoSelectAll) select_all = true; @@ -4429,7 +4585,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ } if (flags & ImGuiInputTextFlags_AlwaysOverwrite) - state->Stb.insert_mode = 1; // stb field name is indeed incorrect (see #2863) + state->Stb->insert_mode = 1; // stb field name is indeed incorrect (see #2863) } const bool is_osx = io.ConfigMacOSXBehaviors; @@ -4443,15 +4599,19 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ if (g.ActiveId == id) { // Declare some inputs, the other are registered and polled via Shortcut() routing system. + // FIXME: The reason we don't use Shortcut() is we would need a routing flag to specify multiple mods, or to all mods combinaison into individual shortcuts. + const ImGuiKey always_owned_keys[] = { ImGuiKey_LeftArrow, ImGuiKey_RightArrow, ImGuiKey_Enter, ImGuiKey_KeypadEnter, ImGuiKey_Delete, ImGuiKey_Backspace, ImGuiKey_Home, ImGuiKey_End }; + for (ImGuiKey key : always_owned_keys) + SetKeyOwner(key, id); if (user_clicked) SetKeyOwner(ImGuiKey_MouseLeft, id); g.ActiveIdUsingNavDirMask |= (1 << ImGuiDir_Left) | (1 << ImGuiDir_Right); if (is_multiline || (flags & ImGuiInputTextFlags_CallbackHistory)) + { g.ActiveIdUsingNavDirMask |= (1 << ImGuiDir_Up) | (1 << ImGuiDir_Down); - SetKeyOwner(ImGuiKey_Enter, id); - SetKeyOwner(ImGuiKey_KeypadEnter, id); - SetKeyOwner(ImGuiKey_Home, id); - SetKeyOwner(ImGuiKey_End, id); + SetKeyOwner(ImGuiKey_UpArrow, id); + SetKeyOwner(ImGuiKey_DownArrow, id); + } if (is_multiline) { SetKeyOwner(ImGuiKey_PageUp, id); @@ -4460,7 +4620,19 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ // FIXME: May be a problem to always steal Alt on OSX, would ideally still allow an uninterrupted Alt down-up to toggle menu if (is_osx) SetKeyOwner(ImGuiMod_Alt, id); + + // Expose scroll in a manner that is agnostic to us using a child window + if (is_multiline && state != NULL) + state->Scroll.y = draw_window->Scroll.y; + + // Read-only mode always ever read from source buffer. Refresh TextLen when active. + if (is_readonly && state != NULL) + state->TextLen = (int)strlen(buf); + //if (is_readonly && state != NULL) + // state->TextA.clear(); // Uncomment to facilitate debugging, but we otherwise prefer to keep/amortize th allocation. } + if (state != NULL) + state->TextSrc = is_readonly ? buf : state->TextA.Data; // We have an edge case if ActiveId was set through another widget (e.g. widget being swapped), clear id immediately (don't wait until the end of the function) if (g.ActiveId == id && state == NULL) @@ -4476,20 +4648,8 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ bool value_changed = false; bool validated = false; - // When read-only we always use the live data passed to the function - // FIXME-OPT: Because our selection/cursor code currently needs the wide text we need to convert it when active, which is not ideal :( - if (is_readonly && state != NULL && (render_cursor || render_selection)) - { - const char* buf_end = NULL; - state->TextW.resize(buf_size + 1); - state->CurLenW = ImTextStrFromUtf8(state->TextW.Data, state->TextW.Size, buf, NULL, &buf_end); - state->CurLenA = (int)(buf_end - buf); - state->CursorClamp(); - render_selection &= state->HasSelection(); - } - // Select the buffer to render. - const bool buf_display_from_state = (render_cursor || render_selection || g.ActiveId == id) && !is_readonly && state && state->TextAIsValid; + const bool buf_display_from_state = (render_cursor || render_selection || g.ActiveId == id) && !is_readonly && state; const bool is_displaying_hint = (hint != NULL && (buf_display_from_state ? state->TextA.Data : buf)[0] == 0); // Password pushes a temporary font with only a fallback glyph @@ -4509,13 +4669,11 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ } // Process mouse inputs and character inputs - int backup_current_text_length = 0; if (g.ActiveId == id) { IM_ASSERT(state != NULL); - backup_current_text_length = state->CurLenA; state->Edited = false; - state->BufCapacityA = buf_size; + state->BufCapacity = buf_size; state->Flags = flags; // Although we are active we don't prevent mouse from hovering other elements unless we are interacting right now with the widget. @@ -4523,7 +4681,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ g.ActiveIdAllowOverlap = !io.MouseDown[0]; // Edit in progress - const float mouse_x = (io.MousePos.x - frame_bb.Min.x - style.FramePadding.x) + state->ScrollX; + const float mouse_x = (io.MousePos.x - frame_bb.Min.x - style.FramePadding.x) + state->Scroll.x; const float mouse_y = (is_multiline ? (io.MousePos.y - draw_window->DC.CursorPos.y) : (g.FontSize * 0.5f)); if (select_all) @@ -4533,34 +4691,34 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ } else if (hovered && io.MouseClickedCount[0] >= 2 && !io.KeyShift) { - stb_textedit_click(state, &state->Stb, mouse_x, mouse_y); + stb_textedit_click(state, state->Stb, mouse_x, mouse_y); const int multiclick_count = (io.MouseClickedCount[0] - 2); if ((multiclick_count % 2) == 0) { // Double-click: Select word // We always use the "Mac" word advance for double-click select vs CTRL+Right which use the platform dependent variant: // FIXME: There are likely many ways to improve this behavior, but there's no "right" behavior (depends on use-case, software, OS) - const bool is_bol = (state->Stb.cursor == 0) || ImStb::STB_TEXTEDIT_GETCHAR(state, state->Stb.cursor - 1) == '\n'; - if (STB_TEXT_HAS_SELECTION(&state->Stb) || !is_bol) + const bool is_bol = (state->Stb->cursor == 0) || ImStb::STB_TEXTEDIT_GETCHAR(state, state->Stb->cursor - 1) == '\n'; + if (STB_TEXT_HAS_SELECTION(state->Stb) || !is_bol) state->OnKeyPressed(STB_TEXTEDIT_K_WORDLEFT); //state->OnKeyPressed(STB_TEXTEDIT_K_WORDRIGHT | STB_TEXTEDIT_K_SHIFT); - if (!STB_TEXT_HAS_SELECTION(&state->Stb)) - ImStb::stb_textedit_prep_selection_at_cursor(&state->Stb); - state->Stb.cursor = ImStb::STB_TEXTEDIT_MOVEWORDRIGHT_MAC(state, state->Stb.cursor); - state->Stb.select_end = state->Stb.cursor; - ImStb::stb_textedit_clamp(state, &state->Stb); + if (!STB_TEXT_HAS_SELECTION(state->Stb)) + ImStb::stb_textedit_prep_selection_at_cursor(state->Stb); + state->Stb->cursor = ImStb::STB_TEXTEDIT_MOVEWORDRIGHT_MAC(state, state->Stb->cursor); + state->Stb->select_end = state->Stb->cursor; + ImStb::stb_textedit_clamp(state, state->Stb); } else { // Triple-click: Select line - const bool is_eol = ImStb::STB_TEXTEDIT_GETCHAR(state, state->Stb.cursor) == '\n'; + const bool is_eol = ImStb::STB_TEXTEDIT_GETCHAR(state, state->Stb->cursor) == '\n'; state->OnKeyPressed(STB_TEXTEDIT_K_LINESTART); state->OnKeyPressed(STB_TEXTEDIT_K_LINEEND | STB_TEXTEDIT_K_SHIFT); state->OnKeyPressed(STB_TEXTEDIT_K_RIGHT | STB_TEXTEDIT_K_SHIFT); if (!is_eol && is_multiline) { - ImSwap(state->Stb.select_start, state->Stb.select_end); - state->Stb.cursor = state->Stb.select_end; + ImSwap(state->Stb->select_start, state->Stb->select_end); + state->Stb->cursor = state->Stb->select_end; } state->CursorFollow = false; } @@ -4571,15 +4729,15 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ if (hovered) { if (io.KeyShift) - stb_textedit_drag(state, &state->Stb, mouse_x, mouse_y); + stb_textedit_drag(state, state->Stb, mouse_x, mouse_y); else - stb_textedit_click(state, &state->Stb, mouse_x, mouse_y); + stb_textedit_click(state, state->Stb, mouse_x, mouse_y); state->CursorAnimReset(); } } else if (io.MouseDown[0] && !state->SelectedAllMouseLock && (io.MouseDelta.x != 0.0f || io.MouseDelta.y != 0.0f)) { - stb_textedit_drag(state, &state->Stb, mouse_x, mouse_y); + stb_textedit_drag(state, state->Stb, mouse_x, mouse_y); state->CursorAnimReset(); state->CursorFollow = true; } @@ -4594,7 +4752,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ { unsigned int c = '\t'; // Insert TAB if (InputTextFilterCharacter(&g, &c, flags, callback, callback_user_data)) - state->OnKeyPressed((int)c); + state->OnCharPressed(c); } // FIXME: Implement Shift+Tab /* @@ -4617,7 +4775,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ if (c == '\t') // Skip Tab, see above. continue; if (InputTextFilterCharacter(&g, &c, flags, callback, callback_user_data)) - state->OnKeyPressed((int)c); + state->OnCharPressed(c); } // Consume characters @@ -4632,7 +4790,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ IM_ASSERT(state != NULL); const int row_count_per_page = ImMax((int)((inner_size.y - style.FramePadding.y) / g.FontSize), 1); - state->Stb.row_count_per_page = row_count_per_page; + state->Stb->row_count_per_page = row_count_per_page; const int k_mask = (io.KeyShift ? STB_TEXTEDIT_K_SHIFT : 0); const bool is_wordmove_key_down = is_osx ? io.KeyAlt : io.KeyCtrl; // OS X style: Text editing cursor movement using Alt instead of Ctrl @@ -4701,7 +4859,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ { unsigned int c = '\n'; // Insert new line if (InputTextFilterCharacter(&g, &c, flags, callback, callback_user_data)) - state->OnKeyPressed((int)c); + state->OnCharPressed(c); } } else if (is_cancel) @@ -4737,22 +4895,22 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ else if (is_cut || is_copy) { // Cut, Copy - if (io.SetClipboardTextFn) + if (g.PlatformIO.Platform_SetClipboardTextFn != NULL) { - const int ib = state->HasSelection() ? ImMin(state->Stb.select_start, state->Stb.select_end) : 0; - const int ie = state->HasSelection() ? ImMax(state->Stb.select_start, state->Stb.select_end) : state->CurLenW; - const int clipboard_data_len = ImTextCountUtf8BytesFromStr(state->TextW.Data + ib, state->TextW.Data + ie) + 1; - char* clipboard_data = (char*)IM_ALLOC(clipboard_data_len * sizeof(char)); - ImTextStrToUtf8(clipboard_data, clipboard_data_len, state->TextW.Data + ib, state->TextW.Data + ie); - SetClipboardText(clipboard_data); - MemFree(clipboard_data); + // SetClipboardText() only takes null terminated strings + state->TextSrc may point to read-only user buffer, so we need to make a copy. + const int ib = state->HasSelection() ? ImMin(state->Stb->select_start, state->Stb->select_end) : 0; + const int ie = state->HasSelection() ? ImMax(state->Stb->select_start, state->Stb->select_end) : state->TextLen; + g.TempBuffer.reserve(ie - ib + 1); + memcpy(g.TempBuffer.Data, state->TextSrc + ib, ie - ib); + g.TempBuffer.Data[ie - ib] = 0; + SetClipboardText(g.TempBuffer.Data); } if (is_cut) { if (!state->HasSelection()) state->SelectAll(); state->CursorFollow = true; - stb_textedit_cut(state, &state->Stb); + stb_textedit_cut(state, state->Stb); } } else if (is_paste) @@ -4761,23 +4919,27 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ { // Filter pasted buffer const int clipboard_len = (int)strlen(clipboard); - ImWchar* clipboard_filtered = (ImWchar*)IM_ALLOC((clipboard_len + 1) * sizeof(ImWchar)); - int clipboard_filtered_len = 0; + ImVector clipboard_filtered; + clipboard_filtered.reserve(clipboard_len + 1); for (const char* s = clipboard; *s != 0; ) { unsigned int c; - s += ImTextCharFromUtf8(&c, s, NULL); + int in_len = ImTextCharFromUtf8(&c, s, NULL); + s += in_len; if (!InputTextFilterCharacter(&g, &c, flags, callback, callback_user_data, true)) continue; - clipboard_filtered[clipboard_filtered_len++] = (ImWchar)c; + char c_utf8[5]; + ImTextCharToUtf8(c_utf8, c); + int out_len = (int)strlen(c_utf8); + clipboard_filtered.resize(clipboard_filtered.Size + out_len); + memcpy(clipboard_filtered.Data + clipboard_filtered.Size - out_len, c_utf8, out_len); } - clipboard_filtered[clipboard_filtered_len] = 0; - if (clipboard_filtered_len > 0) // If everything was filtered, ignore the pasting operation + if (clipboard_filtered.Size > 0) // If everything was filtered, ignore the pasting operation { - stb_textedit_paste(state, &state->Stb, clipboard_filtered, clipboard_filtered_len); + clipboard_filtered.push_back(0); + stb_textedit_paste(state, state->Stb, clipboard_filtered.Data, clipboard_filtered.Size - 1); state->CursorFollow = true; } - MemFree(clipboard_filtered); } } @@ -4801,46 +4963,31 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ apply_new_text_length = 0; value_changed = true; IMSTB_TEXTEDIT_CHARTYPE empty_string; - stb_textedit_replace(state, &state->Stb, &empty_string, 0); + stb_textedit_replace(state, state->Stb, &empty_string, 0); } - else if (strcmp(buf, state->InitialTextA.Data) != 0) + else if (strcmp(buf, state->TextToRevertTo.Data) != 0) { + apply_new_text = state->TextToRevertTo.Data; + apply_new_text_length = state->TextToRevertTo.Size - 1; + // Restore initial value. Only return true if restoring to the initial value changes the current buffer contents. // Push records into the undo stack so we can CTRL+Z the revert operation itself - apply_new_text = state->InitialTextA.Data; - apply_new_text_length = state->InitialTextA.Size - 1; value_changed = true; - ImVector w_text; - if (apply_new_text_length > 0) - { - w_text.resize(ImTextCountCharsFromUtf8(apply_new_text, apply_new_text + apply_new_text_length) + 1); - ImTextStrFromUtf8(w_text.Data, w_text.Size, apply_new_text, apply_new_text + apply_new_text_length); - } - stb_textedit_replace(state, &state->Stb, w_text.Data, (apply_new_text_length > 0) ? (w_text.Size - 1) : 0); + stb_textedit_replace(state, state->Stb, state->TextToRevertTo.Data, state->TextToRevertTo.Size - 1); } } - // Apply ASCII value - if (!is_readonly) - { - state->TextAIsValid = true; - state->TextA.resize(state->TextW.Size * 4 + 1); - ImTextStrToUtf8(state->TextA.Data, state->TextA.Size, state->TextW.Data, NULL); - } - - // When using 'ImGuiInputTextFlags_EnterReturnsTrue' as a special case we reapply the live buffer back to the input buffer - // before clearing ActiveId, even though strictly speaking it wasn't modified on this frame. - // If we didn't do that, code like InputInt() with ImGuiInputTextFlags_EnterReturnsTrue would fail. - // This also allows the user to use InputText() with ImGuiInputTextFlags_EnterReturnsTrue without maintaining any user-side storage + // FIXME-OPT: We always reapply the live buffer back to the input buffer before clearing ActiveId, + // even though strictly speaking it wasn't modified on this frame. Should mark dirty state from the stb_textedit callbacks. + // If we do that, need to ensure that as special case, 'validated == true' also writes back. + // This also allows the user to use InputText() without maintaining any user-side storage. // (please note that if you use this property along ImGuiInputTextFlags_CallbackResize you can end up with your temporary string object // unnecessarily allocating once a frame, either store your string data, either if you don't then don't use ImGuiInputTextFlags_CallbackResize). - const bool apply_edit_back_to_user_buffer = !revert_edit || (validated && (flags & ImGuiInputTextFlags_EnterReturnsTrue) != 0); + const bool apply_edit_back_to_user_buffer = true;// !revert_edit || (validated && (flags & ImGuiInputTextFlags_EnterReturnsTrue) != 0); if (apply_edit_back_to_user_buffer) { - // Apply new value immediately - copy modified buffer back + // Apply current edited text immediately. // Note that as soon as the input box is active, the in-widget value gets priority over any underlying modification of the input buffer - // FIXME: We actually always render 'buf' when calling DrawList->AddText, making the comment above incorrect. - // FIXME-OPT: CPU waste to do this every time the widget is active, should mark dirty state from the stb_textedit callbacks. // User callback if ((flags & (ImGuiInputTextFlags_CallbackCompletion | ImGuiInputTextFlags_CallbackHistory | ImGuiInputTextFlags_CallbackEdit | ImGuiInputTextFlags_CallbackAlways)) != 0) @@ -4882,18 +5029,21 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ callback_data.Flags = flags; callback_data.UserData = callback_user_data; + // FIXME-OPT: Undo stack reconcile needs a backup of the data until we rework API, see #7925 char* callback_buf = is_readonly ? buf : state->TextA.Data; + IM_ASSERT(callback_buf == state->TextSrc); + state->CallbackTextBackup.resize(state->TextLen + 1); + memcpy(state->CallbackTextBackup.Data, callback_buf, state->TextLen + 1); + callback_data.EventKey = event_key; callback_data.Buf = callback_buf; - callback_data.BufTextLen = state->CurLenA; - callback_data.BufSize = state->BufCapacityA; + callback_data.BufTextLen = state->TextLen; + callback_data.BufSize = state->BufCapacity; callback_data.BufDirty = false; - // We have to convert from wchar-positions to UTF-8-positions, which can be pretty slow (an incentive to ditch the ImWchar buffer, see https://github.com/nothings/stb/issues/188) - ImWchar* text = state->TextW.Data; - const int utf8_cursor_pos = callback_data.CursorPos = ImTextCountUtf8BytesFromStr(text, text + state->Stb.cursor); - const int utf8_selection_start = callback_data.SelectionStart = ImTextCountUtf8BytesFromStr(text, text + state->Stb.select_start); - const int utf8_selection_end = callback_data.SelectionEnd = ImTextCountUtf8BytesFromStr(text, text + state->Stb.select_end); + const int utf8_cursor_pos = callback_data.CursorPos = state->Stb->cursor; + const int utf8_selection_start = callback_data.SelectionStart = state->Stb->select_start; + const int utf8_selection_end = callback_data.SelectionEnd = state->Stb->select_end; // Call user code callback(&callback_data); @@ -4901,31 +5051,28 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ // Read back what user may have modified callback_buf = is_readonly ? buf : state->TextA.Data; // Pointer may have been invalidated by a resize callback IM_ASSERT(callback_data.Buf == callback_buf); // Invalid to modify those fields - IM_ASSERT(callback_data.BufSize == state->BufCapacityA); + IM_ASSERT(callback_data.BufSize == state->BufCapacity); IM_ASSERT(callback_data.Flags == flags); const bool buf_dirty = callback_data.BufDirty; - if (callback_data.CursorPos != utf8_cursor_pos || buf_dirty) { state->Stb.cursor = ImTextCountCharsFromUtf8(callback_data.Buf, callback_data.Buf + callback_data.CursorPos); state->CursorFollow = true; } - if (callback_data.SelectionStart != utf8_selection_start || buf_dirty) { state->Stb.select_start = (callback_data.SelectionStart == callback_data.CursorPos) ? state->Stb.cursor : ImTextCountCharsFromUtf8(callback_data.Buf, callback_data.Buf + callback_data.SelectionStart); } - if (callback_data.SelectionEnd != utf8_selection_end || buf_dirty) { state->Stb.select_end = (callback_data.SelectionEnd == callback_data.SelectionStart) ? state->Stb.select_start : ImTextCountCharsFromUtf8(callback_data.Buf, callback_data.Buf + callback_data.SelectionEnd); } + if (callback_data.CursorPos != utf8_cursor_pos || buf_dirty) { state->Stb->cursor = callback_data.CursorPos; state->CursorFollow = true; } + if (callback_data.SelectionStart != utf8_selection_start || buf_dirty) { state->Stb->select_start = (callback_data.SelectionStart == callback_data.CursorPos) ? state->Stb->cursor : callback_data.SelectionStart; } + if (callback_data.SelectionEnd != utf8_selection_end || buf_dirty) { state->Stb->select_end = (callback_data.SelectionEnd == callback_data.SelectionStart) ? state->Stb->select_start : callback_data.SelectionEnd; } if (buf_dirty) { - IM_ASSERT(!is_readonly); + // Callback may update buffer and thus set buf_dirty even in read-only mode. IM_ASSERT(callback_data.BufTextLen == (int)strlen(callback_data.Buf)); // You need to maintain BufTextLen if you change the text! - InputTextReconcileUndoStateAfterUserCallback(state, callback_data.Buf, callback_data.BufTextLen); // FIXME: Move the rest of this block inside function and rename to InputTextReconcileStateAfterUserCallback() ? - if (callback_data.BufTextLen > backup_current_text_length && is_resizable) - state->TextW.resize(state->TextW.Size + (callback_data.BufTextLen - backup_current_text_length)); // Worse case scenario resize - state->CurLenW = ImTextStrFromUtf8(state->TextW.Data, state->TextW.Size, callback_data.Buf, NULL); - state->CurLenA = callback_data.BufTextLen; // Assume correct length and valid UTF-8 from user, saves us an extra strlen() + InputTextReconcileUndoState(state, state->CallbackTextBackup.Data, state->CallbackTextBackup.Size - 1, callback_data.Buf, callback_data.BufTextLen); + state->TextLen = callback_data.BufTextLen; // Assume correct length and valid UTF-8 from user, saves us an extra strlen() state->CursorAnimReset(); } } } // Will copy result string if modified - if (!is_readonly && strcmp(state->TextA.Data, buf) != 0) + if (!is_readonly && strcmp(state->TextSrc, buf) != 0) { - apply_new_text = state->TextA.Data; - apply_new_text_length = state->CurLenA; + apply_new_text = state->TextSrc; + apply_new_text_length = state->TextLen; value_changed = true; } } @@ -4947,9 +5094,9 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ // Copy result to user buffer. This can currently only happen when (g.ActiveId == id) if (apply_new_text != NULL) { - // We cannot test for 'backup_current_text_length != apply_new_text_length' here because we have no guarantee that the size - // of our owned buffer matches the size of the string object held by the user, and by design we allow InputText() to be used - // without any storage on user's side. + //// We cannot test for 'backup_current_text_length != apply_new_text_length' here because we have no guarantee that the size + //// of our owned buffer matches the size of the string object held by the user, and by design we allow InputText() to be used + //// without any storage on user's side. IM_ASSERT(apply_new_text_length >= 0); if (is_resizable) { @@ -4983,7 +5130,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ // Render frame if (!is_multiline) { - RenderNavHighlight(frame_bb, id); + RenderNavCursor(frame_bb, id); RenderFrame(frame_bb.Min, frame_bb.Max, GetColorU32(ImGuiCol_FrameBg), true, style.FrameRounding); } @@ -5009,7 +5156,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ { IM_ASSERT(state != NULL); if (!is_displaying_hint) - buf_display_end = buf_display + state->CurLenA; + buf_display_end = buf_display + state->TextLen; // Render text (with cursor and selection) // This is going to be messy. We need to: @@ -5018,52 +5165,40 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ // - Measure text height (for scrollbar) // We are attempting to do most of that in **one main pass** to minimize the computation cost (non-negligible for large amount of text) + 2nd pass for selection rendering (we could merge them by an extra refactoring effort) // FIXME: This should occur on buf_display but we'd need to maintain cursor/select_start/select_end for UTF-8. - const ImWchar* text_begin = state->TextW.Data; + const char* text_begin = buf_display; + const char* text_end = text_begin + state->TextLen; ImVec2 cursor_offset, select_start_offset; { - // Find lines numbers straddling 'cursor' (slot 0) and 'select_start' (slot 1) positions. - const ImWchar* searches_input_ptr[2] = { NULL, NULL }; - int searches_result_line_no[2] = { -1000, -1000 }; - int searches_remaining = 0; - if (render_cursor) - { - searches_input_ptr[0] = text_begin + state->Stb.cursor; - searches_result_line_no[0] = -1; - searches_remaining++; - } - if (render_selection) - { - searches_input_ptr[1] = text_begin + ImMin(state->Stb.select_start, state->Stb.select_end); - searches_result_line_no[1] = -1; - searches_remaining++; - } + // Find lines numbers straddling cursor and selection min position + int cursor_line_no = render_cursor ? -1 : -1000; + int selmin_line_no = render_selection ? -1 : -1000; + const char* cursor_ptr = render_cursor ? text_begin + state->Stb->cursor : NULL; + const char* selmin_ptr = render_selection ? text_begin + ImMin(state->Stb->select_start, state->Stb->select_end) : NULL; - // Iterate all lines to find our line numbers - // In multi-line mode, we never exit the loop until all lines are counted, so add one extra to the searches_remaining counter. - searches_remaining += is_multiline ? 1 : 0; - int line_count = 0; - //for (const ImWchar* s = text_begin; (s = (const ImWchar*)wcschr((const wchar_t*)s, (wchar_t)'\n')) != NULL; s++) // FIXME-OPT: Could use this when wchar_t are 16-bit - for (const ImWchar* s = text_begin; *s != 0; s++) - if (*s == '\n') + // Count lines and find line number for cursor and selection ends + int line_count = 1; + if (is_multiline) + { + for (const char* s = text_begin; (s = (const char*)memchr(s, '\n', (size_t)(text_end - s))) != NULL; s++) { + if (cursor_line_no == -1 && s >= cursor_ptr) { cursor_line_no = line_count; } + if (selmin_line_no == -1 && s >= selmin_ptr) { selmin_line_no = line_count; } line_count++; - if (searches_result_line_no[0] == -1 && s >= searches_input_ptr[0]) { searches_result_line_no[0] = line_count; if (--searches_remaining <= 0) break; } - if (searches_result_line_no[1] == -1 && s >= searches_input_ptr[1]) { searches_result_line_no[1] = line_count; if (--searches_remaining <= 0) break; } } - line_count++; - if (searches_result_line_no[0] == -1) - searches_result_line_no[0] = line_count; - if (searches_result_line_no[1] == -1) - searches_result_line_no[1] = line_count; + } + if (cursor_line_no == -1) + cursor_line_no = line_count; + if (selmin_line_no == -1) + selmin_line_no = line_count; // Calculate 2d position by finding the beginning of the line and measuring distance - cursor_offset.x = InputTextCalcTextSizeW(&g, ImStrbolW(searches_input_ptr[0], text_begin), searches_input_ptr[0]).x; - cursor_offset.y = searches_result_line_no[0] * g.FontSize; - if (searches_result_line_no[1] >= 0) + cursor_offset.x = InputTextCalcTextSize(&g, ImStrbol(cursor_ptr, text_begin), cursor_ptr).x; + cursor_offset.y = cursor_line_no * g.FontSize; + if (selmin_line_no >= 0) { - select_start_offset.x = InputTextCalcTextSizeW(&g, ImStrbolW(searches_input_ptr[1], text_begin), searches_input_ptr[1]).x; - select_start_offset.y = searches_result_line_no[1] * g.FontSize; + select_start_offset.x = InputTextCalcTextSize(&g, ImStrbol(selmin_ptr, text_begin), selmin_ptr).x; + select_start_offset.y = selmin_line_no * g.FontSize; } // Store text height (note that we haven't calculated text width at all, see GitHub issues #383, #1224) @@ -5079,14 +5214,14 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ { const float scroll_increment_x = inner_size.x * 0.25f; const float visible_width = inner_size.x - style.FramePadding.x; - if (cursor_offset.x < state->ScrollX) - state->ScrollX = IM_TRUNC(ImMax(0.0f, cursor_offset.x - scroll_increment_x)); - else if (cursor_offset.x - visible_width >= state->ScrollX) - state->ScrollX = IM_TRUNC(cursor_offset.x - visible_width + scroll_increment_x); + if (cursor_offset.x < state->Scroll.x) + state->Scroll.x = IM_TRUNC(ImMax(0.0f, cursor_offset.x - scroll_increment_x)); + else if (cursor_offset.x - visible_width >= state->Scroll.x) + state->Scroll.x = IM_TRUNC(cursor_offset.x - visible_width + scroll_increment_x); } else { - state->ScrollX = 0.0f; + state->Scroll.y = 0.0f; } // Vertical scroll @@ -5107,43 +5242,41 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ } // Draw selection - const ImVec2 draw_scroll = ImVec2(state->ScrollX, 0.0f); + const ImVec2 draw_scroll = ImVec2(state->Scroll.x, 0.0f); if (render_selection) { - const ImWchar* text_selected_begin = text_begin + ImMin(state->Stb.select_start, state->Stb.select_end); - const ImWchar* text_selected_end = text_begin + ImMax(state->Stb.select_start, state->Stb.select_end); + const char* text_selected_begin = text_begin + ImMin(state->Stb->select_start, state->Stb->select_end); + const char* text_selected_end = text_begin + ImMax(state->Stb->select_start, state->Stb->select_end); ImU32 bg_color = GetColorU32(ImGuiCol_TextSelectedBg, render_cursor ? 1.0f : 0.6f); // FIXME: current code flow mandate that render_cursor is always true here, we are leaving the transparent one for tests. float bg_offy_up = is_multiline ? 0.0f : -1.0f; // FIXME: those offsets should be part of the style? they don't play so well with multi-line selection. float bg_offy_dn = is_multiline ? 0.0f : 2.0f; ImVec2 rect_pos = draw_pos + select_start_offset - draw_scroll; - for (const ImWchar* p = text_selected_begin; p < text_selected_end; ) + for (const char* p = text_selected_begin; p < text_selected_end; ) { if (rect_pos.y > clip_rect.w + g.FontSize) break; if (rect_pos.y < clip_rect.y) { - //p = (const ImWchar*)wmemchr((const wchar_t*)p, '\n', text_selected_end - p); // FIXME-OPT: Could use this when wchar_t are 16-bit - //p = p ? p + 1 : text_selected_end; - while (p < text_selected_end) - if (*p++ == '\n') - break; + p = (const char*)memchr((void*)p, '\n', text_selected_end - p); + p = p ? p + 1 : text_selected_end; } else { - ImVec2 rect_size = InputTextCalcTextSizeW(&g, p, text_selected_end, &p, NULL, true); + ImVec2 rect_size = InputTextCalcTextSize(&g, p, text_selected_end, &p, NULL, true); if (rect_size.x <= 0.0f) rect_size.x = IM_TRUNC(g.Font->GetCharAdvance((ImWchar)' ') * 0.50f); // So we can see selected empty lines ImRect rect(rect_pos + ImVec2(0.0f, bg_offy_up - g.FontSize), rect_pos + ImVec2(rect_size.x, bg_offy_dn)); rect.ClipWith(clip_rect); if (rect.Overlaps(clip_rect)) draw_window->DrawList->AddRectFilled(rect.Min, rect.Max, bg_color); + rect_pos.x = draw_pos.x - draw_scroll.x; } - rect_pos.x = draw_pos.x - draw_scroll.x; rect_pos.y += g.FontSize; } } // We test for 'buf_display_max_length' as a way to avoid some pathological cases (e.g. single-line 1 MB string) which would make ImDrawList crash. + // FIXME-OPT: Multiline could submit a smaller amount of contents to AddText() since we already iterated through it. if (is_multiline || (buf_display_end - buf_display) < buf_display_max_length) { ImU32 col = GetColorU32(is_displaying_hint ? ImGuiCol_TextDisabled : ImGuiCol_Text); @@ -5175,14 +5308,19 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ if (is_multiline) text_size = ImVec2(inner_size.x, InputTextCalcTextLenAndLineCount(buf_display, &buf_display_end) * g.FontSize); // We don't need width else if (!is_displaying_hint && g.ActiveId == id) - buf_display_end = buf_display + state->CurLenA; + buf_display_end = buf_display + state->TextLen; else if (!is_displaying_hint) buf_display_end = buf_display + strlen(buf_display); if (is_multiline || (buf_display_end - buf_display) < buf_display_max_length) { + // Find render position for right alignment + if (flags & ImGuiInputTextFlags_ElideLeft) + draw_pos.x = ImMin(draw_pos.x, frame_bb.Max.x - CalcTextSize(buf_display, NULL).x - style.FramePadding.x); + + const ImVec2 draw_scroll = /*state ? ImVec2(state->Scroll.x, 0.0f) :*/ ImVec2(0.0f, 0.0f); // Preserve scroll when inactive? ImU32 col = GetColorU32(is_displaying_hint ? ImGuiCol_TextDisabled : ImGuiCol_Text); - draw_window->DrawList->AddText(g.Font, g.FontSize, draw_pos, col, buf_display, buf_display_end, 0.0f, is_multiline ? NULL : &clip_rect); + draw_window->DrawList->AddText(g.Font, g.FontSize, draw_pos - draw_scroll, col, buf_display, buf_display_end, 0.0f, is_multiline ? NULL : &clip_rect); } } @@ -5191,22 +5329,24 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ if (is_multiline) { - // For focus requests to work on our multiline we need to ensure our child ItemAdd() call specifies the ImGuiItemFlags_Inputable (ref issue #4761)... + // For focus requests to work on our multiline we need to ensure our child ItemAdd() call specifies the ImGuiItemFlags_Inputable (see #4761, #7870)... Dummy(ImVec2(text_size.x, text_size.y + style.FramePadding.y)); - g.NextItemData.ItemFlags |= ImGuiItemFlags_Inputable | ImGuiItemFlags_NoTabStop; + g.NextItemData.ItemFlags |= (ImGuiItemFlags)ImGuiItemFlags_Inputable | ImGuiItemFlags_NoTabStop; EndChild(); item_data_backup.StatusFlags |= (g.LastItemData.StatusFlags & ImGuiItemStatusFlags_HoveredWindow); // ...and then we need to undo the group overriding last item data, which gets a bit messy as EndGroup() tries to forward scrollbar being active... // FIXME: This quite messy/tricky, should attempt to get rid of the child window. EndGroup(); - if (g.LastItemData.ID == 0) + if (g.LastItemData.ID == 0 || g.LastItemData.ID != GetWindowScrollbarID(draw_window, ImGuiAxis_Y)) { g.LastItemData.ID = id; - g.LastItemData.InFlags = item_data_backup.InFlags; + g.LastItemData.ItemFlags = item_data_backup.ItemFlags; g.LastItemData.StatusFlags = item_data_backup.StatusFlags; } } + if (state) + state->TextSrc = NULL; // Log as text if (g.LogEnabled && (!is_password || is_displaying_hint)) @@ -5218,7 +5358,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_ if (label_size.x > 0) RenderText(ImVec2(frame_bb.Max.x + style.ItemInnerSpacing.x, frame_bb.Min.y + style.FramePadding.y), label); - if (value_changed && !(flags & ImGuiInputTextFlags_NoMarkEdited)) + if (value_changed) MarkItemEdited(id); IMGUI_TEST_ENGINE_ITEM_INFO(id, label, g.LastItemData.StatusFlags | ImGuiItemStatusFlags_Inputable); @@ -5232,14 +5372,16 @@ void ImGui::DebugNodeInputTextState(ImGuiInputTextState* state) { #ifndef IMGUI_DISABLE_DEBUG_TOOLS ImGuiContext& g = *GImGui; - ImStb::STB_TexteditState* stb_state = &state->Stb; + ImStb::STB_TexteditState* stb_state = state->Stb; ImStb::StbUndoState* undo_state = &stb_state->undostate; Text("ID: 0x%08X, ActiveID: 0x%08X", state->ID, g.ActiveId); DebugLocateItemOnHover(state->ID); - Text("CurLenW: %d, CurLenA: %d, Cursor: %d, Selection: %d..%d", state->CurLenW, state->CurLenA, stb_state->cursor, stb_state->select_start, stb_state->select_end); + Text("CurLenA: %d, Cursor: %d, Selection: %d..%d", state->TextLen, stb_state->cursor, stb_state->select_start, stb_state->select_end); + Text("BufCapacityA: %d", state->BufCapacity); + Text("(Internal Buffer: TextA Size: %d, Capacity: %d)", state->TextA.Size, state->TextA.Capacity); Text("has_preferred_x: %d (%.2f)", stb_state->has_preferred_x, stb_state->preferred_x); Text("undo_point: %d, redo_point: %d, undo_char_point: %d, redo_char_point: %d", undo_state->undo_point, undo_state->redo_point, undo_state->undo_char_point, undo_state->redo_char_point); - if (BeginChild("undopoints", ImVec2(0.0f, GetTextLineHeight() * 10), ImGuiChildFlags_Border | ImGuiChildFlags_ResizeY)) // Visualize undo state + if (BeginChild("undopoints", ImVec2(0.0f, GetTextLineHeight() * 10), ImGuiChildFlags_Borders | ImGuiChildFlags_ResizeY)) // Visualize undo state { PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0, 0)); for (int n = 0; n < IMSTB_TEXTEDIT_UNDOSTATECOUNT; n++) @@ -5248,11 +5390,10 @@ void ImGui::DebugNodeInputTextState(ImGuiInputTextState* state) const char undo_rec_type = (n < undo_state->undo_point) ? 'u' : (n >= undo_state->redo_point) ? 'r' : ' '; if (undo_rec_type == ' ') BeginDisabled(); - char buf[64] = ""; - if (undo_rec_type != ' ' && undo_rec->char_storage != -1) - ImTextStrToUtf8(buf, IM_ARRAYSIZE(buf), undo_state->undo_char + undo_rec->char_storage, undo_state->undo_char + undo_rec->char_storage + undo_rec->insert_length); - Text("%c [%02d] where %03d, insert %03d, delete %03d, char_storage %03d \"%s\"", - undo_rec_type, n, undo_rec->where, undo_rec->insert_length, undo_rec->delete_length, undo_rec->char_storage, buf); + const int buf_preview_len = (undo_rec_type != ' ' && undo_rec->char_storage != -1) ? undo_rec->insert_length : 0; + const char* buf_preview_str = undo_state->undo_char + undo_rec->char_storage; + Text("%c [%02d] where %03d, insert %03d, delete %03d, char_storage %03d \"%.*s\"", + undo_rec_type, n, undo_rec->where, undo_rec->insert_length, undo_rec->delete_length, undo_rec->char_storage, buf_preview_len, buf_preview_str); if (undo_rec_type == ' ') EndDisabled(); } @@ -5533,7 +5674,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flag // Drag and Drop Target // NB: The flag test is merely an optional micro-optimization, BeginDragDropTarget() does the same test. - if ((g.LastItemData.StatusFlags & ImGuiItemStatusFlags_HoveredRect) && !(g.LastItemData.InFlags & ImGuiItemFlags_ReadOnly) && !(flags & ImGuiColorEditFlags_NoDragDrop) && BeginDragDropTarget()) + if ((g.LastItemData.StatusFlags & ImGuiItemStatusFlags_HoveredRect) && !(g.LastItemData.ItemFlags & ImGuiItemFlags_ReadOnly) && !(flags & ImGuiColorEditFlags_NoDragDrop) && BeginDragDropTarget()) { bool accepted_drag_drop = false; if (const ImGuiPayload* payload = AcceptDragDropPayload(IMGUI_PAYLOAD_TYPE_COLOR_3F)) @@ -6009,7 +6150,7 @@ bool ImGui::ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFl else window->DrawList->AddRectFilled(bb_inner.Min, bb_inner.Max, GetColorU32(col_source), rounding); } - RenderNavHighlight(bb, id); + RenderNavCursor(bb, id); if ((flags & ImGuiColorEditFlags_NoBorder) == 0) { if (g.Style.FrameBorderSize > 0.0f) @@ -6100,8 +6241,9 @@ void ImGui::ColorEditOptionsPopup(const float* col, ImGuiColorEditFlags flags) bool allow_opt_datatype = !(flags & ImGuiColorEditFlags_DataTypeMask_); if ((!allow_opt_inputs && !allow_opt_datatype) || !BeginPopup("context")) return; + ImGuiContext& g = *GImGui; - g.LockMarkEdited++; + PushItemFlag(ImGuiItemFlags_NoMarkEdited, true); ImGuiColorEditFlags opts = g.ColorEditOptions; if (allow_opt_inputs) { @@ -6143,8 +6285,8 @@ void ImGui::ColorEditOptionsPopup(const float* col, ImGuiColorEditFlags flags) } g.ColorEditOptions = opts; + PopItemFlag(); EndPopup(); - g.LockMarkEdited--; } void ImGui::ColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags flags) @@ -6153,8 +6295,9 @@ void ImGui::ColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags fl bool allow_opt_alpha_bar = !(flags & ImGuiColorEditFlags_NoAlpha) && !(flags & ImGuiColorEditFlags_AlphaBar); if ((!allow_opt_picker && !allow_opt_alpha_bar) || !BeginPopup("context")) return; + ImGuiContext& g = *GImGui; - g.LockMarkEdited++; + PushItemFlag(ImGuiItemFlags_NoMarkEdited, true); if (allow_opt_picker) { ImVec2 picker_size(g.FontSize * 8, ImMax(g.FontSize * 8 - (GetFrameHeight() + g.Style.ItemInnerSpacing.x), 1.0f)); // FIXME: Picker size copied from main picker function @@ -6183,8 +6326,8 @@ void ImGui::ColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags fl if (allow_opt_picker) Separator(); CheckboxFlags("Alpha Bar", &g.ColorEditOptions, ImGuiColorEditFlags_AlphaBar); } + PopItemFlag(); EndPopup(); - g.LockMarkEdited--; } //------------------------------------------------------------------------- @@ -6315,7 +6458,7 @@ bool ImGui::TreeNodeUpdateNextOpen(ImGuiID storage_id, ImGuiTreeNodeFlags flags) ImGuiStorage* storage = window->DC.StateStorage; bool is_open; - if (g.NextItemData.Flags & ImGuiNextItemDataFlags_HasOpen) + if (g.NextItemData.HasFlags & ImGuiNextItemDataFlags_HasOpen) { if (g.NextItemData.OpenCond & ImGuiCond_Always) { @@ -6361,7 +6504,7 @@ static void TreeNodeStoreStackData(ImGuiTreeNodeFlags flags) ImGuiTreeNodeStackData* tree_node_data = &g.TreeNodeStack.back(); tree_node_data->ID = g.LastItemData.ID; tree_node_data->TreeFlags = flags; - tree_node_data->InFlags = g.LastItemData.InFlags; + tree_node_data->ItemFlags = g.LastItemData.ItemFlags; tree_node_data->NavRect = g.LastItemData.NavRect; window->DC.TreeHasStackDataDepthMask |= (1 << window->DC.TreeDepth); } @@ -6389,10 +6532,11 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l // We vertically grow up to current line height up the typical widget height. const float frame_height = ImMax(ImMin(window->DC.CurrLineSize.y, g.FontSize + style.FramePadding.y * 2), label_size.y + padding.y * 2); const bool span_all_columns = (flags & ImGuiTreeNodeFlags_SpanAllColumns) != 0 && (g.CurrentTable != NULL); + const bool span_all_columns_label = (flags & ImGuiTreeNodeFlags_LabelSpanAllColumns) != 0 && (g.CurrentTable != NULL); ImRect frame_bb; frame_bb.Min.x = span_all_columns ? window->ParentWorkRect.Min.x : (flags & ImGuiTreeNodeFlags_SpanFullWidth) ? window->WorkRect.Min.x : window->DC.CursorPos.x; frame_bb.Min.y = window->DC.CursorPos.y; - frame_bb.Max.x = span_all_columns ? window->ParentWorkRect.Max.x : (flags & ImGuiTreeNodeFlags_SpanTextWidth) ? window->DC.CursorPos.x + text_width + padding.x : window->WorkRect.Max.x; + frame_bb.Max.x = span_all_columns ? window->ParentWorkRect.Max.x : (flags & ImGuiTreeNodeFlags_SpanLabelWidth) ? window->DC.CursorPos.x + text_width + padding.x : window->WorkRect.Max.x; frame_bb.Max.y = window->DC.CursorPos.y + frame_height; if (display_frame) { @@ -6406,15 +6550,15 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l // For regular tree nodes, we arbitrary allow to click past 2 worth of ItemSpacing ImRect interact_bb = frame_bb; - if ((flags & (ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_SpanAvailWidth | ImGuiTreeNodeFlags_SpanFullWidth | ImGuiTreeNodeFlags_SpanTextWidth | ImGuiTreeNodeFlags_SpanAllColumns)) == 0) + if ((flags & (ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_SpanAvailWidth | ImGuiTreeNodeFlags_SpanFullWidth | ImGuiTreeNodeFlags_SpanLabelWidth | ImGuiTreeNodeFlags_SpanAllColumns)) == 0) interact_bb.Max.x = frame_bb.Min.x + text_width + (label_size.x > 0.0f ? style.ItemSpacing.x * 2.0f : 0.0f); // Compute open and multi-select states before ItemAdd() as it clear NextItem data. - ImGuiID storage_id = (g.NextItemData.Flags & ImGuiNextItemDataFlags_HasStorageID) ? g.NextItemData.StorageId : id; + ImGuiID storage_id = (g.NextItemData.HasFlags & ImGuiNextItemDataFlags_HasStorageID) ? g.NextItemData.StorageId : id; bool is_open = TreeNodeUpdateNextOpen(storage_id, flags); bool is_visible; - if (span_all_columns) + if (span_all_columns || span_all_columns_label) { // Modify ClipRect for the ItemAdd(), faster than doing a PushColumnsBackground/PushTableBackgroundChannel for every Selectable.. const float backup_clip_rect_min_x = window->ClipRect.Min.x; @@ -6455,7 +6599,7 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l return is_open; } - if (span_all_columns) + if (span_all_columns || span_all_columns_label) { TablePushBackgroundChannel(); g.LastItemData.StatusFlags |= ImGuiItemStatusFlags_HasClipRect; @@ -6463,7 +6607,7 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l } ImGuiButtonFlags button_flags = ImGuiTreeNodeFlags_None; - if ((flags & ImGuiTreeNodeFlags_AllowOverlap) || (g.LastItemData.InFlags & ImGuiItemFlags_AllowOverlap)) + if ((flags & ImGuiTreeNodeFlags_AllowOverlap) || (g.LastItemData.ItemFlags & ImGuiItemFlags_AllowOverlap)) button_flags |= ImGuiButtonFlags_AllowOverlap; if (!is_leaf) button_flags |= ImGuiButtonFlags_PressedOnDragDropHold; @@ -6475,6 +6619,10 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l const float arrow_hit_x2 = (text_pos.x - text_offset_x) + (g.FontSize + padding.x * 2.0f) + style.TouchExtraPadding.x; const bool is_mouse_x_over_arrow = (g.IO.MousePos.x >= arrow_hit_x1 && g.IO.MousePos.x < arrow_hit_x2); + const bool is_multi_select = (g.LastItemData.ItemFlags & ImGuiItemFlags_IsMultiSelect) != 0; + if (is_multi_select) // We absolutely need to distinguish open vs select so _OpenOnArrow comes by default + flags |= (flags & ImGuiTreeNodeFlags_OpenOnMask_) == 0 ? ImGuiTreeNodeFlags_OpenOnArrow | ImGuiTreeNodeFlags_OpenOnDoubleClick : ImGuiTreeNodeFlags_OpenOnArrow; + // Open behaviors can be altered with the _OpenOnArrow and _OnOnDoubleClick flags. // Some alteration have subtle effects (e.g. toggle on MouseUp vs MouseDown events) due to requirements for multi-selection and drag and drop support. // - Single-click on label = Toggle on MouseUp (default, when _OpenOnArrow=0) @@ -6495,21 +6643,17 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l const bool was_selected = selected; // Multi-selection support (header) - const bool is_multi_select = (g.LastItemData.InFlags & ImGuiItemFlags_IsMultiSelect) != 0; if (is_multi_select) { // Handle multi-select + alter button flags for it MultiSelectItemHeader(id, &selected, &button_flags); if (is_mouse_x_over_arrow) button_flags = (button_flags | ImGuiButtonFlags_PressedOnClick) & ~ImGuiButtonFlags_PressedOnClickRelease; - - // We absolutely need to distinguish open vs select so comes by default - flags |= ImGuiTreeNodeFlags_OpenOnArrow; } else { if (window != g.HoveredWindow || !is_mouse_x_over_arrow) - button_flags |= ImGuiButtonFlags_NoKeyModifiers; + button_flags |= ImGuiButtonFlags_NoKeyModsAllowed; } bool hovered, held; @@ -6519,18 +6663,20 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l { if (pressed && g.DragDropHoldJustPressedId != id) { - if ((flags & (ImGuiTreeNodeFlags_OpenOnArrow | ImGuiTreeNodeFlags_OpenOnDoubleClick)) == 0 || (g.NavActivateId == id && !is_multi_select)) - toggled = true; + if ((flags & ImGuiTreeNodeFlags_OpenOnMask_) == 0 || (g.NavActivateId == id && !is_multi_select)) + toggled = true; // Single click if (flags & ImGuiTreeNodeFlags_OpenOnArrow) - toggled |= is_mouse_x_over_arrow && !g.NavDisableMouseHover; // Lightweight equivalent of IsMouseHoveringRect() since ButtonBehavior() already did the job + toggled |= is_mouse_x_over_arrow && !g.NavHighlightItemUnderNav; // Lightweight equivalent of IsMouseHoveringRect() since ButtonBehavior() already did the job if ((flags & ImGuiTreeNodeFlags_OpenOnDoubleClick) && g.IO.MouseClickedCount[0] == 2) - toggled = true; + toggled = true; // Double click } else if (pressed && g.DragDropHoldJustPressedId == id) { IM_ASSERT(button_flags & ImGuiButtonFlags_PressedOnDragDropHold); if (!is_open) // When using Drag and Drop "hold to open" we keep the node highlighted after opening, but never close it again. toggled = true; + else + pressed = false; // Cancel press so it doesn't trigger selection. } if (g.NavId == id && g.NavMoveDir == ImGuiDir_Left && is_open) @@ -6569,15 +6715,15 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l // Render { const ImU32 text_col = GetColorU32(ImGuiCol_Text); - ImGuiNavHighlightFlags nav_highlight_flags = ImGuiNavHighlightFlags_Compact; + ImGuiNavRenderCursorFlags nav_render_cursor_flags = ImGuiNavRenderCursorFlags_Compact; if (is_multi_select) - nav_highlight_flags |= ImGuiNavHighlightFlags_AlwaysDraw; // Always show the nav rectangle + nav_render_cursor_flags |= ImGuiNavRenderCursorFlags_AlwaysDraw; // Always show the nav rectangle if (display_frame) { // Framed type const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header); RenderFrame(frame_bb.Min, frame_bb.Max, bg_col, true, style.FrameRounding); - RenderNavHighlight(frame_bb, id, nav_highlight_flags); + RenderNavCursor(frame_bb, id, nav_render_cursor_flags); if (flags & ImGuiTreeNodeFlags_Bullet) RenderBullet(window->DrawList, ImVec2(text_pos.x - text_offset_x * 0.60f, text_pos.y + g.FontSize * 0.5f), text_col); else if (!is_leaf) @@ -6597,7 +6743,7 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header); RenderFrame(frame_bb.Min, frame_bb.Max, bg_col, false); } - RenderNavHighlight(frame_bb, id, nav_highlight_flags); + RenderNavCursor(frame_bb, id, nav_render_cursor_flags); if (flags & ImGuiTreeNodeFlags_Bullet) RenderBullet(window->DrawList, ImVec2(text_pos.x - text_offset_x * 0.5f, text_pos.y + g.FontSize * 0.5f), text_col); else if (!is_leaf) @@ -6606,7 +6752,7 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l LogSetNextTextDecoration(">", NULL); } - if (span_all_columns) + if (span_all_columns && !span_all_columns_label) TablePopBackgroundChannel(); // Label @@ -6614,6 +6760,9 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l RenderTextClipped(text_pos, frame_bb.Max, label, label_end, &label_size); else RenderText(text_pos, label, label_end, false); + + if (span_all_columns_label) + TablePopBackgroundChannel(); } if (store_tree_node_stack_data && is_open) @@ -6690,7 +6839,7 @@ void ImGui::SetNextItemOpen(bool is_open, ImGuiCond cond) ImGuiContext& g = *GImGui; if (g.CurrentWindow->SkipItems) return; - g.NextItemData.Flags |= ImGuiNextItemDataFlags_HasOpen; + g.NextItemData.HasFlags |= ImGuiNextItemDataFlags_HasOpen; g.NextItemData.OpenVal = is_open; g.NextItemData.OpenCond = (ImU8)(cond ? cond : ImGuiCond_Always); } @@ -6701,7 +6850,7 @@ void ImGui::SetNextItemStorageID(ImGuiID storage_id) ImGuiContext& g = *GImGui; if (g.CurrentWindow->SkipItems) return; - g.NextItemData.Flags |= ImGuiNextItemDataFlags_HasStorageID; + g.NextItemData.HasFlags |= ImGuiNextItemDataFlags_HasStorageID; g.NextItemData.StorageId = storage_id; } @@ -6827,7 +6976,7 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl is_visible = ItemAdd(bb, id, NULL, extra_item_flags); } - const bool is_multi_select = (g.LastItemData.InFlags & ImGuiItemFlags_IsMultiSelect) != 0; + const bool is_multi_select = (g.LastItemData.ItemFlags & ImGuiItemFlags_IsMultiSelect) != 0; if (!is_visible) if (!is_multi_select || !g.BoxSelectState.UnclipMode || !g.BoxSelectState.UnclipRect.Overlaps(bb)) // Extra layer of "no logic clip" for box-select support (would be more overhead to add to ItemAdd) return false; @@ -6855,7 +7004,7 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl if (flags & ImGuiSelectableFlags_SelectOnClick) { button_flags |= ImGuiButtonFlags_PressedOnClick; } if (flags & ImGuiSelectableFlags_SelectOnRelease) { button_flags |= ImGuiButtonFlags_PressedOnRelease; } if (flags & ImGuiSelectableFlags_AllowDoubleClick) { button_flags |= ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnDoubleClick; } - if ((flags & ImGuiSelectableFlags_AllowOverlap) || (g.LastItemData.InFlags & ImGuiItemFlags_AllowOverlap)) { button_flags |= ImGuiButtonFlags_AllowOverlap; } + if ((flags & ImGuiSelectableFlags_AllowOverlap) || (g.LastItemData.ItemFlags & ImGuiItemFlags_AllowOverlap)) { button_flags |= ImGuiButtonFlags_AllowOverlap; } // Multi-selection support (header) const bool was_selected = selected; @@ -6887,13 +7036,14 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl selected = pressed = true; } - // Update NavId when clicking or when Hovering (this doesn't happen on most widgets), so navigation can be resumed with gamepad/keyboard + // Update NavId when clicking or when Hovering (this doesn't happen on most widgets), so navigation can be resumed with keyboard/gamepad if (pressed || (hovered && (flags & ImGuiSelectableFlags_SetNavIdOnHover))) { - if (!g.NavDisableMouseHover && g.NavWindow == window && g.NavLayer == window->DC.NavLayerCurrent) + if (!g.NavHighlightItemUnderNav && g.NavWindow == window && g.NavLayer == window->DC.NavLayerCurrent) { SetNavID(id, window->DC.NavLayerCurrent, g.CurrentFocusScopeId, WindowRectAbsToRel(window, bb)); // (bb == NavRect) - g.NavDisableHighlight = true; + if (g.IO.ConfigNavCursorVisibleAuto) + g.NavCursorVisible = false; } } if (pressed) @@ -6908,20 +7058,16 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl const bool highlighted = hovered || (flags & ImGuiSelectableFlags_Highlight); if (highlighted || selected) { - // FIXME-MULTISELECT: Styling: Color for 'selected' elements? ImGuiCol_HeaderSelected - ImU32 col; - if (selected && !highlighted) - col = GetColorU32(ImLerp(GetStyleColorVec4(ImGuiCol_Header), GetStyleColorVec4(ImGuiCol_HeaderHovered), 0.5f)); - else - col = GetColorU32((held && highlighted) ? ImGuiCol_HeaderActive : highlighted ? ImGuiCol_HeaderHovered : ImGuiCol_Header); + // Between 1.91.0 and 1.91.4 we made selected Selectable use an arbitrary lerp between _Header and _HeaderHovered. Removed that now. (#8106) + ImU32 col = GetColorU32((held && highlighted) ? ImGuiCol_HeaderActive : highlighted ? ImGuiCol_HeaderHovered : ImGuiCol_Header); RenderFrame(bb.Min, bb.Max, col, false, 0.0f); } if (g.NavId == id) { - ImGuiNavHighlightFlags nav_highlight_flags = ImGuiNavHighlightFlags_Compact | ImGuiNavHighlightFlags_NoRounding; + ImGuiNavRenderCursorFlags nav_render_cursor_flags = ImGuiNavRenderCursorFlags_Compact | ImGuiNavRenderCursorFlags_NoRounding; if (is_multi_select) - nav_highlight_flags |= ImGuiNavHighlightFlags_AlwaysDraw; // Always show the nav rectangle - RenderNavHighlight(bb, id, nav_highlight_flags); + nav_render_cursor_flags |= ImGuiNavRenderCursorFlags_AlwaysDraw; // Always show the nav rectangle + RenderNavCursor(bb, id, nav_render_cursor_flags); } } @@ -6937,7 +7083,7 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl RenderTextClipped(text_min, text_max, label, NULL, &label_size, style.SelectableTextAlign, &bb); // Automatically close popups - if (pressed && (window->Flags & ImGuiWindowFlags_Popup) && !(flags & ImGuiSelectableFlags_NoAutoClosePopups) && (g.LastItemData.InFlags & ImGuiItemFlags_AutoClosePopups)) + if (pressed && (window->Flags & ImGuiWindowFlags_Popup) && !(flags & ImGuiSelectableFlags_NoAutoClosePopups) && (g.LastItemData.ItemFlags & ImGuiItemFlags_AutoClosePopups)) CloseCurrentPopup(); if (disabled_item && !disabled_global) @@ -7092,7 +7238,7 @@ int ImGui::TypingSelectFindMatch(ImGuiTypingSelectRequest* req, int items_count, else idx = TypingSelectFindBestLeadingMatch(req, items_count, get_item_name_func, user_data); if (idx != -1) - NavRestoreHighlightAfterMove(); + SetNavCursorVisibleAfterMove(); return idx; } @@ -7291,7 +7437,7 @@ void ImGui::EndBoxSelect(const ImRect& scope_rect, ImGuiMultiSelectFlags ms_flag ImRect box_select_r = bs->BoxSelectRectCurr; box_select_r.ClipWith(scope_rect); window->DrawList->AddRectFilled(box_select_r.Min, box_select_r.Max, GetColorU32(ImGuiCol_SeparatorHovered, 0.30f)); // FIXME-MULTISELECT: Styling - window->DrawList->AddRect(box_select_r.Min, box_select_r.Max, GetColorU32(ImGuiCol_NavHighlight)); // FIXME-MULTISELECT: Styling + window->DrawList->AddRect(box_select_r.Min, box_select_r.Max, GetColorU32(ImGuiCol_NavCursor)); // FIXME-MULTISELECT: Styling // Scroll const bool enable_scroll = (ms_flags & ImGuiMultiSelectFlags_ScopeWindow) && (ms_flags & ImGuiMultiSelectFlags_BoxSelectNoScroll) == 0; @@ -7321,6 +7467,7 @@ void ImGui::EndBoxSelect(const ImRect& scope_rect, ImGuiMultiSelectFlags ms_flag static void DebugLogMultiSelectRequests(const char* function, const ImGuiMultiSelectIO* io) { ImGuiContext& g = *GImGui; + IM_UNUSED(function); for (const ImGuiSelectionRequest& req : io->Requests) { if (req.Type == ImGuiSelectionRequestType_SetAll) IMGUI_DEBUG_LOG_SELECTION("[selection] %s: Request: SetAll %d (= %s)\n", function, req.Selected, req.Selected ? "SelectAll" : "Clear"); @@ -7330,6 +7477,7 @@ static void DebugLogMultiSelectRequests(const char* function, const ImGuiMultiSe static ImRect CalcScopeRect(ImGuiMultiSelectTempData* ms, ImGuiWindow* window) { + ImGuiContext& g = *GImGui; if (ms->Flags & ImGuiMultiSelectFlags_ScopeRect) { // Warning: this depends on CursorMaxPos so it means to be called by EndMultiSelect() only @@ -7337,8 +7485,12 @@ static ImRect CalcScopeRect(ImGuiMultiSelectTempData* ms, ImGuiWindow* window) } else { - // Add inner table decoration (#7821) // FIXME: Why not baking in InnerClipRect? + // When a table, pull HostClipRect, which allows us to predict ClipRect before first row/layout is performed. (#7970) ImRect scope_rect = window->InnerClipRect; + if (g.CurrentTable != NULL) + scope_rect = g.CurrentTable->HostClipRect; + + // Add inner table decoration (#7821) // FIXME: Why not baking in InnerClipRect? scope_rect.Min = ImMin(scope_rect.Min + ImVec2(window->DecoInnerSizeX1, window->DecoInnerSizeY1), scope_rect.Max); return scope_rect; } @@ -7369,6 +7521,12 @@ ImGuiMultiSelectIO* ImGui::BeginMultiSelect(ImGuiMultiSelectFlags flags, int sel if (flags & ImGuiMultiSelectFlags_BoxSelect2d) flags &= ~ImGuiMultiSelectFlags_BoxSelect1d; + // FIXME: Workaround to the fact we override CursorMaxPos, meaning size measurement are lost. (#8250) + // They should perhaps be stacked properly? + if (ImGuiTable* table = g.CurrentTable) + if (table->CurrentColumn != -1) + TableEndCell(table); // This is currently safe to call multiple time. If that properly is lost we can extract the "save measurement" part of it. + // FIXME: BeginFocusScope() const ImGuiID id = window->IDStack.back(); ms->Clear(); @@ -7475,7 +7633,7 @@ ImGuiMultiSelectIO* ImGui::EndMultiSelect() ImGuiMultiSelectTempData* ms = g.CurrentMultiSelect; ImGuiMultiSelectState* storage = ms->Storage; ImGuiWindow* window = g.CurrentWindow; - IM_ASSERT(ms->FocusScopeId == g.CurrentFocusScopeId); + IM_ASSERT_USER_ERROR(ms->FocusScopeId == g.CurrentFocusScopeId, "EndMultiSelect() FocusScope mismatch!"); IM_ASSERT(g.CurrentMultiSelect != NULL && storage->Window == g.CurrentWindow); IM_ASSERT(g.MultiSelectTempDataStacked > 0 && &g.MultiSelectTempData[g.MultiSelectTempDataStacked - 1] == g.CurrentMultiSelect); @@ -8082,8 +8240,10 @@ void ImGuiSelectionExternalStorage::ApplyRequests(ImGuiMultiSelectIO* ms_io) //------------------------------------------------------------------------- // This is essentially a thin wrapper to using BeginChild/EndChild with the ImGuiChildFlags_FrameStyle flag for stylistic changes + displaying a label. +// This handle some subtleties with capturing info from the label. +// If you don't need a label you can pretty much directly use ImGui::BeginChild() with ImGuiChildFlags_FrameStyle. // Tip: To have a list filling the entire window width, use size.x = -FLT_MIN and pass an non-visible label e.g. "##empty" -// Tip: If your vertical size is calculated from an item count (e.g. 10 * item_height) consider adding a fractional part to facilitate seeing scrolling boundaries (e.g. 10.25 * item_height). +// Tip: If your vertical size is calculated from an item count (e.g. 10 * item_height) consider adding a fractional part to facilitate seeing scrolling boundaries (e.g. 10.5f * item_height). bool ImGui::BeginListBox(const char* label, const ImVec2& size_arg) { ImGuiContext& g = *GImGui; @@ -8219,9 +8379,10 @@ int ImGui::PlotEx(ImGuiPlotType plot_type, const char* label, float (*values_get const ImRect inner_bb(frame_bb.Min + style.FramePadding, frame_bb.Max - style.FramePadding); const ImRect total_bb(frame_bb.Min, frame_bb.Max + ImVec2(label_size.x > 0.0f ? style.ItemInnerSpacing.x + label_size.x : 0.0f, 0)); ItemSize(total_bb, style.FramePadding.y); - if (!ItemAdd(total_bb, 0, &frame_bb)) + if (!ItemAdd(total_bb, id, &frame_bb, ImGuiItemFlags_NoNav)) return -1; - const bool hovered = ItemHoverable(frame_bb, id, g.LastItemData.InFlags); + bool hovered; + ButtonBehavior(frame_bb, id, &hovered, NULL); // Determine scale from values if not specified if (scale_min == FLT_MAX || scale_max == FLT_MAX) @@ -8502,8 +8663,13 @@ void ImGui::EndMenuBar() IM_ASSERT(window->DC.NavLayersActiveMaskNext & (1 << layer)); // Sanity check (FIXME: Seems unnecessary) FocusWindow(window); SetNavID(window->NavLastIds[layer], layer, 0, window->NavRectRel[layer]); - g.NavDisableHighlight = true; // Hide highlight for the current frame so we don't see the intermediary selection. - g.NavDisableMouseHover = g.NavMousePosDirty = true; + // FIXME-NAV: How to deal with this when not using g.IO.ConfigNavCursorVisibleAuto? + if (g.NavCursorVisible) + { + g.NavCursorVisible = false; // Hide nav cursor for the current frame so we don't see the intermediary selection. Will be set again + g.NavCursorHideFrames = 2; + } + g.NavHighlightItemUnderNav = g.NavMousePosDirty = true; NavMoveRequestForward(g.NavMoveDir, g.NavMoveClipDir, g.NavMoveFlags, g.NavMoveScrollFlags); // Repeat } } @@ -8552,9 +8718,9 @@ bool ImGui::BeginViewportSideBar(const char* name, ImGuiViewport* viewport_p, Im // Report our size into work area (for next frame) using actual window size if (dir == ImGuiDir_Up || dir == ImGuiDir_Left) - viewport->BuildWorkOffsetMin[axis] += axis_size; + viewport->BuildWorkInsetMin[axis] += axis_size; else if (dir == ImGuiDir_Down || dir == ImGuiDir_Right) - viewport->BuildWorkOffsetMax[axis] -= axis_size; + viewport->BuildWorkInsetMax[axis] += axis_size; } window_flags |= ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove; @@ -8683,10 +8849,11 @@ bool ImGui::BeginMenuEx(const char* label, const char* icon, bool enabled) // For ChildMenu, the popup position will be overwritten by the call to FindBestWindowPosForPopup() in Begin() popup_pos = ImVec2(pos.x - 1.0f - IM_TRUNC(style.ItemSpacing.x * 0.5f), pos.y - style.FramePadding.y + window->MenuBarHeight); window->DC.CursorPos.x += IM_TRUNC(style.ItemSpacing.x * 0.5f); - PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(style.ItemSpacing.x * 2.0f, style.ItemSpacing.y)); + PushStyleVarX(ImGuiStyleVar_ItemSpacing, style.ItemSpacing.x * 2.0f); float w = label_size.x; ImVec2 text_pos(window->DC.CursorPos.x + offsets->OffsetLabel, window->DC.CursorPos.y + window->DC.CurrLineTextBaseOffset); pressed = Selectable("", menu_is_open, selectable_flags, ImVec2(w, label_size.y)); + LogSetNextTextDecoration("[", "]"); RenderText(text_pos, label); PopStyleVar(); window->DC.CursorPos.x += IM_TRUNC(style.ItemSpacing.x * (-1.0f + 0.5f)); // -1 spacing to compensate the spacing added when Selectable() did a SameLine(). It would also work to call SameLine() ourselves after the PopStyleVar(). @@ -8703,6 +8870,7 @@ bool ImGui::BeginMenuEx(const char* label, const char* icon, bool enabled) float extra_w = ImMax(0.0f, GetContentRegionAvail().x - min_w); ImVec2 text_pos(window->DC.CursorPos.x + offsets->OffsetLabel, window->DC.CursorPos.y + window->DC.CurrLineTextBaseOffset); pressed = Selectable("", menu_is_open, selectable_flags | ImGuiSelectableFlags_SpanAvailWidth, ImVec2(min_w, label_size.y)); + LogSetNextTextDecoration("", ">"); RenderText(text_pos, label); if (icon_w > 0.0f) RenderText(pos + ImVec2(offsets->OffsetIcon, 0.0f), icon); @@ -8711,7 +8879,7 @@ bool ImGui::BeginMenuEx(const char* label, const char* icon, bool enabled) if (!enabled) EndDisabled(); - const bool hovered = (g.HoveredId == id) && enabled && !g.NavDisableMouseHover; + const bool hovered = (g.HoveredId == id) && enabled && !g.NavHighlightItemUnderNav; if (menuset_is_open) PopItemFlag(); @@ -8746,7 +8914,7 @@ bool ImGui::BeginMenuEx(const char* label, const char* icon, bool enabled) // The 'HovereWindow == window' check creates an inconsistency (e.g. moving away from menu slowly tends to hit same window, whereas moving away fast does not) // But we also need to not close the top-menu menu when moving over void. Perhaps we should extend the triangle check to a larger polygon. // (Remember to test this on BeginPopup("A")->BeginMenu("B") sequence which behaves slightly differently as B isn't a Child of A and hovering isn't shared.) - if (menu_is_open && !hovered && g.HoveredWindow == window && !moving_toward_child_menu && !g.NavDisableMouseHover && g.ActiveId == 0) + if (menu_is_open && !hovered && g.HoveredWindow == window && !moving_toward_child_menu && !g.NavHighlightItemUnderNav && g.ActiveId == 0) want_close = true; // Open @@ -8761,7 +8929,7 @@ bool ImGui::BeginMenuEx(const char* label, const char* icon, bool enabled) { want_open = want_open_nav_init = true; NavMoveRequestCancel(); - NavRestoreHighlightAfterMove(); + SetNavCursorVisibleAfterMove(); } } else @@ -8890,7 +9058,7 @@ bool ImGui::MenuItemEx(const char* label, const char* icon, const char* shortcut float w = label_size.x; window->DC.CursorPos.x += IM_TRUNC(style.ItemSpacing.x * 0.5f); ImVec2 text_pos(window->DC.CursorPos.x + offsets->OffsetLabel, window->DC.CursorPos.y + window->DC.CurrLineTextBaseOffset); - PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(style.ItemSpacing.x * 2.0f, style.ItemSpacing.y)); + PushStyleVarX(ImGuiStyleVar_ItemSpacing, style.ItemSpacing.x * 2.0f); pressed = Selectable("", selected, selectable_flags, ImVec2(w, 0.0f)); PopStyleVar(); if (g.LastItemData.StatusFlags & ImGuiItemStatusFlags_Visible) @@ -8916,6 +9084,7 @@ bool ImGui::MenuItemEx(const char* label, const char* icon, const char* shortcut if (shortcut_w > 0.0f) { PushStyleColor(ImGuiCol_Text, style.Colors[ImGuiCol_TextDisabled]); + LogSetNextTextDecoration("(", ")"); RenderText(pos + ImVec2(offsets->OffsetShortcut + stretch_w, 0.0f), shortcut, NULL, false); PopStyleColor(); } @@ -9070,6 +9239,7 @@ bool ImGui::BeginTabBarEx(ImGuiTabBar* tab_bar, const ImRect& tab_bar_bb, ImG // Add to stack g.CurrentTabBarStack.push_back(GetTabBarRefFromTabBar(tab_bar)); g.CurrentTabBar = tab_bar; + tab_bar->Window = window; // Append with multiple BeginTabBar()/EndTabBar() pairs. tab_bar->BackupCursorPos = window->DC.CursorPos; @@ -9542,6 +9712,13 @@ void ImGui::TabBarQueueFocus(ImGuiTabBar* tab_bar, ImGuiTabItem* tab) tab_bar->NextSelectedTabId = tab->ID; } +void ImGui::TabBarQueueFocus(ImGuiTabBar* tab_bar, const char* tab_name) +{ + IM_ASSERT((tab_bar->Flags & ImGuiTabBarFlags_DockNode) == 0); // Only supported for manual/explicit tab bars + ImGuiID tab_id = TabBarCalcTabID(tab_bar, tab_name, NULL); + tab_bar->NextSelectedTabId = tab_id; +} + void ImGui::TabBarQueueReorder(ImGuiTabBar* tab_bar, ImGuiTabItem* tab, int offset) { IM_ASSERT(offset != 0); @@ -9634,17 +9811,19 @@ static ImGuiTabItem* ImGui::TabBarScrollingButtons(ImGuiTabBar* tab_bar) PushStyleColor(ImGuiCol_Text, arrow_col); PushStyleColor(ImGuiCol_Button, ImVec4(0, 0, 0, 0)); + PushItemFlag(ImGuiItemFlags_ButtonRepeat, true); const float backup_repeat_delay = g.IO.KeyRepeatDelay; const float backup_repeat_rate = g.IO.KeyRepeatRate; g.IO.KeyRepeatDelay = 0.250f; g.IO.KeyRepeatRate = 0.200f; float x = ImMax(tab_bar->BarRect.Min.x, tab_bar->BarRect.Max.x - scrolling_buttons_width); window->DC.CursorPos = ImVec2(x, tab_bar->BarRect.Min.y); - if (ArrowButtonEx("##<", ImGuiDir_Left, arrow_button_size, ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_Repeat)) + if (ArrowButtonEx("##<", ImGuiDir_Left, arrow_button_size, ImGuiButtonFlags_PressedOnClick)) select_dir = -1; window->DC.CursorPos = ImVec2(x + arrow_button_size.x, tab_bar->BarRect.Min.y); - if (ArrowButtonEx("##>", ImGuiDir_Right, arrow_button_size, ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_Repeat)) + if (ArrowButtonEx("##>", ImGuiDir_Right, arrow_button_size, ImGuiButtonFlags_PressedOnClick)) select_dir = +1; + PopItemFlag(); PopStyleColor(2); g.IO.KeyRepeatRate = backup_repeat_rate; g.IO.KeyRepeatDelay = backup_repeat_delay; @@ -9838,7 +10017,7 @@ bool ImGui::TabItemEx(ImGuiTabBar* tab_bar, const char* label, bool* p_open, // Calculate tab contents size ImVec2 size = TabItemCalcSize(label, (p_open != NULL) || (flags & ImGuiTabItemFlags_UnsavedDocument)); tab->RequestedWidth = -1.0f; - if (g.NextItemData.Flags & ImGuiNextItemDataFlags_HasWidth) + if (g.NextItemData.HasFlags & ImGuiNextItemDataFlags_HasWidth) size.x = tab->RequestedWidth = g.NextItemData.Width; if (tab_is_new) tab->Width = ImMax(1.0f, size.x); @@ -9977,11 +10156,11 @@ bool ImGui::TabItemEx(ImGuiTabBar* tab_bar, const char* label, bool* p_open, float y_offset = 1.0f * g.CurrentDpiScale; display_draw_list->AddLine(bb.GetTL() + ImVec2(x_offset, y_offset), bb.GetTR() + ImVec2(-x_offset, y_offset), GetColorU32(tab_bar_focused ? ImGuiCol_TabSelectedOverline : ImGuiCol_TabDimmedSelectedOverline), style.TabBarOverlineSize); } - RenderNavHighlight(bb, id); + RenderNavCursor(bb, id); // Select with right mouse button. This is so the common idiom for context menu automatically highlight the current widget. const bool hovered_unblocked = IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup); - if (hovered_unblocked && (IsMouseClicked(1) || IsMouseReleased(1)) && !is_tab_button) + if (tab_bar->SelectedTabId != tab->ID && hovered_unblocked && (IsMouseClicked(1) || IsMouseReleased(1)) && !is_tab_button) TabBarQueueFocus(tab_bar, tab); if (tab_bar->Flags & ImGuiTabBarFlags_NoCloseWithMiddleMouseButton) @@ -10154,6 +10333,7 @@ void ImGui::TabItemLabelAndCloseButton(ImDrawList* draw_list, const ImRect& bb, text_ellipsis_clip_bb.Max.x -= unsaved_marker_visible ? (button_sz * 0.80f) : 0.0f; ellipsis_max_x = text_pixel_clip_bb.Max.x; } + LogSetNextTextDecoration("/", "\\"); RenderTextEllipsis(draw_list, text_ellipsis_clip_bb.Min, text_ellipsis_clip_bb.Max, text_pixel_clip_bb.Max.x, ellipsis_max_x, label, NULL, &label_size); #if 0 diff --git a/3rdparty/include/xxhash.h b/3rdparty/include/xxhash.h index 5dfd5c45ec495..78fc2e8dbf6db 100644 --- a/3rdparty/include/xxhash.h +++ b/3rdparty/include/xxhash.h @@ -1,7 +1,7 @@ /* * xxHash - Extremely Fast Hash algorithm * Header File - * Copyright (C) 2012-2021 Yann Collet + * Copyright (C) 2012-2023 Yann Collet * * BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) * @@ -130,6 +130,7 @@ * } * @endcode * + * * @anchor streaming_example * **Streaming** * @@ -165,6 +166,77 @@ * } * @endcode * + * Streaming functions generate the xxHash value from an incremental input. + * This method is slower than single-call functions, due to state management. + * For small inputs, prefer `XXH32()` and `XXH64()`, which are better optimized. + * + * An XXH state must first be allocated using `XXH*_createState()`. + * + * Start a new hash by initializing the state with a seed using `XXH*_reset()`. + * + * Then, feed the hash state by calling `XXH*_update()` as many times as necessary. + * + * The function returns an error code, with 0 meaning OK, and any other value + * meaning there is an error. + * + * Finally, a hash value can be produced anytime, by using `XXH*_digest()`. + * This function returns the nn-bits hash as an int or long long. + * + * It's still possible to continue inserting input into the hash state after a + * digest, and generate new hash values later on by invoking `XXH*_digest()`. + * + * When done, release the state using `XXH*_freeState()`. + * + * + * @anchor canonical_representation_example + * **Canonical Representation** + * + * The default return values from XXH functions are unsigned 32, 64 and 128 bit + * integers. + * This the simplest and fastest format for further post-processing. + * + * However, this leaves open the question of what is the order on the byte level, + * since little and big endian conventions will store the same number differently. + * + * The canonical representation settles this issue by mandating big-endian + * convention, the same convention as human-readable numbers (large digits first). + * + * When writing hash values to storage, sending them over a network, or printing + * them, it's highly recommended to use the canonical representation to ensure + * portability across a wider range of systems, present and future. + * + * The following functions allow transformation of hash values to and from + * canonical format. + * + * XXH32_canonicalFromHash(), XXH32_hashFromCanonical(), + * XXH64_canonicalFromHash(), XXH64_hashFromCanonical(), + * XXH128_canonicalFromHash(), XXH128_hashFromCanonical(), + * + * @code{.c} + * #include + * #include "xxhash.h" + * + * // Example for a function which prints XXH32_hash_t in human readable format + * void printXxh32(XXH32_hash_t hash) + * { + * XXH32_canonical_t cano; + * XXH32_canonicalFromHash(&cano, hash); + * size_t i; + * for(i = 0; i < sizeof(cano.digest); ++i) { + * printf("%02x", cano.digest[i]); + * } + * printf("\n"); + * } + * + * // Example for a function which converts XXH32_canonical_t to XXH32_hash_t + * XXH32_hash_t convertCanonicalToXxh32(XXH32_canonical_t cano) + * { + * XXH32_hash_t hash = XXH32_hashFromCanonical(&cano); + * return hash; + * } + * @endcode + * + * * @file xxhash.h * xxHash prototypes and implementation */ @@ -182,6 +254,33 @@ extern "C" { * @{ */ #ifdef XXH_DOXYGEN +/*! + * @brief Gives access to internal state declaration, required for static allocation. + * + * Incompatible with dynamic linking, due to risks of ABI changes. + * + * Usage: + * @code{.c} + * #define XXH_STATIC_LINKING_ONLY + * #include "xxhash.h" + * @endcode + */ +# define XXH_STATIC_LINKING_ONLY +/* Do not undef XXH_STATIC_LINKING_ONLY for Doxygen */ + +/*! + * @brief Gives access to internal definitions. + * + * Usage: + * @code{.c} + * #define XXH_STATIC_LINKING_ONLY + * #define XXH_IMPLEMENTATION + * #include "xxhash.h" + * @endcode + */ +# define XXH_IMPLEMENTATION +/* Do not undef XXH_IMPLEMENTATION for Doxygen */ + /*! * @brief Exposes the implementation and marks all functions as `inline`. * @@ -234,7 +333,7 @@ extern "C" { /* make all functions private */ # undef XXH_PUBLIC_API # if defined(__GNUC__) -# define XXH_PUBLIC_API static __inline __attribute__((unused)) +# define XXH_PUBLIC_API static __inline __attribute__((__unused__)) # elif defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) # define XXH_PUBLIC_API static inline # elif defined(_MSC_VER) @@ -346,7 +445,7 @@ extern "C" { /*! @brief Marks a global symbol. */ #if !defined(XXH_INLINE_ALL) && !defined(XXH_PRIVATE_API) -# if defined(WIN32) && defined(_MSC_VER) && (defined(XXH_IMPORT) || defined(XXH_EXPORT)) +# if defined(_WIN32) && defined(_MSC_VER) && (defined(XXH_IMPORT) || defined(XXH_EXPORT)) # ifdef XXH_EXPORT # define XXH_PUBLIC_API __declspec(dllexport) # elif XXH_IMPORT @@ -422,7 +521,7 @@ extern "C" { /* specific declaration modes for Windows */ #if !defined(XXH_INLINE_ALL) && !defined(XXH_PRIVATE_API) -# if defined(WIN32) && defined(_MSC_VER) && (defined(XXH_IMPORT) || defined(XXH_EXPORT)) +# if defined(_WIN32) && defined(_MSC_VER) && (defined(XXH_IMPORT) || defined(XXH_EXPORT)) # ifdef XXH_EXPORT # define XXH_PUBLIC_API __declspec(dllexport) # elif XXH_IMPORT @@ -434,9 +533,9 @@ extern "C" { #endif #if defined (__GNUC__) -# define XXH_CONSTF __attribute__((const)) -# define XXH_PUREF __attribute__((pure)) -# define XXH_MALLOCF __attribute__((malloc)) +# define XXH_CONSTF __attribute__((__const__)) +# define XXH_PUREF __attribute__((__pure__)) +# define XXH_MALLOCF __attribute__((__malloc__)) #else # define XXH_CONSTF /* disable */ # define XXH_PUREF @@ -448,7 +547,7 @@ extern "C" { ***************************************/ #define XXH_VERSION_MAJOR 0 #define XXH_VERSION_MINOR 8 -#define XXH_VERSION_RELEASE 1 +#define XXH_VERSION_RELEASE 3 /*! @brief Version number, encoded as two digits each */ #define XXH_VERSION_NUMBER (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE) @@ -490,7 +589,11 @@ typedef uint32_t XXH32_hash_t; #elif !defined (__VMS) \ && (defined (__cplusplus) \ || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) ) -# include +# ifdef _AIX +# include +# else +# include +# endif typedef uint32_t XXH32_hash_t; #else @@ -524,10 +627,6 @@ typedef uint32_t XXH32_hash_t; /*! * @brief Calculates the 32-bit hash of @p input using xxHash32. * - * Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher benchmark): 5.4 GB/s - * - * See @ref single_shot_example "Single Shot Example" for an example. - * * @param input The block of data to be hashed, at least @p length bytes in size. * @param length The length of @p input, in bytes. * @param seed The 32-bit seed to alter the hash's output predictably. @@ -537,62 +636,44 @@ typedef uint32_t XXH32_hash_t; * readable, contiguous memory. However, if @p length is `0`, @p input may be * `NULL`. In C++, this also must be *TriviallyCopyable*. * - * @return The calculated 32-bit hash value. + * @return The calculated 32-bit xxHash32 value. * - * @see - * XXH64(), XXH3_64bits_withSeed(), XXH3_128bits_withSeed(), XXH128(): - * Direct equivalents for the other variants of xxHash. - * @see - * XXH32_createState(), XXH32_update(), XXH32_digest(): Streaming version. + * @see @ref single_shot_example "Single Shot Example" for an example. */ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32 (const void* input, size_t length, XXH32_hash_t seed); -/*! - * Streaming functions generate the xxHash value from an incremental input. - * This method is slower than single-call functions, due to state management. - * For small inputs, prefer `XXH32()` and `XXH64()`, which are better optimized. - * - * An XXH state must first be allocated using `XXH*_createState()`. - * - * Start a new hash by initializing the state with a seed using `XXH*_reset()`. - * - * Then, feed the hash state by calling `XXH*_update()` as many times as necessary. - * - * The function returns an error code, with 0 meaning OK, and any other value - * meaning there is an error. - * - * Finally, a hash value can be produced anytime, by using `XXH*_digest()`. - * This function returns the nn-bits hash as an int or long long. - * - * It's still possible to continue inserting input into the hash state after a - * digest, and generate new hash values later on by invoking `XXH*_digest()`. - * - * When done, release the state using `XXH*_freeState()`. - * - * @see streaming_example at the top of @ref xxhash.h for an example. - */ - +#ifndef XXH_NO_STREAM /*! * @typedef struct XXH32_state_s XXH32_state_t * @brief The opaque state struct for the XXH32 streaming API. * * @see XXH32_state_s for details. + * @see @ref streaming_example "Streaming Example" */ typedef struct XXH32_state_s XXH32_state_t; /*! * @brief Allocates an @ref XXH32_state_t. * - * Must be freed with XXH32_freeState(). - * @return An allocated XXH32_state_t on success, `NULL` on failure. + * @return An allocated pointer of @ref XXH32_state_t on success. + * @return `NULL` on failure. + * + * @note Must be freed with XXH32_freeState(). + * + * @see @ref streaming_example "Streaming Example" */ XXH_PUBLIC_API XXH_MALLOCF XXH32_state_t* XXH32_createState(void); /*! * @brief Frees an @ref XXH32_state_t. * - * Must be allocated with XXH32_createState(). * @param statePtr A pointer to an @ref XXH32_state_t allocated with @ref XXH32_createState(). - * @return XXH_OK. + * + * @return @ref XXH_OK. + * + * @note @p statePtr must be allocated with XXH32_createState(). + * + * @see @ref streaming_example "Streaming Example" + * */ XXH_PUBLIC_API XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr); /*! @@ -608,23 +689,24 @@ XXH_PUBLIC_API void XXH32_copyState(XXH32_state_t* dst_state, const XXH32_state_ /*! * @brief Resets an @ref XXH32_state_t to begin a new hash. * - * This function resets and seeds a state. Call it before @ref XXH32_update(). - * * @param statePtr The state struct to reset. * @param seed The 32-bit seed to alter the hash result predictably. * * @pre * @p statePtr must not be `NULL`. * - * @return @ref XXH_OK on success, @ref XXH_ERROR on failure. + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note This function resets and seeds a state. Call it before @ref XXH32_update(). + * + * @see @ref streaming_example "Streaming Example" */ XXH_PUBLIC_API XXH_errorcode XXH32_reset (XXH32_state_t* statePtr, XXH32_hash_t seed); /*! * @brief Consumes a block of @p input to an @ref XXH32_state_t. * - * Call this to incrementally consume blocks of data. - * * @param statePtr The state struct to update. * @param input The block of data to be hashed, at least @p length bytes in size. * @param length The length of @p input, in bytes. @@ -636,47 +718,36 @@ XXH_PUBLIC_API XXH_errorcode XXH32_reset (XXH32_state_t* statePtr, XXH32_hash_t * readable, contiguous memory. However, if @p length is `0`, @p input may be * `NULL`. In C++, this also must be *TriviallyCopyable*. * - * @return @ref XXH_OK on success, @ref XXH_ERROR on failure. + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note Call this to incrementally consume blocks of data. + * + * @see @ref streaming_example "Streaming Example" */ XXH_PUBLIC_API XXH_errorcode XXH32_update (XXH32_state_t* statePtr, const void* input, size_t length); /*! * @brief Returns the calculated hash value from an @ref XXH32_state_t. * - * @note - * Calling XXH32_digest() will not affect @p statePtr, so you can update, - * digest, and update again. - * * @param statePtr The state struct to calculate the hash from. * * @pre * @p statePtr must not be `NULL`. * - * @return The calculated xxHash32 value from that state. + * @return The calculated 32-bit xxHash32 value from that state. + * + * @note + * Calling XXH32_digest() will not affect @p statePtr, so you can update, + * digest, and update again. + * + * @see @ref streaming_example "Streaming Example" */ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_digest (const XXH32_state_t* statePtr); +#endif /* !XXH_NO_STREAM */ /******* Canonical representation *******/ -/* - * The default return values from XXH functions are unsigned 32 and 64 bit - * integers. - * This the simplest and fastest format for further post-processing. - * - * However, this leaves open the question of what is the order on the byte level, - * since little and big endian conventions will store the same number differently. - * - * The canonical representation settles this issue by mandating big-endian - * convention, the same convention as human-readable numbers (large digits first). - * - * When writing hash values to storage, sending them over a network, or printing - * them, it's highly recommended to use the canonical representation to ensure - * portability across a wider range of systems, present and future. - * - * The following functions allow transformation of hash values to and from - * canonical format. - */ - /*! * @brief Canonical (big endian) representation of @ref XXH32_hash_t. */ @@ -687,11 +758,13 @@ typedef struct { /*! * @brief Converts an @ref XXH32_hash_t to a big endian @ref XXH32_canonical_t. * - * @param dst The @ref XXH32_canonical_t pointer to be stored to. + * @param dst The @ref XXH32_canonical_t pointer to be stored to. * @param hash The @ref XXH32_hash_t to be converted. * * @pre * @p dst must not be `NULL`. + * + * @see @ref canonical_representation_example "Canonical Representation Example" */ XXH_PUBLIC_API void XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t hash); @@ -704,29 +777,47 @@ XXH_PUBLIC_API void XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t * @p src must not be `NULL`. * * @return The converted hash. + * + * @see @ref canonical_representation_example "Canonical Representation Example" */ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t* src); +/*! @cond Doxygen ignores this part */ #ifdef __has_attribute # define XXH_HAS_ATTRIBUTE(x) __has_attribute(x) #else # define XXH_HAS_ATTRIBUTE(x) 0 #endif +/*! @endcond */ +/*! @cond Doxygen ignores this part */ +/* + * C23 __STDC_VERSION__ number hasn't been specified yet. For now + * leave as `201711L` (C17 + 1). + * TODO: Update to correct value when its been specified. + */ +#define XXH_C23_VN 201711L +/*! @endcond */ + +/*! @cond Doxygen ignores this part */ /* C-language Attributes are added in C23. */ -#if defined(__STDC_VERSION__) && (__STDC_VERSION__ > 201710L) && defined(__has_c_attribute) +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= XXH_C23_VN) && defined(__has_c_attribute) # define XXH_HAS_C_ATTRIBUTE(x) __has_c_attribute(x) #else # define XXH_HAS_C_ATTRIBUTE(x) 0 #endif +/*! @endcond */ +/*! @cond Doxygen ignores this part */ #if defined(__cplusplus) && defined(__has_cpp_attribute) # define XXH_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) #else # define XXH_HAS_CPP_ATTRIBUTE(x) 0 #endif +/*! @endcond */ +/*! @cond Doxygen ignores this part */ /* * Define XXH_FALLTHROUGH macro for annotating switch case with the 'fallthrough' attribute * introduced in CPP17 and C23. @@ -740,6 +831,21 @@ XXH_PUBLIC_API XXH_PUREF XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canoni #else # define XXH_FALLTHROUGH /* fallthrough */ #endif +/*! @endcond */ + +/*! @cond Doxygen ignores this part */ +/* + * Define XXH_NOESCAPE for annotated pointers in public API. + * https://clang.llvm.org/docs/AttributeReference.html#noescape + * As of writing this, only supported by clang. + */ +#if XXH_HAS_ATTRIBUTE(noescape) +# define XXH_NOESCAPE __attribute__((__noescape__)) +#else +# define XXH_NOESCAPE +#endif +/*! @endcond */ + /*! * @} @@ -761,7 +867,11 @@ typedef uint64_t XXH64_hash_t; #elif !defined (__VMS) \ && (defined (__cplusplus) \ || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) ) -# include +# ifdef _AIX +# include +# else +# include +# endif typedef uint64_t XXH64_hash_t; #else # include @@ -791,9 +901,6 @@ typedef uint64_t XXH64_hash_t; /*! * @brief Calculates the 64-bit hash of @p input using xxHash64. * - * This function usually runs faster on 64-bit systems, but slower on 32-bit - * systems (see benchmark). - * * @param input The block of data to be hashed, at least @p length bytes in size. * @param length The length of @p input, in bytes. * @param seed The 64-bit seed to alter the hash's output predictably. @@ -803,35 +910,149 @@ typedef uint64_t XXH64_hash_t; * readable, contiguous memory. However, if @p length is `0`, @p input may be * `NULL`. In C++, this also must be *TriviallyCopyable*. * - * @return The calculated 64-bit hash. + * @return The calculated 64-bit xxHash64 value. * - * @see - * XXH32(), XXH3_64bits_withSeed(), XXH3_128bits_withSeed(), XXH128(): - * Direct equivalents for the other variants of xxHash. - * @see - * XXH64_createState(), XXH64_update(), XXH64_digest(): Streaming version. + * @see @ref single_shot_example "Single Shot Example" for an example. */ -XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64(const void* input, size_t length, XXH64_hash_t seed); +XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64(XXH_NOESCAPE const void* input, size_t length, XXH64_hash_t seed); /******* Streaming *******/ +#ifndef XXH_NO_STREAM /*! * @brief The opaque state struct for the XXH64 streaming API. * * @see XXH64_state_s for details. + * @see @ref streaming_example "Streaming Example" */ typedef struct XXH64_state_s XXH64_state_t; /* incomplete type */ + +/*! + * @brief Allocates an @ref XXH64_state_t. + * + * @return An allocated pointer of @ref XXH64_state_t on success. + * @return `NULL` on failure. + * + * @note Must be freed with XXH64_freeState(). + * + * @see @ref streaming_example "Streaming Example" + */ XXH_PUBLIC_API XXH_MALLOCF XXH64_state_t* XXH64_createState(void); + +/*! + * @brief Frees an @ref XXH64_state_t. + * + * @param statePtr A pointer to an @ref XXH64_state_t allocated with @ref XXH64_createState(). + * + * @return @ref XXH_OK. + * + * @note @p statePtr must be allocated with XXH64_createState(). + * + * @see @ref streaming_example "Streaming Example" + */ XXH_PUBLIC_API XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr); -XXH_PUBLIC_API void XXH64_copyState(XXH64_state_t* dst_state, const XXH64_state_t* src_state); -XXH_PUBLIC_API XXH_errorcode XXH64_reset (XXH64_state_t* statePtr, XXH64_hash_t seed); -XXH_PUBLIC_API XXH_errorcode XXH64_update (XXH64_state_t* statePtr, const void* input, size_t length); -XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_digest (const XXH64_state_t* statePtr); +/*! + * @brief Copies one @ref XXH64_state_t to another. + * + * @param dst_state The state to copy to. + * @param src_state The state to copy from. + * @pre + * @p dst_state and @p src_state must not be `NULL` and must not overlap. + */ +XXH_PUBLIC_API void XXH64_copyState(XXH_NOESCAPE XXH64_state_t* dst_state, const XXH64_state_t* src_state); + +/*! + * @brief Resets an @ref XXH64_state_t to begin a new hash. + * + * @param statePtr The state struct to reset. + * @param seed The 64-bit seed to alter the hash result predictably. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note This function resets and seeds a state. Call it before @ref XXH64_update(). + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_errorcode XXH64_reset (XXH_NOESCAPE XXH64_state_t* statePtr, XXH64_hash_t seed); + +/*! + * @brief Consumes a block of @p input to an @ref XXH64_state_t. + * + * @param statePtr The state struct to update. + * @param input The block of data to be hashed, at least @p length bytes in size. + * @param length The length of @p input, in bytes. + * + * @pre + * @p statePtr must not be `NULL`. + * @pre + * The memory between @p input and @p input + @p length must be valid, + * readable, contiguous memory. However, if @p length is `0`, @p input may be + * `NULL`. In C++, this also must be *TriviallyCopyable*. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note Call this to incrementally consume blocks of data. + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_errorcode XXH64_update (XXH_NOESCAPE XXH64_state_t* statePtr, XXH_NOESCAPE const void* input, size_t length); +/*! + * @brief Returns the calculated hash value from an @ref XXH64_state_t. + * + * @param statePtr The state struct to calculate the hash from. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return The calculated 64-bit xxHash64 value from that state. + * + * @note + * Calling XXH64_digest() will not affect @p statePtr, so you can update, + * digest, and update again. + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_digest (XXH_NOESCAPE const XXH64_state_t* statePtr); +#endif /* !XXH_NO_STREAM */ /******* Canonical representation *******/ + +/*! + * @brief Canonical (big endian) representation of @ref XXH64_hash_t. + */ typedef struct { unsigned char digest[sizeof(XXH64_hash_t)]; } XXH64_canonical_t; -XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH64_canonical_t* dst, XXH64_hash_t hash); -XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src); + +/*! + * @brief Converts an @ref XXH64_hash_t to a big endian @ref XXH64_canonical_t. + * + * @param dst The @ref XXH64_canonical_t pointer to be stored to. + * @param hash The @ref XXH64_hash_t to be converted. + * + * @pre + * @p dst must not be `NULL`. + * + * @see @ref canonical_representation_example "Canonical Representation Example" + */ +XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH_NOESCAPE XXH64_canonical_t* dst, XXH64_hash_t hash); + +/*! + * @brief Converts an @ref XXH64_canonical_t to a native @ref XXH64_hash_t. + * + * @param src The @ref XXH64_canonical_t to convert. + * + * @pre + * @p src must not be `NULL`. + * + * @return The converted hash. + * + * @see @ref canonical_representation_example "Canonical Representation Example" + */ +XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_hashFromCanonical(XXH_NOESCAPE const XXH64_canonical_t* src); #ifndef XXH_NO_XXH3 @@ -862,14 +1083,22 @@ XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canoni * at competitive speeds, even without vector support. Further details are * explained in the implementation. * - * Optimized implementations are provided for AVX512, AVX2, SSE2, NEON, POWER8, - * ZVector and scalar targets. This can be controlled via the @ref XXH_VECTOR - * macro. For the x86 family, an automatic dispatcher is included separately - * in @ref xxh_x86dispatch.c. + * XXH3 has a fast scalar implementation, but it also includes accelerated SIMD + * implementations for many common platforms: + * - AVX512 + * - AVX2 + * - SSE2 + * - ARM NEON + * - WebAssembly SIMD128 + * - POWER8 VSX + * - s390x ZVector + * This can be controlled via the @ref XXH_VECTOR macro, but it automatically + * selects the best version according to predefined macros. For the x86 family, an + * automatic runtime dispatcher is included separately in @ref xxh_x86dispatch.c. * * XXH3 implementation is portable: * it has a generic C90 formulation that can be compiled on any platform, - * all implementations generage exactly the same hash value on all platforms. + * all implementations generate exactly the same hash value on all platforms. * Starting from v0.8.0, it's also labelled "stable", meaning that * any future version will also generate the same hash value. * @@ -881,42 +1110,76 @@ XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canoni * * The API supports one-shot hashing, streaming mode, and custom secrets. */ + +/*! + * @ingroup tuning + * @brief Possible values for @ref XXH_VECTOR. + * + * Unless set explicitly, determined automatically. + */ +# define XXH_SCALAR 0 /*!< Portable scalar version */ +# define XXH_SSE2 1 /*!< SSE2 for Pentium 4, Opteron, all x86_64. */ +# define XXH_AVX2 2 /*!< AVX2 for Haswell and Bulldozer */ +# define XXH_AVX512 3 /*!< AVX512 for Skylake and Icelake */ +# define XXH_NEON 4 /*!< NEON for most ARMv7-A, all AArch64, and WASM SIMD128 */ +# define XXH_VSX 5 /*!< VSX and ZVector for POWER8/z13 (64-bit) */ +# define XXH_SVE 6 /*!< SVE for some ARMv8-A and ARMv9-A */ +# define XXH_LSX 7 /*!< LSX (128-bit SIMD) for LoongArch64 */ + + /*-********************************************************************** * XXH3 64-bit variant ************************************************************************/ /*! - * @brief 64-bit unseeded variant of XXH3. + * @brief Calculates 64-bit unseeded variant of XXH3 hash of @p input. * - * This is equivalent to @ref XXH3_64bits_withSeed() with a seed of 0, however - * it may have slightly better performance due to constant propagation of the - * defaults. + * @param input The block of data to be hashed, at least @p length bytes in size. + * @param length The length of @p input, in bytes. + * + * @pre + * The memory between @p input and @p input + @p length must be valid, + * readable, contiguous memory. However, if @p length is `0`, @p input may be + * `NULL`. In C++, this also must be *TriviallyCopyable*. + * + * @return The calculated 64-bit XXH3 hash value. + * + * @note + * This is equivalent to @ref XXH3_64bits_withSeed() with a seed of `0`, however + * it may have slightly better performance due to constant propagation of the + * defaults. * - * @see - * XXH32(), XXH64(), XXH3_128bits(): equivalent for the other xxHash algorithms * @see * XXH3_64bits_withSeed(), XXH3_64bits_withSecret(): other seeding variants - * @see - * XXH3_64bits_reset(), XXH3_64bits_update(), XXH3_64bits_digest(): Streaming version. + * @see @ref single_shot_example "Single Shot Example" for an example. */ -XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits(const void* input, size_t length); +XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits(XXH_NOESCAPE const void* input, size_t length); /*! - * @brief 64-bit seeded variant of XXH3 + * @brief Calculates 64-bit seeded variant of XXH3 hash of @p input. * - * This variant generates a custom secret on the fly based on default secret - * altered using the `seed` value. + * @param input The block of data to be hashed, at least @p length bytes in size. + * @param length The length of @p input, in bytes. + * @param seed The 64-bit seed to alter the hash result predictably. * - * While this operation is decently fast, note that it's not completely free. + * @pre + * The memory between @p input and @p input + @p length must be valid, + * readable, contiguous memory. However, if @p length is `0`, @p input may be + * `NULL`. In C++, this also must be *TriviallyCopyable*. + * + * @return The calculated 64-bit XXH3 hash value. * * @note * seed == 0 produces the same results as @ref XXH3_64bits(). * - * @param input The data to hash - * @param length The length - * @param seed The 64-bit seed to alter the state. + * This variant generates a custom secret on the fly based on default secret + * altered using the @p seed value. + * + * While this operation is decently fast, note that it's not completely free. + * + * @see @ref single_shot_example "Single Shot Example" for an example. */ -XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSeed(const void* input, size_t length, XXH64_hash_t seed); +XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSeed(XXH_NOESCAPE const void* input, size_t length, XXH64_hash_t seed); /*! * The bare minimum size for a custom secret. @@ -928,27 +1191,42 @@ XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSeed(const void* input, si #define XXH3_SECRET_SIZE_MIN 136 /*! - * @brief 64-bit variant of XXH3 with a custom "secret". + * @brief Calculates 64-bit variant of XXH3 with a custom "secret". + * + * @param data The block of data to be hashed, at least @p len bytes in size. + * @param len The length of @p data, in bytes. + * @param secret The secret data. + * @param secretSize The length of @p secret, in bytes. + * + * @return The calculated 64-bit XXH3 hash value. + * + * @pre + * The memory between @p data and @p data + @p len must be valid, + * readable, contiguous memory. However, if @p length is `0`, @p data may be + * `NULL`. In C++, this also must be *TriviallyCopyable*. * * It's possible to provide any blob of bytes as a "secret" to generate the hash. * This makes it more difficult for an external actor to prepare an intentional collision. - * The main condition is that secretSize *must* be large enough (>= XXH3_SECRET_SIZE_MIN). + * The main condition is that @p secretSize *must* be large enough (>= @ref XXH3_SECRET_SIZE_MIN). * However, the quality of the secret impacts the dispersion of the hash algorithm. * Therefore, the secret _must_ look like a bunch of random bytes. * Avoid "trivial" or structured data such as repeated sequences or a text document. * Whenever in doubt about the "randomness" of the blob of bytes, - * consider employing "XXH3_generateSecret()" instead (see below). + * consider employing @ref XXH3_generateSecret() instead (see below). * It will generate a proper high entropy secret derived from the blob of bytes. * Another advantage of using XXH3_generateSecret() is that * it guarantees that all bits within the initial blob of bytes * will impact every bit of the output. * This is not necessarily the case when using the blob of bytes directly * because, when hashing _small_ inputs, only a portion of the secret is employed. + * + * @see @ref single_shot_example "Single Shot Example" for an example. */ -XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSecret(const void* data, size_t len, const void* secret, size_t secretSize); +XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSecret(XXH_NOESCAPE const void* data, size_t len, XXH_NOESCAPE const void* secret, size_t secretSize); /******* Streaming *******/ +#ifndef XXH_NO_STREAM /* * Streaming requires state maintenance. * This operation costs memory and CPU. @@ -957,40 +1235,135 @@ XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_withSecret(const void* data, s */ /*! - * @brief The state struct for the XXH3 streaming API. + * @brief The opaque state struct for the XXH3 streaming API. * * @see XXH3_state_s for details. + * @see @ref streaming_example "Streaming Example" */ typedef struct XXH3_state_s XXH3_state_t; XXH_PUBLIC_API XXH_MALLOCF XXH3_state_t* XXH3_createState(void); XXH_PUBLIC_API XXH_errorcode XXH3_freeState(XXH3_state_t* statePtr); -XXH_PUBLIC_API void XXH3_copyState(XXH3_state_t* dst_state, const XXH3_state_t* src_state); -/* - * XXH3_64bits_reset(): - * Initialize with default parameters. - * digest will be equivalent to `XXH3_64bits()`. +/*! + * @brief Copies one @ref XXH3_state_t to another. + * + * @param dst_state The state to copy to. + * @param src_state The state to copy from. + * @pre + * @p dst_state and @p src_state must not be `NULL` and must not overlap. */ -XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset(XXH3_state_t* statePtr); -/* - * XXH3_64bits_reset_withSeed(): - * Generate a custom secret from `seed`, and store it into `statePtr`. - * digest will be equivalent to `XXH3_64bits_withSeed()`. +XXH_PUBLIC_API void XXH3_copyState(XXH_NOESCAPE XXH3_state_t* dst_state, XXH_NOESCAPE const XXH3_state_t* src_state); + +/*! + * @brief Resets an @ref XXH3_state_t to begin a new hash. + * + * @param statePtr The state struct to reset. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note + * - This function resets `statePtr` and generate a secret with default parameters. + * - Call this function before @ref XXH3_64bits_update(). + * - Digest will be equivalent to `XXH3_64bits()`. + * + * @see @ref streaming_example "Streaming Example" + * + */ +XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr); + +/*! + * @brief Resets an @ref XXH3_state_t with 64-bit seed to begin a new hash. + * + * @param statePtr The state struct to reset. + * @param seed The 64-bit seed to alter the hash result predictably. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note + * - This function resets `statePtr` and generate a secret from `seed`. + * - Call this function before @ref XXH3_64bits_update(). + * - Digest will be equivalent to `XXH3_64bits_withSeed()`. + * + * @see @ref streaming_example "Streaming Example" + * */ -XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSeed(XXH3_state_t* statePtr, XXH64_hash_t seed); +XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t seed); + /*! - * XXH3_64bits_reset_withSecret(): - * `secret` is referenced, it _must outlive_ the hash streaming session. - * Similar to one-shot API, `secretSize` must be >= `XXH3_SECRET_SIZE_MIN`, + * @brief Resets an @ref XXH3_state_t with secret data to begin a new hash. + * + * @param statePtr The state struct to reset. + * @param secret The secret data. + * @param secretSize The length of @p secret, in bytes. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note + * `secret` is referenced, it _must outlive_ the hash streaming session. + * + * Similar to one-shot API, `secretSize` must be >= @ref XXH3_SECRET_SIZE_MIN, * and the quality of produced hash values depends on secret's entropy * (secret's content should look like a bunch of random bytes). * When in doubt about the randomness of a candidate `secret`, * consider employing `XXH3_generateSecret()` instead (see below). + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* secret, size_t secretSize); + +/*! + * @brief Consumes a block of @p input to an @ref XXH3_state_t. + * + * @param statePtr The state struct to update. + * @param input The block of data to be hashed, at least @p length bytes in size. + * @param length The length of @p input, in bytes. + * + * @pre + * @p statePtr must not be `NULL`. + * @pre + * The memory between @p input and @p input + @p length must be valid, + * readable, contiguous memory. However, if @p length is `0`, @p input may be + * `NULL`. In C++, this also must be *TriviallyCopyable*. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note Call this to incrementally consume blocks of data. + * + * @see @ref streaming_example "Streaming Example" */ -XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSecret(XXH3_state_t* statePtr, const void* secret, size_t secretSize); +XXH_PUBLIC_API XXH_errorcode XXH3_64bits_update (XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* input, size_t length); -XXH_PUBLIC_API XXH_errorcode XXH3_64bits_update (XXH3_state_t* statePtr, const void* input, size_t length); -XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_digest (const XXH3_state_t* statePtr); +/*! + * @brief Returns the calculated XXH3 64-bit hash value from an @ref XXH3_state_t. + * + * @param statePtr The state struct to calculate the hash from. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return The calculated XXH3 64-bit hash value from that state. + * + * @note + * Calling XXH3_64bits_digest() will not affect @p statePtr, so you can update, + * digest, and update again. + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_PUREF XXH64_hash_t XXH3_64bits_digest (XXH_NOESCAPE const XXH3_state_t* statePtr); +#endif /* !XXH_NO_STREAM */ /* note : canonical representation of XXH3 is the same as XXH64 * since they both produce XXH64_hash_t values */ @@ -1012,29 +1385,75 @@ typedef struct { } XXH128_hash_t; /*! - * @brief Unseeded 128-bit variant of XXH3 + * @brief Calculates 128-bit unseeded variant of XXH3 of @p data. + * + * @param data The block of data to be hashed, at least @p length bytes in size. + * @param len The length of @p data, in bytes. + * + * @return The calculated 128-bit variant of XXH3 value. * * The 128-bit variant of XXH3 has more strength, but it has a bit of overhead * for shorter inputs. * - * This is equivalent to @ref XXH3_128bits_withSeed() with a seed of 0, however + * This is equivalent to @ref XXH3_128bits_withSeed() with a seed of `0`, however * it may have slightly better performance due to constant propagation of the * defaults. * - * @see - * XXH32(), XXH64(), XXH3_64bits(): equivalent for the other xxHash algorithms - * @see - * XXH3_128bits_withSeed(), XXH3_128bits_withSecret(): other seeding variants - * @see - * XXH3_128bits_reset(), XXH3_128bits_update(), XXH3_128bits_digest(): Streaming version. + * @see XXH3_128bits_withSeed(), XXH3_128bits_withSecret(): other seeding variants + * @see @ref single_shot_example "Single Shot Example" for an example. + */ +XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits(XXH_NOESCAPE const void* data, size_t len); +/*! @brief Calculates 128-bit seeded variant of XXH3 hash of @p data. + * + * @param data The block of data to be hashed, at least @p length bytes in size. + * @param len The length of @p data, in bytes. + * @param seed The 64-bit seed to alter the hash result predictably. + * + * @return The calculated 128-bit variant of XXH3 value. + * + * @note + * seed == 0 produces the same results as @ref XXH3_64bits(). + * + * This variant generates a custom secret on the fly based on default secret + * altered using the @p seed value. + * + * While this operation is decently fast, note that it's not completely free. + * + * @see XXH3_128bits(), XXH3_128bits_withSecret(): other seeding variants + * @see @ref single_shot_example "Single Shot Example" for an example. + */ +XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_withSeed(XXH_NOESCAPE const void* data, size_t len, XXH64_hash_t seed); +/*! + * @brief Calculates 128-bit variant of XXH3 with a custom "secret". + * + * @param data The block of data to be hashed, at least @p len bytes in size. + * @param len The length of @p data, in bytes. + * @param secret The secret data. + * @param secretSize The length of @p secret, in bytes. + * + * @return The calculated 128-bit variant of XXH3 value. + * + * It's possible to provide any blob of bytes as a "secret" to generate the hash. + * This makes it more difficult for an external actor to prepare an intentional collision. + * The main condition is that @p secretSize *must* be large enough (>= @ref XXH3_SECRET_SIZE_MIN). + * However, the quality of the secret impacts the dispersion of the hash algorithm. + * Therefore, the secret _must_ look like a bunch of random bytes. + * Avoid "trivial" or structured data such as repeated sequences or a text document. + * Whenever in doubt about the "randomness" of the blob of bytes, + * consider employing @ref XXH3_generateSecret() instead (see below). + * It will generate a proper high entropy secret derived from the blob of bytes. + * Another advantage of using XXH3_generateSecret() is that + * it guarantees that all bits within the initial blob of bytes + * will impact every bit of the output. + * This is not necessarily the case when using the blob of bytes directly + * because, when hashing _small_ inputs, only a portion of the secret is employed. + * + * @see @ref single_shot_example "Single Shot Example" for an example. */ -XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits(const void* data, size_t len); -/*! @brief Seeded 128-bit variant of XXH3. @see XXH3_64bits_withSeed(). */ -XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_withSeed(const void* data, size_t len, XXH64_hash_t seed); -/*! @brief Custom secret 128-bit variant of XXH3. @see XXH3_64bits_withSecret(). */ -XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_withSecret(const void* data, size_t len, const void* secret, size_t secretSize); +XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_withSecret(XXH_NOESCAPE const void* data, size_t len, XXH_NOESCAPE const void* secret, size_t secretSize); /******* Streaming *******/ +#ifndef XXH_NO_STREAM /* * Streaming requires state maintenance. * This operation costs memory and CPU. @@ -1047,38 +1466,169 @@ XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_withSecret(const void* data, * All reset and streaming functions have same meaning as their 64-bit counterpart. */ -XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset(XXH3_state_t* statePtr); -XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSeed(XXH3_state_t* statePtr, XXH64_hash_t seed); -XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSecret(XXH3_state_t* statePtr, const void* secret, size_t secretSize); +/*! + * @brief Resets an @ref XXH3_state_t to begin a new hash. + * + * @param statePtr The state struct to reset. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note + * - This function resets `statePtr` and generate a secret with default parameters. + * - Call it before @ref XXH3_128bits_update(). + * - Digest will be equivalent to `XXH3_128bits()`. + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr); + +/*! + * @brief Resets an @ref XXH3_state_t with 64-bit seed to begin a new hash. + * + * @param statePtr The state struct to reset. + * @param seed The 64-bit seed to alter the hash result predictably. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note + * - This function resets `statePtr` and generate a secret from `seed`. + * - Call it before @ref XXH3_128bits_update(). + * - Digest will be equivalent to `XXH3_128bits_withSeed()`. + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t seed); +/*! + * @brief Resets an @ref XXH3_state_t with secret data to begin a new hash. + * + * @param statePtr The state struct to reset. + * @param secret The secret data. + * @param secretSize The length of @p secret, in bytes. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * `secret` is referenced, it _must outlive_ the hash streaming session. + * Similar to one-shot API, `secretSize` must be >= @ref XXH3_SECRET_SIZE_MIN, + * and the quality of produced hash values depends on secret's entropy + * (secret's content should look like a bunch of random bytes). + * When in doubt about the randomness of a candidate `secret`, + * consider employing `XXH3_generateSecret()` instead (see below). + * + * @see @ref streaming_example "Streaming Example" + */ +XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* secret, size_t secretSize); + +/*! + * @brief Consumes a block of @p input to an @ref XXH3_state_t. + * + * Call this to incrementally consume blocks of data. + * + * @param statePtr The state struct to update. + * @param input The block of data to be hashed, at least @p length bytes in size. + * @param length The length of @p input, in bytes. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @note + * The memory between @p input and @p input + @p length must be valid, + * readable, contiguous memory. However, if @p length is `0`, @p input may be + * `NULL`. In C++, this also must be *TriviallyCopyable*. + * + */ +XXH_PUBLIC_API XXH_errorcode XXH3_128bits_update (XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* input, size_t length); -XXH_PUBLIC_API XXH_errorcode XXH3_128bits_update (XXH3_state_t* statePtr, const void* input, size_t length); -XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_digest (const XXH3_state_t* statePtr); +/*! + * @brief Returns the calculated XXH3 128-bit hash value from an @ref XXH3_state_t. + * + * @param statePtr The state struct to calculate the hash from. + * + * @pre + * @p statePtr must not be `NULL`. + * + * @return The calculated XXH3 128-bit hash value from that state. + * + * @note + * Calling XXH3_128bits_digest() will not affect @p statePtr, so you can update, + * digest, and update again. + * + */ +XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH3_128bits_digest (XXH_NOESCAPE const XXH3_state_t* statePtr); +#endif /* !XXH_NO_STREAM */ /* Following helper functions make it possible to compare XXH128_hast_t values. * Since XXH128_hash_t is a structure, this capability is not offered by the language. * Note: For better performance, these functions can be inlined using XXH_INLINE_ALL */ /*! - * XXH128_isEqual(): - * Return: 1 if `h1` and `h2` are equal, 0 if they are not. + * @brief Check equality of two XXH128_hash_t values + * + * @param h1 The 128-bit hash value. + * @param h2 Another 128-bit hash value. + * + * @return `1` if `h1` and `h2` are equal. + * @return `0` if they are not. */ XXH_PUBLIC_API XXH_PUREF int XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2); /*! * @brief Compares two @ref XXH128_hash_t + * * This comparator is compatible with stdlib's `qsort()`/`bsearch()`. * - * @return: >0 if *h128_1 > *h128_2 - * =0 if *h128_1 == *h128_2 - * <0 if *h128_1 < *h128_2 + * @param h128_1 Left-hand side value + * @param h128_2 Right-hand side value + * + * @return >0 if @p h128_1 > @p h128_2 + * @return =0 if @p h128_1 == @p h128_2 + * @return <0 if @p h128_1 < @p h128_2 */ -XXH_PUBLIC_API XXH_PUREF int XXH128_cmp(const void* h128_1, const void* h128_2); +XXH_PUBLIC_API XXH_PUREF int XXH128_cmp(XXH_NOESCAPE const void* h128_1, XXH_NOESCAPE const void* h128_2); /******* Canonical representation *******/ typedef struct { unsigned char digest[sizeof(XXH128_hash_t)]; } XXH128_canonical_t; -XXH_PUBLIC_API void XXH128_canonicalFromHash(XXH128_canonical_t* dst, XXH128_hash_t hash); -XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH128_hashFromCanonical(const XXH128_canonical_t* src); + + +/*! + * @brief Converts an @ref XXH128_hash_t to a big endian @ref XXH128_canonical_t. + * + * @param dst The @ref XXH128_canonical_t pointer to be stored to. + * @param hash The @ref XXH128_hash_t to be converted. + * + * @pre + * @p dst must not be `NULL`. + * @see @ref canonical_representation_example "Canonical Representation Example" + */ +XXH_PUBLIC_API void XXH128_canonicalFromHash(XXH_NOESCAPE XXH128_canonical_t* dst, XXH128_hash_t hash); + +/*! + * @brief Converts an @ref XXH128_canonical_t to a native @ref XXH128_hash_t. + * + * @param src The @ref XXH128_canonical_t to convert. + * + * @pre + * @p src must not be `NULL`. + * + * @return The converted hash. + * @see @ref canonical_representation_example "Canonical Representation Example" + */ +XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH128_hashFromCanonical(XXH_NOESCAPE const XXH128_canonical_t* src); #endif /* !XXH_NO_XXH3 */ @@ -1122,9 +1672,9 @@ XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH128_hashFromCanonical(const XXH128_can struct XXH32_state_s { XXH32_hash_t total_len_32; /*!< Total length hashed, modulo 2^32 */ XXH32_hash_t large_len; /*!< Whether the hash is >= 16 (handles @ref total_len_32 overflow) */ - XXH32_hash_t v[4]; /*!< Accumulator lanes */ - XXH32_hash_t mem32[4]; /*!< Internal buffer for partial reads. Treated as unsigned char[16]. */ - XXH32_hash_t memsize; /*!< Amount of data in @ref mem32 */ + XXH32_hash_t acc[4]; /*!< Accumulator lanes */ + unsigned char buffer[16]; /*!< Internal buffer for partial reads. */ + XXH32_hash_t bufferedSize; /*!< Amount of data in @ref buffer */ XXH32_hash_t reserved; /*!< Reserved field. Do not read nor write to it. */ }; /* typedef'd to XXH32_state_t */ @@ -1145,9 +1695,9 @@ struct XXH32_state_s { */ struct XXH64_state_s { XXH64_hash_t total_len; /*!< Total length hashed. This is always 64-bit. */ - XXH64_hash_t v[4]; /*!< Accumulator lanes */ - XXH64_hash_t mem64[4]; /*!< Internal buffer for partial reads. Treated as unsigned char[32]. */ - XXH32_hash_t memsize; /*!< Amount of data in @ref mem64 */ + XXH64_hash_t acc[4]; /*!< Accumulator lanes */ + unsigned char buffer[32]; /*!< Internal buffer for partial reads.. */ + XXH32_hash_t bufferedSize; /*!< Amount of data in @ref buffer */ XXH32_hash_t reserved32; /*!< Reserved field, needed for padding anyways*/ XXH64_hash_t reserved64; /*!< Reserved field. Do not read or write to it. */ }; /* typedef'd to XXH64_state_t */ @@ -1155,8 +1705,7 @@ struct XXH64_state_s { #ifndef XXH_NO_XXH3 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* >= C11 */ -# include -# define XXH_ALIGN(n) alignas(n) +# define XXH_ALIGN(n) _Alignas(n) #elif defined(__cplusplus) && (__cplusplus >= 201103L) /* >= C++11 */ /* In C++ alignas() is a keyword */ # define XXH_ALIGN(n) alignas(n) @@ -1187,6 +1736,7 @@ struct XXH64_state_s { #define XXH3_INTERNALBUFFER_SIZE 256 /*! + * @internal * @brief Default size of the secret buffer (and @ref XXH3_kSecret). * * This is the size used in @ref XXH3_kSecret and the seeded functions. @@ -1259,22 +1809,47 @@ struct XXH3_state_s { * Note that this doesn't prepare the state for a streaming operation, * it's still necessary to use XXH3_NNbits_reset*() afterwards. */ -#define XXH3_INITSTATE(XXH3_state_ptr) { (XXH3_state_ptr)->seed = 0; } +#define XXH3_INITSTATE(XXH3_state_ptr) \ + do { \ + XXH3_state_t* tmp_xxh3_state_ptr = (XXH3_state_ptr); \ + tmp_xxh3_state_ptr->seed = 0; \ + tmp_xxh3_state_ptr->extSecret = NULL; \ + } while(0) /*! - * simple alias to pre-selected XXH3_128bits variant + * @brief Calculates the 128-bit hash of @p data using XXH3. + * + * @param data The block of data to be hashed, at least @p len bytes in size. + * @param len The length of @p data, in bytes. + * @param seed The 64-bit seed to alter the hash's output predictably. + * + * @pre + * The memory between @p data and @p data + @p len must be valid, + * readable, contiguous memory. However, if @p len is `0`, @p data may be + * `NULL`. In C++, this also must be *TriviallyCopyable*. + * + * @return The calculated 128-bit XXH3 value. + * + * @see @ref single_shot_example "Single Shot Example" for an example. */ -XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH128(const void* data, size_t len, XXH64_hash_t seed); +XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH128(XXH_NOESCAPE const void* data, size_t len, XXH64_hash_t seed); /* === Experimental API === */ /* Symbols defined below must be considered tied to a specific library version. */ /*! - * XXH3_generateSecret(): + * @brief Derive a high-entropy secret from any user-defined content, named customSeed. + * + * @param secretBuffer A writable buffer for derived high-entropy secret data. + * @param secretSize Size of secretBuffer, in bytes. Must be >= XXH3_SECRET_SIZE_MIN. + * @param customSeed A user-defined content. + * @param customSeedSize Size of customSeed, in bytes. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. * - * Derive a high-entropy secret from any user-defined content, named customSeed. * The generated secret can be used in combination with `*_withSecret()` functions. * The `_withSecret()` variants are useful to provide a higher level of protection * than 64-bit seed, as it becomes much more difficult for an external actor to @@ -1322,11 +1897,14 @@ XXH_PUBLIC_API XXH_PUREF XXH128_hash_t XXH128(const void* data, size_t len, XXH6 * } * @endcode */ -XXH_PUBLIC_API XXH_errorcode XXH3_generateSecret(void* secretBuffer, size_t secretSize, const void* customSeed, size_t customSeedSize); +XXH_PUBLIC_API XXH_errorcode XXH3_generateSecret(XXH_NOESCAPE void* secretBuffer, size_t secretSize, XXH_NOESCAPE const void* customSeed, size_t customSeedSize); /*! * @brief Generate the same secret as the _withSeed() variants. * + * @param secretBuffer A writable buffer of @ref XXH3_SECRET_DEFAULT_SIZE bytes + * @param seed The 64-bit seed to alter the hash result predictably. + * * The generated secret can be used in combination with *`*_withSecret()` and `_withSecretandSeed()` variants. * @@ -1346,7 +1924,7 @@ XXH_PUBLIC_API XXH_errorcode XXH3_generateSecret(void* secretBuffer, size_t secr * }; * // Fast, caches the seeded secret for future uses. * class HashFast { - * unsigned char secret[XXH3_SECRET_SIZE_MIN]; + * unsigned char secret[XXH3_SECRET_DEFAULT_SIZE]; * public: * HashFast(XXH64_hash_t s) { * XXH3_generateSecret_fromSeed(secret, seed); @@ -1358,15 +1936,26 @@ XXH_PUBLIC_API XXH_errorcode XXH3_generateSecret(void* secretBuffer, size_t secr * } * }; * @endcode - * @param secretBuffer A writable buffer of @ref XXH3_SECRET_SIZE_MIN bytes - * @param seed The seed to seed the state. */ -XXH_PUBLIC_API void XXH3_generateSecret_fromSeed(void* secretBuffer, XXH64_hash_t seed); +XXH_PUBLIC_API void XXH3_generateSecret_fromSeed(XXH_NOESCAPE void* secretBuffer, XXH64_hash_t seed); /*! - * These variants generate hash values using either - * @p seed for "short" keys (< XXH3_MIDSIZE_MAX = 240 bytes) - * or @p secret for "large" keys (>= XXH3_MIDSIZE_MAX). + * @brief Maximum size of "short" key in bytes. + */ +#define XXH3_MIDSIZE_MAX 240 + +/*! + * @brief Calculates 64/128-bit seeded variant of XXH3 hash of @p data. + * + * @param data The block of data to be hashed, at least @p len bytes in size. + * @param len The length of @p data, in bytes. + * @param secret The secret data. + * @param secretSize The length of @p secret, in bytes. + * @param seed The 64-bit seed to alter the hash result predictably. + * + * These variants generate hash values using either: + * - @p seed for "short" keys (< @ref XXH3_MIDSIZE_MAX = 240 bytes) + * - @p secret for "large" keys (>= @ref XXH3_MIDSIZE_MAX). * * This generally benefits speed, compared to `_withSeed()` or `_withSecret()`. * `_withSeed()` has to generate the secret on the fly for "large" keys. @@ -1390,25 +1979,75 @@ XXH_PUBLIC_API void XXH3_generateSecret_fromSeed(void* secretBuffer, XXH64_hash_ * because only portions of the secret are employed for small data. */ XXH_PUBLIC_API XXH_PUREF XXH64_hash_t -XXH3_64bits_withSecretandSeed(const void* data, size_t len, - const void* secret, size_t secretSize, +XXH3_64bits_withSecretandSeed(XXH_NOESCAPE const void* data, size_t len, + XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed); -/*! @copydoc XXH3_64bits_withSecretandSeed() */ + +/*! + * @brief Calculates 128-bit seeded variant of XXH3 hash of @p data. + * + * @param data The memory segment to be hashed, at least @p len bytes in size. + * @param length The length of @p data, in bytes. + * @param secret The secret used to alter hash result predictably. + * @param secretSize The length of @p secret, in bytes (must be >= XXH3_SECRET_SIZE_MIN) + * @param seed64 The 64-bit seed to alter the hash result predictably. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @see XXH3_64bits_withSecretandSeed(): contract is the same. + */ XXH_PUBLIC_API XXH_PUREF XXH128_hash_t -XXH3_128bits_withSecretandSeed(const void* input, size_t length, - const void* secret, size_t secretSize, +XXH3_128bits_withSecretandSeed(XXH_NOESCAPE const void* input, size_t length, + XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed64); -/*! @copydoc XXH3_64bits_withSecretandSeed() */ + +#ifndef XXH_NO_STREAM +/*! + * @brief Resets an @ref XXH3_state_t with secret data to begin a new hash. + * + * @param statePtr A pointer to an @ref XXH3_state_t allocated with @ref XXH3_createState(). + * @param secret The secret data. + * @param secretSize The length of @p secret, in bytes. + * @param seed64 The 64-bit seed to alter the hash result predictably. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @see XXH3_64bits_withSecretandSeed(). Contract is identical. + */ XXH_PUBLIC_API XXH_errorcode -XXH3_64bits_reset_withSecretandSeed(XXH3_state_t* statePtr, - const void* secret, size_t secretSize, +XXH3_64bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, + XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed64); -/*! @copydoc XXH3_64bits_withSecretandSeed() */ + +/*! + * @brief Resets an @ref XXH3_state_t with secret data to begin a new hash. + * + * @param statePtr A pointer to an @ref XXH3_state_t allocated with @ref XXH3_createState(). + * @param secret The secret data. + * @param secretSize The length of @p secret, in bytes. + * @param seed64 The 64-bit seed to alter the hash result predictably. + * + * @return @ref XXH_OK on success. + * @return @ref XXH_ERROR on failure. + * + * @see XXH3_64bits_withSecretandSeed(). Contract is identical. + * + * Note: there was a bug in an earlier version of this function (<= v0.8.2) + * that would make it generate an incorrect hash value + * when @p seed == 0 and @p length < XXH3_MIDSIZE_MAX + * and @p secret is different from XXH3_generateSecret_fromSeed(). + * As stated in the contract, the correct hash result must be + * the same as XXH3_128bits_withSeed() when @p length <= XXH3_MIDSIZE_MAX. + * Results generated by this older version are wrong, hence not comparable. + */ XXH_PUBLIC_API XXH_errorcode -XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, - const void* secret, size_t secretSize, +XXH3_128bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, + XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed64); +#endif /* !XXH_NO_STREAM */ #endif /* !XXH_NO_XXH3 */ #endif /* XXH_NO_LONG_LONG */ @@ -1507,19 +2146,47 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, * inline small `memcpy()` calls, and it might also be faster on big-endian * systems which lack a native byteswap instruction. However, some compilers * will emit literal byteshifts even if the target supports unaligned access. - * . + * * * @warning * Methods 1 and 2 rely on implementation-defined behavior. Use these with * care, as what works on one compiler/platform/optimization level may cause * another to read garbage data or even crash. * - * See http://fastcompression.blogspot.com/2015/08/accessing-unaligned-memory.html for details. + * See https://fastcompression.blogspot.com/2015/08/accessing-unaligned-memory.html for details. * * Prefer these methods in priority order (0 > 3 > 1 > 2) */ # define XXH_FORCE_MEMORY_ACCESS 0 +/*! + * @def XXH_SIZE_OPT + * @brief Controls how much xxHash optimizes for size. + * + * xxHash, when compiled, tends to result in a rather large binary size. This + * is mostly due to heavy usage to forced inlining and constant folding of the + * @ref XXH3_family to increase performance. + * + * However, some developers prefer size over speed. This option can + * significantly reduce the size of the generated code. When using the `-Os` + * or `-Oz` options on GCC or Clang, this is defined to 1 by default, + * otherwise it is defined to 0. + * + * Most of these size optimizations can be controlled manually. + * + * This is a number from 0-2. + * - `XXH_SIZE_OPT` == 0: Default. xxHash makes no size optimizations. Speed + * comes first. + * - `XXH_SIZE_OPT` == 1: Default for `-Os` and `-Oz`. xxHash is more + * conservative and disables hacks that increase code size. It implies the + * options @ref XXH_NO_INLINE_HINTS == 1, @ref XXH_FORCE_ALIGN_CHECK == 0, + * and @ref XXH3_NEON_LANES == 8 if they are not already defined. + * - `XXH_SIZE_OPT` == 2: xxHash tries to make itself as small as possible. + * Performance may cry. For example, the single shot functions just use the + * streaming API. + */ +# define XXH_SIZE_OPT 0 + /*! * @def XXH_FORCE_ALIGN_CHECK * @brief If defined to non-zero, adds a special path for aligned inputs (XXH32() @@ -1541,9 +2208,11 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, * * In these cases, the alignment check can be removed by setting this macro to 0. * Then the code will always use unaligned memory access. - * Align check is automatically disabled on x86, x64 & arm64, + * Align check is automatically disabled on x86, x64, ARM64, and some ARM chips * which are platforms known to offer good unaligned memory accesses performance. * + * It is also disabled by default when @ref XXH_SIZE_OPT >= 1. + * * This option does not affect XXH3 (only XXH32 and XXH64). */ # define XXH_FORCE_ALIGN_CHECK 0 @@ -1565,11 +2234,28 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, * XXH_NO_INLINE_HINTS marks all internal functions as static, giving the * compiler full control on whether to inline or not. * - * When not optimizing (-O0), optimizing for size (-Os, -Oz), or using - * -fno-inline with GCC or Clang, this will automatically be defined. + * When not optimizing (-O0), using `-fno-inline` with GCC or Clang, or if + * @ref XXH_SIZE_OPT >= 1, this will automatically be defined. */ # define XXH_NO_INLINE_HINTS 0 +/*! + * @def XXH3_INLINE_SECRET + * @brief Determines whether to inline the XXH3 withSecret code. + * + * When the secret size is known, the compiler can improve the performance + * of XXH3_64bits_withSecret() and XXH3_128bits_withSecret(). + * + * However, if the secret size is not known, it doesn't have any benefit. This + * happens when xxHash is compiled into a global symbol. Therefore, if + * @ref XXH_INLINE_ALL is *not* defined, this will be defined to 0. + * + * Additionally, this defaults to 0 on GCC 12+, which has an issue with function pointers + * that are *sometimes* force inline on -Og, and it is impossible to automatically + * detect this optimization level. + */ +# define XXH3_INLINE_SECRET 0 + /*! * @def XXH32_ENDJMP * @brief Whether to use a jump for `XXH32_finalize`. @@ -1591,6 +2277,17 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, */ # define XXH_OLD_NAMES # undef XXH_OLD_NAMES /* don't actually use, it is ugly. */ + +/*! + * @def XXH_NO_STREAM + * @brief Disables the streaming API. + * + * When xxHash is not inlined and the streaming functions are not used, disabling + * the streaming functions can improve code size significantly, especially with + * the @ref XXH3_family which tends to make constant folded copies of itself. + */ +# define XXH_NO_STREAM +# undef XXH_NO_STREAM /* don't actually */ #endif /* XXH_DOXYGEN */ /*! * @} @@ -1605,9 +2302,19 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, # endif #endif +#ifndef XXH_SIZE_OPT + /* default to 1 for -Os or -Oz */ +# if (defined(__GNUC__) || defined(__clang__)) && defined(__OPTIMIZE_SIZE__) +# define XXH_SIZE_OPT 1 +# else +# define XXH_SIZE_OPT 0 +# endif +#endif + #ifndef XXH_FORCE_ALIGN_CHECK /* can be defined externally */ - /* don't check on x86, aarch64, or arm when unaligned access is available */ -# if defined(__i386) || defined(__x86_64__) || defined(__aarch64__) || defined(__ARM_FEATURE_UNALIGNED) \ + /* don't check on sizeopt, x86, aarch64, or arm when unaligned access is available */ +# if XXH_SIZE_OPT >= 1 || \ + defined(__i386) || defined(__x86_64__) || defined(__aarch64__) || defined(__ARM_FEATURE_UNALIGNED) \ || defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64) || defined(_M_ARM) /* visual */ # define XXH_FORCE_ALIGN_CHECK 0 # else @@ -1616,14 +2323,22 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, #endif #ifndef XXH_NO_INLINE_HINTS -# if defined(__OPTIMIZE_SIZE__) /* -Os, -Oz */ \ - || defined(__NO_INLINE__) /* -O0, -fno-inline */ +# if XXH_SIZE_OPT >= 1 || defined(__NO_INLINE__) /* -O0, -fno-inline */ # define XXH_NO_INLINE_HINTS 1 # else # define XXH_NO_INLINE_HINTS 0 # endif #endif +#ifndef XXH3_INLINE_SECRET +# if (defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 12) \ + || !defined(XXH_INLINE_ALL) +# define XXH3_INLINE_SECRET 0 +# else +# define XXH3_INLINE_SECRET 1 +# endif +#endif + #ifndef XXH32_ENDJMP /* generally preferable for performance */ # define XXH32_ENDJMP 0 @@ -1638,7 +2353,9 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, /* ************************************* * Includes & Memory related functions ***************************************/ -#if defined(XXH_NO_STDLIB) +#if defined(XXH_NO_STREAM) +/* nothing */ +#elif defined(XXH_NO_STDLIB) /* When requesting to disable any mention of stdlib, * the library loses the ability to invoked malloc / free. @@ -1697,15 +2414,15 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) #if XXH_NO_INLINE_HINTS /* disable inlining hints */ # if defined(__GNUC__) || defined(__clang__) -# define XXH_FORCE_INLINE static __attribute__((unused)) +# define XXH_FORCE_INLINE static __attribute__((__unused__)) # else # define XXH_FORCE_INLINE static # endif # define XXH_NO_INLINE static /* enable inlining hints */ #elif defined(__GNUC__) || defined(__clang__) -# define XXH_FORCE_INLINE static __inline__ __attribute__((always_inline, unused)) -# define XXH_NO_INLINE static __attribute__((noinline)) +# define XXH_FORCE_INLINE static __inline__ __attribute__((__always_inline__, __unused__)) +# define XXH_NO_INLINE static __attribute__((__noinline__)) #elif defined(_MSC_VER) /* Visual Studio */ # define XXH_FORCE_INLINE static __forceinline # define XXH_NO_INLINE static __declspec(noinline) @@ -1718,7 +2435,34 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) # define XXH_NO_INLINE static #endif +#if defined(XXH_INLINE_ALL) +# define XXH_STATIC XXH_FORCE_INLINE +#else +# define XXH_STATIC static +#endif + +#if XXH3_INLINE_SECRET +# define XXH3_WITH_SECRET_INLINE XXH_FORCE_INLINE +#else +# define XXH3_WITH_SECRET_INLINE XXH_NO_INLINE +#endif +#if ((defined(sun) || defined(__sun)) && __cplusplus) /* Solaris includes __STDC_VERSION__ with C++. Tested with GCC 5.5 */ +# define XXH_RESTRICT /* disable */ +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* >= C99 */ +# define XXH_RESTRICT restrict +#elif (defined (__GNUC__) && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))) \ + || (defined (__clang__)) \ + || (defined (_MSC_VER) && (_MSC_VER >= 1400)) \ + || (defined (__INTEL_COMPILER) && (__INTEL_COMPILER >= 1300)) +/* + * There are a LOT more compilers that recognize __restrict but this + * covers the major ones. + */ +# define XXH_RESTRICT __restrict +#else +# define XXH_RESTRICT /* disable */ +#endif /* ************************************* * Debug @@ -1743,7 +2487,11 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) # include /* note: can still be disabled with NDEBUG */ # define XXH_ASSERT(c) assert(c) #else -# define XXH_ASSERT(c) ((void)0) +# if defined(__INTEL_COMPILER) +# define XXH_ASSERT(c) XXH_ASSUME((unsigned char) (c)) +# else +# define XXH_ASSERT(c) XXH_ASSUME(c) +# endif #endif /* note: use after variable declarations */ @@ -1775,25 +2523,38 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) * XXH3_initCustomSecret_scalar(). */ #if defined(__GNUC__) || defined(__clang__) -# define XXH_COMPILER_GUARD(var) __asm__ __volatile__("" : "+r" (var)) +# define XXH_COMPILER_GUARD(var) __asm__("" : "+r" (var)) #else # define XXH_COMPILER_GUARD(var) ((void)0) #endif +/* Specifically for NEON vectors which use the "w" constraint, on + * Clang. */ +#if defined(__clang__) && defined(__ARM_ARCH) && !defined(__wasm__) +# define XXH_COMPILER_GUARD_CLANG_NEON(var) __asm__("" : "+w" (var)) +#else +# define XXH_COMPILER_GUARD_CLANG_NEON(var) ((void)0) +#endif + /* ************************************* * Basic Types ***************************************/ #if !defined (__VMS) \ && (defined (__cplusplus) \ || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) ) -# include - typedef uint8_t xxh_u8; +# ifdef _AIX +# include +# else +# include +# endif + typedef uint8_t xxh_u8; #else - typedef unsigned char xxh_u8; + typedef unsigned char xxh_u8; #endif typedef XXH32_hash_t xxh_u32; #ifdef XXH_OLD_NAMES +# warning "XXH_OLD_NAMES is planned to be removed starting v0.9. If the program depends on it, consider moving away from it by employing newer type names directly" # define BYTE xxh_u8 # define U8 xxh_u8 # define U32 xxh_u32 @@ -1874,11 +2635,11 @@ static xxh_u32 XXH_read32(const void* memPtr) { return *(const xxh_u32*) memPtr; * https://gcc.godbolt.org/z/xYez1j67Y. */ #ifdef XXH_OLD_NAMES -typedef union { xxh_u32 u32; } __attribute__((packed)) unalign; +typedef union { xxh_u32 u32; } __attribute__((__packed__)) unalign; #endif static xxh_u32 XXH_read32(const void* ptr) { - typedef __attribute__((aligned(1))) xxh_u32 xxh_unalign32; + typedef __attribute__((__aligned__(1))) xxh_u32 xxh_unalign32; return *((const xxh_unalign32*)ptr); } @@ -1886,7 +2647,7 @@ static xxh_u32 XXH_read32(const void* ptr) /* * Portable and safe solution. Generally efficient. - * see: http://fastcompression.blogspot.com/2015/08/accessing-unaligned-memory.html + * see: https://fastcompression.blogspot.com/2015/08/accessing-unaligned-memory.html */ static xxh_u32 XXH_read32(const void* memPtr) { @@ -1962,6 +2723,51 @@ static int XXH_isLittleEndian(void) # define XXH_HAS_BUILTIN(x) 0 #endif + + +/* + * C23 and future versions have standard "unreachable()". + * Once it has been implemented reliably we can add it as an + * additional case: + * + * ``` + * #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= XXH_C23_VN) + * # include + * # ifdef unreachable + * # define XXH_UNREACHABLE() unreachable() + * # endif + * #endif + * ``` + * + * Note C++23 also has std::unreachable() which can be detected + * as follows: + * ``` + * #if defined(__cpp_lib_unreachable) && (__cpp_lib_unreachable >= 202202L) + * # include + * # define XXH_UNREACHABLE() std::unreachable() + * #endif + * ``` + * NB: `__cpp_lib_unreachable` is defined in the `` header. + * We don't use that as including `` in `extern "C"` blocks + * doesn't work on GCC12 + */ + +#if XXH_HAS_BUILTIN(__builtin_unreachable) +# define XXH_UNREACHABLE() __builtin_unreachable() + +#elif defined(_MSC_VER) +# define XXH_UNREACHABLE() __assume(0) + +#else +# define XXH_UNREACHABLE() +#endif + +#if XXH_HAS_BUILTIN(__builtin_assume) +# define XXH_ASSUME(c) __builtin_assume(c) +#else +# define XXH_ASSUME(c) if (!(c)) { XXH_UNREACHABLE(); } +#endif + /*! * @internal * @def XXH_rotl32(x,r) @@ -1979,6 +2785,9 @@ static int XXH_isLittleEndian(void) && XXH_HAS_BUILTIN(__builtin_rotateleft64) # define XXH_rotl32 __builtin_rotateleft32 # define XXH_rotl64 __builtin_rotateleft64 +#elif XXH_HAS_BUILTIN(__builtin_stdc_rotate_left) +# define XXH_rotl32 __builtin_stdc_rotate_left +# define XXH_rotl64 __builtin_stdc_rotate_left /* Note: although _rotl exists for minGW (GCC under windows), performance seems poor */ #elif defined(_MSC_VER) # define XXH_rotl32(x,r) _rotl(x,r) @@ -2121,10 +2930,10 @@ static xxh_u32 XXH32_round(xxh_u32 acc, xxh_u32 input) acc += input * XXH_PRIME32_2; acc = XXH_rotl32(acc, 13); acc *= XXH_PRIME32_1; -#if (defined(__SSE4_1__) || defined(__aarch64__)) && !defined(XXH_ENABLE_AUTOVECTORIZE) +#if (defined(__SSE4_1__) || defined(__aarch64__) || defined(__wasm_simd128__)) && !defined(XXH_ENABLE_AUTOVECTORIZE) /* * UGLY HACK: - * A compiler fence is the only thing that prevents GCC and Clang from + * A compiler fence is used to prevent GCC and Clang from * autovectorizing the XXH32 loop (pragmas and attributes don't work for some * reason) without globally disabling SSE4.1. * @@ -2151,9 +2960,12 @@ static xxh_u32 XXH32_round(xxh_u32 acc, xxh_u32 input) * can load data, while v3 can multiply. SSE forces them to operate * together. * - * This is also enabled on AArch64, as Clang autovectorizes it incorrectly - * and it is pointless writing a NEON implementation that is basically the - * same speed as scalar for XXH32. + * This is also enabled on AArch64, as Clang is *very aggressive* in vectorizing + * the loop. NEON is only faster on the A53, and with the newer cores, it is less + * than half the speed. + * + * Additionally, this is used on WASM SIMD128 because it JITs to the same + * SIMD instructions and has the same issue. */ XXH_COMPILER_GUARD(acc); #endif @@ -2182,6 +2994,61 @@ static xxh_u32 XXH32_avalanche(xxh_u32 hash) #define XXH_get32bits(p) XXH_readLE32_align(p, align) +/*! + * @internal + * @brief Sets up the initial accumulator state for XXH32(). + */ +XXH_FORCE_INLINE void +XXH32_initAccs(xxh_u32 *acc, xxh_u32 seed) +{ + XXH_ASSERT(acc != NULL); + acc[0] = seed + XXH_PRIME32_1 + XXH_PRIME32_2; + acc[1] = seed + XXH_PRIME32_2; + acc[2] = seed + 0; + acc[3] = seed - XXH_PRIME32_1; +} + +/*! + * @internal + * @brief Consumes a block of data for XXH32(). + * + * @return the end input pointer. + */ +XXH_FORCE_INLINE const xxh_u8 * +XXH32_consumeLong( + xxh_u32 *XXH_RESTRICT acc, + xxh_u8 const *XXH_RESTRICT input, + size_t len, + XXH_alignment align +) +{ + const xxh_u8* const bEnd = input + len; + const xxh_u8* const limit = bEnd - 15; + XXH_ASSERT(acc != NULL); + XXH_ASSERT(input != NULL); + XXH_ASSERT(len >= 16); + do { + acc[0] = XXH32_round(acc[0], XXH_get32bits(input)); input += 4; + acc[1] = XXH32_round(acc[1], XXH_get32bits(input)); input += 4; + acc[2] = XXH32_round(acc[2], XXH_get32bits(input)); input += 4; + acc[3] = XXH32_round(acc[3], XXH_get32bits(input)); input += 4; + } while (input < limit); + + return input; +} + +/*! + * @internal + * @brief Merges the accumulator lanes together for XXH32() + */ +XXH_FORCE_INLINE XXH_PUREF xxh_u32 +XXH32_mergeAccs(const xxh_u32 *acc) +{ + XXH_ASSERT(acc != NULL); + return XXH_rotl32(acc[0], 1) + XXH_rotl32(acc[1], 7) + + XXH_rotl32(acc[2], 12) + XXH_rotl32(acc[3], 18); +} + /*! * @internal * @brief Processes the last 0-15 bytes of @p ptr. @@ -2228,41 +3095,41 @@ XXH32_finalize(xxh_u32 hash, const xxh_u8* ptr, size_t len, XXH_alignment align) } else { switch(len&15) /* or switch(bEnd - p) */ { case 12: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 8: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 4: XXH_PROCESS4; return XXH32_avalanche(hash); case 13: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 9: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 5: XXH_PROCESS4; XXH_PROCESS1; return XXH32_avalanche(hash); case 14: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 10: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 6: XXH_PROCESS4; XXH_PROCESS1; XXH_PROCESS1; return XXH32_avalanche(hash); case 15: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 11: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 7: XXH_PROCESS4; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 3: XXH_PROCESS1; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 2: XXH_PROCESS1; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 1: XXH_PROCESS1; - XXH_FALLTHROUGH; + XXH_FALLTHROUGH; /* fallthrough */ case 0: return XXH32_avalanche(hash); } XXH_ASSERT(0); @@ -2294,22 +3161,12 @@ XXH32_endian_align(const xxh_u8* input, size_t len, xxh_u32 seed, XXH_alignment if (input==NULL) XXH_ASSERT(len == 0); if (len>=16) { - const xxh_u8* const bEnd = input + len; - const xxh_u8* const limit = bEnd - 15; - xxh_u32 v1 = seed + XXH_PRIME32_1 + XXH_PRIME32_2; - xxh_u32 v2 = seed + XXH_PRIME32_2; - xxh_u32 v3 = seed + 0; - xxh_u32 v4 = seed - XXH_PRIME32_1; + xxh_u32 acc[4]; + XXH32_initAccs(acc, seed); - do { - v1 = XXH32_round(v1, XXH_get32bits(input)); input += 4; - v2 = XXH32_round(v2, XXH_get32bits(input)); input += 4; - v3 = XXH32_round(v3, XXH_get32bits(input)); input += 4; - v4 = XXH32_round(v4, XXH_get32bits(input)); input += 4; - } while (input < limit); - - h32 = XXH_rotl32(v1, 1) + XXH_rotl32(v2, 7) - + XXH_rotl32(v3, 12) + XXH_rotl32(v4, 18); + input = XXH32_consumeLong(acc, input, len, align); + + h32 = XXH32_mergeAccs(acc); } else { h32 = seed + XXH_PRIME32_5; } @@ -2322,7 +3179,7 @@ XXH32_endian_align(const xxh_u8* input, size_t len, xxh_u32 seed, XXH_alignment /*! @ingroup XXH32_family */ XXH_PUBLIC_API XXH32_hash_t XXH32 (const void* input, size_t len, XXH32_hash_t seed) { -#if 0 +#if !defined(XXH_NO_STREAM) && XXH_SIZE_OPT >= 2 /* Simple version, good for code maintenance, but unfortunately slow for small inputs */ XXH32_state_t state; XXH32_reset(&state, seed); @@ -2341,6 +3198,7 @@ XXH_PUBLIC_API XXH32_hash_t XXH32 (const void* input, size_t len, XXH32_hash_t s /******* Hash streaming *******/ +#ifndef XXH_NO_STREAM /*! @ingroup XXH32_family */ XXH_PUBLIC_API XXH32_state_t* XXH32_createState(void) { @@ -2364,10 +3222,7 @@ XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t* statePtr, XXH32_hash_t s { XXH_ASSERT(statePtr != NULL); memset(statePtr, 0, sizeof(*statePtr)); - statePtr->v[0] = seed + XXH_PRIME32_1 + XXH_PRIME32_2; - statePtr->v[1] = seed + XXH_PRIME32_2; - statePtr->v[2] = seed + 0; - statePtr->v[3] = seed - XXH_PRIME32_1; + XXH32_initAccs(statePtr->acc, seed); return XXH_OK; } @@ -2381,45 +3236,37 @@ XXH32_update(XXH32_state_t* state, const void* input, size_t len) return XXH_OK; } - { const xxh_u8* p = (const xxh_u8*)input; - const xxh_u8* const bEnd = p + len; + state->total_len_32 += (XXH32_hash_t)len; + state->large_len |= (XXH32_hash_t)((len>=16) | (state->total_len_32>=16)); - state->total_len_32 += (XXH32_hash_t)len; - state->large_len |= (XXH32_hash_t)((len>=16) | (state->total_len_32>=16)); + XXH_ASSERT(state->bufferedSize < sizeof(state->buffer)); + if (len < sizeof(state->buffer) - state->bufferedSize) { /* fill in tmp buffer */ + XXH_memcpy(state->buffer + state->bufferedSize, input, len); + state->bufferedSize += (XXH32_hash_t)len; + return XXH_OK; + } - if (state->memsize + len < 16) { /* fill in tmp buffer */ - XXH_memcpy((xxh_u8*)(state->mem32) + state->memsize, input, len); - state->memsize += (XXH32_hash_t)len; - return XXH_OK; - } + { const xxh_u8* xinput = (const xxh_u8*)input; + const xxh_u8* const bEnd = xinput + len; - if (state->memsize) { /* some data left from previous update */ - XXH_memcpy((xxh_u8*)(state->mem32) + state->memsize, input, 16-state->memsize); - { const xxh_u32* p32 = state->mem32; - state->v[0] = XXH32_round(state->v[0], XXH_readLE32(p32)); p32++; - state->v[1] = XXH32_round(state->v[1], XXH_readLE32(p32)); p32++; - state->v[2] = XXH32_round(state->v[2], XXH_readLE32(p32)); p32++; - state->v[3] = XXH32_round(state->v[3], XXH_readLE32(p32)); - } - p += 16-state->memsize; - state->memsize = 0; + if (state->bufferedSize) { /* non-empty buffer: complete first */ + XXH_memcpy(state->buffer + state->bufferedSize, xinput, sizeof(state->buffer) - state->bufferedSize); + xinput += sizeof(state->buffer) - state->bufferedSize; + /* then process one round */ + (void)XXH32_consumeLong(state->acc, state->buffer, sizeof(state->buffer), XXH_aligned); + state->bufferedSize = 0; } - if (p <= bEnd-16) { - const xxh_u8* const limit = bEnd - 16; - - do { - state->v[0] = XXH32_round(state->v[0], XXH_readLE32(p)); p+=4; - state->v[1] = XXH32_round(state->v[1], XXH_readLE32(p)); p+=4; - state->v[2] = XXH32_round(state->v[2], XXH_readLE32(p)); p+=4; - state->v[3] = XXH32_round(state->v[3], XXH_readLE32(p)); p+=4; - } while (p<=limit); - + XXH_ASSERT(xinput <= bEnd); + if ((size_t)(bEnd - xinput) >= sizeof(state->buffer)) { + /* Process the remaining data */ + xinput = XXH32_consumeLong(state->acc, xinput, (size_t)(bEnd - xinput), XXH_unaligned); } - if (p < bEnd) { - XXH_memcpy(state->mem32, p, (size_t)(bEnd-p)); - state->memsize = (unsigned)(bEnd-p); + if (xinput < bEnd) { + /* Copy the leftover to the tmp buffer */ + XXH_memcpy(state->buffer, xinput, (size_t)(bEnd-xinput)); + state->bufferedSize = (unsigned)(bEnd-xinput); } } @@ -2433,36 +3280,20 @@ XXH_PUBLIC_API XXH32_hash_t XXH32_digest(const XXH32_state_t* state) xxh_u32 h32; if (state->large_len) { - h32 = XXH_rotl32(state->v[0], 1) - + XXH_rotl32(state->v[1], 7) - + XXH_rotl32(state->v[2], 12) - + XXH_rotl32(state->v[3], 18); + h32 = XXH32_mergeAccs(state->acc); } else { - h32 = state->v[2] /* == seed */ + XXH_PRIME32_5; + h32 = state->acc[2] /* == seed */ + XXH_PRIME32_5; } h32 += state->total_len_32; - return XXH32_finalize(h32, (const xxh_u8*)state->mem32, state->memsize, XXH_aligned); + return XXH32_finalize(h32, state->buffer, state->bufferedSize, XXH_aligned); } - +#endif /* !XXH_NO_STREAM */ /******* Canonical representation *******/ -/*! - * @ingroup XXH32_family - * The default return values from XXH functions are unsigned 32 and 64 bit - * integers. - * - * The canonical representation uses big endian convention, the same convention - * as human-readable numbers (large digits first). - * - * This way, hash values can be written into a file or buffer, remaining - * comparable across different systems. - * - * The following functions allow transformation of hash values to and from their - * canonical format. - */ +/*! @ingroup XXH32_family */ XXH_PUBLIC_API void XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t hash) { XXH_STATIC_ASSERT(sizeof(XXH32_canonical_t) == sizeof(XXH32_hash_t)); @@ -2517,11 +3348,11 @@ static xxh_u64 XXH_read64(const void* memPtr) * https://gcc.godbolt.org/z/xYez1j67Y. */ #ifdef XXH_OLD_NAMES -typedef union { xxh_u32 u32; xxh_u64 u64; } __attribute__((packed)) unalign64; +typedef union { xxh_u32 u32; xxh_u64 u64; } __attribute__((__packed__)) unalign64; #endif static xxh_u64 XXH_read64(const void* ptr) { - typedef __attribute__((aligned(1))) xxh_u64 xxh_unalign64; + typedef __attribute__((__aligned__(1))) xxh_u64 xxh_unalign64; return *((const xxh_unalign64*)ptr); } @@ -2529,7 +3360,7 @@ static xxh_u64 XXH_read64(const void* ptr) /* * Portable and safe solution. Generally efficient. - * see: http://fastcompression.blogspot.com/2015/08/accessing-unaligned-memory.html + * see: https://fastcompression.blogspot.com/2015/08/accessing-unaligned-memory.html */ static xxh_u64 XXH_read64(const void* memPtr) { @@ -2640,6 +3471,23 @@ static xxh_u64 XXH64_round(xxh_u64 acc, xxh_u64 input) acc += input * XXH_PRIME64_2; acc = XXH_rotl64(acc, 31); acc *= XXH_PRIME64_1; +#if (defined(__AVX512F__)) && !defined(XXH_ENABLE_AUTOVECTORIZE) + /* + * DISABLE AUTOVECTORIZATION: + * A compiler fence is used to prevent GCC and Clang from + * autovectorizing the XXH64 loop (pragmas and attributes don't work for some + * reason) without globally disabling AVX512. + * + * Autovectorization of XXH64 tends to be detrimental, + * though the exact outcome may change depending on exact cpu and compiler version. + * For information, it has been reported as detrimental for Skylake-X, + * but possibly beneficial for Zen4. + * + * The default is to disable auto-vectorization, + * but you can select to enable it instead using `XXH_ENABLE_AUTOVECTORIZE` build variable. + */ + XXH_COMPILER_GUARD(acc); +#endif return acc; } @@ -2665,6 +3513,85 @@ static xxh_u64 XXH64_avalanche(xxh_u64 hash) #define XXH_get64bits(p) XXH_readLE64_align(p, align) +/*! + * @internal + * @brief Sets up the initial accumulator state for XXH64(). + */ +XXH_FORCE_INLINE void +XXH64_initAccs(xxh_u64 *acc, xxh_u64 seed) +{ + XXH_ASSERT(acc != NULL); + acc[0] = seed + XXH_PRIME64_1 + XXH_PRIME64_2; + acc[1] = seed + XXH_PRIME64_2; + acc[2] = seed + 0; + acc[3] = seed - XXH_PRIME64_1; +} + +/*! + * @internal + * @brief Consumes a block of data for XXH64(). + * + * @return the end input pointer. + */ +XXH_FORCE_INLINE const xxh_u8 * +XXH64_consumeLong( + xxh_u64 *XXH_RESTRICT acc, + xxh_u8 const *XXH_RESTRICT input, + size_t len, + XXH_alignment align +) +{ + const xxh_u8* const bEnd = input + len; + const xxh_u8* const limit = bEnd - 31; + XXH_ASSERT(acc != NULL); + XXH_ASSERT(input != NULL); + XXH_ASSERT(len >= 32); + do { + /* reroll on 32-bit */ + if (sizeof(void *) < sizeof(xxh_u64)) { + size_t i; + for (i = 0; i < 4; i++) { + acc[i] = XXH64_round(acc[i], XXH_get64bits(input)); + input += 8; + } + } else { + acc[0] = XXH64_round(acc[0], XXH_get64bits(input)); input += 8; + acc[1] = XXH64_round(acc[1], XXH_get64bits(input)); input += 8; + acc[2] = XXH64_round(acc[2], XXH_get64bits(input)); input += 8; + acc[3] = XXH64_round(acc[3], XXH_get64bits(input)); input += 8; + } + } while (input < limit); + + return input; +} + +/*! + * @internal + * @brief Merges the accumulator lanes together for XXH64() + */ +XXH_FORCE_INLINE XXH_PUREF xxh_u64 +XXH64_mergeAccs(const xxh_u64 *acc) +{ + XXH_ASSERT(acc != NULL); + { + xxh_u64 h64 = XXH_rotl64(acc[0], 1) + XXH_rotl64(acc[1], 7) + + XXH_rotl64(acc[2], 12) + XXH_rotl64(acc[3], 18); + /* reroll on 32-bit */ + if (sizeof(void *) < sizeof(xxh_u64)) { + size_t i; + for (i = 0; i < 4; i++) { + h64 = XXH64_mergeRound(h64, acc[i]); + } + } else { + h64 = XXH64_mergeRound(h64, acc[0]); + h64 = XXH64_mergeRound(h64, acc[1]); + h64 = XXH64_mergeRound(h64, acc[2]); + h64 = XXH64_mergeRound(h64, acc[3]); + } + return h64; + } +} + /*! * @internal * @brief Processes the last 0-31 bytes of @p ptr. @@ -2680,7 +3607,7 @@ static xxh_u64 XXH64_avalanche(xxh_u64 hash) * @return The finalized hash * @see XXH32_finalize(). */ -static XXH_PUREF xxh_u64 +XXH_STATIC XXH_PUREF xxh_u64 XXH64_finalize(xxh_u64 hash, const xxh_u8* ptr, size_t len, XXH_alignment align) { if (ptr==NULL) XXH_ASSERT(len == 0); @@ -2730,27 +3657,13 @@ XXH64_endian_align(const xxh_u8* input, size_t len, xxh_u64 seed, XXH_alignment xxh_u64 h64; if (input==NULL) XXH_ASSERT(len == 0); - if (len>=32) { - const xxh_u8* const bEnd = input + len; - const xxh_u8* const limit = bEnd - 31; - xxh_u64 v1 = seed + XXH_PRIME64_1 + XXH_PRIME64_2; - xxh_u64 v2 = seed + XXH_PRIME64_2; - xxh_u64 v3 = seed + 0; - xxh_u64 v4 = seed - XXH_PRIME64_1; + if (len>=32) { /* Process a large block of data */ + xxh_u64 acc[4]; + XXH64_initAccs(acc, seed); - do { - v1 = XXH64_round(v1, XXH_get64bits(input)); input+=8; - v2 = XXH64_round(v2, XXH_get64bits(input)); input+=8; - v3 = XXH64_round(v3, XXH_get64bits(input)); input+=8; - v4 = XXH64_round(v4, XXH_get64bits(input)); input+=8; - } while (input= 2 /* Simple version, good for code maintenance, but unfortunately slow for small inputs */ XXH64_state_t state; XXH64_reset(&state, seed); @@ -2782,7 +3695,7 @@ XXH_PUBLIC_API XXH64_hash_t XXH64 (const void* input, size_t len, XXH64_hash_t s } /******* Hash Streaming *******/ - +#ifndef XXH_NO_STREAM /*! @ingroup XXH64_family*/ XXH_PUBLIC_API XXH64_state_t* XXH64_createState(void) { @@ -2796,68 +3709,59 @@ XXH_PUBLIC_API XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr) } /*! @ingroup XXH64_family */ -XXH_PUBLIC_API void XXH64_copyState(XXH64_state_t* dstState, const XXH64_state_t* srcState) +XXH_PUBLIC_API void XXH64_copyState(XXH_NOESCAPE XXH64_state_t* dstState, const XXH64_state_t* srcState) { XXH_memcpy(dstState, srcState, sizeof(*dstState)); } /*! @ingroup XXH64_family */ -XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH64_state_t* statePtr, XXH64_hash_t seed) +XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH_NOESCAPE XXH64_state_t* statePtr, XXH64_hash_t seed) { XXH_ASSERT(statePtr != NULL); memset(statePtr, 0, sizeof(*statePtr)); - statePtr->v[0] = seed + XXH_PRIME64_1 + XXH_PRIME64_2; - statePtr->v[1] = seed + XXH_PRIME64_2; - statePtr->v[2] = seed + 0; - statePtr->v[3] = seed - XXH_PRIME64_1; + XXH64_initAccs(statePtr->acc, seed); return XXH_OK; } /*! @ingroup XXH64_family */ XXH_PUBLIC_API XXH_errorcode -XXH64_update (XXH64_state_t* state, const void* input, size_t len) +XXH64_update (XXH_NOESCAPE XXH64_state_t* state, XXH_NOESCAPE const void* input, size_t len) { if (input==NULL) { XXH_ASSERT(len == 0); return XXH_OK; } - { const xxh_u8* p = (const xxh_u8*)input; - const xxh_u8* const bEnd = p + len; + state->total_len += len; - state->total_len += len; + XXH_ASSERT(state->bufferedSize <= sizeof(state->buffer)); + if (len < sizeof(state->buffer) - state->bufferedSize) { /* fill in tmp buffer */ + XXH_memcpy(state->buffer + state->bufferedSize, input, len); + state->bufferedSize += (XXH32_hash_t)len; + return XXH_OK; + } - if (state->memsize + len < 32) { /* fill in tmp buffer */ - XXH_memcpy(((xxh_u8*)state->mem64) + state->memsize, input, len); - state->memsize += (xxh_u32)len; - return XXH_OK; - } + { const xxh_u8* xinput = (const xxh_u8*)input; + const xxh_u8* const bEnd = xinput + len; - if (state->memsize) { /* tmp buffer is full */ - XXH_memcpy(((xxh_u8*)state->mem64) + state->memsize, input, 32-state->memsize); - state->v[0] = XXH64_round(state->v[0], XXH_readLE64(state->mem64+0)); - state->v[1] = XXH64_round(state->v[1], XXH_readLE64(state->mem64+1)); - state->v[2] = XXH64_round(state->v[2], XXH_readLE64(state->mem64+2)); - state->v[3] = XXH64_round(state->v[3], XXH_readLE64(state->mem64+3)); - p += 32 - state->memsize; - state->memsize = 0; + if (state->bufferedSize) { /* non-empty buffer => complete first */ + XXH_memcpy(state->buffer + state->bufferedSize, xinput, sizeof(state->buffer) - state->bufferedSize); + xinput += sizeof(state->buffer) - state->bufferedSize; + /* and process one round */ + (void)XXH64_consumeLong(state->acc, state->buffer, sizeof(state->buffer), XXH_aligned); + state->bufferedSize = 0; } - if (p+32 <= bEnd) { - const xxh_u8* const limit = bEnd - 32; - - do { - state->v[0] = XXH64_round(state->v[0], XXH_readLE64(p)); p+=8; - state->v[1] = XXH64_round(state->v[1], XXH_readLE64(p)); p+=8; - state->v[2] = XXH64_round(state->v[2], XXH_readLE64(p)); p+=8; - state->v[3] = XXH64_round(state->v[3], XXH_readLE64(p)); p+=8; - } while (p<=limit); - + XXH_ASSERT(xinput <= bEnd); + if ((size_t)(bEnd - xinput) >= sizeof(state->buffer)) { + /* Process the remaining data */ + xinput = XXH64_consumeLong(state->acc, xinput, (size_t)(bEnd - xinput), XXH_unaligned); } - if (p < bEnd) { - XXH_memcpy(state->mem64, p, (size_t)(bEnd-p)); - state->memsize = (unsigned)(bEnd-p); + if (xinput < bEnd) { + /* Copy the leftover to the tmp buffer */ + XXH_memcpy(state->buffer, xinput, (size_t)(bEnd-xinput)); + state->bufferedSize = (unsigned)(bEnd-xinput); } } @@ -2866,30 +3770,26 @@ XXH64_update (XXH64_state_t* state, const void* input, size_t len) /*! @ingroup XXH64_family */ -XXH_PUBLIC_API XXH64_hash_t XXH64_digest(const XXH64_state_t* state) +XXH_PUBLIC_API XXH64_hash_t XXH64_digest(XXH_NOESCAPE const XXH64_state_t* state) { xxh_u64 h64; if (state->total_len >= 32) { - h64 = XXH_rotl64(state->v[0], 1) + XXH_rotl64(state->v[1], 7) + XXH_rotl64(state->v[2], 12) + XXH_rotl64(state->v[3], 18); - h64 = XXH64_mergeRound(h64, state->v[0]); - h64 = XXH64_mergeRound(h64, state->v[1]); - h64 = XXH64_mergeRound(h64, state->v[2]); - h64 = XXH64_mergeRound(h64, state->v[3]); + h64 = XXH64_mergeAccs(state->acc); } else { - h64 = state->v[2] /*seed*/ + XXH_PRIME64_5; + h64 = state->acc[2] /*seed*/ + XXH_PRIME64_5; } h64 += (xxh_u64) state->total_len; - return XXH64_finalize(h64, (const xxh_u8*)state->mem64, (size_t)state->total_len, XXH_aligned); + return XXH64_finalize(h64, state->buffer, (size_t)state->total_len, XXH_aligned); } - +#endif /* !XXH_NO_STREAM */ /******* Canonical representation *******/ /*! @ingroup XXH64_family */ -XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH64_canonical_t* dst, XXH64_hash_t hash) +XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH_NOESCAPE XXH64_canonical_t* dst, XXH64_hash_t hash) { XXH_STATIC_ASSERT(sizeof(XXH64_canonical_t) == sizeof(XXH64_hash_t)); if (XXH_CPU_LITTLE_ENDIAN) hash = XXH_swap64(hash); @@ -2897,7 +3797,7 @@ XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH64_canonical_t* dst, XXH64_hash_t } /*! @ingroup XXH64_family */ -XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src) +XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(XXH_NOESCAPE const XXH64_canonical_t* src) { return XXH_readBE64(src); } @@ -2917,14 +3817,6 @@ XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src /* === Compiler specifics === */ -#if ((defined(sun) || defined(__sun)) && __cplusplus) /* Solaris includes __STDC_VERSION__ with C++. Tested with GCC 5.5 */ -# define XXH_RESTRICT /* disable */ -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* >= C99 */ -# define XXH_RESTRICT restrict -#else -/* Note: it might be useful to define __restrict or __restrict__ for some C++ compilers */ -# define XXH_RESTRICT /* disable */ -#endif #if (defined(__GNUC__) && (__GNUC__ >= 3)) \ || (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 800)) \ @@ -2936,10 +3828,26 @@ XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src # define XXH_unlikely(x) (x) #endif +#ifndef XXH_HAS_INCLUDE +# ifdef __has_include +/* + * Not defined as XXH_HAS_INCLUDE(x) (function-like) because + * this causes segfaults in Apple Clang 4.2 (on Mac OS X 10.7 Lion) + */ +# define XXH_HAS_INCLUDE __has_include +# else +# define XXH_HAS_INCLUDE(x) 0 +# endif +#endif + #if defined(__GNUC__) || defined(__clang__) +# if defined(__ARM_FEATURE_SVE) +# include +# endif # if defined(__ARM_NEON__) || defined(__ARM_NEON) \ - || defined(__aarch64__) || defined(_M_ARM) \ - || defined(_M_ARM64) || defined(_M_ARM64EC) + || (defined(_M_ARM) && _M_ARM >= 7) \ + || defined(_M_ARM64) || defined(_M_ARM64EC) \ + || (defined(__wasm_simd128__) && XXH_HAS_INCLUDE()) /* WASM SIMD128 via SIMDe */ # define inline __inline__ /* circumvent a clang bug */ # include # undef inline @@ -2947,6 +3855,8 @@ XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src # include # elif defined(__SSE2__) # include +# elif defined(__loongarch_sx) +# include # endif #endif @@ -3043,33 +3953,11 @@ XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t* src * implementation. */ # define XXH_VECTOR XXH_SCALAR -/*! - * @ingroup tuning - * @brief Possible values for @ref XXH_VECTOR. - * - * Note that these are actually implemented as macros. - * - * If this is not defined, it is detected automatically. - * @ref XXH_X86DISPATCH overrides this. - */ -enum XXH_VECTOR_TYPE /* fake enum */ { - XXH_SCALAR = 0, /*!< Portable scalar version */ - XXH_SSE2 = 1, /*!< - * SSE2 for Pentium 4, Opteron, all x86_64. - * - * @note SSE2 is also guaranteed on Windows 10, macOS, and - * Android x86. - */ - XXH_AVX2 = 2, /*!< AVX2 for Haswell and Bulldozer */ - XXH_AVX512 = 3, /*!< AVX512 for Skylake and Icelake */ - XXH_NEON = 4, /*!< NEON for most ARMv7-A and all AArch64 */ - XXH_VSX = 5, /*!< VSX and ZVector for POWER8/z13 (64-bit) */ -}; /*! * @ingroup tuning * @brief Selects the minimum alignment for XXH3's accumulators. * - * When using SIMD, this should match the alignment reqired for said vector + * When using SIMD, this should match the alignment required for said vector * type, so, for example, 32 for AVX2. * * Default: Auto detected. @@ -3079,18 +3967,15 @@ enum XXH_VECTOR_TYPE /* fake enum */ { /* Actual definition */ #ifndef XXH_DOXYGEN -# define XXH_SCALAR 0 -# define XXH_SSE2 1 -# define XXH_AVX2 2 -# define XXH_AVX512 3 -# define XXH_NEON 4 -# define XXH_VSX 5 #endif #ifndef XXH_VECTOR /* can be defined on command line */ -# if ( \ +# if defined(__ARM_FEATURE_SVE) +# define XXH_VECTOR XXH_SVE +# elif ( \ defined(__ARM_NEON__) || defined(__ARM_NEON) /* gcc */ \ || defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) /* msvc */ \ + || (defined(__wasm_simd128__) && XXH_HAS_INCLUDE()) /* wasm simd128 via SIMDe */ \ ) && ( \ defined(_WIN32) || defined(__LITTLE_ENDIAN__) /* little endian only */ \ || (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) \ @@ -3106,11 +3991,24 @@ enum XXH_VECTOR_TYPE /* fake enum */ { || (defined(__s390x__) && defined(__VEC__)) \ && defined(__GNUC__) /* TODO: IBM XL */ # define XXH_VECTOR XXH_VSX +# elif defined(__loongarch_sx) +# define XXH_VECTOR XXH_LSX # else # define XXH_VECTOR XXH_SCALAR # endif #endif +/* __ARM_FEATURE_SVE is only supported by GCC & Clang. */ +#if (XXH_VECTOR == XXH_SVE) && !defined(__ARM_FEATURE_SVE) +# ifdef _MSC_VER +# pragma warning(once : 4606) +# else +# warning "__ARM_FEATURE_SVE isn't supported. Use SCALAR instead." +# endif +# undef XXH_VECTOR +# define XXH_VECTOR XXH_SCALAR +#endif + /* * Controls the alignment of the accumulator, * for compatibility with aligned vector loads, which are usually faster. @@ -3130,16 +4028,28 @@ enum XXH_VECTOR_TYPE /* fake enum */ { # define XXH_ACC_ALIGN 16 # elif XXH_VECTOR == XXH_AVX512 /* avx512 */ # define XXH_ACC_ALIGN 64 +# elif XXH_VECTOR == XXH_SVE /* sve */ +# define XXH_ACC_ALIGN 64 +# elif XXH_VECTOR == XXH_LSX /* lsx */ +# define XXH_ACC_ALIGN 64 # endif #endif #if defined(XXH_X86DISPATCH) || XXH_VECTOR == XXH_SSE2 \ || XXH_VECTOR == XXH_AVX2 || XXH_VECTOR == XXH_AVX512 # define XXH_SEC_ALIGN XXH_ACC_ALIGN +#elif XXH_VECTOR == XXH_SVE +# define XXH_SEC_ALIGN XXH_ACC_ALIGN #else # define XXH_SEC_ALIGN 8 #endif +#if defined(__GNUC__) || defined(__clang__) +# define XXH_ALIASING __attribute__((__may_alias__)) +#else +# define XXH_ALIASING /* nothing */ +#endif + /* * UGLY HACK: * GCC usually generates the best code with -O3 for xxHash. @@ -3163,112 +4073,21 @@ enum XXH_VECTOR_TYPE /* fake enum */ { */ #if XXH_VECTOR == XXH_AVX2 /* AVX2 */ \ && defined(__GNUC__) && !defined(__clang__) /* GCC, not Clang */ \ - && defined(__OPTIMIZE__) && !defined(__OPTIMIZE_SIZE__) /* respect -O0 and -Os */ + && defined(__OPTIMIZE__) && XXH_SIZE_OPT <= 0 /* respect -O0 and -Os */ # pragma GCC push_options # pragma GCC optimize("-O2") #endif - #if XXH_VECTOR == XXH_NEON + /* - * NEON's setup for vmlal_u32 is a little more complicated than it is on - * SSE2, AVX2, and VSX. - * - * While PMULUDQ and VMULEUW both perform a mask, VMLAL.U32 performs an upcast. - * - * To do the same operation, the 128-bit 'Q' register needs to be split into - * two 64-bit 'D' registers, performing this operation:: - * - * [ a | b ] - * | '---------. .--------' | - * | x | - * | .---------' '--------. | - * [ a & 0xFFFFFFFF | b & 0xFFFFFFFF ],[ a >> 32 | b >> 32 ] - * - * Due to significant changes in aarch64, the fastest method for aarch64 is - * completely different than the fastest method for ARMv7-A. - * - * ARMv7-A treats D registers as unions overlaying Q registers, so modifying - * D11 will modify the high half of Q5. This is similar to how modifying AH - * will only affect bits 8-15 of AX on x86. - * - * VZIP takes two registers, and puts even lanes in one register and odd lanes - * in the other. - * - * On ARMv7-A, this strangely modifies both parameters in place instead of - * taking the usual 3-operand form. + * UGLY HACK: While AArch64 GCC on Linux does not seem to care, on macOS, GCC -O3 + * optimizes out the entire hashLong loop because of the aliasing violation. * - * Therefore, if we want to do this, we can simply use a D-form VZIP.32 on the - * lower and upper halves of the Q register to end up with the high and low - * halves where we want - all in one instruction. - * - * vzip.32 d10, d11 @ d10 = { d10[0], d11[0] }; d11 = { d10[1], d11[1] } - * - * Unfortunately we need inline assembly for this: Instructions modifying two - * registers at once is not possible in GCC or Clang's IR, and they have to - * create a copy. - * - * aarch64 requires a different approach. - * - * In order to make it easier to write a decent compiler for aarch64, many - * quirks were removed, such as conditional execution. - * - * NEON was also affected by this. - * - * aarch64 cannot access the high bits of a Q-form register, and writes to a - * D-form register zero the high bits, similar to how writes to W-form scalar - * registers (or DWORD registers on x86_64) work. - * - * The formerly free vget_high intrinsics now require a vext (with a few - * exceptions) - * - * Additionally, VZIP was replaced by ZIP1 and ZIP2, which are the equivalent - * of PUNPCKL* and PUNPCKH* in SSE, respectively, in order to only modify one - * operand. - * - * The equivalent of the VZIP.32 on the lower and upper halves would be this - * mess: - * - * ext v2.4s, v0.4s, v0.4s, #2 // v2 = { v0[2], v0[3], v0[0], v0[1] } - * zip1 v1.2s, v0.2s, v2.2s // v1 = { v0[0], v2[0] } - * zip2 v0.2s, v0.2s, v1.2s // v0 = { v0[1], v2[1] } - * - * Instead, we use a literal downcast, vmovn_u64 (XTN), and vshrn_n_u64 (SHRN): - * - * shrn v1.2s, v0.2d, #32 // v1 = (uint32x2_t)(v0 >> 32); - * xtn v0.2s, v0.2d // v0 = (uint32x2_t)(v0 & 0xFFFFFFFF); - * - * This is available on ARMv7-A, but is less efficient than a single VZIP.32. - */ - -/*! - * Function-like macro: - * void XXH_SPLIT_IN_PLACE(uint64x2_t &in, uint32x2_t &outLo, uint32x2_t &outHi) - * { - * outLo = (uint32x2_t)(in & 0xFFFFFFFF); - * outHi = (uint32x2_t)(in >> 32); - * in = UNDEFINED; - * } + * However, GCC is also inefficient at load-store optimization with vld1q/vst1q, + * so the only option is to mark it as aliasing. */ -# if !defined(XXH_NO_VZIP_HACK) /* define to disable */ \ - && (defined(__GNUC__) || defined(__clang__)) \ - && (defined(__arm__) || defined(__thumb__) || defined(_M_ARM)) -# define XXH_SPLIT_IN_PLACE(in, outLo, outHi) \ - do { \ - /* Undocumented GCC/Clang operand modifier: %e0 = lower D half, %f0 = upper D half */ \ - /* https://github.com/gcc-mirror/gcc/blob/38cf91e5/gcc/config/arm/arm.c#L22486 */ \ - /* https://github.com/llvm-mirror/llvm/blob/2c4ca683/lib/Target/ARM/ARMAsmPrinter.cpp#L399 */ \ - __asm__("vzip.32 %e0, %f0" : "+w" (in)); \ - (outLo) = vget_low_u32 (vreinterpretq_u32_u64(in)); \ - (outHi) = vget_high_u32(vreinterpretq_u32_u64(in)); \ - } while (0) -# else -# define XXH_SPLIT_IN_PLACE(in, outLo, outHi) \ - do { \ - (outLo) = vmovn_u64 (in); \ - (outHi) = vshrn_n_u64 ((in), 32); \ - } while (0) -# endif +typedef uint64x2_t xxh_aliasing_uint64x2_t XXH_ALIASING; /*! * @internal @@ -3280,60 +4099,100 @@ enum XXH_VECTOR_TYPE /* fake enum */ { * GCC for AArch64 sees `vld1q_u8` as an intrinsic instead of a load, so it * prohibits load-store optimizations. Therefore, a direct dereference is used. * - * Otherwise, `vld1q_u8` is used with `vreinterpretq_u8_u64` to do a safe - * unaligned load. + * Otherwise, `vld1q_u8` is used with `vreinterpretq_u8_u64` to do a safe + * unaligned load. + */ +#if defined(__aarch64__) && defined(__GNUC__) && !defined(__clang__) +XXH_FORCE_INLINE uint64x2_t XXH_vld1q_u64(void const* ptr) /* silence -Wcast-align */ +{ + return *(xxh_aliasing_uint64x2_t const *)ptr; +} +#else +XXH_FORCE_INLINE uint64x2_t XXH_vld1q_u64(void const* ptr) +{ + return vreinterpretq_u64_u8(vld1q_u8((uint8_t const*)ptr)); +} +#endif + +/*! + * @internal + * @brief `vmlal_u32` on low and high halves of a vector. + * + * This is a workaround for AArch64 GCC < 11 which implemented arm_neon.h with + * inline assembly and were therefore incapable of merging the `vget_{low, high}_u32` + * with `vmlal_u32`. */ -#if defined(__aarch64__) && defined(__GNUC__) && !defined(__clang__) -XXH_FORCE_INLINE uint64x2_t XXH_vld1q_u64(void const* ptr) /* silence -Wcast-align */ +#if defined(__aarch64__) && defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 11 +XXH_FORCE_INLINE uint64x2_t +XXH_vmlal_low_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs) +{ + /* Inline assembly is the only way */ + __asm__("umlal %0.2d, %1.2s, %2.2s" : "+w" (acc) : "w" (lhs), "w" (rhs)); + return acc; +} +XXH_FORCE_INLINE uint64x2_t +XXH_vmlal_high_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs) { - return *(uint64x2_t const*)ptr; + /* This intrinsic works as expected */ + return vmlal_high_u32(acc, lhs, rhs); } #else -XXH_FORCE_INLINE uint64x2_t XXH_vld1q_u64(void const* ptr) +/* Portable intrinsic versions */ +XXH_FORCE_INLINE uint64x2_t +XXH_vmlal_low_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs) { - return vreinterpretq_u64_u8(vld1q_u8((uint8_t const*)ptr)); + return vmlal_u32(acc, vget_low_u32(lhs), vget_low_u32(rhs)); +} +/*! @copydoc XXH_vmlal_low_u32 + * Assume the compiler converts this to vmlal_high_u32 on aarch64 */ +XXH_FORCE_INLINE uint64x2_t +XXH_vmlal_high_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs) +{ + return vmlal_u32(acc, vget_high_u32(lhs), vget_high_u32(rhs)); } #endif + /*! * @ingroup tuning * @brief Controls the NEON to scalar ratio for XXH3 * - * On AArch64 when not optimizing for size, XXH3 will run 6 lanes using NEON and - * 2 lanes on scalar by default. - * - * This can be set to 2, 4, 6, or 8. ARMv7 will default to all 8 NEON lanes, as the - * emulated 64-bit arithmetic is too slow. + * This can be set to 2, 4, 6, or 8. * - * Modern ARM CPUs are _very_ sensitive to how their pipelines are used. + * ARM Cortex CPUs are _very_ sensitive to how their pipelines are used. * - * For example, the Cortex-A73 can dispatch 3 micro-ops per cycle, but it can't - * have more than 2 NEON (F0/F1) micro-ops. If you are only using NEON instructions, - * you are only using 2/3 of the CPU bandwidth. + * For example, the Cortex-A73 can dispatch 3 micro-ops per cycle, but only 2 of those + * can be NEON. If you are only using NEON instructions, you are only using 2/3 of the CPU + * bandwidth. * - * This is even more noticable on the more advanced cores like the A76 which + * This is even more noticeable on the more advanced cores like the Cortex-A76 which * can dispatch 8 micro-ops per cycle, but still only 2 NEON micro-ops at once. * - * Therefore, @ref XXH3_NEON_LANES lanes will be processed using NEON, and the - * remaining lanes will use scalar instructions. This improves the bandwidth - * and also gives the integer pipelines something to do besides twiddling loop - * counters and pointers. + * Therefore, to make the most out of the pipeline, it is beneficial to run 6 NEON lanes + * and 2 scalar lanes, which is chosen by default. + * + * This does not apply to Apple processors or 32-bit processors, which run better with + * full NEON. These will default to 8. Additionally, size-optimized builds run 8 lanes. * * This change benefits CPUs with large micro-op buffers without negatively affecting - * other CPUs: + * most other CPUs: * * | Chipset | Dispatch type | NEON only | 6:2 hybrid | Diff. | * |:----------------------|:--------------------|----------:|-----------:|------:| * | Snapdragon 730 (A76) | 2 NEON/8 micro-ops | 8.8 GB/s | 10.1 GB/s | ~16% | * | Snapdragon 835 (A73) | 2 NEON/3 micro-ops | 5.1 GB/s | 5.3 GB/s | ~5% | * | Marvell PXA1928 (A53) | In-order dual-issue | 1.9 GB/s | 1.9 GB/s | 0% | + * | Apple M1 | 4 NEON/8 micro-ops | 37.3 GB/s | 36.1 GB/s | ~-3% | * * It also seems to fix some bad codegen on GCC, making it almost as fast as clang. * + * When using WASM SIMD128, if this is 2 or 6, SIMDe will scalarize 2 of the lanes meaning + * it effectively becomes worse 4. + * * @see XXH3_accumulate_512_neon() */ # ifndef XXH3_NEON_LANES # if (defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64) || defined(_M_ARM64EC)) \ - && !defined(__OPTIMIZE_SIZE__) + && !defined(__APPLE__) && XXH_SIZE_OPT <= 0 # define XXH3_NEON_LANES 6 # else # define XXH3_NEON_LANES XXH_ACC_NB @@ -3350,27 +4209,42 @@ XXH_FORCE_INLINE uint64x2_t XXH_vld1q_u64(void const* ptr) * inconsistent intrinsics, spotty coverage, and multiple endiannesses. */ #if XXH_VECTOR == XXH_VSX +/* Annoyingly, these headers _may_ define three macros: `bool`, `vector`, + * and `pixel`. This is a problem for obvious reasons. + * + * These keywords are unnecessary; the spec literally says they are + * equivalent to `__bool`, `__vector`, and `__pixel` and may be undef'd + * after including the header. + * + * We use pragma push_macro/pop_macro to keep the namespace clean. */ +# pragma push_macro("bool") +# pragma push_macro("vector") +# pragma push_macro("pixel") +/* silence potential macro redefined warnings */ +# undef bool +# undef vector +# undef pixel + # if defined(__s390x__) # include # else -/* gcc's altivec.h can have the unwanted consequence to unconditionally - * #define bool, vector, and pixel keywords, - * with bad consequences for programs already using these keywords for other purposes. - * The paragraph defining these macros is skipped when __APPLE_ALTIVEC__ is defined. - * __APPLE_ALTIVEC__ is _generally_ defined automatically by the compiler, - * but it seems that, in some cases, it isn't. - * Force the build macro to be defined, so that keywords are not altered. - */ -# if defined(__GNUC__) && !defined(__APPLE_ALTIVEC__) -# define __APPLE_ALTIVEC__ -# endif # include # endif +/* Restore the original macro values, if applicable. */ +# pragma pop_macro("pixel") +# pragma pop_macro("vector") +# pragma pop_macro("bool") + typedef __vector unsigned long long xxh_u64x2; typedef __vector unsigned char xxh_u8x16; typedef __vector unsigned xxh_u32x4; +/* + * UGLY HACK: Similar to aarch64 macOS GCC, s390x GCC has the same aliasing issue. + */ +typedef xxh_u64x2 xxh_aliasing_u64x2 XXH_ALIASING; + # ifndef XXH_VSX_BE # if defined(__BIG_ENDIAN__) \ || (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) @@ -3422,8 +4296,9 @@ XXH_FORCE_INLINE xxh_u64x2 XXH_vec_loadu(const void *ptr) /* s390x is always big endian, no issue on this platform */ # define XXH_vec_mulo vec_mulo # define XXH_vec_mule vec_mule -# elif defined(__clang__) && XXH_HAS_BUILTIN(__builtin_altivec_vmuleuw) +# elif defined(__clang__) && XXH_HAS_BUILTIN(__builtin_altivec_vmuleuw) && !defined(__ibmxl__) /* Clang has a better way to control this, we can just use the builtin which doesn't swap. */ + /* The IBM XL Compiler (which defined __clang__) only implements the vec_* operations */ # define XXH_vec_mulo __builtin_altivec_vmulouw # define XXH_vec_mule __builtin_altivec_vmuleuw # else @@ -3444,13 +4319,28 @@ XXH_FORCE_INLINE xxh_u64x2 XXH_vec_mule(xxh_u32x4 a, xxh_u32x4 b) # endif /* XXH_vec_mulo, XXH_vec_mule */ #endif /* XXH_VECTOR == XXH_VSX */ +#if XXH_VECTOR == XXH_SVE +#define ACCRND(acc, offset) \ +do { \ + svuint64_t input_vec = svld1_u64(mask, xinput + offset); \ + svuint64_t secret_vec = svld1_u64(mask, xsecret + offset); \ + svuint64_t mixed = sveor_u64_x(mask, secret_vec, input_vec); \ + svuint64_t swapped = svtbl_u64(input_vec, kSwap); \ + svuint64_t mixed_lo = svextw_u64_x(mask, mixed); \ + svuint64_t mixed_hi = svlsr_n_u64_x(mask, mixed, 32); \ + svuint64_t mul = svmad_u64_x(mask, mixed_lo, mixed_hi, swapped); \ + acc = svadd_u64_x(mask, acc, mul); \ +} while (0) +#endif /* XXH_VECTOR == XXH_SVE */ /* prefetch * can be disabled, by declaring XXH_NO_PREFETCH build macro */ #if defined(XXH_NO_PREFETCH) # define XXH_PREFETCH(ptr) (void)(ptr) /* disabled */ #else -# if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) /* _mm_prefetch() not defined outside of x86/x64 */ +# if XXH_SIZE_OPT >= 1 +# define XXH_PREFETCH(ptr) (void)(ptr) +# elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) /* _mm_prefetch() not defined outside of x86/x64 */ # include /* https://msdn.microsoft.com/fr-fr/library/84szxsww(v=vs.90).aspx */ # define XXH_PREFETCH(ptr) _mm_prefetch((const char*)(ptr), _MM_HINT_T0) # elif defined(__GNUC__) && ( (__GNUC__ >= 4) || ( (__GNUC__ == 3) && (__GNUC_MINOR__ >= 1) ) ) @@ -3487,6 +4377,8 @@ XXH_ALIGN(64) static const xxh_u8 XXH3_kSecret[XXH_SECRET_DEFAULT_SIZE] = { 0x45, 0xcb, 0x3a, 0x8f, 0x95, 0x16, 0x04, 0x28, 0xaf, 0xd7, 0xfb, 0xca, 0xbb, 0x4b, 0x40, 0x7e, }; +static const xxh_u64 PRIME_MX1 = 0x165667919E3779F9ULL; /*!< 0b0001011001010110011001111001000110011110001101110111100111111001 */ +static const xxh_u64 PRIME_MX2 = 0x9FB21C651E98DF25ULL; /*!< 0b1001111110110010000111000110010100011110100110001101111100100101 */ #ifdef XXH_OLD_NAMES # define kSecret XXH3_kSecret @@ -3691,7 +4583,7 @@ XXH_FORCE_INLINE XXH_CONSTF xxh_u64 XXH_xorshift64(xxh_u64 v64, int shift) static XXH64_hash_t XXH3_avalanche(xxh_u64 h64) { h64 = XXH_xorshift64(h64, 37); - h64 *= 0x165667919E3779F9ULL; + h64 *= PRIME_MX1; h64 = XXH_xorshift64(h64, 32); return h64; } @@ -3705,9 +4597,9 @@ static XXH64_hash_t XXH3_rrmxmx(xxh_u64 h64, xxh_u64 len) { /* this mix is inspired by Pelle Evensen's rrmxmx */ h64 ^= XXH_rotl64(h64, 49) ^ XXH_rotl64(h64, 24); - h64 *= 0x9FB21C651E98DF25ULL; + h64 *= PRIME_MX2; h64 ^= (h64 >> 35) + len ; - h64 *= 0x9FB21C651E98DF25ULL; + h64 *= PRIME_MX2; return XXH_xorshift64(h64, 28); } @@ -3879,6 +4771,14 @@ XXH3_len_17to128_64b(const xxh_u8* XXH_RESTRICT input, size_t len, XXH_ASSERT(16 < len && len <= 128); { xxh_u64 acc = len * XXH_PRIME64_1; +#if XXH_SIZE_OPT >= 1 + /* Smaller and cleaner, but slightly slower. */ + unsigned int i = (unsigned int)(len - 1) / 32; + do { + acc += XXH3_mix16B(input+16 * i, secret+32*i, seed); + acc += XXH3_mix16B(input+len-16*(i+1), secret+32*i+16, seed); + } while (i-- != 0); +#else if (len > 32) { if (len > 64) { if (len > 96) { @@ -3893,13 +4793,11 @@ XXH3_len_17to128_64b(const xxh_u8* XXH_RESTRICT input, size_t len, } acc += XXH3_mix16B(input+0, secret+0, seed); acc += XXH3_mix16B(input+len-16, secret+16, seed); - +#endif return XXH3_avalanche(acc); } } -#define XXH3_MIDSIZE_MAX 240 - XXH_NO_INLINE XXH_PUREF XXH64_hash_t XXH3_len_129to240_64b(const xxh_u8* XXH_RESTRICT input, size_t len, const xxh_u8* XXH_RESTRICT secret, size_t secretSize, @@ -3912,13 +4810,17 @@ XXH3_len_129to240_64b(const xxh_u8* XXH_RESTRICT input, size_t len, #define XXH3_MIDSIZE_LASTOFFSET 17 { xxh_u64 acc = len * XXH_PRIME64_1; - int const nbRounds = (int)len / 16; - int i; + xxh_u64 acc_end; + unsigned int const nbRounds = (unsigned int)len / 16; + unsigned int i; + XXH_ASSERT(128 < len && len <= XXH3_MIDSIZE_MAX); for (i=0; i<8; i++) { acc += XXH3_mix16B(input+(16*i), secret+(16*i), seed); } - acc = XXH3_avalanche(acc); + /* last bytes */ + acc_end = XXH3_mix16B(input + len - 16, secret + XXH3_SECRET_SIZE_MIN - XXH3_MIDSIZE_LASTOFFSET, seed); XXH_ASSERT(nbRounds >= 8); + acc = XXH3_avalanche(acc); #if defined(__clang__) /* Clang */ \ && (defined(__ARM_NEON) || defined(__ARM_NEON__)) /* NEON */ \ && !defined(XXH_ENABLE_AUTOVECTORIZE) /* Define to disable */ @@ -3945,11 +4847,13 @@ XXH3_len_129to240_64b(const xxh_u8* XXH_RESTRICT input, size_t len, #pragma clang loop vectorize(disable) #endif for (i=8 ; i < nbRounds; i++) { - acc += XXH3_mix16B(input+(16*i), secret+(16*(i-8)) + XXH3_MIDSIZE_STARTOFFSET, seed); + /* + * Prevents clang for unrolling the acc loop and interleaving with this one. + */ + XXH_COMPILER_GUARD(acc); + acc_end += XXH3_mix16B(input+(16*i), secret+(16*(i-8)) + XXH3_MIDSIZE_STARTOFFSET, seed); } - /* last bytes */ - acc += XXH3_mix16B(input + len - 16, secret + XXH3_SECRET_SIZE_MIN - XXH3_MIDSIZE_LASTOFFSET, seed); - return XXH3_avalanche(acc); + return XXH3_avalanche(acc + acc_end); } } @@ -3965,6 +4869,47 @@ XXH3_len_129to240_64b(const xxh_u8* XXH_RESTRICT input, size_t len, # define ACC_NB XXH_ACC_NB #endif +#ifndef XXH_PREFETCH_DIST +# ifdef __clang__ +# define XXH_PREFETCH_DIST 320 +# else +# if (XXH_VECTOR == XXH_AVX512) +# define XXH_PREFETCH_DIST 512 +# else +# define XXH_PREFETCH_DIST 384 +# endif +# endif /* __clang__ */ +#endif /* XXH_PREFETCH_DIST */ + +/* + * These macros are to generate an XXH3_accumulate() function. + * The two arguments select the name suffix and target attribute. + * + * The name of this symbol is XXH3_accumulate_() and it calls + * XXH3_accumulate_512_(). + * + * It may be useful to hand implement this function if the compiler fails to + * optimize the inline function. + */ +#define XXH3_ACCUMULATE_TEMPLATE(name) \ +void \ +XXH3_accumulate_##name(xxh_u64* XXH_RESTRICT acc, \ + const xxh_u8* XXH_RESTRICT input, \ + const xxh_u8* XXH_RESTRICT secret, \ + size_t nbStripes) \ +{ \ + size_t n; \ + for (n = 0; n < nbStripes; n++ ) { \ + const xxh_u8* const in = input + n*XXH_STRIPE_LEN; \ + XXH_PREFETCH(in + XXH_PREFETCH_DIST); \ + XXH3_accumulate_512_##name( \ + acc, \ + in, \ + secret + n*XXH_SECRET_CONSUME_RATE); \ + } \ +} + + XXH_FORCE_INLINE void XXH_writeLE64(void* dst, xxh_u64 v64) { if (!XXH_CPU_LITTLE_ENDIAN) v64 = XXH_swap64(v64); @@ -4033,7 +4978,7 @@ XXH3_accumulate_512_avx512(void* XXH_RESTRICT acc, /* data_key = data_vec ^ key_vec; */ __m512i const data_key = _mm512_xor_si512 (data_vec, key_vec); /* data_key_lo = data_key >> 32; */ - __m512i const data_key_lo = _mm512_shuffle_epi32 (data_key, (_MM_PERM_ENUM)_MM_SHUFFLE(0, 3, 0, 1)); + __m512i const data_key_lo = _mm512_srli_epi64 (data_key, 32); /* product = (data_key & 0xffffffff) * (data_key_lo & 0xffffffff); */ __m512i const product = _mm512_mul_epu32 (data_key, data_key_lo); /* xacc[0] += swap(data_vec); */ @@ -4043,6 +4988,7 @@ XXH3_accumulate_512_avx512(void* XXH_RESTRICT acc, *xacc = _mm512_add_epi64(product, sum); } } +XXH_FORCE_INLINE XXH_TARGET_AVX512 XXH3_ACCUMULATE_TEMPLATE(avx512) /* * XXH3_scrambleAcc: Scrambles the accumulators to improve mixing. @@ -4076,13 +5022,12 @@ XXH3_scrambleAcc_avx512(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) /* xacc[0] ^= (xacc[0] >> 47) */ __m512i const acc_vec = *xacc; __m512i const shifted = _mm512_srli_epi64 (acc_vec, 47); - __m512i const data_vec = _mm512_xor_si512 (acc_vec, shifted); /* xacc[0] ^= secret; */ __m512i const key_vec = _mm512_loadu_si512 (secret); - __m512i const data_key = _mm512_xor_si512 (data_vec, key_vec); + __m512i const data_key = _mm512_ternarylogic_epi32(key_vec, acc_vec, shifted, 0x96 /* key_vec ^ acc_vec ^ shifted */); /* xacc[0] *= XXH_PRIME32_1; */ - __m512i const data_key_hi = _mm512_shuffle_epi32 (data_key, (_MM_PERM_ENUM)_MM_SHUFFLE(0, 3, 0, 1)); + __m512i const data_key_hi = _mm512_srli_epi64 (data_key, 32); __m512i const prod_lo = _mm512_mul_epu32 (data_key, prime32); __m512i const prod_hi = _mm512_mul_epu32 (data_key_hi, prime32); *xacc = _mm512_add_epi64(prod_lo, _mm512_slli_epi64(prod_hi, 32)); @@ -4097,7 +5042,8 @@ XXH3_initCustomSecret_avx512(void* XXH_RESTRICT customSecret, xxh_u64 seed64) XXH_ASSERT(((size_t)customSecret & 63) == 0); (void)(&XXH_writeLE64); { int const nbRounds = XXH_SECRET_DEFAULT_SIZE / sizeof(__m512i); - __m512i const seed = _mm512_mask_set1_epi64(_mm512_set1_epi64((xxh_i64)seed64), 0xAA, (xxh_i64)(0U - seed64)); + __m512i const seed_pos = _mm512_set1_epi64((xxh_i64)seed64); + __m512i const seed = _mm512_mask_sub_epi64(seed_pos, 0xAA, _mm512_set1_epi8(0), seed_pos); const __m512i* const src = (const __m512i*) ((const void*) XXH3_kSecret); __m512i* const dest = ( __m512i*) customSecret; @@ -4105,14 +5051,7 @@ XXH3_initCustomSecret_avx512(void* XXH_RESTRICT customSecret, xxh_u64 seed64) XXH_ASSERT(((size_t)src & 63) == 0); /* control alignment */ XXH_ASSERT(((size_t)dest & 63) == 0); for (i=0; i < nbRounds; ++i) { - /* GCC has a bug, _mm512_stream_load_si512 accepts 'void*', not 'void const*', - * this will warn "discards 'const' qualifier". */ - union { - const __m512i* cp; - void* p; - } remote_const_void; - remote_const_void.cp = src + i; - dest[i] = _mm512_add_epi64(_mm512_stream_load_si512(remote_const_void.p), seed); + dest[i] = _mm512_add_epi64(_mm512_load_si512(src + i), seed); } } } @@ -4148,7 +5087,7 @@ XXH3_accumulate_512_avx2( void* XXH_RESTRICT acc, /* data_key = data_vec ^ key_vec; */ __m256i const data_key = _mm256_xor_si256 (data_vec, key_vec); /* data_key_lo = data_key >> 32; */ - __m256i const data_key_lo = _mm256_shuffle_epi32 (data_key, _MM_SHUFFLE(0, 3, 0, 1)); + __m256i const data_key_lo = _mm256_srli_epi64 (data_key, 32); /* product = (data_key & 0xffffffff) * (data_key_lo & 0xffffffff); */ __m256i const product = _mm256_mul_epu32 (data_key, data_key_lo); /* xacc[i] += swap(data_vec); */ @@ -4158,6 +5097,7 @@ XXH3_accumulate_512_avx2( void* XXH_RESTRICT acc, xacc[i] = _mm256_add_epi64(product, sum); } } } +XXH_FORCE_INLINE XXH_TARGET_AVX2 XXH3_ACCUMULATE_TEMPLATE(avx2) XXH_FORCE_INLINE XXH_TARGET_AVX2 void XXH3_scrambleAcc_avx2(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) @@ -4180,7 +5120,7 @@ XXH3_scrambleAcc_avx2(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) __m256i const data_key = _mm256_xor_si256 (data_vec, key_vec); /* xacc[i] *= XXH_PRIME32_1; */ - __m256i const data_key_hi = _mm256_shuffle_epi32 (data_key, _MM_SHUFFLE(0, 3, 0, 1)); + __m256i const data_key_hi = _mm256_srli_epi64 (data_key, 32); __m256i const prod_lo = _mm256_mul_epu32 (data_key, prime32); __m256i const prod_hi = _mm256_mul_epu32 (data_key_hi, prime32); xacc[i] = _mm256_add_epi64(prod_lo, _mm256_slli_epi64(prod_hi, 32)); @@ -4212,12 +5152,12 @@ XXH_FORCE_INLINE XXH_TARGET_AVX2 void XXH3_initCustomSecret_avx2(void* XXH_RESTR XXH_ASSERT(((size_t)dest & 31) == 0); /* GCC -O2 need unroll loop manually */ - dest[0] = _mm256_add_epi64(_mm256_stream_load_si256(src+0), seed); - dest[1] = _mm256_add_epi64(_mm256_stream_load_si256(src+1), seed); - dest[2] = _mm256_add_epi64(_mm256_stream_load_si256(src+2), seed); - dest[3] = _mm256_add_epi64(_mm256_stream_load_si256(src+3), seed); - dest[4] = _mm256_add_epi64(_mm256_stream_load_si256(src+4), seed); - dest[5] = _mm256_add_epi64(_mm256_stream_load_si256(src+5), seed); + dest[0] = _mm256_add_epi64(_mm256_load_si256(src+0), seed); + dest[1] = _mm256_add_epi64(_mm256_load_si256(src+1), seed); + dest[2] = _mm256_add_epi64(_mm256_load_si256(src+2), seed); + dest[3] = _mm256_add_epi64(_mm256_load_si256(src+3), seed); + dest[4] = _mm256_add_epi64(_mm256_load_si256(src+4), seed); + dest[5] = _mm256_add_epi64(_mm256_load_si256(src+5), seed); } } @@ -4264,6 +5204,7 @@ XXH3_accumulate_512_sse2( void* XXH_RESTRICT acc, xacc[i] = _mm_add_epi64(product, sum); } } } +XXH_FORCE_INLINE XXH_TARGET_SSE2 XXH3_ACCUMULATE_TEMPLATE(sse2) XXH_FORCE_INLINE XXH_TARGET_SSE2 void XXH3_scrambleAcc_sse2(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) @@ -4342,14 +5283,28 @@ XXH3_scalarScrambleRound(void* XXH_RESTRICT acc, /*! * @internal - * @brief The bulk processing loop for NEON. + * @brief The bulk processing loop for NEON and WASM SIMD128. * * The NEON code path is actually partially scalar when running on AArch64. This * is to optimize the pipelining and can have up to 15% speedup depending on the * CPU, and it also mitigates some GCC codegen issues. * * @see XXH3_NEON_LANES for configuring this and details about this optimization. + * + * NEON's 32-bit to 64-bit long multiply takes a half vector of 32-bit + * integers instead of the other platforms which mask full 64-bit vectors, + * so the setup is more complicated than just shifting right. + * + * Additionally, there is an optimization for 4 lanes at once noted below. + * + * Since, as stated, the most optimal amount of lanes for Cortexes is 6, + * there needs to be *three* versions of the accumulate operation used + * for the remaining 2 lanes. + * + * WASM's SIMD128 uses SIMDe's arm_neon.h polyfill because the intrinsics overlap + * nearly perfectly. */ + XXH_FORCE_INLINE void XXH3_accumulate_512_neon( void* XXH_RESTRICT acc, const void* XXH_RESTRICT input, @@ -4357,53 +5312,144 @@ XXH3_accumulate_512_neon( void* XXH_RESTRICT acc, { XXH_ASSERT((((size_t)acc) & 15) == 0); XXH_STATIC_ASSERT(XXH3_NEON_LANES > 0 && XXH3_NEON_LANES <= XXH_ACC_NB && XXH3_NEON_LANES % 2 == 0); - { - uint64x2_t* const xacc = (uint64x2_t *) acc; + { /* GCC for darwin arm64 does not like aliasing here */ + xxh_aliasing_uint64x2_t* const xacc = (xxh_aliasing_uint64x2_t*) acc; /* We don't use a uint32x4_t pointer because it causes bus errors on ARMv7. */ - uint8_t const* const xinput = (const uint8_t *) input; - uint8_t const* const xsecret = (const uint8_t *) secret; + uint8_t const* xinput = (const uint8_t *) input; + uint8_t const* xsecret = (const uint8_t *) secret; size_t i; - /* AArch64 uses both scalar and neon at the same time */ +#ifdef __wasm_simd128__ + /* + * On WASM SIMD128, Clang emits direct address loads when XXH3_kSecret + * is constant propagated, which results in it converting it to this + * inside the loop: + * + * a = v128.load(XXH3_kSecret + 0 + $secret_offset, offset = 0) + * b = v128.load(XXH3_kSecret + 16 + $secret_offset, offset = 0) + * ... + * + * This requires a full 32-bit address immediate (and therefore a 6 byte + * instruction) as well as an add for each offset. + * + * Putting an asm guard prevents it from folding (at the cost of losing + * the alignment hint), and uses the free offset in `v128.load` instead + * of adding secret_offset each time which overall reduces code size by + * about a kilobyte and improves performance. + */ + XXH_COMPILER_GUARD(xsecret); +#endif + /* Scalar lanes use the normal scalarRound routine */ for (i = XXH3_NEON_LANES; i < XXH_ACC_NB; i++) { XXH3_scalarRound(acc, input, secret, i); } - for (i=0; i < XXH3_NEON_LANES / 2; i++) { - uint64x2_t acc_vec = xacc[i]; + i = 0; + /* 4 NEON lanes at a time. */ + for (; i+1 < XXH3_NEON_LANES / 2; i+=2) { + /* data_vec = xinput[i]; */ + uint64x2_t data_vec_1 = XXH_vld1q_u64(xinput + (i * 16)); + uint64x2_t data_vec_2 = XXH_vld1q_u64(xinput + ((i+1) * 16)); + /* key_vec = xsecret[i]; */ + uint64x2_t key_vec_1 = XXH_vld1q_u64(xsecret + (i * 16)); + uint64x2_t key_vec_2 = XXH_vld1q_u64(xsecret + ((i+1) * 16)); + /* data_swap = swap(data_vec) */ + uint64x2_t data_swap_1 = vextq_u64(data_vec_1, data_vec_1, 1); + uint64x2_t data_swap_2 = vextq_u64(data_vec_2, data_vec_2, 1); + /* data_key = data_vec ^ key_vec; */ + uint64x2_t data_key_1 = veorq_u64(data_vec_1, key_vec_1); + uint64x2_t data_key_2 = veorq_u64(data_vec_2, key_vec_2); + + /* + * If we reinterpret the 64x2 vectors as 32x4 vectors, we can use a + * de-interleave operation for 4 lanes in 1 step with `vuzpq_u32` to + * get one vector with the low 32 bits of each lane, and one vector + * with the high 32 bits of each lane. + * + * The intrinsic returns a double vector because the original ARMv7-a + * instruction modified both arguments in place. AArch64 and SIMD128 emit + * two instructions from this intrinsic. + * + * [ dk11L | dk11H | dk12L | dk12H ] -> [ dk11L | dk12L | dk21L | dk22L ] + * [ dk21L | dk21H | dk22L | dk22H ] -> [ dk11H | dk12H | dk21H | dk22H ] + */ + uint32x4x2_t unzipped = vuzpq_u32( + vreinterpretq_u32_u64(data_key_1), + vreinterpretq_u32_u64(data_key_2) + ); + /* data_key_lo = data_key & 0xFFFFFFFF */ + uint32x4_t data_key_lo = unzipped.val[0]; + /* data_key_hi = data_key >> 32 */ + uint32x4_t data_key_hi = unzipped.val[1]; + /* + * Then, we can split the vectors horizontally and multiply which, as for most + * widening intrinsics, have a variant that works on both high half vectors + * for free on AArch64. A similar instruction is available on SIMD128. + * + * sum = data_swap + (u64x2) data_key_lo * (u64x2) data_key_hi + */ + uint64x2_t sum_1 = XXH_vmlal_low_u32(data_swap_1, data_key_lo, data_key_hi); + uint64x2_t sum_2 = XXH_vmlal_high_u32(data_swap_2, data_key_lo, data_key_hi); + /* + * Clang reorders + * a += b * c; // umlal swap.2d, dkl.2s, dkh.2s + * c += a; // add acc.2d, acc.2d, swap.2d + * to + * c += a; // add acc.2d, acc.2d, swap.2d + * c += b * c; // umlal acc.2d, dkl.2s, dkh.2s + * + * While it would make sense in theory since the addition is faster, + * for reasons likely related to umlal being limited to certain NEON + * pipelines, this is worse. A compiler guard fixes this. + */ + XXH_COMPILER_GUARD_CLANG_NEON(sum_1); + XXH_COMPILER_GUARD_CLANG_NEON(sum_2); + /* xacc[i] = acc_vec + sum; */ + xacc[i] = vaddq_u64(xacc[i], sum_1); + xacc[i+1] = vaddq_u64(xacc[i+1], sum_2); + } + /* Operate on the remaining NEON lanes 2 at a time. */ + for (; i < XXH3_NEON_LANES / 2; i++) { /* data_vec = xinput[i]; */ uint64x2_t data_vec = XXH_vld1q_u64(xinput + (i * 16)); /* key_vec = xsecret[i]; */ uint64x2_t key_vec = XXH_vld1q_u64(xsecret + (i * 16)); - uint64x2_t data_key; - uint32x2_t data_key_lo, data_key_hi; /* acc_vec_2 = swap(data_vec) */ - uint64x2_t acc_vec_2 = vextq_u64(data_vec, data_vec, 1); + uint64x2_t data_swap = vextq_u64(data_vec, data_vec, 1); /* data_key = data_vec ^ key_vec; */ - data_key = veorq_u64(data_vec, key_vec); - /* data_key_lo = (uint32x2_t) (data_key & 0xFFFFFFFF); - * data_key_hi = (uint32x2_t) (data_key >> 32); - * data_key = UNDEFINED; */ - XXH_SPLIT_IN_PLACE(data_key, data_key_lo, data_key_hi); - /* acc_vec_2 += (uint64x2_t) data_key_lo * (uint64x2_t) data_key_hi; */ - acc_vec_2 = vmlal_u32 (acc_vec_2, data_key_lo, data_key_hi); - /* xacc[i] += acc_vec_2; */ - acc_vec = vaddq_u64 (acc_vec, acc_vec_2); - xacc[i] = acc_vec; + uint64x2_t data_key = veorq_u64(data_vec, key_vec); + /* For two lanes, just use VMOVN and VSHRN. */ + /* data_key_lo = data_key & 0xFFFFFFFF; */ + uint32x2_t data_key_lo = vmovn_u64(data_key); + /* data_key_hi = data_key >> 32; */ + uint32x2_t data_key_hi = vshrn_n_u64(data_key, 32); + /* sum = data_swap + (u64x2) data_key_lo * (u64x2) data_key_hi; */ + uint64x2_t sum = vmlal_u32(data_swap, data_key_lo, data_key_hi); + /* Same Clang workaround as before */ + XXH_COMPILER_GUARD_CLANG_NEON(sum); + /* xacc[i] = acc_vec + sum; */ + xacc[i] = vaddq_u64 (xacc[i], sum); } - } } +XXH_FORCE_INLINE XXH3_ACCUMULATE_TEMPLATE(neon) XXH_FORCE_INLINE void XXH3_scrambleAcc_neon(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) { XXH_ASSERT((((size_t)acc) & 15) == 0); - { uint64x2_t* xacc = (uint64x2_t*) acc; + { xxh_aliasing_uint64x2_t* xacc = (xxh_aliasing_uint64x2_t*) acc; uint8_t const* xsecret = (uint8_t const*) secret; - uint32x2_t prime = vdup_n_u32 (XXH_PRIME32_1); size_t i; + /* WASM uses operator overloads and doesn't need these. */ +#ifndef __wasm_simd128__ + /* { prime32_1, prime32_1 } */ + uint32x2_t const kPrimeLo = vdup_n_u32(XXH_PRIME32_1); + /* { 0, prime32_1, 0, prime32_1 } */ + uint32x4_t const kPrimeHi = vreinterpretq_u32_u64(vdupq_n_u64((xxh_u64)XXH_PRIME32_1 << 32)); +#endif + /* AArch64 uses both scalar and neon at the same time */ for (i = XXH3_NEON_LANES; i < XXH_ACC_NB; i++) { XXH3_scalarScrambleRound(acc, secret, i); @@ -4411,47 +5457,37 @@ XXH3_scrambleAcc_neon(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) for (i=0; i < XXH3_NEON_LANES / 2; i++) { /* xacc[i] ^= (xacc[i] >> 47); */ uint64x2_t acc_vec = xacc[i]; - uint64x2_t shifted = vshrq_n_u64 (acc_vec, 47); - uint64x2_t data_vec = veorq_u64 (acc_vec, shifted); + uint64x2_t shifted = vshrq_n_u64(acc_vec, 47); + uint64x2_t data_vec = veorq_u64(acc_vec, shifted); /* xacc[i] ^= xsecret[i]; */ - uint64x2_t key_vec = XXH_vld1q_u64 (xsecret + (i * 16)); - uint64x2_t data_key = veorq_u64 (data_vec, key_vec); - + uint64x2_t key_vec = XXH_vld1q_u64(xsecret + (i * 16)); + uint64x2_t data_key = veorq_u64(data_vec, key_vec); /* xacc[i] *= XXH_PRIME32_1 */ - uint32x2_t data_key_lo, data_key_hi; - /* data_key_lo = (uint32x2_t) (xacc[i] & 0xFFFFFFFF); - * data_key_hi = (uint32x2_t) (xacc[i] >> 32); - * xacc[i] = UNDEFINED; */ - XXH_SPLIT_IN_PLACE(data_key, data_key_lo, data_key_hi); - { /* - * prod_hi = (data_key >> 32) * XXH_PRIME32_1; - * - * Avoid vmul_u32 + vshll_n_u32 since Clang 6 and 7 will - * incorrectly "optimize" this: - * tmp = vmul_u32(vmovn_u64(a), vmovn_u64(b)); - * shifted = vshll_n_u32(tmp, 32); - * to this: - * tmp = "vmulq_u64"(a, b); // no such thing! - * shifted = vshlq_n_u64(tmp, 32); - * - * However, unlike SSE, Clang lacks a 64-bit multiply routine - * for NEON, and it scalarizes two 64-bit multiplies instead. - * - * vmull_u32 has the same timing as vmul_u32, and it avoids - * this bug completely. - * See https://bugs.llvm.org/show_bug.cgi?id=39967 - */ - uint64x2_t prod_hi = vmull_u32 (data_key_hi, prime); - /* xacc[i] = prod_hi << 32; */ - prod_hi = vshlq_n_u64(prod_hi, 32); - /* xacc[i] += (prod_hi & 0xFFFFFFFF) * XXH_PRIME32_1; */ - xacc[i] = vmlal_u32(prod_hi, data_key_lo, prime); - } +#ifdef __wasm_simd128__ + /* SIMD128 has multiply by u64x2, use it instead of expanding and scalarizing */ + xacc[i] = data_key * XXH_PRIME32_1; +#else + /* + * Expanded version with portable NEON intrinsics + * + * lo(x) * lo(y) + (hi(x) * lo(y) << 32) + * + * prod_hi = hi(data_key) * lo(prime) << 32 + * + * Since we only need 32 bits of this multiply a trick can be used, reinterpreting the vector + * as a uint32x4_t and multiplying by { 0, prime, 0, prime } to cancel out the unwanted bits + * and avoid the shift. + */ + uint32x4_t prod_hi = vmulq_u32 (vreinterpretq_u32_u64(data_key), kPrimeHi); + /* Extract low bits for vmlal_u32 */ + uint32x2_t data_key_lo = vmovn_u64(data_key); + /* xacc[i] = prod_hi + lo(data_key) * XXH_PRIME32_1; */ + xacc[i] = vmlal_u32(vreinterpretq_u64_u32(prod_hi), data_key_lo, kPrimeLo); +#endif } } } - #endif #if (XXH_VECTOR == XXH_VSX) @@ -4462,23 +5498,23 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) { /* presumed aligned */ - unsigned int* const xacc = (unsigned int*) acc; - xxh_u64x2 const* const xinput = (xxh_u64x2 const*) input; /* no alignment restriction */ - xxh_u64x2 const* const xsecret = (xxh_u64x2 const*) secret; /* no alignment restriction */ + xxh_aliasing_u64x2* const xacc = (xxh_aliasing_u64x2*) acc; + xxh_u8 const* const xinput = (xxh_u8 const*) input; /* no alignment restriction */ + xxh_u8 const* const xsecret = (xxh_u8 const*) secret; /* no alignment restriction */ xxh_u64x2 const v32 = { 32, 32 }; size_t i; for (i = 0; i < XXH_STRIPE_LEN / sizeof(xxh_u64x2); i++) { /* data_vec = xinput[i]; */ - xxh_u64x2 const data_vec = XXH_vec_loadu(xinput + i); + xxh_u64x2 const data_vec = XXH_vec_loadu(xinput + 16*i); /* key_vec = xsecret[i]; */ - xxh_u64x2 const key_vec = XXH_vec_loadu(xsecret + i); + xxh_u64x2 const key_vec = XXH_vec_loadu(xsecret + 16*i); xxh_u64x2 const data_key = data_vec ^ key_vec; /* shuffled = (data_key << 32) | (data_key >> 32); */ xxh_u32x4 const shuffled = (xxh_u32x4)vec_rl(data_key, v32); /* product = ((xxh_u64x2)data_key & 0xFFFFFFFF) * ((xxh_u64x2)shuffled & 0xFFFFFFFF); */ xxh_u64x2 const product = XXH_vec_mulo((xxh_u32x4)data_key, shuffled); /* acc_vec = xacc[i]; */ - xxh_u64x2 acc_vec = (xxh_u64x2)vec_xl(0, xacc + 4 * i); + xxh_u64x2 acc_vec = xacc[i]; acc_vec += product; /* swap high and low halves */ @@ -4487,18 +5523,18 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc, #else acc_vec += vec_xxpermdi(data_vec, data_vec, 2); #endif - /* xacc[i] = acc_vec; */ - vec_xst((xxh_u32x4)acc_vec, 0, xacc + 4 * i); + xacc[i] = acc_vec; } } +XXH_FORCE_INLINE XXH3_ACCUMULATE_TEMPLATE(vsx) XXH_FORCE_INLINE void XXH3_scrambleAcc_vsx(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) { XXH_ASSERT((((size_t)acc) & 15) == 0); - { xxh_u64x2* const xacc = (xxh_u64x2*) acc; - const xxh_u64x2* const xsecret = (const xxh_u64x2*) secret; + { xxh_aliasing_u64x2* const xacc = (xxh_aliasing_u64x2*) acc; + const xxh_u8* const xsecret = (const xxh_u8*) secret; /* constants */ xxh_u64x2 const v32 = { 32, 32 }; xxh_u64x2 const v47 = { 47, 47 }; @@ -4510,7 +5546,7 @@ XXH3_scrambleAcc_vsx(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) xxh_u64x2 const data_vec = acc_vec ^ (acc_vec >> v47); /* xacc[i] ^= xsecret[i]; */ - xxh_u64x2 const key_vec = XXH_vec_loadu(xsecret + i); + xxh_u64x2 const key_vec = XXH_vec_loadu(xsecret + 16*i); xxh_u64x2 const data_key = data_vec ^ key_vec; /* xacc[i] *= XXH_PRIME32_1 */ @@ -4524,8 +5560,213 @@ XXH3_scrambleAcc_vsx(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) #endif +#if (XXH_VECTOR == XXH_SVE) + +XXH_FORCE_INLINE void +XXH3_accumulate_512_sve( void* XXH_RESTRICT acc, + const void* XXH_RESTRICT input, + const void* XXH_RESTRICT secret) +{ + uint64_t *xacc = (uint64_t *)acc; + const uint64_t *xinput = (const uint64_t *)(const void *)input; + const uint64_t *xsecret = (const uint64_t *)(const void *)secret; + svuint64_t kSwap = sveor_n_u64_z(svptrue_b64(), svindex_u64(0, 1), 1); + uint64_t element_count = svcntd(); + if (element_count >= 8) { + svbool_t mask = svptrue_pat_b64(SV_VL8); + svuint64_t vacc = svld1_u64(mask, xacc); + ACCRND(vacc, 0); + svst1_u64(mask, xacc, vacc); + } else if (element_count == 2) { /* sve128 */ + svbool_t mask = svptrue_pat_b64(SV_VL2); + svuint64_t acc0 = svld1_u64(mask, xacc + 0); + svuint64_t acc1 = svld1_u64(mask, xacc + 2); + svuint64_t acc2 = svld1_u64(mask, xacc + 4); + svuint64_t acc3 = svld1_u64(mask, xacc + 6); + ACCRND(acc0, 0); + ACCRND(acc1, 2); + ACCRND(acc2, 4); + ACCRND(acc3, 6); + svst1_u64(mask, xacc + 0, acc0); + svst1_u64(mask, xacc + 2, acc1); + svst1_u64(mask, xacc + 4, acc2); + svst1_u64(mask, xacc + 6, acc3); + } else { + svbool_t mask = svptrue_pat_b64(SV_VL4); + svuint64_t acc0 = svld1_u64(mask, xacc + 0); + svuint64_t acc1 = svld1_u64(mask, xacc + 4); + ACCRND(acc0, 0); + ACCRND(acc1, 4); + svst1_u64(mask, xacc + 0, acc0); + svst1_u64(mask, xacc + 4, acc1); + } +} + +XXH_FORCE_INLINE void +XXH3_accumulate_sve(xxh_u64* XXH_RESTRICT acc, + const xxh_u8* XXH_RESTRICT input, + const xxh_u8* XXH_RESTRICT secret, + size_t nbStripes) +{ + if (nbStripes != 0) { + uint64_t *xacc = (uint64_t *)acc; + const uint64_t *xinput = (const uint64_t *)(const void *)input; + const uint64_t *xsecret = (const uint64_t *)(const void *)secret; + svuint64_t kSwap = sveor_n_u64_z(svptrue_b64(), svindex_u64(0, 1), 1); + uint64_t element_count = svcntd(); + if (element_count >= 8) { + svbool_t mask = svptrue_pat_b64(SV_VL8); + svuint64_t vacc = svld1_u64(mask, xacc + 0); + do { + /* svprfd(svbool_t, void *, enum svfprop); */ + svprfd(mask, xinput + 128, SV_PLDL1STRM); + ACCRND(vacc, 0); + xinput += 8; + xsecret += 1; + nbStripes--; + } while (nbStripes != 0); + + svst1_u64(mask, xacc + 0, vacc); + } else if (element_count == 2) { /* sve128 */ + svbool_t mask = svptrue_pat_b64(SV_VL2); + svuint64_t acc0 = svld1_u64(mask, xacc + 0); + svuint64_t acc1 = svld1_u64(mask, xacc + 2); + svuint64_t acc2 = svld1_u64(mask, xacc + 4); + svuint64_t acc3 = svld1_u64(mask, xacc + 6); + do { + svprfd(mask, xinput + 128, SV_PLDL1STRM); + ACCRND(acc0, 0); + ACCRND(acc1, 2); + ACCRND(acc2, 4); + ACCRND(acc3, 6); + xinput += 8; + xsecret += 1; + nbStripes--; + } while (nbStripes != 0); + + svst1_u64(mask, xacc + 0, acc0); + svst1_u64(mask, xacc + 2, acc1); + svst1_u64(mask, xacc + 4, acc2); + svst1_u64(mask, xacc + 6, acc3); + } else { + svbool_t mask = svptrue_pat_b64(SV_VL4); + svuint64_t acc0 = svld1_u64(mask, xacc + 0); + svuint64_t acc1 = svld1_u64(mask, xacc + 4); + do { + svprfd(mask, xinput + 128, SV_PLDL1STRM); + ACCRND(acc0, 0); + ACCRND(acc1, 4); + xinput += 8; + xsecret += 1; + nbStripes--; + } while (nbStripes != 0); + + svst1_u64(mask, xacc + 0, acc0); + svst1_u64(mask, xacc + 4, acc1); + } + } +} + +#endif + +#if (XXH_VECTOR == XXH_LSX) +#define _LSX_SHUFFLE(z, y, x, w) (((z) << 6) | ((y) << 4) | ((x) << 2) | (w)) + +XXH_FORCE_INLINE void +XXH3_accumulate_512_lsx( void* XXH_RESTRICT acc, + const void* XXH_RESTRICT input, + const void* XXH_RESTRICT secret) +{ + XXH_ASSERT((((size_t)acc) & 15) == 0); + { + __m128i* const xacc = (__m128i *) acc; + const __m128i* const xinput = (const __m128i *) input; + const __m128i* const xsecret = (const __m128i *) secret; + + for (size_t i = 0; i < XXH_STRIPE_LEN / sizeof(__m128i); i++) { + /* data_vec = xinput[i]; */ + __m128i const data_vec = __lsx_vld(xinput + i, 0); + /* key_vec = xsecret[i]; */ + __m128i const key_vec = __lsx_vld(xsecret + i, 0); + /* data_key = data_vec ^ key_vec; */ + __m128i const data_key = __lsx_vxor_v(data_vec, key_vec); + /* data_key_lo = data_key >> 32; */ + __m128i const data_key_lo = __lsx_vsrli_d(data_key, 32); + // __m128i const data_key_lo = __lsx_vsrli_d(data_key, 32); + /* product = (data_key & 0xffffffff) * (data_key_lo & 0xffffffff); */ + __m128i const product = __lsx_vmulwev_d_wu(data_key, data_key_lo); + /* xacc[i] += swap(data_vec); */ + __m128i const data_swap = __lsx_vshuf4i_w(data_vec, _LSX_SHUFFLE(1, 0, 3, 2)); + __m128i const sum = __lsx_vadd_d(xacc[i], data_swap); + /* xacc[i] += product; */ + xacc[i] = __lsx_vadd_d(product, sum); + } + } +} +XXH_FORCE_INLINE XXH3_ACCUMULATE_TEMPLATE(lsx) + +XXH_FORCE_INLINE void +XXH3_scrambleAcc_lsx(void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) +{ + XXH_ASSERT((((size_t)acc) & 15) == 0); + { + __m128i* const xacc = (__m128i*) acc; + const __m128i* const xsecret = (const __m128i *) secret; + const __m128i prime32 = __lsx_vreplgr2vr_w((int)XXH_PRIME32_1); + + for (size_t i = 0; i < XXH_STRIPE_LEN / sizeof(__m128i); i++) { + /* xacc[i] ^= (xacc[i] >> 47) */ + __m128i const acc_vec = xacc[i]; + __m128i const shifted = __lsx_vsrli_d(acc_vec, 47); + __m128i const data_vec = __lsx_vxor_v(acc_vec, shifted); + /* xacc[i] ^= xsecret[i]; */ + __m128i const key_vec = __lsx_vld(xsecret + i, 0); + __m128i const data_key = __lsx_vxor_v(data_vec, key_vec); + + /* xacc[i] *= XXH_PRIME32_1; */ + __m128i const data_key_hi = __lsx_vsrli_d(data_key, 32); + __m128i const prod_lo = __lsx_vmulwev_d_wu(data_key, prime32); + __m128i const prod_hi = __lsx_vmulwev_d_wu(data_key_hi, prime32); + xacc[i] = __lsx_vadd_d(prod_lo, __lsx_vslli_d(prod_hi, 32)); + } + } +} + +#endif + /* scalar variants - universal */ +#if defined(__aarch64__) && (defined(__GNUC__) || defined(__clang__)) +/* + * In XXH3_scalarRound(), GCC and Clang have a similar codegen issue, where they + * emit an excess mask and a full 64-bit multiply-add (MADD X-form). + * + * While this might not seem like much, as AArch64 is a 64-bit architecture, only + * big Cortex designs have a full 64-bit multiplier. + * + * On the little cores, the smaller 32-bit multiplier is used, and full 64-bit + * multiplies expand to 2-3 multiplies in microcode. This has a major penalty + * of up to 4 latency cycles and 2 stall cycles in the multiply pipeline. + * + * Thankfully, AArch64 still provides the 32-bit long multiply-add (UMADDL) which does + * not have this penalty and does the mask automatically. + */ +XXH_FORCE_INLINE xxh_u64 +XXH_mult32to64_add64(xxh_u64 lhs, xxh_u64 rhs, xxh_u64 acc) +{ + xxh_u64 ret; + /* note: %x = 64-bit register, %w = 32-bit register */ + __asm__("umaddl %x0, %w1, %w2, %x3" : "=r" (ret) : "r" (lhs), "r" (rhs), "r" (acc)); + return ret; +} +#else +XXH_FORCE_INLINE xxh_u64 +XXH_mult32to64_add64(xxh_u64 lhs, xxh_u64 rhs, xxh_u64 acc) +{ + return XXH_mult32to64((xxh_u32)lhs, (xxh_u32)rhs) + acc; +} +#endif + /*! * @internal * @brief Scalar round for @ref XXH3_accumulate_512_scalar(). @@ -4548,7 +5789,7 @@ XXH3_scalarRound(void* XXH_RESTRICT acc, xxh_u64 const data_val = XXH_readLE64(xinput + lane * 8); xxh_u64 const data_key = data_val ^ XXH_readLE64(xsecret + lane * 8); xacc[lane ^ 1] += data_val; /* swap adjacent lanes */ - xacc[lane] += XXH_mult32to64(data_key & 0xFFFFFFFF, data_key >> 32); + xacc[lane] = XXH_mult32to64_add64(data_key /* & 0xFFFFFFFF */, data_key >> 32, xacc[lane]); } } @@ -4566,13 +5807,14 @@ XXH3_accumulate_512_scalar(void* XXH_RESTRICT acc, #if defined(__GNUC__) && !defined(__clang__) \ && (defined(__arm__) || defined(__thumb2__)) \ && defined(__ARM_FEATURE_UNALIGNED) /* no unaligned access just wastes bytes */ \ - && !defined(__OPTIMIZE_SIZE__) + && XXH_SIZE_OPT <= 0 # pragma GCC unroll 8 #endif for (i=0; i < XXH_ACC_NB; i++) { XXH3_scalarRound(acc, input, secret, i); } } +XXH_FORCE_INLINE XXH3_ACCUMULATE_TEMPLATE(scalar) /*! * @internal @@ -4624,10 +5866,10 @@ XXH3_initCustomSecret_scalar(void* XXH_RESTRICT customSecret, xxh_u64 seed64) const xxh_u8* kSecretPtr = XXH3_kSecret; XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 15) == 0); -#if defined(__clang__) && defined(__aarch64__) +#if defined(__GNUC__) && defined(__aarch64__) /* * UGLY HACK: - * Clang generates a bunch of MOV/MOVK pairs for aarch64, and they are + * GCC and Clang generate a bunch of MOV/MOVK pairs for aarch64, and they are * placed sequentially, in order, at the top of the unrolled loop. * * While MOVK is great for generating constants (2 cycles for a 64-bit @@ -4642,7 +5884,7 @@ XXH3_initCustomSecret_scalar(void* XXH_RESTRICT customSecret, xxh_u64 seed64) * ADD * SUB STR * STR - * By forcing loads from memory (as the asm line causes Clang to assume + * By forcing loads from memory (as the asm line causes the compiler to assume * that XXH3_kSecretPtr has been changed), the pipelines are used more * efficiently: * I L S @@ -4659,17 +5901,11 @@ XXH3_initCustomSecret_scalar(void* XXH_RESTRICT customSecret, xxh_u64 seed64) */ XXH_COMPILER_GUARD(kSecretPtr); #endif - /* - * Note: in debug mode, this overrides the asm optimization - * and Clang will emit MOVK chains again. - */ - XXH_ASSERT(kSecretPtr == XXH3_kSecret); - { int const nbRounds = XXH_SECRET_DEFAULT_SIZE / 16; int i; for (i=0; i < nbRounds; i++) { /* - * The asm hack causes Clang to assume that kSecretPtr aliases with + * The asm hack causes the compiler to assume that kSecretPtr aliases with * customSecret, and on aarch64, this prevented LDP from merging two * loads together for free. Putting the loads together before the stores * properly generates LDP. @@ -4682,7 +5918,7 @@ XXH3_initCustomSecret_scalar(void* XXH_RESTRICT customSecret, xxh_u64 seed64) } -typedef void (*XXH3_f_accumulate_512)(void* XXH_RESTRICT, const void*, const void*); +typedef void (*XXH3_f_accumulate)(xxh_u64* XXH_RESTRICT, const xxh_u8* XXH_RESTRICT, const xxh_u8* XXH_RESTRICT, size_t); typedef void (*XXH3_f_scrambleAcc)(void* XXH_RESTRICT, const void*); typedef void (*XXH3_f_initCustomSecret)(void* XXH_RESTRICT, xxh_u64); @@ -4690,82 +5926,69 @@ typedef void (*XXH3_f_initCustomSecret)(void* XXH_RESTRICT, xxh_u64); #if (XXH_VECTOR == XXH_AVX512) #define XXH3_accumulate_512 XXH3_accumulate_512_avx512 +#define XXH3_accumulate XXH3_accumulate_avx512 #define XXH3_scrambleAcc XXH3_scrambleAcc_avx512 #define XXH3_initCustomSecret XXH3_initCustomSecret_avx512 #elif (XXH_VECTOR == XXH_AVX2) #define XXH3_accumulate_512 XXH3_accumulate_512_avx2 +#define XXH3_accumulate XXH3_accumulate_avx2 #define XXH3_scrambleAcc XXH3_scrambleAcc_avx2 #define XXH3_initCustomSecret XXH3_initCustomSecret_avx2 #elif (XXH_VECTOR == XXH_SSE2) #define XXH3_accumulate_512 XXH3_accumulate_512_sse2 +#define XXH3_accumulate XXH3_accumulate_sse2 #define XXH3_scrambleAcc XXH3_scrambleAcc_sse2 #define XXH3_initCustomSecret XXH3_initCustomSecret_sse2 #elif (XXH_VECTOR == XXH_NEON) #define XXH3_accumulate_512 XXH3_accumulate_512_neon +#define XXH3_accumulate XXH3_accumulate_neon #define XXH3_scrambleAcc XXH3_scrambleAcc_neon #define XXH3_initCustomSecret XXH3_initCustomSecret_scalar #elif (XXH_VECTOR == XXH_VSX) #define XXH3_accumulate_512 XXH3_accumulate_512_vsx +#define XXH3_accumulate XXH3_accumulate_vsx #define XXH3_scrambleAcc XXH3_scrambleAcc_vsx #define XXH3_initCustomSecret XXH3_initCustomSecret_scalar +#elif (XXH_VECTOR == XXH_SVE) +#define XXH3_accumulate_512 XXH3_accumulate_512_sve +#define XXH3_accumulate XXH3_accumulate_sve +#define XXH3_scrambleAcc XXH3_scrambleAcc_scalar +#define XXH3_initCustomSecret XXH3_initCustomSecret_scalar + +#elif (XXH_VECTOR == XXH_LSX) +#define XXH3_accumulate_512 XXH3_accumulate_512_lsx +#define XXH3_accumulate XXH3_accumulate_lsx +#define XXH3_scrambleAcc XXH3_scrambleAcc_lsx +#define XXH3_initCustomSecret XXH3_initCustomSecret_scalar + #else /* scalar */ #define XXH3_accumulate_512 XXH3_accumulate_512_scalar +#define XXH3_accumulate XXH3_accumulate_scalar #define XXH3_scrambleAcc XXH3_scrambleAcc_scalar #define XXH3_initCustomSecret XXH3_initCustomSecret_scalar #endif - - -#ifndef XXH_PREFETCH_DIST -# ifdef __clang__ -# define XXH_PREFETCH_DIST 320 -# else -# if (XXH_VECTOR == XXH_AVX512) -# define XXH_PREFETCH_DIST 512 -# else -# define XXH_PREFETCH_DIST 384 -# endif -# endif /* __clang__ */ -#endif /* XXH_PREFETCH_DIST */ - -/* - * XXH3_accumulate() - * Loops over XXH3_accumulate_512(). - * Assumption: nbStripes will not overflow the secret size - */ -XXH_FORCE_INLINE void -XXH3_accumulate( xxh_u64* XXH_RESTRICT acc, - const xxh_u8* XXH_RESTRICT input, - const xxh_u8* XXH_RESTRICT secret, - size_t nbStripes, - XXH3_f_accumulate_512 f_acc512) -{ - size_t n; - for (n = 0; n < nbStripes; n++ ) { - const xxh_u8* const in = input + n*XXH_STRIPE_LEN; - XXH_PREFETCH(in + XXH_PREFETCH_DIST); - f_acc512(acc, - in, - secret + n*XXH_SECRET_CONSUME_RATE); - } -} +#if XXH_SIZE_OPT >= 1 /* don't do SIMD for initialization */ +# undef XXH3_initCustomSecret +# define XXH3_initCustomSecret XXH3_initCustomSecret_scalar +#endif XXH_FORCE_INLINE void XXH3_hashLong_internal_loop(xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT input, size_t len, const xxh_u8* XXH_RESTRICT secret, size_t secretSize, - XXH3_f_accumulate_512 f_acc512, + XXH3_f_accumulate f_acc, XXH3_f_scrambleAcc f_scramble) { size_t const nbStripesPerBlock = (secretSize - XXH_STRIPE_LEN) / XXH_SECRET_CONSUME_RATE; @@ -4777,7 +6000,7 @@ XXH3_hashLong_internal_loop(xxh_u64* XXH_RESTRICT acc, XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN); for (n = 0; n < nb_blocks; n++) { - XXH3_accumulate(acc, input + n*block_len, secret, nbStripesPerBlock, f_acc512); + f_acc(acc, input + n*block_len, secret, nbStripesPerBlock); f_scramble(acc, secret + secretSize - XXH_STRIPE_LEN); } @@ -4785,12 +6008,12 @@ XXH3_hashLong_internal_loop(xxh_u64* XXH_RESTRICT acc, XXH_ASSERT(len > XXH_STRIPE_LEN); { size_t const nbStripes = ((len - 1) - (block_len * nb_blocks)) / XXH_STRIPE_LEN; XXH_ASSERT(nbStripes <= (secretSize / XXH_SECRET_CONSUME_RATE)); - XXH3_accumulate(acc, input + nb_blocks*block_len, secret, nbStripes, f_acc512); + f_acc(acc, input + nb_blocks*block_len, secret, nbStripes); /* last stripe */ { const xxh_u8* const p = input + len - XXH_STRIPE_LEN; #define XXH_SECRET_LASTACC_START 7 /* not aligned on 8, last secret is different from acc & scrambler */ - f_acc512(acc, p, secret + secretSize - XXH_STRIPE_LEN - XXH_SECRET_LASTACC_START); + XXH3_accumulate_512(acc, p, secret + secretSize - XXH_STRIPE_LEN - XXH_SECRET_LASTACC_START); } } } @@ -4802,7 +6025,7 @@ XXH3_mix2Accs(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT secret acc[1] ^ XXH_readLE64(secret+8) ); } -static XXH64_hash_t +static XXH_PUREF XXH64_hash_t XXH3_mergeAccs(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT secret, xxh_u64 start) { xxh_u64 result64 = start; @@ -4829,38 +6052,47 @@ XXH3_mergeAccs(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT secre return XXH3_avalanche(result64); } +/* do not align on 8, so that the secret is different from the accumulator */ +#define XXH_SECRET_MERGEACCS_START 11 + +static XXH_PUREF XXH64_hash_t +XXH3_finalizeLong_64b(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT secret, xxh_u64 len) +{ + return XXH3_mergeAccs(acc, secret + XXH_SECRET_MERGEACCS_START, len * XXH_PRIME64_1); +} + #define XXH3_INIT_ACC { XXH_PRIME32_3, XXH_PRIME64_1, XXH_PRIME64_2, XXH_PRIME64_3, \ XXH_PRIME64_4, XXH_PRIME32_2, XXH_PRIME64_5, XXH_PRIME32_1 } XXH_FORCE_INLINE XXH64_hash_t XXH3_hashLong_64b_internal(const void* XXH_RESTRICT input, size_t len, const void* XXH_RESTRICT secret, size_t secretSize, - XXH3_f_accumulate_512 f_acc512, + XXH3_f_accumulate f_acc, XXH3_f_scrambleAcc f_scramble) { XXH_ALIGN(XXH_ACC_ALIGN) xxh_u64 acc[XXH_ACC_NB] = XXH3_INIT_ACC; - XXH3_hashLong_internal_loop(acc, (const xxh_u8*)input, len, (const xxh_u8*)secret, secretSize, f_acc512, f_scramble); + XXH3_hashLong_internal_loop(acc, (const xxh_u8*)input, len, (const xxh_u8*)secret, secretSize, f_acc, f_scramble); /* converge into final hash */ XXH_STATIC_ASSERT(sizeof(acc) == 64); - /* do not align on 8, so that the secret is different from the accumulator */ -#define XXH_SECRET_MERGEACCS_START 11 XXH_ASSERT(secretSize >= sizeof(acc) + XXH_SECRET_MERGEACCS_START); - return XXH3_mergeAccs(acc, (const xxh_u8*)secret + XXH_SECRET_MERGEACCS_START, (xxh_u64)len * XXH_PRIME64_1); + return XXH3_finalizeLong_64b(acc, (const xxh_u8*)secret, (xxh_u64)len); } /* * It's important for performance to transmit secret's size (when it's static) * so that the compiler can properly optimize the vectorized loop. * This makes a big performance difference for "medium" keys (<1 KB) when using AVX instruction set. + * When the secret size is unknown, or on GCC 12 where the mix of NO_INLINE and FORCE_INLINE + * breaks -Og, this is XXH_NO_INLINE. */ -XXH_FORCE_INLINE XXH64_hash_t +XXH3_WITH_SECRET_INLINE XXH64_hash_t XXH3_hashLong_64b_withSecret(const void* XXH_RESTRICT input, size_t len, XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT secret, size_t secretLen) { (void)seed64; - return XXH3_hashLong_64b_internal(input, len, secret, secretLen, XXH3_accumulate_512, XXH3_scrambleAcc); + return XXH3_hashLong_64b_internal(input, len, secret, secretLen, XXH3_accumulate, XXH3_scrambleAcc); } /* @@ -4874,7 +6106,7 @@ XXH3_hashLong_64b_default(const void* XXH_RESTRICT input, size_t len, XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT secret, size_t secretLen) { (void)seed64; (void)secret; (void)secretLen; - return XXH3_hashLong_64b_internal(input, len, XXH3_kSecret, sizeof(XXH3_kSecret), XXH3_accumulate_512, XXH3_scrambleAcc); + return XXH3_hashLong_64b_internal(input, len, XXH3_kSecret, sizeof(XXH3_kSecret), XXH3_accumulate, XXH3_scrambleAcc); } /* @@ -4891,18 +6123,20 @@ XXH3_hashLong_64b_default(const void* XXH_RESTRICT input, size_t len, XXH_FORCE_INLINE XXH64_hash_t XXH3_hashLong_64b_withSeed_internal(const void* input, size_t len, XXH64_hash_t seed, - XXH3_f_accumulate_512 f_acc512, + XXH3_f_accumulate f_acc, XXH3_f_scrambleAcc f_scramble, XXH3_f_initCustomSecret f_initSec) { +#if XXH_SIZE_OPT <= 0 if (seed == 0) return XXH3_hashLong_64b_internal(input, len, XXH3_kSecret, sizeof(XXH3_kSecret), - f_acc512, f_scramble); + f_acc, f_scramble); +#endif { XXH_ALIGN(XXH_SEC_ALIGN) xxh_u8 secret[XXH_SECRET_DEFAULT_SIZE]; f_initSec(secret, seed); return XXH3_hashLong_64b_internal(input, len, secret, sizeof(secret), - f_acc512, f_scramble); + f_acc, f_scramble); } } @@ -4910,12 +6144,12 @@ XXH3_hashLong_64b_withSeed_internal(const void* input, size_t len, * It's important for performance that XXH3_hashLong is not inlined. */ XXH_NO_INLINE XXH64_hash_t -XXH3_hashLong_64b_withSeed(const void* input, size_t len, - XXH64_hash_t seed, const xxh_u8* secret, size_t secretLen) +XXH3_hashLong_64b_withSeed(const void* XXH_RESTRICT input, size_t len, + XXH64_hash_t seed, const xxh_u8* XXH_RESTRICT secret, size_t secretLen) { (void)secret; (void)secretLen; return XXH3_hashLong_64b_withSeed_internal(input, len, seed, - XXH3_accumulate_512, XXH3_scrambleAcc, XXH3_initCustomSecret); + XXH3_accumulate, XXH3_scrambleAcc, XXH3_initCustomSecret); } @@ -4948,27 +6182,27 @@ XXH3_64bits_internal(const void* XXH_RESTRICT input, size_t len, /* === Public entry point === */ /*! @ingroup XXH3_family */ -XXH_PUBLIC_API XXH64_hash_t XXH3_64bits(const void* input, size_t length) +XXH_PUBLIC_API XXH64_hash_t XXH3_64bits(XXH_NOESCAPE const void* input, size_t length) { return XXH3_64bits_internal(input, length, 0, XXH3_kSecret, sizeof(XXH3_kSecret), XXH3_hashLong_64b_default); } /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH64_hash_t -XXH3_64bits_withSecret(const void* input, size_t length, const void* secret, size_t secretSize) +XXH3_64bits_withSecret(XXH_NOESCAPE const void* input, size_t length, XXH_NOESCAPE const void* secret, size_t secretSize) { return XXH3_64bits_internal(input, length, 0, secret, secretSize, XXH3_hashLong_64b_withSecret); } /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH64_hash_t -XXH3_64bits_withSeed(const void* input, size_t length, XXH64_hash_t seed) +XXH3_64bits_withSeed(XXH_NOESCAPE const void* input, size_t length, XXH64_hash_t seed) { return XXH3_64bits_internal(input, length, seed, XXH3_kSecret, sizeof(XXH3_kSecret), XXH3_hashLong_64b_withSeed); } XXH_PUBLIC_API XXH64_hash_t -XXH3_64bits_withSecretandSeed(const void* input, size_t length, const void* secret, size_t secretSize, XXH64_hash_t seed) +XXH3_64bits_withSecretandSeed(XXH_NOESCAPE const void* input, size_t length, XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed) { if (length <= XXH3_MIDSIZE_MAX) return XXH3_64bits_internal(input, length, seed, XXH3_kSecret, sizeof(XXH3_kSecret), NULL); @@ -4977,9 +6211,9 @@ XXH3_64bits_withSecretandSeed(const void* input, size_t length, const void* secr /* === XXH3 streaming === */ - +#ifndef XXH_NO_STREAM /* - * Malloc's a pointer that is always aligned to align. + * Malloc's a pointer that is always aligned to @align. * * This must be freed with `XXH_alignedFree()`. * @@ -5044,6 +6278,16 @@ static void XXH_alignedFree(void* p) } } /*! @ingroup XXH3_family */ +/*! + * @brief Allocate an @ref XXH3_state_t. + * + * @return An allocated pointer of @ref XXH3_state_t on success. + * @return `NULL` on failure. + * + * @note Must be freed with XXH3_freeState(). + * + * @see @ref streaming_example "Streaming Example" + */ XXH_PUBLIC_API XXH3_state_t* XXH3_createState(void) { XXH3_state_t* const state = (XXH3_state_t*)XXH_alignedMalloc(sizeof(XXH3_state_t), 64); @@ -5053,6 +6297,17 @@ XXH_PUBLIC_API XXH3_state_t* XXH3_createState(void) } /*! @ingroup XXH3_family */ +/*! + * @brief Frees an @ref XXH3_state_t. + * + * @param statePtr A pointer to an @ref XXH3_state_t allocated with @ref XXH3_createState(). + * + * @return @ref XXH_OK. + * + * @note Must be allocated with XXH3_createState(). + * + * @see @ref streaming_example "Streaming Example" + */ XXH_PUBLIC_API XXH_errorcode XXH3_freeState(XXH3_state_t* statePtr) { XXH_alignedFree(statePtr); @@ -5061,7 +6316,7 @@ XXH_PUBLIC_API XXH_errorcode XXH3_freeState(XXH3_state_t* statePtr) /*! @ingroup XXH3_family */ XXH_PUBLIC_API void -XXH3_copyState(XXH3_state_t* dst_state, const XXH3_state_t* src_state) +XXH3_copyState(XXH_NOESCAPE XXH3_state_t* dst_state, XXH_NOESCAPE const XXH3_state_t* src_state) { XXH_memcpy(dst_state, src_state, sizeof(*dst_state)); } @@ -5095,7 +6350,7 @@ XXH3_reset_internal(XXH3_state_t* statePtr, /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_64bits_reset(XXH3_state_t* statePtr) +XXH3_64bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr) { if (statePtr == NULL) return XXH_ERROR; XXH3_reset_internal(statePtr, 0, XXH3_kSecret, XXH_SECRET_DEFAULT_SIZE); @@ -5104,7 +6359,7 @@ XXH3_64bits_reset(XXH3_state_t* statePtr) /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_64bits_reset_withSecret(XXH3_state_t* statePtr, const void* secret, size_t secretSize) +XXH3_64bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* secret, size_t secretSize) { if (statePtr == NULL) return XXH_ERROR; XXH3_reset_internal(statePtr, 0, secret, secretSize); @@ -5115,7 +6370,7 @@ XXH3_64bits_reset_withSecret(XXH3_state_t* statePtr, const void* secret, size_t /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_64bits_reset_withSeed(XXH3_state_t* statePtr, XXH64_hash_t seed) +XXH3_64bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t seed) { if (statePtr == NULL) return XXH_ERROR; if (seed==0) return XXH3_64bits_reset(statePtr); @@ -5127,7 +6382,7 @@ XXH3_64bits_reset_withSeed(XXH3_state_t* statePtr, XXH64_hash_t seed) /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_64bits_reset_withSecretandSeed(XXH3_state_t* statePtr, const void* secret, size_t secretSize, XXH64_hash_t seed64) +XXH3_64bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed64) { if (statePtr == NULL) return XXH_ERROR; if (secret == NULL) return XXH_ERROR; @@ -5137,35 +6392,61 @@ XXH3_64bits_reset_withSecretandSeed(XXH3_state_t* statePtr, const void* secret, return XXH_OK; } -/* Note : when XXH3_consumeStripes() is invoked, - * there must be a guarantee that at least one more byte must be consumed from input - * so that the function can blindly consume all stripes using the "normal" secret segment */ -XXH_FORCE_INLINE void +/*! + * @internal + * @brief Processes a large input for XXH3_update() and XXH3_digest_long(). + * + * Unlike XXH3_hashLong_internal_loop(), this can process data that overlaps a block. + * + * @param acc Pointer to the 8 accumulator lanes + * @param nbStripesSoFarPtr In/out pointer to the number of leftover stripes in the block* + * @param nbStripesPerBlock Number of stripes in a block + * @param input Input pointer + * @param nbStripes Number of stripes to process + * @param secret Secret pointer + * @param secretLimit Offset of the last block in @p secret + * @param f_acc Pointer to an XXH3_accumulate implementation + * @param f_scramble Pointer to an XXH3_scrambleAcc implementation + * @return Pointer past the end of @p input after processing + */ +XXH_FORCE_INLINE const xxh_u8 * XXH3_consumeStripes(xxh_u64* XXH_RESTRICT acc, size_t* XXH_RESTRICT nbStripesSoFarPtr, size_t nbStripesPerBlock, const xxh_u8* XXH_RESTRICT input, size_t nbStripes, const xxh_u8* XXH_RESTRICT secret, size_t secretLimit, - XXH3_f_accumulate_512 f_acc512, + XXH3_f_accumulate f_acc, XXH3_f_scrambleAcc f_scramble) { - XXH_ASSERT(nbStripes <= nbStripesPerBlock); /* can handle max 1 scramble per invocation */ - XXH_ASSERT(*nbStripesSoFarPtr < nbStripesPerBlock); - if (nbStripesPerBlock - *nbStripesSoFarPtr <= nbStripes) { - /* need a scrambling operation */ - size_t const nbStripesToEndofBlock = nbStripesPerBlock - *nbStripesSoFarPtr; - size_t const nbStripesAfterBlock = nbStripes - nbStripesToEndofBlock; - XXH3_accumulate(acc, input, secret + nbStripesSoFarPtr[0] * XXH_SECRET_CONSUME_RATE, nbStripesToEndofBlock, f_acc512); - f_scramble(acc, secret + secretLimit); - XXH3_accumulate(acc, input + nbStripesToEndofBlock * XXH_STRIPE_LEN, secret, nbStripesAfterBlock, f_acc512); - *nbStripesSoFarPtr = nbStripesAfterBlock; - } else { - XXH3_accumulate(acc, input, secret + nbStripesSoFarPtr[0] * XXH_SECRET_CONSUME_RATE, nbStripes, f_acc512); + const xxh_u8* initialSecret = secret + *nbStripesSoFarPtr * XXH_SECRET_CONSUME_RATE; + /* Process full blocks */ + if (nbStripes >= (nbStripesPerBlock - *nbStripesSoFarPtr)) { + /* Process the initial partial block... */ + size_t nbStripesThisIter = nbStripesPerBlock - *nbStripesSoFarPtr; + + do { + /* Accumulate and scramble */ + f_acc(acc, input, initialSecret, nbStripesThisIter); + f_scramble(acc, secret + secretLimit); + input += nbStripesThisIter * XXH_STRIPE_LEN; + nbStripes -= nbStripesThisIter; + /* Then continue the loop with the full block size */ + nbStripesThisIter = nbStripesPerBlock; + initialSecret = secret; + } while (nbStripes >= nbStripesPerBlock); + *nbStripesSoFarPtr = 0; + } + /* Process a partial block */ + if (nbStripes > 0) { + f_acc(acc, input, initialSecret, nbStripes); + input += nbStripes * XXH_STRIPE_LEN; *nbStripesSoFarPtr += nbStripes; } + /* Return end pointer */ + return input; } #ifndef XXH3_STREAM_USE_STACK -# ifndef __clang__ /* clang doesn't need additional stack space */ +# if XXH_SIZE_OPT <= 0 && !defined(__clang__) /* clang doesn't need additional stack space */ # define XXH3_STREAM_USE_STACK 1 # endif #endif @@ -5175,7 +6456,7 @@ XXH3_consumeStripes(xxh_u64* XXH_RESTRICT acc, XXH_FORCE_INLINE XXH_errorcode XXH3_update(XXH3_state_t* XXH_RESTRICT const state, const xxh_u8* XXH_RESTRICT input, size_t len, - XXH3_f_accumulate_512 f_acc512, + XXH3_f_accumulate f_acc, XXH3_f_scrambleAcc f_scramble) { if (input==NULL) { @@ -5191,7 +6472,8 @@ XXH3_update(XXH3_state_t* XXH_RESTRICT const state, * when operating accumulators directly into state. * Operating into stack space seems to enable proper optimization. * clang, on the other hand, doesn't seem to need this trick */ - XXH_ALIGN(XXH_ACC_ALIGN) xxh_u64 acc[8]; memcpy(acc, state->acc, sizeof(acc)); + XXH_ALIGN(XXH_ACC_ALIGN) xxh_u64 acc[8]; + XXH_memcpy(acc, state->acc, sizeof(acc)); #else xxh_u64* XXH_RESTRICT const acc = state->acc; #endif @@ -5199,7 +6481,7 @@ XXH3_update(XXH3_state_t* XXH_RESTRICT const state, XXH_ASSERT(state->bufferedSize <= XXH3_INTERNALBUFFER_SIZE); /* small input : just fill in tmp buffer */ - if (state->bufferedSize + len <= XXH3_INTERNALBUFFER_SIZE) { + if (len <= XXH3_INTERNALBUFFER_SIZE - state->bufferedSize) { XXH_memcpy(state->buffer + state->bufferedSize, input, len); state->bufferedSize += (XXH32_hash_t)len; return XXH_OK; @@ -5221,57 +6503,20 @@ XXH3_update(XXH3_state_t* XXH_RESTRICT const state, &state->nbStripesSoFar, state->nbStripesPerBlock, state->buffer, XXH3_INTERNALBUFFER_STRIPES, secret, state->secretLimit, - f_acc512, f_scramble); + f_acc, f_scramble); state->bufferedSize = 0; } XXH_ASSERT(input < bEnd); - - /* large input to consume : ingest per full block */ - if ((size_t)(bEnd - input) > state->nbStripesPerBlock * XXH_STRIPE_LEN) { + if (bEnd - input > XXH3_INTERNALBUFFER_SIZE) { size_t nbStripes = (size_t)(bEnd - 1 - input) / XXH_STRIPE_LEN; - XXH_ASSERT(state->nbStripesPerBlock >= state->nbStripesSoFar); - /* join to current block's end */ - { size_t const nbStripesToEnd = state->nbStripesPerBlock - state->nbStripesSoFar; - XXH_ASSERT(nbStripesToEnd <= nbStripes); - XXH3_accumulate(acc, input, secret + state->nbStripesSoFar * XXH_SECRET_CONSUME_RATE, nbStripesToEnd, f_acc512); - f_scramble(acc, secret + state->secretLimit); - state->nbStripesSoFar = 0; - input += nbStripesToEnd * XXH_STRIPE_LEN; - nbStripes -= nbStripesToEnd; - } - /* consume per entire blocks */ - while(nbStripes >= state->nbStripesPerBlock) { - XXH3_accumulate(acc, input, secret, state->nbStripesPerBlock, f_acc512); - f_scramble(acc, secret + state->secretLimit); - input += state->nbStripesPerBlock * XXH_STRIPE_LEN; - nbStripes -= state->nbStripesPerBlock; - } - /* consume last partial block */ - XXH3_accumulate(acc, input, secret, nbStripes, f_acc512); - input += nbStripes * XXH_STRIPE_LEN; - XXH_ASSERT(input < bEnd); /* at least some bytes left */ - state->nbStripesSoFar = nbStripes; - /* buffer predecessor of last partial stripe */ - XXH_memcpy(state->buffer + sizeof(state->buffer) - XXH_STRIPE_LEN, input - XXH_STRIPE_LEN, XXH_STRIPE_LEN); - XXH_ASSERT(bEnd - input <= XXH_STRIPE_LEN); - } else { - /* content to consume <= block size */ - /* Consume input by a multiple of internal buffer size */ - if (bEnd - input > XXH3_INTERNALBUFFER_SIZE) { - const xxh_u8* const limit = bEnd - XXH3_INTERNALBUFFER_SIZE; - do { - XXH3_consumeStripes(acc, + input = XXH3_consumeStripes(acc, &state->nbStripesSoFar, state->nbStripesPerBlock, - input, XXH3_INTERNALBUFFER_STRIPES, - secret, state->secretLimit, - f_acc512, f_scramble); - input += XXH3_INTERNALBUFFER_SIZE; - } while (inputbuffer + sizeof(state->buffer) - XXH_STRIPE_LEN, input - XXH_STRIPE_LEN, XXH_STRIPE_LEN); - } - } + input, nbStripes, + secret, state->secretLimit, + f_acc, f_scramble); + XXH_memcpy(state->buffer + sizeof(state->buffer) - XXH_STRIPE_LEN, input - XXH_STRIPE_LEN, XXH_STRIPE_LEN); + } /* Some remaining input (always) : buffer it */ XXH_ASSERT(input < bEnd); XXH_ASSERT(bEnd - input <= XXH3_INTERNALBUFFER_SIZE); @@ -5280,7 +6525,7 @@ XXH3_update(XXH3_state_t* XXH_RESTRICT const state, state->bufferedSize = (XXH32_hash_t)(bEnd-input); #if defined(XXH3_STREAM_USE_STACK) && XXH3_STREAM_USE_STACK >= 1 /* save stack accumulators into state */ - memcpy(state->acc, acc, sizeof(acc)); + XXH_memcpy(state->acc, acc, sizeof(acc)); #endif } @@ -5289,10 +6534,10 @@ XXH3_update(XXH3_state_t* XXH_RESTRICT const state, /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_64bits_update(XXH3_state_t* state, const void* input, size_t len) +XXH3_64bits_update(XXH_NOESCAPE XXH3_state_t* state, XXH_NOESCAPE const void* input, size_t len) { return XXH3_update(state, (const xxh_u8*)input, len, - XXH3_accumulate_512, XXH3_scrambleAcc); + XXH3_accumulate, XXH3_scrambleAcc); } @@ -5301,45 +6546,46 @@ XXH3_digest_long (XXH64_hash_t* acc, const XXH3_state_t* state, const unsigned char* secret) { + xxh_u8 lastStripe[XXH_STRIPE_LEN]; + const xxh_u8* lastStripePtr; + /* * Digest on a local copy. This way, the state remains unaltered, and it can * continue ingesting more input afterwards. */ XXH_memcpy(acc, state->acc, sizeof(state->acc)); if (state->bufferedSize >= XXH_STRIPE_LEN) { + /* Consume remaining stripes then point to remaining data in buffer */ size_t const nbStripes = (state->bufferedSize - 1) / XXH_STRIPE_LEN; size_t nbStripesSoFar = state->nbStripesSoFar; XXH3_consumeStripes(acc, &nbStripesSoFar, state->nbStripesPerBlock, state->buffer, nbStripes, secret, state->secretLimit, - XXH3_accumulate_512, XXH3_scrambleAcc); - /* last stripe */ - XXH3_accumulate_512(acc, - state->buffer + state->bufferedSize - XXH_STRIPE_LEN, - secret + state->secretLimit - XXH_SECRET_LASTACC_START); + XXH3_accumulate, XXH3_scrambleAcc); + lastStripePtr = state->buffer + state->bufferedSize - XXH_STRIPE_LEN; } else { /* bufferedSize < XXH_STRIPE_LEN */ - xxh_u8 lastStripe[XXH_STRIPE_LEN]; + /* Copy to temp buffer */ size_t const catchupSize = XXH_STRIPE_LEN - state->bufferedSize; XXH_ASSERT(state->bufferedSize > 0); /* there is always some input buffered */ XXH_memcpy(lastStripe, state->buffer + sizeof(state->buffer) - catchupSize, catchupSize); XXH_memcpy(lastStripe + catchupSize, state->buffer, state->bufferedSize); - XXH3_accumulate_512(acc, - lastStripe, - secret + state->secretLimit - XXH_SECRET_LASTACC_START); + lastStripePtr = lastStripe; } + /* Last stripe */ + XXH3_accumulate_512(acc, + lastStripePtr, + secret + state->secretLimit - XXH_SECRET_LASTACC_START); } /*! @ingroup XXH3_family */ -XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_digest (const XXH3_state_t* state) +XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_digest (XXH_NOESCAPE const XXH3_state_t* state) { const unsigned char* const secret = (state->extSecret == NULL) ? state->customSecret : state->extSecret; if (state->totalLen > XXH3_MIDSIZE_MAX) { XXH_ALIGN(XXH_ACC_ALIGN) XXH64_hash_t acc[XXH_ACC_NB]; XXH3_digest_long(acc, state, secret); - return XXH3_mergeAccs(acc, - secret + XXH_SECRET_MERGEACCS_START, - (xxh_u64)state->totalLen * XXH_PRIME64_1); + return XXH3_finalizeLong_64b(acc, secret, (xxh_u64)state->totalLen); } /* totalLen <= XXH3_MIDSIZE_MAX: digesting a short input */ if (state->useSeed) @@ -5347,7 +6593,7 @@ XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_digest (const XXH3_state_t* state) return XXH3_64bits_withSecret(state->buffer, (size_t)(state->totalLen), secret, state->secretLimit + XXH_STRIPE_LEN); } - +#endif /* !XXH_NO_STREAM */ /* ========================================== @@ -5416,7 +6662,7 @@ XXH3_len_4to8_128b(const xxh_u8* input, size_t len, const xxh_u8* secret, XXH64_ m128.low64 ^= (m128.high64 >> 3); m128.low64 = XXH_xorshift64(m128.low64, 35); - m128.low64 *= 0x9FB21C651E98DF25ULL; + m128.low64 *= PRIME_MX2; m128.low64 = XXH_xorshift64(m128.low64, 28); m128.high64 = XXH3_avalanche(m128.high64); return m128; @@ -5540,6 +6786,16 @@ XXH3_len_17to128_128b(const xxh_u8* XXH_RESTRICT input, size_t len, { XXH128_hash_t acc; acc.low64 = len * XXH_PRIME64_1; acc.high64 = 0; + +#if XXH_SIZE_OPT >= 1 + { + /* Smaller, but slightly slower. */ + unsigned int i = (unsigned int)(len - 1) / 32; + do { + acc = XXH128_mix32B(acc, input+16*i, input+len-16*(i+1), secret+32*i, seed); + } while (i-- != 0); + } +#else if (len > 32) { if (len > 64) { if (len > 96) { @@ -5550,6 +6806,7 @@ XXH3_len_17to128_128b(const xxh_u8* XXH_RESTRICT input, size_t len, acc = XXH128_mix32B(acc, input+16, input+len-32, secret+32, seed); } acc = XXH128_mix32B(acc, input, input+len-16, secret, seed); +#endif { XXH128_hash_t h128; h128.low64 = acc.low64 + acc.high64; h128.high64 = (acc.low64 * XXH_PRIME64_1) @@ -5571,25 +6828,34 @@ XXH3_len_129to240_128b(const xxh_u8* XXH_RESTRICT input, size_t len, XXH_ASSERT(128 < len && len <= XXH3_MIDSIZE_MAX); { XXH128_hash_t acc; - int const nbRounds = (int)len / 32; - int i; + unsigned i; acc.low64 = len * XXH_PRIME64_1; acc.high64 = 0; - for (i=0; i<4; i++) { + /* + * We set as `i` as offset + 32. We do this so that unchanged + * `len` can be used as upper bound. This reaches a sweet spot + * where both x86 and aarch64 get simple agen and good codegen + * for the loop. + */ + for (i = 32; i < 160; i += 32) { acc = XXH128_mix32B(acc, - input + (32 * i), - input + (32 * i) + 16, - secret + (32 * i), + input + i - 32, + input + i - 16, + secret + i - 32, seed); } acc.low64 = XXH3_avalanche(acc.low64); acc.high64 = XXH3_avalanche(acc.high64); - XXH_ASSERT(nbRounds >= 4); - for (i=4 ; i < nbRounds; i++) { + /* + * NB: `i <= len` will duplicate the last 32-bytes if + * len % 32 was zero. This is an unfortunate necessity to keep + * the hash result stable. + */ + for (i=160; i <= len; i += 32) { acc = XXH128_mix32B(acc, - input + (32 * i), - input + (32 * i) + 16, - secret + XXH3_MIDSIZE_STARTOFFSET + (32 * (i - 4)), + input + i - 32, + input + i - 16, + secret + XXH3_MIDSIZE_STARTOFFSET + i - 160, seed); } /* last bytes */ @@ -5597,7 +6863,7 @@ XXH3_len_129to240_128b(const xxh_u8* XXH_RESTRICT input, size_t len, input + len - 16, input + len - 32, secret + XXH3_SECRET_SIZE_MIN - XXH3_MIDSIZE_LASTOFFSET - 16, - 0ULL - seed); + (XXH64_hash_t)0 - seed); { XXH128_hash_t h128; h128.low64 = acc.low64 + acc.high64; @@ -5611,29 +6877,31 @@ XXH3_len_129to240_128b(const xxh_u8* XXH_RESTRICT input, size_t len, } } +static XXH_PUREF XXH128_hash_t +XXH3_finalizeLong_128b(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT secret, size_t secretSize, xxh_u64 len) +{ + XXH128_hash_t h128; + h128.low64 = XXH3_finalizeLong_64b(acc, secret, len); + h128.high64 = XXH3_mergeAccs(acc, secret + secretSize + - XXH_STRIPE_LEN - XXH_SECRET_MERGEACCS_START, + ~(len * XXH_PRIME64_2)); + return h128; +} + XXH_FORCE_INLINE XXH128_hash_t XXH3_hashLong_128b_internal(const void* XXH_RESTRICT input, size_t len, const xxh_u8* XXH_RESTRICT secret, size_t secretSize, - XXH3_f_accumulate_512 f_acc512, + XXH3_f_accumulate f_acc, XXH3_f_scrambleAcc f_scramble) { XXH_ALIGN(XXH_ACC_ALIGN) xxh_u64 acc[XXH_ACC_NB] = XXH3_INIT_ACC; - XXH3_hashLong_internal_loop(acc, (const xxh_u8*)input, len, secret, secretSize, f_acc512, f_scramble); + XXH3_hashLong_internal_loop(acc, (const xxh_u8*)input, len, secret, secretSize, f_acc, f_scramble); /* converge into final hash */ XXH_STATIC_ASSERT(sizeof(acc) == 64); XXH_ASSERT(secretSize >= sizeof(acc) + XXH_SECRET_MERGEACCS_START); - { XXH128_hash_t h128; - h128.low64 = XXH3_mergeAccs(acc, - secret + XXH_SECRET_MERGEACCS_START, - (xxh_u64)len * XXH_PRIME64_1); - h128.high64 = XXH3_mergeAccs(acc, - secret + secretSize - - sizeof(acc) - XXH_SECRET_MERGEACCS_START, - ~((xxh_u64)len * XXH_PRIME64_2)); - return h128; - } + return XXH3_finalizeLong_128b(acc, secret, secretSize, (xxh_u64)len); } /* @@ -5646,38 +6914,41 @@ XXH3_hashLong_128b_default(const void* XXH_RESTRICT input, size_t len, { (void)seed64; (void)secret; (void)secretLen; return XXH3_hashLong_128b_internal(input, len, XXH3_kSecret, sizeof(XXH3_kSecret), - XXH3_accumulate_512, XXH3_scrambleAcc); + XXH3_accumulate, XXH3_scrambleAcc); } /* * It's important for performance to pass @p secretLen (when it's static) * to the compiler, so that it can properly optimize the vectorized loop. + * + * When the secret size is unknown, or on GCC 12 where the mix of NO_INLINE and FORCE_INLINE + * breaks -Og, this is XXH_NO_INLINE. */ -XXH_FORCE_INLINE XXH128_hash_t +XXH3_WITH_SECRET_INLINE XXH128_hash_t XXH3_hashLong_128b_withSecret(const void* XXH_RESTRICT input, size_t len, XXH64_hash_t seed64, const void* XXH_RESTRICT secret, size_t secretLen) { (void)seed64; return XXH3_hashLong_128b_internal(input, len, (const xxh_u8*)secret, secretLen, - XXH3_accumulate_512, XXH3_scrambleAcc); + XXH3_accumulate, XXH3_scrambleAcc); } XXH_FORCE_INLINE XXH128_hash_t XXH3_hashLong_128b_withSeed_internal(const void* XXH_RESTRICT input, size_t len, XXH64_hash_t seed64, - XXH3_f_accumulate_512 f_acc512, + XXH3_f_accumulate f_acc, XXH3_f_scrambleAcc f_scramble, XXH3_f_initCustomSecret f_initSec) { if (seed64 == 0) return XXH3_hashLong_128b_internal(input, len, XXH3_kSecret, sizeof(XXH3_kSecret), - f_acc512, f_scramble); + f_acc, f_scramble); { XXH_ALIGN(XXH_SEC_ALIGN) xxh_u8 secret[XXH_SECRET_DEFAULT_SIZE]; f_initSec(secret, seed64); return XXH3_hashLong_128b_internal(input, len, (const xxh_u8*)secret, sizeof(secret), - f_acc512, f_scramble); + f_acc, f_scramble); } } @@ -5690,7 +6961,7 @@ XXH3_hashLong_128b_withSeed(const void* input, size_t len, { (void)secret; (void)secretLen; return XXH3_hashLong_128b_withSeed_internal(input, len, seed64, - XXH3_accumulate_512, XXH3_scrambleAcc, XXH3_initCustomSecret); + XXH3_accumulate, XXH3_scrambleAcc, XXH3_initCustomSecret); } typedef XXH128_hash_t (*XXH3_hashLong128_f)(const void* XXH_RESTRICT, size_t, @@ -5721,7 +6992,7 @@ XXH3_128bits_internal(const void* input, size_t len, /* === Public XXH128 API === */ /*! @ingroup XXH3_family */ -XXH_PUBLIC_API XXH128_hash_t XXH3_128bits(const void* input, size_t len) +XXH_PUBLIC_API XXH128_hash_t XXH3_128bits(XXH_NOESCAPE const void* input, size_t len) { return XXH3_128bits_internal(input, len, 0, XXH3_kSecret, sizeof(XXH3_kSecret), @@ -5730,7 +7001,7 @@ XXH_PUBLIC_API XXH128_hash_t XXH3_128bits(const void* input, size_t len) /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH128_hash_t -XXH3_128bits_withSecret(const void* input, size_t len, const void* secret, size_t secretSize) +XXH3_128bits_withSecret(XXH_NOESCAPE const void* input, size_t len, XXH_NOESCAPE const void* secret, size_t secretSize) { return XXH3_128bits_internal(input, len, 0, (const xxh_u8*)secret, secretSize, @@ -5739,7 +7010,7 @@ XXH3_128bits_withSecret(const void* input, size_t len, const void* secret, size_ /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH128_hash_t -XXH3_128bits_withSeed(const void* input, size_t len, XXH64_hash_t seed) +XXH3_128bits_withSeed(XXH_NOESCAPE const void* input, size_t len, XXH64_hash_t seed) { return XXH3_128bits_internal(input, len, seed, XXH3_kSecret, sizeof(XXH3_kSecret), @@ -5748,7 +7019,7 @@ XXH3_128bits_withSeed(const void* input, size_t len, XXH64_hash_t seed) /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH128_hash_t -XXH3_128bits_withSecretandSeed(const void* input, size_t len, const void* secret, size_t secretSize, XXH64_hash_t seed) +XXH3_128bits_withSecretandSeed(XXH_NOESCAPE const void* input, size_t len, XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed) { if (len <= XXH3_MIDSIZE_MAX) return XXH3_128bits_internal(input, len, seed, XXH3_kSecret, sizeof(XXH3_kSecret), NULL); @@ -5757,14 +7028,14 @@ XXH3_128bits_withSecretandSeed(const void* input, size_t len, const void* secret /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH128_hash_t -XXH128(const void* input, size_t len, XXH64_hash_t seed) +XXH128(XXH_NOESCAPE const void* input, size_t len, XXH64_hash_t seed) { return XXH3_128bits_withSeed(input, len, seed); } /* === XXH3 128-bit streaming === */ - +#ifndef XXH_NO_STREAM /* * All initialization and update functions are identical to 64-bit streaming variant. * The only difference is the finalization routine. @@ -5772,66 +7043,56 @@ XXH128(const void* input, size_t len, XXH64_hash_t seed) /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_128bits_reset(XXH3_state_t* statePtr) +XXH3_128bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr) { return XXH3_64bits_reset(statePtr); } /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_128bits_reset_withSecret(XXH3_state_t* statePtr, const void* secret, size_t secretSize) +XXH3_128bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* secret, size_t secretSize) { return XXH3_64bits_reset_withSecret(statePtr, secret, secretSize); } /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_128bits_reset_withSeed(XXH3_state_t* statePtr, XXH64_hash_t seed) +XXH3_128bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t seed) { return XXH3_64bits_reset_withSeed(statePtr, seed); } /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, const void* secret, size_t secretSize, XXH64_hash_t seed) +XXH3_128bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed) { return XXH3_64bits_reset_withSecretandSeed(statePtr, secret, secretSize, seed); } /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_128bits_update(XXH3_state_t* state, const void* input, size_t len) +XXH3_128bits_update(XXH_NOESCAPE XXH3_state_t* state, XXH_NOESCAPE const void* input, size_t len) { - return XXH3_update(state, (const xxh_u8*)input, len, - XXH3_accumulate_512, XXH3_scrambleAcc); + return XXH3_64bits_update(state, input, len); } /*! @ingroup XXH3_family */ -XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_digest (const XXH3_state_t* state) +XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_digest (XXH_NOESCAPE const XXH3_state_t* state) { const unsigned char* const secret = (state->extSecret == NULL) ? state->customSecret : state->extSecret; if (state->totalLen > XXH3_MIDSIZE_MAX) { XXH_ALIGN(XXH_ACC_ALIGN) XXH64_hash_t acc[XXH_ACC_NB]; XXH3_digest_long(acc, state, secret); XXH_ASSERT(state->secretLimit + XXH_STRIPE_LEN >= sizeof(acc) + XXH_SECRET_MERGEACCS_START); - { XXH128_hash_t h128; - h128.low64 = XXH3_mergeAccs(acc, - secret + XXH_SECRET_MERGEACCS_START, - (xxh_u64)state->totalLen * XXH_PRIME64_1); - h128.high64 = XXH3_mergeAccs(acc, - secret + state->secretLimit + XXH_STRIPE_LEN - - sizeof(acc) - XXH_SECRET_MERGEACCS_START, - ~((xxh_u64)state->totalLen * XXH_PRIME64_2)); - return h128; - } + return XXH3_finalizeLong_128b(acc, secret, state->secretLimit + XXH_STRIPE_LEN, (xxh_u64)state->totalLen); } /* len <= XXH3_MIDSIZE_MAX : short code */ - if (state->seed) + if (state->useSeed) return XXH3_128bits_withSeed(state->buffer, (size_t)state->totalLen, state->seed); return XXH3_128bits_withSecret(state->buffer, (size_t)(state->totalLen), secret, state->secretLimit + XXH_STRIPE_LEN); } - +#endif /* !XXH_NO_STREAM */ /* 128-bit utility functions */ #include /* memcmp, memcpy */ @@ -5849,7 +7110,7 @@ XXH_PUBLIC_API int XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2) * <0 if *h128_1 < *h128_2 * =0 if *h128_1 == *h128_2 */ /*! @ingroup XXH3_family */ -XXH_PUBLIC_API int XXH128_cmp(const void* h128_1, const void* h128_2) +XXH_PUBLIC_API int XXH128_cmp(XXH_NOESCAPE const void* h128_1, XXH_NOESCAPE const void* h128_2) { XXH128_hash_t const h1 = *(const XXH128_hash_t*)h128_1; XXH128_hash_t const h2 = *(const XXH128_hash_t*)h128_2; @@ -5863,7 +7124,7 @@ XXH_PUBLIC_API int XXH128_cmp(const void* h128_1, const void* h128_2) /*====== Canonical representation ======*/ /*! @ingroup XXH3_family */ XXH_PUBLIC_API void -XXH128_canonicalFromHash(XXH128_canonical_t* dst, XXH128_hash_t hash) +XXH128_canonicalFromHash(XXH_NOESCAPE XXH128_canonical_t* dst, XXH128_hash_t hash) { XXH_STATIC_ASSERT(sizeof(XXH128_canonical_t) == sizeof(XXH128_hash_t)); if (XXH_CPU_LITTLE_ENDIAN) { @@ -5876,7 +7137,7 @@ XXH128_canonicalFromHash(XXH128_canonical_t* dst, XXH128_hash_t hash) /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH128_hash_t -XXH128_hashFromCanonical(const XXH128_canonical_t* src) +XXH128_hashFromCanonical(XXH_NOESCAPE const XXH128_canonical_t* src) { XXH128_hash_t h; h.high64 = XXH_readBE64(src); @@ -5900,7 +7161,7 @@ XXH_FORCE_INLINE void XXH3_combine16(void* dst, XXH128_hash_t h128) /*! @ingroup XXH3_family */ XXH_PUBLIC_API XXH_errorcode -XXH3_generateSecret(void* secretBuffer, size_t secretSize, const void* customSeed, size_t customSeedSize) +XXH3_generateSecret(XXH_NOESCAPE void* secretBuffer, size_t secretSize, XXH_NOESCAPE const void* customSeed, size_t customSeedSize) { #if (XXH_DEBUGLEVEL >= 1) XXH_ASSERT(secretBuffer != NULL); @@ -5945,7 +7206,7 @@ XXH3_generateSecret(void* secretBuffer, size_t secretSize, const void* customSee /*! @ingroup XXH3_family */ XXH_PUBLIC_API void -XXH3_generateSecret_fromSeed(void* secretBuffer, XXH64_hash_t seed) +XXH3_generateSecret_fromSeed(XXH_NOESCAPE void* secretBuffer, XXH64_hash_t seed) { XXH_ALIGN(XXH_SEC_ALIGN) xxh_u8 secret[XXH_SECRET_DEFAULT_SIZE]; XXH3_initCustomSecret(secret, seed); @@ -5958,7 +7219,7 @@ XXH3_generateSecret_fromSeed(void* secretBuffer, XXH64_hash_t seed) /* Pop our optimization override from above */ #if XXH_VECTOR == XXH_AVX2 /* AVX2 */ \ && defined(__GNUC__) && !defined(__clang__) /* GCC, not Clang */ \ - && defined(__OPTIMIZE__) && !defined(__OPTIMIZE_SIZE__) /* respect -O0 and -Os */ + && defined(__OPTIMIZE__) && XXH_SIZE_OPT <= 0 /* respect -O0 and -Os */ # pragma GCC pop_options #endif @@ -5973,5 +7234,5 @@ XXH3_generateSecret_fromSeed(void* secretBuffer, XXH64_hash_t seed) #if defined (__cplusplus) -} +} /* extern "C" */ #endif diff --git a/3rdparty/promptfont/promptfont.sfd b/3rdparty/promptfont/promptfont.sfd index 3226bc962aaae..03ec48c0c425c 100644 --- a/3rdparty/promptfont/promptfont.sfd +++ b/3rdparty/promptfont/promptfont.sfd @@ -23,7 +23,7 @@ OS2Version: 0 OS2_WeightWidthSlopeOnly: 0 OS2_UseTypoMetrics: 0 CreationTime: 1544355305 -ModificationTime: 1712653578 +ModificationTime: 1736751870 PfmFamily: 33 TTFWeight: 400 TTFWidth: 5 @@ -65,7 +65,7 @@ NameList: AGL For New Fonts DisplaySize: -48 AntiAlias: 1 FitToEm: 0 -WinInfo: 8816 38 14 +WinInfo: 8360 38 14 BeginPrivate: 8 BlueValues 29 [0 0 380 380 490 490 660 660] OtherBlues 39 [-210 -210 -180 -180 -160 -160 280 280] @@ -77,7 +77,7 @@ StemSnapV 13 [140 180 200] ForceBold 4 true EndPrivate TeXData: 1 0 0 335544 167772 111848 513802 1048576 111848 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144 -BeginChars: 1114112 731 +BeginChars: 1114112 733 StartChar: exclam Encoding: 33 33 0 @@ -19511,40 +19511,40 @@ VStem: 92.5596 41.7305<171.236 408.764> 189.39 149.051<176.142 403.858> 699.66 1 LayerCount: 2 Fore SplineSet -500 600.610351562 m 1 - 671.459960938 600.610351562 810.610351562 461.459960938 810.610351562 290 c 0 - 810.610351562 118.540039062 671.459960938 -20.6103515625 500 -20.6103515625 c 0 - 328.540039062 -20.6103515625 189.389648438 118.540039062 189.389648438 290 c 0 - 189.389648438 461.459960938 328.540039062 600.610351562 500 600.610351562 c 1 -699.66015625 102.129882812 m 1 - 699.66015625 167.830078125 l 1 - 456.870117188 167.830078125 l 1 - 456.870117188 463.459960938 l 1 - 338.440429688 463.459960938 l 1 - 338.440429688 102.129882812 l 1 - 699.66015625 102.129882812 l 1 -500 -117.440429688 m 0 - 445 -117.440429688 391.639648438 -106.66015625 341.400390625 -85.41015625 c 0 - 292.879882812 -64.8896484375 249.309570312 -35.509765625 211.900390625 1.900390625 c 0 - 174.490234375 39.3095703125 145.110351562 82.8798828125 124.58984375 131.400390625 c 0 - 103.33984375 181.639648438 92.5595703125 235.009765625 92.5595703125 290 c 0 - 92.5595703125 344.990234375 103.33984375 398.360351562 124.58984375 448.599609375 c 0 - 145.110351562 497.120117188 174.490234375 540.690429688 211.900390625 578.099609375 c 0 - 249.309570312 615.509765625 292.879882812 644.889648438 341.400390625 665.41015625 c 0 - 391.639648438 686.66015625 445.009765625 697.440429688 500 697.440429688 c 0 - 554.990234375 697.440429688 608.360351562 686.66015625 658.599609375 665.41015625 c 0 - 707.120117188 644.889648438 750.690429688 615.509765625 788.099609375 578.099609375 c 0 - 825.509765625 540.690429688 854.889648438 497.120117188 875.41015625 448.599609375 c 0 - 896.66015625 398.360351562 907.440429688 344.990234375 907.440429688 290 c 0 - 907.440429688 235.009765625 896.66015625 181.639648438 875.41015625 131.400390625 c 0 - 854.889648438 82.8798828125 825.509765625 39.3095703125 788.099609375 1.900390625 c 0 - 750.690429688 -35.509765625 707.120117188 -64.8896484375 658.599609375 -85.41015625 c 0 - 608.360351562 -106.66015625 554.990234375 -117.440429688 500 -117.440429688 c 0 -500 655.709960938 m 0 - 298.349609375 655.709960938 134.290039062 491.66015625 134.290039062 290 c 0 - 134.290039062 88.33984375 298.33984375 -75.7099609375 500 -75.7099609375 c 0 - 701.66015625 -75.7099609375 865.709960938 88.349609375 865.709960938 290 c 0 - 865.709960938 491.650390625 701.66015625 655.709960938 500 655.709960938 c 0 +500 600.610351562 m 5 + 671.459960938 600.610351562 810.610351562 461.459960938 810.610351562 290 c 4 + 810.610351562 118.540039062 671.459960938 -20.6103515625 500 -20.6103515625 c 4 + 328.540039062 -20.6103515625 189.389648438 118.540039062 189.389648438 290 c 4 + 189.389648438 461.459960938 328.540039062 600.610351562 500 600.610351562 c 5 +699.66015625 102.129882812 m 5 + 699.66015625 167.830078125 l 5 + 456.870117188 167.830078125 l 5 + 456.870117188 463.459960938 l 5 + 338.440429688 463.459960938 l 5 + 338.440429688 102.129882812 l 5 + 699.66015625 102.129882812 l 5 +500 -117.440429688 m 4 + 445 -117.440429688 391.639648438 -106.66015625 341.400390625 -85.41015625 c 4 + 292.879882812 -64.8896484375 249.309570312 -35.509765625 211.900390625 1.900390625 c 4 + 174.490234375 39.3095703125 145.110351562 82.8798828125 124.58984375 131.400390625 c 4 + 103.33984375 181.639648438 92.5595703125 235.009765625 92.5595703125 290 c 4 + 92.5595703125 344.990234375 103.33984375 398.360351562 124.58984375 448.599609375 c 4 + 145.110351562 497.120117188 174.490234375 540.690429688 211.900390625 578.099609375 c 4 + 249.309570312 615.509765625 292.879882812 644.889648438 341.400390625 665.41015625 c 4 + 391.639648438 686.66015625 445.009765625 697.440429688 500 697.440429688 c 4 + 554.990234375 697.440429688 608.360351562 686.66015625 658.599609375 665.41015625 c 4 + 707.120117188 644.889648438 750.690429688 615.509765625 788.099609375 578.099609375 c 4 + 825.509765625 540.690429688 854.889648438 497.120117188 875.41015625 448.599609375 c 4 + 896.66015625 398.360351562 907.440429688 344.990234375 907.440429688 290 c 4 + 907.440429688 235.009765625 896.66015625 181.639648438 875.41015625 131.400390625 c 4 + 854.889648438 82.8798828125 825.509765625 39.3095703125 788.099609375 1.900390625 c 4 + 750.690429688 -35.509765625 707.120117188 -64.8896484375 658.599609375 -85.41015625 c 4 + 608.360351562 -106.66015625 554.990234375 -117.440429688 500 -117.440429688 c 4 +500 655.709960938 m 4 + 298.349609375 655.709960938 134.290039062 491.66015625 134.290039062 290 c 4 + 134.290039062 88.33984375 298.33984375 -75.7099609375 500 -75.7099609375 c 4 + 701.66015625 -75.7099609375 865.709960938 88.349609375 865.709960938 290 c 4 + 865.709960938 491.650390625 701.66015625 655.709960938 500 655.709960938 c 4 EndSplineSet Validated: 5 EndChar @@ -30101,7 +30101,7 @@ SplineSet 79 -59.400390625 120 -102.200195312 170.799804688 -102.200195312 c 2 838.200195312 -102.200195312 l 2 EndSplineSet -Validated: 524321 +Validated: 33 EndChar StartChar: uni23F6 @@ -30171,7 +30171,7 @@ SplineSet 79 -59.400390625 120 -102.200195312 170.799804688 -102.200195312 c 2 838.200195312 -102.200195312 l 1 EndSplineSet -Validated: 524321 +Validated: 33 EndChar StartChar: uni23F7 @@ -35271,5 +35271,218 @@ SplineSet EndSplineSet Validated: 1 EndChar + +StartChar: uni2446 +Encoding: 9286 9286 731 +Width: 1000 +HStem: 98.667 78.666<441.304 558.479> 298.667 80.666<211.095 321.99 686.039 796.635> 364 81.333<440.808 559.266> 544.667 80.666<210.809 321.868 685.514 796.925> +VStem: 104 80<406.859 516.049> 326.667 80<269.844 311.038> 349.333 80<429.563 517.407> 578.667 80<424.535 517.66> 593.333 80.667<270.25 314.708> 824 80<406.439 515.845> +LayerCount: 2 +Fore +SplineSet +869.333007812 361.333007812 m 1x9840 + 887.333007812 310.666992188 925.333007812 194 915.333007812 116.666992188 c 0 + 902 10.6669921875 842.666992188 -30.6669921875 836 -35.3330078125 c 0 + 832 -38.6669921875 827.333007812 -40 822 -41.3330078125 c 0 + 812 -43.3330078125 802 -44 792 -44 c 0 + 770.666992188 -44 750 -39.3330078125 732.666992188 -30.6669921875 c 0 + 708 -18.6669921875 690 1.3330078125 676 30 c 0 + 654 76 656 148 662 194.666992188 c 1 + 661.333007812 194 658.666992188 194.666992188 655.333007812 195.333007812 c 0 + 627.333007812 138 568 98.6669921875 500 98.6669921875 c 0 + 431.333007812 98.6669921875 372 138.666992188 344 196 c 0 + 340 195.333007812 336 194 334.666992188 194.666992188 c 1 + 342.666992188 135.333007812 344.666992188 73.3330078125 324 30 c 0 + 310 1.3330078125 291.333007812 -18.6669921875 267.333007812 -30.6669921875 c 0 + 241.333007812 -43.3330078125 210 -46.6669921875 178 -40.6669921875 c 0 + 172.666992188 -40 168 -38 164 -35.3330078125 c 0 + 157.333007812 -31.3330078125 98 10.6669921875 84.6669921875 116.666992188 c 0 + 74.6669921875 199.333007812 116 323.333007812 133.333007812 369.333007812 c 1 + 114.666992188 396 104 428 104 462.666992188 c 0 + 104 552 176.666992188 625.333007812 266.666992188 625.333007812 c 0 + 299.333007812 625.333007812 329.333007812 615.333007812 354.666992188 599.333007812 c 1 + 385.333007812 646 436 677.333007812 492.666992188 681.333007812 c 0 + 557.333007812 685.333007812 619.333007812 653.333007812 655.333007812 600 c 1 + 680.666992188 615.333007812 710 624.666992188 741.333007812 624.666992188 c 0 + 830.666992188 624.666992188 904 552 904 462 c 0 + 904 424 891.333007812 389.333007812 869.333007812 361.333007812 c 1x9840 +741.333007812 544.666992188 m 0 + 695.333007812 544.666992188 658.666992188 507.333007812 658.666992188 462 c 0 + 658.666992188 416.666992188 696 379.333007812 741.333007812 379.333007812 c 0xd940 + 786.666992188 379.333007812 824 416.666992188 824 462 c 0 + 824 507.333007812 786.666992188 544.666992188 741.333007812 544.666992188 c 0 +498 601.333007812 m 0 + 459.333007812 598.666992188 426 572.666992188 411.333007812 536.666992188 c 0 + 422.666992188 514.666992188 429.333007812 489.333007812 429.333007812 462.666992188 c 0 + 429.333007812 450.666992188 428 439.333007812 426 428.666992188 c 1 + 448 439.333007812 473.333007812 445.333007812 500 445.333007812 c 0xbb40 + 530.666992188 445.333007812 558.666992188 437.333007812 583.333007812 424 c 1 + 580 436 578.666992188 448.666992188 578.666992188 462 c 0 + 578.666992188 490 585.333007812 516 598 539.333007812 c 0 + 580 579.333007812 540 604 498 601.333007812 c 0 +266.666992188 544.666992188 m 0 + 220.666992188 544.666992188 184 507.333007812 184 462 c 0 + 184 416.666992188 221.333007812 379.333007812 266.666992188 379.333007812 c 0xda40 + 312 379.333007812 349.333007812 416.666992188 349.333007812 462 c 0 + 349.333007812 507.333007812 312 544.666992188 266.666992188 544.666992188 c 0 +305.333007812 270 m 2 + 310.666992188 271.333007812 318.666992188 273.333007812 326.666992188 274 c 0xdc40 + 326.666992188 287.333007812 328 300 331.333007812 312 c 1 + 311.333007812 303.333007812 290 298.666992188 266.666992188 298.666992188 c 0 + 240.666992188 298.666992188 216 305.333007812 194 316 c 1 + 174.666992188 259.333007812 152.666992188 176 159.333007812 123.333007812 c 0 + 164 82.6669921875 178 56 189.333007812 39.3330078125 c 0 + 198.666992188 26.6669921875 216 20.6669921875 230.666992188 28 c 1 + 234 29.3330078125 244 34.6669921875 254 56 c 0 + 273.333007812 96 260 180 255.333007812 212 c 2 + 255.333007812 212.666992188 l 2 + 251.333007812 236.666992188 267.333007812 259.333007812 293.333007812 266.666992188 c 2 + 305.333007812 270 l 2 +500 177.333007812 m 0 + 551.333007812 177.333007812 593.333007812 219.333007812 593.333007812 270.666992188 c 0 + 593.333007812 322 551.333007812 364 500 364 c 0xbcc0 + 448.666992188 364 406.666992188 322 406.666992188 270.666992188 c 0 + 406.666992188 219.333007812 448.666992188 177.333007812 500 177.333007812 c 0 +840.666992188 123.333007812 m 0 + 846.666992188 174.666992188 826 256 808 311.333007812 c 1 + 788 302.666992188 765.333007812 297.333007812 742 297.333007812 c 0 + 715.333007812 297.333007812 690 304 668 315.333007812 c 1 + 671.333007812 302 673.333007812 288 674 274 c 0 + 684 273.333007812 694.666992188 271.333007812 701.333007812 268 c 2 + 708.666992188 264.666992188 l 2 + 729.333007812 254.666992188 741.333007812 234.666992188 738 213.333007812 c 2 + 738 212 l 2 + 734 183.333007812 726.666992188 95.3330078125 746 55.3330078125 c 0 + 756 34 766 29.3330078125 769.333007812 27.3330078125 c 1 + 784 20.6669921875 801.333007812 26 810.666992188 39.3330078125 c 0 + 822 56 835.333007812 82.6669921875 840.666992188 123.333007812 c 0 +EndSplineSet +Validated: 524321 +EndChar + +StartChar: uni221B +Encoding: 8731 8731 732 +Width: 1000 +HStem: -209.992 21.2588<741.927 862.934> -160.664 62.5283<723.687 881.174> 85.9395 69.8691<723.687 780.459> 183.879 21.2588<741.929 862.934> +VStem: 594.865 21.2588<-62.9303 58.0754> 644.194 75.9316<-81.1715 76.316> 904.145 56.5225<-89.7754 -64.665> 988.736 21.2598<-62.9292 58.0743> +LayerCount: 2 +Fore +SplineSet +133.1953125 240.114257812 m 1 + 128.731445312 224.2734375 135.630859375 215.740234375 135.630859375 215.740234375 c 1 + 158.787109375 176.336914062 l 1 + 148.629882812 119.875976562 174.627929688 78.4345703125 190.466796875 57.7236328125 c 0 + 206.305664062 37.001953125 310.713867188 -99.0751953125 323.712890625 -114.518554688 c 0 + 336.711914062 -129.954101562 389.11328125 -183.991210938 445.583984375 -142.953125 c 0 + 502.044921875 -101.926757812 483.362304688 -32.052734375 483.362304688 -32.052734375 c 1 + 459.1875 57.931640625 l 1 + 589.7890625 74.3857421875 547.140625 186.911132812 547.140625 186.911132812 c 1 + 601.831054688 241.602539062 l 1 + 601.831054688 241.602539062 714.356445312 198.951171875 730.811523438 329.545898438 c 1 + 820.79296875 305.37890625 l 1 + 820.79296875 305.37890625 890.669921875 286.688476562 931.6953125 343.159179688 c 0 + 972.721679688 399.619140625 918.696289062 452.03125 903.262695312 465.030273438 c 0 + 887.829101562 478.029296875 751.73828125 582.424804688 731.018554688 598.275390625 c 0 + 710.296875 614.114257812 668.864257812 640.114257812 612.404296875 629.965820312 c 1 + 573.001953125 653.122070312 l 1 + 573.001953125 653.122070312 564.466796875 660.03125 548.627929688 655.55859375 c 2 + 548.627929688 655.55859375 543.954101562 661.450195312 532.172851562 654.5390625 c 0 + 520.391601562 647.627929688 493.986328125 630.569335938 477.126953125 596.651367188 c 1 + 477.126953125 596.651367188 474.28515625 591.78125 480.166015625 586.296875 c 1 + 480.166015625 586.296875 474.078125 568.424804688 482.6015625 555.021484375 c 0 + 491.13671875 541.616210938 501.688476562 524.559570312 501.688476562 524.559570312 c 1 + 264.205078125 287.03125 l 1 + 264.205078125 287.03125 247.146484375 297.59375 233.741210938 306.119140625 c 0 + 220.337890625 314.654296875 202.465820312 308.553710938 202.465820312 308.553710938 c 1 + 196.981445312 314.444335938 192.1015625 311.604492188 192.1015625 311.604492188 c 1 + 158.18359375 294.744140625 141.125 268.340820312 134.213867188 256.559570312 c 0 + 127.3046875 244.786132812 133.1953125 240.114257812 133.1953125 240.114257812 c 1 +829.455078125 781.646484375 m 1 + 829.455078125 781.645507812 l 1 + 792.041015625 795.248046875 760.869140625 792.16796875 741.635742188 772.922851562 c 0 + 733.508789062 764.796875 733.508789062 751.620117188 741.635742188 743.482421875 c 0 + 749.764648438 735.364257812 762.939453125 735.354492188 771.069335938 743.482421875 c 0 + 777.907226562 750.30859375 794.809570312 749.956054688 815.208007812 742.526367188 c 0 + 841.3828125 732.993164062 871.2109375 712.708007812 897.041015625 686.876953125 c 0 + 952.763671875 631.153320312 967.78125 575.046875 953.635742188 560.903320312 c 0 + 945.508789062 552.776367188 945.508789062 539.599609375 953.635742188 531.4609375 c 0 + 957.70703125 527.401367188 963.024414062 525.373046875 968.352539062 525.373046875 c 0 + 973.680664062 525.373046875 979 527.401367188 983.067382812 531.47265625 c 0 + 1019.61816406 568.0234375 995.288085938 647.485351562 926.47265625 716.319335938 c 0 + 896.052734375 746.73046875 861.592773438 769.926757812 829.455078125 781.646484375 c 1 +748.963867188 663.739257812 m 1 + 748.96484375 663.73828125 l 1 + 755.135742188 669.899414062 792.102539062 663.115234375 832.69140625 622.525390625 c 0 + 873.270507812 581.946289062 880.076171875 544.970703125 873.904296875 538.798828125 c 0 + 865.788085938 530.669921875 865.788085938 517.484375 873.915039062 509.357421875 c 0 + 877.984375 505.297851562 883.303710938 503.268554688 888.631835938 503.268554688 c 0 + 893.958984375 503.268554688 899.2890625 505.297851562 903.356445312 509.3671875 c 0 + 932.717773438 538.74609375 915.375976562 598.71484375 862.123046875 651.959960938 c 0 + 808.888671875 705.224609375 748.888671875 722.555664062 719.528320312 693.184570312 c 0 + 711.401367188 685.056640625 711.401367188 671.879882812 719.528320312 663.743164062 c 0 + 727.661132812 655.600585938 740.825195312 655.62109375 748.963867188 663.739257812 c 1 +213.166015625 -210 m 1 + 231.399414062 -210 247.083984375 -204.524414062 258.532226562 -193.078125 c 0 + 266.661132812 -184.94921875 266.661132812 -171.772460938 258.532226562 -163.635742188 c 0 + 250.403320312 -155.497070312 237.227539062 -155.506835938 229.098632812 -163.635742188 c 0 + 214.944335938 -177.799804688 158.858398438 -162.770507812 103.127929688 -107.0390625 c 0 + 77.3056640625 -81.208984375 57.01171875 -51.380859375 47.478515625 -25.2060546875 c 0 + 40.046875 -4.818359375 39.6826171875 12.095703125 46.5205078125 18.931640625 c 0 + 54.6494140625 27.0595703125 54.6494140625 40.2353515625 46.5205078125 48.3740234375 c 0 + 38.3935546875 56.5126953125 25.2177734375 56.5009765625 17.0888671875 48.3740234375 c 0 + -2.1630859375 29.1337890625 -5.2548828125 -2.056640625 8.3583984375 -39.4521484375 c 0 + 20.06640625 -71.5888671875 43.2763671875 -106.049804688 73.6953125 -136.470703125 c 0 + 120.946289062 -183.729492188 173.2109375 -210.008789062 213.166015625 -210 c 1 +138.03515625 -72.1201171875 m 1 + 160.764648438 -94.8388671875 186.5859375 -112.198242188 210.741210938 -120.9921875 c 0 + 223.53125 -125.655273438 234.375976562 -127.456054688 243.53515625 -127.456054688 c 0 + 262.7890625 -127.456054688 274.487304688 -119.473632812 280.627929688 -113.333007812 c 0 + 288.744140625 -105.204101562 288.744140625 -92.017578125 280.6171875 -83.890625 c 0 + 272.490234375 -75.7744140625 259.302734375 -75.7626953125 251.17578125 -83.890625 c 0 + 248.990234375 -86.1083984375 240.174804688 -87.408203125 224.979492188 -81.880859375 c 0 + 206.673828125 -75.2099609375 185.711914062 -60.921875 167.458007812 -42.67578125 c 0 + 149.212890625 -24.4306640625 134.924804688 -3.458984375 128.252929688 14.845703125 c 0 + 122.7265625 30.01953125 124.02734375 38.8251953125 126.245117188 41.041015625 c 0 + 134.374023438 49.16796875 134.374023438 62.34375 126.245117188 70.4833984375 c 0 + 118.116210938 78.6220703125 104.940429688 78.6103515625 96.8134765625 70.4833984375 c 0 + 87.748046875 61.4169921875 74.6875 40.279296875 89.1416015625 0.5966796875 c 0 + 97.9560546875 -23.5703125 115.315429688 -49.400390625 138.03515625 -72.1201171875 c 1 +802.430664062 155.80859375 m 0 + 715.083007812 155.80859375 644.194335938 84.919921875 644.194335938 -2.427734375 c 0 + 644.194335938 -89.775390625 715.083007812 -160.6640625 802.430664062 -160.6640625 c 0 + 889.778320312 -160.6640625 960.666992188 -89.775390625 960.666992188 -2.427734375 c 0 + 960.666992188 84.919921875 889.778320312 155.80859375 802.430664062 155.80859375 c 0 +904.14453125 -98.1357421875 m 1 + 720.125976562 -98.1357421875 l 1 + 720.125976562 85.939453125 l 1 + 780.458984375 85.939453125 l 1 + 780.458984375 -64.6650390625 l 1 + 904.14453125 -64.6650390625 l 1 + 904.14453125 -98.1357421875 l 1 +802.430664062 -209.9921875 m 0 + 830.4453125 -209.9921875 857.633789062 -204.500976562 883.227539062 -193.674804688 c 0 + 907.9453125 -183.221679688 930.141601562 -168.25390625 949.19921875 -149.196289062 c 0 + 968.2578125 -130.138671875 983.224609375 -107.942382812 993.678710938 -83.2236328125 c 0 + 1004.50390625 -57.6298828125 1009.99609375 -30.44140625 1009.99609375 -2.427734375 c 0 + 1009.99609375 25.5869140625 1004.50390625 52.775390625 993.678710938 78.369140625 c 0 + 983.224609375 103.087890625 968.2578125 125.284179688 949.19921875 144.341796875 c 0 + 930.141601562 163.399414062 907.9453125 178.3671875 883.227539062 188.8203125 c 0 + 857.6328125 199.646484375 830.4453125 205.137695312 802.430664062 205.137695312 c 0 + 774.416015625 205.137695312 747.227539062 199.646484375 721.633789062 188.8203125 c 0 + 696.916015625 178.3671875 674.719726562 163.399414062 655.662109375 144.341796875 c 0 + 636.603515625 125.284179688 621.63671875 103.087890625 611.182617188 78.369140625 c 0 + 600.357421875 52.775390625 594.865234375 25.5869140625 594.865234375 -2.427734375 c 0 + 594.865234375 -30.44140625 600.357421875 -57.6298828125 611.182617188 -83.2236328125 c 0 + 621.63671875 -107.942382812 636.603515625 -130.138671875 655.662109375 -149.196289062 c 0 + 674.719726562 -168.25390625 696.916015625 -183.221679688 721.633789062 -193.674804688 c 0 + 747.228515625 -204.500976562 774.411132812 -209.9921875 802.430664062 -209.9921875 c 0 +802.430664062 183.87890625 m 0 + 905.1640625 183.87890625 988.736328125 100.299804688 988.736328125 -2.427734375 c 0 + 988.736328125 -105.155273438 905.1640625 -188.733398438 802.430664062 -188.733398438 c 0 + 699.697265625 -188.733398438 616.124023438 -105.161132812 616.124023438 -2.427734375 c 0 + 616.124023438 100.305664062 699.703125 183.87890625 802.430664062 183.87890625 c 0 +EndSplineSet +Validated: 524325 +EndChar EndChars EndSplineFont diff --git a/3rdparty/vixl/CMakeLists.txt b/3rdparty/vixl/CMakeLists.txt index 8b73577b38686..26325b961451f 100644 --- a/3rdparty/vixl/CMakeLists.txt +++ b/3rdparty/vixl/CMakeLists.txt @@ -56,6 +56,8 @@ target_compile_definitions(vixl PUBLIC VIXL_INCLUDE_TARGET_A64 ) +target_compile_definitions(vixl PRIVATE VIXL_CODE_BUFFER_MALLOC) + if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") message("Enabling vixl debug assertions") target_compile_definitions(vixl PUBLIC VIXL_DEBUG) diff --git a/3rdparty/vixl/include/vixl/aarch64/abi-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/abi-aarch64.h index 7e6cd9a41f3ba..388cf10f2de0f 100644 --- a/3rdparty/vixl/include/vixl/aarch64/abi-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/abi-aarch64.h @@ -159,8 +159,8 @@ template <> inline GenericOperand ABI::GetReturnGenericOperand() const { return GenericOperand(); } -} -} // namespace vixl::aarch64 +} // namespace aarch64 +} // namespace vixl #endif // VIXL_AARCH64_ABI_AARCH64_H_ diff --git a/3rdparty/vixl/include/vixl/aarch64/assembler-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/assembler-aarch64.h index 636fbdb9135f7..c1e4e6a787c38 100644 --- a/3rdparty/vixl/include/vixl/aarch64/assembler-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/assembler-aarch64.h @@ -33,6 +33,7 @@ #include "../globals-vixl.h" #include "../invalset-vixl.h" #include "../utils-vixl.h" + #include "operands-aarch64.h" namespace vixl { @@ -403,6 +404,15 @@ enum LoadStoreScalingOption { // Assembler. class Assembler : public vixl::internal::AssemblerBase { public: + explicit Assembler( + PositionIndependentCodeOption pic = PositionIndependentCode) + : pic_(pic), cpu_features_(CPUFeatures::AArch64LegacyBaseline()) {} + explicit Assembler( + size_t capacity, + PositionIndependentCodeOption pic = PositionIndependentCode) + : AssemblerBase(capacity), + pic_(pic), + cpu_features_(CPUFeatures::AArch64LegacyBaseline()) {} Assembler(byte* buffer, size_t capacity, PositionIndependentCodeOption pic = PositionIndependentCode) @@ -2148,6 +2158,9 @@ class Assembler : public vixl::internal::AssemblerBase { // System instruction with pre-encoded op (op1:crn:crm:op2). void sys(int op, const Register& xt = xzr); + // System instruction with result. + void sysl(int op, const Register& xt = xzr); + // System data cache operation. void dc(DataCacheOp op, const Register& rt); @@ -3608,6 +3621,117 @@ class Assembler : public vixl::internal::AssemblerBase { // Unsigned 8-bit integer matrix multiply-accumulate (vector). void ummla(const VRegister& vd, const VRegister& vn, const VRegister& vm); + // Bit Clear and exclusive-OR. + void bcax(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + const VRegister& va); + + // Three-way Exclusive-OR. + void eor3(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + const VRegister& va); + + // Exclusive-OR and Rotate. + void xar(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + int rotate); + + // Rotate and Exclusive-OR + void rax1(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA1 hash update (choose). + void sha1c(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA1 fixed rotate. + void sha1h(const VRegister& sd, const VRegister& sn); + + // SHA1 hash update (majority). + void sha1m(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA1 hash update (parity). + void sha1p(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA1 schedule update 0. + void sha1su0(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA1 schedule update 1. + void sha1su1(const VRegister& vd, const VRegister& vn); + + // SHA256 hash update (part 1). + void sha256h(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA256 hash update (part 2). + void sha256h2(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA256 schedule update 0. + void sha256su0(const VRegister& vd, const VRegister& vn); + + // SHA256 schedule update 1. + void sha256su1(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA512 hash update part 1. + void sha512h(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA512 hash update part 2. + void sha512h2(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SHA512 schedule Update 0. + void sha512su0(const VRegister& vd, const VRegister& vn); + + // SHA512 schedule Update 1. + void sha512su1(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // AES single round decryption. + void aesd(const VRegister& vd, const VRegister& vn); + + // AES single round encryption. + void aese(const VRegister& vd, const VRegister& vn); + + // AES inverse mix columns. + void aesimc(const VRegister& vd, const VRegister& vn); + + // AES mix columns. + void aesmc(const VRegister& vd, const VRegister& vn); + + // SM3PARTW1. + void sm3partw1(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SM3PARTW2. + void sm3partw2(const VRegister& vd, const VRegister& vn, const VRegister& vm); + + // SM3SS1. + void sm3ss1(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + const VRegister& va); + + // SM3TT1A. + void sm3tt1a(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + int index); + + // SM3TT1B. + void sm3tt1b(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + int index); + + // SM3TT2A. + void sm3tt2a(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + int index); + + // SM3TT2B. + void sm3tt2b(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + int index); + // Scalable Vector Extensions. // Absolute value (predicated). @@ -7062,6 +7186,21 @@ class Assembler : public vixl::internal::AssemblerBase { // Unsigned Minimum. void umin(const Register& rd, const Register& rn, const Operand& op); + // Check feature status. + void chkfeat(const Register& rd); + + // Guarded Control Stack Push. + void gcspushm(const Register& rt); + + // Guarded Control Stack Pop. + void gcspopm(const Register& rt); + + // Guarded Control Stack Switch Stack 1. + void gcsss1(const Register& rt); + + // Guarded Control Stack Switch Stack 2. + void gcsss2(const Register& rt); + // Emit generic instructions. // Emit raw instructions into the instruction stream. @@ -7530,6 +7669,8 @@ class Assembler : public vixl::internal::AssemblerBase { static Instr VFormat(VRegister vd) { if (vd.Is64Bits()) { switch (vd.GetLanes()) { + case 1: + return NEON_1D; case 2: return NEON_2S; case 4: diff --git a/3rdparty/vixl/include/vixl/aarch64/constants-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/constants-aarch64.h index 6982271e7fa9f..bcfed30d95bbe 100644 --- a/3rdparty/vixl/include/vixl/aarch64/constants-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/constants-aarch64.h @@ -394,7 +394,8 @@ enum SystemHint { BTI = 32, BTI_c = 34, BTI_j = 36, - BTI_jc = 38 + BTI_jc = 38, + CHKFEAT = 40 }; enum BranchTargetIdentifier { @@ -501,7 +502,7 @@ class SystemRegisterEncoder { // System/special register names. // This information is not encoded as one field but as the concatenation of // multiple fields (Op0, Op1, Crn, Crm, Op2). -enum SystemRegister { +enum SystemRegister : uint32_t { NZCV = SystemRegisterEncoder<3, 3, 4, 2, 0>::value, FPCR = SystemRegisterEncoder<3, 3, 4, 4, 0>::value, RNDR = SystemRegisterEncoder<3, 3, 2, 4, 0>::value, // Random number. @@ -518,11 +519,11 @@ class CacheOpEncoder { (op2 << SysOp2_offset)) >> SysOp_offset; }; -enum InstructionCacheOp { +enum InstructionCacheOp : uint32_t { IVAU = CacheOpEncoder<3, 7, 5, 1>::value }; -enum DataCacheOp { +enum DataCacheOp : uint32_t { CVAC = CacheOpEncoder<3, 7, 10, 1>::value, CVAU = CacheOpEncoder<3, 7, 11, 1>::value, CVAP = CacheOpEncoder<3, 7, 12, 1>::value, @@ -539,6 +540,13 @@ enum DataCacheOp { CIGDVAC = CacheOpEncoder<3, 7, 14, 5>::value }; +enum GCSOp : uint32_t { + GCSPUSHM = CacheOpEncoder<3, 7, 7, 0>::value, + GCSPOPM = CacheOpEncoder<3, 7, 7, 1>::value, + GCSSS1 = CacheOpEncoder<3, 7, 7, 2>::value, + GCSSS2 = CacheOpEncoder<3, 7, 7, 3>::value +}; + // Some SVE instructions support a predicate constraint pattern. This is // interpreted as a VL-dependent value, and is typically used to initialise // predicates, or to otherwise limit the number of processed elements. @@ -591,30 +599,30 @@ enum SVEPredicateConstraint { // Generic fields. enum GenericInstrField : uint32_t { - SixtyFourBits = 0x80000000u, - ThirtyTwoBits = 0x00000000u, + SixtyFourBits = 0x80000000, + ThirtyTwoBits = 0x00000000, - FPTypeMask = 0x00C00000u, - FP16 = 0x00C00000u, - FP32 = 0x00000000u, - FP64 = 0x00400000u + FPTypeMask = 0x00C00000, + FP16 = 0x00C00000, + FP32 = 0x00000000, + FP64 = 0x00400000 }; enum NEONFormatField : uint32_t { - NEONFormatFieldMask = 0x40C00000u, - NEON_Q = 0x40000000u, - NEON_8B = 0x00000000u, + NEONFormatFieldMask = 0x40C00000, + NEON_Q = 0x40000000, + NEON_8B = 0x00000000, NEON_16B = NEON_8B | NEON_Q, - NEON_4H = 0x00400000u, + NEON_4H = 0x00400000, NEON_8H = NEON_4H | NEON_Q, - NEON_2S = 0x00800000u, + NEON_2S = 0x00800000, NEON_4S = NEON_2S | NEON_Q, - NEON_1D = 0x00C00000u, - NEON_2D = 0x00C00000u | NEON_Q + NEON_1D = 0x00C00000, + NEON_2D = 0x00C00000 | NEON_Q }; enum NEONFPFormatField : uint32_t { - NEONFPFormatFieldMask = 0x40400000u, + NEONFPFormatFieldMask = 0x40400000, NEON_FP_4H = FP16, NEON_FP_2S = FP32, NEON_FP_8H = FP16 | NEON_Q, @@ -623,27 +631,27 @@ enum NEONFPFormatField : uint32_t { }; enum NEONLSFormatField : uint32_t { - NEONLSFormatFieldMask = 0x40000C00u, - LS_NEON_8B = 0x00000000u, + NEONLSFormatFieldMask = 0x40000C00, + LS_NEON_8B = 0x00000000, LS_NEON_16B = LS_NEON_8B | NEON_Q, - LS_NEON_4H = 0x00000400u, + LS_NEON_4H = 0x00000400, LS_NEON_8H = LS_NEON_4H | NEON_Q, - LS_NEON_2S = 0x00000800u, + LS_NEON_2S = 0x00000800, LS_NEON_4S = LS_NEON_2S | NEON_Q, - LS_NEON_1D = 0x00000C00u, + LS_NEON_1D = 0x00000C00, LS_NEON_2D = LS_NEON_1D | NEON_Q }; enum NEONScalarFormatField : uint32_t { - NEONScalarFormatFieldMask = 0x00C00000u, - NEONScalar = 0x10000000u, - NEON_B = 0x00000000u, - NEON_H = 0x00400000u, - NEON_S = 0x00800000u, - NEON_D = 0x00C00000u + NEONScalarFormatFieldMask = 0x00C00000, + NEONScalar = 0x10000000, + NEON_B = 0x00000000, + NEON_H = 0x00400000, + NEON_S = 0x00800000, + NEON_D = 0x00C00000 }; -enum SVESizeField { +enum SVESizeField : uint32_t { SVESizeFieldMask = 0x00C00000, SVE_B = 0x00000000, SVE_H = 0x00400000, @@ -653,21 +661,21 @@ enum SVESizeField { // PC relative addressing. enum PCRelAddressingOp : uint32_t { - PCRelAddressingFixed = 0x10000000u, - PCRelAddressingFMask = 0x1F000000u, - PCRelAddressingMask = 0x9F000000u, - ADR = PCRelAddressingFixed | 0x00000000u, - ADRP = PCRelAddressingFixed | 0x80000000u + PCRelAddressingFixed = 0x10000000, + PCRelAddressingFMask = 0x1F000000, + PCRelAddressingMask = 0x9F000000, + ADR = PCRelAddressingFixed | 0x00000000, + ADRP = PCRelAddressingFixed | 0x80000000 }; // Add/sub (immediate, shifted and extended.) const int kSFOffset = 31; enum AddSubOp : uint32_t { - AddSubOpMask = 0x60000000u, - AddSubSetFlagsBit = 0x20000000u, - ADD = 0x00000000u, + AddSubOpMask = 0x60000000, + AddSubSetFlagsBit = 0x20000000, + ADD = 0x00000000, ADDS = ADD | AddSubSetFlagsBit, - SUB = 0x40000000u, + SUB = 0x40000000, SUBS = SUB | AddSubSetFlagsBit }; @@ -678,9 +686,9 @@ enum AddSubOp : uint32_t { V(SUBS) enum AddSubImmediateOp : uint32_t { - AddSubImmediateFixed = 0x11000000u, - AddSubImmediateFMask = 0x1F800000u, - AddSubImmediateMask = 0xFF800000u, + AddSubImmediateFixed = 0x11000000, + AddSubImmediateFMask = 0x1F800000, + AddSubImmediateMask = 0xFF800000, #define ADD_SUB_IMMEDIATE(A) \ A##_w_imm = AddSubImmediateFixed | A, \ A##_x_imm = AddSubImmediateFixed | A | SixtyFourBits @@ -688,10 +696,10 @@ enum AddSubImmediateOp : uint32_t { #undef ADD_SUB_IMMEDIATE }; -enum AddSubShiftedOp : uint32_t { - AddSubShiftedFixed = 0x0B000000u, - AddSubShiftedFMask = 0x1F200000u, - AddSubShiftedMask = 0xFF200000u, +enum AddSubShiftedOp : uint32_t { + AddSubShiftedFixed = 0x0B000000, + AddSubShiftedFMask = 0x1F200000, + AddSubShiftedMask = 0xFF200000, #define ADD_SUB_SHIFTED(A) \ A##_w_shift = AddSubShiftedFixed | A, \ A##_x_shift = AddSubShiftedFixed | A | SixtyFourBits @@ -700,9 +708,9 @@ enum AddSubShiftedOp : uint32_t { }; enum AddSubExtendedOp : uint32_t { - AddSubExtendedFixed = 0x0B200000u, - AddSubExtendedFMask = 0x1F200000u, - AddSubExtendedMask = 0xFFE00000u, + AddSubExtendedFixed = 0x0B200000, + AddSubExtendedFMask = 0x1F200000, + AddSubExtendedMask = 0xFFE00000, #define ADD_SUB_EXTENDED(A) \ A##_w_ext = AddSubExtendedFixed | A, \ A##_x_ext = AddSubExtendedFixed | A | SixtyFourBits @@ -712,9 +720,9 @@ enum AddSubExtendedOp : uint32_t { // Add/sub with carry. enum AddSubWithCarryOp : uint32_t { - AddSubWithCarryFixed = 0x1A000000u, - AddSubWithCarryFMask = 0x1FE00000u, - AddSubWithCarryMask = 0xFFE0FC00u, + AddSubWithCarryFixed = 0x1A000000, + AddSubWithCarryFMask = 0x1FE00000, + AddSubWithCarryMask = 0xFFE0FC00, ADC_w = AddSubWithCarryFixed | ADD, ADC_x = AddSubWithCarryFixed | ADD | SixtyFourBits, ADC = ADC_w, @@ -729,41 +737,41 @@ enum AddSubWithCarryOp : uint32_t { // Rotate right into flags. enum RotateRightIntoFlagsOp : uint32_t { - RotateRightIntoFlagsFixed = 0x1A000400u, - RotateRightIntoFlagsFMask = 0x1FE07C00u, - RotateRightIntoFlagsMask = 0xFFE07C10u, - RMIF = RotateRightIntoFlagsFixed | 0xA0000000u + RotateRightIntoFlagsFixed = 0x1A000400, + RotateRightIntoFlagsFMask = 0x1FE07C00, + RotateRightIntoFlagsMask = 0xFFE07C10, + RMIF = RotateRightIntoFlagsFixed | 0xA0000000 }; // Evaluate into flags. enum EvaluateIntoFlagsOp : uint32_t { - EvaluateIntoFlagsFixed = 0x1A000800u, - EvaluateIntoFlagsFMask = 0x1FE03C00u, - EvaluateIntoFlagsMask = 0xFFE07C1Fu, - SETF8 = EvaluateIntoFlagsFixed | 0x2000000Du, - SETF16 = EvaluateIntoFlagsFixed | 0x2000400Du + EvaluateIntoFlagsFixed = 0x1A000800, + EvaluateIntoFlagsFMask = 0x1FE03C00, + EvaluateIntoFlagsMask = 0xFFE07C1F, + SETF8 = EvaluateIntoFlagsFixed | 0x2000000D, + SETF16 = EvaluateIntoFlagsFixed | 0x2000400D }; // Logical (immediate and shifted register). enum LogicalOp : uint32_t { - LogicalOpMask = 0x60200000u, - NOT = 0x00200000u, - AND = 0x00000000u, + LogicalOpMask = 0x60200000, + NOT = 0x00200000, + AND = 0x00000000, BIC = AND | NOT, - ORR = 0x20000000u, + ORR = 0x20000000, ORN = ORR | NOT, - EOR = 0x40000000u, + EOR = 0x40000000, EON = EOR | NOT, - ANDS = 0x60000000u, + ANDS = 0x60000000, BICS = ANDS | NOT }; // Logical immediate. enum LogicalImmediateOp : uint32_t { - LogicalImmediateFixed = 0x12000000u, - LogicalImmediateFMask = 0x1F800000u, - LogicalImmediateMask = 0xFF800000u, + LogicalImmediateFixed = 0x12000000, + LogicalImmediateFMask = 0x1F800000, + LogicalImmediateMask = 0xFF800000, AND_w_imm = LogicalImmediateFixed | AND, AND_x_imm = LogicalImmediateFixed | AND | SixtyFourBits, ORR_w_imm = LogicalImmediateFixed | ORR, @@ -776,9 +784,9 @@ enum LogicalImmediateOp : uint32_t { // Logical shifted register. enum LogicalShiftedOp : uint32_t { - LogicalShiftedFixed = 0x0A000000u, - LogicalShiftedFMask = 0x1F000000u, - LogicalShiftedMask = 0xFF200000u, + LogicalShiftedFixed = 0x0A000000, + LogicalShiftedFMask = 0x1F000000, + LogicalShiftedMask = 0xFF200000, AND_w = LogicalShiftedFixed | AND, AND_x = LogicalShiftedFixed | AND | SixtyFourBits, AND_shift = AND_w, @@ -807,12 +815,12 @@ enum LogicalShiftedOp : uint32_t { // Move wide immediate. enum MoveWideImmediateOp : uint32_t { - MoveWideImmediateFixed = 0x12800000u, - MoveWideImmediateFMask = 0x1F800000u, - MoveWideImmediateMask = 0xFF800000u, - MOVN = 0x00000000u, - MOVZ = 0x40000000u, - MOVK = 0x60000000u, + MoveWideImmediateFixed = 0x12800000, + MoveWideImmediateFMask = 0x1F800000, + MoveWideImmediateMask = 0xFF800000, + MOVN = 0x00000000, + MOVZ = 0x40000000, + MOVK = 0x60000000, MOVN_w = MoveWideImmediateFixed | MOVN, MOVN_x = MoveWideImmediateFixed | MOVN | SixtyFourBits, MOVZ_w = MoveWideImmediateFixed | MOVZ, @@ -824,89 +832,89 @@ enum MoveWideImmediateOp : uint32_t { // Bitfield. const int kBitfieldNOffset = 22; enum BitfieldOp : uint32_t { - BitfieldFixed = 0x13000000u, - BitfieldFMask = 0x1F800000u, - BitfieldMask = 0xFF800000u, - SBFM_w = BitfieldFixed | 0x00000000u, - SBFM_x = BitfieldFixed | 0x80000000u, + BitfieldFixed = 0x13000000, + BitfieldFMask = 0x1F800000, + BitfieldMask = 0xFF800000, + SBFM_w = BitfieldFixed | 0x00000000, + SBFM_x = BitfieldFixed | 0x80000000, SBFM = SBFM_w, - BFM_w = BitfieldFixed | 0x20000000u, - BFM_x = BitfieldFixed | 0xA0000000u, + BFM_w = BitfieldFixed | 0x20000000, + BFM_x = BitfieldFixed | 0xA0000000, BFM = BFM_w, - UBFM_w = BitfieldFixed | 0x40000000u, - UBFM_x = BitfieldFixed | 0xC0000000u, + UBFM_w = BitfieldFixed | 0x40000000, + UBFM_x = BitfieldFixed | 0xC0000000, UBFM = UBFM_w // Bitfield N field. }; // Extract. enum ExtractOp : uint32_t { - ExtractFixed = 0x13800000u, - ExtractFMask = 0x1F800000u, - ExtractMask = 0xFFA00000u, - EXTR_w = ExtractFixed | 0x00000000u, - EXTR_x = ExtractFixed | 0x80000000u, + ExtractFixed = 0x13800000, + ExtractFMask = 0x1F800000, + ExtractMask = 0xFFA00000, + EXTR_w = ExtractFixed | 0x00000000, + EXTR_x = ExtractFixed | 0x80000000, EXTR = EXTR_w }; // Unconditional branch. enum UnconditionalBranchOp : uint32_t { - UnconditionalBranchFixed = 0x14000000u, - UnconditionalBranchFMask = 0x7C000000u, - UnconditionalBranchMask = 0xFC000000u, - B = UnconditionalBranchFixed | 0x00000000u, - BL = UnconditionalBranchFixed | 0x80000000u + UnconditionalBranchFixed = 0x14000000, + UnconditionalBranchFMask = 0x7C000000, + UnconditionalBranchMask = 0xFC000000, + B = UnconditionalBranchFixed | 0x00000000, + BL = UnconditionalBranchFixed | 0x80000000 }; // Unconditional branch to register. enum UnconditionalBranchToRegisterOp : uint32_t { - UnconditionalBranchToRegisterFixed = 0xD6000000u, - UnconditionalBranchToRegisterFMask = 0xFE000000u, - UnconditionalBranchToRegisterMask = 0xFFFFFC00u, - BR = UnconditionalBranchToRegisterFixed | 0x001F0000u, - BLR = UnconditionalBranchToRegisterFixed | 0x003F0000u, - RET = UnconditionalBranchToRegisterFixed | 0x005F0000u, - - BRAAZ = UnconditionalBranchToRegisterFixed | 0x001F0800u, - BRABZ = UnconditionalBranchToRegisterFixed | 0x001F0C00u, - BLRAAZ = UnconditionalBranchToRegisterFixed | 0x003F0800u, - BLRABZ = UnconditionalBranchToRegisterFixed | 0x003F0C00u, - RETAA = UnconditionalBranchToRegisterFixed | 0x005F0800u, - RETAB = UnconditionalBranchToRegisterFixed | 0x005F0C00u, - BRAA = UnconditionalBranchToRegisterFixed | 0x011F0800u, - BRAB = UnconditionalBranchToRegisterFixed | 0x011F0C00u, - BLRAA = UnconditionalBranchToRegisterFixed | 0x013F0800u, - BLRAB = UnconditionalBranchToRegisterFixed | 0x013F0C00u + UnconditionalBranchToRegisterFixed = 0xD6000000, + UnconditionalBranchToRegisterFMask = 0xFE000000, + UnconditionalBranchToRegisterMask = 0xFFFFFC00, + BR = UnconditionalBranchToRegisterFixed | 0x001F0000, + BLR = UnconditionalBranchToRegisterFixed | 0x003F0000, + RET = UnconditionalBranchToRegisterFixed | 0x005F0000, + + BRAAZ = UnconditionalBranchToRegisterFixed | 0x001F0800, + BRABZ = UnconditionalBranchToRegisterFixed | 0x001F0C00, + BLRAAZ = UnconditionalBranchToRegisterFixed | 0x003F0800, + BLRABZ = UnconditionalBranchToRegisterFixed | 0x003F0C00, + RETAA = UnconditionalBranchToRegisterFixed | 0x005F0800, + RETAB = UnconditionalBranchToRegisterFixed | 0x005F0C00, + BRAA = UnconditionalBranchToRegisterFixed | 0x011F0800, + BRAB = UnconditionalBranchToRegisterFixed | 0x011F0C00, + BLRAA = UnconditionalBranchToRegisterFixed | 0x013F0800, + BLRAB = UnconditionalBranchToRegisterFixed | 0x013F0C00 }; // Compare and branch. enum CompareBranchOp : uint32_t { - CompareBranchFixed = 0x34000000u, - CompareBranchFMask = 0x7E000000u, - CompareBranchMask = 0xFF000000u, - CBZ_w = CompareBranchFixed | 0x00000000u, - CBZ_x = CompareBranchFixed | 0x80000000u, + CompareBranchFixed = 0x34000000, + CompareBranchFMask = 0x7E000000, + CompareBranchMask = 0xFF000000, + CBZ_w = CompareBranchFixed | 0x00000000, + CBZ_x = CompareBranchFixed | 0x80000000, CBZ = CBZ_w, - CBNZ_w = CompareBranchFixed | 0x01000000u, - CBNZ_x = CompareBranchFixed | 0x81000000u, + CBNZ_w = CompareBranchFixed | 0x01000000, + CBNZ_x = CompareBranchFixed | 0x81000000, CBNZ = CBNZ_w }; // Test and branch. enum TestBranchOp : uint32_t { - TestBranchFixed = 0x36000000u, - TestBranchFMask = 0x7E000000u, - TestBranchMask = 0x7F000000u, - TBZ = TestBranchFixed | 0x00000000u, - TBNZ = TestBranchFixed | 0x01000000u + TestBranchFixed = 0x36000000, + TestBranchFMask = 0x7E000000, + TestBranchMask = 0x7F000000, + TBZ = TestBranchFixed | 0x00000000, + TBNZ = TestBranchFixed | 0x01000000 }; // Conditional branch. enum ConditionalBranchOp : uint32_t { - ConditionalBranchFixed = 0x54000000u, - ConditionalBranchFMask = 0xFE000000u, - ConditionalBranchMask = 0xFF000010u, - B_cond = ConditionalBranchFixed | 0x00000000u + ConditionalBranchFixed = 0x54000000, + ConditionalBranchFMask = 0xFE000000, + ConditionalBranchMask = 0xFF000010, + B_cond = ConditionalBranchFixed | 0x00000000 }; // System. @@ -915,122 +923,123 @@ enum ConditionalBranchOp : uint32_t { // instructions are split into more than one enum. enum SystemOp : uint32_t { - SystemFixed = 0xD5000000u, - SystemFMask = 0xFFC00000u + SystemFixed = 0xD5000000, + SystemFMask = 0xFFC00000 }; enum SystemSysRegOp : uint32_t { - SystemSysRegFixed = 0xD5100000u, - SystemSysRegFMask = 0xFFD00000u, - SystemSysRegMask = 0xFFF00000u, - MRS = SystemSysRegFixed | 0x00200000u, - MSR = SystemSysRegFixed | 0x00000000u + SystemSysRegFixed = 0xD5100000, + SystemSysRegFMask = 0xFFD00000, + SystemSysRegMask = 0xFFF00000, + MRS = SystemSysRegFixed | 0x00200000, + MSR = SystemSysRegFixed | 0x00000000 }; enum SystemPStateOp : uint32_t { - SystemPStateFixed = 0xD5004000u, - SystemPStateFMask = 0xFFF8F000u, - SystemPStateMask = 0xFFFFF0FFu, - CFINV = SystemPStateFixed | 0x0000001Fu, - XAFLAG = SystemPStateFixed | 0x0000003Fu, - AXFLAG = SystemPStateFixed | 0x0000005Fu + SystemPStateFixed = 0xD5004000, + SystemPStateFMask = 0xFFF8F000, + SystemPStateMask = 0xFFFFF0FF, + CFINV = SystemPStateFixed | 0x0000001F, + XAFLAG = SystemPStateFixed | 0x0000003F, + AXFLAG = SystemPStateFixed | 0x0000005F }; enum SystemHintOp : uint32_t { - SystemHintFixed = 0xD503201Fu, - SystemHintFMask = 0xFFFFF01Fu, - SystemHintMask = 0xFFFFF01Fu, - HINT = SystemHintFixed | 0x00000000u + SystemHintFixed = 0xD503201F, + SystemHintFMask = 0xFFFFF01F, + SystemHintMask = 0xFFFFF01F, + HINT = SystemHintFixed | 0x00000000 }; enum SystemSysOp : uint32_t { - SystemSysFixed = 0xD5080000u, - SystemSysFMask = 0xFFF80000u, - SystemSysMask = 0xFFF80000u, - SYS = SystemSysFixed | 0x00000000u + SystemSysFixed = 0xD5080000, + SystemSysFMask = 0xFFF80000, + SystemSysMask = 0xFFF80000, + SYS = SystemSysFixed | 0x00000000, + SYSL = SystemSysFixed | 0x00200000 }; // Exception. enum ExceptionOp : uint32_t { - ExceptionFixed = 0xD4000000u, - ExceptionFMask = 0xFF000000u, - ExceptionMask = 0xFFE0001Fu, - HLT = ExceptionFixed | 0x00400000u, - BRK = ExceptionFixed | 0x00200000u, - SVC = ExceptionFixed | 0x00000001u, - HVC = ExceptionFixed | 0x00000002u, - SMC = ExceptionFixed | 0x00000003u, - DCPS1 = ExceptionFixed | 0x00A00001u, - DCPS2 = ExceptionFixed | 0x00A00002u, - DCPS3 = ExceptionFixed | 0x00A00003u + ExceptionFixed = 0xD4000000, + ExceptionFMask = 0xFF000000, + ExceptionMask = 0xFFE0001F, + HLT = ExceptionFixed | 0x00400000, + BRK = ExceptionFixed | 0x00200000, + SVC = ExceptionFixed | 0x00000001, + HVC = ExceptionFixed | 0x00000002, + SMC = ExceptionFixed | 0x00000003, + DCPS1 = ExceptionFixed | 0x00A00001, + DCPS2 = ExceptionFixed | 0x00A00002, + DCPS3 = ExceptionFixed | 0x00A00003 }; enum MemBarrierOp : uint32_t { - MemBarrierFixed = 0xD503309Fu, - MemBarrierFMask = 0xFFFFF09Fu, - MemBarrierMask = 0xFFFFF0FFu, - DSB = MemBarrierFixed | 0x00000000u, - DMB = MemBarrierFixed | 0x00000020u, - ISB = MemBarrierFixed | 0x00000040u + MemBarrierFixed = 0xD503309F, + MemBarrierFMask = 0xFFFFF09F, + MemBarrierMask = 0xFFFFF0FF, + DSB = MemBarrierFixed | 0x00000000, + DMB = MemBarrierFixed | 0x00000020, + ISB = MemBarrierFixed | 0x00000040 }; enum SystemExclusiveMonitorOp : uint32_t { - SystemExclusiveMonitorFixed = 0xD503305Fu, - SystemExclusiveMonitorFMask = 0xFFFFF0FFu, - SystemExclusiveMonitorMask = 0xFFFFF0FFu, + SystemExclusiveMonitorFixed = 0xD503305F, + SystemExclusiveMonitorFMask = 0xFFFFF0FF, + SystemExclusiveMonitorMask = 0xFFFFF0FF, CLREX = SystemExclusiveMonitorFixed }; enum SystemPAuthOp : uint32_t { - SystemPAuthFixed = 0xD503211Fu, - SystemPAuthFMask = 0xFFFFFD1Fu, - SystemPAuthMask = 0xFFFFFFFFu, - PACIA1716 = SystemPAuthFixed | 0x00000100u, - PACIB1716 = SystemPAuthFixed | 0x00000140u, - AUTIA1716 = SystemPAuthFixed | 0x00000180u, - AUTIB1716 = SystemPAuthFixed | 0x000001C0u, - PACIAZ = SystemPAuthFixed | 0x00000300u, - PACIASP = SystemPAuthFixed | 0x00000320u, - PACIBZ = SystemPAuthFixed | 0x00000340u, - PACIBSP = SystemPAuthFixed | 0x00000360u, - AUTIAZ = SystemPAuthFixed | 0x00000380u, - AUTIASP = SystemPAuthFixed | 0x000003A0u, - AUTIBZ = SystemPAuthFixed | 0x000003C0u, - AUTIBSP = SystemPAuthFixed | 0x000003E0u, + SystemPAuthFixed = 0xD503211F, + SystemPAuthFMask = 0xFFFFFD1F, + SystemPAuthMask = 0xFFFFFFFF, + PACIA1716 = SystemPAuthFixed | 0x00000100, + PACIB1716 = SystemPAuthFixed | 0x00000140, + AUTIA1716 = SystemPAuthFixed | 0x00000180, + AUTIB1716 = SystemPAuthFixed | 0x000001C0, + PACIAZ = SystemPAuthFixed | 0x00000300, + PACIASP = SystemPAuthFixed | 0x00000320, + PACIBZ = SystemPAuthFixed | 0x00000340, + PACIBSP = SystemPAuthFixed | 0x00000360, + AUTIAZ = SystemPAuthFixed | 0x00000380, + AUTIASP = SystemPAuthFixed | 0x000003A0, + AUTIBZ = SystemPAuthFixed | 0x000003C0, + AUTIBSP = SystemPAuthFixed | 0x000003E0, // XPACLRI has the same fixed mask as System Hints and needs to be handled // differently. - XPACLRI = 0xD50320FFu + XPACLRI = 0xD50320FF }; // Any load or store. enum LoadStoreAnyOp : uint32_t { - LoadStoreAnyFMask = 0x0a000000u, - LoadStoreAnyFixed = 0x08000000u + LoadStoreAnyFMask = 0x0a000000, + LoadStoreAnyFixed = 0x08000000 }; // Any load pair or store pair. enum LoadStorePairAnyOp : uint32_t { - LoadStorePairAnyFMask = 0x3a000000u, - LoadStorePairAnyFixed = 0x28000000u + LoadStorePairAnyFMask = 0x3a000000, + LoadStorePairAnyFixed = 0x28000000 }; #define LOAD_STORE_PAIR_OP_LIST(V) \ - V(STP, w, 0x00000000u), \ - V(LDP, w, 0x00400000u), \ - V(LDPSW, x, 0x40400000u), \ - V(STP, x, 0x80000000u), \ - V(LDP, x, 0x80400000u), \ - V(STP, s, 0x04000000u), \ - V(LDP, s, 0x04400000u), \ - V(STP, d, 0x44000000u), \ - V(LDP, d, 0x44400000u), \ - V(STP, q, 0x84000000u), \ - V(LDP, q, 0x84400000u) + V(STP, w, 0x00000000), \ + V(LDP, w, 0x00400000), \ + V(LDPSW, x, 0x40400000), \ + V(STP, x, 0x80000000), \ + V(LDP, x, 0x80400000), \ + V(STP, s, 0x04000000), \ + V(LDP, s, 0x04400000), \ + V(STP, d, 0x44000000), \ + V(LDP, d, 0x44400000), \ + V(STP, q, 0x84000000), \ + V(LDP, q, 0x84400000) // Load/store pair (post, pre and offset.) enum LoadStorePairOp : uint32_t { - LoadStorePairMask = 0xC4400000u, + LoadStorePairMask = 0xC4400000, LoadStorePairLBit = 1 << 22, #define LOAD_STORE_PAIR(A, B, C) \ A##_##B = C @@ -1039,9 +1048,9 @@ enum LoadStorePairOp : uint32_t { }; enum LoadStorePairPostIndexOp : uint32_t { - LoadStorePairPostIndexFixed = 0x28800000u, - LoadStorePairPostIndexFMask = 0x3B800000u, - LoadStorePairPostIndexMask = 0xFFC00000u, + LoadStorePairPostIndexFixed = 0x28800000, + LoadStorePairPostIndexFMask = 0x3B800000, + LoadStorePairPostIndexMask = 0xFFC00000, #define LOAD_STORE_PAIR_POST_INDEX(A, B, C) \ A##_##B##_post = LoadStorePairPostIndexFixed | A##_##B LOAD_STORE_PAIR_OP_LIST(LOAD_STORE_PAIR_POST_INDEX) @@ -1049,9 +1058,9 @@ enum LoadStorePairPostIndexOp : uint32_t { }; enum LoadStorePairPreIndexOp : uint32_t { - LoadStorePairPreIndexFixed = 0x29800000u, - LoadStorePairPreIndexFMask = 0x3B800000u, - LoadStorePairPreIndexMask = 0xFFC00000u, + LoadStorePairPreIndexFixed = 0x29800000, + LoadStorePairPreIndexFMask = 0x3B800000, + LoadStorePairPreIndexMask = 0xFFC00000, #define LOAD_STORE_PAIR_PRE_INDEX(A, B, C) \ A##_##B##_pre = LoadStorePairPreIndexFixed | A##_##B LOAD_STORE_PAIR_OP_LIST(LOAD_STORE_PAIR_PRE_INDEX) @@ -1059,9 +1068,9 @@ enum LoadStorePairPreIndexOp : uint32_t { }; enum LoadStorePairOffsetOp : uint32_t { - LoadStorePairOffsetFixed = 0x29000000u, - LoadStorePairOffsetFMask = 0x3B800000u, - LoadStorePairOffsetMask = 0xFFC00000u, + LoadStorePairOffsetFixed = 0x29000000, + LoadStorePairOffsetFMask = 0x3B800000, + LoadStorePairOffsetMask = 0xFFC00000, #define LOAD_STORE_PAIR_OFFSET(A, B, C) \ A##_##B##_off = LoadStorePairOffsetFixed | A##_##B LOAD_STORE_PAIR_OP_LIST(LOAD_STORE_PAIR_OFFSET) @@ -1069,9 +1078,9 @@ enum LoadStorePairOffsetOp : uint32_t { }; enum LoadStorePairNonTemporalOp : uint32_t { - LoadStorePairNonTemporalFixed = 0x28000000u, - LoadStorePairNonTemporalFMask = 0x3B800000u, - LoadStorePairNonTemporalMask = 0xFFC00000u, + LoadStorePairNonTemporalFixed = 0x28000000, + LoadStorePairNonTemporalFMask = 0x3B800000, + LoadStorePairNonTemporalMask = 0xFFC00000, LoadStorePairNonTemporalLBit = 1 << 22, STNP_w = LoadStorePairNonTemporalFixed | STP_w, LDNP_w = LoadStorePairNonTemporalFixed | LDP_w, @@ -1086,72 +1095,72 @@ enum LoadStorePairNonTemporalOp : uint32_t { }; // Load with pointer authentication. -enum LoadStorePACOp { - LoadStorePACFixed = 0xF8200400u, - LoadStorePACFMask = 0xFF200400u, - LoadStorePACMask = 0xFFA00C00u, - LoadStorePACPreBit = 0x00000800u, - LDRAA = LoadStorePACFixed | 0x00000000u, +enum LoadStorePACOp : uint32_t { + LoadStorePACFixed = 0xF8200400, + LoadStorePACFMask = 0xFF200400, + LoadStorePACMask = 0xFFA00C00, + LoadStorePACPreBit = 0x00000800, + LDRAA = LoadStorePACFixed | 0x00000000, LDRAA_pre = LoadStorePACPreBit | LDRAA, - LDRAB = LoadStorePACFixed | 0x00800000u, + LDRAB = LoadStorePACFixed | 0x00800000, LDRAB_pre = LoadStorePACPreBit | LDRAB }; // Load literal. enum LoadLiteralOp : uint32_t { - LoadLiteralFixed = 0x18000000u, - LoadLiteralFMask = 0x3B000000u, - LoadLiteralMask = 0xFF000000u, - LDR_w_lit = LoadLiteralFixed | 0x00000000u, - LDR_x_lit = LoadLiteralFixed | 0x40000000u, - LDRSW_x_lit = LoadLiteralFixed | 0x80000000u, - PRFM_lit = LoadLiteralFixed | 0xC0000000u, - LDR_s_lit = LoadLiteralFixed | 0x04000000u, - LDR_d_lit = LoadLiteralFixed | 0x44000000u, - LDR_q_lit = LoadLiteralFixed | 0x84000000u + LoadLiteralFixed = 0x18000000, + LoadLiteralFMask = 0x3B000000, + LoadLiteralMask = 0xFF000000, + LDR_w_lit = LoadLiteralFixed | 0x00000000, + LDR_x_lit = LoadLiteralFixed | 0x40000000, + LDRSW_x_lit = LoadLiteralFixed | 0x80000000, + PRFM_lit = LoadLiteralFixed | 0xC0000000, + LDR_s_lit = LoadLiteralFixed | 0x04000000, + LDR_d_lit = LoadLiteralFixed | 0x44000000, + LDR_q_lit = LoadLiteralFixed | 0x84000000 }; #define LOAD_STORE_OP_LIST(V) \ - V(ST, RB, w, 0x00000000u), \ - V(ST, RH, w, 0x40000000u), \ - V(ST, R, w, 0x80000000u), \ - V(ST, R, x, 0xC0000000u), \ - V(LD, RB, w, 0x00400000u), \ - V(LD, RH, w, 0x40400000u), \ - V(LD, R, w, 0x80400000u), \ - V(LD, R, x, 0xC0400000u), \ - V(LD, RSB, x, 0x00800000u), \ - V(LD, RSH, x, 0x40800000u), \ - V(LD, RSW, x, 0x80800000u), \ - V(LD, RSB, w, 0x00C00000u), \ - V(LD, RSH, w, 0x40C00000u), \ - V(ST, R, b, 0x04000000u), \ - V(ST, R, h, 0x44000000u), \ - V(ST, R, s, 0x84000000u), \ - V(ST, R, d, 0xC4000000u), \ - V(ST, R, q, 0x04800000u), \ - V(LD, R, b, 0x04400000u), \ - V(LD, R, h, 0x44400000u), \ - V(LD, R, s, 0x84400000u), \ - V(LD, R, d, 0xC4400000u), \ - V(LD, R, q, 0x04C00000u) + V(ST, RB, w, 0x00000000), \ + V(ST, RH, w, 0x40000000), \ + V(ST, R, w, 0x80000000), \ + V(ST, R, x, 0xC0000000), \ + V(LD, RB, w, 0x00400000), \ + V(LD, RH, w, 0x40400000), \ + V(LD, R, w, 0x80400000), \ + V(LD, R, x, 0xC0400000), \ + V(LD, RSB, x, 0x00800000), \ + V(LD, RSH, x, 0x40800000), \ + V(LD, RSW, x, 0x80800000), \ + V(LD, RSB, w, 0x00C00000), \ + V(LD, RSH, w, 0x40C00000), \ + V(ST, R, b, 0x04000000), \ + V(ST, R, h, 0x44000000), \ + V(ST, R, s, 0x84000000), \ + V(ST, R, d, 0xC4000000), \ + V(ST, R, q, 0x04800000), \ + V(LD, R, b, 0x04400000), \ + V(LD, R, h, 0x44400000), \ + V(LD, R, s, 0x84400000), \ + V(LD, R, d, 0xC4400000), \ + V(LD, R, q, 0x04C00000) // Load/store (post, pre, offset and unsigned.) enum LoadStoreOp : uint32_t { - LoadStoreMask = 0xC4C00000u, - LoadStoreVMask = 0x04000000u, + LoadStoreMask = 0xC4C00000, + LoadStoreVMask = 0x04000000, #define LOAD_STORE(A, B, C, D) \ A##B##_##C = D LOAD_STORE_OP_LIST(LOAD_STORE), #undef LOAD_STORE - PRFM = 0xC0800000u + PRFM = 0xC0800000 }; // Load/store unscaled offset. enum LoadStoreUnscaledOffsetOp : uint32_t { - LoadStoreUnscaledOffsetFixed = 0x38000000u, - LoadStoreUnscaledOffsetFMask = 0x3B200C00u, - LoadStoreUnscaledOffsetMask = 0xFFE00C00u, + LoadStoreUnscaledOffsetFixed = 0x38000000, + LoadStoreUnscaledOffsetFMask = 0x3B200C00, + LoadStoreUnscaledOffsetMask = 0xFFE00C00, PRFUM = LoadStoreUnscaledOffsetFixed | PRFM, #define LOAD_STORE_UNSCALED(A, B, C, D) \ A##U##B##_##C = LoadStoreUnscaledOffsetFixed | D @@ -1161,9 +1170,9 @@ enum LoadStoreUnscaledOffsetOp : uint32_t { // Load/store post index. enum LoadStorePostIndex : uint32_t { - LoadStorePostIndexFixed = 0x38000400u, - LoadStorePostIndexFMask = 0x3B200C00u, - LoadStorePostIndexMask = 0xFFE00C00u, + LoadStorePostIndexFixed = 0x38000400, + LoadStorePostIndexFMask = 0x3B200C00, + LoadStorePostIndexMask = 0xFFE00C00, #define LOAD_STORE_POST_INDEX(A, B, C, D) \ A##B##_##C##_post = LoadStorePostIndexFixed | D LOAD_STORE_OP_LIST(LOAD_STORE_POST_INDEX) @@ -1172,9 +1181,9 @@ enum LoadStorePostIndex : uint32_t { // Load/store pre index. enum LoadStorePreIndex : uint32_t { - LoadStorePreIndexFixed = 0x38000C00u, - LoadStorePreIndexFMask = 0x3B200C00u, - LoadStorePreIndexMask = 0xFFE00C00u, + LoadStorePreIndexFixed = 0x38000C00, + LoadStorePreIndexFMask = 0x3B200C00, + LoadStorePreIndexMask = 0xFFE00C00, #define LOAD_STORE_PRE_INDEX(A, B, C, D) \ A##B##_##C##_pre = LoadStorePreIndexFixed | D LOAD_STORE_OP_LIST(LOAD_STORE_PRE_INDEX) @@ -1183,9 +1192,9 @@ enum LoadStorePreIndex : uint32_t { // Load/store unsigned offset. enum LoadStoreUnsignedOffset : uint32_t { - LoadStoreUnsignedOffsetFixed = 0x39000000u, - LoadStoreUnsignedOffsetFMask = 0x3B000000u, - LoadStoreUnsignedOffsetMask = 0xFFC00000u, + LoadStoreUnsignedOffsetFixed = 0x39000000, + LoadStoreUnsignedOffsetFMask = 0x3B000000, + LoadStoreUnsignedOffsetMask = 0xFFC00000, PRFM_unsigned = LoadStoreUnsignedOffsetFixed | PRFM, #define LOAD_STORE_UNSIGNED_OFFSET(A, B, C, D) \ A##B##_##C##_unsigned = LoadStoreUnsignedOffsetFixed | D @@ -1195,9 +1204,9 @@ enum LoadStoreUnsignedOffset : uint32_t { // Load/store register offset. enum LoadStoreRegisterOffset : uint32_t { - LoadStoreRegisterOffsetFixed = 0x38200800u, - LoadStoreRegisterOffsetFMask = 0x3B200C00u, - LoadStoreRegisterOffsetMask = 0xFFE00C00u, + LoadStoreRegisterOffsetFixed = 0x38200800, + LoadStoreRegisterOffsetFMask = 0x3B200C00, + LoadStoreRegisterOffsetMask = 0xFFE00C00, PRFM_reg = LoadStoreRegisterOffsetFixed | PRFM, #define LOAD_STORE_REGISTER_OFFSET(A, B, C, D) \ A##B##_##C##_reg = LoadStoreRegisterOffsetFixed | D @@ -1206,60 +1215,60 @@ enum LoadStoreRegisterOffset : uint32_t { }; enum LoadStoreExclusive : uint32_t { - LoadStoreExclusiveFixed = 0x08000000u, - LoadStoreExclusiveFMask = 0x3F000000u, - LoadStoreExclusiveMask = 0xFFE08000u, - STXRB_w = LoadStoreExclusiveFixed | 0x00000000u, - STXRH_w = LoadStoreExclusiveFixed | 0x40000000u, - STXR_w = LoadStoreExclusiveFixed | 0x80000000u, - STXR_x = LoadStoreExclusiveFixed | 0xC0000000u, - LDXRB_w = LoadStoreExclusiveFixed | 0x00400000u, - LDXRH_w = LoadStoreExclusiveFixed | 0x40400000u, - LDXR_w = LoadStoreExclusiveFixed | 0x80400000u, - LDXR_x = LoadStoreExclusiveFixed | 0xC0400000u, - STXP_w = LoadStoreExclusiveFixed | 0x80200000u, - STXP_x = LoadStoreExclusiveFixed | 0xC0200000u, - LDXP_w = LoadStoreExclusiveFixed | 0x80600000u, - LDXP_x = LoadStoreExclusiveFixed | 0xC0600000u, - STLXRB_w = LoadStoreExclusiveFixed | 0x00008000u, - STLXRH_w = LoadStoreExclusiveFixed | 0x40008000u, - STLXR_w = LoadStoreExclusiveFixed | 0x80008000u, - STLXR_x = LoadStoreExclusiveFixed | 0xC0008000u, - LDAXRB_w = LoadStoreExclusiveFixed | 0x00408000u, - LDAXRH_w = LoadStoreExclusiveFixed | 0x40408000u, - LDAXR_w = LoadStoreExclusiveFixed | 0x80408000u, - LDAXR_x = LoadStoreExclusiveFixed | 0xC0408000u, - STLXP_w = LoadStoreExclusiveFixed | 0x80208000u, - STLXP_x = LoadStoreExclusiveFixed | 0xC0208000u, - LDAXP_w = LoadStoreExclusiveFixed | 0x80608000u, - LDAXP_x = LoadStoreExclusiveFixed | 0xC0608000u, - STLRB_w = LoadStoreExclusiveFixed | 0x00808000u, - STLRH_w = LoadStoreExclusiveFixed | 0x40808000u, - STLR_w = LoadStoreExclusiveFixed | 0x80808000u, - STLR_x = LoadStoreExclusiveFixed | 0xC0808000u, - LDARB_w = LoadStoreExclusiveFixed | 0x00C08000u, - LDARH_w = LoadStoreExclusiveFixed | 0x40C08000u, - LDAR_w = LoadStoreExclusiveFixed | 0x80C08000u, - LDAR_x = LoadStoreExclusiveFixed | 0xC0C08000u, + LoadStoreExclusiveFixed = 0x08000000, + LoadStoreExclusiveFMask = 0x3F000000, + LoadStoreExclusiveMask = 0xFFE08000, + STXRB_w = LoadStoreExclusiveFixed | 0x00000000, + STXRH_w = LoadStoreExclusiveFixed | 0x40000000, + STXR_w = LoadStoreExclusiveFixed | 0x80000000, + STXR_x = LoadStoreExclusiveFixed | 0xC0000000, + LDXRB_w = LoadStoreExclusiveFixed | 0x00400000, + LDXRH_w = LoadStoreExclusiveFixed | 0x40400000, + LDXR_w = LoadStoreExclusiveFixed | 0x80400000, + LDXR_x = LoadStoreExclusiveFixed | 0xC0400000, + STXP_w = LoadStoreExclusiveFixed | 0x80200000, + STXP_x = LoadStoreExclusiveFixed | 0xC0200000, + LDXP_w = LoadStoreExclusiveFixed | 0x80600000, + LDXP_x = LoadStoreExclusiveFixed | 0xC0600000, + STLXRB_w = LoadStoreExclusiveFixed | 0x00008000, + STLXRH_w = LoadStoreExclusiveFixed | 0x40008000, + STLXR_w = LoadStoreExclusiveFixed | 0x80008000, + STLXR_x = LoadStoreExclusiveFixed | 0xC0008000, + LDAXRB_w = LoadStoreExclusiveFixed | 0x00408000, + LDAXRH_w = LoadStoreExclusiveFixed | 0x40408000, + LDAXR_w = LoadStoreExclusiveFixed | 0x80408000, + LDAXR_x = LoadStoreExclusiveFixed | 0xC0408000, + STLXP_w = LoadStoreExclusiveFixed | 0x80208000, + STLXP_x = LoadStoreExclusiveFixed | 0xC0208000, + LDAXP_w = LoadStoreExclusiveFixed | 0x80608000, + LDAXP_x = LoadStoreExclusiveFixed | 0xC0608000, + STLRB_w = LoadStoreExclusiveFixed | 0x00808000, + STLRH_w = LoadStoreExclusiveFixed | 0x40808000, + STLR_w = LoadStoreExclusiveFixed | 0x80808000, + STLR_x = LoadStoreExclusiveFixed | 0xC0808000, + LDARB_w = LoadStoreExclusiveFixed | 0x00C08000, + LDARH_w = LoadStoreExclusiveFixed | 0x40C08000, + LDAR_w = LoadStoreExclusiveFixed | 0x80C08000, + LDAR_x = LoadStoreExclusiveFixed | 0xC0C08000, // v8.1 Load/store LORegion ops - STLLRB = LoadStoreExclusiveFixed | 0x00800000u, - LDLARB = LoadStoreExclusiveFixed | 0x00C00000u, - STLLRH = LoadStoreExclusiveFixed | 0x40800000u, - LDLARH = LoadStoreExclusiveFixed | 0x40C00000u, - STLLR_w = LoadStoreExclusiveFixed | 0x80800000u, - LDLAR_w = LoadStoreExclusiveFixed | 0x80C00000u, - STLLR_x = LoadStoreExclusiveFixed | 0xC0800000u, - LDLAR_x = LoadStoreExclusiveFixed | 0xC0C00000u, + STLLRB = LoadStoreExclusiveFixed | 0x00800000, + LDLARB = LoadStoreExclusiveFixed | 0x00C00000, + STLLRH = LoadStoreExclusiveFixed | 0x40800000, + LDLARH = LoadStoreExclusiveFixed | 0x40C00000, + STLLR_w = LoadStoreExclusiveFixed | 0x80800000, + LDLAR_w = LoadStoreExclusiveFixed | 0x80C00000, + STLLR_x = LoadStoreExclusiveFixed | 0xC0800000, + LDLAR_x = LoadStoreExclusiveFixed | 0xC0C00000, // v8.1 Load/store exclusive ops - LSEBit_l = 0x00400000u, - LSEBit_o0 = 0x00008000u, - LSEBit_sz = 0x40000000u, - CASFixed = LoadStoreExclusiveFixed | 0x80A00000u, - CASBFixed = LoadStoreExclusiveFixed | 0x00A00000u, - CASHFixed = LoadStoreExclusiveFixed | 0x40A00000u, - CASPFixed = LoadStoreExclusiveFixed | 0x00200000u, + LSEBit_l = 0x00400000, + LSEBit_o0 = 0x00008000, + LSEBit_sz = 0x40000000, + CASFixed = LoadStoreExclusiveFixed | 0x80A00000, + CASBFixed = LoadStoreExclusiveFixed | 0x00A00000, + CASHFixed = LoadStoreExclusiveFixed | 0x40A00000, + CASPFixed = LoadStoreExclusiveFixed | 0x00200000, CAS_w = CASFixed, CAS_x = CASFixed | LSEBit_sz, CASA_w = CASFixed | LSEBit_l, @@ -1288,80 +1297,80 @@ enum LoadStoreExclusive : uint32_t { // Load/store RCpc unscaled offset. enum LoadStoreRCpcUnscaledOffsetOp : uint32_t { - LoadStoreRCpcUnscaledOffsetFixed = 0x19000000u, - LoadStoreRCpcUnscaledOffsetFMask = 0x3F200C00u, - LoadStoreRCpcUnscaledOffsetMask = 0xFFE00C00u, - STLURB = LoadStoreRCpcUnscaledOffsetFixed | 0x00000000u, - LDAPURB = LoadStoreRCpcUnscaledOffsetFixed | 0x00400000u, - LDAPURSB_x = LoadStoreRCpcUnscaledOffsetFixed | 0x00800000u, - LDAPURSB_w = LoadStoreRCpcUnscaledOffsetFixed | 0x00C00000u, - STLURH = LoadStoreRCpcUnscaledOffsetFixed | 0x40000000u, - LDAPURH = LoadStoreRCpcUnscaledOffsetFixed | 0x40400000u, - LDAPURSH_x = LoadStoreRCpcUnscaledOffsetFixed | 0x40800000u, - LDAPURSH_w = LoadStoreRCpcUnscaledOffsetFixed | 0x40C00000u, - STLUR_w = LoadStoreRCpcUnscaledOffsetFixed | 0x80000000u, - LDAPUR_w = LoadStoreRCpcUnscaledOffsetFixed | 0x80400000u, - LDAPURSW = LoadStoreRCpcUnscaledOffsetFixed | 0x80800000u, - STLUR_x = LoadStoreRCpcUnscaledOffsetFixed | 0xC0000000u, - LDAPUR_x = LoadStoreRCpcUnscaledOffsetFixed | 0xC0400000u + LoadStoreRCpcUnscaledOffsetFixed = 0x19000000, + LoadStoreRCpcUnscaledOffsetFMask = 0x3F200C00, + LoadStoreRCpcUnscaledOffsetMask = 0xFFE00C00, + STLURB = LoadStoreRCpcUnscaledOffsetFixed | 0x00000000, + LDAPURB = LoadStoreRCpcUnscaledOffsetFixed | 0x00400000, + LDAPURSB_x = LoadStoreRCpcUnscaledOffsetFixed | 0x00800000, + LDAPURSB_w = LoadStoreRCpcUnscaledOffsetFixed | 0x00C00000, + STLURH = LoadStoreRCpcUnscaledOffsetFixed | 0x40000000, + LDAPURH = LoadStoreRCpcUnscaledOffsetFixed | 0x40400000, + LDAPURSH_x = LoadStoreRCpcUnscaledOffsetFixed | 0x40800000, + LDAPURSH_w = LoadStoreRCpcUnscaledOffsetFixed | 0x40C00000, + STLUR_w = LoadStoreRCpcUnscaledOffsetFixed | 0x80000000, + LDAPUR_w = LoadStoreRCpcUnscaledOffsetFixed | 0x80400000, + LDAPURSW = LoadStoreRCpcUnscaledOffsetFixed | 0x80800000, + STLUR_x = LoadStoreRCpcUnscaledOffsetFixed | 0xC0000000, + LDAPUR_x = LoadStoreRCpcUnscaledOffsetFixed | 0xC0400000 }; #define ATOMIC_MEMORY_SIMPLE_OPC_LIST(V) \ - V(LDADD, 0x00000000u), \ - V(LDCLR, 0x00001000u), \ - V(LDEOR, 0x00002000u), \ - V(LDSET, 0x00003000u), \ - V(LDSMAX, 0x00004000u), \ - V(LDSMIN, 0x00005000u), \ - V(LDUMAX, 0x00006000u), \ - V(LDUMIN, 0x00007000u) + V(LDADD, 0x00000000), \ + V(LDCLR, 0x00001000), \ + V(LDEOR, 0x00002000), \ + V(LDSET, 0x00003000), \ + V(LDSMAX, 0x00004000), \ + V(LDSMIN, 0x00005000), \ + V(LDUMAX, 0x00006000), \ + V(LDUMIN, 0x00007000) // Atomic memory. enum AtomicMemoryOp : uint32_t { - AtomicMemoryFixed = 0x38200000u, - AtomicMemoryFMask = 0x3B200C00u, - AtomicMemoryMask = 0xFFE0FC00u, - SWPB = AtomicMemoryFixed | 0x00008000u, - SWPAB = AtomicMemoryFixed | 0x00808000u, - SWPLB = AtomicMemoryFixed | 0x00408000u, - SWPALB = AtomicMemoryFixed | 0x00C08000u, - SWPH = AtomicMemoryFixed | 0x40008000u, - SWPAH = AtomicMemoryFixed | 0x40808000u, - SWPLH = AtomicMemoryFixed | 0x40408000u, - SWPALH = AtomicMemoryFixed | 0x40C08000u, - SWP_w = AtomicMemoryFixed | 0x80008000u, - SWPA_w = AtomicMemoryFixed | 0x80808000u, - SWPL_w = AtomicMemoryFixed | 0x80408000u, - SWPAL_w = AtomicMemoryFixed | 0x80C08000u, - SWP_x = AtomicMemoryFixed | 0xC0008000u, - SWPA_x = AtomicMemoryFixed | 0xC0808000u, - SWPL_x = AtomicMemoryFixed | 0xC0408000u, - SWPAL_x = AtomicMemoryFixed | 0xC0C08000u, - LDAPRB = AtomicMemoryFixed | 0x0080C000u, - LDAPRH = AtomicMemoryFixed | 0x4080C000u, - LDAPR_w = AtomicMemoryFixed | 0x8080C000u, - LDAPR_x = AtomicMemoryFixed | 0xC080C000u, - - AtomicMemorySimpleFMask = 0x3B208C00u, - AtomicMemorySimpleOpMask = 0x00007000u, + AtomicMemoryFixed = 0x38200000, + AtomicMemoryFMask = 0x3B200C00, + AtomicMemoryMask = 0xFFE0FC00, + SWPB = AtomicMemoryFixed | 0x00008000, + SWPAB = AtomicMemoryFixed | 0x00808000, + SWPLB = AtomicMemoryFixed | 0x00408000, + SWPALB = AtomicMemoryFixed | 0x00C08000, + SWPH = AtomicMemoryFixed | 0x40008000, + SWPAH = AtomicMemoryFixed | 0x40808000, + SWPLH = AtomicMemoryFixed | 0x40408000, + SWPALH = AtomicMemoryFixed | 0x40C08000, + SWP_w = AtomicMemoryFixed | 0x80008000, + SWPA_w = AtomicMemoryFixed | 0x80808000, + SWPL_w = AtomicMemoryFixed | 0x80408000, + SWPAL_w = AtomicMemoryFixed | 0x80C08000, + SWP_x = AtomicMemoryFixed | 0xC0008000, + SWPA_x = AtomicMemoryFixed | 0xC0808000, + SWPL_x = AtomicMemoryFixed | 0xC0408000, + SWPAL_x = AtomicMemoryFixed | 0xC0C08000, + LDAPRB = AtomicMemoryFixed | 0x0080C000, + LDAPRH = AtomicMemoryFixed | 0x4080C000, + LDAPR_w = AtomicMemoryFixed | 0x8080C000, + LDAPR_x = AtomicMemoryFixed | 0xC080C000, + + AtomicMemorySimpleFMask = 0x3B208C00, + AtomicMemorySimpleOpMask = 0x00007000, #define ATOMIC_MEMORY_SIMPLE(N, OP) \ N##Op = OP, \ N##B = AtomicMemoryFixed | OP, \ - N##AB = AtomicMemoryFixed | OP | 0x00800000u, \ - N##LB = AtomicMemoryFixed | OP | 0x00400000u, \ - N##ALB = AtomicMemoryFixed | OP | 0x00C00000u, \ - N##H = AtomicMemoryFixed | OP | 0x40000000u, \ - N##AH = AtomicMemoryFixed | OP | 0x40800000u, \ - N##LH = AtomicMemoryFixed | OP | 0x40400000u, \ - N##ALH = AtomicMemoryFixed | OP | 0x40C00000u, \ - N##_w = AtomicMemoryFixed | OP | 0x80000000u, \ - N##A_w = AtomicMemoryFixed | OP | 0x80800000u, \ - N##L_w = AtomicMemoryFixed | OP | 0x80400000u, \ - N##AL_w = AtomicMemoryFixed | OP | 0x80C00000u, \ - N##_x = AtomicMemoryFixed | OP | 0xC0000000u, \ - N##A_x = AtomicMemoryFixed | OP | 0xC0800000u, \ - N##L_x = AtomicMemoryFixed | OP | 0xC0400000u, \ - N##AL_x = AtomicMemoryFixed | OP | 0xC0C00000u + N##AB = AtomicMemoryFixed | OP | 0x00800000, \ + N##LB = AtomicMemoryFixed | OP | 0x00400000, \ + N##ALB = AtomicMemoryFixed | OP | 0x00C00000, \ + N##H = AtomicMemoryFixed | OP | 0x40000000, \ + N##AH = AtomicMemoryFixed | OP | 0x40800000, \ + N##LH = AtomicMemoryFixed | OP | 0x40400000, \ + N##ALH = AtomicMemoryFixed | OP | 0x40C00000, \ + N##_w = AtomicMemoryFixed | OP | 0x80000000, \ + N##A_w = AtomicMemoryFixed | OP | 0x80800000, \ + N##L_w = AtomicMemoryFixed | OP | 0x80400000, \ + N##AL_w = AtomicMemoryFixed | OP | 0x80C00000, \ + N##_x = AtomicMemoryFixed | OP | 0xC0000000, \ + N##A_x = AtomicMemoryFixed | OP | 0xC0800000, \ + N##L_x = AtomicMemoryFixed | OP | 0xC0400000, \ + N##AL_x = AtomicMemoryFixed | OP | 0xC0C00000 ATOMIC_MEMORY_SIMPLE_OPC_LIST(ATOMIC_MEMORY_SIMPLE) #undef ATOMIC_MEMORY_SIMPLE @@ -1369,16 +1378,16 @@ enum AtomicMemoryOp : uint32_t { // Conditional compare. enum ConditionalCompareOp : uint32_t { - ConditionalCompareMask = 0x60000000u, - CCMN = 0x20000000u, - CCMP = 0x60000000u + ConditionalCompareMask = 0x60000000, + CCMN = 0x20000000, + CCMP = 0x60000000 }; // Conditional compare register. enum ConditionalCompareRegisterOp : uint32_t { - ConditionalCompareRegisterFixed = 0x1A400000u, - ConditionalCompareRegisterFMask = 0x1FE00800u, - ConditionalCompareRegisterMask = 0xFFE00C10u, + ConditionalCompareRegisterFixed = 0x1A400000, + ConditionalCompareRegisterFMask = 0x1FE00800, + ConditionalCompareRegisterMask = 0xFFE00C10, CCMN_w = ConditionalCompareRegisterFixed | CCMN, CCMN_x = ConditionalCompareRegisterFixed | SixtyFourBits | CCMN, CCMP_w = ConditionalCompareRegisterFixed | CCMP, @@ -1387,9 +1396,9 @@ enum ConditionalCompareRegisterOp : uint32_t { // Conditional compare immediate. enum ConditionalCompareImmediateOp : uint32_t { - ConditionalCompareImmediateFixed = 0x1A400800u, - ConditionalCompareImmediateFMask = 0x1FE00800u, - ConditionalCompareImmediateMask = 0xFFE00C10u, + ConditionalCompareImmediateFixed = 0x1A400800, + ConditionalCompareImmediateFMask = 0x1FE00800, + ConditionalCompareImmediateMask = 0xFFE00C10, CCMN_w_imm = ConditionalCompareImmediateFixed | CCMN, CCMN_x_imm = ConditionalCompareImmediateFixed | SixtyFourBits | CCMN, CCMP_w_imm = ConditionalCompareImmediateFixed | CCMP, @@ -1398,198 +1407,198 @@ enum ConditionalCompareImmediateOp : uint32_t { // Conditional select. enum ConditionalSelectOp : uint32_t { - ConditionalSelectFixed = 0x1A800000u, - ConditionalSelectFMask = 0x1FE00000u, - ConditionalSelectMask = 0xFFE00C00u, - CSEL_w = ConditionalSelectFixed | 0x00000000u, - CSEL_x = ConditionalSelectFixed | 0x80000000u, + ConditionalSelectFixed = 0x1A800000, + ConditionalSelectFMask = 0x1FE00000, + ConditionalSelectMask = 0xFFE00C00, + CSEL_w = ConditionalSelectFixed | 0x00000000, + CSEL_x = ConditionalSelectFixed | 0x80000000, CSEL = CSEL_w, - CSINC_w = ConditionalSelectFixed | 0x00000400u, - CSINC_x = ConditionalSelectFixed | 0x80000400u, + CSINC_w = ConditionalSelectFixed | 0x00000400, + CSINC_x = ConditionalSelectFixed | 0x80000400, CSINC = CSINC_w, - CSINV_w = ConditionalSelectFixed | 0x40000000u, - CSINV_x = ConditionalSelectFixed | 0xC0000000u, + CSINV_w = ConditionalSelectFixed | 0x40000000, + CSINV_x = ConditionalSelectFixed | 0xC0000000, CSINV = CSINV_w, - CSNEG_w = ConditionalSelectFixed | 0x40000400u, - CSNEG_x = ConditionalSelectFixed | 0xC0000400u, + CSNEG_w = ConditionalSelectFixed | 0x40000400, + CSNEG_x = ConditionalSelectFixed | 0xC0000400, CSNEG = CSNEG_w }; // Data processing 1 source. enum DataProcessing1SourceOp : uint32_t { - DataProcessing1SourceFixed = 0x5AC00000u, - DataProcessing1SourceFMask = 0x5FE00000u, - DataProcessing1SourceMask = 0xFFFFFC00u, - RBIT = DataProcessing1SourceFixed | 0x00000000u, + DataProcessing1SourceFixed = 0x5AC00000, + DataProcessing1SourceFMask = 0x5FE00000, + DataProcessing1SourceMask = 0xFFFFFC00, + RBIT = DataProcessing1SourceFixed | 0x00000000, RBIT_w = RBIT, RBIT_x = RBIT | SixtyFourBits, - REV16 = DataProcessing1SourceFixed | 0x00000400u, + REV16 = DataProcessing1SourceFixed | 0x00000400, REV16_w = REV16, REV16_x = REV16 | SixtyFourBits, - REV = DataProcessing1SourceFixed | 0x00000800u, + REV = DataProcessing1SourceFixed | 0x00000800, REV_w = REV, REV32_x = REV | SixtyFourBits, - REV_x = DataProcessing1SourceFixed | SixtyFourBits | 0x00000C00u, - CLZ = DataProcessing1SourceFixed | 0x00001000u, + REV_x = DataProcessing1SourceFixed | SixtyFourBits | 0x00000C00, + CLZ = DataProcessing1SourceFixed | 0x00001000, CLZ_w = CLZ, CLZ_x = CLZ | SixtyFourBits, - CLS = DataProcessing1SourceFixed | 0x00001400u, + CLS = DataProcessing1SourceFixed | 0x00001400, CLS_w = CLS, CLS_x = CLS | SixtyFourBits, // Pointer authentication instructions in Armv8.3. - PACIA = DataProcessing1SourceFixed | 0x80010000u, - PACIB = DataProcessing1SourceFixed | 0x80010400u, - PACDA = DataProcessing1SourceFixed | 0x80010800u, - PACDB = DataProcessing1SourceFixed | 0x80010C00u, - AUTIA = DataProcessing1SourceFixed | 0x80011000u, - AUTIB = DataProcessing1SourceFixed | 0x80011400u, - AUTDA = DataProcessing1SourceFixed | 0x80011800u, - AUTDB = DataProcessing1SourceFixed | 0x80011C00u, - PACIZA = DataProcessing1SourceFixed | 0x80012000u, - PACIZB = DataProcessing1SourceFixed | 0x80012400u, - PACDZA = DataProcessing1SourceFixed | 0x80012800u, - PACDZB = DataProcessing1SourceFixed | 0x80012C00u, - AUTIZA = DataProcessing1SourceFixed | 0x80013000u, - AUTIZB = DataProcessing1SourceFixed | 0x80013400u, - AUTDZA = DataProcessing1SourceFixed | 0x80013800u, - AUTDZB = DataProcessing1SourceFixed | 0x80013C00u, - XPACI = DataProcessing1SourceFixed | 0x80014000u, - XPACD = DataProcessing1SourceFixed | 0x80014400u + PACIA = DataProcessing1SourceFixed | 0x80010000, + PACIB = DataProcessing1SourceFixed | 0x80010400, + PACDA = DataProcessing1SourceFixed | 0x80010800, + PACDB = DataProcessing1SourceFixed | 0x80010C00, + AUTIA = DataProcessing1SourceFixed | 0x80011000, + AUTIB = DataProcessing1SourceFixed | 0x80011400, + AUTDA = DataProcessing1SourceFixed | 0x80011800, + AUTDB = DataProcessing1SourceFixed | 0x80011C00, + PACIZA = DataProcessing1SourceFixed | 0x80012000, + PACIZB = DataProcessing1SourceFixed | 0x80012400, + PACDZA = DataProcessing1SourceFixed | 0x80012800, + PACDZB = DataProcessing1SourceFixed | 0x80012C00, + AUTIZA = DataProcessing1SourceFixed | 0x80013000, + AUTIZB = DataProcessing1SourceFixed | 0x80013400, + AUTDZA = DataProcessing1SourceFixed | 0x80013800, + AUTDZB = DataProcessing1SourceFixed | 0x80013C00, + XPACI = DataProcessing1SourceFixed | 0x80014000, + XPACD = DataProcessing1SourceFixed | 0x80014400 }; // Data processing 2 source. enum DataProcessing2SourceOp : uint32_t { - DataProcessing2SourceFixed = 0x1AC00000u, - DataProcessing2SourceFMask = 0x5FE00000u, - DataProcessing2SourceMask = 0xFFE0FC00u, - UDIV_w = DataProcessing2SourceFixed | 0x00000800u, - UDIV_x = DataProcessing2SourceFixed | 0x80000800u, + DataProcessing2SourceFixed = 0x1AC00000, + DataProcessing2SourceFMask = 0x5FE00000, + DataProcessing2SourceMask = 0xFFE0FC00, + UDIV_w = DataProcessing2SourceFixed | 0x00000800, + UDIV_x = DataProcessing2SourceFixed | 0x80000800, UDIV = UDIV_w, - SDIV_w = DataProcessing2SourceFixed | 0x00000C00u, - SDIV_x = DataProcessing2SourceFixed | 0x80000C00u, + SDIV_w = DataProcessing2SourceFixed | 0x00000C00, + SDIV_x = DataProcessing2SourceFixed | 0x80000C00, SDIV = SDIV_w, - LSLV_w = DataProcessing2SourceFixed | 0x00002000u, - LSLV_x = DataProcessing2SourceFixed | 0x80002000u, + LSLV_w = DataProcessing2SourceFixed | 0x00002000, + LSLV_x = DataProcessing2SourceFixed | 0x80002000, LSLV = LSLV_w, - LSRV_w = DataProcessing2SourceFixed | 0x00002400u, - LSRV_x = DataProcessing2SourceFixed | 0x80002400u, + LSRV_w = DataProcessing2SourceFixed | 0x00002400, + LSRV_x = DataProcessing2SourceFixed | 0x80002400, LSRV = LSRV_w, - ASRV_w = DataProcessing2SourceFixed | 0x00002800u, - ASRV_x = DataProcessing2SourceFixed | 0x80002800u, + ASRV_w = DataProcessing2SourceFixed | 0x00002800, + ASRV_x = DataProcessing2SourceFixed | 0x80002800, ASRV = ASRV_w, - RORV_w = DataProcessing2SourceFixed | 0x00002C00u, - RORV_x = DataProcessing2SourceFixed | 0x80002C00u, + RORV_w = DataProcessing2SourceFixed | 0x00002C00, + RORV_x = DataProcessing2SourceFixed | 0x80002C00, RORV = RORV_w, - PACGA = DataProcessing2SourceFixed | SixtyFourBits | 0x00003000u, - CRC32B = DataProcessing2SourceFixed | 0x00004000u, - CRC32H = DataProcessing2SourceFixed | 0x00004400u, - CRC32W = DataProcessing2SourceFixed | 0x00004800u, - CRC32X = DataProcessing2SourceFixed | SixtyFourBits | 0x00004C00u, - CRC32CB = DataProcessing2SourceFixed | 0x00005000u, - CRC32CH = DataProcessing2SourceFixed | 0x00005400u, - CRC32CW = DataProcessing2SourceFixed | 0x00005800u, - CRC32CX = DataProcessing2SourceFixed | SixtyFourBits | 0x00005C00u + PACGA = DataProcessing2SourceFixed | SixtyFourBits | 0x00003000, + CRC32B = DataProcessing2SourceFixed | 0x00004000, + CRC32H = DataProcessing2SourceFixed | 0x00004400, + CRC32W = DataProcessing2SourceFixed | 0x00004800, + CRC32X = DataProcessing2SourceFixed | SixtyFourBits | 0x00004C00, + CRC32CB = DataProcessing2SourceFixed | 0x00005000, + CRC32CH = DataProcessing2SourceFixed | 0x00005400, + CRC32CW = DataProcessing2SourceFixed | 0x00005800, + CRC32CX = DataProcessing2SourceFixed | SixtyFourBits | 0x00005C00 }; // Data processing 3 source. enum DataProcessing3SourceOp : uint32_t { - DataProcessing3SourceFixed = 0x1B000000u, - DataProcessing3SourceFMask = 0x1F000000u, - DataProcessing3SourceMask = 0xFFE08000u, - MADD_w = DataProcessing3SourceFixed | 0x00000000u, - MADD_x = DataProcessing3SourceFixed | 0x80000000u, + DataProcessing3SourceFixed = 0x1B000000, + DataProcessing3SourceFMask = 0x1F000000, + DataProcessing3SourceMask = 0xFFE08000, + MADD_w = DataProcessing3SourceFixed | 0x00000000, + MADD_x = DataProcessing3SourceFixed | 0x80000000, MADD = MADD_w, - MSUB_w = DataProcessing3SourceFixed | 0x00008000u, - MSUB_x = DataProcessing3SourceFixed | 0x80008000u, + MSUB_w = DataProcessing3SourceFixed | 0x00008000, + MSUB_x = DataProcessing3SourceFixed | 0x80008000, MSUB = MSUB_w, - SMADDL_x = DataProcessing3SourceFixed | 0x80200000u, - SMSUBL_x = DataProcessing3SourceFixed | 0x80208000u, - SMULH_x = DataProcessing3SourceFixed | 0x80400000u, - UMADDL_x = DataProcessing3SourceFixed | 0x80A00000u, - UMSUBL_x = DataProcessing3SourceFixed | 0x80A08000u, - UMULH_x = DataProcessing3SourceFixed | 0x80C00000u + SMADDL_x = DataProcessing3SourceFixed | 0x80200000, + SMSUBL_x = DataProcessing3SourceFixed | 0x80208000, + SMULH_x = DataProcessing3SourceFixed | 0x80400000, + UMADDL_x = DataProcessing3SourceFixed | 0x80A00000, + UMSUBL_x = DataProcessing3SourceFixed | 0x80A08000, + UMULH_x = DataProcessing3SourceFixed | 0x80C00000 }; // Floating point compare. enum FPCompareOp : uint32_t { - FPCompareFixed = 0x1E202000u, - FPCompareFMask = 0x5F203C00u, - FPCompareMask = 0xFFE0FC1Fu, - FCMP_h = FPCompareFixed | FP16 | 0x00000000u, - FCMP_s = FPCompareFixed | 0x00000000u, - FCMP_d = FPCompareFixed | FP64 | 0x00000000u, + FPCompareFixed = 0x1E202000, + FPCompareFMask = 0x5F203C00, + FPCompareMask = 0xFFE0FC1F, + FCMP_h = FPCompareFixed | FP16 | 0x00000000, + FCMP_s = FPCompareFixed | 0x00000000, + FCMP_d = FPCompareFixed | FP64 | 0x00000000, FCMP = FCMP_s, - FCMP_h_zero = FPCompareFixed | FP16 | 0x00000008u, - FCMP_s_zero = FPCompareFixed | 0x00000008u, - FCMP_d_zero = FPCompareFixed | FP64 | 0x00000008u, + FCMP_h_zero = FPCompareFixed | FP16 | 0x00000008, + FCMP_s_zero = FPCompareFixed | 0x00000008, + FCMP_d_zero = FPCompareFixed | FP64 | 0x00000008, FCMP_zero = FCMP_s_zero, - FCMPE_h = FPCompareFixed | FP16 | 0x00000010u, - FCMPE_s = FPCompareFixed | 0x00000010u, - FCMPE_d = FPCompareFixed | FP64 | 0x00000010u, + FCMPE_h = FPCompareFixed | FP16 | 0x00000010, + FCMPE_s = FPCompareFixed | 0x00000010, + FCMPE_d = FPCompareFixed | FP64 | 0x00000010, FCMPE = FCMPE_s, - FCMPE_h_zero = FPCompareFixed | FP16 | 0x00000018u, - FCMPE_s_zero = FPCompareFixed | 0x00000018u, - FCMPE_d_zero = FPCompareFixed | FP64 | 0x00000018u, + FCMPE_h_zero = FPCompareFixed | FP16 | 0x00000018, + FCMPE_s_zero = FPCompareFixed | 0x00000018, + FCMPE_d_zero = FPCompareFixed | FP64 | 0x00000018, FCMPE_zero = FCMPE_s_zero }; // Floating point conditional compare. enum FPConditionalCompareOp : uint32_t { - FPConditionalCompareFixed = 0x1E200400u, - FPConditionalCompareFMask = 0x5F200C00u, - FPConditionalCompareMask = 0xFFE00C10u, - FCCMP_h = FPConditionalCompareFixed | FP16 | 0x00000000u, - FCCMP_s = FPConditionalCompareFixed | 0x00000000u, - FCCMP_d = FPConditionalCompareFixed | FP64 | 0x00000000u, + FPConditionalCompareFixed = 0x1E200400, + FPConditionalCompareFMask = 0x5F200C00, + FPConditionalCompareMask = 0xFFE00C10, + FCCMP_h = FPConditionalCompareFixed | FP16 | 0x00000000, + FCCMP_s = FPConditionalCompareFixed | 0x00000000, + FCCMP_d = FPConditionalCompareFixed | FP64 | 0x00000000, FCCMP = FCCMP_s, - FCCMPE_h = FPConditionalCompareFixed | FP16 | 0x00000010u, - FCCMPE_s = FPConditionalCompareFixed | 0x00000010u, - FCCMPE_d = FPConditionalCompareFixed | FP64 | 0x00000010u, + FCCMPE_h = FPConditionalCompareFixed | FP16 | 0x00000010, + FCCMPE_s = FPConditionalCompareFixed | 0x00000010, + FCCMPE_d = FPConditionalCompareFixed | FP64 | 0x00000010, FCCMPE = FCCMPE_s }; // Floating point conditional select. enum FPConditionalSelectOp : uint32_t { - FPConditionalSelectFixed = 0x1E200C00u, - FPConditionalSelectFMask = 0x5F200C00u, - FPConditionalSelectMask = 0xFFE00C00u, - FCSEL_h = FPConditionalSelectFixed | FP16 | 0x00000000u, - FCSEL_s = FPConditionalSelectFixed | 0x00000000u, - FCSEL_d = FPConditionalSelectFixed | FP64 | 0x00000000u, + FPConditionalSelectFixed = 0x1E200C00, + FPConditionalSelectFMask = 0x5F200C00, + FPConditionalSelectMask = 0xFFE00C00, + FCSEL_h = FPConditionalSelectFixed | FP16 | 0x00000000, + FCSEL_s = FPConditionalSelectFixed | 0x00000000, + FCSEL_d = FPConditionalSelectFixed | FP64 | 0x00000000, FCSEL = FCSEL_s }; // Floating point immediate. enum FPImmediateOp : uint32_t { - FPImmediateFixed = 0x1E201000u, - FPImmediateFMask = 0x5F201C00u, - FPImmediateMask = 0xFFE01C00u, - FMOV_h_imm = FPImmediateFixed | FP16 | 0x00000000u, - FMOV_s_imm = FPImmediateFixed | 0x00000000u, - FMOV_d_imm = FPImmediateFixed | FP64 | 0x00000000u + FPImmediateFixed = 0x1E201000, + FPImmediateFMask = 0x5F201C00, + FPImmediateMask = 0xFFE01C00, + FMOV_h_imm = FPImmediateFixed | FP16 | 0x00000000, + FMOV_s_imm = FPImmediateFixed | 0x00000000, + FMOV_d_imm = FPImmediateFixed | FP64 | 0x00000000 }; // Floating point data processing 1 source. enum FPDataProcessing1SourceOp : uint32_t { - FPDataProcessing1SourceFixed = 0x1E204000u, - FPDataProcessing1SourceFMask = 0x5F207C00u, - FPDataProcessing1SourceMask = 0xFFFFFC00u, - FMOV_h = FPDataProcessing1SourceFixed | FP16 | 0x00000000u, - FMOV_s = FPDataProcessing1SourceFixed | 0x00000000u, - FMOV_d = FPDataProcessing1SourceFixed | FP64 | 0x00000000u, + FPDataProcessing1SourceFixed = 0x1E204000, + FPDataProcessing1SourceFMask = 0x5F207C00, + FPDataProcessing1SourceMask = 0xFFFFFC00, + FMOV_h = FPDataProcessing1SourceFixed | FP16 | 0x00000000, + FMOV_s = FPDataProcessing1SourceFixed | 0x00000000, + FMOV_d = FPDataProcessing1SourceFixed | FP64 | 0x00000000, FMOV = FMOV_s, - FABS_h = FPDataProcessing1SourceFixed | FP16 | 0x00008000u, - FABS_s = FPDataProcessing1SourceFixed | 0x00008000u, - FABS_d = FPDataProcessing1SourceFixed | FP64 | 0x00008000u, + FABS_h = FPDataProcessing1SourceFixed | FP16 | 0x00008000, + FABS_s = FPDataProcessing1SourceFixed | 0x00008000, + FABS_d = FPDataProcessing1SourceFixed | FP64 | 0x00008000, FABS = FABS_s, - FNEG_h = FPDataProcessing1SourceFixed | FP16 | 0x00010000u, - FNEG_s = FPDataProcessing1SourceFixed | 0x00010000u, - FNEG_d = FPDataProcessing1SourceFixed | FP64 | 0x00010000u, + FNEG_h = FPDataProcessing1SourceFixed | FP16 | 0x00010000, + FNEG_s = FPDataProcessing1SourceFixed | 0x00010000, + FNEG_d = FPDataProcessing1SourceFixed | FP64 | 0x00010000, FNEG = FNEG_s, - FSQRT_h = FPDataProcessing1SourceFixed | FP16 | 0x00018000u, - FSQRT_s = FPDataProcessing1SourceFixed | 0x00018000u, - FSQRT_d = FPDataProcessing1SourceFixed | FP64 | 0x00018000u, + FSQRT_h = FPDataProcessing1SourceFixed | FP16 | 0x00018000, + FSQRT_s = FPDataProcessing1SourceFixed | 0x00018000, + FSQRT_d = FPDataProcessing1SourceFixed | FP64 | 0x00018000, FSQRT = FSQRT_s, FCVT_ds = FPDataProcessing1SourceFixed | 0x00028000, FCVT_sd = FPDataProcessing1SourceFixed | FP64 | 0x00020000, @@ -1597,86 +1606,86 @@ enum FPDataProcessing1SourceOp : uint32_t { FCVT_hd = FPDataProcessing1SourceFixed | FP64 | 0x00038000, FCVT_sh = FPDataProcessing1SourceFixed | 0x00C20000, FCVT_dh = FPDataProcessing1SourceFixed | 0x00C28000, - FRINT32X_s = FPDataProcessing1SourceFixed | 0x00088000u, - FRINT32X_d = FPDataProcessing1SourceFixed | FP64 | 0x00088000u, + FRINT32X_s = FPDataProcessing1SourceFixed | 0x00088000, + FRINT32X_d = FPDataProcessing1SourceFixed | FP64 | 0x00088000, FRINT32X = FRINT32X_s, - FRINT32Z_s = FPDataProcessing1SourceFixed | 0x00080000u, - FRINT32Z_d = FPDataProcessing1SourceFixed | FP64 | 0x00080000u, + FRINT32Z_s = FPDataProcessing1SourceFixed | 0x00080000, + FRINT32Z_d = FPDataProcessing1SourceFixed | FP64 | 0x00080000, FRINT32Z = FRINT32Z_s, - FRINT64X_s = FPDataProcessing1SourceFixed | 0x00098000u, - FRINT64X_d = FPDataProcessing1SourceFixed | FP64 | 0x00098000u, + FRINT64X_s = FPDataProcessing1SourceFixed | 0x00098000, + FRINT64X_d = FPDataProcessing1SourceFixed | FP64 | 0x00098000, FRINT64X = FRINT64X_s, - FRINT64Z_s = FPDataProcessing1SourceFixed | 0x00090000u, - FRINT64Z_d = FPDataProcessing1SourceFixed | FP64 | 0x00090000u, + FRINT64Z_s = FPDataProcessing1SourceFixed | 0x00090000, + FRINT64Z_d = FPDataProcessing1SourceFixed | FP64 | 0x00090000, FRINT64Z = FRINT64Z_s, - FRINTN_h = FPDataProcessing1SourceFixed | FP16 | 0x00040000u, - FRINTN_s = FPDataProcessing1SourceFixed | 0x00040000u, - FRINTN_d = FPDataProcessing1SourceFixed | FP64 | 0x00040000u, + FRINTN_h = FPDataProcessing1SourceFixed | FP16 | 0x00040000, + FRINTN_s = FPDataProcessing1SourceFixed | 0x00040000, + FRINTN_d = FPDataProcessing1SourceFixed | FP64 | 0x00040000, FRINTN = FRINTN_s, - FRINTP_h = FPDataProcessing1SourceFixed | FP16 | 0x00048000u, - FRINTP_s = FPDataProcessing1SourceFixed | 0x00048000u, - FRINTP_d = FPDataProcessing1SourceFixed | FP64 | 0x00048000u, + FRINTP_h = FPDataProcessing1SourceFixed | FP16 | 0x00048000, + FRINTP_s = FPDataProcessing1SourceFixed | 0x00048000, + FRINTP_d = FPDataProcessing1SourceFixed | FP64 | 0x00048000, FRINTP = FRINTP_s, - FRINTM_h = FPDataProcessing1SourceFixed | FP16 | 0x00050000u, - FRINTM_s = FPDataProcessing1SourceFixed | 0x00050000u, - FRINTM_d = FPDataProcessing1SourceFixed | FP64 | 0x00050000u, + FRINTM_h = FPDataProcessing1SourceFixed | FP16 | 0x00050000, + FRINTM_s = FPDataProcessing1SourceFixed | 0x00050000, + FRINTM_d = FPDataProcessing1SourceFixed | FP64 | 0x00050000, FRINTM = FRINTM_s, - FRINTZ_h = FPDataProcessing1SourceFixed | FP16 | 0x00058000u, - FRINTZ_s = FPDataProcessing1SourceFixed | 0x00058000u, - FRINTZ_d = FPDataProcessing1SourceFixed | FP64 | 0x00058000u, + FRINTZ_h = FPDataProcessing1SourceFixed | FP16 | 0x00058000, + FRINTZ_s = FPDataProcessing1SourceFixed | 0x00058000, + FRINTZ_d = FPDataProcessing1SourceFixed | FP64 | 0x00058000, FRINTZ = FRINTZ_s, - FRINTA_h = FPDataProcessing1SourceFixed | FP16 | 0x00060000u, - FRINTA_s = FPDataProcessing1SourceFixed | 0x00060000u, - FRINTA_d = FPDataProcessing1SourceFixed | FP64 | 0x00060000u, + FRINTA_h = FPDataProcessing1SourceFixed | FP16 | 0x00060000, + FRINTA_s = FPDataProcessing1SourceFixed | 0x00060000, + FRINTA_d = FPDataProcessing1SourceFixed | FP64 | 0x00060000, FRINTA = FRINTA_s, - FRINTX_h = FPDataProcessing1SourceFixed | FP16 | 0x00070000u, - FRINTX_s = FPDataProcessing1SourceFixed | 0x00070000u, - FRINTX_d = FPDataProcessing1SourceFixed | FP64 | 0x00070000u, + FRINTX_h = FPDataProcessing1SourceFixed | FP16 | 0x00070000, + FRINTX_s = FPDataProcessing1SourceFixed | 0x00070000, + FRINTX_d = FPDataProcessing1SourceFixed | FP64 | 0x00070000, FRINTX = FRINTX_s, - FRINTI_h = FPDataProcessing1SourceFixed | FP16 | 0x00078000u, - FRINTI_s = FPDataProcessing1SourceFixed | 0x00078000u, - FRINTI_d = FPDataProcessing1SourceFixed | FP64 | 0x00078000u, + FRINTI_h = FPDataProcessing1SourceFixed | FP16 | 0x00078000, + FRINTI_s = FPDataProcessing1SourceFixed | 0x00078000, + FRINTI_d = FPDataProcessing1SourceFixed | FP64 | 0x00078000, FRINTI = FRINTI_s }; // Floating point data processing 2 source. enum FPDataProcessing2SourceOp : uint32_t { - FPDataProcessing2SourceFixed = 0x1E200800u, - FPDataProcessing2SourceFMask = 0x5F200C00u, - FPDataProcessing2SourceMask = 0xFFE0FC00u, - FMUL = FPDataProcessing2SourceFixed | 0x00000000u, + FPDataProcessing2SourceFixed = 0x1E200800, + FPDataProcessing2SourceFMask = 0x5F200C00, + FPDataProcessing2SourceMask = 0xFFE0FC00, + FMUL = FPDataProcessing2SourceFixed | 0x00000000, FMUL_h = FMUL | FP16, FMUL_s = FMUL, FMUL_d = FMUL | FP64, - FDIV = FPDataProcessing2SourceFixed | 0x00001000u, + FDIV = FPDataProcessing2SourceFixed | 0x00001000, FDIV_h = FDIV | FP16, FDIV_s = FDIV, FDIV_d = FDIV | FP64, - FADD = FPDataProcessing2SourceFixed | 0x00002000u, + FADD = FPDataProcessing2SourceFixed | 0x00002000, FADD_h = FADD | FP16, FADD_s = FADD, FADD_d = FADD | FP64, - FSUB = FPDataProcessing2SourceFixed | 0x00003000u, + FSUB = FPDataProcessing2SourceFixed | 0x00003000, FSUB_h = FSUB | FP16, FSUB_s = FSUB, FSUB_d = FSUB | FP64, - FMAX = FPDataProcessing2SourceFixed | 0x00004000u, + FMAX = FPDataProcessing2SourceFixed | 0x00004000, FMAX_h = FMAX | FP16, FMAX_s = FMAX, FMAX_d = FMAX | FP64, - FMIN = FPDataProcessing2SourceFixed | 0x00005000u, + FMIN = FPDataProcessing2SourceFixed | 0x00005000, FMIN_h = FMIN | FP16, FMIN_s = FMIN, FMIN_d = FMIN | FP64, - FMAXNM = FPDataProcessing2SourceFixed | 0x00006000u, + FMAXNM = FPDataProcessing2SourceFixed | 0x00006000, FMAXNM_h = FMAXNM | FP16, FMAXNM_s = FMAXNM, FMAXNM_d = FMAXNM | FP64, - FMINNM = FPDataProcessing2SourceFixed | 0x00007000u, + FMINNM = FPDataProcessing2SourceFixed | 0x00007000, FMINNM_h = FMINNM | FP16, FMINNM_s = FMINNM, FMINNM_d = FMINNM | FP64, - FNMUL = FPDataProcessing2SourceFixed | 0x00008000u, + FNMUL = FPDataProcessing2SourceFixed | 0x00008000, FNMUL_h = FNMUL | FP16, FNMUL_s = FNMUL, FNMUL_d = FNMUL | FP64 @@ -1684,152 +1693,152 @@ enum FPDataProcessing2SourceOp : uint32_t { // Floating point data processing 3 source. enum FPDataProcessing3SourceOp : uint32_t { - FPDataProcessing3SourceFixed = 0x1F000000u, - FPDataProcessing3SourceFMask = 0x5F000000u, - FPDataProcessing3SourceMask = 0xFFE08000u, - FMADD_h = FPDataProcessing3SourceFixed | 0x00C00000u, - FMSUB_h = FPDataProcessing3SourceFixed | 0x00C08000u, - FNMADD_h = FPDataProcessing3SourceFixed | 0x00E00000u, - FNMSUB_h = FPDataProcessing3SourceFixed | 0x00E08000u, - FMADD_s = FPDataProcessing3SourceFixed | 0x00000000u, - FMSUB_s = FPDataProcessing3SourceFixed | 0x00008000u, - FNMADD_s = FPDataProcessing3SourceFixed | 0x00200000u, - FNMSUB_s = FPDataProcessing3SourceFixed | 0x00208000u, - FMADD_d = FPDataProcessing3SourceFixed | 0x00400000u, - FMSUB_d = FPDataProcessing3SourceFixed | 0x00408000u, - FNMADD_d = FPDataProcessing3SourceFixed | 0x00600000u, - FNMSUB_d = FPDataProcessing3SourceFixed | 0x00608000u + FPDataProcessing3SourceFixed = 0x1F000000, + FPDataProcessing3SourceFMask = 0x5F000000, + FPDataProcessing3SourceMask = 0xFFE08000, + FMADD_h = FPDataProcessing3SourceFixed | 0x00C00000, + FMSUB_h = FPDataProcessing3SourceFixed | 0x00C08000, + FNMADD_h = FPDataProcessing3SourceFixed | 0x00E00000, + FNMSUB_h = FPDataProcessing3SourceFixed | 0x00E08000, + FMADD_s = FPDataProcessing3SourceFixed | 0x00000000, + FMSUB_s = FPDataProcessing3SourceFixed | 0x00008000, + FNMADD_s = FPDataProcessing3SourceFixed | 0x00200000, + FNMSUB_s = FPDataProcessing3SourceFixed | 0x00208000, + FMADD_d = FPDataProcessing3SourceFixed | 0x00400000, + FMSUB_d = FPDataProcessing3SourceFixed | 0x00408000, + FNMADD_d = FPDataProcessing3SourceFixed | 0x00600000, + FNMSUB_d = FPDataProcessing3SourceFixed | 0x00608000 }; // Conversion between floating point and integer. enum FPIntegerConvertOp : uint32_t { - FPIntegerConvertFixed = 0x1E200000u, - FPIntegerConvertFMask = 0x5F20FC00u, - FPIntegerConvertMask = 0xFFFFFC00u, - FCVTNS = FPIntegerConvertFixed | 0x00000000u, + FPIntegerConvertFixed = 0x1E200000, + FPIntegerConvertFMask = 0x5F20FC00, + FPIntegerConvertMask = 0xFFFFFC00, + FCVTNS = FPIntegerConvertFixed | 0x00000000, FCVTNS_wh = FCVTNS | FP16, FCVTNS_xh = FCVTNS | SixtyFourBits | FP16, FCVTNS_ws = FCVTNS, FCVTNS_xs = FCVTNS | SixtyFourBits, FCVTNS_wd = FCVTNS | FP64, FCVTNS_xd = FCVTNS | SixtyFourBits | FP64, - FCVTNU = FPIntegerConvertFixed | 0x00010000u, + FCVTNU = FPIntegerConvertFixed | 0x00010000, FCVTNU_wh = FCVTNU | FP16, FCVTNU_xh = FCVTNU | SixtyFourBits | FP16, FCVTNU_ws = FCVTNU, FCVTNU_xs = FCVTNU | SixtyFourBits, FCVTNU_wd = FCVTNU | FP64, FCVTNU_xd = FCVTNU | SixtyFourBits | FP64, - FCVTPS = FPIntegerConvertFixed | 0x00080000u, + FCVTPS = FPIntegerConvertFixed | 0x00080000, FCVTPS_wh = FCVTPS | FP16, FCVTPS_xh = FCVTPS | SixtyFourBits | FP16, FCVTPS_ws = FCVTPS, FCVTPS_xs = FCVTPS | SixtyFourBits, FCVTPS_wd = FCVTPS | FP64, FCVTPS_xd = FCVTPS | SixtyFourBits | FP64, - FCVTPU = FPIntegerConvertFixed | 0x00090000u, + FCVTPU = FPIntegerConvertFixed | 0x00090000, FCVTPU_wh = FCVTPU | FP16, FCVTPU_xh = FCVTPU | SixtyFourBits | FP16, FCVTPU_ws = FCVTPU, FCVTPU_xs = FCVTPU | SixtyFourBits, FCVTPU_wd = FCVTPU | FP64, FCVTPU_xd = FCVTPU | SixtyFourBits | FP64, - FCVTMS = FPIntegerConvertFixed | 0x00100000u, + FCVTMS = FPIntegerConvertFixed | 0x00100000, FCVTMS_wh = FCVTMS | FP16, FCVTMS_xh = FCVTMS | SixtyFourBits | FP16, FCVTMS_ws = FCVTMS, FCVTMS_xs = FCVTMS | SixtyFourBits, FCVTMS_wd = FCVTMS | FP64, FCVTMS_xd = FCVTMS | SixtyFourBits | FP64, - FCVTMU = FPIntegerConvertFixed | 0x00110000u, + FCVTMU = FPIntegerConvertFixed | 0x00110000, FCVTMU_wh = FCVTMU | FP16, FCVTMU_xh = FCVTMU | SixtyFourBits | FP16, FCVTMU_ws = FCVTMU, FCVTMU_xs = FCVTMU | SixtyFourBits, FCVTMU_wd = FCVTMU | FP64, FCVTMU_xd = FCVTMU | SixtyFourBits | FP64, - FCVTZS = FPIntegerConvertFixed | 0x00180000u, + FCVTZS = FPIntegerConvertFixed | 0x00180000, FCVTZS_wh = FCVTZS | FP16, FCVTZS_xh = FCVTZS | SixtyFourBits | FP16, FCVTZS_ws = FCVTZS, FCVTZS_xs = FCVTZS | SixtyFourBits, FCVTZS_wd = FCVTZS | FP64, FCVTZS_xd = FCVTZS | SixtyFourBits | FP64, - FCVTZU = FPIntegerConvertFixed | 0x00190000u, + FCVTZU = FPIntegerConvertFixed | 0x00190000, FCVTZU_wh = FCVTZU | FP16, FCVTZU_xh = FCVTZU | SixtyFourBits | FP16, FCVTZU_ws = FCVTZU, FCVTZU_xs = FCVTZU | SixtyFourBits, FCVTZU_wd = FCVTZU | FP64, FCVTZU_xd = FCVTZU | SixtyFourBits | FP64, - SCVTF = FPIntegerConvertFixed | 0x00020000u, + SCVTF = FPIntegerConvertFixed | 0x00020000, SCVTF_hw = SCVTF | FP16, SCVTF_hx = SCVTF | SixtyFourBits | FP16, SCVTF_sw = SCVTF, SCVTF_sx = SCVTF | SixtyFourBits, SCVTF_dw = SCVTF | FP64, SCVTF_dx = SCVTF | SixtyFourBits | FP64, - UCVTF = FPIntegerConvertFixed | 0x00030000u, + UCVTF = FPIntegerConvertFixed | 0x00030000, UCVTF_hw = UCVTF | FP16, UCVTF_hx = UCVTF | SixtyFourBits | FP16, UCVTF_sw = UCVTF, UCVTF_sx = UCVTF | SixtyFourBits, UCVTF_dw = UCVTF | FP64, UCVTF_dx = UCVTF | SixtyFourBits | FP64, - FCVTAS = FPIntegerConvertFixed | 0x00040000u, + FCVTAS = FPIntegerConvertFixed | 0x00040000, FCVTAS_wh = FCVTAS | FP16, FCVTAS_xh = FCVTAS | SixtyFourBits | FP16, FCVTAS_ws = FCVTAS, FCVTAS_xs = FCVTAS | SixtyFourBits, FCVTAS_wd = FCVTAS | FP64, FCVTAS_xd = FCVTAS | SixtyFourBits | FP64, - FCVTAU = FPIntegerConvertFixed | 0x00050000u, + FCVTAU = FPIntegerConvertFixed | 0x00050000, FCVTAU_wh = FCVTAU | FP16, FCVTAU_xh = FCVTAU | SixtyFourBits | FP16, FCVTAU_ws = FCVTAU, FCVTAU_xs = FCVTAU | SixtyFourBits, FCVTAU_wd = FCVTAU | FP64, FCVTAU_xd = FCVTAU | SixtyFourBits | FP64, - FMOV_wh = FPIntegerConvertFixed | 0x00060000u | FP16, - FMOV_hw = FPIntegerConvertFixed | 0x00070000u | FP16, + FMOV_wh = FPIntegerConvertFixed | 0x00060000 | FP16, + FMOV_hw = FPIntegerConvertFixed | 0x00070000 | FP16, FMOV_xh = FMOV_wh | SixtyFourBits, FMOV_hx = FMOV_hw | SixtyFourBits, - FMOV_ws = FPIntegerConvertFixed | 0x00060000u, - FMOV_sw = FPIntegerConvertFixed | 0x00070000u, + FMOV_ws = FPIntegerConvertFixed | 0x00060000, + FMOV_sw = FPIntegerConvertFixed | 0x00070000, FMOV_xd = FMOV_ws | SixtyFourBits | FP64, FMOV_dx = FMOV_sw | SixtyFourBits | FP64, - FMOV_d1_x = FPIntegerConvertFixed | SixtyFourBits | 0x008F0000u, - FMOV_x_d1 = FPIntegerConvertFixed | SixtyFourBits | 0x008E0000u, + FMOV_d1_x = FPIntegerConvertFixed | SixtyFourBits | 0x008F0000, + FMOV_x_d1 = FPIntegerConvertFixed | SixtyFourBits | 0x008E0000, FJCVTZS = FPIntegerConvertFixed | FP64 | 0x001E0000 }; // Conversion between fixed point and floating point. enum FPFixedPointConvertOp : uint32_t { - FPFixedPointConvertFixed = 0x1E000000u, - FPFixedPointConvertFMask = 0x5F200000u, - FPFixedPointConvertMask = 0xFFFF0000u, - FCVTZS_fixed = FPFixedPointConvertFixed | 0x00180000u, + FPFixedPointConvertFixed = 0x1E000000, + FPFixedPointConvertFMask = 0x5F200000, + FPFixedPointConvertMask = 0xFFFF0000, + FCVTZS_fixed = FPFixedPointConvertFixed | 0x00180000, FCVTZS_wh_fixed = FCVTZS_fixed | FP16, FCVTZS_xh_fixed = FCVTZS_fixed | SixtyFourBits | FP16, FCVTZS_ws_fixed = FCVTZS_fixed, FCVTZS_xs_fixed = FCVTZS_fixed | SixtyFourBits, FCVTZS_wd_fixed = FCVTZS_fixed | FP64, FCVTZS_xd_fixed = FCVTZS_fixed | SixtyFourBits | FP64, - FCVTZU_fixed = FPFixedPointConvertFixed | 0x00190000u, + FCVTZU_fixed = FPFixedPointConvertFixed | 0x00190000, FCVTZU_wh_fixed = FCVTZU_fixed | FP16, FCVTZU_xh_fixed = FCVTZU_fixed | SixtyFourBits | FP16, FCVTZU_ws_fixed = FCVTZU_fixed, FCVTZU_xs_fixed = FCVTZU_fixed | SixtyFourBits, FCVTZU_wd_fixed = FCVTZU_fixed | FP64, FCVTZU_xd_fixed = FCVTZU_fixed | SixtyFourBits | FP64, - SCVTF_fixed = FPFixedPointConvertFixed | 0x00020000u, + SCVTF_fixed = FPFixedPointConvertFixed | 0x00020000, SCVTF_hw_fixed = SCVTF_fixed | FP16, SCVTF_hx_fixed = SCVTF_fixed | SixtyFourBits | FP16, SCVTF_sw_fixed = SCVTF_fixed, SCVTF_sx_fixed = SCVTF_fixed | SixtyFourBits, SCVTF_dw_fixed = SCVTF_fixed | FP64, SCVTF_dx_fixed = SCVTF_fixed | SixtyFourBits | FP64, - UCVTF_fixed = FPFixedPointConvertFixed | 0x00030000u, + UCVTF_fixed = FPFixedPointConvertFixed | 0x00030000, UCVTF_hw_fixed = UCVTF_fixed | FP16, UCVTF_hx_fixed = UCVTF_fixed | SixtyFourBits | FP16, UCVTF_sw_fixed = UCVTF_fixed, @@ -1840,57 +1849,57 @@ enum FPFixedPointConvertOp : uint32_t { // Crypto - two register SHA. enum Crypto2RegSHAOp : uint32_t { - Crypto2RegSHAFixed = 0x5E280800u, - Crypto2RegSHAFMask = 0xFF3E0C00u + Crypto2RegSHAFixed = 0x5E280800, + Crypto2RegSHAFMask = 0xFF3E0C00 }; // Crypto - three register SHA. enum Crypto3RegSHAOp : uint32_t { - Crypto3RegSHAFixed = 0x5E000000u, - Crypto3RegSHAFMask = 0xFF208C00u + Crypto3RegSHAFixed = 0x5E000000, + Crypto3RegSHAFMask = 0xFF208C00 }; // Crypto - AES. enum CryptoAESOp : uint32_t { - CryptoAESFixed = 0x4E280800u, - CryptoAESFMask = 0xFF3E0C00u + CryptoAESFixed = 0x4E280800, + CryptoAESFMask = 0xFF3E0C00 }; // NEON instructions with two register operands. enum NEON2RegMiscOp : uint32_t { - NEON2RegMiscFixed = 0x0E200800u, - NEON2RegMiscFMask = 0x9F3E0C00u, - NEON2RegMiscMask = 0xBF3FFC00u, - NEON2RegMiscUBit = 0x20000000u, - NEON_REV64 = NEON2RegMiscFixed | 0x00000000u, - NEON_REV32 = NEON2RegMiscFixed | 0x20000000u, - NEON_REV16 = NEON2RegMiscFixed | 0x00001000u, - NEON_SADDLP = NEON2RegMiscFixed | 0x00002000u, + NEON2RegMiscFixed = 0x0E200800, + NEON2RegMiscFMask = 0x9F3E0C00, + NEON2RegMiscMask = 0xBF3FFC00, + NEON2RegMiscUBit = 0x20000000, + NEON_REV64 = NEON2RegMiscFixed | 0x00000000, + NEON_REV32 = NEON2RegMiscFixed | 0x20000000, + NEON_REV16 = NEON2RegMiscFixed | 0x00001000, + NEON_SADDLP = NEON2RegMiscFixed | 0x00002000, NEON_UADDLP = NEON_SADDLP | NEON2RegMiscUBit, - NEON_SUQADD = NEON2RegMiscFixed | 0x00003000u, + NEON_SUQADD = NEON2RegMiscFixed | 0x00003000, NEON_USQADD = NEON_SUQADD | NEON2RegMiscUBit, - NEON_CLS = NEON2RegMiscFixed | 0x00004000u, - NEON_CLZ = NEON2RegMiscFixed | 0x20004000u, - NEON_CNT = NEON2RegMiscFixed | 0x00005000u, - NEON_RBIT_NOT = NEON2RegMiscFixed | 0x20005000u, - NEON_SADALP = NEON2RegMiscFixed | 0x00006000u, + NEON_CLS = NEON2RegMiscFixed | 0x00004000, + NEON_CLZ = NEON2RegMiscFixed | 0x20004000, + NEON_CNT = NEON2RegMiscFixed | 0x00005000, + NEON_RBIT_NOT = NEON2RegMiscFixed | 0x20005000, + NEON_SADALP = NEON2RegMiscFixed | 0x00006000, NEON_UADALP = NEON_SADALP | NEON2RegMiscUBit, - NEON_SQABS = NEON2RegMiscFixed | 0x00007000u, - NEON_SQNEG = NEON2RegMiscFixed | 0x20007000u, - NEON_CMGT_zero = NEON2RegMiscFixed | 0x00008000u, - NEON_CMGE_zero = NEON2RegMiscFixed | 0x20008000u, - NEON_CMEQ_zero = NEON2RegMiscFixed | 0x00009000u, - NEON_CMLE_zero = NEON2RegMiscFixed | 0x20009000u, - NEON_CMLT_zero = NEON2RegMiscFixed | 0x0000A000u, - NEON_ABS = NEON2RegMiscFixed | 0x0000B000u, - NEON_NEG = NEON2RegMiscFixed | 0x2000B000u, - NEON_XTN = NEON2RegMiscFixed | 0x00012000u, - NEON_SQXTUN = NEON2RegMiscFixed | 0x20012000u, - NEON_SHLL = NEON2RegMiscFixed | 0x20013000u, - NEON_SQXTN = NEON2RegMiscFixed | 0x00014000u, + NEON_SQABS = NEON2RegMiscFixed | 0x00007000, + NEON_SQNEG = NEON2RegMiscFixed | 0x20007000, + NEON_CMGT_zero = NEON2RegMiscFixed | 0x00008000, + NEON_CMGE_zero = NEON2RegMiscFixed | 0x20008000, + NEON_CMEQ_zero = NEON2RegMiscFixed | 0x00009000, + NEON_CMLE_zero = NEON2RegMiscFixed | 0x20009000, + NEON_CMLT_zero = NEON2RegMiscFixed | 0x0000A000, + NEON_ABS = NEON2RegMiscFixed | 0x0000B000, + NEON_NEG = NEON2RegMiscFixed | 0x2000B000, + NEON_XTN = NEON2RegMiscFixed | 0x00012000, + NEON_SQXTUN = NEON2RegMiscFixed | 0x20012000, + NEON_SHLL = NEON2RegMiscFixed | 0x20013000, + NEON_SQXTN = NEON2RegMiscFixed | 0x00014000, NEON_UQXTN = NEON_SQXTN | NEON2RegMiscUBit, - NEON2RegMiscOpcode = 0x0001F000u, + NEON2RegMiscOpcode = 0x0001F000, NEON_RBIT_NOT_opcode = NEON_RBIT_NOT & NEON2RegMiscOpcode, NEON_NEG_opcode = NEON_NEG & NEON2RegMiscOpcode, NEON_XTN_opcode = NEON_XTN & NEON2RegMiscOpcode, @@ -1898,45 +1907,45 @@ enum NEON2RegMiscOp : uint32_t { // These instructions use only one bit of the size field. The other bit is // used to distinguish between instructions. - NEON2RegMiscFPMask = NEON2RegMiscMask | 0x00800000u, - NEON_FABS = NEON2RegMiscFixed | 0x0080F000u, - NEON_FNEG = NEON2RegMiscFixed | 0x2080F000u, - NEON_FCVTN = NEON2RegMiscFixed | 0x00016000u, - NEON_FCVTXN = NEON2RegMiscFixed | 0x20016000u, - NEON_FCVTL = NEON2RegMiscFixed | 0x00017000u, - NEON_FRINT32X = NEON2RegMiscFixed | 0x2001E000u, - NEON_FRINT32Z = NEON2RegMiscFixed | 0x0001E000u, - NEON_FRINT64X = NEON2RegMiscFixed | 0x2001F000u, - NEON_FRINT64Z = NEON2RegMiscFixed | 0x0001F000u, - NEON_FRINTN = NEON2RegMiscFixed | 0x00018000u, - NEON_FRINTA = NEON2RegMiscFixed | 0x20018000u, - NEON_FRINTP = NEON2RegMiscFixed | 0x00818000u, - NEON_FRINTM = NEON2RegMiscFixed | 0x00019000u, - NEON_FRINTX = NEON2RegMiscFixed | 0x20019000u, - NEON_FRINTZ = NEON2RegMiscFixed | 0x00819000u, - NEON_FRINTI = NEON2RegMiscFixed | 0x20819000u, - NEON_FCVTNS = NEON2RegMiscFixed | 0x0001A000u, + NEON2RegMiscFPMask = NEON2RegMiscMask | 0x00800000, + NEON_FABS = NEON2RegMiscFixed | 0x0080F000, + NEON_FNEG = NEON2RegMiscFixed | 0x2080F000, + NEON_FCVTN = NEON2RegMiscFixed | 0x00016000, + NEON_FCVTXN = NEON2RegMiscFixed | 0x20016000, + NEON_FCVTL = NEON2RegMiscFixed | 0x00017000, + NEON_FRINT32X = NEON2RegMiscFixed | 0x2001E000, + NEON_FRINT32Z = NEON2RegMiscFixed | 0x0001E000, + NEON_FRINT64X = NEON2RegMiscFixed | 0x2001F000, + NEON_FRINT64Z = NEON2RegMiscFixed | 0x0001F000, + NEON_FRINTN = NEON2RegMiscFixed | 0x00018000, + NEON_FRINTA = NEON2RegMiscFixed | 0x20018000, + NEON_FRINTP = NEON2RegMiscFixed | 0x00818000, + NEON_FRINTM = NEON2RegMiscFixed | 0x00019000, + NEON_FRINTX = NEON2RegMiscFixed | 0x20019000, + NEON_FRINTZ = NEON2RegMiscFixed | 0x00819000, + NEON_FRINTI = NEON2RegMiscFixed | 0x20819000, + NEON_FCVTNS = NEON2RegMiscFixed | 0x0001A000, NEON_FCVTNU = NEON_FCVTNS | NEON2RegMiscUBit, - NEON_FCVTPS = NEON2RegMiscFixed | 0x0081A000u, + NEON_FCVTPS = NEON2RegMiscFixed | 0x0081A000, NEON_FCVTPU = NEON_FCVTPS | NEON2RegMiscUBit, - NEON_FCVTMS = NEON2RegMiscFixed | 0x0001B000u, + NEON_FCVTMS = NEON2RegMiscFixed | 0x0001B000, NEON_FCVTMU = NEON_FCVTMS | NEON2RegMiscUBit, - NEON_FCVTZS = NEON2RegMiscFixed | 0x0081B000u, + NEON_FCVTZS = NEON2RegMiscFixed | 0x0081B000, NEON_FCVTZU = NEON_FCVTZS | NEON2RegMiscUBit, - NEON_FCVTAS = NEON2RegMiscFixed | 0x0001C000u, + NEON_FCVTAS = NEON2RegMiscFixed | 0x0001C000, NEON_FCVTAU = NEON_FCVTAS | NEON2RegMiscUBit, - NEON_FSQRT = NEON2RegMiscFixed | 0x2081F000u, - NEON_SCVTF = NEON2RegMiscFixed | 0x0001D000u, + NEON_FSQRT = NEON2RegMiscFixed | 0x2081F000, + NEON_SCVTF = NEON2RegMiscFixed | 0x0001D000, NEON_UCVTF = NEON_SCVTF | NEON2RegMiscUBit, - NEON_URSQRTE = NEON2RegMiscFixed | 0x2081C000u, - NEON_URECPE = NEON2RegMiscFixed | 0x0081C000u, - NEON_FRSQRTE = NEON2RegMiscFixed | 0x2081D000u, - NEON_FRECPE = NEON2RegMiscFixed | 0x0081D000u, - NEON_FCMGT_zero = NEON2RegMiscFixed | 0x0080C000u, - NEON_FCMGE_zero = NEON2RegMiscFixed | 0x2080C000u, - NEON_FCMEQ_zero = NEON2RegMiscFixed | 0x0080D000u, - NEON_FCMLE_zero = NEON2RegMiscFixed | 0x2080D000u, - NEON_FCMLT_zero = NEON2RegMiscFixed | 0x0080E000u, + NEON_URSQRTE = NEON2RegMiscFixed | 0x2081C000, + NEON_URECPE = NEON2RegMiscFixed | 0x0081C000, + NEON_FRSQRTE = NEON2RegMiscFixed | 0x2081D000, + NEON_FRECPE = NEON2RegMiscFixed | 0x0081D000, + NEON_FCMGT_zero = NEON2RegMiscFixed | 0x0080C000, + NEON_FCMGE_zero = NEON2RegMiscFixed | 0x2080C000, + NEON_FCMEQ_zero = NEON2RegMiscFixed | 0x0080D000, + NEON_FCMLE_zero = NEON2RegMiscFixed | 0x2080D000, + NEON_FCMLT_zero = NEON2RegMiscFixed | 0x0080E000, NEON_FCVTL_opcode = NEON_FCVTL & NEON2RegMiscOpcode, NEON_FCVTN_opcode = NEON_FCVTN & NEON2RegMiscOpcode @@ -1944,76 +1953,76 @@ enum NEON2RegMiscOp : uint32_t { // NEON instructions with two register operands (FP16). enum NEON2RegMiscFP16Op : uint32_t { - NEON2RegMiscFP16Fixed = 0x0E780800u, - NEON2RegMiscFP16FMask = 0x9F7E0C00u, - NEON2RegMiscFP16Mask = 0xBFFFFC00u, - NEON_FRINTN_H = NEON2RegMiscFP16Fixed | 0x00018000u, - NEON_FRINTM_H = NEON2RegMiscFP16Fixed | 0x00019000u, - NEON_FCVTNS_H = NEON2RegMiscFP16Fixed | 0x0001A000u, - NEON_FCVTMS_H = NEON2RegMiscFP16Fixed | 0x0001B000u, - NEON_FCVTAS_H = NEON2RegMiscFP16Fixed | 0x0001C000u, - NEON_SCVTF_H = NEON2RegMiscFP16Fixed | 0x0001D000u, - NEON_FCMGT_H_zero = NEON2RegMiscFP16Fixed | 0x0080C000u, - NEON_FCMEQ_H_zero = NEON2RegMiscFP16Fixed | 0x0080D000u, - NEON_FCMLT_H_zero = NEON2RegMiscFP16Fixed | 0x0080E000u, - NEON_FABS_H = NEON2RegMiscFP16Fixed | 0x0080F000u, - NEON_FRINTP_H = NEON2RegMiscFP16Fixed | 0x00818000u, - NEON_FRINTZ_H = NEON2RegMiscFP16Fixed | 0x00819000u, - NEON_FCVTPS_H = NEON2RegMiscFP16Fixed | 0x0081A000u, - NEON_FCVTZS_H = NEON2RegMiscFP16Fixed | 0x0081B000u, - NEON_FRECPE_H = NEON2RegMiscFP16Fixed | 0x0081D000u, - NEON_FRINTA_H = NEON2RegMiscFP16Fixed | 0x20018000u, - NEON_FRINTX_H = NEON2RegMiscFP16Fixed | 0x20019000u, - NEON_FCVTNU_H = NEON2RegMiscFP16Fixed | 0x2001A000u, - NEON_FCVTMU_H = NEON2RegMiscFP16Fixed | 0x2001B000u, - NEON_FCVTAU_H = NEON2RegMiscFP16Fixed | 0x2001C000u, - NEON_UCVTF_H = NEON2RegMiscFP16Fixed | 0x2001D000u, - NEON_FCMGE_H_zero = NEON2RegMiscFP16Fixed | 0x2080C000u, - NEON_FCMLE_H_zero = NEON2RegMiscFP16Fixed | 0x2080D000u, - NEON_FNEG_H = NEON2RegMiscFP16Fixed | 0x2080F000u, - NEON_FRINTI_H = NEON2RegMiscFP16Fixed | 0x20819000u, - NEON_FCVTPU_H = NEON2RegMiscFP16Fixed | 0x2081A000u, - NEON_FCVTZU_H = NEON2RegMiscFP16Fixed | 0x2081B000u, - NEON_FRSQRTE_H = NEON2RegMiscFP16Fixed | 0x2081D000u, - NEON_FSQRT_H = NEON2RegMiscFP16Fixed | 0x2081F000u + NEON2RegMiscFP16Fixed = 0x0E780800, + NEON2RegMiscFP16FMask = 0x9F7E0C00, + NEON2RegMiscFP16Mask = 0xBFFFFC00, + NEON_FRINTN_H = NEON2RegMiscFP16Fixed | 0x00018000, + NEON_FRINTM_H = NEON2RegMiscFP16Fixed | 0x00019000, + NEON_FCVTNS_H = NEON2RegMiscFP16Fixed | 0x0001A000, + NEON_FCVTMS_H = NEON2RegMiscFP16Fixed | 0x0001B000, + NEON_FCVTAS_H = NEON2RegMiscFP16Fixed | 0x0001C000, + NEON_SCVTF_H = NEON2RegMiscFP16Fixed | 0x0001D000, + NEON_FCMGT_H_zero = NEON2RegMiscFP16Fixed | 0x0080C000, + NEON_FCMEQ_H_zero = NEON2RegMiscFP16Fixed | 0x0080D000, + NEON_FCMLT_H_zero = NEON2RegMiscFP16Fixed | 0x0080E000, + NEON_FABS_H = NEON2RegMiscFP16Fixed | 0x0080F000, + NEON_FRINTP_H = NEON2RegMiscFP16Fixed | 0x00818000, + NEON_FRINTZ_H = NEON2RegMiscFP16Fixed | 0x00819000, + NEON_FCVTPS_H = NEON2RegMiscFP16Fixed | 0x0081A000, + NEON_FCVTZS_H = NEON2RegMiscFP16Fixed | 0x0081B000, + NEON_FRECPE_H = NEON2RegMiscFP16Fixed | 0x0081D000, + NEON_FRINTA_H = NEON2RegMiscFP16Fixed | 0x20018000, + NEON_FRINTX_H = NEON2RegMiscFP16Fixed | 0x20019000, + NEON_FCVTNU_H = NEON2RegMiscFP16Fixed | 0x2001A000, + NEON_FCVTMU_H = NEON2RegMiscFP16Fixed | 0x2001B000, + NEON_FCVTAU_H = NEON2RegMiscFP16Fixed | 0x2001C000, + NEON_UCVTF_H = NEON2RegMiscFP16Fixed | 0x2001D000, + NEON_FCMGE_H_zero = NEON2RegMiscFP16Fixed | 0x2080C000, + NEON_FCMLE_H_zero = NEON2RegMiscFP16Fixed | 0x2080D000, + NEON_FNEG_H = NEON2RegMiscFP16Fixed | 0x2080F000, + NEON_FRINTI_H = NEON2RegMiscFP16Fixed | 0x20819000, + NEON_FCVTPU_H = NEON2RegMiscFP16Fixed | 0x2081A000, + NEON_FCVTZU_H = NEON2RegMiscFP16Fixed | 0x2081B000, + NEON_FRSQRTE_H = NEON2RegMiscFP16Fixed | 0x2081D000, + NEON_FSQRT_H = NEON2RegMiscFP16Fixed | 0x2081F000 }; // NEON instructions with three same-type operands. enum NEON3SameOp : uint32_t { - NEON3SameFixed = 0x0E200400u, - NEON3SameFMask = 0x9F200400u, - NEON3SameMask = 0xBF20FC00u, - NEON3SameUBit = 0x20000000u, - NEON_ADD = NEON3SameFixed | 0x00008000u, - NEON_ADDP = NEON3SameFixed | 0x0000B800u, - NEON_SHADD = NEON3SameFixed | 0x00000000u, - NEON_SHSUB = NEON3SameFixed | 0x00002000u, - NEON_SRHADD = NEON3SameFixed | 0x00001000u, - NEON_CMEQ = NEON3SameFixed | NEON3SameUBit | 0x00008800u, - NEON_CMGE = NEON3SameFixed | 0x00003800u, - NEON_CMGT = NEON3SameFixed | 0x00003000u, + NEON3SameFixed = 0x0E200400, + NEON3SameFMask = 0x9F200400, + NEON3SameMask = 0xBF20FC00, + NEON3SameUBit = 0x20000000, + NEON_ADD = NEON3SameFixed | 0x00008000, + NEON_ADDP = NEON3SameFixed | 0x0000B800, + NEON_SHADD = NEON3SameFixed | 0x00000000, + NEON_SHSUB = NEON3SameFixed | 0x00002000, + NEON_SRHADD = NEON3SameFixed | 0x00001000, + NEON_CMEQ = NEON3SameFixed | NEON3SameUBit | 0x00008800, + NEON_CMGE = NEON3SameFixed | 0x00003800, + NEON_CMGT = NEON3SameFixed | 0x00003000, NEON_CMHI = NEON3SameFixed | NEON3SameUBit | NEON_CMGT, NEON_CMHS = NEON3SameFixed | NEON3SameUBit | NEON_CMGE, - NEON_CMTST = NEON3SameFixed | 0x00008800u, - NEON_MLA = NEON3SameFixed | 0x00009000u, - NEON_MLS = NEON3SameFixed | 0x20009000u, - NEON_MUL = NEON3SameFixed | 0x00009800u, - NEON_PMUL = NEON3SameFixed | 0x20009800u, - NEON_SRSHL = NEON3SameFixed | 0x00005000u, - NEON_SQSHL = NEON3SameFixed | 0x00004800u, - NEON_SQRSHL = NEON3SameFixed | 0x00005800u, - NEON_SSHL = NEON3SameFixed | 0x00004000u, - NEON_SMAX = NEON3SameFixed | 0x00006000u, - NEON_SMAXP = NEON3SameFixed | 0x0000A000u, - NEON_SMIN = NEON3SameFixed | 0x00006800u, - NEON_SMINP = NEON3SameFixed | 0x0000A800u, - NEON_SABD = NEON3SameFixed | 0x00007000u, - NEON_SABA = NEON3SameFixed | 0x00007800u, + NEON_CMTST = NEON3SameFixed | 0x00008800, + NEON_MLA = NEON3SameFixed | 0x00009000, + NEON_MLS = NEON3SameFixed | 0x20009000, + NEON_MUL = NEON3SameFixed | 0x00009800, + NEON_PMUL = NEON3SameFixed | 0x20009800, + NEON_SRSHL = NEON3SameFixed | 0x00005000, + NEON_SQSHL = NEON3SameFixed | 0x00004800, + NEON_SQRSHL = NEON3SameFixed | 0x00005800, + NEON_SSHL = NEON3SameFixed | 0x00004000, + NEON_SMAX = NEON3SameFixed | 0x00006000, + NEON_SMAXP = NEON3SameFixed | 0x0000A000, + NEON_SMIN = NEON3SameFixed | 0x00006800, + NEON_SMINP = NEON3SameFixed | 0x0000A800, + NEON_SABD = NEON3SameFixed | 0x00007000, + NEON_SABA = NEON3SameFixed | 0x00007800, NEON_UABD = NEON3SameFixed | NEON3SameUBit | NEON_SABD, NEON_UABA = NEON3SameFixed | NEON3SameUBit | NEON_SABA, - NEON_SQADD = NEON3SameFixed | 0x00000800u, - NEON_SQSUB = NEON3SameFixed | 0x00002800u, - NEON_SUB = NEON3SameFixed | NEON3SameUBit | 0x00008000u, + NEON_SQADD = NEON3SameFixed | 0x00000800, + NEON_SQSUB = NEON3SameFixed | 0x00002800, + NEON_SUB = NEON3SameFixed | NEON3SameUBit | 0x00008000, NEON_UHADD = NEON3SameFixed | NEON3SameUBit | NEON_SHADD, NEON_UHSUB = NEON3SameFixed | NEON3SameUBit | NEON_SHSUB, NEON_URHADD = NEON3SameFixed | NEON3SameUBit | NEON_SRHADD, @@ -2027,153 +2036,153 @@ enum NEON3SameOp : uint32_t { NEON_UQSHL = NEON3SameFixed | NEON3SameUBit | NEON_SQSHL, NEON_UQSUB = NEON3SameFixed | NEON3SameUBit | NEON_SQSUB, NEON_USHL = NEON3SameFixed | NEON3SameUBit | NEON_SSHL, - NEON_SQDMULH = NEON3SameFixed | 0x0000B000u, - NEON_SQRDMULH = NEON3SameFixed | 0x2000B000u, + NEON_SQDMULH = NEON3SameFixed | 0x0000B000, + NEON_SQRDMULH = NEON3SameFixed | 0x2000B000, // NEON floating point instructions with three same-type operands. - NEON3SameFPFixed = NEON3SameFixed | 0x0000C000u, - NEON3SameFPFMask = NEON3SameFMask | 0x0000C000u, - NEON3SameFPMask = NEON3SameMask | 0x00800000u, - NEON_FADD = NEON3SameFixed | 0x0000D000u, - NEON_FSUB = NEON3SameFixed | 0x0080D000u, - NEON_FMUL = NEON3SameFixed | 0x2000D800u, - NEON_FDIV = NEON3SameFixed | 0x2000F800u, - NEON_FMAX = NEON3SameFixed | 0x0000F000u, - NEON_FMAXNM = NEON3SameFixed | 0x0000C000u, - NEON_FMAXP = NEON3SameFixed | 0x2000F000u, - NEON_FMAXNMP = NEON3SameFixed | 0x2000C000u, - NEON_FMIN = NEON3SameFixed | 0x0080F000u, - NEON_FMINNM = NEON3SameFixed | 0x0080C000u, - NEON_FMINP = NEON3SameFixed | 0x2080F000u, - NEON_FMINNMP = NEON3SameFixed | 0x2080C000u, - NEON_FMLA = NEON3SameFixed | 0x0000C800u, - NEON_FMLS = NEON3SameFixed | 0x0080C800u, - NEON_FMULX = NEON3SameFixed | 0x0000D800u, - NEON_FRECPS = NEON3SameFixed | 0x0000F800u, - NEON_FRSQRTS = NEON3SameFixed | 0x0080F800u, - NEON_FABD = NEON3SameFixed | 0x2080D000u, - NEON_FADDP = NEON3SameFixed | 0x2000D000u, - NEON_FCMEQ = NEON3SameFixed | 0x0000E000u, - NEON_FCMGE = NEON3SameFixed | 0x2000E000u, - NEON_FCMGT = NEON3SameFixed | 0x2080E000u, - NEON_FACGE = NEON3SameFixed | 0x2000E800u, - NEON_FACGT = NEON3SameFixed | 0x2080E800u, + NEON3SameFPFixed = NEON3SameFixed | 0x0000C000, + NEON3SameFPFMask = NEON3SameFMask | 0x0000C000, + NEON3SameFPMask = NEON3SameMask | 0x00800000, + NEON_FADD = NEON3SameFixed | 0x0000D000, + NEON_FSUB = NEON3SameFixed | 0x0080D000, + NEON_FMUL = NEON3SameFixed | 0x2000D800, + NEON_FDIV = NEON3SameFixed | 0x2000F800, + NEON_FMAX = NEON3SameFixed | 0x0000F000, + NEON_FMAXNM = NEON3SameFixed | 0x0000C000, + NEON_FMAXP = NEON3SameFixed | 0x2000F000, + NEON_FMAXNMP = NEON3SameFixed | 0x2000C000, + NEON_FMIN = NEON3SameFixed | 0x0080F000, + NEON_FMINNM = NEON3SameFixed | 0x0080C000, + NEON_FMINP = NEON3SameFixed | 0x2080F000, + NEON_FMINNMP = NEON3SameFixed | 0x2080C000, + NEON_FMLA = NEON3SameFixed | 0x0000C800, + NEON_FMLS = NEON3SameFixed | 0x0080C800, + NEON_FMULX = NEON3SameFixed | 0x0000D800, + NEON_FRECPS = NEON3SameFixed | 0x0000F800, + NEON_FRSQRTS = NEON3SameFixed | 0x0080F800, + NEON_FABD = NEON3SameFixed | 0x2080D000, + NEON_FADDP = NEON3SameFixed | 0x2000D000, + NEON_FCMEQ = NEON3SameFixed | 0x0000E000, + NEON_FCMGE = NEON3SameFixed | 0x2000E000, + NEON_FCMGT = NEON3SameFixed | 0x2080E000, + NEON_FACGE = NEON3SameFixed | 0x2000E800, + NEON_FACGT = NEON3SameFixed | 0x2080E800, // NEON logical instructions with three same-type operands. - NEON3SameLogicalFixed = NEON3SameFixed | 0x00001800u, - NEON3SameLogicalFMask = NEON3SameFMask | 0x0000F800u, - NEON3SameLogicalMask = 0xBFE0FC00u, + NEON3SameLogicalFixed = NEON3SameFixed | 0x00001800, + NEON3SameLogicalFMask = NEON3SameFMask | 0x0000F800, + NEON3SameLogicalMask = 0xBFE0FC00, NEON3SameLogicalFormatMask = NEON_Q, - NEON_AND = NEON3SameLogicalFixed | 0x00000000u, - NEON_ORR = NEON3SameLogicalFixed | 0x00A00000u, - NEON_ORN = NEON3SameLogicalFixed | 0x00C00000u, - NEON_EOR = NEON3SameLogicalFixed | 0x20000000u, - NEON_BIC = NEON3SameLogicalFixed | 0x00400000u, - NEON_BIF = NEON3SameLogicalFixed | 0x20C00000u, - NEON_BIT = NEON3SameLogicalFixed | 0x20800000u, - NEON_BSL = NEON3SameLogicalFixed | 0x20400000u, + NEON_AND = NEON3SameLogicalFixed | 0x00000000, + NEON_ORR = NEON3SameLogicalFixed | 0x00A00000, + NEON_ORN = NEON3SameLogicalFixed | 0x00C00000, + NEON_EOR = NEON3SameLogicalFixed | 0x20000000, + NEON_BIC = NEON3SameLogicalFixed | 0x00400000, + NEON_BIF = NEON3SameLogicalFixed | 0x20C00000, + NEON_BIT = NEON3SameLogicalFixed | 0x20800000, + NEON_BSL = NEON3SameLogicalFixed | 0x20400000, // FHM (FMLAL-like) instructions have an oddball encoding scheme under 3Same. - NEON3SameFHMMask = 0xBFE0FC00u, // U size opcode - NEON_FMLAL = NEON3SameFixed | 0x0000E800u, // 0 00 11101 - NEON_FMLAL2 = NEON3SameFixed | 0x2000C800u, // 1 00 11001 - NEON_FMLSL = NEON3SameFixed | 0x0080E800u, // 0 10 11101 - NEON_FMLSL2 = NEON3SameFixed | 0x2080C800u // 1 10 11001 + NEON3SameFHMMask = 0xBFE0FC00, // U size opcode + NEON_FMLAL = NEON3SameFixed | 0x0000E800, // 0 00 11101 + NEON_FMLAL2 = NEON3SameFixed | 0x2000C800, // 1 00 11001 + NEON_FMLSL = NEON3SameFixed | 0x0080E800, // 0 10 11101 + NEON_FMLSL2 = NEON3SameFixed | 0x2080C800 // 1 10 11001 }; enum NEON3SameFP16 : uint32_t { - NEON3SameFP16Fixed = 0x0E400400u, - NEON3SameFP16FMask = 0x9F60C400u, - NEON3SameFP16Mask = 0xBFE0FC00u, - NEON_FMAXNM_H = NEON3SameFP16Fixed | 0x00000000u, - NEON_FMLA_H = NEON3SameFP16Fixed | 0x00000800u, - NEON_FADD_H = NEON3SameFP16Fixed | 0x00001000u, - NEON_FMULX_H = NEON3SameFP16Fixed | 0x00001800u, - NEON_FCMEQ_H = NEON3SameFP16Fixed | 0x00002000u, - NEON_FMAX_H = NEON3SameFP16Fixed | 0x00003000u, - NEON_FRECPS_H = NEON3SameFP16Fixed | 0x00003800u, - NEON_FMINNM_H = NEON3SameFP16Fixed | 0x00800000u, - NEON_FMLS_H = NEON3SameFP16Fixed | 0x00800800u, - NEON_FSUB_H = NEON3SameFP16Fixed | 0x00801000u, - NEON_FMIN_H = NEON3SameFP16Fixed | 0x00803000u, - NEON_FRSQRTS_H = NEON3SameFP16Fixed | 0x00803800u, - NEON_FMAXNMP_H = NEON3SameFP16Fixed | 0x20000000u, - NEON_FADDP_H = NEON3SameFP16Fixed | 0x20001000u, - NEON_FMUL_H = NEON3SameFP16Fixed | 0x20001800u, - NEON_FCMGE_H = NEON3SameFP16Fixed | 0x20002000u, - NEON_FACGE_H = NEON3SameFP16Fixed | 0x20002800u, - NEON_FMAXP_H = NEON3SameFP16Fixed | 0x20003000u, - NEON_FDIV_H = NEON3SameFP16Fixed | 0x20003800u, - NEON_FMINNMP_H = NEON3SameFP16Fixed | 0x20800000u, - NEON_FABD_H = NEON3SameFP16Fixed | 0x20801000u, - NEON_FCMGT_H = NEON3SameFP16Fixed | 0x20802000u, - NEON_FACGT_H = NEON3SameFP16Fixed | 0x20802800u, - NEON_FMINP_H = NEON3SameFP16Fixed | 0x20803000u + NEON3SameFP16Fixed = 0x0E400400, + NEON3SameFP16FMask = 0x9F60C400, + NEON3SameFP16Mask = 0xBFE0FC00, + NEON_FMAXNM_H = NEON3SameFP16Fixed | 0x00000000, + NEON_FMLA_H = NEON3SameFP16Fixed | 0x00000800, + NEON_FADD_H = NEON3SameFP16Fixed | 0x00001000, + NEON_FMULX_H = NEON3SameFP16Fixed | 0x00001800, + NEON_FCMEQ_H = NEON3SameFP16Fixed | 0x00002000, + NEON_FMAX_H = NEON3SameFP16Fixed | 0x00003000, + NEON_FRECPS_H = NEON3SameFP16Fixed | 0x00003800, + NEON_FMINNM_H = NEON3SameFP16Fixed | 0x00800000, + NEON_FMLS_H = NEON3SameFP16Fixed | 0x00800800, + NEON_FSUB_H = NEON3SameFP16Fixed | 0x00801000, + NEON_FMIN_H = NEON3SameFP16Fixed | 0x00803000, + NEON_FRSQRTS_H = NEON3SameFP16Fixed | 0x00803800, + NEON_FMAXNMP_H = NEON3SameFP16Fixed | 0x20000000, + NEON_FADDP_H = NEON3SameFP16Fixed | 0x20001000, + NEON_FMUL_H = NEON3SameFP16Fixed | 0x20001800, + NEON_FCMGE_H = NEON3SameFP16Fixed | 0x20002000, + NEON_FACGE_H = NEON3SameFP16Fixed | 0x20002800, + NEON_FMAXP_H = NEON3SameFP16Fixed | 0x20003000, + NEON_FDIV_H = NEON3SameFP16Fixed | 0x20003800, + NEON_FMINNMP_H = NEON3SameFP16Fixed | 0x20800000, + NEON_FABD_H = NEON3SameFP16Fixed | 0x20801000, + NEON_FCMGT_H = NEON3SameFP16Fixed | 0x20802000, + NEON_FACGT_H = NEON3SameFP16Fixed | 0x20802800, + NEON_FMINP_H = NEON3SameFP16Fixed | 0x20803000 }; // 'Extra' NEON instructions with three same-type operands. enum NEON3SameExtraOp : uint32_t { - NEON3SameExtraFixed = 0x0E008400u, - NEON3SameExtraUBit = 0x20000000u, - NEON3SameExtraFMask = 0x9E208400u, - NEON3SameExtraMask = 0xBE20FC00u, + NEON3SameExtraFixed = 0x0E008400, + NEON3SameExtraUBit = 0x20000000, + NEON3SameExtraFMask = 0x9E208400, + NEON3SameExtraMask = 0xBE20FC00, NEON_SQRDMLAH = NEON3SameExtraFixed | NEON3SameExtraUBit, - NEON_SQRDMLSH = NEON3SameExtraFixed | NEON3SameExtraUBit | 0x00000800u, - NEON_SDOT = NEON3SameExtraFixed | 0x00001000u, - NEON_UDOT = NEON3SameExtraFixed | NEON3SameExtraUBit | 0x00001000u, + NEON_SQRDMLSH = NEON3SameExtraFixed | NEON3SameExtraUBit | 0x00000800, + NEON_SDOT = NEON3SameExtraFixed | 0x00001000, + NEON_UDOT = NEON3SameExtraFixed | NEON3SameExtraUBit | 0x00001000, /* v8.3 Complex Numbers */ - NEON3SameExtraFCFixed = 0x2E00C400u, - NEON3SameExtraFCFMask = 0xBF20C400u, + NEON3SameExtraFCFixed = 0x2E00C400, + NEON3SameExtraFCFMask = 0xBF20C400, // FCMLA fixes opcode<3:2>, and uses opcode<1:0> to encode . - NEON3SameExtraFCMLAMask = NEON3SameExtraFCFMask | 0x00006000u, + NEON3SameExtraFCMLAMask = NEON3SameExtraFCFMask | 0x00006000, NEON_FCMLA = NEON3SameExtraFCFixed, // FCADD fixes opcode<3:2, 0>, and uses opcode<1> to encode . - NEON3SameExtraFCADDMask = NEON3SameExtraFCFMask | 0x00006800u, - NEON_FCADD = NEON3SameExtraFCFixed | 0x00002000u + NEON3SameExtraFCADDMask = NEON3SameExtraFCFMask | 0x00006800, + NEON_FCADD = NEON3SameExtraFCFixed | 0x00002000 // Other encodings under NEON3SameExtraFCFMask are UNALLOCATED. }; // NEON instructions with three different-type operands. enum NEON3DifferentOp : uint32_t { - NEON3DifferentFixed = 0x0E200000u, - NEON3DifferentFMask = 0x9F200C00u, - NEON3DifferentMask = 0xFF20FC00u, - NEON_ADDHN = NEON3DifferentFixed | 0x00004000u, + NEON3DifferentFixed = 0x0E200000, + NEON3DifferentFMask = 0x9F200C00, + NEON3DifferentMask = 0xFF20FC00, + NEON_ADDHN = NEON3DifferentFixed | 0x00004000, NEON_ADDHN2 = NEON_ADDHN | NEON_Q, - NEON_PMULL = NEON3DifferentFixed | 0x0000E000u, + NEON_PMULL = NEON3DifferentFixed | 0x0000E000, NEON_PMULL2 = NEON_PMULL | NEON_Q, - NEON_RADDHN = NEON3DifferentFixed | 0x20004000u, + NEON_RADDHN = NEON3DifferentFixed | 0x20004000, NEON_RADDHN2 = NEON_RADDHN | NEON_Q, - NEON_RSUBHN = NEON3DifferentFixed | 0x20006000u, + NEON_RSUBHN = NEON3DifferentFixed | 0x20006000, NEON_RSUBHN2 = NEON_RSUBHN | NEON_Q, - NEON_SABAL = NEON3DifferentFixed | 0x00005000u, + NEON_SABAL = NEON3DifferentFixed | 0x00005000, NEON_SABAL2 = NEON_SABAL | NEON_Q, - NEON_SABDL = NEON3DifferentFixed | 0x00007000u, + NEON_SABDL = NEON3DifferentFixed | 0x00007000, NEON_SABDL2 = NEON_SABDL | NEON_Q, - NEON_SADDL = NEON3DifferentFixed | 0x00000000u, + NEON_SADDL = NEON3DifferentFixed | 0x00000000, NEON_SADDL2 = NEON_SADDL | NEON_Q, - NEON_SADDW = NEON3DifferentFixed | 0x00001000u, + NEON_SADDW = NEON3DifferentFixed | 0x00001000, NEON_SADDW2 = NEON_SADDW | NEON_Q, - NEON_SMLAL = NEON3DifferentFixed | 0x00008000u, + NEON_SMLAL = NEON3DifferentFixed | 0x00008000, NEON_SMLAL2 = NEON_SMLAL | NEON_Q, - NEON_SMLSL = NEON3DifferentFixed | 0x0000A000u, + NEON_SMLSL = NEON3DifferentFixed | 0x0000A000, NEON_SMLSL2 = NEON_SMLSL | NEON_Q, - NEON_SMULL = NEON3DifferentFixed | 0x0000C000u, + NEON_SMULL = NEON3DifferentFixed | 0x0000C000, NEON_SMULL2 = NEON_SMULL | NEON_Q, - NEON_SSUBL = NEON3DifferentFixed | 0x00002000u, + NEON_SSUBL = NEON3DifferentFixed | 0x00002000, NEON_SSUBL2 = NEON_SSUBL | NEON_Q, - NEON_SSUBW = NEON3DifferentFixed | 0x00003000u, + NEON_SSUBW = NEON3DifferentFixed | 0x00003000, NEON_SSUBW2 = NEON_SSUBW | NEON_Q, - NEON_SQDMLAL = NEON3DifferentFixed | 0x00009000u, + NEON_SQDMLAL = NEON3DifferentFixed | 0x00009000, NEON_SQDMLAL2 = NEON_SQDMLAL | NEON_Q, - NEON_SQDMLSL = NEON3DifferentFixed | 0x0000B000u, + NEON_SQDMLSL = NEON3DifferentFixed | 0x0000B000, NEON_SQDMLSL2 = NEON_SQDMLSL | NEON_Q, - NEON_SQDMULL = NEON3DifferentFixed | 0x0000D000u, + NEON_SQDMULL = NEON3DifferentFixed | 0x0000D000, NEON_SQDMULL2 = NEON_SQDMULL | NEON_Q, - NEON_SUBHN = NEON3DifferentFixed | 0x00006000u, + NEON_SUBHN = NEON3DifferentFixed | 0x00006000, NEON_SUBHN2 = NEON_SUBHN | NEON_Q, NEON_UABAL = NEON_SABAL | NEON3SameUBit, NEON_UABAL2 = NEON_UABAL | NEON_Q, @@ -2197,133 +2206,133 @@ enum NEON3DifferentOp : uint32_t { // NEON instructions operating across vectors. enum NEONAcrossLanesOp : uint32_t { - NEONAcrossLanesFixed = 0x0E300800u, - NEONAcrossLanesFMask = 0x9F3E0C00u, - NEONAcrossLanesMask = 0xBF3FFC00u, - NEON_ADDV = NEONAcrossLanesFixed | 0x0001B000u, - NEON_SADDLV = NEONAcrossLanesFixed | 0x00003000u, - NEON_UADDLV = NEONAcrossLanesFixed | 0x20003000u, - NEON_SMAXV = NEONAcrossLanesFixed | 0x0000A000u, - NEON_SMINV = NEONAcrossLanesFixed | 0x0001A000u, - NEON_UMAXV = NEONAcrossLanesFixed | 0x2000A000u, - NEON_UMINV = NEONAcrossLanesFixed | 0x2001A000u, - - NEONAcrossLanesFP16Fixed = NEONAcrossLanesFixed | 0x0000C000u, - NEONAcrossLanesFP16FMask = NEONAcrossLanesFMask | 0x2000C000u, - NEONAcrossLanesFP16Mask = NEONAcrossLanesMask | 0x20800000u, - NEON_FMAXNMV_H = NEONAcrossLanesFP16Fixed | 0x00000000u, - NEON_FMAXV_H = NEONAcrossLanesFP16Fixed | 0x00003000u, - NEON_FMINNMV_H = NEONAcrossLanesFP16Fixed | 0x00800000u, - NEON_FMINV_H = NEONAcrossLanesFP16Fixed | 0x00803000u, + NEONAcrossLanesFixed = 0x0E300800, + NEONAcrossLanesFMask = 0x9F3E0C00, + NEONAcrossLanesMask = 0xBF3FFC00, + NEON_ADDV = NEONAcrossLanesFixed | 0x0001B000, + NEON_SADDLV = NEONAcrossLanesFixed | 0x00003000, + NEON_UADDLV = NEONAcrossLanesFixed | 0x20003000, + NEON_SMAXV = NEONAcrossLanesFixed | 0x0000A000, + NEON_SMINV = NEONAcrossLanesFixed | 0x0001A000, + NEON_UMAXV = NEONAcrossLanesFixed | 0x2000A000, + NEON_UMINV = NEONAcrossLanesFixed | 0x2001A000, + + NEONAcrossLanesFP16Fixed = NEONAcrossLanesFixed | 0x0000C000, + NEONAcrossLanesFP16FMask = NEONAcrossLanesFMask | 0x2000C000, + NEONAcrossLanesFP16Mask = NEONAcrossLanesMask | 0x20800000, + NEON_FMAXNMV_H = NEONAcrossLanesFP16Fixed | 0x00000000, + NEON_FMAXV_H = NEONAcrossLanesFP16Fixed | 0x00003000, + NEON_FMINNMV_H = NEONAcrossLanesFP16Fixed | 0x00800000, + NEON_FMINV_H = NEONAcrossLanesFP16Fixed | 0x00803000, // NEON floating point across instructions. - NEONAcrossLanesFPFixed = NEONAcrossLanesFixed | 0x2000C000u, - NEONAcrossLanesFPFMask = NEONAcrossLanesFMask | 0x2000C000u, - NEONAcrossLanesFPMask = NEONAcrossLanesMask | 0x20800000u, + NEONAcrossLanesFPFixed = NEONAcrossLanesFixed | 0x2000C000, + NEONAcrossLanesFPFMask = NEONAcrossLanesFMask | 0x2000C000, + NEONAcrossLanesFPMask = NEONAcrossLanesMask | 0x20800000, - NEON_FMAXV = NEONAcrossLanesFPFixed | 0x2000F000u, - NEON_FMINV = NEONAcrossLanesFPFixed | 0x2080F000u, - NEON_FMAXNMV = NEONAcrossLanesFPFixed | 0x2000C000u, - NEON_FMINNMV = NEONAcrossLanesFPFixed | 0x2080C000u + NEON_FMAXV = NEONAcrossLanesFPFixed | 0x2000F000, + NEON_FMINV = NEONAcrossLanesFPFixed | 0x2080F000, + NEON_FMAXNMV = NEONAcrossLanesFPFixed | 0x2000C000, + NEON_FMINNMV = NEONAcrossLanesFPFixed | 0x2080C000 }; // NEON instructions with indexed element operand. enum NEONByIndexedElementOp : uint32_t { - NEONByIndexedElementFixed = 0x0F000000u, - NEONByIndexedElementFMask = 0x9F000400u, - NEONByIndexedElementMask = 0xBF00F400u, - NEON_MUL_byelement = NEONByIndexedElementFixed | 0x00008000u, - NEON_MLA_byelement = NEONByIndexedElementFixed | 0x20000000u, - NEON_MLS_byelement = NEONByIndexedElementFixed | 0x20004000u, - NEON_SMULL_byelement = NEONByIndexedElementFixed | 0x0000A000u, - NEON_SMLAL_byelement = NEONByIndexedElementFixed | 0x00002000u, - NEON_SMLSL_byelement = NEONByIndexedElementFixed | 0x00006000u, - NEON_UMULL_byelement = NEONByIndexedElementFixed | 0x2000A000u, - NEON_UMLAL_byelement = NEONByIndexedElementFixed | 0x20002000u, - NEON_UMLSL_byelement = NEONByIndexedElementFixed | 0x20006000u, - NEON_SQDMULL_byelement = NEONByIndexedElementFixed | 0x0000B000u, - NEON_SQDMLAL_byelement = NEONByIndexedElementFixed | 0x00003000u, - NEON_SQDMLSL_byelement = NEONByIndexedElementFixed | 0x00007000u, - NEON_SQDMULH_byelement = NEONByIndexedElementFixed | 0x0000C000u, - NEON_SQRDMULH_byelement = NEONByIndexedElementFixed | 0x0000D000u, - NEON_SDOT_byelement = NEONByIndexedElementFixed | 0x0000E000u, - NEON_SQRDMLAH_byelement = NEONByIndexedElementFixed | 0x2000D000u, - NEON_UDOT_byelement = NEONByIndexedElementFixed | 0x2000E000u, - NEON_SQRDMLSH_byelement = NEONByIndexedElementFixed | 0x2000F000u, - - NEON_FMLA_H_byelement = NEONByIndexedElementFixed | 0x00001000u, - NEON_FMLS_H_byelement = NEONByIndexedElementFixed | 0x00005000u, - NEON_FMUL_H_byelement = NEONByIndexedElementFixed | 0x00009000u, - NEON_FMULX_H_byelement = NEONByIndexedElementFixed | 0x20009000u, + NEONByIndexedElementFixed = 0x0F000000, + NEONByIndexedElementFMask = 0x9F000400, + NEONByIndexedElementMask = 0xBF00F400, + NEON_MUL_byelement = NEONByIndexedElementFixed | 0x00008000, + NEON_MLA_byelement = NEONByIndexedElementFixed | 0x20000000, + NEON_MLS_byelement = NEONByIndexedElementFixed | 0x20004000, + NEON_SMULL_byelement = NEONByIndexedElementFixed | 0x0000A000, + NEON_SMLAL_byelement = NEONByIndexedElementFixed | 0x00002000, + NEON_SMLSL_byelement = NEONByIndexedElementFixed | 0x00006000, + NEON_UMULL_byelement = NEONByIndexedElementFixed | 0x2000A000, + NEON_UMLAL_byelement = NEONByIndexedElementFixed | 0x20002000, + NEON_UMLSL_byelement = NEONByIndexedElementFixed | 0x20006000, + NEON_SQDMULL_byelement = NEONByIndexedElementFixed | 0x0000B000, + NEON_SQDMLAL_byelement = NEONByIndexedElementFixed | 0x00003000, + NEON_SQDMLSL_byelement = NEONByIndexedElementFixed | 0x00007000, + NEON_SQDMULH_byelement = NEONByIndexedElementFixed | 0x0000C000, + NEON_SQRDMULH_byelement = NEONByIndexedElementFixed | 0x0000D000, + NEON_SDOT_byelement = NEONByIndexedElementFixed | 0x0000E000, + NEON_SQRDMLAH_byelement = NEONByIndexedElementFixed | 0x2000D000, + NEON_UDOT_byelement = NEONByIndexedElementFixed | 0x2000E000, + NEON_SQRDMLSH_byelement = NEONByIndexedElementFixed | 0x2000F000, + + NEON_FMLA_H_byelement = NEONByIndexedElementFixed | 0x00001000, + NEON_FMLS_H_byelement = NEONByIndexedElementFixed | 0x00005000, + NEON_FMUL_H_byelement = NEONByIndexedElementFixed | 0x00009000, + NEON_FMULX_H_byelement = NEONByIndexedElementFixed | 0x20009000, // Floating point instructions. - NEONByIndexedElementFPFixed = NEONByIndexedElementFixed | 0x00800000u, - NEONByIndexedElementFPMask = NEONByIndexedElementMask | 0x00800000u, - NEON_FMLA_byelement = NEONByIndexedElementFPFixed | 0x00001000u, - NEON_FMLS_byelement = NEONByIndexedElementFPFixed | 0x00005000u, - NEON_FMUL_byelement = NEONByIndexedElementFPFixed | 0x00009000u, - NEON_FMULX_byelement = NEONByIndexedElementFPFixed | 0x20009000u, + NEONByIndexedElementFPFixed = NEONByIndexedElementFixed | 0x00800000, + NEONByIndexedElementFPMask = NEONByIndexedElementMask | 0x00800000, + NEON_FMLA_byelement = NEONByIndexedElementFPFixed | 0x00001000, + NEON_FMLS_byelement = NEONByIndexedElementFPFixed | 0x00005000, + NEON_FMUL_byelement = NEONByIndexedElementFPFixed | 0x00009000, + NEON_FMULX_byelement = NEONByIndexedElementFPFixed | 0x20009000, // FMLAL-like instructions. // For all cases: U = x, size = 10, opcode = xx00 - NEONByIndexedElementFPLongFixed = NEONByIndexedElementFixed | 0x00800000u, - NEONByIndexedElementFPLongFMask = NEONByIndexedElementFMask | 0x00C03000u, - NEONByIndexedElementFPLongMask = 0xBFC0F400u, - NEON_FMLAL_H_byelement = NEONByIndexedElementFixed | 0x00800000u, - NEON_FMLAL2_H_byelement = NEONByIndexedElementFixed | 0x20808000u, - NEON_FMLSL_H_byelement = NEONByIndexedElementFixed | 0x00804000u, - NEON_FMLSL2_H_byelement = NEONByIndexedElementFixed | 0x2080C000u, + NEONByIndexedElementFPLongFixed = NEONByIndexedElementFixed | 0x00800000, + NEONByIndexedElementFPLongFMask = NEONByIndexedElementFMask | 0x00C03000, + NEONByIndexedElementFPLongMask = 0xBFC0F400, + NEON_FMLAL_H_byelement = NEONByIndexedElementFixed | 0x00800000, + NEON_FMLAL2_H_byelement = NEONByIndexedElementFixed | 0x20808000, + NEON_FMLSL_H_byelement = NEONByIndexedElementFixed | 0x00804000, + NEON_FMLSL2_H_byelement = NEONByIndexedElementFixed | 0x2080C000, // Complex instruction(s). // This is necessary because the 'rot' encoding moves into the // NEONByIndex..Mask space. - NEONByIndexedElementFPComplexMask = 0xBF009400u, - NEON_FCMLA_byelement = NEONByIndexedElementFixed | 0x20001000u + NEONByIndexedElementFPComplexMask = 0xBF009400, + NEON_FCMLA_byelement = NEONByIndexedElementFixed | 0x20001000 }; // NEON register copy. enum NEONCopyOp : uint32_t { - NEONCopyFixed = 0x0E000400u, - NEONCopyFMask = 0x9FE08400u, - NEONCopyMask = 0x3FE08400u, - NEONCopyInsElementMask = NEONCopyMask | 0x40000000u, - NEONCopyInsGeneralMask = NEONCopyMask | 0x40007800u, - NEONCopyDupElementMask = NEONCopyMask | 0x20007800u, + NEONCopyFixed = 0x0E000400, + NEONCopyFMask = 0x9FE08400, + NEONCopyMask = 0x3FE08400, + NEONCopyInsElementMask = NEONCopyMask | 0x40000000, + NEONCopyInsGeneralMask = NEONCopyMask | 0x40007800, + NEONCopyDupElementMask = NEONCopyMask | 0x20007800, NEONCopyDupGeneralMask = NEONCopyDupElementMask, - NEONCopyUmovMask = NEONCopyMask | 0x20007800u, - NEONCopySmovMask = NEONCopyMask | 0x20007800u, - NEON_INS_ELEMENT = NEONCopyFixed | 0x60000000u, - NEON_INS_GENERAL = NEONCopyFixed | 0x40001800u, - NEON_DUP_ELEMENT = NEONCopyFixed | 0x00000000u, - NEON_DUP_GENERAL = NEONCopyFixed | 0x00000800u, - NEON_SMOV = NEONCopyFixed | 0x00002800u, - NEON_UMOV = NEONCopyFixed | 0x00003800u + NEONCopyUmovMask = NEONCopyMask | 0x20007800, + NEONCopySmovMask = NEONCopyMask | 0x20007800, + NEON_INS_ELEMENT = NEONCopyFixed | 0x60000000, + NEON_INS_GENERAL = NEONCopyFixed | 0x40001800, + NEON_DUP_ELEMENT = NEONCopyFixed | 0x00000000, + NEON_DUP_GENERAL = NEONCopyFixed | 0x00000800, + NEON_SMOV = NEONCopyFixed | 0x00002800, + NEON_UMOV = NEONCopyFixed | 0x00003800 }; // NEON extract. enum NEONExtractOp : uint32_t { - NEONExtractFixed = 0x2E000000u, - NEONExtractFMask = 0xBF208400u, - NEONExtractMask = 0xBFE08400u, - NEON_EXT = NEONExtractFixed | 0x00000000u + NEONExtractFixed = 0x2E000000, + NEONExtractFMask = 0xBF208400, + NEONExtractMask = 0xBFE08400, + NEON_EXT = NEONExtractFixed | 0x00000000 }; enum NEONLoadStoreMultiOp : uint32_t { - NEONLoadStoreMultiL = 0x00400000u, - NEONLoadStoreMulti1_1v = 0x00007000u, - NEONLoadStoreMulti1_2v = 0x0000A000u, - NEONLoadStoreMulti1_3v = 0x00006000u, - NEONLoadStoreMulti1_4v = 0x00002000u, - NEONLoadStoreMulti2 = 0x00008000u, - NEONLoadStoreMulti3 = 0x00004000u, - NEONLoadStoreMulti4 = 0x00000000u + NEONLoadStoreMultiL = 0x00400000, + NEONLoadStoreMulti1_1v = 0x00007000, + NEONLoadStoreMulti1_2v = 0x0000A000, + NEONLoadStoreMulti1_3v = 0x00006000, + NEONLoadStoreMulti1_4v = 0x00002000, + NEONLoadStoreMulti2 = 0x00008000, + NEONLoadStoreMulti3 = 0x00004000, + NEONLoadStoreMulti4 = 0x00000000 }; // NEON load/store multiple structures. enum NEONLoadStoreMultiStructOp : uint32_t { - NEONLoadStoreMultiStructFixed = 0x0C000000u, - NEONLoadStoreMultiStructFMask = 0xBFBF0000u, - NEONLoadStoreMultiStructMask = 0xBFFFF000u, + NEONLoadStoreMultiStructFixed = 0x0C000000, + NEONLoadStoreMultiStructFMask = 0xBFBF0000, + NEONLoadStoreMultiStructMask = 0xBFFFF000, NEONLoadStoreMultiStructStore = NEONLoadStoreMultiStructFixed, NEONLoadStoreMultiStructLoad = NEONLoadStoreMultiStructFixed | NEONLoadStoreMultiL, @@ -2345,10 +2354,10 @@ enum NEONLoadStoreMultiStructOp : uint32_t { // NEON load/store multiple structures with post-index addressing. enum NEONLoadStoreMultiStructPostIndexOp : uint32_t { - NEONLoadStoreMultiStructPostIndexFixed = 0x0C800000u, - NEONLoadStoreMultiStructPostIndexFMask = 0xBFA00000u, - NEONLoadStoreMultiStructPostIndexMask = 0xBFE0F000u, - NEONLoadStoreMultiStructPostIndex = 0x00800000u, + NEONLoadStoreMultiStructPostIndexFixed = 0x0C800000, + NEONLoadStoreMultiStructPostIndexFMask = 0xBFA00000, + NEONLoadStoreMultiStructPostIndexMask = 0xBFE0F000, + NEONLoadStoreMultiStructPostIndex = 0x00800000, NEON_LD1_1v_post = NEON_LD1_1v | NEONLoadStoreMultiStructPostIndex, NEON_LD1_2v_post = NEON_LD1_2v | NEONLoadStoreMultiStructPostIndex, NEON_LD1_3v_post = NEON_LD1_3v | NEONLoadStoreMultiStructPostIndex, @@ -2366,24 +2375,24 @@ enum NEONLoadStoreMultiStructPostIndexOp : uint32_t { }; enum NEONLoadStoreSingleOp : uint32_t { - NEONLoadStoreSingle1 = 0x00000000u, - NEONLoadStoreSingle2 = 0x00200000u, - NEONLoadStoreSingle3 = 0x00002000u, - NEONLoadStoreSingle4 = 0x00202000u, - NEONLoadStoreSingleL = 0x00400000u, - NEONLoadStoreSingle_b = 0x00000000u, - NEONLoadStoreSingle_h = 0x00004000u, - NEONLoadStoreSingle_s = 0x00008000u, - NEONLoadStoreSingle_d = 0x00008400u, - NEONLoadStoreSingleAllLanes = 0x0000C000u, - NEONLoadStoreSingleLenMask = 0x00202000u + NEONLoadStoreSingle1 = 0x00000000, + NEONLoadStoreSingle2 = 0x00200000, + NEONLoadStoreSingle3 = 0x00002000, + NEONLoadStoreSingle4 = 0x00202000, + NEONLoadStoreSingleL = 0x00400000, + NEONLoadStoreSingle_b = 0x00000000, + NEONLoadStoreSingle_h = 0x00004000, + NEONLoadStoreSingle_s = 0x00008000, + NEONLoadStoreSingle_d = 0x00008400, + NEONLoadStoreSingleAllLanes = 0x0000C000, + NEONLoadStoreSingleLenMask = 0x00202000 }; // NEON load/store single structure. enum NEONLoadStoreSingleStructOp : uint32_t { - NEONLoadStoreSingleStructFixed = 0x0D000000u, - NEONLoadStoreSingleStructFMask = 0xBF9F0000u, - NEONLoadStoreSingleStructMask = 0xBFFFE000u, + NEONLoadStoreSingleStructFixed = 0x0D000000, + NEONLoadStoreSingleStructFMask = 0xBF9F0000, + NEONLoadStoreSingleStructMask = 0xBFFFE000, NEONLoadStoreSingleStructStore = NEONLoadStoreSingleStructFixed, NEONLoadStoreSingleStructLoad = NEONLoadStoreSingleStructFixed | NEONLoadStoreSingleL, @@ -2446,10 +2455,10 @@ enum NEONLoadStoreSingleStructOp : uint32_t { // NEON load/store single structure with post-index addressing. enum NEONLoadStoreSingleStructPostIndexOp : uint32_t { - NEONLoadStoreSingleStructPostIndexFixed = 0x0D800000u, - NEONLoadStoreSingleStructPostIndexFMask = 0xBF800000u, - NEONLoadStoreSingleStructPostIndexMask = 0xBFE0E000u, - NEONLoadStoreSingleStructPostIndex = 0x00800000u, + NEONLoadStoreSingleStructPostIndexFixed = 0x0D800000, + NEONLoadStoreSingleStructPostIndexFMask = 0xBF800000, + NEONLoadStoreSingleStructPostIndexMask = 0xBFE0E000, + NEONLoadStoreSingleStructPostIndex = 0x00800000, NEON_LD1_b_post = NEON_LD1_b | NEONLoadStoreSingleStructPostIndex, NEON_LD1_h_post = NEON_LD1_h | NEONLoadStoreSingleStructPostIndex, NEON_LD1_s_post = NEON_LD1_s | NEONLoadStoreSingleStructPostIndex, @@ -2493,62 +2502,62 @@ enum NEONLoadStoreSingleStructPostIndexOp : uint32_t { // NEON modified immediate. enum NEONModifiedImmediateOp : uint32_t { - NEONModifiedImmediateFixed = 0x0F000400u, - NEONModifiedImmediateFMask = 0x9FF80400u, - NEONModifiedImmediateOpBit = 0x20000000u, - NEONModifiedImmediate_FMOV = NEONModifiedImmediateFixed | 0x00000800u, - NEONModifiedImmediate_MOVI = NEONModifiedImmediateFixed | 0x00000000u, - NEONModifiedImmediate_MVNI = NEONModifiedImmediateFixed | 0x20000000u, - NEONModifiedImmediate_ORR = NEONModifiedImmediateFixed | 0x00001000u, - NEONModifiedImmediate_BIC = NEONModifiedImmediateFixed | 0x20001000u + NEONModifiedImmediateFixed = 0x0F000400, + NEONModifiedImmediateFMask = 0x9FF80400, + NEONModifiedImmediateOpBit = 0x20000000, + NEONModifiedImmediate_FMOV = NEONModifiedImmediateFixed | 0x00000800, + NEONModifiedImmediate_MOVI = NEONModifiedImmediateFixed | 0x00000000, + NEONModifiedImmediate_MVNI = NEONModifiedImmediateFixed | 0x20000000, + NEONModifiedImmediate_ORR = NEONModifiedImmediateFixed | 0x00001000, + NEONModifiedImmediate_BIC = NEONModifiedImmediateFixed | 0x20001000 }; // NEON shift immediate. enum NEONShiftImmediateOp : uint32_t { - NEONShiftImmediateFixed = 0x0F000400u, - NEONShiftImmediateFMask = 0x9F800400u, - NEONShiftImmediateMask = 0xBF80FC00u, - NEONShiftImmediateUBit = 0x20000000u, - NEON_SHL = NEONShiftImmediateFixed | 0x00005000u, - NEON_SSHLL = NEONShiftImmediateFixed | 0x0000A000u, - NEON_USHLL = NEONShiftImmediateFixed | 0x2000A000u, - NEON_SLI = NEONShiftImmediateFixed | 0x20005000u, - NEON_SRI = NEONShiftImmediateFixed | 0x20004000u, - NEON_SHRN = NEONShiftImmediateFixed | 0x00008000u, - NEON_RSHRN = NEONShiftImmediateFixed | 0x00008800u, - NEON_UQSHRN = NEONShiftImmediateFixed | 0x20009000u, - NEON_UQRSHRN = NEONShiftImmediateFixed | 0x20009800u, - NEON_SQSHRN = NEONShiftImmediateFixed | 0x00009000u, - NEON_SQRSHRN = NEONShiftImmediateFixed | 0x00009800u, - NEON_SQSHRUN = NEONShiftImmediateFixed | 0x20008000u, - NEON_SQRSHRUN = NEONShiftImmediateFixed | 0x20008800u, - NEON_SSHR = NEONShiftImmediateFixed | 0x00000000u, - NEON_SRSHR = NEONShiftImmediateFixed | 0x00002000u, - NEON_USHR = NEONShiftImmediateFixed | 0x20000000u, - NEON_URSHR = NEONShiftImmediateFixed | 0x20002000u, - NEON_SSRA = NEONShiftImmediateFixed | 0x00001000u, - NEON_SRSRA = NEONShiftImmediateFixed | 0x00003000u, - NEON_USRA = NEONShiftImmediateFixed | 0x20001000u, - NEON_URSRA = NEONShiftImmediateFixed | 0x20003000u, - NEON_SQSHLU = NEONShiftImmediateFixed | 0x20006000u, - NEON_SCVTF_imm = NEONShiftImmediateFixed | 0x0000E000u, - NEON_UCVTF_imm = NEONShiftImmediateFixed | 0x2000E000u, - NEON_FCVTZS_imm = NEONShiftImmediateFixed | 0x0000F800u, - NEON_FCVTZU_imm = NEONShiftImmediateFixed | 0x2000F800u, - NEON_SQSHL_imm = NEONShiftImmediateFixed | 0x00007000u, - NEON_UQSHL_imm = NEONShiftImmediateFixed | 0x20007000u + NEONShiftImmediateFixed = 0x0F000400, + NEONShiftImmediateFMask = 0x9F800400, + NEONShiftImmediateMask = 0xBF80FC00, + NEONShiftImmediateUBit = 0x20000000, + NEON_SHL = NEONShiftImmediateFixed | 0x00005000, + NEON_SSHLL = NEONShiftImmediateFixed | 0x0000A000, + NEON_USHLL = NEONShiftImmediateFixed | 0x2000A000, + NEON_SLI = NEONShiftImmediateFixed | 0x20005000, + NEON_SRI = NEONShiftImmediateFixed | 0x20004000, + NEON_SHRN = NEONShiftImmediateFixed | 0x00008000, + NEON_RSHRN = NEONShiftImmediateFixed | 0x00008800, + NEON_UQSHRN = NEONShiftImmediateFixed | 0x20009000, + NEON_UQRSHRN = NEONShiftImmediateFixed | 0x20009800, + NEON_SQSHRN = NEONShiftImmediateFixed | 0x00009000, + NEON_SQRSHRN = NEONShiftImmediateFixed | 0x00009800, + NEON_SQSHRUN = NEONShiftImmediateFixed | 0x20008000, + NEON_SQRSHRUN = NEONShiftImmediateFixed | 0x20008800, + NEON_SSHR = NEONShiftImmediateFixed | 0x00000000, + NEON_SRSHR = NEONShiftImmediateFixed | 0x00002000, + NEON_USHR = NEONShiftImmediateFixed | 0x20000000, + NEON_URSHR = NEONShiftImmediateFixed | 0x20002000, + NEON_SSRA = NEONShiftImmediateFixed | 0x00001000, + NEON_SRSRA = NEONShiftImmediateFixed | 0x00003000, + NEON_USRA = NEONShiftImmediateFixed | 0x20001000, + NEON_URSRA = NEONShiftImmediateFixed | 0x20003000, + NEON_SQSHLU = NEONShiftImmediateFixed | 0x20006000, + NEON_SCVTF_imm = NEONShiftImmediateFixed | 0x0000E000, + NEON_UCVTF_imm = NEONShiftImmediateFixed | 0x2000E000, + NEON_FCVTZS_imm = NEONShiftImmediateFixed | 0x0000F800, + NEON_FCVTZU_imm = NEONShiftImmediateFixed | 0x2000F800, + NEON_SQSHL_imm = NEONShiftImmediateFixed | 0x00007000, + NEON_UQSHL_imm = NEONShiftImmediateFixed | 0x20007000 }; // NEON table. enum NEONTableOp : uint32_t { - NEONTableFixed = 0x0E000000u, - NEONTableFMask = 0xBF208C00u, - NEONTableExt = 0x00001000u, - NEONTableMask = 0xBF20FC00u, - NEON_TBL_1v = NEONTableFixed | 0x00000000u, - NEON_TBL_2v = NEONTableFixed | 0x00002000u, - NEON_TBL_3v = NEONTableFixed | 0x00004000u, - NEON_TBL_4v = NEONTableFixed | 0x00006000u, + NEONTableFixed = 0x0E000000, + NEONTableFMask = 0xBF208C00, + NEONTableExt = 0x00001000, + NEONTableMask = 0xBF20FC00, + NEON_TBL_1v = NEONTableFixed | 0x00000000, + NEON_TBL_2v = NEONTableFixed | 0x00002000, + NEON_TBL_3v = NEONTableFixed | 0x00004000, + NEON_TBL_4v = NEONTableFixed | 0x00006000, NEON_TBX_1v = NEON_TBL_1v | NEONTableExt, NEON_TBX_2v = NEON_TBL_2v | NEONTableExt, NEON_TBX_3v = NEON_TBL_3v | NEONTableExt, @@ -2557,21 +2566,21 @@ enum NEONTableOp : uint32_t { // NEON perm. enum NEONPermOp : uint32_t { - NEONPermFixed = 0x0E000800u, - NEONPermFMask = 0xBF208C00u, - NEONPermMask = 0x3F20FC00u, - NEON_UZP1 = NEONPermFixed | 0x00001000u, - NEON_TRN1 = NEONPermFixed | 0x00002000u, - NEON_ZIP1 = NEONPermFixed | 0x00003000u, - NEON_UZP2 = NEONPermFixed | 0x00005000u, - NEON_TRN2 = NEONPermFixed | 0x00006000u, - NEON_ZIP2 = NEONPermFixed | 0x00007000u + NEONPermFixed = 0x0E000800, + NEONPermFMask = 0xBF208C00, + NEONPermMask = 0x3F20FC00, + NEON_UZP1 = NEONPermFixed | 0x00001000, + NEON_TRN1 = NEONPermFixed | 0x00002000, + NEON_ZIP1 = NEONPermFixed | 0x00003000, + NEON_UZP2 = NEONPermFixed | 0x00005000, + NEON_TRN2 = NEONPermFixed | 0x00006000, + NEON_ZIP2 = NEONPermFixed | 0x00007000 }; // NEON scalar instructions with two register operands. enum NEONScalar2RegMiscOp : uint32_t { - NEONScalar2RegMiscFixed = 0x5E200800u, - NEONScalar2RegMiscFMask = 0xDF3E0C00u, + NEONScalar2RegMiscFixed = 0x5E200800, + NEONScalar2RegMiscFMask = 0xDF3E0C00, NEONScalar2RegMiscMask = NEON_Q | NEONScalar | NEON2RegMiscMask, NEON_CMGT_zero_scalar = NEON_Q | NEONScalar | NEON_CMGT_zero, NEON_CMEQ_zero_scalar = NEON_Q | NEONScalar | NEON_CMEQ_zero, @@ -2591,7 +2600,7 @@ enum NEONScalar2RegMiscOp : uint32_t { NEONScalar2RegMiscOpcode = NEON2RegMiscOpcode, NEON_NEG_scalar_opcode = NEON_NEG_scalar & NEONScalar2RegMiscOpcode, - NEONScalar2RegMiscFPMask = NEONScalar2RegMiscMask | 0x00800000u, + NEONScalar2RegMiscFPMask = NEONScalar2RegMiscMask | 0x00800000, NEON_FRSQRTE_scalar = NEON_Q | NEONScalar | NEON_FRSQRTE, NEON_FRECPE_scalar = NEON_Q | NEONScalar | NEON_FRECPE, NEON_SCVTF_scalar = NEON_Q | NEONScalar | NEON_SCVTF, @@ -2601,7 +2610,7 @@ enum NEONScalar2RegMiscOp : uint32_t { NEON_FCMLT_zero_scalar = NEON_Q | NEONScalar | NEON_FCMLT_zero, NEON_FCMGE_zero_scalar = NEON_Q | NEONScalar | NEON_FCMGE_zero, NEON_FCMLE_zero_scalar = NEON_Q | NEONScalar | NEON_FCMLE_zero, - NEON_FRECPX_scalar = NEONScalar2RegMiscFixed | 0x0081F000u, + NEON_FRECPX_scalar = NEONScalar2RegMiscFixed | 0x0081F000, NEON_FCVTNS_scalar = NEON_Q | NEONScalar | NEON_FCVTNS, NEON_FCVTNU_scalar = NEON_Q | NEONScalar | NEON_FCVTNU, NEON_FCVTPS_scalar = NEON_Q | NEONScalar | NEON_FCVTPS, @@ -2617,9 +2626,9 @@ enum NEONScalar2RegMiscOp : uint32_t { // NEON instructions with two register operands (FP16). enum NEONScalar2RegMiscFP16Op : uint32_t { - NEONScalar2RegMiscFP16Fixed = 0x5E780800u, - NEONScalar2RegMiscFP16FMask = 0xDF7E0C00u, - NEONScalar2RegMiscFP16Mask = 0xFFFFFC00u, + NEONScalar2RegMiscFP16Fixed = 0x5E780800, + NEONScalar2RegMiscFP16FMask = 0xDF7E0C00, + NEONScalar2RegMiscFP16Mask = 0xFFFFFC00, NEON_FCVTNS_H_scalar = NEON_Q | NEONScalar | NEON_FCVTNS_H, NEON_FCVTMS_H_scalar = NEON_Q | NEONScalar | NEON_FCVTMS_H, NEON_FCVTAS_H_scalar = NEON_Q | NEONScalar | NEON_FCVTAS_H, @@ -2630,7 +2639,7 @@ enum NEONScalar2RegMiscFP16Op : uint32_t { NEON_FCVTPS_H_scalar = NEON_Q | NEONScalar | NEON_FCVTPS_H, NEON_FCVTZS_H_scalar = NEON_Q | NEONScalar | NEON_FCVTZS_H, NEON_FRECPE_H_scalar = NEON_Q | NEONScalar | NEON_FRECPE_H, - NEON_FRECPX_H_scalar = NEONScalar2RegMiscFP16Fixed | 0x0081F000u, + NEON_FRECPX_H_scalar = NEONScalar2RegMiscFP16Fixed | 0x0081F000, NEON_FCVTNU_H_scalar = NEON_Q | NEONScalar | NEON_FCVTNU_H, NEON_FCVTMU_H_scalar = NEON_Q | NEONScalar | NEON_FCVTMU_H, NEON_FCVTAU_H_scalar = NEON_Q | NEONScalar | NEON_FCVTAU_H, @@ -2644,9 +2653,9 @@ enum NEONScalar2RegMiscFP16Op : uint32_t { // NEON scalar instructions with three same-type operands. enum NEONScalar3SameOp : uint32_t { - NEONScalar3SameFixed = 0x5E200400u, - NEONScalar3SameFMask = 0xDF200400u, - NEONScalar3SameMask = 0xFF20FC00u, + NEONScalar3SameFixed = 0x5E200400, + NEONScalar3SameFMask = 0xDF200400, + NEONScalar3SameMask = 0xFF20FC00, NEON_ADD_scalar = NEON_Q | NEONScalar | NEON_ADD, NEON_CMEQ_scalar = NEON_Q | NEONScalar | NEON_CMEQ, NEON_CMGE_scalar = NEON_Q | NEONScalar | NEON_CMGE, @@ -2671,9 +2680,9 @@ enum NEONScalar3SameOp : uint32_t { NEON_SQRDMULH_scalar = NEON_Q | NEONScalar | NEON_SQRDMULH, // NEON floating point scalar instructions with three same-type operands. - NEONScalar3SameFPFixed = NEONScalar3SameFixed | 0x0000C000u, - NEONScalar3SameFPFMask = NEONScalar3SameFMask | 0x0000C000u, - NEONScalar3SameFPMask = NEONScalar3SameMask | 0x00800000u, + NEONScalar3SameFPFixed = NEONScalar3SameFixed | 0x0000C000, + NEONScalar3SameFPFMask = NEONScalar3SameFMask | 0x0000C000, + NEONScalar3SameFPMask = NEONScalar3SameMask | 0x00800000, NEON_FACGE_scalar = NEON_Q | NEONScalar | NEON_FACGE, NEON_FACGT_scalar = NEON_Q | NEONScalar | NEON_FACGT, NEON_FCMEQ_scalar = NEON_Q | NEONScalar | NEON_FCMEQ, @@ -2687,9 +2696,9 @@ enum NEONScalar3SameOp : uint32_t { // NEON scalar FP16 instructions with three same-type operands. enum NEONScalar3SameFP16Op : uint32_t { - NEONScalar3SameFP16Fixed = 0x5E400400u, - NEONScalar3SameFP16FMask = 0xDF60C400u, - NEONScalar3SameFP16Mask = 0xFFE0FC00u, + NEONScalar3SameFP16Fixed = 0x5E400400, + NEONScalar3SameFP16FMask = 0xDF60C400, + NEONScalar3SameFP16Mask = 0xFFE0FC00, NEON_FABD_H_scalar = NEON_Q | NEONScalar | NEON_FABD_H, NEON_FMULX_H_scalar = NEON_Q | NEONScalar | NEON_FMULX_H, NEON_FCMEQ_H_scalar = NEON_Q | NEONScalar | NEON_FCMEQ_H, @@ -2703,17 +2712,17 @@ enum NEONScalar3SameFP16Op : uint32_t { // 'Extra' NEON scalar instructions with three same-type operands. enum NEONScalar3SameExtraOp : uint32_t { - NEONScalar3SameExtraFixed = 0x5E008400u, - NEONScalar3SameExtraFMask = 0xDF208400u, - NEONScalar3SameExtraMask = 0xFF20FC00u, + NEONScalar3SameExtraFixed = 0x5E008400, + NEONScalar3SameExtraFMask = 0xDF208400, + NEONScalar3SameExtraMask = 0xFF20FC00, NEON_SQRDMLAH_scalar = NEON_Q | NEONScalar | NEON_SQRDMLAH, NEON_SQRDMLSH_scalar = NEON_Q | NEONScalar | NEON_SQRDMLSH }; // NEON scalar instructions with three different-type operands. enum NEONScalar3DiffOp : uint32_t { - NEONScalar3DiffFixed = 0x5E200000u, - NEONScalar3DiffFMask = 0xDF200C00u, + NEONScalar3DiffFixed = 0x5E200000, + NEONScalar3DiffFMask = 0xDF200C00, NEONScalar3DiffMask = NEON_Q | NEONScalar | NEON3DifferentMask, NEON_SQDMLAL_scalar = NEON_Q | NEONScalar | NEON_SQDMLAL, NEON_SQDMLSL_scalar = NEON_Q | NEONScalar | NEON_SQDMLSL, @@ -2722,9 +2731,9 @@ enum NEONScalar3DiffOp : uint32_t { // NEON scalar instructions with indexed element operand. enum NEONScalarByIndexedElementOp : uint32_t { - NEONScalarByIndexedElementFixed = 0x5F000000u, - NEONScalarByIndexedElementFMask = 0xDF000400u, - NEONScalarByIndexedElementMask = 0xFF00F400u, + NEONScalarByIndexedElementFixed = 0x5F000000, + NEONScalarByIndexedElementFMask = 0xDF000400, + NEONScalarByIndexedElementMask = 0xFF00F400, NEON_SQDMLAL_byelement_scalar = NEON_Q | NEONScalar | NEON_SQDMLAL_byelement, NEON_SQDMLSL_byelement_scalar = NEON_Q | NEONScalar | NEON_SQDMLSL_byelement, NEON_SQDMULL_byelement_scalar = NEON_Q | NEONScalar | NEON_SQDMULL_byelement, @@ -2742,9 +2751,9 @@ enum NEONScalarByIndexedElementOp : uint32_t { // Floating point instructions. NEONScalarByIndexedElementFPFixed - = NEONScalarByIndexedElementFixed | 0x00800000u, + = NEONScalarByIndexedElementFixed | 0x00800000, NEONScalarByIndexedElementFPMask - = NEONScalarByIndexedElementMask | 0x00800000u, + = NEONScalarByIndexedElementMask | 0x00800000, NEON_FMLA_byelement_scalar = NEON_Q | NEONScalar | NEON_FMLA_byelement, NEON_FMLS_byelement_scalar = NEON_Q | NEONScalar | NEON_FMLS_byelement, NEON_FMUL_byelement_scalar = NEON_Q | NEONScalar | NEON_FMUL_byelement, @@ -2753,35 +2762,35 @@ enum NEONScalarByIndexedElementOp : uint32_t { // NEON scalar register copy. enum NEONScalarCopyOp : uint32_t { - NEONScalarCopyFixed = 0x5E000400u, - NEONScalarCopyFMask = 0xDFE08400u, - NEONScalarCopyMask = 0xFFE0FC00u, + NEONScalarCopyFixed = 0x5E000400, + NEONScalarCopyFMask = 0xDFE08400, + NEONScalarCopyMask = 0xFFE0FC00, NEON_DUP_ELEMENT_scalar = NEON_Q | NEONScalar | NEON_DUP_ELEMENT }; // NEON scalar pairwise instructions. enum NEONScalarPairwiseOp : uint32_t { - NEONScalarPairwiseFixed = 0x5E300800u, - NEONScalarPairwiseFMask = 0xDF3E0C00u, - NEONScalarPairwiseMask = 0xFFB1F800u, - NEON_ADDP_scalar = NEONScalarPairwiseFixed | 0x0081B000u, - NEON_FMAXNMP_h_scalar = NEONScalarPairwiseFixed | 0x0000C000u, - NEON_FADDP_h_scalar = NEONScalarPairwiseFixed | 0x0000D000u, - NEON_FMAXP_h_scalar = NEONScalarPairwiseFixed | 0x0000F000u, - NEON_FMINNMP_h_scalar = NEONScalarPairwiseFixed | 0x0080C000u, - NEON_FMINP_h_scalar = NEONScalarPairwiseFixed | 0x0080F000u, - NEON_FMAXNMP_scalar = NEONScalarPairwiseFixed | 0x2000C000u, - NEON_FMINNMP_scalar = NEONScalarPairwiseFixed | 0x2080C000u, - NEON_FADDP_scalar = NEONScalarPairwiseFixed | 0x2000D000u, - NEON_FMAXP_scalar = NEONScalarPairwiseFixed | 0x2000F000u, - NEON_FMINP_scalar = NEONScalarPairwiseFixed | 0x2080F000u + NEONScalarPairwiseFixed = 0x5E300800, + NEONScalarPairwiseFMask = 0xDF3E0C00, + NEONScalarPairwiseMask = 0xFFB1F800, + NEON_ADDP_scalar = NEONScalarPairwiseFixed | 0x0081B000, + NEON_FMAXNMP_h_scalar = NEONScalarPairwiseFixed | 0x0000C000, + NEON_FADDP_h_scalar = NEONScalarPairwiseFixed | 0x0000D000, + NEON_FMAXP_h_scalar = NEONScalarPairwiseFixed | 0x0000F000, + NEON_FMINNMP_h_scalar = NEONScalarPairwiseFixed | 0x0080C000, + NEON_FMINP_h_scalar = NEONScalarPairwiseFixed | 0x0080F000, + NEON_FMAXNMP_scalar = NEONScalarPairwiseFixed | 0x2000C000, + NEON_FMINNMP_scalar = NEONScalarPairwiseFixed | 0x2080C000, + NEON_FADDP_scalar = NEONScalarPairwiseFixed | 0x2000D000, + NEON_FMAXP_scalar = NEONScalarPairwiseFixed | 0x2000F000, + NEON_FMINP_scalar = NEONScalarPairwiseFixed | 0x2080F000 }; // NEON scalar shift immediate. enum NEONScalarShiftImmediateOp : uint32_t { - NEONScalarShiftImmediateFixed = 0x5F000400u, - NEONScalarShiftImmediateFMask = 0xDF800400u, - NEONScalarShiftImmediateMask = 0xFF80FC00u, + NEONScalarShiftImmediateFixed = 0x5F000400, + NEONScalarShiftImmediateFMask = 0xDF800400, + NEONScalarShiftImmediateMask = 0xFF80FC00, NEON_SHL_scalar = NEON_Q | NEONScalar | NEON_SHL, NEON_SLI_scalar = NEON_Q | NEONScalar | NEON_SLI, NEON_SRI_scalar = NEON_Q | NEONScalar | NEON_SRI, @@ -2809,1638 +2818,1638 @@ enum NEONScalarShiftImmediateOp : uint32_t { }; enum SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsOp : uint32_t { - SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed = 0x84A00000u, - SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFMask = 0xFFA08000u, - SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsMask = 0xFFA0E000u, + SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed = 0x84A00000, + SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFMask = 0xFFA08000, + SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsMask = 0xFFA0E000, LD1SH_z_p_bz_s_x32_scaled = SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed, - LDFF1SH_z_p_bz_s_x32_scaled = SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed | 0x00002000u, - LD1H_z_p_bz_s_x32_scaled = SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed | 0x00004000u, - LDFF1H_z_p_bz_s_x32_scaled = SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed | 0x00006000u + LDFF1SH_z_p_bz_s_x32_scaled = SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed | 0x00002000, + LD1H_z_p_bz_s_x32_scaled = SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed | 0x00004000, + LDFF1H_z_p_bz_s_x32_scaled = SVE32BitGatherLoadHalfwords_ScalarPlus32BitScaledOffsetsFixed | 0x00006000 }; enum SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsOp : uint32_t { - SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFixed = 0x85200000u, - SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFMask = 0xFFA08000u, - SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsMask = 0xFFA0E000u, - LD1W_z_p_bz_s_x32_scaled = SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFixed | 0x00004000u, - LDFF1W_z_p_bz_s_x32_scaled = SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFixed | 0x00006000u + SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFixed = 0x85200000, + SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFMask = 0xFFA08000, + SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsMask = 0xFFA0E000, + LD1W_z_p_bz_s_x32_scaled = SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFixed | 0x00004000, + LDFF1W_z_p_bz_s_x32_scaled = SVE32BitGatherLoadWords_ScalarPlus32BitScaledOffsetsFixed | 0x00006000 }; enum SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsOp : uint32_t { - SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed = 0x84000000u, - SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFMask = 0xFE208000u, - SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsMask = 0xFFA0E000u, + SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed = 0x84000000, + SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFMask = 0xFE208000, + SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsMask = 0xFFA0E000, LD1SB_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed, - LDFF1SB_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00002000u, - LD1B_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00004000u, - LDFF1B_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00006000u, - LD1SH_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00800000u, - LDFF1SH_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00802000u, - LD1H_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00804000u, - LDFF1H_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00806000u, - LD1W_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x01004000u, - LDFF1W_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x01006000u + LDFF1SB_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00002000, + LD1B_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00004000, + LDFF1B_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00006000, + LD1SH_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00800000, + LDFF1SH_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00802000, + LD1H_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00804000, + LDFF1H_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x00806000, + LD1W_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x01004000, + LDFF1W_z_p_bz_s_x32_unscaled = SVE32BitGatherLoad_ScalarPlus32BitUnscaledOffsetsFixed | 0x01006000 }; enum SVE32BitGatherLoad_VectorPlusImmOp : uint32_t { - SVE32BitGatherLoad_VectorPlusImmFixed = 0x84208000u, - SVE32BitGatherLoad_VectorPlusImmFMask = 0xFE608000u, - SVE32BitGatherLoad_VectorPlusImmMask = 0xFFE0E000u, + SVE32BitGatherLoad_VectorPlusImmFixed = 0x84208000, + SVE32BitGatherLoad_VectorPlusImmFMask = 0xFE608000, + SVE32BitGatherLoad_VectorPlusImmMask = 0xFFE0E000, LD1SB_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed, - LDFF1SB_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00002000u, - LD1B_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00004000u, - LDFF1B_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00006000u, - LD1SH_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00800000u, - LDFF1SH_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00802000u, - LD1H_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00804000u, - LDFF1H_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00806000u, - LD1W_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x01004000u, - LDFF1W_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x01006000u + LDFF1SB_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00002000, + LD1B_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00004000, + LDFF1B_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00006000, + LD1SH_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00800000, + LDFF1SH_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00802000, + LD1H_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00804000, + LDFF1H_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x00806000, + LD1W_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x01004000, + LDFF1W_z_p_ai_s = SVE32BitGatherLoad_VectorPlusImmFixed | 0x01006000 }; enum SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsOp : uint32_t { - SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed = 0x84200000u, - SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFMask = 0xFFA08010u, - SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsMask = 0xFFA0E010u, + SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed = 0x84200000, + SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFMask = 0xFFA08010, + SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsMask = 0xFFA0E010, PRFB_i_p_bz_s_x32_scaled = SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed, - PRFH_i_p_bz_s_x32_scaled = SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed | 0x00002000u, - PRFW_i_p_bz_s_x32_scaled = SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed | 0x00004000u, - PRFD_i_p_bz_s_x32_scaled = SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed | 0x00006000u + PRFH_i_p_bz_s_x32_scaled = SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed | 0x00002000, + PRFW_i_p_bz_s_x32_scaled = SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed | 0x00004000, + PRFD_i_p_bz_s_x32_scaled = SVE32BitGatherPrefetch_ScalarPlus32BitScaledOffsetsFixed | 0x00006000 }; enum SVE32BitGatherPrefetch_VectorPlusImmOp : uint32_t { - SVE32BitGatherPrefetch_VectorPlusImmFixed = 0x8400E000u, - SVE32BitGatherPrefetch_VectorPlusImmFMask = 0xFE60E010u, - SVE32BitGatherPrefetch_VectorPlusImmMask = 0xFFE0E010u, + SVE32BitGatherPrefetch_VectorPlusImmFixed = 0x8400E000, + SVE32BitGatherPrefetch_VectorPlusImmFMask = 0xFE60E010, + SVE32BitGatherPrefetch_VectorPlusImmMask = 0xFFE0E010, PRFB_i_p_ai_s = SVE32BitGatherPrefetch_VectorPlusImmFixed, - PRFH_i_p_ai_s = SVE32BitGatherPrefetch_VectorPlusImmFixed | 0x00800000u, - PRFW_i_p_ai_s = SVE32BitGatherPrefetch_VectorPlusImmFixed | 0x01000000u, - PRFD_i_p_ai_s = SVE32BitGatherPrefetch_VectorPlusImmFixed | 0x01800000u + PRFH_i_p_ai_s = SVE32BitGatherPrefetch_VectorPlusImmFixed | 0x00800000, + PRFW_i_p_ai_s = SVE32BitGatherPrefetch_VectorPlusImmFixed | 0x01000000, + PRFD_i_p_ai_s = SVE32BitGatherPrefetch_VectorPlusImmFixed | 0x01800000 }; enum SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsOp : uint32_t { - SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFixed = 0xE4608000u, - SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFMask = 0xFE60A000u, - SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsMask = 0xFFE0A000u, - ST1H_z_p_bz_s_x32_scaled = SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFixed | 0x00800000u, - ST1W_z_p_bz_s_x32_scaled = SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFixed | 0x01000000u + SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFixed = 0xE4608000, + SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFMask = 0xFE60A000, + SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsMask = 0xFFE0A000, + ST1H_z_p_bz_s_x32_scaled = SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFixed | 0x00800000, + ST1W_z_p_bz_s_x32_scaled = SVE32BitScatterStore_ScalarPlus32BitScaledOffsetsFixed | 0x01000000 }; enum SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsOp : uint32_t { - SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFixed = 0xE4408000u, - SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFMask = 0xFE60A000u, - SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsMask = 0xFFE0A000u, + SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFixed = 0xE4408000, + SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFMask = 0xFE60A000, + SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsMask = 0xFFE0A000, ST1B_z_p_bz_s_x32_unscaled = SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFixed, - ST1H_z_p_bz_s_x32_unscaled = SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFixed | 0x00800000u, - ST1W_z_p_bz_s_x32_unscaled = SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFixed | 0x01000000u + ST1H_z_p_bz_s_x32_unscaled = SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFixed | 0x00800000, + ST1W_z_p_bz_s_x32_unscaled = SVE32BitScatterStore_ScalarPlus32BitUnscaledOffsetsFixed | 0x01000000 }; enum SVE32BitScatterStore_VectorPlusImmOp : uint32_t { - SVE32BitScatterStore_VectorPlusImmFixed = 0xE460A000u, - SVE32BitScatterStore_VectorPlusImmFMask = 0xFE60E000u, - SVE32BitScatterStore_VectorPlusImmMask = 0xFFE0E000u, + SVE32BitScatterStore_VectorPlusImmFixed = 0xE460A000, + SVE32BitScatterStore_VectorPlusImmFMask = 0xFE60E000, + SVE32BitScatterStore_VectorPlusImmMask = 0xFFE0E000, ST1B_z_p_ai_s = SVE32BitScatterStore_VectorPlusImmFixed, - ST1H_z_p_ai_s = SVE32BitScatterStore_VectorPlusImmFixed | 0x00800000u, - ST1W_z_p_ai_s = SVE32BitScatterStore_VectorPlusImmFixed | 0x01000000u + ST1H_z_p_ai_s = SVE32BitScatterStore_VectorPlusImmFixed | 0x00800000, + ST1W_z_p_ai_s = SVE32BitScatterStore_VectorPlusImmFixed | 0x01000000 }; enum SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsOp : uint32_t { - SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed = 0xC4200000u, - SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFMask = 0xFE208000u, - SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsMask = 0xFFA0E000u, - LD1SH_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00800000u, - LDFF1SH_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00802000u, - LD1H_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00804000u, - LDFF1H_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00806000u, - LD1SW_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01000000u, - LDFF1SW_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01002000u, - LD1W_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01004000u, - LDFF1W_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01006000u, - LD1D_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01804000u, - LDFF1D_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01806000u + SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed = 0xC4200000, + SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFMask = 0xFE208000, + SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsMask = 0xFFA0E000, + LD1SH_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00800000, + LDFF1SH_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00802000, + LD1H_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00804000, + LDFF1H_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x00806000, + LD1SW_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01000000, + LDFF1SW_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01002000, + LD1W_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01004000, + LDFF1W_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01006000, + LD1D_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01804000, + LDFF1D_z_p_bz_d_x32_scaled = SVE64BitGatherLoad_ScalarPlus32BitUnpackedScaledOffsetsFixed | 0x01806000 }; enum SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsOp : uint32_t { - SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed = 0xC4608000u, - SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFMask = 0xFE608000u, - SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsMask = 0xFFE0E000u, - LD1SH_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00800000u, - LDFF1SH_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00802000u, - LD1H_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00804000u, - LDFF1H_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00806000u, - LD1SW_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01000000u, - LDFF1SW_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01002000u, - LD1W_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01004000u, - LDFF1W_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01006000u, - LD1D_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01804000u, - LDFF1D_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01806000u + SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed = 0xC4608000, + SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFMask = 0xFE608000, + SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsMask = 0xFFE0E000, + LD1SH_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00800000, + LDFF1SH_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00802000, + LD1H_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00804000, + LDFF1H_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x00806000, + LD1SW_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01000000, + LDFF1SW_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01002000, + LD1W_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01004000, + LDFF1W_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01006000, + LD1D_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01804000, + LDFF1D_z_p_bz_d_64_scaled = SVE64BitGatherLoad_ScalarPlus64BitScaledOffsetsFixed | 0x01806000 }; enum SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsOp : uint32_t { - SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed = 0xC4408000u, - SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFMask = 0xFE608000u, - SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsMask = 0xFFE0E000u, + SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed = 0xC4408000, + SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFMask = 0xFE608000, + SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsMask = 0xFFE0E000, LD1SB_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed, - LDFF1SB_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00002000u, - LD1B_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00004000u, - LDFF1B_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00006000u, - LD1SH_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00800000u, - LDFF1SH_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00802000u, - LD1H_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00804000u, - LDFF1H_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00806000u, - LD1SW_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01000000u, - LDFF1SW_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01002000u, - LD1W_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01004000u, - LDFF1W_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01006000u, - LD1D_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01804000u, - LDFF1D_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01806000u + LDFF1SB_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00002000, + LD1B_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00004000, + LDFF1B_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00006000, + LD1SH_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00800000, + LDFF1SH_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00802000, + LD1H_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00804000, + LDFF1H_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x00806000, + LD1SW_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01000000, + LDFF1SW_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01002000, + LD1W_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01004000, + LDFF1W_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01006000, + LD1D_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01804000, + LDFF1D_z_p_bz_d_64_unscaled = SVE64BitGatherLoad_ScalarPlus64BitUnscaledOffsetsFixed | 0x01806000 }; enum SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsOp : uint32_t { - SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed = 0xC4000000u, - SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFMask = 0xFE208000u, - SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsMask = 0xFFA0E000u, + SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed = 0xC4000000, + SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFMask = 0xFE208000, + SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsMask = 0xFFA0E000, LD1SB_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed, - LDFF1SB_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00002000u, - LD1B_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00004000u, - LDFF1B_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00006000u, - LD1SH_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00800000u, - LDFF1SH_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00802000u, - LD1H_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00804000u, - LDFF1H_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00806000u, - LD1SW_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01000000u, - LDFF1SW_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01002000u, - LD1W_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01004000u, - LDFF1W_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01006000u, - LD1D_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01804000u, - LDFF1D_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01806000u + LDFF1SB_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00002000, + LD1B_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00004000, + LDFF1B_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00006000, + LD1SH_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00800000, + LDFF1SH_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00802000, + LD1H_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00804000, + LDFF1H_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00806000, + LD1SW_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01000000, + LDFF1SW_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01002000, + LD1W_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01004000, + LDFF1W_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01006000, + LD1D_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01804000, + LDFF1D_z_p_bz_d_x32_unscaled = SVE64BitGatherLoad_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01806000 }; enum SVE64BitGatherLoad_VectorPlusImmOp : uint32_t { - SVE64BitGatherLoad_VectorPlusImmFixed = 0xC4208000u, - SVE64BitGatherLoad_VectorPlusImmFMask = 0xFE608000u, - SVE64BitGatherLoad_VectorPlusImmMask = 0xFFE0E000u, + SVE64BitGatherLoad_VectorPlusImmFixed = 0xC4208000, + SVE64BitGatherLoad_VectorPlusImmFMask = 0xFE608000, + SVE64BitGatherLoad_VectorPlusImmMask = 0xFFE0E000, LD1SB_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed, - LDFF1SB_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00002000u, - LD1B_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00004000u, - LDFF1B_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00006000u, - LD1SH_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00800000u, - LDFF1SH_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00802000u, - LD1H_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00804000u, - LDFF1H_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00806000u, - LD1SW_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01000000u, - LDFF1SW_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01002000u, - LD1W_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01004000u, - LDFF1W_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01006000u, - LD1D_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01804000u, - LDFF1D_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01806000u + LDFF1SB_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00002000, + LD1B_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00004000, + LDFF1B_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00006000, + LD1SH_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00800000, + LDFF1SH_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00802000, + LD1H_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00804000, + LDFF1H_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x00806000, + LD1SW_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01000000, + LDFF1SW_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01002000, + LD1W_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01004000, + LDFF1W_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01006000, + LD1D_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01804000, + LDFF1D_z_p_ai_d = SVE64BitGatherLoad_VectorPlusImmFixed | 0x01806000 }; enum SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsOp : uint32_t { - SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed = 0xC4608000u, - SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFMask = 0xFFE08010u, - SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsMask = 0xFFE0E010u, + SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed = 0xC4608000, + SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFMask = 0xFFE08010, + SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsMask = 0xFFE0E010, PRFB_i_p_bz_d_64_scaled = SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed, - PRFH_i_p_bz_d_64_scaled = SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed | 0x00002000u, - PRFW_i_p_bz_d_64_scaled = SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed | 0x00004000u, - PRFD_i_p_bz_d_64_scaled = SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed | 0x00006000u + PRFH_i_p_bz_d_64_scaled = SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed | 0x00002000, + PRFW_i_p_bz_d_64_scaled = SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed | 0x00004000, + PRFD_i_p_bz_d_64_scaled = SVE64BitGatherPrefetch_ScalarPlus64BitScaledOffsetsFixed | 0x00006000 }; enum SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsOp : uint32_t { - SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed = 0xC4200000u, - SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFMask = 0xFFA08010u, - SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsMask = 0xFFA0E010u, + SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed = 0xC4200000, + SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFMask = 0xFFA08010, + SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsMask = 0xFFA0E010, PRFB_i_p_bz_d_x32_scaled = SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed, - PRFH_i_p_bz_d_x32_scaled = SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00002000u, - PRFW_i_p_bz_d_x32_scaled = SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00004000u, - PRFD_i_p_bz_d_x32_scaled = SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00006000u + PRFH_i_p_bz_d_x32_scaled = SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00002000, + PRFW_i_p_bz_d_x32_scaled = SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00004000, + PRFD_i_p_bz_d_x32_scaled = SVE64BitGatherPrefetch_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00006000 }; enum SVE64BitGatherPrefetch_VectorPlusImmOp : uint32_t { - SVE64BitGatherPrefetch_VectorPlusImmFixed = 0xC400E000u, - SVE64BitGatherPrefetch_VectorPlusImmFMask = 0xFE60E010u, - SVE64BitGatherPrefetch_VectorPlusImmMask = 0xFFE0E010u, + SVE64BitGatherPrefetch_VectorPlusImmFixed = 0xC400E000, + SVE64BitGatherPrefetch_VectorPlusImmFMask = 0xFE60E010, + SVE64BitGatherPrefetch_VectorPlusImmMask = 0xFFE0E010, PRFB_i_p_ai_d = SVE64BitGatherPrefetch_VectorPlusImmFixed, - PRFH_i_p_ai_d = SVE64BitGatherPrefetch_VectorPlusImmFixed | 0x00800000u, - PRFW_i_p_ai_d = SVE64BitGatherPrefetch_VectorPlusImmFixed | 0x01000000u, - PRFD_i_p_ai_d = SVE64BitGatherPrefetch_VectorPlusImmFixed | 0x01800000u + PRFH_i_p_ai_d = SVE64BitGatherPrefetch_VectorPlusImmFixed | 0x00800000, + PRFW_i_p_ai_d = SVE64BitGatherPrefetch_VectorPlusImmFixed | 0x01000000, + PRFD_i_p_ai_d = SVE64BitGatherPrefetch_VectorPlusImmFixed | 0x01800000 }; enum SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsOp : uint32_t { - SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed = 0xE420A000u, - SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFMask = 0xFE60E000u, - SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsMask = 0xFFE0E000u, - ST1H_z_p_bz_d_64_scaled = SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed | 0x00800000u, - ST1W_z_p_bz_d_64_scaled = SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed | 0x01000000u, - ST1D_z_p_bz_d_64_scaled = SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed | 0x01800000u + SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed = 0xE420A000, + SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFMask = 0xFE60E000, + SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsMask = 0xFFE0E000, + ST1H_z_p_bz_d_64_scaled = SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed | 0x00800000, + ST1W_z_p_bz_d_64_scaled = SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed | 0x01000000, + ST1D_z_p_bz_d_64_scaled = SVE64BitScatterStore_ScalarPlus64BitScaledOffsetsFixed | 0x01800000 }; enum SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsOp : uint32_t { - SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed = 0xE400A000u, - SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFMask = 0xFE60E000u, - SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsMask = 0xFFE0E000u, + SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed = 0xE400A000, + SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFMask = 0xFE60E000, + SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsMask = 0xFFE0E000, ST1B_z_p_bz_d_64_unscaled = SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed, - ST1H_z_p_bz_d_64_unscaled = SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed | 0x00800000u, - ST1W_z_p_bz_d_64_unscaled = SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed | 0x01000000u, - ST1D_z_p_bz_d_64_unscaled = SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed | 0x01800000u + ST1H_z_p_bz_d_64_unscaled = SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed | 0x00800000, + ST1W_z_p_bz_d_64_unscaled = SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed | 0x01000000, + ST1D_z_p_bz_d_64_unscaled = SVE64BitScatterStore_ScalarPlus64BitUnscaledOffsetsFixed | 0x01800000 }; enum SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsOp : uint32_t { - SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed = 0xE4208000u, - SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFMask = 0xFE60A000u, - SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsMask = 0xFFE0A000u, - ST1H_z_p_bz_d_x32_scaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00800000u, - ST1W_z_p_bz_d_x32_scaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x01000000u, - ST1D_z_p_bz_d_x32_scaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x01800000u + SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed = 0xE4208000, + SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFMask = 0xFE60A000, + SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsMask = 0xFFE0A000, + ST1H_z_p_bz_d_x32_scaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x00800000, + ST1W_z_p_bz_d_x32_scaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x01000000, + ST1D_z_p_bz_d_x32_scaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitScaledOffsetsFixed | 0x01800000 }; enum SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsOp : uint32_t { - SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed = 0xE4008000u, - SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFMask = 0xFE60A000u, - SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsMask = 0xFFE0A000u, + SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed = 0xE4008000, + SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFMask = 0xFE60A000, + SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsMask = 0xFFE0A000, ST1B_z_p_bz_d_x32_unscaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed, - ST1H_z_p_bz_d_x32_unscaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00800000u, - ST1W_z_p_bz_d_x32_unscaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01000000u, - ST1D_z_p_bz_d_x32_unscaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01800000u + ST1H_z_p_bz_d_x32_unscaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x00800000, + ST1W_z_p_bz_d_x32_unscaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01000000, + ST1D_z_p_bz_d_x32_unscaled = SVE64BitScatterStore_ScalarPlusUnpacked32BitUnscaledOffsetsFixed | 0x01800000 }; enum SVE64BitScatterStore_VectorPlusImmOp : uint32_t { - SVE64BitScatterStore_VectorPlusImmFixed = 0xE440A000u, - SVE64BitScatterStore_VectorPlusImmFMask = 0xFE60E000u, - SVE64BitScatterStore_VectorPlusImmMask = 0xFFE0E000u, + SVE64BitScatterStore_VectorPlusImmFixed = 0xE440A000, + SVE64BitScatterStore_VectorPlusImmFMask = 0xFE60E000, + SVE64BitScatterStore_VectorPlusImmMask = 0xFFE0E000, ST1B_z_p_ai_d = SVE64BitScatterStore_VectorPlusImmFixed, - ST1H_z_p_ai_d = SVE64BitScatterStore_VectorPlusImmFixed | 0x00800000u, - ST1W_z_p_ai_d = SVE64BitScatterStore_VectorPlusImmFixed | 0x01000000u, - ST1D_z_p_ai_d = SVE64BitScatterStore_VectorPlusImmFixed | 0x01800000u + ST1H_z_p_ai_d = SVE64BitScatterStore_VectorPlusImmFixed | 0x00800000, + ST1W_z_p_ai_d = SVE64BitScatterStore_VectorPlusImmFixed | 0x01000000, + ST1D_z_p_ai_d = SVE64BitScatterStore_VectorPlusImmFixed | 0x01800000 }; enum SVEAddressGenerationOp : uint32_t { - SVEAddressGenerationFixed = 0x0420A000u, - SVEAddressGenerationFMask = 0xFF20F000u, - SVEAddressGenerationMask = 0xFFE0F000u, + SVEAddressGenerationFixed = 0x0420A000, + SVEAddressGenerationFMask = 0xFF20F000, + SVEAddressGenerationMask = 0xFFE0F000, ADR_z_az_d_s32_scaled = SVEAddressGenerationFixed, - ADR_z_az_d_u32_scaled = SVEAddressGenerationFixed | 0x00400000u, - ADR_z_az_s_same_scaled = SVEAddressGenerationFixed | 0x00800000u, - ADR_z_az_d_same_scaled = SVEAddressGenerationFixed | 0x00C00000u + ADR_z_az_d_u32_scaled = SVEAddressGenerationFixed | 0x00400000, + ADR_z_az_s_same_scaled = SVEAddressGenerationFixed | 0x00800000, + ADR_z_az_d_same_scaled = SVEAddressGenerationFixed | 0x00C00000 }; enum SVEBitwiseLogicalUnpredicatedOp : uint32_t { - SVEBitwiseLogicalUnpredicatedFixed = 0x04202000u, - SVEBitwiseLogicalUnpredicatedFMask = 0xFF20E000u, - SVEBitwiseLogicalUnpredicatedMask = 0xFFE0FC00u, - AND_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00001000u, - ORR_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00401000u, - EOR_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00801000u, - BIC_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00C01000u + SVEBitwiseLogicalUnpredicatedFixed = 0x04202000, + SVEBitwiseLogicalUnpredicatedFMask = 0xFF20E000, + SVEBitwiseLogicalUnpredicatedMask = 0xFFE0FC00, + AND_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00001000, + ORR_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00401000, + EOR_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00801000, + BIC_z_zz = SVEBitwiseLogicalUnpredicatedFixed | 0x00C01000 }; enum SVEBitwiseLogicalWithImm_UnpredicatedOp : uint32_t { - SVEBitwiseLogicalWithImm_UnpredicatedFixed = 0x05000000u, - SVEBitwiseLogicalWithImm_UnpredicatedFMask = 0xFF3C0000u, - SVEBitwiseLogicalWithImm_UnpredicatedMask = 0xFFFC0000u, + SVEBitwiseLogicalWithImm_UnpredicatedFixed = 0x05000000, + SVEBitwiseLogicalWithImm_UnpredicatedFMask = 0xFF3C0000, + SVEBitwiseLogicalWithImm_UnpredicatedMask = 0xFFFC0000, ORR_z_zi = SVEBitwiseLogicalWithImm_UnpredicatedFixed, - EOR_z_zi = SVEBitwiseLogicalWithImm_UnpredicatedFixed | 0x00400000u, - AND_z_zi = SVEBitwiseLogicalWithImm_UnpredicatedFixed | 0x00800000u + EOR_z_zi = SVEBitwiseLogicalWithImm_UnpredicatedFixed | 0x00400000, + AND_z_zi = SVEBitwiseLogicalWithImm_UnpredicatedFixed | 0x00800000 }; enum SVEBitwiseLogical_PredicatedOp : uint32_t { - SVEBitwiseLogical_PredicatedFixed = 0x04180000u, - SVEBitwiseLogical_PredicatedFMask = 0xFF38E000u, - SVEBitwiseLogical_PredicatedMask = 0xFF3FE000u, + SVEBitwiseLogical_PredicatedFixed = 0x04180000, + SVEBitwiseLogical_PredicatedFMask = 0xFF38E000, + SVEBitwiseLogical_PredicatedMask = 0xFF3FE000, ORR_z_p_zz = SVEBitwiseLogical_PredicatedFixed, - EOR_z_p_zz = SVEBitwiseLogical_PredicatedFixed | 0x00010000u, - AND_z_p_zz = SVEBitwiseLogical_PredicatedFixed | 0x00020000u, - BIC_z_p_zz = SVEBitwiseLogical_PredicatedFixed | 0x00030000u + EOR_z_p_zz = SVEBitwiseLogical_PredicatedFixed | 0x00010000, + AND_z_p_zz = SVEBitwiseLogical_PredicatedFixed | 0x00020000, + BIC_z_p_zz = SVEBitwiseLogical_PredicatedFixed | 0x00030000 }; enum SVEBitwiseShiftByImm_PredicatedOp : uint32_t { - SVEBitwiseShiftByImm_PredicatedFixed = 0x04008000u, - SVEBitwiseShiftByImm_PredicatedFMask = 0xFF30E000u, - SVEBitwiseShiftByImm_PredicatedMask = 0xFF3FE000u, + SVEBitwiseShiftByImm_PredicatedFixed = 0x04008000, + SVEBitwiseShiftByImm_PredicatedFMask = 0xFF30E000, + SVEBitwiseShiftByImm_PredicatedMask = 0xFF3FE000, ASR_z_p_zi = SVEBitwiseShiftByImm_PredicatedFixed, - LSR_z_p_zi = SVEBitwiseShiftByImm_PredicatedFixed | 0x00010000u, - LSL_z_p_zi = SVEBitwiseShiftByImm_PredicatedFixed | 0x00030000u, - ASRD_z_p_zi = SVEBitwiseShiftByImm_PredicatedFixed | 0x00040000u + LSR_z_p_zi = SVEBitwiseShiftByImm_PredicatedFixed | 0x00010000, + LSL_z_p_zi = SVEBitwiseShiftByImm_PredicatedFixed | 0x00030000, + ASRD_z_p_zi = SVEBitwiseShiftByImm_PredicatedFixed | 0x00040000 }; enum SVEBitwiseShiftByVector_PredicatedOp : uint32_t { - SVEBitwiseShiftByVector_PredicatedFixed = 0x04108000u, - SVEBitwiseShiftByVector_PredicatedFMask = 0xFF38E000u, - SVEBitwiseShiftByVector_PredicatedMask = 0xFF3FE000u, + SVEBitwiseShiftByVector_PredicatedFixed = 0x04108000, + SVEBitwiseShiftByVector_PredicatedFMask = 0xFF38E000, + SVEBitwiseShiftByVector_PredicatedMask = 0xFF3FE000, ASR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed, - LSR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00010000u, - LSL_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00030000u, - ASRR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00040000u, - LSRR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00050000u, - LSLR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00070000u + LSR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00010000, + LSL_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00030000, + ASRR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00040000, + LSRR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00050000, + LSLR_z_p_zz = SVEBitwiseShiftByVector_PredicatedFixed | 0x00070000 }; enum SVEBitwiseShiftByWideElements_PredicatedOp : uint32_t { - SVEBitwiseShiftByWideElements_PredicatedFixed = 0x04188000u, - SVEBitwiseShiftByWideElements_PredicatedFMask = 0xFF38E000u, - SVEBitwiseShiftByWideElements_PredicatedMask = 0xFF3FE000u, + SVEBitwiseShiftByWideElements_PredicatedFixed = 0x04188000, + SVEBitwiseShiftByWideElements_PredicatedFMask = 0xFF38E000, + SVEBitwiseShiftByWideElements_PredicatedMask = 0xFF3FE000, ASR_z_p_zw = SVEBitwiseShiftByWideElements_PredicatedFixed, - LSR_z_p_zw = SVEBitwiseShiftByWideElements_PredicatedFixed | 0x00010000u, - LSL_z_p_zw = SVEBitwiseShiftByWideElements_PredicatedFixed | 0x00030000u + LSR_z_p_zw = SVEBitwiseShiftByWideElements_PredicatedFixed | 0x00010000, + LSL_z_p_zw = SVEBitwiseShiftByWideElements_PredicatedFixed | 0x00030000 }; enum SVEBitwiseShiftUnpredicatedOp : uint32_t { - SVEBitwiseShiftUnpredicatedFixed = 0x04208000u, - SVEBitwiseShiftUnpredicatedFMask = 0xFF20E000u, - SVEBitwiseShiftUnpredicatedMask = 0xFF20FC00u, + SVEBitwiseShiftUnpredicatedFixed = 0x04208000, + SVEBitwiseShiftUnpredicatedFMask = 0xFF20E000, + SVEBitwiseShiftUnpredicatedMask = 0xFF20FC00, ASR_z_zw = SVEBitwiseShiftUnpredicatedFixed, - LSR_z_zw = SVEBitwiseShiftUnpredicatedFixed | 0x00000400u, - LSL_z_zw = SVEBitwiseShiftUnpredicatedFixed | 0x00000C00u, - ASR_z_zi = SVEBitwiseShiftUnpredicatedFixed | 0x00001000u, - LSR_z_zi = SVEBitwiseShiftUnpredicatedFixed | 0x00001400u, - LSL_z_zi = SVEBitwiseShiftUnpredicatedFixed | 0x00001C00u + LSR_z_zw = SVEBitwiseShiftUnpredicatedFixed | 0x00000400, + LSL_z_zw = SVEBitwiseShiftUnpredicatedFixed | 0x00000C00, + ASR_z_zi = SVEBitwiseShiftUnpredicatedFixed | 0x00001000, + LSR_z_zi = SVEBitwiseShiftUnpredicatedFixed | 0x00001400, + LSL_z_zi = SVEBitwiseShiftUnpredicatedFixed | 0x00001C00 }; enum SVEBroadcastBitmaskImmOp : uint32_t { - SVEBroadcastBitmaskImmFixed = 0x05C00000u, - SVEBroadcastBitmaskImmFMask = 0xFFFC0000u, - SVEBroadcastBitmaskImmMask = 0xFFFC0000u, + SVEBroadcastBitmaskImmFixed = 0x05C00000, + SVEBroadcastBitmaskImmFMask = 0xFFFC0000, + SVEBroadcastBitmaskImmMask = 0xFFFC0000, DUPM_z_i = SVEBroadcastBitmaskImmFixed }; enum SVEBroadcastFPImm_UnpredicatedOp : uint32_t { - SVEBroadcastFPImm_UnpredicatedFixed = 0x2539C000u, - SVEBroadcastFPImm_UnpredicatedFMask = 0xFF39C000u, - SVEBroadcastFPImm_UnpredicatedMask = 0xFF3FE000u, + SVEBroadcastFPImm_UnpredicatedFixed = 0x2539C000, + SVEBroadcastFPImm_UnpredicatedFMask = 0xFF39C000, + SVEBroadcastFPImm_UnpredicatedMask = 0xFF3FE000, FDUP_z_i = SVEBroadcastFPImm_UnpredicatedFixed }; enum SVEBroadcastGeneralRegisterOp : uint32_t { - SVEBroadcastGeneralRegisterFixed = 0x05203800u, - SVEBroadcastGeneralRegisterFMask = 0xFF3FFC00u, - SVEBroadcastGeneralRegisterMask = 0xFF3FFC00u, + SVEBroadcastGeneralRegisterFixed = 0x05203800, + SVEBroadcastGeneralRegisterFMask = 0xFF3FFC00, + SVEBroadcastGeneralRegisterMask = 0xFF3FFC00, DUP_z_r = SVEBroadcastGeneralRegisterFixed }; enum SVEBroadcastIndexElementOp : uint32_t { - SVEBroadcastIndexElementFixed = 0x05202000u, - SVEBroadcastIndexElementFMask = 0xFF20FC00u, - SVEBroadcastIndexElementMask = 0xFF20FC00u, + SVEBroadcastIndexElementFixed = 0x05202000, + SVEBroadcastIndexElementFMask = 0xFF20FC00, + SVEBroadcastIndexElementMask = 0xFF20FC00, DUP_z_zi = SVEBroadcastIndexElementFixed }; enum SVEBroadcastIntImm_UnpredicatedOp : uint32_t { - SVEBroadcastIntImm_UnpredicatedFixed = 0x2538C000u, - SVEBroadcastIntImm_UnpredicatedFMask = 0xFF39C000u, - SVEBroadcastIntImm_UnpredicatedMask = 0xFF3FC000u, + SVEBroadcastIntImm_UnpredicatedFixed = 0x2538C000, + SVEBroadcastIntImm_UnpredicatedFMask = 0xFF39C000, + SVEBroadcastIntImm_UnpredicatedMask = 0xFF3FC000, DUP_z_i = SVEBroadcastIntImm_UnpredicatedFixed }; enum SVECompressActiveElementsOp : uint32_t { - SVECompressActiveElementsFixed = 0x05A18000u, - SVECompressActiveElementsFMask = 0xFFBFE000u, - SVECompressActiveElementsMask = 0xFFBFE000u, + SVECompressActiveElementsFixed = 0x05A18000, + SVECompressActiveElementsFMask = 0xFFBFE000, + SVECompressActiveElementsMask = 0xFFBFE000, COMPACT_z_p_z = SVECompressActiveElementsFixed }; enum SVEConditionallyBroadcastElementToVectorOp : uint32_t { - SVEConditionallyBroadcastElementToVectorFixed = 0x05288000u, - SVEConditionallyBroadcastElementToVectorFMask = 0xFF3EE000u, - SVEConditionallyBroadcastElementToVectorMask = 0xFF3FE000u, + SVEConditionallyBroadcastElementToVectorFixed = 0x05288000, + SVEConditionallyBroadcastElementToVectorFMask = 0xFF3EE000, + SVEConditionallyBroadcastElementToVectorMask = 0xFF3FE000, CLASTA_z_p_zz = SVEConditionallyBroadcastElementToVectorFixed, - CLASTB_z_p_zz = SVEConditionallyBroadcastElementToVectorFixed | 0x00010000u + CLASTB_z_p_zz = SVEConditionallyBroadcastElementToVectorFixed | 0x00010000 }; enum SVEConditionallyExtractElementToGeneralRegisterOp : uint32_t { - SVEConditionallyExtractElementToGeneralRegisterFixed = 0x0530A000u, - SVEConditionallyExtractElementToGeneralRegisterFMask = 0xFF3EE000u, - SVEConditionallyExtractElementToGeneralRegisterMask = 0xFF3FE000u, + SVEConditionallyExtractElementToGeneralRegisterFixed = 0x0530A000, + SVEConditionallyExtractElementToGeneralRegisterFMask = 0xFF3EE000, + SVEConditionallyExtractElementToGeneralRegisterMask = 0xFF3FE000, CLASTA_r_p_z = SVEConditionallyExtractElementToGeneralRegisterFixed, - CLASTB_r_p_z = SVEConditionallyExtractElementToGeneralRegisterFixed | 0x00010000u + CLASTB_r_p_z = SVEConditionallyExtractElementToGeneralRegisterFixed | 0x00010000 }; enum SVEConditionallyExtractElementToSIMDFPScalarOp : uint32_t { - SVEConditionallyExtractElementToSIMDFPScalarFixed = 0x052A8000u, - SVEConditionallyExtractElementToSIMDFPScalarFMask = 0xFF3EE000u, - SVEConditionallyExtractElementToSIMDFPScalarMask = 0xFF3FE000u, + SVEConditionallyExtractElementToSIMDFPScalarFixed = 0x052A8000, + SVEConditionallyExtractElementToSIMDFPScalarFMask = 0xFF3EE000, + SVEConditionallyExtractElementToSIMDFPScalarMask = 0xFF3FE000, CLASTA_v_p_z = SVEConditionallyExtractElementToSIMDFPScalarFixed, - CLASTB_v_p_z = SVEConditionallyExtractElementToSIMDFPScalarFixed | 0x00010000u + CLASTB_v_p_z = SVEConditionallyExtractElementToSIMDFPScalarFixed | 0x00010000 }; enum SVEConditionallyTerminateScalarsOp : uint32_t { - SVEConditionallyTerminateScalarsFixed = 0x25202000u, - SVEConditionallyTerminateScalarsFMask = 0xFF20FC0Fu, - SVEConditionallyTerminateScalarsMask = 0xFFA0FC1Fu, - CTERMEQ_rr = SVEConditionallyTerminateScalarsFixed | 0x00800000u, - CTERMNE_rr = SVEConditionallyTerminateScalarsFixed | 0x00800010u + SVEConditionallyTerminateScalarsFixed = 0x25202000, + SVEConditionallyTerminateScalarsFMask = 0xFF20FC0F, + SVEConditionallyTerminateScalarsMask = 0xFFA0FC1F, + CTERMEQ_rr = SVEConditionallyTerminateScalarsFixed | 0x00800000, + CTERMNE_rr = SVEConditionallyTerminateScalarsFixed | 0x00800010 }; enum SVEConstructivePrefix_UnpredicatedOp : uint32_t { - SVEConstructivePrefix_UnpredicatedFixed = 0x0420BC00u, - SVEConstructivePrefix_UnpredicatedFMask = 0xFF20FC00u, - SVEConstructivePrefix_UnpredicatedMask = 0xFFFFFC00u, + SVEConstructivePrefix_UnpredicatedFixed = 0x0420BC00, + SVEConstructivePrefix_UnpredicatedFMask = 0xFF20FC00, + SVEConstructivePrefix_UnpredicatedMask = 0xFFFFFC00, MOVPRFX_z_z = SVEConstructivePrefix_UnpredicatedFixed }; enum SVEContiguousFirstFaultLoad_ScalarPlusScalarOp : uint32_t { - SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed = 0xA4006000u, - SVEContiguousFirstFaultLoad_ScalarPlusScalarFMask = 0xFE00E000u, - SVEContiguousFirstFaultLoad_ScalarPlusScalarMask = 0xFFE0E000u, + SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed = 0xA4006000, + SVEContiguousFirstFaultLoad_ScalarPlusScalarFMask = 0xFE00E000, + SVEContiguousFirstFaultLoad_ScalarPlusScalarMask = 0xFFE0E000, LDFF1B_z_p_br_u8 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed, - LDFF1B_z_p_br_u16 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00200000u, - LDFF1B_z_p_br_u32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00400000u, - LDFF1B_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00600000u, - LDFF1SW_z_p_br_s64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00800000u, - LDFF1H_z_p_br_u16 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00A00000u, - LDFF1H_z_p_br_u32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00C00000u, - LDFF1H_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00E00000u, - LDFF1SH_z_p_br_s64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01000000u, - LDFF1SH_z_p_br_s32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01200000u, - LDFF1W_z_p_br_u32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01400000u, - LDFF1W_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01600000u, - LDFF1SB_z_p_br_s64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01800000u, - LDFF1SB_z_p_br_s32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01A00000u, - LDFF1SB_z_p_br_s16 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01C00000u, - LDFF1D_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01E00000u + LDFF1B_z_p_br_u16 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00200000, + LDFF1B_z_p_br_u32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00400000, + LDFF1B_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00600000, + LDFF1SW_z_p_br_s64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00800000, + LDFF1H_z_p_br_u16 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00A00000, + LDFF1H_z_p_br_u32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00C00000, + LDFF1H_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x00E00000, + LDFF1SH_z_p_br_s64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01000000, + LDFF1SH_z_p_br_s32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01200000, + LDFF1W_z_p_br_u32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01400000, + LDFF1W_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01600000, + LDFF1SB_z_p_br_s64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01800000, + LDFF1SB_z_p_br_s32 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01A00000, + LDFF1SB_z_p_br_s16 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01C00000, + LDFF1D_z_p_br_u64 = SVEContiguousFirstFaultLoad_ScalarPlusScalarFixed | 0x01E00000 }; enum SVEContiguousLoad_ScalarPlusImmOp : uint32_t { - SVEContiguousLoad_ScalarPlusImmFixed = 0xA400A000u, - SVEContiguousLoad_ScalarPlusImmFMask = 0xFE10E000u, - SVEContiguousLoad_ScalarPlusImmMask = 0xFFF0E000u, + SVEContiguousLoad_ScalarPlusImmFixed = 0xA400A000, + SVEContiguousLoad_ScalarPlusImmFMask = 0xFE10E000, + SVEContiguousLoad_ScalarPlusImmMask = 0xFFF0E000, LD1B_z_p_bi_u8 = SVEContiguousLoad_ScalarPlusImmFixed, - LD1B_z_p_bi_u16 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00200000u, - LD1B_z_p_bi_u32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00400000u, - LD1B_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00600000u, - LD1SW_z_p_bi_s64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00800000u, - LD1H_z_p_bi_u16 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00A00000u, - LD1H_z_p_bi_u32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00C00000u, - LD1H_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00E00000u, - LD1SH_z_p_bi_s64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01000000u, - LD1SH_z_p_bi_s32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01200000u, - LD1W_z_p_bi_u32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01400000u, - LD1W_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01600000u, - LD1SB_z_p_bi_s64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01800000u, - LD1SB_z_p_bi_s32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01A00000u, - LD1SB_z_p_bi_s16 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01C00000u, - LD1D_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01E00000u + LD1B_z_p_bi_u16 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00200000, + LD1B_z_p_bi_u32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00400000, + LD1B_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00600000, + LD1SW_z_p_bi_s64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00800000, + LD1H_z_p_bi_u16 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00A00000, + LD1H_z_p_bi_u32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00C00000, + LD1H_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x00E00000, + LD1SH_z_p_bi_s64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01000000, + LD1SH_z_p_bi_s32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01200000, + LD1W_z_p_bi_u32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01400000, + LD1W_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01600000, + LD1SB_z_p_bi_s64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01800000, + LD1SB_z_p_bi_s32 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01A00000, + LD1SB_z_p_bi_s16 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01C00000, + LD1D_z_p_bi_u64 = SVEContiguousLoad_ScalarPlusImmFixed | 0x01E00000 }; enum SVEContiguousLoad_ScalarPlusScalarOp : uint32_t { - SVEContiguousLoad_ScalarPlusScalarFixed = 0xA4004000u, - SVEContiguousLoad_ScalarPlusScalarFMask = 0xFE00E000u, - SVEContiguousLoad_ScalarPlusScalarMask = 0xFFE0E000u, + SVEContiguousLoad_ScalarPlusScalarFixed = 0xA4004000, + SVEContiguousLoad_ScalarPlusScalarFMask = 0xFE00E000, + SVEContiguousLoad_ScalarPlusScalarMask = 0xFFE0E000, LD1B_z_p_br_u8 = SVEContiguousLoad_ScalarPlusScalarFixed, - LD1B_z_p_br_u16 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00200000u, - LD1B_z_p_br_u32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00400000u, - LD1B_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00600000u, - LD1SW_z_p_br_s64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00800000u, - LD1H_z_p_br_u16 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00A00000u, - LD1H_z_p_br_u32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00C00000u, - LD1H_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00E00000u, - LD1SH_z_p_br_s64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01000000u, - LD1SH_z_p_br_s32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01200000u, - LD1W_z_p_br_u32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01400000u, - LD1W_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01600000u, - LD1SB_z_p_br_s64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01800000u, - LD1SB_z_p_br_s32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01A00000u, - LD1SB_z_p_br_s16 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01C00000u, - LD1D_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01E00000u + LD1B_z_p_br_u16 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00200000, + LD1B_z_p_br_u32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00400000, + LD1B_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00600000, + LD1SW_z_p_br_s64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00800000, + LD1H_z_p_br_u16 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00A00000, + LD1H_z_p_br_u32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00C00000, + LD1H_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x00E00000, + LD1SH_z_p_br_s64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01000000, + LD1SH_z_p_br_s32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01200000, + LD1W_z_p_br_u32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01400000, + LD1W_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01600000, + LD1SB_z_p_br_s64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01800000, + LD1SB_z_p_br_s32 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01A00000, + LD1SB_z_p_br_s16 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01C00000, + LD1D_z_p_br_u64 = SVEContiguousLoad_ScalarPlusScalarFixed | 0x01E00000 }; enum SVEContiguousNonFaultLoad_ScalarPlusImmOp : uint32_t { - SVEContiguousNonFaultLoad_ScalarPlusImmFixed = 0xA410A000u, - SVEContiguousNonFaultLoad_ScalarPlusImmFMask = 0xFE10E000u, - SVEContiguousNonFaultLoad_ScalarPlusImmMask = 0xFFF0E000u, + SVEContiguousNonFaultLoad_ScalarPlusImmFixed = 0xA410A000, + SVEContiguousNonFaultLoad_ScalarPlusImmFMask = 0xFE10E000, + SVEContiguousNonFaultLoad_ScalarPlusImmMask = 0xFFF0E000, LDNF1B_z_p_bi_u8 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed, - LDNF1B_z_p_bi_u16 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00200000u, - LDNF1B_z_p_bi_u32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00400000u, - LDNF1B_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00600000u, - LDNF1SW_z_p_bi_s64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00800000u, - LDNF1H_z_p_bi_u16 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00A00000u, - LDNF1H_z_p_bi_u32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00C00000u, - LDNF1H_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00E00000u, - LDNF1SH_z_p_bi_s64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01000000u, - LDNF1SH_z_p_bi_s32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01200000u, - LDNF1W_z_p_bi_u32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01400000u, - LDNF1W_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01600000u, - LDNF1SB_z_p_bi_s64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01800000u, - LDNF1SB_z_p_bi_s32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01A00000u, - LDNF1SB_z_p_bi_s16 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01C00000u, - LDNF1D_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01E00000u + LDNF1B_z_p_bi_u16 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00200000, + LDNF1B_z_p_bi_u32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00400000, + LDNF1B_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00600000, + LDNF1SW_z_p_bi_s64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00800000, + LDNF1H_z_p_bi_u16 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00A00000, + LDNF1H_z_p_bi_u32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00C00000, + LDNF1H_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x00E00000, + LDNF1SH_z_p_bi_s64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01000000, + LDNF1SH_z_p_bi_s32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01200000, + LDNF1W_z_p_bi_u32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01400000, + LDNF1W_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01600000, + LDNF1SB_z_p_bi_s64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01800000, + LDNF1SB_z_p_bi_s32 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01A00000, + LDNF1SB_z_p_bi_s16 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01C00000, + LDNF1D_z_p_bi_u64 = SVEContiguousNonFaultLoad_ScalarPlusImmFixed | 0x01E00000 }; enum SVEContiguousNonTemporalLoad_ScalarPlusImmOp : uint32_t { - SVEContiguousNonTemporalLoad_ScalarPlusImmFixed = 0xA400E000u, - SVEContiguousNonTemporalLoad_ScalarPlusImmFMask = 0xFE70E000u, - SVEContiguousNonTemporalLoad_ScalarPlusImmMask = 0xFFF0E000u, + SVEContiguousNonTemporalLoad_ScalarPlusImmFixed = 0xA400E000, + SVEContiguousNonTemporalLoad_ScalarPlusImmFMask = 0xFE70E000, + SVEContiguousNonTemporalLoad_ScalarPlusImmMask = 0xFFF0E000, LDNT1B_z_p_bi_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusImmFixed, - LDNT1H_z_p_bi_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusImmFixed | 0x00800000u, - LDNT1W_z_p_bi_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusImmFixed | 0x01000000u, - LDNT1D_z_p_bi_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusImmFixed | 0x01800000u + LDNT1H_z_p_bi_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusImmFixed | 0x00800000, + LDNT1W_z_p_bi_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusImmFixed | 0x01000000, + LDNT1D_z_p_bi_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusImmFixed | 0x01800000 }; enum SVEContiguousNonTemporalLoad_ScalarPlusScalarOp : uint32_t { - SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed = 0xA400C000u, - SVEContiguousNonTemporalLoad_ScalarPlusScalarFMask = 0xFE60E000u, - SVEContiguousNonTemporalLoad_ScalarPlusScalarMask = 0xFFE0E000u, + SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed = 0xA400C000, + SVEContiguousNonTemporalLoad_ScalarPlusScalarFMask = 0xFE60E000, + SVEContiguousNonTemporalLoad_ScalarPlusScalarMask = 0xFFE0E000, LDNT1B_z_p_br_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed, - LDNT1H_z_p_br_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed | 0x00800000u, - LDNT1W_z_p_br_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed | 0x01000000u, - LDNT1D_z_p_br_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed | 0x01800000u + LDNT1H_z_p_br_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed | 0x00800000, + LDNT1W_z_p_br_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed | 0x01000000, + LDNT1D_z_p_br_contiguous = SVEContiguousNonTemporalLoad_ScalarPlusScalarFixed | 0x01800000 }; enum SVEContiguousNonTemporalStore_ScalarPlusImmOp : uint32_t { - SVEContiguousNonTemporalStore_ScalarPlusImmFixed = 0xE410E000u, - SVEContiguousNonTemporalStore_ScalarPlusImmFMask = 0xFE70E000u, - SVEContiguousNonTemporalStore_ScalarPlusImmMask = 0xFFF0E000u, + SVEContiguousNonTemporalStore_ScalarPlusImmFixed = 0xE410E000, + SVEContiguousNonTemporalStore_ScalarPlusImmFMask = 0xFE70E000, + SVEContiguousNonTemporalStore_ScalarPlusImmMask = 0xFFF0E000, STNT1B_z_p_bi_contiguous = SVEContiguousNonTemporalStore_ScalarPlusImmFixed, - STNT1H_z_p_bi_contiguous = SVEContiguousNonTemporalStore_ScalarPlusImmFixed | 0x00800000u, - STNT1W_z_p_bi_contiguous = SVEContiguousNonTemporalStore_ScalarPlusImmFixed | 0x01000000u, - STNT1D_z_p_bi_contiguous = SVEContiguousNonTemporalStore_ScalarPlusImmFixed | 0x01800000u + STNT1H_z_p_bi_contiguous = SVEContiguousNonTemporalStore_ScalarPlusImmFixed | 0x00800000, + STNT1W_z_p_bi_contiguous = SVEContiguousNonTemporalStore_ScalarPlusImmFixed | 0x01000000, + STNT1D_z_p_bi_contiguous = SVEContiguousNonTemporalStore_ScalarPlusImmFixed | 0x01800000 }; enum SVEContiguousNonTemporalStore_ScalarPlusScalarOp : uint32_t { - SVEContiguousNonTemporalStore_ScalarPlusScalarFixed = 0xE4006000u, - SVEContiguousNonTemporalStore_ScalarPlusScalarFMask = 0xFE60E000u, - SVEContiguousNonTemporalStore_ScalarPlusScalarMask = 0xFFE0E000u, + SVEContiguousNonTemporalStore_ScalarPlusScalarFixed = 0xE4006000, + SVEContiguousNonTemporalStore_ScalarPlusScalarFMask = 0xFE60E000, + SVEContiguousNonTemporalStore_ScalarPlusScalarMask = 0xFFE0E000, STNT1B_z_p_br_contiguous = SVEContiguousNonTemporalStore_ScalarPlusScalarFixed, - STNT1H_z_p_br_contiguous = SVEContiguousNonTemporalStore_ScalarPlusScalarFixed | 0x00800000u, - STNT1W_z_p_br_contiguous = SVEContiguousNonTemporalStore_ScalarPlusScalarFixed | 0x01000000u, - STNT1D_z_p_br_contiguous = SVEContiguousNonTemporalStore_ScalarPlusScalarFixed | 0x01800000u + STNT1H_z_p_br_contiguous = SVEContiguousNonTemporalStore_ScalarPlusScalarFixed | 0x00800000, + STNT1W_z_p_br_contiguous = SVEContiguousNonTemporalStore_ScalarPlusScalarFixed | 0x01000000, + STNT1D_z_p_br_contiguous = SVEContiguousNonTemporalStore_ScalarPlusScalarFixed | 0x01800000 }; enum SVEContiguousPrefetch_ScalarPlusImmOp : uint32_t { - SVEContiguousPrefetch_ScalarPlusImmFixed = 0x85C00000u, - SVEContiguousPrefetch_ScalarPlusImmFMask = 0xFFC08010u, - SVEContiguousPrefetch_ScalarPlusImmMask = 0xFFC0E010u, + SVEContiguousPrefetch_ScalarPlusImmFixed = 0x85C00000, + SVEContiguousPrefetch_ScalarPlusImmFMask = 0xFFC08010, + SVEContiguousPrefetch_ScalarPlusImmMask = 0xFFC0E010, PRFB_i_p_bi_s = SVEContiguousPrefetch_ScalarPlusImmFixed, - PRFH_i_p_bi_s = SVEContiguousPrefetch_ScalarPlusImmFixed | 0x00002000u, - PRFW_i_p_bi_s = SVEContiguousPrefetch_ScalarPlusImmFixed | 0x00004000u, - PRFD_i_p_bi_s = SVEContiguousPrefetch_ScalarPlusImmFixed | 0x00006000u + PRFH_i_p_bi_s = SVEContiguousPrefetch_ScalarPlusImmFixed | 0x00002000, + PRFW_i_p_bi_s = SVEContiguousPrefetch_ScalarPlusImmFixed | 0x00004000, + PRFD_i_p_bi_s = SVEContiguousPrefetch_ScalarPlusImmFixed | 0x00006000 }; enum SVEContiguousPrefetch_ScalarPlusScalarOp : uint32_t { - SVEContiguousPrefetch_ScalarPlusScalarFixed = 0x8400C000u, - SVEContiguousPrefetch_ScalarPlusScalarFMask = 0xFE60E010u, - SVEContiguousPrefetch_ScalarPlusScalarMask = 0xFFE0E010u, + SVEContiguousPrefetch_ScalarPlusScalarFixed = 0x8400C000, + SVEContiguousPrefetch_ScalarPlusScalarFMask = 0xFE60E010, + SVEContiguousPrefetch_ScalarPlusScalarMask = 0xFFE0E010, PRFB_i_p_br_s = SVEContiguousPrefetch_ScalarPlusScalarFixed, - PRFH_i_p_br_s = SVEContiguousPrefetch_ScalarPlusScalarFixed | 0x00800000u, - PRFW_i_p_br_s = SVEContiguousPrefetch_ScalarPlusScalarFixed | 0x01000000u, - PRFD_i_p_br_s = SVEContiguousPrefetch_ScalarPlusScalarFixed | 0x01800000u + PRFH_i_p_br_s = SVEContiguousPrefetch_ScalarPlusScalarFixed | 0x00800000, + PRFW_i_p_br_s = SVEContiguousPrefetch_ScalarPlusScalarFixed | 0x01000000, + PRFD_i_p_br_s = SVEContiguousPrefetch_ScalarPlusScalarFixed | 0x01800000 }; enum SVEContiguousStore_ScalarPlusImmOp : uint32_t { - SVEContiguousStore_ScalarPlusImmFixed = 0xE400E000u, - SVEContiguousStore_ScalarPlusImmFMask = 0xFE10E000u, - SVEContiguousStore_ScalarPlusImmMask = 0xFF90E000u, + SVEContiguousStore_ScalarPlusImmFixed = 0xE400E000, + SVEContiguousStore_ScalarPlusImmFMask = 0xFE10E000, + SVEContiguousStore_ScalarPlusImmMask = 0xFF90E000, ST1B_z_p_bi = SVEContiguousStore_ScalarPlusImmFixed, - ST1H_z_p_bi = SVEContiguousStore_ScalarPlusImmFixed | 0x00800000u, - ST1W_z_p_bi = SVEContiguousStore_ScalarPlusImmFixed | 0x01000000u, - ST1D_z_p_bi = SVEContiguousStore_ScalarPlusImmFixed | 0x01800000u + ST1H_z_p_bi = SVEContiguousStore_ScalarPlusImmFixed | 0x00800000, + ST1W_z_p_bi = SVEContiguousStore_ScalarPlusImmFixed | 0x01000000, + ST1D_z_p_bi = SVEContiguousStore_ScalarPlusImmFixed | 0x01800000 }; enum SVEContiguousStore_ScalarPlusScalarOp : uint32_t { - SVEContiguousStore_ScalarPlusScalarFixed = 0xE4004000u, - SVEContiguousStore_ScalarPlusScalarFMask = 0xFE00E000u, - SVEContiguousStore_ScalarPlusScalarMask = 0xFF80E000u, + SVEContiguousStore_ScalarPlusScalarFixed = 0xE4004000, + SVEContiguousStore_ScalarPlusScalarFMask = 0xFE00E000, + SVEContiguousStore_ScalarPlusScalarMask = 0xFF80E000, ST1B_z_p_br = SVEContiguousStore_ScalarPlusScalarFixed, - ST1H_z_p_br = SVEContiguousStore_ScalarPlusScalarFixed | 0x00800000u, - ST1W_z_p_br = SVEContiguousStore_ScalarPlusScalarFixed | 0x01000000u, - ST1D_z_p_br = SVEContiguousStore_ScalarPlusScalarFixed | 0x01800000u + ST1H_z_p_br = SVEContiguousStore_ScalarPlusScalarFixed | 0x00800000, + ST1W_z_p_br = SVEContiguousStore_ScalarPlusScalarFixed | 0x01000000, + ST1D_z_p_br = SVEContiguousStore_ScalarPlusScalarFixed | 0x01800000 }; enum SVECopyFPImm_PredicatedOp : uint32_t { - SVECopyFPImm_PredicatedFixed = 0x0510C000u, - SVECopyFPImm_PredicatedFMask = 0xFF30E000u, - SVECopyFPImm_PredicatedMask = 0xFF30E000u, + SVECopyFPImm_PredicatedFixed = 0x0510C000, + SVECopyFPImm_PredicatedFMask = 0xFF30E000, + SVECopyFPImm_PredicatedMask = 0xFF30E000, FCPY_z_p_i = SVECopyFPImm_PredicatedFixed }; enum SVECopyGeneralRegisterToVector_PredicatedOp : uint32_t { - SVECopyGeneralRegisterToVector_PredicatedFixed = 0x0528A000u, - SVECopyGeneralRegisterToVector_PredicatedFMask = 0xFF3FE000u, - SVECopyGeneralRegisterToVector_PredicatedMask = 0xFF3FE000u, + SVECopyGeneralRegisterToVector_PredicatedFixed = 0x0528A000, + SVECopyGeneralRegisterToVector_PredicatedFMask = 0xFF3FE000, + SVECopyGeneralRegisterToVector_PredicatedMask = 0xFF3FE000, CPY_z_p_r = SVECopyGeneralRegisterToVector_PredicatedFixed }; enum SVECopyIntImm_PredicatedOp : uint32_t { - SVECopyIntImm_PredicatedFixed = 0x05100000u, - SVECopyIntImm_PredicatedFMask = 0xFF308000u, - SVECopyIntImm_PredicatedMask = 0xFF308000u, + SVECopyIntImm_PredicatedFixed = 0x05100000, + SVECopyIntImm_PredicatedFMask = 0xFF308000, + SVECopyIntImm_PredicatedMask = 0xFF308000, CPY_z_p_i = SVECopyIntImm_PredicatedFixed }; enum SVECopySIMDFPScalarRegisterToVector_PredicatedOp : uint32_t { - SVECopySIMDFPScalarRegisterToVector_PredicatedFixed = 0x05208000u, - SVECopySIMDFPScalarRegisterToVector_PredicatedFMask = 0xFF3FE000u, - SVECopySIMDFPScalarRegisterToVector_PredicatedMask = 0xFF3FE000u, + SVECopySIMDFPScalarRegisterToVector_PredicatedFixed = 0x05208000, + SVECopySIMDFPScalarRegisterToVector_PredicatedFMask = 0xFF3FE000, + SVECopySIMDFPScalarRegisterToVector_PredicatedMask = 0xFF3FE000, CPY_z_p_v = SVECopySIMDFPScalarRegisterToVector_PredicatedFixed }; enum SVEElementCountOp : uint32_t { - SVEElementCountFixed = 0x0420E000u, - SVEElementCountFMask = 0xFF30F800u, - SVEElementCountMask = 0xFFF0FC00u, + SVEElementCountFixed = 0x0420E000, + SVEElementCountFMask = 0xFF30F800, + SVEElementCountMask = 0xFFF0FC00, CNTB_r_s = SVEElementCountFixed, - CNTH_r_s = SVEElementCountFixed | 0x00400000u, - CNTW_r_s = SVEElementCountFixed | 0x00800000u, - CNTD_r_s = SVEElementCountFixed | 0x00C00000u + CNTH_r_s = SVEElementCountFixed | 0x00400000, + CNTW_r_s = SVEElementCountFixed | 0x00800000, + CNTD_r_s = SVEElementCountFixed | 0x00C00000 }; enum SVEExtractElementToGeneralRegisterOp : uint32_t { - SVEExtractElementToGeneralRegisterFixed = 0x0520A000u, - SVEExtractElementToGeneralRegisterFMask = 0xFF3EE000u, - SVEExtractElementToGeneralRegisterMask = 0xFF3FE000u, + SVEExtractElementToGeneralRegisterFixed = 0x0520A000, + SVEExtractElementToGeneralRegisterFMask = 0xFF3EE000, + SVEExtractElementToGeneralRegisterMask = 0xFF3FE000, LASTA_r_p_z = SVEExtractElementToGeneralRegisterFixed, - LASTB_r_p_z = SVEExtractElementToGeneralRegisterFixed | 0x00010000u + LASTB_r_p_z = SVEExtractElementToGeneralRegisterFixed | 0x00010000 }; enum SVEExtractElementToSIMDFPScalarRegisterOp : uint32_t { - SVEExtractElementToSIMDFPScalarRegisterFixed = 0x05228000u, - SVEExtractElementToSIMDFPScalarRegisterFMask = 0xFF3EE000u, - SVEExtractElementToSIMDFPScalarRegisterMask = 0xFF3FE000u, + SVEExtractElementToSIMDFPScalarRegisterFixed = 0x05228000, + SVEExtractElementToSIMDFPScalarRegisterFMask = 0xFF3EE000, + SVEExtractElementToSIMDFPScalarRegisterMask = 0xFF3FE000, LASTA_v_p_z = SVEExtractElementToSIMDFPScalarRegisterFixed, - LASTB_v_p_z = SVEExtractElementToSIMDFPScalarRegisterFixed | 0x00010000u + LASTB_v_p_z = SVEExtractElementToSIMDFPScalarRegisterFixed | 0x00010000 }; enum SVEFFRInitialiseOp : uint32_t { - SVEFFRInitialiseFixed = 0x252C9000u, - SVEFFRInitialiseFMask = 0xFF3FFFFFu, - SVEFFRInitialiseMask = 0xFFFFFFFFu, + SVEFFRInitialiseFixed = 0x252C9000, + SVEFFRInitialiseFMask = 0xFF3FFFFF, + SVEFFRInitialiseMask = 0xFFFFFFFF, SETFFR_f = SVEFFRInitialiseFixed }; enum SVEFFRWriteFromPredicateOp : uint32_t { - SVEFFRWriteFromPredicateFixed = 0x25289000u, - SVEFFRWriteFromPredicateFMask = 0xFF3FFE1Fu, - SVEFFRWriteFromPredicateMask = 0xFFFFFE1Fu, + SVEFFRWriteFromPredicateFixed = 0x25289000, + SVEFFRWriteFromPredicateFMask = 0xFF3FFE1F, + SVEFFRWriteFromPredicateMask = 0xFFFFFE1F, WRFFR_f_p = SVEFFRWriteFromPredicateFixed }; enum SVEFPAccumulatingReductionOp : uint32_t { - SVEFPAccumulatingReductionFixed = 0x65182000u, - SVEFPAccumulatingReductionFMask = 0xFF38E000u, - SVEFPAccumulatingReductionMask = 0xFF3FE000u, + SVEFPAccumulatingReductionFixed = 0x65182000, + SVEFPAccumulatingReductionFMask = 0xFF38E000, + SVEFPAccumulatingReductionMask = 0xFF3FE000, FADDA_v_p_z = SVEFPAccumulatingReductionFixed }; enum SVEFPArithmeticUnpredicatedOp : uint32_t { - SVEFPArithmeticUnpredicatedFixed = 0x65000000u, - SVEFPArithmeticUnpredicatedFMask = 0xFF20E000u, - SVEFPArithmeticUnpredicatedMask = 0xFF20FC00u, + SVEFPArithmeticUnpredicatedFixed = 0x65000000, + SVEFPArithmeticUnpredicatedFMask = 0xFF20E000, + SVEFPArithmeticUnpredicatedMask = 0xFF20FC00, FADD_z_zz = SVEFPArithmeticUnpredicatedFixed, - FSUB_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00000400u, - FMUL_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00000800u, - FTSMUL_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00000C00u, - FRECPS_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00001800u, - FRSQRTS_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00001C00u + FSUB_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00000400, + FMUL_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00000800, + FTSMUL_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00000C00, + FRECPS_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00001800, + FRSQRTS_z_zz = SVEFPArithmeticUnpredicatedFixed | 0x00001C00 }; enum SVEFPArithmeticWithImm_PredicatedOp : uint32_t { - SVEFPArithmeticWithImm_PredicatedFixed = 0x65188000u, - SVEFPArithmeticWithImm_PredicatedFMask = 0xFF38E3C0u, - SVEFPArithmeticWithImm_PredicatedMask = 0xFF3FE3C0u, + SVEFPArithmeticWithImm_PredicatedFixed = 0x65188000, + SVEFPArithmeticWithImm_PredicatedFMask = 0xFF38E3C0, + SVEFPArithmeticWithImm_PredicatedMask = 0xFF3FE3C0, FADD_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed, - FSUB_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00010000u, - FMUL_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00020000u, - FSUBR_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00030000u, - FMAXNM_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00040000u, - FMINNM_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00050000u, - FMAX_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00060000u, - FMIN_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00070000u + FSUB_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00010000, + FMUL_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00020000, + FSUBR_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00030000, + FMAXNM_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00040000, + FMINNM_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00050000, + FMAX_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00060000, + FMIN_z_p_zs = SVEFPArithmeticWithImm_PredicatedFixed | 0x00070000 }; enum SVEFPArithmetic_PredicatedOp : uint32_t { - SVEFPArithmetic_PredicatedFixed = 0x65008000u, - SVEFPArithmetic_PredicatedFMask = 0xFF30E000u, - SVEFPArithmetic_PredicatedMask = 0xFF3FE000u, + SVEFPArithmetic_PredicatedFixed = 0x65008000, + SVEFPArithmetic_PredicatedFMask = 0xFF30E000, + SVEFPArithmetic_PredicatedMask = 0xFF3FE000, FADD_z_p_zz = SVEFPArithmetic_PredicatedFixed, - FSUB_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00010000u, - FMUL_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00020000u, - FSUBR_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00030000u, - FMAXNM_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00040000u, - FMINNM_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00050000u, - FMAX_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00060000u, - FMIN_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00070000u, - FABD_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00080000u, - FSCALE_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00090000u, - FMULX_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x000A0000u, - FDIVR_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x000C0000u, - FDIV_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x000D0000u + FSUB_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00010000, + FMUL_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00020000, + FSUBR_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00030000, + FMAXNM_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00040000, + FMINNM_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00050000, + FMAX_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00060000, + FMIN_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00070000, + FABD_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00080000, + FSCALE_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x00090000, + FMULX_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x000A0000, + FDIVR_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x000C0000, + FDIV_z_p_zz = SVEFPArithmetic_PredicatedFixed | 0x000D0000 }; enum SVEFPCompareVectorsOp : uint32_t { - SVEFPCompareVectorsFixed = 0x65004000u, - SVEFPCompareVectorsFMask = 0xFF204000u, - SVEFPCompareVectorsMask = 0xFF20E010u, + SVEFPCompareVectorsFixed = 0x65004000, + SVEFPCompareVectorsFMask = 0xFF204000, + SVEFPCompareVectorsMask = 0xFF20E010, FCMGE_p_p_zz = SVEFPCompareVectorsFixed, - FCMGT_p_p_zz = SVEFPCompareVectorsFixed | 0x00000010u, - FCMEQ_p_p_zz = SVEFPCompareVectorsFixed | 0x00002000u, - FCMNE_p_p_zz = SVEFPCompareVectorsFixed | 0x00002010u, - FCMUO_p_p_zz = SVEFPCompareVectorsFixed | 0x00008000u, - FACGE_p_p_zz = SVEFPCompareVectorsFixed | 0x00008010u, - FACGT_p_p_zz = SVEFPCompareVectorsFixed | 0x0000A010u + FCMGT_p_p_zz = SVEFPCompareVectorsFixed | 0x00000010, + FCMEQ_p_p_zz = SVEFPCompareVectorsFixed | 0x00002000, + FCMNE_p_p_zz = SVEFPCompareVectorsFixed | 0x00002010, + FCMUO_p_p_zz = SVEFPCompareVectorsFixed | 0x00008000, + FACGE_p_p_zz = SVEFPCompareVectorsFixed | 0x00008010, + FACGT_p_p_zz = SVEFPCompareVectorsFixed | 0x0000A010 }; enum SVEFPCompareWithZeroOp : uint32_t { - SVEFPCompareWithZeroFixed = 0x65102000u, - SVEFPCompareWithZeroFMask = 0xFF38E000u, - SVEFPCompareWithZeroMask = 0xFF3FE010u, + SVEFPCompareWithZeroFixed = 0x65102000, + SVEFPCompareWithZeroFMask = 0xFF38E000, + SVEFPCompareWithZeroMask = 0xFF3FE010, FCMGE_p_p_z0 = SVEFPCompareWithZeroFixed, - FCMGT_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00000010u, - FCMLT_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00010000u, - FCMLE_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00010010u, - FCMEQ_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00020000u, - FCMNE_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00030000u + FCMGT_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00000010, + FCMLT_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00010000, + FCMLE_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00010010, + FCMEQ_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00020000, + FCMNE_p_p_z0 = SVEFPCompareWithZeroFixed | 0x00030000 }; enum SVEFPComplexAdditionOp : uint32_t { - SVEFPComplexAdditionFixed = 0x64008000u, - SVEFPComplexAdditionFMask = 0xFF3EE000u, - SVEFPComplexAdditionMask = 0xFF3EE000u, + SVEFPComplexAdditionFixed = 0x64008000, + SVEFPComplexAdditionFMask = 0xFF3EE000, + SVEFPComplexAdditionMask = 0xFF3EE000, FCADD_z_p_zz = SVEFPComplexAdditionFixed }; enum SVEFPComplexMulAddOp : uint32_t { - SVEFPComplexMulAddFixed = 0x64000000u, - SVEFPComplexMulAddFMask = 0xFF208000u, - SVEFPComplexMulAddMask = 0xFF208000u, + SVEFPComplexMulAddFixed = 0x64000000, + SVEFPComplexMulAddFMask = 0xFF208000, + SVEFPComplexMulAddMask = 0xFF208000, FCMLA_z_p_zzz = SVEFPComplexMulAddFixed }; enum SVEFPComplexMulAddIndexOp : uint32_t { - SVEFPComplexMulAddIndexFixed = 0x64201000u, - SVEFPComplexMulAddIndexFMask = 0xFF20F000u, - SVEFPComplexMulAddIndexMask = 0xFFE0F000u, - FCMLA_z_zzzi_h = SVEFPComplexMulAddIndexFixed | 0x00800000u, - FCMLA_z_zzzi_s = SVEFPComplexMulAddIndexFixed | 0x00C00000u + SVEFPComplexMulAddIndexFixed = 0x64201000, + SVEFPComplexMulAddIndexFMask = 0xFF20F000, + SVEFPComplexMulAddIndexMask = 0xFFE0F000, + FCMLA_z_zzzi_h = SVEFPComplexMulAddIndexFixed | 0x00800000, + FCMLA_z_zzzi_s = SVEFPComplexMulAddIndexFixed | 0x00C00000 }; enum SVEFPConvertPrecisionOp : uint32_t { - SVEFPConvertPrecisionFixed = 0x6508A000u, - SVEFPConvertPrecisionFMask = 0xFF3CE000u, - SVEFPConvertPrecisionMask = 0xFFFFE000u, - FCVT_z_p_z_s2h = SVEFPConvertPrecisionFixed | 0x00800000u, - FCVT_z_p_z_h2s = SVEFPConvertPrecisionFixed | 0x00810000u, - FCVT_z_p_z_d2h = SVEFPConvertPrecisionFixed | 0x00C00000u, - FCVT_z_p_z_h2d = SVEFPConvertPrecisionFixed | 0x00C10000u, - FCVT_z_p_z_d2s = SVEFPConvertPrecisionFixed | 0x00C20000u, - FCVT_z_p_z_s2d = SVEFPConvertPrecisionFixed | 0x00C30000u + SVEFPConvertPrecisionFixed = 0x6508A000, + SVEFPConvertPrecisionFMask = 0xFF3CE000, + SVEFPConvertPrecisionMask = 0xFFFFE000, + FCVT_z_p_z_s2h = SVEFPConvertPrecisionFixed | 0x00800000, + FCVT_z_p_z_h2s = SVEFPConvertPrecisionFixed | 0x00810000, + FCVT_z_p_z_d2h = SVEFPConvertPrecisionFixed | 0x00C00000, + FCVT_z_p_z_h2d = SVEFPConvertPrecisionFixed | 0x00C10000, + FCVT_z_p_z_d2s = SVEFPConvertPrecisionFixed | 0x00C20000, + FCVT_z_p_z_s2d = SVEFPConvertPrecisionFixed | 0x00C30000 }; enum SVEFPConvertToIntOp : uint32_t { - SVEFPConvertToIntFixed = 0x6518A000u, - SVEFPConvertToIntFMask = 0xFF38E000u, - SVEFPConvertToIntMask = 0xFFFFE000u, - FCVTZS_z_p_z_fp162h = SVEFPConvertToIntFixed | 0x00420000u, - FCVTZU_z_p_z_fp162h = SVEFPConvertToIntFixed | 0x00430000u, - FCVTZS_z_p_z_fp162w = SVEFPConvertToIntFixed | 0x00440000u, - FCVTZU_z_p_z_fp162w = SVEFPConvertToIntFixed | 0x00450000u, - FCVTZS_z_p_z_fp162x = SVEFPConvertToIntFixed | 0x00460000u, - FCVTZU_z_p_z_fp162x = SVEFPConvertToIntFixed | 0x00470000u, - FCVTZS_z_p_z_s2w = SVEFPConvertToIntFixed | 0x00840000u, - FCVTZU_z_p_z_s2w = SVEFPConvertToIntFixed | 0x00850000u, - FCVTZS_z_p_z_d2w = SVEFPConvertToIntFixed | 0x00C00000u, - FCVTZU_z_p_z_d2w = SVEFPConvertToIntFixed | 0x00C10000u, - FCVTZS_z_p_z_s2x = SVEFPConvertToIntFixed | 0x00C40000u, - FCVTZU_z_p_z_s2x = SVEFPConvertToIntFixed | 0x00C50000u, - FCVTZS_z_p_z_d2x = SVEFPConvertToIntFixed | 0x00C60000u, - FCVTZU_z_p_z_d2x = SVEFPConvertToIntFixed | 0x00C70000u + SVEFPConvertToIntFixed = 0x6518A000, + SVEFPConvertToIntFMask = 0xFF38E000, + SVEFPConvertToIntMask = 0xFFFFE000, + FCVTZS_z_p_z_fp162h = SVEFPConvertToIntFixed | 0x00420000, + FCVTZU_z_p_z_fp162h = SVEFPConvertToIntFixed | 0x00430000, + FCVTZS_z_p_z_fp162w = SVEFPConvertToIntFixed | 0x00440000, + FCVTZU_z_p_z_fp162w = SVEFPConvertToIntFixed | 0x00450000, + FCVTZS_z_p_z_fp162x = SVEFPConvertToIntFixed | 0x00460000, + FCVTZU_z_p_z_fp162x = SVEFPConvertToIntFixed | 0x00470000, + FCVTZS_z_p_z_s2w = SVEFPConvertToIntFixed | 0x00840000, + FCVTZU_z_p_z_s2w = SVEFPConvertToIntFixed | 0x00850000, + FCVTZS_z_p_z_d2w = SVEFPConvertToIntFixed | 0x00C00000, + FCVTZU_z_p_z_d2w = SVEFPConvertToIntFixed | 0x00C10000, + FCVTZS_z_p_z_s2x = SVEFPConvertToIntFixed | 0x00C40000, + FCVTZU_z_p_z_s2x = SVEFPConvertToIntFixed | 0x00C50000, + FCVTZS_z_p_z_d2x = SVEFPConvertToIntFixed | 0x00C60000, + FCVTZU_z_p_z_d2x = SVEFPConvertToIntFixed | 0x00C70000 }; enum SVEFPExponentialAcceleratorOp : uint32_t { - SVEFPExponentialAcceleratorFixed = 0x0420B800u, - SVEFPExponentialAcceleratorFMask = 0xFF20FC00u, - SVEFPExponentialAcceleratorMask = 0xFF3FFC00u, + SVEFPExponentialAcceleratorFixed = 0x0420B800, + SVEFPExponentialAcceleratorFMask = 0xFF20FC00, + SVEFPExponentialAcceleratorMask = 0xFF3FFC00, FEXPA_z_z = SVEFPExponentialAcceleratorFixed }; enum SVEFPFastReductionOp : uint32_t { - SVEFPFastReductionFixed = 0x65002000u, - SVEFPFastReductionFMask = 0xFF38E000u, - SVEFPFastReductionMask = 0xFF3FE000u, + SVEFPFastReductionFixed = 0x65002000, + SVEFPFastReductionFMask = 0xFF38E000, + SVEFPFastReductionMask = 0xFF3FE000, FADDV_v_p_z = SVEFPFastReductionFixed, - FMAXNMV_v_p_z = SVEFPFastReductionFixed | 0x00040000u, - FMINNMV_v_p_z = SVEFPFastReductionFixed | 0x00050000u, - FMAXV_v_p_z = SVEFPFastReductionFixed | 0x00060000u, - FMINV_v_p_z = SVEFPFastReductionFixed | 0x00070000u + FMAXNMV_v_p_z = SVEFPFastReductionFixed | 0x00040000, + FMINNMV_v_p_z = SVEFPFastReductionFixed | 0x00050000, + FMAXV_v_p_z = SVEFPFastReductionFixed | 0x00060000, + FMINV_v_p_z = SVEFPFastReductionFixed | 0x00070000 }; enum SVEFPMulAddOp : uint32_t { - SVEFPMulAddFixed = 0x65200000u, - SVEFPMulAddFMask = 0xFF200000u, - SVEFPMulAddMask = 0xFF20E000u, + SVEFPMulAddFixed = 0x65200000, + SVEFPMulAddFMask = 0xFF200000, + SVEFPMulAddMask = 0xFF20E000, FMLA_z_p_zzz = SVEFPMulAddFixed, - FMLS_z_p_zzz = SVEFPMulAddFixed | 0x00002000u, - FNMLA_z_p_zzz = SVEFPMulAddFixed | 0x00004000u, - FNMLS_z_p_zzz = SVEFPMulAddFixed | 0x00006000u, - FMAD_z_p_zzz = SVEFPMulAddFixed | 0x00008000u, - FMSB_z_p_zzz = SVEFPMulAddFixed | 0x0000A000u, - FNMAD_z_p_zzz = SVEFPMulAddFixed | 0x0000C000u, - FNMSB_z_p_zzz = SVEFPMulAddFixed | 0x0000E000u + FMLS_z_p_zzz = SVEFPMulAddFixed | 0x00002000, + FNMLA_z_p_zzz = SVEFPMulAddFixed | 0x00004000, + FNMLS_z_p_zzz = SVEFPMulAddFixed | 0x00006000, + FMAD_z_p_zzz = SVEFPMulAddFixed | 0x00008000, + FMSB_z_p_zzz = SVEFPMulAddFixed | 0x0000A000, + FNMAD_z_p_zzz = SVEFPMulAddFixed | 0x0000C000, + FNMSB_z_p_zzz = SVEFPMulAddFixed | 0x0000E000 }; enum SVEFPMulAddIndexOp : uint32_t { - SVEFPMulAddIndexFixed = 0x64200000u, - SVEFPMulAddIndexFMask = 0xFF20F800u, - SVEFPMulAddIndexMask = 0xFFE0FC00u, + SVEFPMulAddIndexFixed = 0x64200000, + SVEFPMulAddIndexFMask = 0xFF20F800, + SVEFPMulAddIndexMask = 0xFFE0FC00, FMLA_z_zzzi_h = SVEFPMulAddIndexFixed, - FMLA_z_zzzi_h_i3h = FMLA_z_zzzi_h | 0x00400000u, - FMLS_z_zzzi_h = SVEFPMulAddIndexFixed | 0x00000400u, - FMLS_z_zzzi_h_i3h = FMLS_z_zzzi_h | 0x00400000u, - FMLA_z_zzzi_s = SVEFPMulAddIndexFixed | 0x00800000u, - FMLS_z_zzzi_s = SVEFPMulAddIndexFixed | 0x00800400u, - FMLA_z_zzzi_d = SVEFPMulAddIndexFixed | 0x00C00000u, - FMLS_z_zzzi_d = SVEFPMulAddIndexFixed | 0x00C00400u + FMLA_z_zzzi_h_i3h = FMLA_z_zzzi_h | 0x00400000, + FMLS_z_zzzi_h = SVEFPMulAddIndexFixed | 0x00000400, + FMLS_z_zzzi_h_i3h = FMLS_z_zzzi_h | 0x00400000, + FMLA_z_zzzi_s = SVEFPMulAddIndexFixed | 0x00800000, + FMLS_z_zzzi_s = SVEFPMulAddIndexFixed | 0x00800400, + FMLA_z_zzzi_d = SVEFPMulAddIndexFixed | 0x00C00000, + FMLS_z_zzzi_d = SVEFPMulAddIndexFixed | 0x00C00400 }; enum SVEFPMulIndexOp : uint32_t { - SVEFPMulIndexFixed = 0x64202000u, - SVEFPMulIndexFMask = 0xFF20FC00u, - SVEFPMulIndexMask = 0xFFE0FC00u, + SVEFPMulIndexFixed = 0x64202000, + SVEFPMulIndexFMask = 0xFF20FC00, + SVEFPMulIndexMask = 0xFFE0FC00, FMUL_z_zzi_h = SVEFPMulIndexFixed, - FMUL_z_zzi_h_i3h = FMUL_z_zzi_h | 0x00400000u, - FMUL_z_zzi_s = SVEFPMulIndexFixed | 0x00800000u, - FMUL_z_zzi_d = SVEFPMulIndexFixed | 0x00C00000u + FMUL_z_zzi_h_i3h = FMUL_z_zzi_h | 0x00400000, + FMUL_z_zzi_s = SVEFPMulIndexFixed | 0x00800000, + FMUL_z_zzi_d = SVEFPMulIndexFixed | 0x00C00000 }; enum SVEFPRoundToIntegralValueOp : uint32_t { - SVEFPRoundToIntegralValueFixed = 0x6500A000u, - SVEFPRoundToIntegralValueFMask = 0xFF38E000u, - SVEFPRoundToIntegralValueMask = 0xFF3FE000u, + SVEFPRoundToIntegralValueFixed = 0x6500A000, + SVEFPRoundToIntegralValueFMask = 0xFF38E000, + SVEFPRoundToIntegralValueMask = 0xFF3FE000, FRINTN_z_p_z = SVEFPRoundToIntegralValueFixed, - FRINTP_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00010000u, - FRINTM_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00020000u, - FRINTZ_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00030000u, - FRINTA_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00040000u, - FRINTX_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00060000u, - FRINTI_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00070000u + FRINTP_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00010000, + FRINTM_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00020000, + FRINTZ_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00030000, + FRINTA_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00040000, + FRINTX_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00060000, + FRINTI_z_p_z = SVEFPRoundToIntegralValueFixed | 0x00070000 }; enum SVEFPTrigMulAddCoefficientOp : uint32_t { - SVEFPTrigMulAddCoefficientFixed = 0x65108000u, - SVEFPTrigMulAddCoefficientFMask = 0xFF38FC00u, - SVEFPTrigMulAddCoefficientMask = 0xFF38FC00u, + SVEFPTrigMulAddCoefficientFixed = 0x65108000, + SVEFPTrigMulAddCoefficientFMask = 0xFF38FC00, + SVEFPTrigMulAddCoefficientMask = 0xFF38FC00, FTMAD_z_zzi = SVEFPTrigMulAddCoefficientFixed }; enum SVEFPTrigSelectCoefficientOp : uint32_t { - SVEFPTrigSelectCoefficientFixed = 0x0420B000u, - SVEFPTrigSelectCoefficientFMask = 0xFF20F800u, - SVEFPTrigSelectCoefficientMask = 0xFF20FC00u, + SVEFPTrigSelectCoefficientFixed = 0x0420B000, + SVEFPTrigSelectCoefficientFMask = 0xFF20F800, + SVEFPTrigSelectCoefficientMask = 0xFF20FC00, FTSSEL_z_zz = SVEFPTrigSelectCoefficientFixed }; enum SVEFPUnaryOpOp : uint32_t { - SVEFPUnaryOpFixed = 0x650CA000u, - SVEFPUnaryOpFMask = 0xFF3CE000u, - SVEFPUnaryOpMask = 0xFF3FE000u, + SVEFPUnaryOpFixed = 0x650CA000, + SVEFPUnaryOpFMask = 0xFF3CE000, + SVEFPUnaryOpMask = 0xFF3FE000, FRECPX_z_p_z = SVEFPUnaryOpFixed, - FSQRT_z_p_z = SVEFPUnaryOpFixed | 0x00010000u + FSQRT_z_p_z = SVEFPUnaryOpFixed | 0x00010000 }; enum SVEFPUnaryOpUnpredicatedOp : uint32_t { - SVEFPUnaryOpUnpredicatedFixed = 0x65083000u, - SVEFPUnaryOpUnpredicatedFMask = 0xFF38F000u, - SVEFPUnaryOpUnpredicatedMask = 0xFF3FFC00u, - FRECPE_z_z = SVEFPUnaryOpUnpredicatedFixed | 0x00060000u, - FRSQRTE_z_z = SVEFPUnaryOpUnpredicatedFixed | 0x00070000u + SVEFPUnaryOpUnpredicatedFixed = 0x65083000, + SVEFPUnaryOpUnpredicatedFMask = 0xFF38F000, + SVEFPUnaryOpUnpredicatedMask = 0xFF3FFC00, + FRECPE_z_z = SVEFPUnaryOpUnpredicatedFixed | 0x00060000, + FRSQRTE_z_z = SVEFPUnaryOpUnpredicatedFixed | 0x00070000 }; enum SVEIncDecByPredicateCountOp : uint32_t { - SVEIncDecByPredicateCountFixed = 0x25288000u, - SVEIncDecByPredicateCountFMask = 0xFF38F000u, - SVEIncDecByPredicateCountMask = 0xFF3FFE00u, + SVEIncDecByPredicateCountFixed = 0x25288000, + SVEIncDecByPredicateCountFMask = 0xFF38F000, + SVEIncDecByPredicateCountMask = 0xFF3FFE00, SQINCP_z_p_z = SVEIncDecByPredicateCountFixed, - SQINCP_r_p_r_sx = SVEIncDecByPredicateCountFixed | 0x00000800u, - SQINCP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00000C00u, - UQINCP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00010000u, - UQINCP_r_p_r_uw = SVEIncDecByPredicateCountFixed | 0x00010800u, - UQINCP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00010C00u, - SQDECP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00020000u, - SQDECP_r_p_r_sx = SVEIncDecByPredicateCountFixed | 0x00020800u, - SQDECP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00020C00u, - UQDECP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00030000u, - UQDECP_r_p_r_uw = SVEIncDecByPredicateCountFixed | 0x00030800u, - UQDECP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00030C00u, - INCP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00040000u, - INCP_r_p_r = SVEIncDecByPredicateCountFixed | 0x00040800u, - DECP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00050000u, - DECP_r_p_r = SVEIncDecByPredicateCountFixed | 0x00050800u + SQINCP_r_p_r_sx = SVEIncDecByPredicateCountFixed | 0x00000800, + SQINCP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00000C00, + UQINCP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00010000, + UQINCP_r_p_r_uw = SVEIncDecByPredicateCountFixed | 0x00010800, + UQINCP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00010C00, + SQDECP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00020000, + SQDECP_r_p_r_sx = SVEIncDecByPredicateCountFixed | 0x00020800, + SQDECP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00020C00, + UQDECP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00030000, + UQDECP_r_p_r_uw = SVEIncDecByPredicateCountFixed | 0x00030800, + UQDECP_r_p_r_x = SVEIncDecByPredicateCountFixed | 0x00030C00, + INCP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00040000, + INCP_r_p_r = SVEIncDecByPredicateCountFixed | 0x00040800, + DECP_z_p_z = SVEIncDecByPredicateCountFixed | 0x00050000, + DECP_r_p_r = SVEIncDecByPredicateCountFixed | 0x00050800 }; enum SVEIncDecRegisterByElementCountOp : uint32_t { - SVEIncDecRegisterByElementCountFixed = 0x0430E000u, - SVEIncDecRegisterByElementCountFMask = 0xFF30F800u, - SVEIncDecRegisterByElementCountMask = 0xFFF0FC00u, + SVEIncDecRegisterByElementCountFixed = 0x0430E000, + SVEIncDecRegisterByElementCountFMask = 0xFF30F800, + SVEIncDecRegisterByElementCountMask = 0xFFF0FC00, INCB_r_rs = SVEIncDecRegisterByElementCountFixed, - DECB_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00000400u, - INCH_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00400000u, - DECH_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00400400u, - INCW_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00800000u, - DECW_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00800400u, - INCD_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00C00000u, - DECD_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00C00400u + DECB_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00000400, + INCH_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00400000, + DECH_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00400400, + INCW_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00800000, + DECW_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00800400, + INCD_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00C00000, + DECD_r_rs = SVEIncDecRegisterByElementCountFixed | 0x00C00400 }; enum SVEIncDecVectorByElementCountOp : uint32_t { - SVEIncDecVectorByElementCountFixed = 0x0430C000u, - SVEIncDecVectorByElementCountFMask = 0xFF30F800u, - SVEIncDecVectorByElementCountMask = 0xFFF0FC00u, - INCH_z_zs = SVEIncDecVectorByElementCountFixed | 0x00400000u, - DECH_z_zs = SVEIncDecVectorByElementCountFixed | 0x00400400u, - INCW_z_zs = SVEIncDecVectorByElementCountFixed | 0x00800000u, - DECW_z_zs = SVEIncDecVectorByElementCountFixed | 0x00800400u, - INCD_z_zs = SVEIncDecVectorByElementCountFixed | 0x00C00000u, - DECD_z_zs = SVEIncDecVectorByElementCountFixed | 0x00C00400u + SVEIncDecVectorByElementCountFixed = 0x0430C000, + SVEIncDecVectorByElementCountFMask = 0xFF30F800, + SVEIncDecVectorByElementCountMask = 0xFFF0FC00, + INCH_z_zs = SVEIncDecVectorByElementCountFixed | 0x00400000, + DECH_z_zs = SVEIncDecVectorByElementCountFixed | 0x00400400, + INCW_z_zs = SVEIncDecVectorByElementCountFixed | 0x00800000, + DECW_z_zs = SVEIncDecVectorByElementCountFixed | 0x00800400, + INCD_z_zs = SVEIncDecVectorByElementCountFixed | 0x00C00000, + DECD_z_zs = SVEIncDecVectorByElementCountFixed | 0x00C00400 }; enum SVEIndexGenerationOp : uint32_t { - SVEIndexGenerationFixed = 0x04204000u, - SVEIndexGenerationFMask = 0xFF20F000u, - SVEIndexGenerationMask = 0xFF20FC00u, + SVEIndexGenerationFixed = 0x04204000, + SVEIndexGenerationFMask = 0xFF20F000, + SVEIndexGenerationMask = 0xFF20FC00, INDEX_z_ii = SVEIndexGenerationFixed, - INDEX_z_ri = SVEIndexGenerationFixed | 0x00000400u, - INDEX_z_ir = SVEIndexGenerationFixed | 0x00000800u, - INDEX_z_rr = SVEIndexGenerationFixed | 0x00000C00u + INDEX_z_ri = SVEIndexGenerationFixed | 0x00000400, + INDEX_z_ir = SVEIndexGenerationFixed | 0x00000800, + INDEX_z_rr = SVEIndexGenerationFixed | 0x00000C00 }; enum SVEInsertGeneralRegisterOp : uint32_t { - SVEInsertGeneralRegisterFixed = 0x05243800u, - SVEInsertGeneralRegisterFMask = 0xFF3FFC00u, - SVEInsertGeneralRegisterMask = 0xFF3FFC00u, + SVEInsertGeneralRegisterFixed = 0x05243800, + SVEInsertGeneralRegisterFMask = 0xFF3FFC00, + SVEInsertGeneralRegisterMask = 0xFF3FFC00, INSR_z_r = SVEInsertGeneralRegisterFixed }; enum SVEInsertSIMDFPScalarRegisterOp : uint32_t { - SVEInsertSIMDFPScalarRegisterFixed = 0x05343800u, - SVEInsertSIMDFPScalarRegisterFMask = 0xFF3FFC00u, - SVEInsertSIMDFPScalarRegisterMask = 0xFF3FFC00u, + SVEInsertSIMDFPScalarRegisterFixed = 0x05343800, + SVEInsertSIMDFPScalarRegisterFMask = 0xFF3FFC00, + SVEInsertSIMDFPScalarRegisterMask = 0xFF3FFC00, INSR_z_v = SVEInsertSIMDFPScalarRegisterFixed }; enum SVEIntAddSubtractImm_UnpredicatedOp : uint32_t { - SVEIntAddSubtractImm_UnpredicatedFixed = 0x2520C000u, - SVEIntAddSubtractImm_UnpredicatedFMask = 0xFF38C000u, - SVEIntAddSubtractImm_UnpredicatedMask = 0xFF3FC000u, + SVEIntAddSubtractImm_UnpredicatedFixed = 0x2520C000, + SVEIntAddSubtractImm_UnpredicatedFMask = 0xFF38C000, + SVEIntAddSubtractImm_UnpredicatedMask = 0xFF3FC000, ADD_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed, - SUB_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00010000u, - SUBR_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00030000u, - SQADD_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00040000u, - UQADD_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00050000u, - SQSUB_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00060000u, - UQSUB_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00070000u + SUB_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00010000, + SUBR_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00030000, + SQADD_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00040000, + UQADD_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00050000, + SQSUB_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00060000, + UQSUB_z_zi = SVEIntAddSubtractImm_UnpredicatedFixed | 0x00070000 }; enum SVEIntAddSubtractVectors_PredicatedOp : uint32_t { - SVEIntAddSubtractVectors_PredicatedFixed = 0x04000000u, - SVEIntAddSubtractVectors_PredicatedFMask = 0xFF38E000u, - SVEIntAddSubtractVectors_PredicatedMask = 0xFF3FE000u, + SVEIntAddSubtractVectors_PredicatedFixed = 0x04000000, + SVEIntAddSubtractVectors_PredicatedFMask = 0xFF38E000, + SVEIntAddSubtractVectors_PredicatedMask = 0xFF3FE000, ADD_z_p_zz = SVEIntAddSubtractVectors_PredicatedFixed, - SUB_z_p_zz = SVEIntAddSubtractVectors_PredicatedFixed | 0x00010000u, - SUBR_z_p_zz = SVEIntAddSubtractVectors_PredicatedFixed | 0x00030000u + SUB_z_p_zz = SVEIntAddSubtractVectors_PredicatedFixed | 0x00010000, + SUBR_z_p_zz = SVEIntAddSubtractVectors_PredicatedFixed | 0x00030000 }; enum SVEIntArithmeticUnpredicatedOp : uint32_t { - SVEIntArithmeticUnpredicatedFixed = 0x04200000u, - SVEIntArithmeticUnpredicatedFMask = 0xFF20E000u, - SVEIntArithmeticUnpredicatedMask = 0xFF20FC00u, + SVEIntArithmeticUnpredicatedFixed = 0x04200000, + SVEIntArithmeticUnpredicatedFMask = 0xFF20E000, + SVEIntArithmeticUnpredicatedMask = 0xFF20FC00, ADD_z_zz = SVEIntArithmeticUnpredicatedFixed, - SUB_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00000400u, - SQADD_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001000u, - UQADD_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001400u, - SQSUB_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001800u, - UQSUB_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001C00u + SUB_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00000400, + SQADD_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001000, + UQADD_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001400, + SQSUB_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001800, + UQSUB_z_zz = SVEIntArithmeticUnpredicatedFixed | 0x00001C00 }; enum SVEIntCompareScalarCountAndLimitOp : uint32_t { - SVEIntCompareScalarCountAndLimitFixed = 0x25200000u, - SVEIntCompareScalarCountAndLimitFMask = 0xFF20E000u, - SVEIntCompareScalarCountAndLimitMask = 0xFF20EC10u, - WHILELT_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000400u, - WHILELE_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000410u, - WHILELO_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000C00u, - WHILELS_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000C10u + SVEIntCompareScalarCountAndLimitFixed = 0x25200000, + SVEIntCompareScalarCountAndLimitFMask = 0xFF20E000, + SVEIntCompareScalarCountAndLimitMask = 0xFF20EC10, + WHILELT_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000400, + WHILELE_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000410, + WHILELO_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000C00, + WHILELS_p_p_rr = SVEIntCompareScalarCountAndLimitFixed | 0x00000C10 }; enum SVEIntCompareSignedImmOp : uint32_t { - SVEIntCompareSignedImmFixed = 0x25000000u, - SVEIntCompareSignedImmFMask = 0xFF204000u, - SVEIntCompareSignedImmMask = 0xFF20E010u, + SVEIntCompareSignedImmFixed = 0x25000000, + SVEIntCompareSignedImmFMask = 0xFF204000, + SVEIntCompareSignedImmMask = 0xFF20E010, CMPGE_p_p_zi = SVEIntCompareSignedImmFixed, - CMPGT_p_p_zi = SVEIntCompareSignedImmFixed | 0x00000010u, - CMPLT_p_p_zi = SVEIntCompareSignedImmFixed | 0x00002000u, - CMPLE_p_p_zi = SVEIntCompareSignedImmFixed | 0x00002010u, - CMPEQ_p_p_zi = SVEIntCompareSignedImmFixed | 0x00008000u, - CMPNE_p_p_zi = SVEIntCompareSignedImmFixed | 0x00008010u + CMPGT_p_p_zi = SVEIntCompareSignedImmFixed | 0x00000010, + CMPLT_p_p_zi = SVEIntCompareSignedImmFixed | 0x00002000, + CMPLE_p_p_zi = SVEIntCompareSignedImmFixed | 0x00002010, + CMPEQ_p_p_zi = SVEIntCompareSignedImmFixed | 0x00008000, + CMPNE_p_p_zi = SVEIntCompareSignedImmFixed | 0x00008010 }; enum SVEIntCompareUnsignedImmOp : uint32_t { - SVEIntCompareUnsignedImmFixed = 0x24200000u, - SVEIntCompareUnsignedImmFMask = 0xFF200000u, - SVEIntCompareUnsignedImmMask = 0xFF202010u, + SVEIntCompareUnsignedImmFixed = 0x24200000, + SVEIntCompareUnsignedImmFMask = 0xFF200000, + SVEIntCompareUnsignedImmMask = 0xFF202010, CMPHS_p_p_zi = SVEIntCompareUnsignedImmFixed, - CMPHI_p_p_zi = SVEIntCompareUnsignedImmFixed | 0x00000010u, - CMPLO_p_p_zi = SVEIntCompareUnsignedImmFixed | 0x00002000u, - CMPLS_p_p_zi = SVEIntCompareUnsignedImmFixed | 0x00002010u + CMPHI_p_p_zi = SVEIntCompareUnsignedImmFixed | 0x00000010, + CMPLO_p_p_zi = SVEIntCompareUnsignedImmFixed | 0x00002000, + CMPLS_p_p_zi = SVEIntCompareUnsignedImmFixed | 0x00002010 }; enum SVEIntCompareVectorsOp : uint32_t { - SVEIntCompareVectorsFixed = 0x24000000u, - SVEIntCompareVectorsFMask = 0xFF200000u, - SVEIntCompareVectorsMask = 0xFF20E010u, + SVEIntCompareVectorsFixed = 0x24000000, + SVEIntCompareVectorsFMask = 0xFF200000, + SVEIntCompareVectorsMask = 0xFF20E010, CMPHS_p_p_zz = SVEIntCompareVectorsFixed, - CMPHI_p_p_zz = SVEIntCompareVectorsFixed | 0x00000010u, - CMPEQ_p_p_zw = SVEIntCompareVectorsFixed | 0x00002000u, - CMPNE_p_p_zw = SVEIntCompareVectorsFixed | 0x00002010u, - CMPGE_p_p_zw = SVEIntCompareVectorsFixed | 0x00004000u, - CMPGT_p_p_zw = SVEIntCompareVectorsFixed | 0x00004010u, - CMPLT_p_p_zw = SVEIntCompareVectorsFixed | 0x00006000u, - CMPLE_p_p_zw = SVEIntCompareVectorsFixed | 0x00006010u, - CMPGE_p_p_zz = SVEIntCompareVectorsFixed | 0x00008000u, - CMPGT_p_p_zz = SVEIntCompareVectorsFixed | 0x00008010u, - CMPEQ_p_p_zz = SVEIntCompareVectorsFixed | 0x0000A000u, - CMPNE_p_p_zz = SVEIntCompareVectorsFixed | 0x0000A010u, - CMPHS_p_p_zw = SVEIntCompareVectorsFixed | 0x0000C000u, - CMPHI_p_p_zw = SVEIntCompareVectorsFixed | 0x0000C010u, - CMPLO_p_p_zw = SVEIntCompareVectorsFixed | 0x0000E000u, - CMPLS_p_p_zw = SVEIntCompareVectorsFixed | 0x0000E010u + CMPHI_p_p_zz = SVEIntCompareVectorsFixed | 0x00000010, + CMPEQ_p_p_zw = SVEIntCompareVectorsFixed | 0x00002000, + CMPNE_p_p_zw = SVEIntCompareVectorsFixed | 0x00002010, + CMPGE_p_p_zw = SVEIntCompareVectorsFixed | 0x00004000, + CMPGT_p_p_zw = SVEIntCompareVectorsFixed | 0x00004010, + CMPLT_p_p_zw = SVEIntCompareVectorsFixed | 0x00006000, + CMPLE_p_p_zw = SVEIntCompareVectorsFixed | 0x00006010, + CMPGE_p_p_zz = SVEIntCompareVectorsFixed | 0x00008000, + CMPGT_p_p_zz = SVEIntCompareVectorsFixed | 0x00008010, + CMPEQ_p_p_zz = SVEIntCompareVectorsFixed | 0x0000A000, + CMPNE_p_p_zz = SVEIntCompareVectorsFixed | 0x0000A010, + CMPHS_p_p_zw = SVEIntCompareVectorsFixed | 0x0000C000, + CMPHI_p_p_zw = SVEIntCompareVectorsFixed | 0x0000C010, + CMPLO_p_p_zw = SVEIntCompareVectorsFixed | 0x0000E000, + CMPLS_p_p_zw = SVEIntCompareVectorsFixed | 0x0000E010 }; enum SVEIntConvertToFPOp : uint32_t { - SVEIntConvertToFPFixed = 0x6510A000u, - SVEIntConvertToFPFMask = 0xFF38E000u, - SVEIntConvertToFPMask = 0xFFFFE000u, - SCVTF_z_p_z_h2fp16 = SVEIntConvertToFPFixed | 0x00420000u, - UCVTF_z_p_z_h2fp16 = SVEIntConvertToFPFixed | 0x00430000u, - SCVTF_z_p_z_w2fp16 = SVEIntConvertToFPFixed | 0x00440000u, - UCVTF_z_p_z_w2fp16 = SVEIntConvertToFPFixed | 0x00450000u, - SCVTF_z_p_z_x2fp16 = SVEIntConvertToFPFixed | 0x00460000u, - UCVTF_z_p_z_x2fp16 = SVEIntConvertToFPFixed | 0x00470000u, - SCVTF_z_p_z_w2s = SVEIntConvertToFPFixed | 0x00840000u, - UCVTF_z_p_z_w2s = SVEIntConvertToFPFixed | 0x00850000u, - SCVTF_z_p_z_w2d = SVEIntConvertToFPFixed | 0x00C00000u, - UCVTF_z_p_z_w2d = SVEIntConvertToFPFixed | 0x00C10000u, - SCVTF_z_p_z_x2s = SVEIntConvertToFPFixed | 0x00C40000u, - UCVTF_z_p_z_x2s = SVEIntConvertToFPFixed | 0x00C50000u, - SCVTF_z_p_z_x2d = SVEIntConvertToFPFixed | 0x00C60000u, - UCVTF_z_p_z_x2d = SVEIntConvertToFPFixed | 0x00C70000u + SVEIntConvertToFPFixed = 0x6510A000, + SVEIntConvertToFPFMask = 0xFF38E000, + SVEIntConvertToFPMask = 0xFFFFE000, + SCVTF_z_p_z_h2fp16 = SVEIntConvertToFPFixed | 0x00420000, + UCVTF_z_p_z_h2fp16 = SVEIntConvertToFPFixed | 0x00430000, + SCVTF_z_p_z_w2fp16 = SVEIntConvertToFPFixed | 0x00440000, + UCVTF_z_p_z_w2fp16 = SVEIntConvertToFPFixed | 0x00450000, + SCVTF_z_p_z_x2fp16 = SVEIntConvertToFPFixed | 0x00460000, + UCVTF_z_p_z_x2fp16 = SVEIntConvertToFPFixed | 0x00470000, + SCVTF_z_p_z_w2s = SVEIntConvertToFPFixed | 0x00840000, + UCVTF_z_p_z_w2s = SVEIntConvertToFPFixed | 0x00850000, + SCVTF_z_p_z_w2d = SVEIntConvertToFPFixed | 0x00C00000, + UCVTF_z_p_z_w2d = SVEIntConvertToFPFixed | 0x00C10000, + SCVTF_z_p_z_x2s = SVEIntConvertToFPFixed | 0x00C40000, + UCVTF_z_p_z_x2s = SVEIntConvertToFPFixed | 0x00C50000, + SCVTF_z_p_z_x2d = SVEIntConvertToFPFixed | 0x00C60000, + UCVTF_z_p_z_x2d = SVEIntConvertToFPFixed | 0x00C70000 }; enum SVEIntDivideVectors_PredicatedOp : uint32_t { - SVEIntDivideVectors_PredicatedFixed = 0x04140000u, - SVEIntDivideVectors_PredicatedFMask = 0xFF3CE000u, - SVEIntDivideVectors_PredicatedMask = 0xFF3FE000u, + SVEIntDivideVectors_PredicatedFixed = 0x04140000, + SVEIntDivideVectors_PredicatedFMask = 0xFF3CE000, + SVEIntDivideVectors_PredicatedMask = 0xFF3FE000, SDIV_z_p_zz = SVEIntDivideVectors_PredicatedFixed, - UDIV_z_p_zz = SVEIntDivideVectors_PredicatedFixed | 0x00010000u, - SDIVR_z_p_zz = SVEIntDivideVectors_PredicatedFixed | 0x00020000u, - UDIVR_z_p_zz = SVEIntDivideVectors_PredicatedFixed | 0x00030000u + UDIV_z_p_zz = SVEIntDivideVectors_PredicatedFixed | 0x00010000, + SDIVR_z_p_zz = SVEIntDivideVectors_PredicatedFixed | 0x00020000, + UDIVR_z_p_zz = SVEIntDivideVectors_PredicatedFixed | 0x00030000 }; enum SVEIntMinMaxDifference_PredicatedOp : uint32_t { - SVEIntMinMaxDifference_PredicatedFixed = 0x04080000u, - SVEIntMinMaxDifference_PredicatedFMask = 0xFF38E000u, - SVEIntMinMaxDifference_PredicatedMask = 0xFF3FE000u, + SVEIntMinMaxDifference_PredicatedFixed = 0x04080000, + SVEIntMinMaxDifference_PredicatedFMask = 0xFF38E000, + SVEIntMinMaxDifference_PredicatedMask = 0xFF3FE000, SMAX_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed, - UMAX_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00010000u, - SMIN_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00020000u, - UMIN_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00030000u, - SABD_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00040000u, - UABD_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00050000u + UMAX_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00010000, + SMIN_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00020000, + UMIN_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00030000, + SABD_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00040000, + UABD_z_p_zz = SVEIntMinMaxDifference_PredicatedFixed | 0x00050000 }; enum SVEIntMinMaxImm_UnpredicatedOp : uint32_t { - SVEIntMinMaxImm_UnpredicatedFixed = 0x2528C000u, - SVEIntMinMaxImm_UnpredicatedFMask = 0xFF38C000u, - SVEIntMinMaxImm_UnpredicatedMask = 0xFF3FE000u, + SVEIntMinMaxImm_UnpredicatedFixed = 0x2528C000, + SVEIntMinMaxImm_UnpredicatedFMask = 0xFF38C000, + SVEIntMinMaxImm_UnpredicatedMask = 0xFF3FE000, SMAX_z_zi = SVEIntMinMaxImm_UnpredicatedFixed, - UMAX_z_zi = SVEIntMinMaxImm_UnpredicatedFixed | 0x00010000u, - SMIN_z_zi = SVEIntMinMaxImm_UnpredicatedFixed | 0x00020000u, - UMIN_z_zi = SVEIntMinMaxImm_UnpredicatedFixed | 0x00030000u + UMAX_z_zi = SVEIntMinMaxImm_UnpredicatedFixed | 0x00010000, + SMIN_z_zi = SVEIntMinMaxImm_UnpredicatedFixed | 0x00020000, + UMIN_z_zi = SVEIntMinMaxImm_UnpredicatedFixed | 0x00030000 }; enum SVEIntMulAddPredicatedOp : uint32_t { - SVEIntMulAddPredicatedFixed = 0x04004000u, - SVEIntMulAddPredicatedFMask = 0xFF204000u, - SVEIntMulAddPredicatedMask = 0xFF20E000u, + SVEIntMulAddPredicatedFixed = 0x04004000, + SVEIntMulAddPredicatedFMask = 0xFF204000, + SVEIntMulAddPredicatedMask = 0xFF20E000, MLA_z_p_zzz = SVEIntMulAddPredicatedFixed, - MLS_z_p_zzz = SVEIntMulAddPredicatedFixed | 0x00002000u, - MAD_z_p_zzz = SVEIntMulAddPredicatedFixed | 0x00008000u, - MSB_z_p_zzz = SVEIntMulAddPredicatedFixed | 0x0000A000u + MLS_z_p_zzz = SVEIntMulAddPredicatedFixed | 0x00002000, + MAD_z_p_zzz = SVEIntMulAddPredicatedFixed | 0x00008000, + MSB_z_p_zzz = SVEIntMulAddPredicatedFixed | 0x0000A000 }; enum SVEIntMulAddUnpredicatedOp : uint32_t { - SVEIntMulAddUnpredicatedFixed = 0x44000000u, - SVEIntMulAddUnpredicatedFMask = 0xFF208000u, - SVEIntMulAddUnpredicatedMask = 0xFF20FC00u, + SVEIntMulAddUnpredicatedFixed = 0x44000000, + SVEIntMulAddUnpredicatedFMask = 0xFF208000, + SVEIntMulAddUnpredicatedMask = 0xFF20FC00, SDOT_z_zzz = SVEIntMulAddUnpredicatedFixed, - UDOT_z_zzz = SVEIntMulAddUnpredicatedFixed | 0x00000400u + UDOT_z_zzz = SVEIntMulAddUnpredicatedFixed | 0x00000400 }; enum SVEIntMulImm_UnpredicatedOp : uint32_t { - SVEIntMulImm_UnpredicatedFixed = 0x2530C000u, - SVEIntMulImm_UnpredicatedFMask = 0xFF38C000u, - SVEIntMulImm_UnpredicatedMask = 0xFF3FE000u, + SVEIntMulImm_UnpredicatedFixed = 0x2530C000, + SVEIntMulImm_UnpredicatedFMask = 0xFF38C000, + SVEIntMulImm_UnpredicatedMask = 0xFF3FE000, MUL_z_zi = SVEIntMulImm_UnpredicatedFixed }; enum SVEIntMulVectors_PredicatedOp : uint32_t { - SVEIntMulVectors_PredicatedFixed = 0x04100000u, - SVEIntMulVectors_PredicatedFMask = 0xFF3CE000u, - SVEIntMulVectors_PredicatedMask = 0xFF3FE000u, + SVEIntMulVectors_PredicatedFixed = 0x04100000, + SVEIntMulVectors_PredicatedFMask = 0xFF3CE000, + SVEIntMulVectors_PredicatedMask = 0xFF3FE000, MUL_z_p_zz = SVEIntMulVectors_PredicatedFixed, - SMULH_z_p_zz = SVEIntMulVectors_PredicatedFixed | 0x00020000u, - UMULH_z_p_zz = SVEIntMulVectors_PredicatedFixed | 0x00030000u + SMULH_z_p_zz = SVEIntMulVectors_PredicatedFixed | 0x00020000, + UMULH_z_p_zz = SVEIntMulVectors_PredicatedFixed | 0x00030000 }; enum SVEMovprfxOp : uint32_t { - SVEMovprfxFixed = 0x04002000u, - SVEMovprfxFMask = 0xFF20E000u, - SVEMovprfxMask = 0xFF3EE000u, - MOVPRFX_z_p_z = SVEMovprfxFixed | 0x00100000u + SVEMovprfxFixed = 0x04002000, + SVEMovprfxFMask = 0xFF20E000, + SVEMovprfxMask = 0xFF3EE000, + MOVPRFX_z_p_z = SVEMovprfxFixed | 0x00100000 }; enum SVEIntReductionOp : uint32_t { - SVEIntReductionFixed = 0x04002000u, - SVEIntReductionFMask = 0xFF20E000u, - SVEIntReductionMask = 0xFF3FE000u, + SVEIntReductionFixed = 0x04002000, + SVEIntReductionFMask = 0xFF20E000, + SVEIntReductionMask = 0xFF3FE000, SADDV_r_p_z = SVEIntReductionFixed, - UADDV_r_p_z = SVEIntReductionFixed | 0x00010000u, - SMAXV_r_p_z = SVEIntReductionFixed | 0x00080000u, - UMAXV_r_p_z = SVEIntReductionFixed | 0x00090000u, - SMINV_r_p_z = SVEIntReductionFixed | 0x000A0000u, - UMINV_r_p_z = SVEIntReductionFixed | 0x000B0000u + UADDV_r_p_z = SVEIntReductionFixed | 0x00010000, + SMAXV_r_p_z = SVEIntReductionFixed | 0x00080000, + UMAXV_r_p_z = SVEIntReductionFixed | 0x00090000, + SMINV_r_p_z = SVEIntReductionFixed | 0x000A0000, + UMINV_r_p_z = SVEIntReductionFixed | 0x000B0000 }; enum SVEIntReductionLogicalOp : uint32_t { - SVEIntReductionLogicalFixed = 0x04182000u, - SVEIntReductionLogicalFMask = 0xFF38E000u, - SVEIntReductionLogicalMask = 0xFF3FE000u, - ORV_r_p_z = SVEIntReductionLogicalFixed | 0x00180000u, - EORV_r_p_z = SVEIntReductionLogicalFixed | 0x00190000u, - ANDV_r_p_z = SVEIntReductionLogicalFixed | 0x001A0000u + SVEIntReductionLogicalFixed = 0x04182000, + SVEIntReductionLogicalFMask = 0xFF38E000, + SVEIntReductionLogicalMask = 0xFF3FE000, + ORV_r_p_z = SVEIntReductionLogicalFixed | 0x00180000, + EORV_r_p_z = SVEIntReductionLogicalFixed | 0x00190000, + ANDV_r_p_z = SVEIntReductionLogicalFixed | 0x001A0000 }; enum SVEIntUnaryArithmeticPredicatedOp : uint32_t { - SVEIntUnaryArithmeticPredicatedFixed = 0x0400A000u, - SVEIntUnaryArithmeticPredicatedFMask = 0xFF20E000u, - SVEIntUnaryArithmeticPredicatedMask = 0xFF3FE000u, - SXTB_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00100000u, - UXTB_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00110000u, - SXTH_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00120000u, - UXTH_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00130000u, - SXTW_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00140000u, - UXTW_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00150000u, - ABS_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00160000u, - NEG_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00170000u, - CLS_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00180000u, - CLZ_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00190000u, - CNT_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001A0000u, - CNOT_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001B0000u, - FABS_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001C0000u, - FNEG_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001D0000u, - NOT_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001E0000u + SVEIntUnaryArithmeticPredicatedFixed = 0x0400A000, + SVEIntUnaryArithmeticPredicatedFMask = 0xFF20E000, + SVEIntUnaryArithmeticPredicatedMask = 0xFF3FE000, + SXTB_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00100000, + UXTB_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00110000, + SXTH_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00120000, + UXTH_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00130000, + SXTW_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00140000, + UXTW_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00150000, + ABS_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00160000, + NEG_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00170000, + CLS_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00180000, + CLZ_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x00190000, + CNT_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001A0000, + CNOT_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001B0000, + FABS_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001C0000, + FNEG_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001D0000, + NOT_z_p_z = SVEIntUnaryArithmeticPredicatedFixed | 0x001E0000 }; enum SVELoadAndBroadcastElementOp : uint32_t { - SVELoadAndBroadcastElementFixed = 0x84408000u, - SVELoadAndBroadcastElementFMask = 0xFE408000u, - SVELoadAndBroadcastElementMask = 0xFFC0E000u, + SVELoadAndBroadcastElementFixed = 0x84408000, + SVELoadAndBroadcastElementFMask = 0xFE408000, + SVELoadAndBroadcastElementMask = 0xFFC0E000, LD1RB_z_p_bi_u8 = SVELoadAndBroadcastElementFixed, - LD1RB_z_p_bi_u16 = SVELoadAndBroadcastElementFixed | 0x00002000u, - LD1RB_z_p_bi_u32 = SVELoadAndBroadcastElementFixed | 0x00004000u, - LD1RB_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x00006000u, - LD1RSW_z_p_bi_s64 = SVELoadAndBroadcastElementFixed | 0x00800000u, - LD1RH_z_p_bi_u16 = SVELoadAndBroadcastElementFixed | 0x00802000u, - LD1RH_z_p_bi_u32 = SVELoadAndBroadcastElementFixed | 0x00804000u, - LD1RH_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x00806000u, - LD1RSH_z_p_bi_s64 = SVELoadAndBroadcastElementFixed | 0x01000000u, - LD1RSH_z_p_bi_s32 = SVELoadAndBroadcastElementFixed | 0x01002000u, - LD1RW_z_p_bi_u32 = SVELoadAndBroadcastElementFixed | 0x01004000u, - LD1RW_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x01006000u, - LD1RSB_z_p_bi_s64 = SVELoadAndBroadcastElementFixed | 0x01800000u, - LD1RSB_z_p_bi_s32 = SVELoadAndBroadcastElementFixed | 0x01802000u, - LD1RSB_z_p_bi_s16 = SVELoadAndBroadcastElementFixed | 0x01804000u, - LD1RD_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x01806000u + LD1RB_z_p_bi_u16 = SVELoadAndBroadcastElementFixed | 0x00002000, + LD1RB_z_p_bi_u32 = SVELoadAndBroadcastElementFixed | 0x00004000, + LD1RB_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x00006000, + LD1RSW_z_p_bi_s64 = SVELoadAndBroadcastElementFixed | 0x00800000, + LD1RH_z_p_bi_u16 = SVELoadAndBroadcastElementFixed | 0x00802000, + LD1RH_z_p_bi_u32 = SVELoadAndBroadcastElementFixed | 0x00804000, + LD1RH_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x00806000, + LD1RSH_z_p_bi_s64 = SVELoadAndBroadcastElementFixed | 0x01000000, + LD1RSH_z_p_bi_s32 = SVELoadAndBroadcastElementFixed | 0x01002000, + LD1RW_z_p_bi_u32 = SVELoadAndBroadcastElementFixed | 0x01004000, + LD1RW_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x01006000, + LD1RSB_z_p_bi_s64 = SVELoadAndBroadcastElementFixed | 0x01800000, + LD1RSB_z_p_bi_s32 = SVELoadAndBroadcastElementFixed | 0x01802000, + LD1RSB_z_p_bi_s16 = SVELoadAndBroadcastElementFixed | 0x01804000, + LD1RD_z_p_bi_u64 = SVELoadAndBroadcastElementFixed | 0x01806000 }; enum SVELoadAndBroadcastQuadword_ScalarPlusImmOp : uint32_t { - SVELoadAndBroadcastQuadword_ScalarPlusImmFixed = 0xA4002000u, - SVELoadAndBroadcastQuadword_ScalarPlusImmFMask = 0xFE10E000u, - SVELoadAndBroadcastQuadword_ScalarPlusImmMask = 0xFFF0E000u, + SVELoadAndBroadcastQuadword_ScalarPlusImmFixed = 0xA4002000, + SVELoadAndBroadcastQuadword_ScalarPlusImmFMask = 0xFE10E000, + SVELoadAndBroadcastQuadword_ScalarPlusImmMask = 0xFFF0E000, LD1RQB_z_p_bi_u8 = SVELoadAndBroadcastQuadword_ScalarPlusImmFixed, - LD1RQH_z_p_bi_u16 = SVELoadAndBroadcastQuadword_ScalarPlusImmFixed | 0x00800000u, - LD1RQW_z_p_bi_u32 = SVELoadAndBroadcastQuadword_ScalarPlusImmFixed | 0x01000000u, - LD1RQD_z_p_bi_u64 = SVELoadAndBroadcastQuadword_ScalarPlusImmFixed | 0x01800000u + LD1RQH_z_p_bi_u16 = SVELoadAndBroadcastQuadword_ScalarPlusImmFixed | 0x00800000, + LD1RQW_z_p_bi_u32 = SVELoadAndBroadcastQuadword_ScalarPlusImmFixed | 0x01000000, + LD1RQD_z_p_bi_u64 = SVELoadAndBroadcastQuadword_ScalarPlusImmFixed | 0x01800000 }; enum SVELoadAndBroadcastQuadword_ScalarPlusScalarOp : uint32_t { - SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed = 0xA4000000u, - SVELoadAndBroadcastQuadword_ScalarPlusScalarFMask = 0xFE00E000u, - SVELoadAndBroadcastQuadword_ScalarPlusScalarMask = 0xFFE0E000u, + SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed = 0xA4000000, + SVELoadAndBroadcastQuadword_ScalarPlusScalarFMask = 0xFE00E000, + SVELoadAndBroadcastQuadword_ScalarPlusScalarMask = 0xFFE0E000, LD1RQB_z_p_br_contiguous = SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed, - LD1RQH_z_p_br_contiguous = SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed | 0x00800000u, - LD1RQW_z_p_br_contiguous = SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed | 0x01000000u, - LD1RQD_z_p_br_contiguous = SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed | 0x01800000u + LD1RQH_z_p_br_contiguous = SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed | 0x00800000, + LD1RQW_z_p_br_contiguous = SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed | 0x01000000, + LD1RQD_z_p_br_contiguous = SVELoadAndBroadcastQuadword_ScalarPlusScalarFixed | 0x01800000 }; enum SVELoadMultipleStructures_ScalarPlusImmOp : uint32_t { - SVELoadMultipleStructures_ScalarPlusImmFixed = 0xA400E000u, - SVELoadMultipleStructures_ScalarPlusImmFMask = 0xFE10E000u, - SVELoadMultipleStructures_ScalarPlusImmMask = 0xFFF0E000u, - LD2B_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00200000u, - LD3B_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00400000u, - LD4B_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00600000u, - LD2H_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00A00000u, - LD3H_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00C00000u, - LD4H_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00E00000u, - LD2W_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01200000u, - LD3W_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01400000u, - LD4W_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01600000u, - LD2D_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01A00000u, - LD3D_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01C00000u, - LD4D_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01E00000u + SVELoadMultipleStructures_ScalarPlusImmFixed = 0xA400E000, + SVELoadMultipleStructures_ScalarPlusImmFMask = 0xFE10E000, + SVELoadMultipleStructures_ScalarPlusImmMask = 0xFFF0E000, + LD2B_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00200000, + LD3B_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00400000, + LD4B_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00600000, + LD2H_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00A00000, + LD3H_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00C00000, + LD4H_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x00E00000, + LD2W_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01200000, + LD3W_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01400000, + LD4W_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01600000, + LD2D_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01A00000, + LD3D_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01C00000, + LD4D_z_p_bi_contiguous = SVELoadMultipleStructures_ScalarPlusImmFixed | 0x01E00000 }; enum SVELoadMultipleStructures_ScalarPlusScalarOp : uint32_t { - SVELoadMultipleStructures_ScalarPlusScalarFixed = 0xA400C000u, - SVELoadMultipleStructures_ScalarPlusScalarFMask = 0xFE00E000u, - SVELoadMultipleStructures_ScalarPlusScalarMask = 0xFFE0E000u, - LD2B_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00200000u, - LD3B_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00400000u, - LD4B_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00600000u, - LD2H_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00A00000u, - LD3H_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00C00000u, - LD4H_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00E00000u, - LD2W_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01200000u, - LD3W_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01400000u, - LD4W_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01600000u, - LD2D_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01A00000u, - LD3D_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01C00000u, - LD4D_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01E00000u + SVELoadMultipleStructures_ScalarPlusScalarFixed = 0xA400C000, + SVELoadMultipleStructures_ScalarPlusScalarFMask = 0xFE00E000, + SVELoadMultipleStructures_ScalarPlusScalarMask = 0xFFE0E000, + LD2B_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00200000, + LD3B_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00400000, + LD4B_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00600000, + LD2H_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00A00000, + LD3H_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00C00000, + LD4H_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x00E00000, + LD2W_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01200000, + LD3W_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01400000, + LD4W_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01600000, + LD2D_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01A00000, + LD3D_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01C00000, + LD4D_z_p_br_contiguous = SVELoadMultipleStructures_ScalarPlusScalarFixed | 0x01E00000 }; enum SVELoadPredicateRegisterOp : uint32_t { - SVELoadPredicateRegisterFixed = 0x85800000u, - SVELoadPredicateRegisterFMask = 0xFFC0E010u, - SVELoadPredicateRegisterMask = 0xFFC0E010u, + SVELoadPredicateRegisterFixed = 0x85800000, + SVELoadPredicateRegisterFMask = 0xFFC0E010, + SVELoadPredicateRegisterMask = 0xFFC0E010, LDR_p_bi = SVELoadPredicateRegisterFixed }; enum SVELoadVectorRegisterOp : uint32_t { - SVELoadVectorRegisterFixed = 0x85804000u, - SVELoadVectorRegisterFMask = 0xFFC0E000u, - SVELoadVectorRegisterMask = 0xFFC0E000u, + SVELoadVectorRegisterFixed = 0x85804000, + SVELoadVectorRegisterFMask = 0xFFC0E000, + SVELoadVectorRegisterMask = 0xFFC0E000, LDR_z_bi = SVELoadVectorRegisterFixed }; enum SVEMulIndexOp : uint32_t { - SVEMulIndexFixed = 0x44200000u, - SVEMulIndexFMask = 0xFF200000u, - SVEMulIndexMask = 0xFFE0FC00u, - SDOT_z_zzzi_s = SVEMulIndexFixed | 0x00800000u, - UDOT_z_zzzi_s = SVEMulIndexFixed | 0x00800400u, - SDOT_z_zzzi_d = SVEMulIndexFixed | 0x00C00000u, - UDOT_z_zzzi_d = SVEMulIndexFixed | 0x00C00400u + SVEMulIndexFixed = 0x44200000, + SVEMulIndexFMask = 0xFF200000, + SVEMulIndexMask = 0xFFE0FC00, + SDOT_z_zzzi_s = SVEMulIndexFixed | 0x00800000, + UDOT_z_zzzi_s = SVEMulIndexFixed | 0x00800400, + SDOT_z_zzzi_d = SVEMulIndexFixed | 0x00C00000, + UDOT_z_zzzi_d = SVEMulIndexFixed | 0x00C00400 }; enum SVEPartitionBreakConditionOp : uint32_t { - SVEPartitionBreakConditionFixed = 0x25104000u, - SVEPartitionBreakConditionFMask = 0xFF3FC200u, - SVEPartitionBreakConditionMask = 0xFFFFC200u, + SVEPartitionBreakConditionFixed = 0x25104000, + SVEPartitionBreakConditionFMask = 0xFF3FC200, + SVEPartitionBreakConditionMask = 0xFFFFC200, BRKA_p_p_p = SVEPartitionBreakConditionFixed, - BRKAS_p_p_p_z = SVEPartitionBreakConditionFixed | 0x00400000u, - BRKB_p_p_p = SVEPartitionBreakConditionFixed | 0x00800000u, - BRKBS_p_p_p_z = SVEPartitionBreakConditionFixed | 0x00C00000u + BRKAS_p_p_p_z = SVEPartitionBreakConditionFixed | 0x00400000, + BRKB_p_p_p = SVEPartitionBreakConditionFixed | 0x00800000, + BRKBS_p_p_p_z = SVEPartitionBreakConditionFixed | 0x00C00000 }; enum SVEPermutePredicateElementsOp : uint32_t { - SVEPermutePredicateElementsFixed = 0x05204000u, - SVEPermutePredicateElementsFMask = 0xFF30E210u, - SVEPermutePredicateElementsMask = 0xFF30FE10u, + SVEPermutePredicateElementsFixed = 0x05204000, + SVEPermutePredicateElementsFMask = 0xFF30E210, + SVEPermutePredicateElementsMask = 0xFF30FE10, ZIP1_p_pp = SVEPermutePredicateElementsFixed, - ZIP2_p_pp = SVEPermutePredicateElementsFixed | 0x00000400u, - UZP1_p_pp = SVEPermutePredicateElementsFixed | 0x00000800u, - UZP2_p_pp = SVEPermutePredicateElementsFixed | 0x00000C00u, - TRN1_p_pp = SVEPermutePredicateElementsFixed | 0x00001000u, - TRN2_p_pp = SVEPermutePredicateElementsFixed | 0x00001400u + ZIP2_p_pp = SVEPermutePredicateElementsFixed | 0x00000400, + UZP1_p_pp = SVEPermutePredicateElementsFixed | 0x00000800, + UZP2_p_pp = SVEPermutePredicateElementsFixed | 0x00000C00, + TRN1_p_pp = SVEPermutePredicateElementsFixed | 0x00001000, + TRN2_p_pp = SVEPermutePredicateElementsFixed | 0x00001400 }; enum SVEPermuteVectorExtractOp : uint32_t { - SVEPermuteVectorExtractFixed = 0x05200000u, - SVEPermuteVectorExtractFMask = 0xFF20E000u, - SVEPermuteVectorExtractMask = 0xFFE0E000u, + SVEPermuteVectorExtractFixed = 0x05200000, + SVEPermuteVectorExtractFMask = 0xFF20E000, + SVEPermuteVectorExtractMask = 0xFFE0E000, EXT_z_zi_des = SVEPermuteVectorExtractFixed }; enum SVEPermuteVectorInterleavingOp : uint32_t { - SVEPermuteVectorInterleavingFixed = 0x05206000u, - SVEPermuteVectorInterleavingFMask = 0xFF20E000u, - SVEPermuteVectorInterleavingMask = 0xFF20FC00u, + SVEPermuteVectorInterleavingFixed = 0x05206000, + SVEPermuteVectorInterleavingFMask = 0xFF20E000, + SVEPermuteVectorInterleavingMask = 0xFF20FC00, ZIP1_z_zz = SVEPermuteVectorInterleavingFixed, - ZIP2_z_zz = SVEPermuteVectorInterleavingFixed | 0x00000400u, - UZP1_z_zz = SVEPermuteVectorInterleavingFixed | 0x00000800u, - UZP2_z_zz = SVEPermuteVectorInterleavingFixed | 0x00000C00u, - TRN1_z_zz = SVEPermuteVectorInterleavingFixed | 0x00001000u, - TRN2_z_zz = SVEPermuteVectorInterleavingFixed | 0x00001400u + ZIP2_z_zz = SVEPermuteVectorInterleavingFixed | 0x00000400, + UZP1_z_zz = SVEPermuteVectorInterleavingFixed | 0x00000800, + UZP2_z_zz = SVEPermuteVectorInterleavingFixed | 0x00000C00, + TRN1_z_zz = SVEPermuteVectorInterleavingFixed | 0x00001000, + TRN2_z_zz = SVEPermuteVectorInterleavingFixed | 0x00001400 }; enum SVEPredicateCountOp : uint32_t { - SVEPredicateCountFixed = 0x25208000u, - SVEPredicateCountFMask = 0xFF38C000u, - SVEPredicateCountMask = 0xFF3FC200u, + SVEPredicateCountFixed = 0x25208000, + SVEPredicateCountFMask = 0xFF38C000, + SVEPredicateCountMask = 0xFF3FC200, CNTP_r_p_p = SVEPredicateCountFixed }; enum SVEPredicateFirstActiveOp : uint32_t { - SVEPredicateFirstActiveFixed = 0x2518C000u, - SVEPredicateFirstActiveFMask = 0xFF3FFE10u, - SVEPredicateFirstActiveMask = 0xFFFFFE10u, - PFIRST_p_p_p = SVEPredicateFirstActiveFixed | 0x00400000u + SVEPredicateFirstActiveFixed = 0x2518C000, + SVEPredicateFirstActiveFMask = 0xFF3FFE10, + SVEPredicateFirstActiveMask = 0xFFFFFE10, + PFIRST_p_p_p = SVEPredicateFirstActiveFixed | 0x00400000 }; enum SVEPredicateInitializeOp : uint32_t { - SVEPredicateInitializeFixed = 0x2518E000u, - SVEPredicateInitializeFMask = 0xFF3EFC10u, - SVEPredicateInitializeMask = 0xFF3FFC10u, - SVEPredicateInitializeSetFlagsBit = 0x00010000u, - PTRUE_p_s = SVEPredicateInitializeFixed | 0x00000000u, + SVEPredicateInitializeFixed = 0x2518E000, + SVEPredicateInitializeFMask = 0xFF3EFC10, + SVEPredicateInitializeMask = 0xFF3FFC10, + SVEPredicateInitializeSetFlagsBit = 0x00010000, + PTRUE_p_s = SVEPredicateInitializeFixed | 0x00000000, PTRUES_p_s = SVEPredicateInitializeFixed | SVEPredicateInitializeSetFlagsBit }; enum SVEPredicateLogicalOp : uint32_t { - SVEPredicateLogicalFixed = 0x25004000u, - SVEPredicateLogicalFMask = 0xFF30C000u, - SVEPredicateLogicalMask = 0xFFF0C210u, - SVEPredicateLogicalSetFlagsBit = 0x00400000u, + SVEPredicateLogicalFixed = 0x25004000, + SVEPredicateLogicalFMask = 0xFF30C000, + SVEPredicateLogicalMask = 0xFFF0C210, + SVEPredicateLogicalSetFlagsBit = 0x00400000, AND_p_p_pp_z = SVEPredicateLogicalFixed, ANDS_p_p_pp_z = AND_p_p_pp_z | SVEPredicateLogicalSetFlagsBit, - BIC_p_p_pp_z = SVEPredicateLogicalFixed | 0x00000010u, + BIC_p_p_pp_z = SVEPredicateLogicalFixed | 0x00000010, BICS_p_p_pp_z = BIC_p_p_pp_z | SVEPredicateLogicalSetFlagsBit, - EOR_p_p_pp_z = SVEPredicateLogicalFixed | 0x00000200u, + EOR_p_p_pp_z = SVEPredicateLogicalFixed | 0x00000200, EORS_p_p_pp_z = EOR_p_p_pp_z | SVEPredicateLogicalSetFlagsBit, - ORR_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800000u, + ORR_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800000, ORRS_p_p_pp_z = ORR_p_p_pp_z | SVEPredicateLogicalSetFlagsBit, - ORN_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800010u, + ORN_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800010, ORNS_p_p_pp_z = ORN_p_p_pp_z | SVEPredicateLogicalSetFlagsBit, - NAND_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800210u, + NAND_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800210, NANDS_p_p_pp_z = NAND_p_p_pp_z | SVEPredicateLogicalSetFlagsBit, - NOR_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800200u, + NOR_p_p_pp_z = SVEPredicateLogicalFixed | 0x00800200, NORS_p_p_pp_z = NOR_p_p_pp_z | SVEPredicateLogicalSetFlagsBit, - SEL_p_p_pp = SVEPredicateLogicalFixed | 0x00000210u + SEL_p_p_pp = SVEPredicateLogicalFixed | 0x00000210 }; enum SVEPredicateNextActiveOp : uint32_t { - SVEPredicateNextActiveFixed = 0x2519C400u, - SVEPredicateNextActiveFMask = 0xFF3FFE10u, - SVEPredicateNextActiveMask = 0xFF3FFE10u, + SVEPredicateNextActiveFixed = 0x2519C400, + SVEPredicateNextActiveFMask = 0xFF3FFE10, + SVEPredicateNextActiveMask = 0xFF3FFE10, PNEXT_p_p_p = SVEPredicateNextActiveFixed }; enum SVEPredicateReadFromFFR_PredicatedOp : uint32_t { - SVEPredicateReadFromFFR_PredicatedFixed = 0x2518F000u, - SVEPredicateReadFromFFR_PredicatedFMask = 0xFF3FFE10u, - SVEPredicateReadFromFFR_PredicatedMask = 0xFFFFFE10u, + SVEPredicateReadFromFFR_PredicatedFixed = 0x2518F000, + SVEPredicateReadFromFFR_PredicatedFMask = 0xFF3FFE10, + SVEPredicateReadFromFFR_PredicatedMask = 0xFFFFFE10, RDFFR_p_p_f = SVEPredicateReadFromFFR_PredicatedFixed, - RDFFRS_p_p_f = SVEPredicateReadFromFFR_PredicatedFixed | 0x00400000u + RDFFRS_p_p_f = SVEPredicateReadFromFFR_PredicatedFixed | 0x00400000 }; enum SVEPredicateReadFromFFR_UnpredicatedOp : uint32_t { - SVEPredicateReadFromFFR_UnpredicatedFixed = 0x2519F000u, - SVEPredicateReadFromFFR_UnpredicatedFMask = 0xFF3FFFF0u, - SVEPredicateReadFromFFR_UnpredicatedMask = 0xFFFFFFF0u, + SVEPredicateReadFromFFR_UnpredicatedFixed = 0x2519F000, + SVEPredicateReadFromFFR_UnpredicatedFMask = 0xFF3FFFF0, + SVEPredicateReadFromFFR_UnpredicatedMask = 0xFFFFFFF0, RDFFR_p_f = SVEPredicateReadFromFFR_UnpredicatedFixed }; enum SVEPredicateTestOp : uint32_t { - SVEPredicateTestFixed = 0x2510C000u, - SVEPredicateTestFMask = 0xFF3FC210u, - SVEPredicateTestMask = 0xFFFFC21Fu, - PTEST_p_p = SVEPredicateTestFixed | 0x00400000u + SVEPredicateTestFixed = 0x2510C000, + SVEPredicateTestFMask = 0xFF3FC210, + SVEPredicateTestMask = 0xFFFFC21F, + PTEST_p_p = SVEPredicateTestFixed | 0x00400000 }; enum SVEPredicateZeroOp : uint32_t { - SVEPredicateZeroFixed = 0x2518E400u, - SVEPredicateZeroFMask = 0xFF3FFFF0u, - SVEPredicateZeroMask = 0xFFFFFFF0u, + SVEPredicateZeroFixed = 0x2518E400, + SVEPredicateZeroFMask = 0xFF3FFFF0, + SVEPredicateZeroMask = 0xFFFFFFF0, PFALSE_p = SVEPredicateZeroFixed }; enum SVEPropagateBreakOp : uint32_t { - SVEPropagateBreakFixed = 0x2500C000u, - SVEPropagateBreakFMask = 0xFF30C000u, - SVEPropagateBreakMask = 0xFFF0C210u, + SVEPropagateBreakFixed = 0x2500C000, + SVEPropagateBreakFMask = 0xFF30C000, + SVEPropagateBreakMask = 0xFFF0C210, BRKPA_p_p_pp = SVEPropagateBreakFixed, - BRKPB_p_p_pp = SVEPropagateBreakFixed | 0x00000010u, - BRKPAS_p_p_pp = SVEPropagateBreakFixed | 0x00400000u, - BRKPBS_p_p_pp = SVEPropagateBreakFixed | 0x00400010u + BRKPB_p_p_pp = SVEPropagateBreakFixed | 0x00000010, + BRKPAS_p_p_pp = SVEPropagateBreakFixed | 0x00400000, + BRKPBS_p_p_pp = SVEPropagateBreakFixed | 0x00400010 }; enum SVEPropagateBreakToNextPartitionOp : uint32_t { - SVEPropagateBreakToNextPartitionFixed = 0x25184000u, - SVEPropagateBreakToNextPartitionFMask = 0xFFBFC210u, - SVEPropagateBreakToNextPartitionMask = 0xFFFFC210u, + SVEPropagateBreakToNextPartitionFixed = 0x25184000, + SVEPropagateBreakToNextPartitionFMask = 0xFFBFC210, + SVEPropagateBreakToNextPartitionMask = 0xFFFFC210, BRKN_p_p_pp = SVEPropagateBreakToNextPartitionFixed, - BRKNS_p_p_pp = SVEPropagateBreakToNextPartitionFixed | 0x00400000u + BRKNS_p_p_pp = SVEPropagateBreakToNextPartitionFixed | 0x00400000 }; enum SVEReversePredicateElementsOp : uint32_t { - SVEReversePredicateElementsFixed = 0x05344000u, - SVEReversePredicateElementsFMask = 0xFF3FFE10u, - SVEReversePredicateElementsMask = 0xFF3FFE10u, + SVEReversePredicateElementsFixed = 0x05344000, + SVEReversePredicateElementsFMask = 0xFF3FFE10, + SVEReversePredicateElementsMask = 0xFF3FFE10, REV_p_p = SVEReversePredicateElementsFixed }; enum SVEReverseVectorElementsOp : uint32_t { - SVEReverseVectorElementsFixed = 0x05383800u, - SVEReverseVectorElementsFMask = 0xFF3FFC00u, - SVEReverseVectorElementsMask = 0xFF3FFC00u, + SVEReverseVectorElementsFixed = 0x05383800, + SVEReverseVectorElementsFMask = 0xFF3FFC00, + SVEReverseVectorElementsMask = 0xFF3FFC00, REV_z_z = SVEReverseVectorElementsFixed }; enum SVEReverseWithinElementsOp : uint32_t { - SVEReverseWithinElementsFixed = 0x05248000u, - SVEReverseWithinElementsFMask = 0xFF3CE000u, - SVEReverseWithinElementsMask = 0xFF3FE000u, + SVEReverseWithinElementsFixed = 0x05248000, + SVEReverseWithinElementsFMask = 0xFF3CE000, + SVEReverseWithinElementsMask = 0xFF3FE000, REVB_z_z = SVEReverseWithinElementsFixed, - REVH_z_z = SVEReverseWithinElementsFixed | 0x00010000u, - REVW_z_z = SVEReverseWithinElementsFixed | 0x00020000u, - RBIT_z_p_z = SVEReverseWithinElementsFixed | 0x00030000u + REVH_z_z = SVEReverseWithinElementsFixed | 0x00010000, + REVW_z_z = SVEReverseWithinElementsFixed | 0x00020000, + RBIT_z_p_z = SVEReverseWithinElementsFixed | 0x00030000 }; enum SVESaturatingIncDecRegisterByElementCountOp : uint32_t { - SVESaturatingIncDecRegisterByElementCountFixed = 0x0420F000u, - SVESaturatingIncDecRegisterByElementCountFMask = 0xFF20F000u, - SVESaturatingIncDecRegisterByElementCountMask = 0xFFF0FC00u, + SVESaturatingIncDecRegisterByElementCountFixed = 0x0420F000, + SVESaturatingIncDecRegisterByElementCountFMask = 0xFF20F000, + SVESaturatingIncDecRegisterByElementCountMask = 0xFFF0FC00, SQINCB_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed, - UQINCB_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00000400u, - SQDECB_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00000800u, - UQDECB_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00000C00u, - SQINCB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100000u, - UQINCB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100400u, - SQDECB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100800u, - UQDECB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100C00u, - SQINCH_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400000u, - UQINCH_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400400u, - SQDECH_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400800u, - UQDECH_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400C00u, - SQINCH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500000u, - UQINCH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500400u, - SQDECH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500800u, - UQDECH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500C00u, - SQINCW_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800000u, - UQINCW_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800400u, - SQDECW_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800800u, - UQDECW_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800C00u, - SQINCW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900000u, - UQINCW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900400u, - SQDECW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900800u, - UQDECW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900C00u, - SQINCD_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00000u, - UQINCD_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00400u, - SQDECD_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00800u, - UQDECD_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00C00u, - SQINCD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00000u, - UQINCD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00400u, - SQDECD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00800u, - UQDECD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00C00u + UQINCB_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00000400, + SQDECB_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00000800, + UQDECB_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00000C00, + SQINCB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100000, + UQINCB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100400, + SQDECB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100800, + UQDECB_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00100C00, + SQINCH_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400000, + UQINCH_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400400, + SQDECH_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400800, + UQDECH_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00400C00, + SQINCH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500000, + UQINCH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500400, + SQDECH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500800, + UQDECH_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00500C00, + SQINCW_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800000, + UQINCW_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800400, + SQDECW_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800800, + UQDECW_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00800C00, + SQINCW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900000, + UQINCW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900400, + SQDECW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900800, + UQDECW_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00900C00, + SQINCD_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00000, + UQINCD_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00400, + SQDECD_r_rs_sx = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00800, + UQDECD_r_rs_uw = SVESaturatingIncDecRegisterByElementCountFixed | 0x00C00C00, + SQINCD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00000, + UQINCD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00400, + SQDECD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00800, + UQDECD_r_rs_x = SVESaturatingIncDecRegisterByElementCountFixed | 0x00D00C00 }; enum SVESaturatingIncDecVectorByElementCountOp : uint32_t { - SVESaturatingIncDecVectorByElementCountFixed = 0x0420C000u, - SVESaturatingIncDecVectorByElementCountFMask = 0xFF30F000u, - SVESaturatingIncDecVectorByElementCountMask = 0xFFF0FC00u, - SQINCH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400000u, - UQINCH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400400u, - SQDECH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400800u, - UQDECH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400C00u, - SQINCW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800000u, - UQINCW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800400u, - SQDECW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800800u, - UQDECW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800C00u, - SQINCD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00000u, - UQINCD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00400u, - SQDECD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00800u, - UQDECD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00C00u -}; - -enum SVEStackFrameAdjustmentOp { - SVEStackFrameAdjustmentFixed = 0x04205000u, - SVEStackFrameAdjustmentFMask = 0xFFA0F800u, - SVEStackFrameAdjustmentMask = 0xFFE0F800u, + SVESaturatingIncDecVectorByElementCountFixed = 0x0420C000, + SVESaturatingIncDecVectorByElementCountFMask = 0xFF30F000, + SVESaturatingIncDecVectorByElementCountMask = 0xFFF0FC00, + SQINCH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400000, + UQINCH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400400, + SQDECH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400800, + UQDECH_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00400C00, + SQINCW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800000, + UQINCW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800400, + SQDECW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800800, + UQDECW_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00800C00, + SQINCD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00000, + UQINCD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00400, + SQDECD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00800, + UQDECD_z_zs = SVESaturatingIncDecVectorByElementCountFixed | 0x00C00C00 +}; + +enum SVEStackFrameAdjustmentOp : uint32_t { + SVEStackFrameAdjustmentFixed = 0x04205000, + SVEStackFrameAdjustmentFMask = 0xFFA0F800, + SVEStackFrameAdjustmentMask = 0xFFE0F800, ADDVL_r_ri = SVEStackFrameAdjustmentFixed, - ADDPL_r_ri = SVEStackFrameAdjustmentFixed | 0x00400000u + ADDPL_r_ri = SVEStackFrameAdjustmentFixed | 0x00400000 }; enum SVEStackFrameSizeOp : uint32_t { - SVEStackFrameSizeFixed = 0x04BF5000u, - SVEStackFrameSizeFMask = 0xFFFFF800u, - SVEStackFrameSizeMask = 0xFFFFF800u, + SVEStackFrameSizeFixed = 0x04BF5000, + SVEStackFrameSizeFMask = 0xFFFFF800, + SVEStackFrameSizeMask = 0xFFFFF800, RDVL_r_i = SVEStackFrameSizeFixed }; enum SVEStoreMultipleStructures_ScalarPlusImmOp : uint32_t { - SVEStoreMultipleStructures_ScalarPlusImmFixed = 0xE410E000u, - SVEStoreMultipleStructures_ScalarPlusImmFMask = 0xFE10E000u, - SVEStoreMultipleStructures_ScalarPlusImmMask = 0xFFF0E000u, - ST2B_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00200000u, - ST3B_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00400000u, - ST4B_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00600000u, - ST2H_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00A00000u, - ST3H_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00C00000u, - ST4H_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00E00000u, - ST2W_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01200000u, - ST3W_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01400000u, - ST4W_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01600000u, - ST2D_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01A00000u, - ST3D_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01C00000u, - ST4D_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01E00000u + SVEStoreMultipleStructures_ScalarPlusImmFixed = 0xE410E000, + SVEStoreMultipleStructures_ScalarPlusImmFMask = 0xFE10E000, + SVEStoreMultipleStructures_ScalarPlusImmMask = 0xFFF0E000, + ST2B_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00200000, + ST3B_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00400000, + ST4B_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00600000, + ST2H_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00A00000, + ST3H_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00C00000, + ST4H_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x00E00000, + ST2W_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01200000, + ST3W_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01400000, + ST4W_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01600000, + ST2D_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01A00000, + ST3D_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01C00000, + ST4D_z_p_bi_contiguous = SVEStoreMultipleStructures_ScalarPlusImmFixed | 0x01E00000 }; enum SVEStoreMultipleStructures_ScalarPlusScalarOp : uint32_t { - SVEStoreMultipleStructures_ScalarPlusScalarFixed = 0xE4006000u, - SVEStoreMultipleStructures_ScalarPlusScalarFMask = 0xFE00E000u, - SVEStoreMultipleStructures_ScalarPlusScalarMask = 0xFFE0E000u, - ST2B_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00200000u, - ST3B_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00400000u, - ST4B_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00600000u, - ST2H_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00A00000u, - ST3H_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00C00000u, - ST4H_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00E00000u, - ST2W_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01200000u, - ST3W_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01400000u, - ST4W_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01600000u, - ST2D_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01A00000u, - ST3D_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01C00000u, - ST4D_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01E00000u + SVEStoreMultipleStructures_ScalarPlusScalarFixed = 0xE4006000, + SVEStoreMultipleStructures_ScalarPlusScalarFMask = 0xFE00E000, + SVEStoreMultipleStructures_ScalarPlusScalarMask = 0xFFE0E000, + ST2B_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00200000, + ST3B_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00400000, + ST4B_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00600000, + ST2H_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00A00000, + ST3H_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00C00000, + ST4H_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x00E00000, + ST2W_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01200000, + ST3W_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01400000, + ST4W_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01600000, + ST2D_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01A00000, + ST3D_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01C00000, + ST4D_z_p_br_contiguous = SVEStoreMultipleStructures_ScalarPlusScalarFixed | 0x01E00000 }; enum SVEStorePredicateRegisterOp : uint32_t { - SVEStorePredicateRegisterFixed = 0xE5800000u, - SVEStorePredicateRegisterFMask = 0xFFC0E010u, - SVEStorePredicateRegisterMask = 0xFFC0E010u, + SVEStorePredicateRegisterFixed = 0xE5800000, + SVEStorePredicateRegisterFMask = 0xFFC0E010, + SVEStorePredicateRegisterMask = 0xFFC0E010, STR_p_bi = SVEStorePredicateRegisterFixed }; enum SVEStoreVectorRegisterOp : uint32_t { - SVEStoreVectorRegisterFixed = 0xE5804000u, - SVEStoreVectorRegisterFMask = 0xFFC0E000u, - SVEStoreVectorRegisterMask = 0xFFC0E000u, + SVEStoreVectorRegisterFixed = 0xE5804000, + SVEStoreVectorRegisterFMask = 0xFFC0E000, + SVEStoreVectorRegisterMask = 0xFFC0E000, STR_z_bi = SVEStoreVectorRegisterFixed }; enum SVETableLookupOp : uint32_t { - SVETableLookupFixed = 0x05203000u, - SVETableLookupFMask = 0xFF20FC00u, - SVETableLookupMask = 0xFF20FC00u, + SVETableLookupFixed = 0x05203000, + SVETableLookupFMask = 0xFF20FC00, + SVETableLookupMask = 0xFF20FC00, TBL_z_zz_1 = SVETableLookupFixed }; enum SVEUnpackPredicateElementsOp : uint32_t { - SVEUnpackPredicateElementsFixed = 0x05304000u, - SVEUnpackPredicateElementsFMask = 0xFFFEFE10u, - SVEUnpackPredicateElementsMask = 0xFFFFFE10u, + SVEUnpackPredicateElementsFixed = 0x05304000, + SVEUnpackPredicateElementsFMask = 0xFFFEFE10, + SVEUnpackPredicateElementsMask = 0xFFFFFE10, PUNPKLO_p_p = SVEUnpackPredicateElementsFixed, - PUNPKHI_p_p = SVEUnpackPredicateElementsFixed | 0x00010000u + PUNPKHI_p_p = SVEUnpackPredicateElementsFixed | 0x00010000 }; enum SVEUnpackVectorElementsOp : uint32_t { - SVEUnpackVectorElementsFixed = 0x05303800u, - SVEUnpackVectorElementsFMask = 0xFF3CFC00u, - SVEUnpackVectorElementsMask = 0xFF3FFC00u, + SVEUnpackVectorElementsFixed = 0x05303800, + SVEUnpackVectorElementsFMask = 0xFF3CFC00, + SVEUnpackVectorElementsMask = 0xFF3FFC00, SUNPKLO_z_z = SVEUnpackVectorElementsFixed, - SUNPKHI_z_z = SVEUnpackVectorElementsFixed | 0x00010000u, - UUNPKLO_z_z = SVEUnpackVectorElementsFixed | 0x00020000u, - UUNPKHI_z_z = SVEUnpackVectorElementsFixed | 0x00030000u + SUNPKHI_z_z = SVEUnpackVectorElementsFixed | 0x00010000, + UUNPKLO_z_z = SVEUnpackVectorElementsFixed | 0x00020000, + UUNPKHI_z_z = SVEUnpackVectorElementsFixed | 0x00030000 }; enum SVEVectorSelectOp : uint32_t { - SVEVectorSelectFixed = 0x0520C000u, - SVEVectorSelectFMask = 0xFF20C000u, - SVEVectorSelectMask = 0xFF20C000u, + SVEVectorSelectFixed = 0x0520C000, + SVEVectorSelectFMask = 0xFF20C000, + SVEVectorSelectMask = 0xFF20C000, SEL_z_p_zz = SVEVectorSelectFixed }; enum SVEVectorSpliceOp : uint32_t { - SVEVectorSpliceFixed = 0x052C8000u, - SVEVectorSpliceFMask = 0xFF3FE000u, - SVEVectorSpliceMask = 0xFF3FE000u, + SVEVectorSpliceFixed = 0x052C8000, + SVEVectorSpliceFMask = 0xFF3FE000, + SVEVectorSpliceMask = 0xFF3FE000, SPLICE_z_p_zz_des = SVEVectorSpliceFixed }; enum ReservedOp : uint32_t { - ReservedFixed = 0x00000000u, - ReservedFMask = 0x1E000000u, - ReservedMask = 0xFFFF0000u, - UDF = ReservedFixed | 0x00000000u + ReservedFixed = 0x00000000, + ReservedFMask = 0x1E000000, + ReservedMask = 0xFFFF0000, + UDF = ReservedFixed | 0x00000000 }; // Unimplemented and unallocated instructions. These are defined to make fixed // bit assertion easier. enum UnimplementedOp : uint32_t { - UnimplementedFixed = 0x00000000u, - UnimplementedFMask = 0x00000000u + UnimplementedFixed = 0x00000000, + UnimplementedFMask = 0x00000000 }; enum UnallocatedOp : uint32_t { - UnallocatedFixed = 0x00000000u, - UnallocatedFMask = 0x00000000u + UnallocatedFixed = 0x00000000, + UnallocatedFMask = 0x00000000 }; // Re-enable `clang-format` after the `enum`s. @@ -4449,8 +4458,4 @@ enum UnallocatedOp : uint32_t { } // namespace aarch64 } // namespace vixl -#ifdef __clang__ -#pragma clang diagnostic pop -#endif - #endif // VIXL_AARCH64_CONSTANTS_AARCH64_H_ diff --git a/3rdparty/vixl/include/vixl/aarch64/cpu-features-auditor-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/cpu-features-auditor-aarch64.h index 0d87cf283c90d..7d5ca2f455387 100644 --- a/3rdparty/vixl/include/vixl/aarch64/cpu-features-auditor-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/cpu-features-auditor-aarch64.h @@ -32,6 +32,7 @@ #include #include "../cpu-features.h" + #include "decoder-aarch64.h" #include "decoder-visitor-map-aarch64.h" @@ -112,6 +113,7 @@ class CPUFeaturesAuditor : public DecoderVisitor { #define DECLARE(A) virtual void Visit##A(const Instruction* instr); VISITOR_LIST(DECLARE) #undef DECLARE + void VisitCryptoSM3(const Instruction* instr); void LoadStoreHelper(const Instruction* instr); void LoadStorePairHelper(const Instruction* instr); @@ -126,6 +128,7 @@ class CPUFeaturesAuditor : public DecoderVisitor { uint32_t, std::function>; static const FormToVisitorFnMap* GetFormToVisitorFnMap(); + uint32_t form_hash_; }; } // namespace aarch64 diff --git a/3rdparty/vixl/include/vixl/aarch64/debugger-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/debugger-aarch64.h new file mode 100644 index 0000000000000..ee5fa24c86d8b --- /dev/null +++ b/3rdparty/vixl/include/vixl/aarch64/debugger-aarch64.h @@ -0,0 +1,276 @@ +// Copyright 2023, VIXL authors +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of ARM Limited nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef VIXL_AARCH64_DEBUGGER_AARCH64_H_ +#define VIXL_AARCH64_DEBUGGER_AARCH64_H_ + +#include +#include +#include + +#include "../cpu-features.h" +#include "../globals-vixl.h" +#include "../utils-vixl.h" + +#include "abi-aarch64.h" +#include "cpu-features-auditor-aarch64.h" +#include "disasm-aarch64.h" +#include "instructions-aarch64.h" +#include "simulator-aarch64.h" +#include "simulator-constants-aarch64.h" + +#ifdef VIXL_INCLUDE_SIMULATOR_AARCH64 + +namespace vixl { +namespace aarch64 { + +class Simulator; + +enum DebugReturn { DebugContinue, DebugExit }; + + +// A debugger command that performs some action when used by the simulator +// debugger. +class DebuggerCmd { + public: + DebuggerCmd(Simulator* sim, + std::string cmd_word, + std::string cmd_alias, + std::string usage, + std::string description); + virtual ~DebuggerCmd() {} + + // Perform some action based on the arguments passed in. Returns true if the + // debugger should exit after the action, false otherwise. + virtual DebugReturn Action(const std::vector& args) = 0; + + // Return the command word. + std::string_view GetCommandWord() { return command_word_; } + // Return the alias for this command. Returns an empty string if this command + // has no alias. + std::string_view GetCommandAlias() { return command_alias_; } + // Return this commands usage. + std::string_view GetArgsString() { return args_str_; } + // Return this commands description. + std::string_view GetDescription() { return description_; } + + protected: + // Simulator which this command will be performed on. + Simulator* sim_; + // Stream to output the result of the command to. + FILE* ostream_; + // Command word that, when given to the interactive debugger, calls Action. + std::string command_word_; + // Optional alias for the command_word. + std::string command_alias_; + // Optional string showing the arguments that can be passed to the command. + std::string args_str_; + // Optional description of the command. + std::string description_; +}; + + +// +// Base debugger command handlers: +// + + +class HelpCmd : public DebuggerCmd { + public: + HelpCmd(Simulator* sim) + : DebuggerCmd(sim, "help", "h", "", "Display this help message.") {} + + DebugReturn Action(const std::vector& args) override; +}; + + +class BreakCmd : public DebuggerCmd { + public: + BreakCmd(Simulator* sim) + : DebuggerCmd(sim, + "break", + "b", + "
", + "Set or remove a breakpoint.") {} + + DebugReturn Action(const std::vector& args) override; +}; + + +class StepCmd : public DebuggerCmd { + public: + StepCmd(Simulator* sim) + : DebuggerCmd(sim, + "step", + "s", + "[]", + "Step n instructions, default step 1 instruction.") {} + + DebugReturn Action(const std::vector& args) override; +}; + + +class ContinueCmd : public DebuggerCmd { + public: + ContinueCmd(Simulator* sim) + : DebuggerCmd(sim, + "continue", + "c", + "", + "Exit the debugger and continue executing instructions.") {} + + DebugReturn Action(const std::vector& args) override; +}; + + +class PrintCmd : public DebuggerCmd { + public: + PrintCmd(Simulator* sim) + : DebuggerCmd(sim, + "print", + "p", + "", + "Print the contents of a register, all registers or all" + " system registers.") {} + + DebugReturn Action(const std::vector& args) override; +}; + + +class TraceCmd : public DebuggerCmd { + public: + TraceCmd(Simulator* sim) + : DebuggerCmd(sim, + "trace", + "t", + "", + "Start/stop memory and register tracing.") {} + + DebugReturn Action(const std::vector& args) override; +}; + + +class GdbCmd : public DebuggerCmd { + public: + GdbCmd(Simulator* sim) + : DebuggerCmd(sim, + "gdb", + "g", + "", + "Enter an already running instance of gdb.") {} + + DebugReturn Action(const std::vector& args) override; +}; + + +// A debugger for the Simulator which takes input from the user in order to +// control the running of the Simulator. +class Debugger { + public: + // A pair consisting of a register character (e.g: W, X, V) and a register + // code (e.g: 0, 1 ...31) which represents a single parsed register. + // + // Note: the register character is guaranteed to be upper case. + using RegisterParsedFormat = std::pair; + + Debugger(Simulator* sim); + + // Set the input stream, from which commands are read, to a custom stream. + void SetInputStream(std::istream* stream) { input_stream_ = stream; } + + // Register a new command for the debugger. + template + void RegisterCmd(); + + // Set a breakpoint at the given address. + void RegisterBreakpoint(uint64_t addr) { breakpoints_.insert(addr); } + // Remove a breakpoint at the given address. + void RemoveBreakpoint(uint64_t addr) { breakpoints_.erase(addr); } + // Return true if the address is the location of a breakpoint. + bool IsBreakpoint(uint64_t addr) const { + return (breakpoints_.find(addr) != breakpoints_.end()); + } + // Return true if the simulator pc is a breakpoint. + bool IsAtBreakpoint() const; + + // Main loop for the debugger. Keep prompting for user inputted debugger + // commands and try to execute them until a command is given that exits the + // interactive debugger. + void Debug(); + + // Get an unsigned integer value from a string and return it in 'value'. + // Base is used to determine the numeric base of the number to be read, + // i.e: 8 for octal, 10 for decimal, 16 for hexadecimal and 0 for + // auto-detect. Return true if an integer value was found, false otherwise. + static std::optional ParseUint64String(std::string_view uint64_str, + int base = 0); + + // Get a register from a string and return it in 'reg'. Return true if a + // valid register character and code (e.g: W0, X29, V31) was found, false + // otherwise. + static std::optional ParseRegString( + std::string_view reg_str); + + // Print the usage of each debugger command. + void PrintUsage(); + + private: + // Split a string based on the separator given (a single space character by + // default) and return as a std::vector of strings. + static std::vector Tokenize(std::string_view input_line, + char separator = ' '); + + // Try to execute a single debugger command. + DebugReturn ExecDebugCommand(const std::vector& tokenized_cmd); + + // Return true if the string is zero, i.e: all characters in the string + // (other than prefixes) are zero. + static bool IsZeroUint64String(std::string_view uint64_str, int base); + + // The simulator that this debugger acts on. + Simulator* sim_; + + // A vector of all commands recognised by the debugger. + std::vector> debugger_cmds_; + + // Input stream from which commands are read. Default is std::cin. + std::istream* input_stream_; + + // Output stream from the simulator. + FILE* ostream_; + + // A list of all instruction addresses that, when executed by the + // simulator, will start the interactive debugger if it hasn't already. + std::unordered_set breakpoints_; +}; + + +} // namespace aarch64 +} // namespace vixl + +#endif // VIXL_INCLUDE_SIMULATOR_AARCH64 + +#endif // VIXL_AARCH64_DEBUGGER_AARCH64_H_ diff --git a/3rdparty/vixl/include/vixl/aarch64/decoder-constants-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/decoder-constants-aarch64.h index 70e01a103fe01..af50a5527056e 100644 --- a/3rdparty/vixl/include/vixl/aarch64/decoder-constants-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/decoder-constants-aarch64.h @@ -3764,7 +3764,7 @@ static const DecodeMapping kDecodeMapping[] = { {"001110"_b, "autiaz_hi_hints"}, {"001111"_b, "autibz_hi_hints"}, {"0100xx"_b, "bti_hb_hints"}, - {"010100"_b, "chkfeat_hi_hints"}, + {"010100"_b, "chkfeat_hf_hints"}, {"0101x1"_b, "hint_hm_hints"}, {"01x110"_b, "hint_hm_hints"}, {"10xxxx"_b, "hint_hm_hints"}, diff --git a/3rdparty/vixl/include/vixl/aarch64/decoder-visitor-map-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/decoder-visitor-map-aarch64.h index 8ae438c1040ff..b4b39f559a9ff 100644 --- a/3rdparty/vixl/include/vixl/aarch64/decoder-visitor-map-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/decoder-visitor-map-aarch64.h @@ -2074,7 +2074,6 @@ {"scvtf_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \ {"ucvtf_asimdmiscfp16_r"_h, &VISITORCLASS::VisitNEON2RegMiscFP16}, \ {"addhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different}, \ - {"pmull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \ {"raddhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different}, \ {"rsubhn_asimddiff_n"_h, &VISITORCLASS::VisitNEON3Different}, \ {"sabal_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \ @@ -2592,6 +2591,7 @@ {"dmb_bo_barriers"_h, &VISITORCLASS::VisitSystem}, \ {"dsb_bo_barriers"_h, &VISITORCLASS::VisitSystem}, \ {"hint_hm_hints"_h, &VISITORCLASS::VisitSystem}, \ + {"chkfeat_hf_hints"_h, &VISITORCLASS::VisitSystem}, \ {"mrs_rs_systemmove"_h, &VISITORCLASS::VisitSystem}, \ {"msr_sr_systemmove"_h, &VISITORCLASS::VisitSystem}, \ {"psb_hc_hints"_h, &VISITORCLASS::VisitSystem}, \ @@ -2638,7 +2638,6 @@ &VISITORCLASS::VisitUnconditionalBranchToRegister}, \ {"ret_64r_branch_reg"_h, \ &VISITORCLASS::VisitUnconditionalBranchToRegister}, \ - {"bcax_vvv16_crypto4"_h, &VISITORCLASS::VisitUnimplemented}, \ {"bfcvtn_asimdmisc_4s"_h, &VISITORCLASS::VisitUnimplemented}, \ {"bfdot_asimdelem_e"_h, &VISITORCLASS::VisitUnimplemented}, \ {"bfdot_asimdsame2_d"_h, &VISITORCLASS::VisitUnimplemented}, \ @@ -2646,7 +2645,6 @@ {"bfmlal_asimdsame2_f"_h, &VISITORCLASS::VisitUnimplemented}, \ {"bfmmla_asimdsame2_e"_h, &VISITORCLASS::VisitUnimplemented}, \ {"dsb_bon_barriers"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"eor3_vvv16_crypto4"_h, &VISITORCLASS::VisitUnimplemented}, \ {"ld64b_64l_memop"_h, &VISITORCLASS::VisitUnimplemented}, \ {"ldgm_64bulk_ldsttags"_h, &VISITORCLASS::VisitUnimplemented}, \ {"ldtrb_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \ @@ -2658,18 +2656,13 @@ {"ldtrsw_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \ {"ldtr_32_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \ {"ldtr_64_ldst_unpriv"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"rax1_vvv2_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sha512h2_qqv_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sha512h_qqv_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sha512su0_vv2_cryptosha512_2"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sha512su1_vvv2_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sm3partw1_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sm3partw2_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sm3ss1_vvv4_crypto4"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sm3tt1a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sm3tt1b_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sm3tt2a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"sm3tt2b_vvv_crypto3_imm2"_h, &VISITORCLASS::VisitUnimplemented}, \ + {"sm3partw1_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitCryptoSM3}, \ + {"sm3partw2_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitCryptoSM3}, \ + {"sm3ss1_vvv4_crypto4"_h, &VISITORCLASS::VisitCryptoSM3}, \ + {"sm3tt1a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitCryptoSM3}, \ + {"sm3tt1b_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitCryptoSM3}, \ + {"sm3tt2a_vvv4_crypto3_imm2"_h, &VISITORCLASS::VisitCryptoSM3}, \ + {"sm3tt2b_vvv_crypto3_imm2"_h, &VISITORCLASS::VisitCryptoSM3}, \ {"sm4ekey_vvv4_cryptosha512_3"_h, &VISITORCLASS::VisitUnimplemented}, \ {"sm4e_vv4_cryptosha512_2"_h, &VISITORCLASS::VisitUnimplemented}, \ {"st64b_64l_memop"_h, &VISITORCLASS::VisitUnimplemented}, \ @@ -2686,7 +2679,6 @@ {"ttest_br_systemresult"_h, &VISITORCLASS::VisitUnimplemented}, \ {"wfet_only_systeminstrswithreg"_h, &VISITORCLASS::VisitUnimplemented}, \ {"wfit_only_systeminstrswithreg"_h, &VISITORCLASS::VisitUnimplemented}, \ - {"xar_vvv2_crypto3_imm6"_h, &VISITORCLASS::VisitUnimplemented}, \ {"bfcvt_z_p_z_s2bf"_h, &VISITORCLASS::VisitUnimplemented}, \ {"bfcvtnt_z_p_z_s2bf"_h, &VISITORCLASS::VisitUnimplemented}, \ {"bfdot_z_zzz"_h, &VISITORCLASS::VisitUnimplemented}, \ @@ -2827,6 +2819,7 @@ {"fmlal_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same}, \ {"fmlsl2_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same}, \ {"fmlsl_asimdsame_f"_h, &VISITORCLASS::VisitNEON3Same}, \ + {"pmull_asimddiff_l"_h, &VISITORCLASS::VisitNEON3Different}, \ {"ushll_asimdshf_l"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \ {"sshll_asimdshf_l"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \ {"shrn_asimdshf_n"_h, &VISITORCLASS::VisitNEONShiftImmediate}, \ diff --git a/3rdparty/vixl/include/vixl/aarch64/disasm-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/disasm-aarch64.h index cc941bb19ebda..b139c4c24ce3b 100644 --- a/3rdparty/vixl/include/vixl/aarch64/disasm-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/disasm-aarch64.h @@ -228,6 +228,11 @@ class Disassembler : public DecoderVisitor { void DisassembleNEONScalarShiftRightNarrowImm(const Instruction* instr); void DisassembleNEONScalar2RegMiscOnlyD(const Instruction* instr); void DisassembleNEONFPScalar2RegMisc(const Instruction* instr); + void DisassembleNEONPolynomialMul(const Instruction* instr); + void DisassembleNEON4Same(const Instruction* instr); + void DisassembleNEONXar(const Instruction* instr); + void DisassembleNEONRax1(const Instruction* instr); + void DisassembleSHA512(const Instruction* instr); void DisassembleMTELoadTag(const Instruction* instr); void DisassembleMTEStoreTag(const Instruction* instr); @@ -238,6 +243,8 @@ class Disassembler : public DecoderVisitor { void Disassemble_Xd_XnSP_Xm(const Instruction* instr); void Disassemble_Xd_XnSP_XmSP(const Instruction* instr); + void VisitCryptoSM3(const Instruction* instr); + void Format(const Instruction* instr, const char* mnemonic, const char* format0, diff --git a/3rdparty/vixl/include/vixl/aarch64/instructions-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/instructions-aarch64.h index 0834a039b5ee2..ce08ea3bd8b9b 100644 --- a/3rdparty/vixl/include/vixl/aarch64/instructions-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/instructions-aarch64.h @@ -32,11 +32,6 @@ #include "constants-aarch64.h" -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-enum-enum-conversion" -#endif - namespace vixl { namespace aarch64 { // ISA constants. -------------------------------------------------------------- @@ -152,19 +147,19 @@ const unsigned kMTETagWidth = 4; // Make these moved float constants backwards compatible // with explicit vixl::aarch64:: namespace references. -using vixl::kDoubleMantissaBits; using vixl::kDoubleExponentBits; -using vixl::kFloatMantissaBits; -using vixl::kFloatExponentBits; -using vixl::kFloat16MantissaBits; +using vixl::kDoubleMantissaBits; using vixl::kFloat16ExponentBits; +using vixl::kFloat16MantissaBits; +using vixl::kFloatExponentBits; +using vixl::kFloatMantissaBits; -using vixl::kFP16PositiveInfinity; using vixl::kFP16NegativeInfinity; -using vixl::kFP32PositiveInfinity; +using vixl::kFP16PositiveInfinity; using vixl::kFP32NegativeInfinity; -using vixl::kFP64PositiveInfinity; +using vixl::kFP32PositiveInfinity; using vixl::kFP64NegativeInfinity; +using vixl::kFP64PositiveInfinity; using vixl::kFP16DefaultNaN; using vixl::kFP32DefaultNaN; @@ -222,9 +217,10 @@ enum VectorFormat { kFormatVnQ = kFormatSVEQ | kFormatSVE, kFormatVnO = kFormatSVEO | kFormatSVE, - // An artificial value, used by simulator trace tests and a few oddball + // Artificial values, used by simulator trace tests and a few oddball // instructions (such as FMLAL). - kFormat2H = 0xfffffffe + kFormat2H = 0xfffffffe, + kFormat1Q = 0xfffffffd }; // Instructions. --------------------------------------------------------------- @@ -1141,8 +1137,4 @@ class NEONFormatDecoder { } // namespace aarch64 } // namespace vixl -#ifdef __clang__ -#pragma clang diagnostic pop -#endif - #endif // VIXL_AARCH64_INSTRUCTIONS_AARCH64_H_ diff --git a/3rdparty/vixl/include/vixl/aarch64/macro-assembler-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/macro-assembler-aarch64.h index 2219bb8a1e42b..b74be350ff027 100644 --- a/3rdparty/vixl/include/vixl/aarch64/macro-assembler-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/macro-assembler-aarch64.h @@ -664,6 +664,10 @@ enum FPMacroNaNPropagationOption { class MacroAssembler : public Assembler, public MacroAssemblerInterface { public: + explicit MacroAssembler( + PositionIndependentCodeOption pic = PositionIndependentCode); + MacroAssembler(size_t capacity, + PositionIndependentCodeOption pic = PositionIndependentCode); MacroAssembler(byte* buffer, size_t capacity, PositionIndependentCodeOption pic = PositionIndependentCode); @@ -1750,7 +1754,7 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(casah, Casah) \ V(caslh, Caslh) \ V(casalh, Casalh) -// clang-format on + // clang-format on #define DEFINE_MACRO_ASM_FUNC(ASM, MASM) \ void MASM(const Register& rs, const Register& rt, const MemOperand& src) { \ @@ -1768,7 +1772,7 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(caspa, Caspa) \ V(caspl, Caspl) \ V(caspal, Caspal) -// clang-format on + // clang-format on #define DEFINE_MACRO_ASM_FUNC(ASM, MASM) \ void MASM(const Register& rs, \ @@ -1813,7 +1817,7 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(MASM##alb, ASM##alb) \ V(MASM##ah, ASM##ah) \ V(MASM##alh, ASM##alh) -// clang-format on + // clang-format on #define DEFINE_MACRO_LOAD_ASM_FUNC(MASM, ASM) \ void MASM(const Register& rs, const Register& rt, const MemOperand& src) { \ @@ -2713,6 +2717,27 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { subps(xd, xn, xm); } void Cmpp(const Register& xn, const Register& xm) { Subps(xzr, xn, xm); } + void Chkfeat(const Register& xdn); + void Gcspushm(const Register& rt) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + gcspushm(rt); + } + void Gcspopm(const Register& rt = xzr) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + gcspopm(rt); + } + void Gcsss1(const Register& rt) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + gcsss1(rt); + } + void Gcsss2(const Register& rt) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + gcsss2(rt); + } // NEON 3 vector register instructions. #define NEON_3VREG_MACRO_LIST(V) \ @@ -2762,6 +2787,7 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(pmull2, Pmull2) \ V(raddhn, Raddhn) \ V(raddhn2, Raddhn2) \ + V(rax1, Rax1) \ V(rsubhn, Rsubhn) \ V(rsubhn2, Rsubhn2) \ V(saba, Saba) \ @@ -2774,8 +2800,20 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(saddl2, Saddl2) \ V(saddw, Saddw) \ V(saddw2, Saddw2) \ + V(sha1c, Sha1c) \ + V(sha1m, Sha1m) \ + V(sha1p, Sha1p) \ + V(sha1su0, Sha1su0) \ + V(sha256h, Sha256h) \ + V(sha256h2, Sha256h2) \ + V(sha256su1, Sha256su1) \ + V(sha512h, Sha512h) \ + V(sha512h2, Sha512h2) \ + V(sha512su1, Sha512su1) \ V(shadd, Shadd) \ V(shsub, Shsub) \ + V(sm3partw1, Sm3partw1) \ + V(sm3partw2, Sm3partw2) \ V(smax, Smax) \ V(smaxp, Smaxp) \ V(smin, Smin) \ @@ -2870,6 +2908,10 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(abs, Abs) \ V(addp, Addp) \ V(addv, Addv) \ + V(aesd, Aesd) \ + V(aese, Aese) \ + V(aesimc, Aesimc) \ + V(aesmc, Aesmc) \ V(cls, Cls) \ V(clz, Clz) \ V(cnt, Cnt) \ @@ -2918,6 +2960,10 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(sadalp, Sadalp) \ V(saddlp, Saddlp) \ V(saddlv, Saddlv) \ + V(sha1h, Sha1h) \ + V(sha1su1, Sha1su1) \ + V(sha256su0, Sha256su0) \ + V(sha512su0, Sha512su0) \ V(smaxv, Smaxv) \ V(sminv, Sminv) \ V(sqabs, Sqabs) \ @@ -3008,7 +3054,11 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { V(umlsl, Umlsl) \ V(umlsl2, Umlsl2) \ V(sudot, Sudot) \ - V(usdot, Usdot) + V(usdot, Usdot) \ + V(sm3tt1a, Sm3tt1a) \ + V(sm3tt1b, Sm3tt1b) \ + V(sm3tt2a, Sm3tt2a) \ + V(sm3tt2b, Sm3tt2b) #define DEFINE_MACRO_ASM_FUNC(ASM, MASM) \ @@ -3127,6 +3177,14 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { SVE_3VREG_COMMUTATIVE_MACRO_LIST(DEFINE_MACRO_ASM_FUNC) #undef DEFINE_MACRO_ASM_FUNC + void Bcax(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + const VRegister& va) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + bcax(vd, vn, vm, va); + } void Bic(const VRegister& vd, const int imm8, const int left_shift = 0) { VIXL_ASSERT(allow_macro_instructions_); SingleEmissionCheckScope guard(this); @@ -3167,6 +3225,14 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { SingleEmissionCheckScope guard(this); dup(vd, rn); } + void Eor3(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + const VRegister& va) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + eor3(vd, vn, vm, va); + } void Ext(const VRegister& vd, const VRegister& vn, const VRegister& vm, @@ -3463,6 +3529,14 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { SingleEmissionCheckScope guard(this); st4(vt, vt2, vt3, vt4, lane, dst); } + void Sm3ss1(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + const VRegister& va) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + sm3ss1(vd, vn, vm, va); + } void Smov(const Register& rd, const VRegister& vn, int vn_index) { VIXL_ASSERT(allow_macro_instructions_); SingleEmissionCheckScope guard(this); @@ -3473,6 +3547,14 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { SingleEmissionCheckScope guard(this); umov(rd, vn, vn_index); } + void Xar(const VRegister& vd, + const VRegister& vn, + const VRegister& vm, + int rotate) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + xar(vd, vn, vm, rotate); + } void Crc32b(const Register& rd, const Register& rn, const Register& rm) { VIXL_ASSERT(allow_macro_instructions_); SingleEmissionCheckScope guard(this); @@ -8580,6 +8662,16 @@ class UseScratchRegisterScope { return AcquireFrom(available, kGoverningPRegisterMask).P(); } + // TODO: extend to other scratch register lists. + bool TryAcquire(const Register& required_reg) { + CPURegList* list = masm_->GetScratchRegisterList(); + if (list->IncludesAliasOf(required_reg)) { + list->Remove(required_reg); + return true; + } + return false; + } + Register AcquireRegisterOfSize(int size_in_bits); Register AcquireSameSizeAs(const Register& reg) { return AcquireRegisterOfSize(reg.GetSizeInBits()); diff --git a/3rdparty/vixl/include/vixl/aarch64/operands-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/operands-aarch64.h index ba3df18133436..5469542207d2f 100644 --- a/3rdparty/vixl/include/vixl/aarch64/operands-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/operands-aarch64.h @@ -735,7 +735,7 @@ class SVEMemOperand { class IntegerOperand { public: #define VIXL_INT_TYPES(V) \ - V(char) V(short) V(int) V(long) V(long long) // NOLINT(runtime/int) + V(char) V(short) V(int) V(long) V(long long) // NOLINT(google-runtime-int) #define VIXL_DECL_INT_OVERLOADS(T) \ /* These are allowed to be implicit constructors because this is a */ \ /* wrapper class that doesn't normally perform any type conversion. */ \ @@ -993,7 +993,7 @@ class GenericOperand { // We only support sizes up to X/D register sizes. size_t mem_op_size_; }; -} -} // namespace vixl::aarch64 +} // namespace aarch64 +} // namespace vixl #endif // VIXL_AARCH64_OPERANDS_AARCH64_H_ diff --git a/3rdparty/vixl/include/vixl/aarch64/registers-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/registers-aarch64.h index f9a6d897f56ac..53bbe132f78b8 100644 --- a/3rdparty/vixl/include/vixl/aarch64/registers-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/registers-aarch64.h @@ -575,6 +575,7 @@ class VRegister : public CPURegister { VRegister V4S() const; VRegister V1D() const; VRegister V2D() const; + VRegister V1Q() const; VRegister S4B() const; bool IsValid() const { return IsValidVRegister(); } @@ -895,7 +896,7 @@ bool AreSameLaneSize(const CPURegister& reg1, const CPURegister& reg2, const CPURegister& reg3 = NoCPUReg, const CPURegister& reg4 = NoCPUReg); -} -} // namespace vixl::aarch64 +} // namespace aarch64 +} // namespace vixl #endif // VIXL_AARCH64_REGISTERS_AARCH64_H_ diff --git a/3rdparty/vixl/include/vixl/aarch64/simulator-aarch64.h b/3rdparty/vixl/include/vixl/aarch64/simulator-aarch64.h index fc2eedd54fc08..fa530bd42db8a 100644 --- a/3rdparty/vixl/include/vixl/aarch64/simulator-aarch64.h +++ b/3rdparty/vixl/include/vixl/aarch64/simulator-aarch64.h @@ -28,15 +28,18 @@ #define VIXL_AARCH64_SIMULATOR_AARCH64_H_ #include +#include +#include #include #include +#include "../cpu-features.h" #include "../globals-vixl.h" #include "../utils-vixl.h" -#include "../cpu-features.h" #include "abi-aarch64.h" #include "cpu-features-auditor-aarch64.h" +#include "debugger-aarch64.h" #include "disasm-aarch64.h" #include "instructions-aarch64.h" #include "simulator-constants-aarch64.h" @@ -67,6 +70,28 @@ namespace aarch64 { class Simulator; struct RuntimeCallStructHelper; +enum class MemoryAccessResult { Success = 0, Failure = 1 }; + +// Try to access a piece of memory at the given address. Accessing that memory +// might raise a signal which, if handled by a custom signal handler, should +// setup the native and simulated context in order to continue. Return whether +// the memory access failed (i.e: raised a signal) or succeeded. +MemoryAccessResult TryMemoryAccess(uintptr_t address, uintptr_t access_size); + +#ifdef VIXL_ENABLE_IMPLICIT_CHECKS +// Access a byte of memory from the address at the given offset. If the memory +// could be accessed then return MemoryAccessResult::Success. If the memory +// could not be accessed, and therefore raised a signal, setup the simulated +// context and return MemoryAccessResult::Failure. +// +// If a signal is raised then it is expected that the signal handler will place +// MemoryAccessResult::Failure in the native return register and the address of +// _vixl_internal_AccessMemory_continue into the native instruction pointer. +extern "C" MemoryAccessResult _vixl_internal_ReadMemory(uintptr_t address, + uintptr_t offset); +extern "C" uintptr_t _vixl_internal_AccessMemory_continue(); +#endif // VIXL_ENABLE_IMPLICIT_CHECKS + class SimStack { public: SimStack() {} @@ -135,7 +160,7 @@ class SimStack { // Allocate the stack, locking the parameters. Allocated Allocate() { - size_t align_to = 1 << align_log2_; + size_t align_to = uint64_t{1} << align_log2_; size_t l = AlignUp(limit_guard_size_, align_to); size_t u = AlignUp(usable_size_, align_to); size_t b = AlignUp(base_guard_size_, align_to); @@ -365,7 +390,7 @@ class Memory { } template - T Read(A address, Instruction const* pc = nullptr) const { + std::optional Read(A address, Instruction const* pc = nullptr) const { T value; VIXL_STATIC_ASSERT((sizeof(value) == 1) || (sizeof(value) == 2) || (sizeof(value) == 4) || (sizeof(value) == 8) || @@ -377,12 +402,16 @@ class Memory { if (!IsMTETagsMatched(address, pc)) { VIXL_ABORT_WITH_MSG("Tag mismatch."); } + if (TryMemoryAccess(reinterpret_cast(base), sizeof(value)) == + MemoryAccessResult::Failure) { + return std::nullopt; + } memcpy(&value, base, sizeof(value)); return value; } template - void Write(A address, T value, Instruction const* pc = nullptr) const { + bool Write(A address, T value, Instruction const* pc = nullptr) const { VIXL_STATIC_ASSERT((sizeof(value) == 1) || (sizeof(value) == 2) || (sizeof(value) == 4) || (sizeof(value) == 8) || (sizeof(value) == 16)); @@ -393,11 +422,16 @@ class Memory { if (!IsMTETagsMatched(address, pc)) { VIXL_ABORT_WITH_MSG("Tag mismatch."); } + if (TryMemoryAccess(reinterpret_cast(base), sizeof(value)) == + MemoryAccessResult::Failure) { + return false; + } memcpy(base, &value, sizeof(value)); + return true; } template - uint64_t ReadUint(int size_in_bytes, A address) const { + std::optional ReadUint(int size_in_bytes, A address) const { switch (size_in_bytes) { case 1: return Read(address); @@ -413,7 +447,7 @@ class Memory { } template - int64_t ReadInt(int size_in_bytes, A address) const { + std::optional ReadInt(int size_in_bytes, A address) const { switch (size_in_bytes) { case 1: return Read(address); @@ -429,7 +463,7 @@ class Memory { } template - void Write(int size_in_bytes, A address, uint64_t value) const { + bool Write(int size_in_bytes, A address, uint64_t value) const { switch (size_in_bytes) { case 1: return Write(address, static_cast(value)); @@ -441,6 +475,7 @@ class Memory { return Write(address, value); } VIXL_UNREACHABLE(); + return false; } void AppendMetaData(MetaDataDepot* metadata_depot) { @@ -649,7 +684,7 @@ class LogicPRegister { void SetAllBits() { int chunk_size = sizeof(ChunkType) * kBitsPerByte; - ChunkType bits = GetUintMask(chunk_size); + ChunkType bits = static_cast(GetUintMask(chunk_size)); for (int lane = 0; lane < (static_cast(register_.GetSizeInBits() / chunk_size)); lane++) { @@ -702,6 +737,8 @@ class LogicPRegister { SimPRegister& register_; }; +using vixl_uint128_t = std::pair; + // Representation of a vector register, with typed getters and setters for lanes // and additional information to represent lane state. class LogicVRegister { @@ -830,6 +867,17 @@ class LogicVRegister { } } + void SetUint(VectorFormat vform, int index, vixl_uint128_t value) const { + if (LaneSizeInBitsFromFormat(vform) <= 64) { + SetUint(vform, index, value.second); + return; + } + // TODO: Extend this to SVE. + VIXL_ASSERT((vform == kFormat1Q) && (index == 0)); + SetUint(kFormat2D, 0, value.second); + SetUint(kFormat2D, 1, value.first); + } + void SetUintArray(VectorFormat vform, const uint64_t* src) const { ClearForWrite(vform); for (int i = 0; i < LaneCountFromFormat(vform); i++) { @@ -1233,6 +1281,11 @@ class SimExclusiveGlobalMonitor { uint32_t seed_; }; +class Debugger; + +template +uint64_t CryptoOp(uint64_t x, uint64_t y, uint64_t z); + class Simulator : public DecoderVisitor { public: explicit Simulator(Decoder* decoder, @@ -1248,7 +1301,7 @@ class Simulator : public DecoderVisitor { #if defined(VIXL_HAS_ABI_SUPPORT) && __cplusplus >= 201103L && \ - (defined(__clang__) || GCC_VERSION_OR_NEWER(4, 9, 1)) + (defined(_MSC_VER) || defined(__clang__) || GCC_VERSION_OR_NEWER(4, 9, 1)) // Templated `RunFrom` version taking care of passing arguments and returning // the result value. // This allows code like: @@ -1307,6 +1360,8 @@ class Simulator : public DecoderVisitor { static const Instruction* kEndOfSimAddress; // Simulation helpers. + bool IsSimulationFinished() const { return pc_ == kEndOfSimAddress; } + const Instruction* ReadPc() const { return pc_; } VIXL_DEPRECATED("ReadPc", const Instruction* pc() const) { return ReadPc(); } @@ -1456,6 +1511,7 @@ class Simulator : public DecoderVisitor { void SimulateNEONFPMulByElementLong(const Instruction* instr); void SimulateNEONComplexMulByElement(const Instruction* instr); void SimulateNEONDotProdByElement(const Instruction* instr); + void SimulateNEONSHA3(const Instruction* instr); void SimulateMTEAddSubTag(const Instruction* instr); void SimulateMTETagMaskInsert(const Instruction* instr); void SimulateMTESubPointer(const Instruction* instr); @@ -1475,7 +1531,9 @@ class Simulator : public DecoderVisitor { void SimulateSetGM(const Instruction* instr); void SimulateSignedMinMax(const Instruction* instr); void SimulateUnsignedMinMax(const Instruction* instr); + void SimulateSHA512(const Instruction* instr); + void VisitCryptoSM3(const Instruction* instr); // Integer register accessors. @@ -2006,62 +2064,66 @@ class Simulator : public DecoderVisitor { } template - T MemRead(A address) const { + std::optional MemRead(A address) const { Instruction const* pc = ReadPc(); return memory_.Read(address, pc); } template - void MemWrite(A address, T value) const { + bool MemWrite(A address, T value) const { Instruction const* pc = ReadPc(); return memory_.Write(address, value, pc); } template - uint64_t MemReadUint(int size_in_bytes, A address) const { + std::optional MemReadUint(int size_in_bytes, A address) const { return memory_.ReadUint(size_in_bytes, address); } template - int64_t MemReadInt(int size_in_bytes, A address) const { + std::optional MemReadInt(int size_in_bytes, A address) const { return memory_.ReadInt(size_in_bytes, address); } template - void MemWrite(int size_in_bytes, A address, uint64_t value) const { + bool MemWrite(int size_in_bytes, A address, uint64_t value) const { return memory_.Write(size_in_bytes, address, value); } - void LoadLane(LogicVRegister dst, + bool LoadLane(LogicVRegister dst, VectorFormat vform, int index, uint64_t addr) const { unsigned msize_in_bytes = LaneSizeInBytesFromFormat(vform); - LoadUintToLane(dst, vform, msize_in_bytes, index, addr); + return LoadUintToLane(dst, vform, msize_in_bytes, index, addr); } - void LoadUintToLane(LogicVRegister dst, + bool LoadUintToLane(LogicVRegister dst, VectorFormat vform, unsigned msize_in_bytes, int index, uint64_t addr) const { - dst.SetUint(vform, index, MemReadUint(msize_in_bytes, addr)); + VIXL_DEFINE_OR_RETURN_FALSE(value, MemReadUint(msize_in_bytes, addr)); + dst.SetUint(vform, index, value); + return true; } - void LoadIntToLane(LogicVRegister dst, + bool LoadIntToLane(LogicVRegister dst, VectorFormat vform, unsigned msize_in_bytes, int index, uint64_t addr) const { - dst.SetInt(vform, index, MemReadInt(msize_in_bytes, addr)); + VIXL_DEFINE_OR_RETURN_FALSE(value, MemReadInt(msize_in_bytes, addr)); + dst.SetInt(vform, index, value); + return true; } - void StoreLane(const LogicVRegister& src, + bool StoreLane(const LogicVRegister& src, VectorFormat vform, int index, uint64_t addr) const { unsigned msize_in_bytes = LaneSizeInBytesFromFormat(vform); - MemWrite(msize_in_bytes, addr, src.Uint(vform, index)); + return MemWrite(msize_in_bytes, addr, src.Uint(vform, index)); } uint64_t ComputeMemOperandAddress(const MemOperand& mem_op) const; @@ -2072,12 +2134,14 @@ class Simulator : public DecoderVisitor { return ReadCPURegister(operand.GetCPURegister()); } else { VIXL_ASSERT(operand.IsMemOperand()); - return MemRead(ComputeMemOperandAddress(operand.GetMemOperand())); + auto res = MemRead(ComputeMemOperandAddress(operand.GetMemOperand())); + VIXL_ASSERT(res); + return *res; } } template - void WriteGenericOperand(GenericOperand operand, + bool WriteGenericOperand(GenericOperand operand, T value, RegLogMode log_mode = LogRegWrites) { if (operand.IsCPURegister()) { @@ -2093,8 +2157,9 @@ class Simulator : public DecoderVisitor { WriteCPURegister(operand.GetCPURegister(), raw, log_mode); } else { VIXL_ASSERT(operand.IsMemOperand()); - MemWrite(ComputeMemOperandAddress(operand.GetMemOperand()), value); + return MemWrite(ComputeMemOperandAddress(operand.GetMemOperand()), value); } + return true; } bool ReadN() const { return nzcv_.GetN() != 0; } @@ -2470,12 +2535,16 @@ class Simulator : public DecoderVisitor { // Other state updates, including system registers. void PrintSystemRegister(SystemRegister id); void PrintTakenBranch(const Instruction* target); + void PrintGCS(bool is_push, uint64_t addr, size_t entry); void LogSystemRegister(SystemRegister id) { if (ShouldTraceSysRegs()) PrintSystemRegister(id); } void LogTakenBranch(const Instruction* target) { if (ShouldTraceBranches()) PrintTakenBranch(target); } + void LogGCS(bool is_push, uint64_t addr, size_t entry) { + if (ShouldTraceSysRegs()) PrintGCS(is_push, addr, entry); + } // Trace memory accesses. @@ -2837,7 +2906,7 @@ class Simulator : public DecoderVisitor { } if (offset == 0) { - while ((exclude & (1 << tag)) != 0) { + while ((exclude & (uint64_t{1} << tag)) != 0) { tag = (tag + 1) % 16; } } @@ -2845,7 +2914,7 @@ class Simulator : public DecoderVisitor { while (offset > 0) { offset--; tag = (tag + 1) % 16; - while ((exclude & (1 << tag)) != 0) { + while ((exclude & (uint64_t{1} << tag)) != 0) { tag = (tag + 1) % 16; } } @@ -2857,12 +2926,15 @@ class Simulator : public DecoderVisitor { return (addr & ~(UINT64_C(0xf) << 56)) | (tag << 56); } +#if __linux__ +#define VIXL_HAS_SIMULATED_MMAP // Create or remove a mapping with memory protection. Memory attributes such // as MTE and BTI are represented by metadata in Simulator. void* Mmap( void* address, size_t length, int prot, int flags, int fd, off_t offset); int Munmap(void* address, size_t length, int prot); +#endif // The common CPUFeatures interface with the set of available features. @@ -2885,7 +2957,7 @@ class Simulator : public DecoderVisitor { // Also, the initialisation of the tuples in RuntimeCall(Non)Void is incorrect // in GCC before 4.9.1: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51253 #if defined(VIXL_HAS_ABI_SUPPORT) && __cplusplus >= 201103L && \ - (defined(__clang__) || GCC_VERSION_OR_NEWER(4, 9, 1)) + (defined(_MSC_VER) || defined(__clang__) || GCC_VERSION_OR_NEWER(4, 9, 1)) #define VIXL_HAS_SIMULATED_RUNTIME_CALL_SUPPORT @@ -2943,7 +3015,10 @@ class Simulator : public DecoderVisitor { R return_value = DoRuntimeCall(function, argument_operands, __local_index_sequence_for{}); - WriteGenericOperand(abi.GetReturnGenericOperand(), return_value); + bool succeeded = + WriteGenericOperand(abi.GetReturnGenericOperand(), return_value); + USE(succeeded); + VIXL_ASSERT(succeeded); } template @@ -3076,8 +3151,9 @@ class Simulator : public DecoderVisitor { // either MTE protected or not. if (count != expected) { std::stringstream sstream; - sstream << std::hex << "MTE WARNING : the memory region being unmapped " - "starting at address 0x" + sstream << std::hex + << "MTE WARNING : the memory region being unmapped " + "starting at address 0x" << reinterpret_cast(address) << "is not fully MTE protected.\n"; VIXL_WARNING(sstream.str().c_str()); @@ -3115,6 +3191,52 @@ class Simulator : public DecoderVisitor { meta_data_.RegisterBranchInterception(*function, callback); } + // Return the current output stream in use by the simulator. + FILE* GetOutputStream() const { return stream_; } + + bool IsDebuggerEnabled() const { return debugger_enabled_; } + + void SetDebuggerEnabled(bool enabled) { debugger_enabled_ = enabled; } + + Debugger* GetDebugger() const { return debugger_.get(); } + +#ifdef VIXL_ENABLE_IMPLICIT_CHECKS + // Returns true if the faulting instruction address (usually the program + // counter or instruction pointer) comes from an internal VIXL memory access. + // This can be used by signal handlers to check if a signal was raised from + // the simulator (via TryMemoryAccess) before the actual + // access occurs. + bool IsSimulatedMemoryAccess(uintptr_t fault_pc) const { + return (fault_pc == + reinterpret_cast(&_vixl_internal_ReadMemory)); + } + + // Get the instruction address of the internal VIXL memory access continuation + // label. Signal handlers can resume execution at this address to return to + // TryMemoryAccess which will continue simulation. + uintptr_t GetSignalReturnAddress() const { + return reinterpret_cast(&_vixl_internal_AccessMemory_continue); + } + + // Replace the fault address reported by the kernel with the actual faulting + // address. + // + // This is required because TryMemoryAccess reads a section of + // memory 1 byte at a time meaning the fault address reported may not be the + // base address of memory being accessed. + void ReplaceFaultAddress(siginfo_t* siginfo, void* context) { +#ifdef __x86_64__ + // The base address being accessed is passed in as the first argument to + // _vixl_internal_ReadMemory. + ucontext_t* uc = reinterpret_cast(context); + siginfo->si_addr = reinterpret_cast(uc->uc_mcontext.gregs[REG_RDI]); +#else + USE(siginfo); + USE(context); +#endif // __x86_64__ + } +#endif // VIXL_ENABLE_IMPLICIT_CHECKS + protected: const char* clr_normal; const char* clr_flag_name; @@ -3195,8 +3317,9 @@ class Simulator : public DecoderVisitor { uint64_t left, uint64_t right, int carry_in); - using vixl_uint128_t = std::pair; vixl_uint128_t Add128(vixl_uint128_t x, vixl_uint128_t y); + vixl_uint128_t Lsl128(vixl_uint128_t x, unsigned shift) const; + vixl_uint128_t Eor128(vixl_uint128_t x, vixl_uint128_t y) const; vixl_uint128_t Mul64(uint64_t x, uint64_t y); vixl_uint128_t Neg128(vixl_uint128_t x); void LogicalHelper(const Instruction* instr, int64_t op2); @@ -3278,92 +3401,95 @@ class Simulator : public DecoderVisitor { uint64_t PolynomialMult(uint64_t op1, uint64_t op2, int lane_size_in_bits) const; - - void ld1(VectorFormat vform, LogicVRegister dst, uint64_t addr); - void ld1(VectorFormat vform, LogicVRegister dst, int index, uint64_t addr); - void ld1r(VectorFormat vform, LogicVRegister dst, uint64_t addr); - void ld1r(VectorFormat vform, + vixl_uint128_t PolynomialMult128(uint64_t op1, + uint64_t op2, + int lane_size_in_bits) const; + + bool ld1(VectorFormat vform, LogicVRegister dst, uint64_t addr); + bool ld1(VectorFormat vform, LogicVRegister dst, int index, uint64_t addr); + bool ld1r(VectorFormat vform, LogicVRegister dst, uint64_t addr); + bool ld1r(VectorFormat vform, VectorFormat unpack_vform, LogicVRegister dst, uint64_t addr, bool is_signed = false); - void ld2(VectorFormat vform, + bool ld2(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, uint64_t addr); - void ld2(VectorFormat vform, + bool ld2(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, int index, uint64_t addr); - void ld2r(VectorFormat vform, + bool ld2r(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, uint64_t addr); - void ld3(VectorFormat vform, + bool ld3(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, uint64_t addr); - void ld3(VectorFormat vform, + bool ld3(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, int index, uint64_t addr); - void ld3r(VectorFormat vform, + bool ld3r(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, uint64_t addr); - void ld4(VectorFormat vform, + bool ld4(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, LogicVRegister dst4, uint64_t addr); - void ld4(VectorFormat vform, + bool ld4(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, LogicVRegister dst4, int index, uint64_t addr); - void ld4r(VectorFormat vform, + bool ld4r(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, LogicVRegister dst4, uint64_t addr); - void st1(VectorFormat vform, LogicVRegister src, uint64_t addr); - void st1(VectorFormat vform, LogicVRegister src, int index, uint64_t addr); - void st2(VectorFormat vform, + bool st1(VectorFormat vform, LogicVRegister src, uint64_t addr); + bool st1(VectorFormat vform, LogicVRegister src, int index, uint64_t addr); + bool st2(VectorFormat vform, LogicVRegister src, LogicVRegister src2, uint64_t addr); - void st2(VectorFormat vform, + bool st2(VectorFormat vform, LogicVRegister src, LogicVRegister src2, int index, uint64_t addr); - void st3(VectorFormat vform, + bool st3(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, uint64_t addr); - void st3(VectorFormat vform, + bool st3(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, int index, uint64_t addr); - void st4(VectorFormat vform, + bool st4(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, LogicVRegister src4, uint64_t addr); - void st4(VectorFormat vform, + bool st4(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, @@ -3649,6 +3775,10 @@ class Simulator : public DecoderVisitor { LogicVRegister dst, const LogicVRegister& src, int rotation); + LogicVRegister rol(VectorFormat vform, + LogicVRegister dst, + const LogicVRegister& src, + int rotation); LogicVRegister ext(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src1, @@ -4373,6 +4503,90 @@ class Simulator : public DecoderVisitor { LogicVRegister srcdst, const LogicVRegister& src1, const LogicVRegister& src2); + + template + static void SHARotateEltsLeftOne(uint64_t (&x)[N]) { + VIXL_STATIC_ASSERT(N == 4); + uint64_t temp = x[3]; + x[3] = x[2]; + x[2] = x[1]; + x[1] = x[0]; + x[0] = temp; + } + + template + LogicVRegister sha1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2) { + uint64_t y = src1.Uint(kFormat4S, 0); + uint64_t sd[4] = {}; + srcdst.UintArray(kFormat4S, sd); + + for (unsigned i = 0; i < ArrayLength(sd); i++) { + uint64_t t = CryptoOp(sd[1], sd[2], sd[3]); + + y += RotateLeft(sd[0], 5, kSRegSize) + t; + y += src2.Uint(kFormat4S, i); + + sd[1] = RotateLeft(sd[1], 30, kSRegSize); + + // y:sd = ROL(y:sd, 32) + SHARotateEltsLeftOne(sd); + std::swap(sd[0], y); + } + + srcdst.SetUintArray(kFormat4S, sd); + return srcdst; + } + + LogicVRegister sha2h(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2, + bool part1); + LogicVRegister sha2su0(LogicVRegister srcdst, const LogicVRegister& src1); + LogicVRegister sha2su1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2); + LogicVRegister sha512h(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2); + LogicVRegister sha512h2(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2); + LogicVRegister sha512su0(LogicVRegister srcdst, const LogicVRegister& src1); + LogicVRegister sha512su1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2); + + + LogicVRegister aes(LogicVRegister srcdst, + const LogicVRegister& src1, + bool decrypt); + LogicVRegister aesmix(LogicVRegister srcdst, + const LogicVRegister& src1, + bool inverse); + + LogicVRegister sm3partw1(LogicVRegister dst, + const LogicVRegister& src1, + const LogicVRegister& src2); + LogicVRegister sm3partw2(LogicVRegister dst, + const LogicVRegister& src1, + const LogicVRegister& src2); + LogicVRegister sm3ss1(LogicVRegister dst, + const LogicVRegister& src1, + const LogicVRegister& src2, + const LogicVRegister& src3); + LogicVRegister sm3tt1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2, + int index, + bool is_a); + LogicVRegister sm3tt2(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2, + int index, + bool is_a); + #define NEON_3VREG_LOGIC_LIST(V) \ V(addhn) \ V(addhn2) \ @@ -4940,7 +5154,8 @@ class Simulator : public DecoderVisitor { unsigned zt_code, const LogicSVEAddressVector& addr); // Load each active zt[lane] from `addr.GetElementAddress(lane, ...)`. - void SVEStructuredLoadHelper(VectorFormat vform, + // Returns false if a load failed. + bool SVEStructuredLoadHelper(VectorFormat vform, const LogicPRegister& pg, unsigned zt_code, const LogicSVEAddressVector& addr, @@ -5138,10 +5353,12 @@ class Simulator : public DecoderVisitor { bool CanReadMemory(uintptr_t address, size_t size); +#ifndef _WIN32 // CanReadMemory needs placeholder file descriptors, so we use a pipe. We can // save some system call overhead by opening them on construction, rather than // on every call to CanReadMemory. int placeholder_pipe_fd_[2]; +#endif template static T FPDefaultNaN(); @@ -5220,11 +5437,15 @@ class Simulator : public DecoderVisitor { CPUFeaturesAuditor cpu_features_auditor_; std::vector saved_cpu_features_; - // State for *rand48 functions, used to simulate randomness with repeatable + // linear_congruential_engine, used to simulate randomness with repeatable // behaviour (so that tests are deterministic). This is used to simulate RNDR // and RNDRRS, as well as to simulate a source of entropy for architecturally // undefined behaviour. - uint16_t rand_state_[3]; + std::linear_congruential_engine(1) << 48> + rand_gen_; // A configurable size of SVE vector registers. unsigned vector_length_; @@ -5232,6 +5453,167 @@ class Simulator : public DecoderVisitor { // Representation of memory attributes such as MTE tagging and BTI page // protection in addition to branch interceptions. MetaDataDepot meta_data_; + + // True if the debugger is enabled and might get entered. + bool debugger_enabled_; + + // Debugger for the simulator. + std::unique_ptr debugger_; + + // The Guarded Control Stack is represented using a vector, where the more + // recently stored addresses are at higher-numbered indices. + using GuardedControlStack = std::vector; + + // The GCSManager handles the synchronisation of GCS across multiple + // Simulator instances. Each Simulator has its own stack, but all share + // a GCSManager instance. This allows exchanging stacks between Simulators + // in a threaded application. + class GCSManager { + public: + // Allocate a new Guarded Control Stack and add it to the vector of stacks. + uint64_t AllocateStack() { + const std::lock_guard lock(stacks_mtx_); + + GuardedControlStack* new_stack = new GuardedControlStack; + uint64_t result; + + // Put the new stack into the first available slot. + for (result = 0; result < stacks_.size(); result++) { + if (stacks_[result] == nullptr) { + stacks_[result] = new_stack; + break; + } + } + + // If there were no slots, create a new one. + if (result == stacks_.size()) { + stacks_.push_back(new_stack); + } + + // Shift the index to look like a stack pointer aligned to a page. + result <<= kPageSizeLog2; + + // Push the tagged index onto the new stack as a seal. + new_stack->push_back(result + 1); + return result; + } + + // Free a Guarded Control Stack and set the stacks_ slot to null. + void FreeStack(uint64_t gcs) { + const std::lock_guard lock(stacks_mtx_); + uint64_t gcs_index = GetGCSIndex(gcs); + GuardedControlStack* gcsptr = stacks_[gcs_index]; + if (gcsptr == nullptr) { + VIXL_ABORT_WITH_MSG("Tried to free unallocated GCS "); + } else { + delete gcsptr; + stacks_[gcs_index] = nullptr; + } + } + + // Get a pointer to the GCS vector using a GCS id. + GuardedControlStack* GetGCSPtr(uint64_t gcs) const { + return stacks_[GetGCSIndex(gcs)]; + } + + private: + uint64_t GetGCSIndex(uint64_t gcs) const { return gcs >> 12; } + + std::vector stacks_; + std::mutex stacks_mtx_; + }; + + // A GCS id indicating no GCS has been allocated. + static const uint64_t kGCSNoStack = kPageSize - 1; + uint64_t gcs_; + bool gcs_enabled_; + + public: + GCSManager& GetGCSManager() { + static GCSManager manager; + return manager; + } + + void EnableGCSCheck() { gcs_enabled_ = true; } + void DisableGCSCheck() { gcs_enabled_ = false; } + bool IsGCSCheckEnabled() const { return gcs_enabled_; } + + private: + bool IsAllocatedGCS(uint64_t gcs) const { return gcs != kGCSNoStack; } + void ResetGCSState() { + GCSManager& m = GetGCSManager(); + if (IsAllocatedGCS(gcs_)) { + m.FreeStack(gcs_); + } + ActivateGCS(m.AllocateStack()); + GCSPop(); // Remove seal. + } + + GuardedControlStack* GetGCSPtr(uint64_t gcs) { + GCSManager& m = GetGCSManager(); + GuardedControlStack* result = m.GetGCSPtr(gcs); + return result; + } + GuardedControlStack* GetActiveGCSPtr() { return GetGCSPtr(gcs_); } + + uint64_t ActivateGCS(uint64_t gcs) { + uint64_t outgoing_gcs = gcs_; + gcs_ = gcs; + return outgoing_gcs; + } + + void GCSPush(uint64_t addr) { + GetActiveGCSPtr()->push_back(addr); + size_t entry = GetActiveGCSPtr()->size() - 1; + LogGCS(/* is_push = */ true, addr, entry); + } + + uint64_t GCSPop() { + GuardedControlStack* gcs = GetActiveGCSPtr(); + if (gcs->empty()) { + return 0; + } + uint64_t return_addr = gcs->back(); + size_t entry = gcs->size() - 1; + gcs->pop_back(); + LogGCS(/* is_push = */ false, return_addr, entry); + return return_addr; + } + + uint64_t GCSPeek() { + GuardedControlStack* gcs = GetActiveGCSPtr(); + if (gcs->empty()) { + return 0; + } + uint64_t return_addr = gcs->back(); + return return_addr; + } + + void ReportGCSFailure(const char* msg) { + if (IsGCSCheckEnabled()) { + GuardedControlStack* gcs = GetActiveGCSPtr(); + printf("%s", msg); + if (gcs == nullptr) { + printf("GCS pointer is null\n"); + } else { + printf("GCS records, most recent first:\n"); + int most_recent_index = static_cast(gcs->size()) - 1; + for (int i = 0; i < 8; i++) { + if (!gcs->empty()) { + uint64_t entry = gcs->back(); + gcs->pop_back(); + int index = most_recent_index - i; + printf(" gcs%" PRIu64 "[%d]: 0x%016" PRIx64 "\n", + gcs_, + index, + entry); + } + } + printf("End of GCS records.\n"); + } + VIXL_ABORT_WITH_MSG("GCS failed "); + } + } }; #if defined(VIXL_HAS_SIMULATED_RUNTIME_CALL_SUPPORT) && __cplusplus < 201402L diff --git a/3rdparty/vixl/include/vixl/assembler-base-vixl.h b/3rdparty/vixl/include/vixl/assembler-base-vixl.h index ff866c4fbe3d9..7bd6af29e4dfd 100644 --- a/3rdparty/vixl/include/vixl/assembler-base-vixl.h +++ b/3rdparty/vixl/include/vixl/assembler-base-vixl.h @@ -43,6 +43,9 @@ namespace internal { class AssemblerBase { public: + AssemblerBase() : allow_assembler_(false) {} + explicit AssemblerBase(size_t capacity) + : buffer_(capacity), allow_assembler_(false) {} AssemblerBase(byte* buffer, size_t capacity) : buffer_(buffer, capacity), allow_assembler_(false) {} diff --git a/3rdparty/vixl/include/vixl/code-buffer-vixl.h b/3rdparty/vixl/include/vixl/code-buffer-vixl.h index a59026894f695..cb9031fefc4b3 100644 --- a/3rdparty/vixl/include/vixl/code-buffer-vixl.h +++ b/3rdparty/vixl/include/vixl/code-buffer-vixl.h @@ -36,11 +36,21 @@ namespace vixl { class CodeBuffer { public: + static const size_t kDefaultCapacity = 4 * KBytes; + + explicit CodeBuffer(size_t capacity = kDefaultCapacity); CodeBuffer(byte* buffer, size_t capacity); ~CodeBuffer() VIXL_NEGATIVE_TESTING_ALLOW_EXCEPTION; void Reset(); + // Make the buffer executable or writable. These states are mutually + // exclusive. + // Note that these require page-aligned memory blocks, which we can only + // guarantee with VIXL_CODE_BUFFER_MMAP. + void SetExecutable(); + void SetWritable(); + ptrdiff_t GetOffsetFrom(ptrdiff_t offset) const { ptrdiff_t cursor_offset = cursor_ - buffer_; VIXL_ASSERT((offset >= 0) && (offset <= cursor_offset)); @@ -136,6 +146,10 @@ class CodeBuffer { return GetCapacity(); } + bool IsManaged() const { return managed_; } + + void Grow(size_t new_capacity); + bool IsDirty() const { return dirty_; } void SetClean() { dirty_ = false; } @@ -144,9 +158,24 @@ class CodeBuffer { return GetRemainingBytes() >= amount; } + void EnsureSpaceFor(size_t amount, bool* has_grown) { + bool is_full = !HasSpaceFor(amount); + if (is_full) Grow(capacity_ * 2 + amount); + VIXL_ASSERT(has_grown != NULL); + *has_grown = is_full; + } + void EnsureSpaceFor(size_t amount) { + bool placeholder; + EnsureSpaceFor(amount, &placeholder); + } + private: // Backing store of the buffer. byte* buffer_; + // If true the backing store is allocated and deallocated by the buffer. The + // backing store can then grow on demand. If false the backing store is + // provided by the user and cannot be resized internally. + bool managed_; // Pointer to the next location to be written. byte* cursor_; // True if there has been any write since the buffer was created or cleaned. diff --git a/3rdparty/vixl/include/vixl/code-generation-scopes-vixl.h b/3rdparty/vixl/include/vixl/code-generation-scopes-vixl.h index 2818ceda0dd7d..f019b685fe042 100644 --- a/3rdparty/vixl/include/vixl/code-generation-scopes-vixl.h +++ b/3rdparty/vixl/include/vixl/code-generation-scopes-vixl.h @@ -68,14 +68,19 @@ class CodeBufferCheckScope { size_t size, BufferSpacePolicy check_policy = kReserveBufferSpace, SizePolicy size_policy = kMaximumSize) - : assembler_(NULL), initialised_(false) { + : CodeBufferCheckScope() { Open(assembler, size, check_policy, size_policy); } // This constructor does not implicitly initialise the scope. Instead, the // user is required to explicitly call the `Open` function before using the // scope. - CodeBufferCheckScope() : assembler_(NULL), initialised_(false) { + CodeBufferCheckScope() + : assembler_(NULL), + assert_policy_(kMaximumSize), + limit_(0), + previous_allow_assembler_(false), + initialised_(false) { // Nothing to do. } @@ -90,7 +95,7 @@ class CodeBufferCheckScope { VIXL_ASSERT(assembler != NULL); assembler_ = assembler; if (check_policy == kReserveBufferSpace) { - VIXL_ASSERT(assembler->GetBuffer()->HasSpaceFor(size)); + assembler->GetBuffer()->EnsureSpaceFor(size); } #ifdef VIXL_DEBUG limit_ = assembler_->GetSizeOfCodeGenerated() + size; @@ -152,14 +157,15 @@ class EmissionCheckScope : public CodeBufferCheckScope { // constructed. EmissionCheckScope(MacroAssemblerInterface* masm, size_t size, - SizePolicy size_policy = kMaximumSize) { + SizePolicy size_policy = kMaximumSize) + : EmissionCheckScope() { Open(masm, size, size_policy); } // This constructor does not implicitly initialise the scope. Instead, the // user is required to explicitly call the `Open` function before using the // scope. - EmissionCheckScope() {} + EmissionCheckScope() : masm_(nullptr), pool_policy_(kBlockPools) {} virtual ~EmissionCheckScope() { Close(); } @@ -250,14 +256,15 @@ class ExactAssemblyScope : public EmissionCheckScope { // constructed. ExactAssemblyScope(MacroAssemblerInterface* masm, size_t size, - SizePolicy size_policy = kExactSize) { + SizePolicy size_policy = kExactSize) + : ExactAssemblyScope() { Open(masm, size, size_policy); } // This constructor does not implicitly initialise the scope. Instead, the // user is required to explicitly call the `Open` function before using the // scope. - ExactAssemblyScope() {} + ExactAssemblyScope() : previous_allow_macro_assembler_(false) {} virtual ~ExactAssemblyScope() { Close(); } diff --git a/3rdparty/vixl/include/vixl/compiler-intrinsics-vixl.h b/3rdparty/vixl/include/vixl/compiler-intrinsics-vixl.h index 50ed3579b7f8e..8d0849a8147a4 100644 --- a/3rdparty/vixl/include/vixl/compiler-intrinsics-vixl.h +++ b/3rdparty/vixl/include/vixl/compiler-intrinsics-vixl.h @@ -29,6 +29,7 @@ #define VIXL_COMPILER_INTRINSICS_H #include + #include "globals-vixl.h" namespace vixl { @@ -112,7 +113,8 @@ inline int CountLeadingSignBits(V value, int width = (sizeof(V) * 8)) { VIXL_ASSERT(IsPowerOf2(width) && (width <= 64)); #if COMPILER_HAS_BUILTIN_CLRSB VIXL_ASSERT((LLONG_MIN <= value) && (value <= LLONG_MAX)); - int ll_width = sizeof(long long) * kBitsPerByte; // NOLINT(runtime/int) + int ll_width = + sizeof(long long) * kBitsPerByte; // NOLINT(google-runtime-int) int result = __builtin_clrsbll(value) - (ll_width - width); // Check that the value fits in the specified width. VIXL_ASSERT(result >= 0); diff --git a/3rdparty/vixl/include/vixl/cpu-features.h b/3rdparty/vixl/include/vixl/cpu-features.h index 97eb661a236c0..1a041f66100c9 100644 --- a/3rdparty/vixl/include/vixl/cpu-features.h +++ b/3rdparty/vixl/include/vixl/cpu-features.h @@ -201,7 +201,8 @@ namespace vixl { /* Extended BFloat16 instructions */ \ V(kEBF16, "EBF16", "ebf16") \ V(kSVE_EBF16, "EBF16 (SVE)", "sveebf16") \ - V(kCSSC, "CSSC", "cssc") + V(kCSSC, "CSSC", "cssc") \ + V(kGCS, "GCS", "gcs") // clang-format on diff --git a/3rdparty/vixl/include/vixl/globals-vixl.h b/3rdparty/vixl/include/vixl/globals-vixl.h index 4548ba897f466..b096c7f37ac3c 100644 --- a/3rdparty/vixl/include/vixl/globals-vixl.h +++ b/3rdparty/vixl/include/vixl/globals-vixl.h @@ -27,8 +27,8 @@ #ifndef VIXL_GLOBALS_H #define VIXL_GLOBALS_H -#if __cplusplus < 201402L -#error VIXL requires C++14 +#if __cplusplus < 201703L +#error VIXL requires C++17 #endif // Get standard C99 macros for integer types. @@ -215,6 +215,18 @@ inline void USE(const T1&, const T2&, const T3&, const T4&) {} } while (0) #endif +// Evaluate 'init' to an std::optional and return if it's empty. If 'init' is +// not empty then define a variable 'name' with the value inside the +// std::optional. +#define VIXL_DEFINE_OR_RETURN(name, init) \ + auto opt##name = init; \ + if (!opt##name) return; \ + auto name = *opt##name; +#define VIXL_DEFINE_OR_RETURN_FALSE(name, init) \ + auto opt##name = init; \ + if (!opt##name) return false; \ + auto name = *opt##name; + #if __cplusplus >= 201103L #define VIXL_NO_RETURN [[noreturn]] #else diff --git a/3rdparty/vixl/include/vixl/invalset-vixl.h b/3rdparty/vixl/include/vixl/invalset-vixl.h index dc15149599131..b5a710ffe1ae3 100644 --- a/3rdparty/vixl/include/vixl/invalset-vixl.h +++ b/3rdparty/vixl/include/vixl/invalset-vixl.h @@ -1,4 +1,3 @@ -// Copyright 2015, VIXL authors // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -27,9 +26,8 @@ #ifndef VIXL_INVALSET_H_ #define VIXL_INVALSET_H_ -#include - #include +#include #include #include "globals-vixl.h" @@ -92,6 +90,7 @@ class InvalSet { public: InvalSet(); ~InvalSet() VIXL_NEGATIVE_TESTING_ALLOW_EXCEPTION; + InvalSet(InvalSet&&); // movable static const size_t kNPreallocatedElements = N_PREALLOCATED_ELEMENTS; static const KeyType kInvalidKey = INVALID_KEY; @@ -245,12 +244,11 @@ class InvalSet { template class InvalSetIterator { - public: using iterator_category = std::forward_iterator_tag; using value_type = typename S::_ElementType; using difference_type = std::ptrdiff_t; - using pointer = typename S::_ElementType*; - using reference = typename S::_ElementType&; + using pointer = S*; + using reference = S&; private: // Redefine types to mirror the associated set types. @@ -327,6 +325,27 @@ InvalSet::InvalSet() #endif } +template +InvalSet::InvalSet(InvalSet&& other) + : valid_cached_min_(false), sorted_(true), size_(0), vector_(NULL) { + VIXL_ASSERT(other.monitor() == 0); + if (this != &other) { + sorted_ = other.sorted_; + size_ = other.size_; +#ifdef VIXL_DEBUG + monitor_ = 0; +#endif + if (other.IsUsingVector()) { + vector_ = other.vector_; + other.vector_ = NULL; + } else { + std::move(other.preallocated_, + other.preallocated_ + other.size_, + preallocated_); + } + other.clear(); + } +} template InvalSet::~InvalSet() diff --git a/3rdparty/vixl/include/vixl/pool-manager-impl.h b/3rdparty/vixl/include/vixl/pool-manager-impl.h index a1bcaaad8323f..5baf66b34827b 100644 --- a/3rdparty/vixl/include/vixl/pool-manager-impl.h +++ b/3rdparty/vixl/include/vixl/pool-manager-impl.h @@ -27,10 +27,10 @@ #ifndef VIXL_POOL_MANAGER_IMPL_H_ #define VIXL_POOL_MANAGER_IMPL_H_ -#include "pool-manager.h" - #include + #include "assembler-base-vixl.h" +#include "pool-manager.h" namespace vixl { @@ -487,7 +487,7 @@ void PoolManager::Release(T pc) { } template -PoolManager::~PoolManager() VIXL_NEGATIVE_TESTING_ALLOW_EXCEPTION { +PoolManager::~PoolManager() VIXL_NEGATIVE_TESTING_ALLOW_EXCEPTION { #ifdef VIXL_DEBUG // Check for unbound objects. for (objects_iter iter = objects_.begin(); iter != objects_.end(); ++iter) { @@ -517,6 +517,6 @@ int PoolManager::GetPoolSizeForTest() const { } return size; } -} +} // namespace vixl #endif // VIXL_POOL_MANAGER_IMPL_H_ diff --git a/3rdparty/vixl/include/vixl/pool-manager.h b/3rdparty/vixl/include/vixl/pool-manager.h index 27fa69ec2ca55..f5101cc77da9d 100644 --- a/3rdparty/vixl/include/vixl/pool-manager.h +++ b/3rdparty/vixl/include/vixl/pool-manager.h @@ -27,11 +27,10 @@ #ifndef VIXL_POOL_MANAGER_H_ #define VIXL_POOL_MANAGER_H_ -#include - #include #include #include +#include #include #include "globals-vixl.h" diff --git a/3rdparty/vixl/include/vixl/utils-vixl.h b/3rdparty/vixl/include/vixl/utils-vixl.h index a6632b2fc0a2f..40b5b2703c300 100644 --- a/3rdparty/vixl/include/vixl/utils-vixl.h +++ b/3rdparty/vixl/include/vixl/utils-vixl.h @@ -239,6 +239,11 @@ inline uint64_t RotateRight(uint64_t value, return value & width_mask; } +inline uint64_t RotateLeft(uint64_t value, + unsigned int rotate, + unsigned int width) { + return RotateRight(value, width - rotate, width); +} // Wrapper class for passing FP16 values through the assembler. // This is purely to aid with type checking/casting. @@ -291,6 +296,12 @@ T UnsignedNegate(T value) { return ~value + 1; } +template +bool CanBeNegated(T value) { + VIXL_STATIC_ASSERT(std::is_signed::value); + return (value == std::numeric_limits::min()) ? false : true; +} + // An absolute operation for signed integers that is defined for results outside // the representable range. Specifically, Abs(MIN_INT) is MIN_INT. template @@ -548,13 +559,14 @@ inline T SignExtend(T val, int size_in_bits) { template T ReverseBytes(T value, int block_bytes_log2) { VIXL_ASSERT((sizeof(value) == 4) || (sizeof(value) == 8)); - VIXL_ASSERT((1U << block_bytes_log2) <= sizeof(value)); + VIXL_ASSERT((uint64_t{1} << block_bytes_log2) <= sizeof(value)); // Split the 64-bit value into an 8-bit array, where b[0] is the least // significant byte, and b[7] is the most significant. uint8_t bytes[8]; uint64_t mask = UINT64_C(0xff00000000000000); for (int i = 7; i >= 0; i--) { - bytes[i] = (static_cast(value) & mask) >> (i * 8); + bytes[i] = + static_cast((static_cast(value) & mask) >> (i * 8)); mask >>= 8; } @@ -611,6 +623,39 @@ bool IsWordAligned(T pointer) { return IsAligned<4>(pointer); } +template +bool IsRepeatingPattern(T value) { + VIXL_STATIC_ASSERT(std::is_unsigned::value); + VIXL_ASSERT(IsMultiple(sizeof(value) * kBitsPerByte, BITS)); + VIXL_ASSERT(IsMultiple(BITS, 2)); + VIXL_STATIC_ASSERT(BITS >= 2); +#if (defined(__x86_64__) || defined(__i386)) && \ + __clang_major__ >= 17 && __clang_major__ <= 19 + // Workaround for https://github.com/llvm/llvm-project/issues/108722 + unsigned hbits = BITS / 2; + T midmask = (~static_cast(0) >> BITS) << hbits; + // E.g. for bytes in a word (0xb3b2b1b0): .b3b2b1. == .b2b1b0. + return (((value >> hbits) & midmask) == ((value << hbits) & midmask)); +#else + return value == RotateRight(value, BITS, sizeof(value) * kBitsPerByte); +#endif +} + +template +bool AllBytesMatch(T value) { + return IsRepeatingPattern(value); +} + +template +bool AllHalfwordsMatch(T value) { + return IsRepeatingPattern(value); +} + +template +bool AllWordsMatch(T value) { + return IsRepeatingPattern(value); +} + // Increment a pointer until it has the specified alignment. The alignment must // be a power of two. template diff --git a/3rdparty/vixl/src/aarch64/assembler-aarch64.cc b/3rdparty/vixl/src/aarch64/assembler-aarch64.cc index 993d854cd16f4..31d5875501b6f 100644 --- a/3rdparty/vixl/src/aarch64/assembler-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/assembler-aarch64.cc @@ -25,9 +25,10 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include "assembler-aarch64.h" + #include -#include "assembler-aarch64.h" #include "macro-assembler-aarch64.h" namespace vixl { @@ -1176,8 +1177,7 @@ void Assembler::LoadStorePairNonTemporal(const CPURegister& rt, VIXL_ASSERT(addr.IsImmediateOffset()); unsigned size = - CalcLSPairDataSize(static_cast( - static_cast(op) & static_cast(LoadStorePairMask))); + CalcLSPairDataSize(static_cast(op & LoadStorePairMask)); VIXL_ASSERT(IsImmLSPair(addr.GetOffset(), size)); int offset = static_cast(addr.GetOffset()); Emit(op | Rt(rt) | Rt2(rt2) | RnSP(addr.GetBaseRegister()) | @@ -1918,6 +1918,12 @@ void Assembler::sys(int op, const Register& xt) { } +void Assembler::sysl(int op, const Register& xt) { + VIXL_ASSERT(xt.Is64Bits()); + Emit(SYSL | SysOp(op) | Rt(xt)); +} + + void Assembler::dc(DataCacheOp op, const Register& rt) { if (op == CVAP) VIXL_ASSERT(CPUHas(CPUFeatures::kDCPoP)); if (op == CVADP) VIXL_ASSERT(CPUHas(CPUFeatures::kDCCVADP)); @@ -1930,6 +1936,35 @@ void Assembler::ic(InstructionCacheOp op, const Register& rt) { sys(op, rt); } +void Assembler::gcspushm(const Register& rt) { + VIXL_ASSERT(CPUHas(CPUFeatures::kGCS)); + sys(GCSPUSHM, rt); +} + +void Assembler::gcspopm(const Register& rt) { + VIXL_ASSERT(CPUHas(CPUFeatures::kGCS)); + sysl(GCSPOPM, rt); +} + + +void Assembler::gcsss1(const Register& rt) { + VIXL_ASSERT(CPUHas(CPUFeatures::kGCS)); + sys(GCSSS1, rt); +} + + +void Assembler::gcsss2(const Register& rt) { + VIXL_ASSERT(CPUHas(CPUFeatures::kGCS)); + sysl(GCSSS2, rt); +} + + +void Assembler::chkfeat(const Register& rd) { + VIXL_ASSERT(rd.Is(x16)); + USE(rd); + hint(CHKFEAT); +} + void Assembler::hint(SystemHint code) { hint(static_cast(code)); } @@ -2913,6 +2948,25 @@ void Assembler::st1(const VRegister& vt, int lane, const MemOperand& dst) { LoadStoreStructSingle(vt, lane, dst, NEONLoadStoreSingleStructStore1); } +void Assembler::pmull(const VRegister& vd, + const VRegister& vn, + const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(AreSameFormat(vn, vm)); + VIXL_ASSERT((vn.Is8B() && vd.Is8H()) || (vn.Is1D() && vd.Is1Q())); + VIXL_ASSERT(CPUHas(CPUFeatures::kPmull1Q) || vd.Is8H()); + Emit(VFormat(vn) | NEON_PMULL | Rm(vm) | Rn(vn) | Rd(vd)); +} + +void Assembler::pmull2(const VRegister& vd, + const VRegister& vn, + const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(AreSameFormat(vn, vm)); + VIXL_ASSERT((vn.Is16B() && vd.Is8H()) || (vn.Is2D() && vd.Is1Q())); + VIXL_ASSERT(CPUHas(CPUFeatures::kPmull1Q) || vd.Is8H()); + Emit(VFormat(vn) | NEON_PMULL2 | Rm(vm) | Rn(vn) | Rd(vd)); +} void Assembler::NEON3DifferentL(const VRegister& vd, const VRegister& vn, @@ -2925,7 +2979,7 @@ void Assembler::NEON3DifferentL(const VRegister& vd, (vn.Is8H() && vd.Is4S()) || (vn.Is4S() && vd.Is2D())); Instr format, op = vop; if (vd.IsScalar()) { - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; format = SFormat(vn); } else { format = VFormat(vn); @@ -2960,8 +3014,6 @@ void Assembler::NEON3DifferentHN(const VRegister& vd, // clang-format off #define NEON_3DIFF_LONG_LIST(V) \ - V(pmull, NEON_PMULL, vn.IsVector() && vn.Is8B()) \ - V(pmull2, NEON_PMULL2, vn.IsVector() && vn.Is16B()) \ V(saddl, NEON_SADDL, vn.IsVector() && vn.IsD()) \ V(saddl2, NEON_SADDL2, vn.IsVector() && vn.IsQ()) \ V(sabal, NEON_SABAL, vn.IsVector() && vn.IsD()) \ @@ -3650,7 +3702,7 @@ void Assembler::NEONFPConvertToInt(const VRegister& vd, Instr op) { if (vn.IsScalar()) { VIXL_ASSERT((vd.Is1S() && vn.Is1S()) || (vd.Is1D() && vn.Is1D())); - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; } Emit(FPFormat(vn) | op | Rn(vn) | Rd(vd)); } @@ -3662,9 +3714,9 @@ void Assembler::NEONFP16ConvertToInt(const VRegister& vd, VIXL_ASSERT(AreSameFormat(vd, vn)); VIXL_ASSERT(vn.IsLaneSizeH()); if (vn.IsScalar()) { - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; } else if (vn.Is8H()) { - op |= static_cast(NEON_Q); + op |= NEON_Q; } Emit(op | Rn(vn) | Rd(vd)); } @@ -3838,7 +3890,7 @@ void Assembler::NEON3Same(const VRegister& vd, Instr format, op = vop; if (vd.IsScalar()) { - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; format = SFormat(vd); } else { format = VFormat(vd); @@ -3890,18 +3942,15 @@ void Assembler::NEON3SameFP16(const VRegister& vd, Instr op; \ if (vd.IsScalar()) { \ if (vd.Is1H()) { \ - if ((static_cast(SCA_OP_H) & \ - static_cast(NEONScalar2RegMiscFP16FMask)) == \ - static_cast(NEONScalar2RegMiscFP16Fixed)) { \ + if ((SCA_OP_H & NEONScalar2RegMiscFP16FMask) == \ + NEONScalar2RegMiscFP16Fixed) { \ VIXL_ASSERT(CPUHas(CPUFeatures::kNEON, CPUFeatures::kNEONHalf)); \ } else { \ VIXL_ASSERT(CPUHas(CPUFeatures::kFPHalf)); \ } \ op = SCA_OP_H; \ } else { \ - if ((static_cast(SCA_OP) & \ - static_cast(NEONScalar2RegMiscFMask)) == \ - static_cast(NEONScalar2RegMiscFixed)) { \ + if ((SCA_OP & NEONScalar2RegMiscFMask) == NEONScalar2RegMiscFixed) { \ VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); \ } \ VIXL_ASSERT(vd.Is1S() || vd.Is1D()); \ @@ -3915,7 +3964,7 @@ void Assembler::NEON3SameFP16(const VRegister& vd, VIXL_ASSERT(CPUHas(CPUFeatures::kNEONHalf)); \ op = VEC_OP##_H; \ if (vd.Is8H()) { \ - op |= static_cast(NEON_Q); \ + op |= NEON_Q; \ } \ } else { \ op = VEC_OP; \ @@ -3981,7 +4030,7 @@ void Assembler::NEON2RegMisc(const VRegister& vd, Instr format, op = vop; if (vd.IsScalar()) { - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; format = SFormat(vd); } else { format = VFormat(vd); @@ -4057,7 +4106,7 @@ void Assembler::NEONFP2RegMisc(const VRegister& vd, Instr op = vop; if (vd.IsScalar()) { VIXL_ASSERT(vd.Is1S() || vd.Is1D()); - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; } else { VIXL_ASSERT(vd.Is2S() || vd.Is2D() || vd.Is4S()); } @@ -4077,11 +4126,11 @@ void Assembler::NEONFP2RegMiscFP16(const VRegister& vd, Instr op = vop; if (vd.IsScalar()) { VIXL_ASSERT(vd.Is1H()); - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; } else { VIXL_ASSERT(vd.Is4H() || vd.Is8H()); if (vd.Is8H()) { - op |= static_cast(NEON_Q); + op |= NEON_Q; } } @@ -4273,9 +4322,7 @@ NEON_3SAME_LIST(VIXL_DEFINE_ASM_FUNC) op = SCA_OP_H; \ } else { \ VIXL_ASSERT(vd.Is1H() || vd.Is1S() || vd.Is1D()); \ - if ((static_cast(SCA_OP) & \ - static_cast(NEONScalar3SameFMask)) == \ - static_cast(NEONScalar3SameFixed)) { \ + if ((SCA_OP & NEONScalar3SameFMask) == NEONScalar3SameFixed) { \ VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); \ if (vd.Is1H()) VIXL_ASSERT(CPUHas(CPUFeatures::kNEONHalf)); \ } else if (vd.Is1H()) { \ @@ -4341,11 +4388,11 @@ void Assembler::sqrdmlah(const VRegister& vd, const VRegister& vm) { VIXL_ASSERT(CPUHas(CPUFeatures::kNEON, CPUFeatures::kRDM)); VIXL_ASSERT(AreSameFormat(vd, vn, vm)); - VIXL_ASSERT(vd.IsVector() || !vd.IsQ()); + VIXL_ASSERT(vd.IsLaneSizeH() || vd.IsLaneSizeS()); Instr format, op = NEON_SQRDMLAH; if (vd.IsScalar()) { - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; format = SFormat(vd); } else { format = VFormat(vd); @@ -4360,11 +4407,11 @@ void Assembler::sqrdmlsh(const VRegister& vd, const VRegister& vm) { VIXL_ASSERT(CPUHas(CPUFeatures::kNEON, CPUFeatures::kRDM)); VIXL_ASSERT(AreSameFormat(vd, vn, vm)); - VIXL_ASSERT(vd.IsVector() || !vd.IsQ()); + VIXL_ASSERT(vd.IsLaneSizeH() || vd.IsLaneSizeS()); Instr format, op = NEON_SQRDMLSH; if (vd.IsScalar()) { - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; format = SFormat(vd); } else { format = VFormat(vd); @@ -4625,13 +4672,13 @@ void Assembler::NEONFPByElement(const VRegister& vd, } if (vd.IsScalar()) { - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; } if (!vm.Is1H()) { op |= FPFormat(vd); } else if (vd.Is8H()) { - op |= static_cast(NEON_Q); + op |= NEON_Q; } Emit(op | ImmNEONHLM(vm_index, index_num_bits) | Rm(vm) | Rn(vn) | Rd(vd)); @@ -4653,7 +4700,7 @@ void Assembler::NEONByElement(const VRegister& vd, Instr format, op = vop; int index_num_bits = vm.Is1H() ? 3 : 2; if (vd.IsScalar()) { - op |= static_cast(NEONScalar) | static_cast(NEON_Q); + op |= NEONScalar | NEON_Q; format = SFormat(vn); } else { format = VFormat(vn); @@ -4681,7 +4728,7 @@ void Assembler::NEONByElementL(const VRegister& vd, Instr format, op = vop; int index_num_bits = vm.Is1H() ? 3 : 2; if (vd.IsScalar()) { - op |= static_cast(NEONScalar) | static_cast(NEON_Q); + op |= NEONScalar | NEON_Q; format = SFormat(vn); } else { format = VFormat(vn); @@ -4917,7 +4964,7 @@ void Assembler::NEONXtn(const VRegister& vd, if (vd.IsScalar()) { VIXL_ASSERT((vd.Is1B() && vn.Is1H()) || (vd.Is1H() && vn.Is1S()) || (vd.Is1S() && vn.Is1D())); - op |= static_cast(NEON_Q) | static_cast(NEONScalar); + op |= NEON_Q | NEONScalar; format = SFormat(vd); } else { VIXL_ASSERT((vd.Is8B() && vn.Is8H()) || (vd.Is4H() && vn.Is4S()) || @@ -5829,6 +5876,247 @@ void Assembler::ummla(const VRegister& vd, const VRegister& vn, const VRegister& Emit(0x6e80a400 | Rd(vd) | Rn(vn) | Rm(vm)); } +void Assembler::bcax(const VRegister& vd, const VRegister& vn, const VRegister& vm, const VRegister& va) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA3)); + VIXL_ASSERT(vd.Is16B() && vn.Is16B() && vm.Is16B()); + + Emit(0xce200000 | Rd(vd) | Rn(vn) | Rm(vm) | Ra(va)); +} + +void Assembler::eor3(const VRegister& vd, const VRegister& vn, const VRegister& vm, const VRegister& va) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA3)); + VIXL_ASSERT(vd.Is16B() && vn.Is16B() && vm.Is16B() && va.Is16B()); + + Emit(0xce000000 | Rd(vd) | Rn(vn) | Rm(vm) | Ra(va)); +} + +void Assembler::xar(const VRegister& vd, const VRegister& vn, const VRegister& vm, int rotate) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA3)); + VIXL_ASSERT(vd.Is2D() && vn.Is2D() && vm.Is2D()); + VIXL_ASSERT(IsUint6(rotate)); + + Emit(0xce800000 | Rd(vd) | Rn(vn) | Rm(vm) | rotate << 10); +} + +void Assembler::rax1(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA3)); + VIXL_ASSERT(vd.Is2D() && vn.Is2D() && vm.Is2D()); + + Emit(0xce608c00 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha1c(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA1)); + VIXL_ASSERT(vd.IsQ() && vn.IsS() && vm.Is4S()); + + Emit(0x5e000000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha1h(const VRegister& sd, const VRegister& sn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA1)); + VIXL_ASSERT(sd.IsS() && sn.IsS()); + + Emit(0x5e280800 | Rd(sd) | Rn(sn)); +} + +void Assembler::sha1m(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA1)); + VIXL_ASSERT(vd.IsQ() && vn.IsS() && vm.Is4S()); + + Emit(0x5e002000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha1p(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA1)); + VIXL_ASSERT(vd.IsQ() && vn.IsS() && vm.Is4S()); + + Emit(0x5e001000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha1su0(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA1)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + + Emit(0x5e003000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha1su1(const VRegister& vd, const VRegister& vn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA1)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S()); + + Emit(0x5e281800 | Rd(vd) | Rn(vn)); +} + +void Assembler::sha256h(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA2)); + VIXL_ASSERT(vd.IsQ() && vn.IsQ() && vm.Is4S()); + + Emit(0x5e004000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha256h2(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA2)); + VIXL_ASSERT(vd.IsQ() && vn.IsQ() && vm.Is4S()); + + Emit(0x5e005000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha256su0(const VRegister& vd, const VRegister& vn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA2)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S()); + + Emit(0x5e282800 | Rd(vd) | Rn(vn)); +} + +void Assembler::sha256su1(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA2)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + + Emit(0x5e006000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha512h(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA512)); + VIXL_ASSERT(vd.IsQ() && vn.IsQ() && vm.Is2D()); + + Emit(0xce608000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha512h2(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA512)); + VIXL_ASSERT(vd.IsQ() && vn.IsQ() && vm.Is2D()); + + Emit(0xce608400 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sha512su0(const VRegister& vd, const VRegister& vn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA512)); + VIXL_ASSERT(vd.Is2D() && vn.Is2D()); + + Emit(0xcec08000 | Rd(vd) | Rn(vn)); +} + +void Assembler::sha512su1(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSHA512)); + VIXL_ASSERT(vd.Is2D() && vn.Is2D() && vm.Is2D()); + + Emit(0xce608800 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::aesd(const VRegister& vd, const VRegister& vn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kAES)); + VIXL_ASSERT(vd.Is16B() && vn.Is16B()); + + Emit(0x4e285800 | Rd(vd) | Rn(vn)); +} + +void Assembler::aese(const VRegister& vd, const VRegister& vn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kAES)); + VIXL_ASSERT(vd.Is16B() && vn.Is16B()); + + Emit(0x4e284800 | Rd(vd) | Rn(vn)); +} + +void Assembler::aesimc(const VRegister& vd, const VRegister& vn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kAES)); + VIXL_ASSERT(vd.Is16B() && vn.Is16B()); + + Emit(0x4e287800 | Rd(vd) | Rn(vn)); +} + +void Assembler::aesmc(const VRegister& vd, const VRegister& vn) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kAES)); + VIXL_ASSERT(vd.Is16B() && vn.Is16B()); + + Emit(0x4e286800 | Rd(vd) | Rn(vn)); +} + +void Assembler::sm3partw1(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSM3)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + + Emit(0xce60c000 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sm3partw2(const VRegister& vd, const VRegister& vn, const VRegister& vm) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSM3)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + + Emit(0xce60c400 | Rd(vd) | Rn(vn) | Rm(vm)); +} + +void Assembler::sm3ss1(const VRegister& vd, const VRegister& vn, const VRegister& vm, const VRegister& va) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSM3)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S() && va.Is4S()); + + Emit(0xce400000 | Rd(vd) | Rn(vn) | Rm(vm) | Ra(va)); +} + +void Assembler::sm3tt1a(const VRegister& vd, const VRegister& vn, const VRegister& vm, int index) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSM3)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + VIXL_ASSERT(IsUint2(index)); + + Instr i = static_cast(index) << 12; + Emit(0xce408000 | Rd(vd) | Rn(vn) | Rm(vm) | i); +} + +void Assembler::sm3tt1b(const VRegister& vd, const VRegister& vn, const VRegister& vm, int index) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSM3)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + VIXL_ASSERT(IsUint2(index)); + + Instr i = static_cast(index) << 12; + Emit(0xce408400 | Rd(vd) | Rn(vn) | Rm(vm) | i); +} + +void Assembler::sm3tt2a(const VRegister& vd, const VRegister& vn, const VRegister& vm, int index) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSM3)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + VIXL_ASSERT(IsUint2(index)); + + Instr i = static_cast(index) << 12; + Emit(0xce408800 | Rd(vd) | Rn(vn) | Rm(vm) | i); +} + +void Assembler::sm3tt2b(const VRegister& vd, const VRegister& vn, const VRegister& vm, int index) { + VIXL_ASSERT(CPUHas(CPUFeatures::kNEON)); + VIXL_ASSERT(CPUHas(CPUFeatures::kSM3)); + VIXL_ASSERT(vd.Is4S() && vn.Is4S() && vm.Is4S()); + VIXL_ASSERT(IsUint2(index)); + + Instr i = static_cast(index) << 12; + Emit(0xce408c00 | Rd(vd) | Rn(vn) | Rm(vm) | i); +} + // Note: // For all ToImm instructions below, a difference in case // for the same letter indicates a negated bit. @@ -6005,15 +6293,13 @@ void Assembler::AddSub(const Register& rd, rn, operand.ToExtendedRegister(), S, - static_cast(AddSubExtendedFixed) | static_cast(op)); + AddSubExtendedFixed | op); } else { - DataProcShiftedRegister(rd, rn, operand, S, - static_cast(AddSubShiftedFixed) | static_cast(op)); + DataProcShiftedRegister(rd, rn, operand, S, AddSubShiftedFixed | op); } } else { VIXL_ASSERT(operand.IsExtendedRegister()); - DataProcExtendedRegister(rd, rn, operand, S, - static_cast(AddSubExtendedFixed) | static_cast(op)); + DataProcExtendedRegister(rd, rn, operand, S, AddSubExtendedFixed | op); } } @@ -6079,7 +6365,7 @@ void Assembler::Logical(const Register& rd, } else { VIXL_ASSERT(operand.IsShiftedRegister()); VIXL_ASSERT(operand.GetRegister().GetSizeInBits() == rd.GetSizeInBits()); - Instr dp_op = static_cast(op) | static_cast(LogicalShiftedFixed); + Instr dp_op = static_cast(op | LogicalShiftedFixed); DataProcShiftedRegister(rd, rn, operand, LeaveFlags, dp_op); } } @@ -6108,14 +6394,11 @@ void Assembler::ConditionalCompare(const Register& rn, if (operand.IsImmediate()) { int64_t immediate = operand.GetImmediate(); VIXL_ASSERT(IsImmConditionalCompare(immediate)); - ccmpop = static_cast(ConditionalCompareImmediateFixed) | - static_cast(op) | + ccmpop = ConditionalCompareImmediateFixed | op | ImmCondCmp(static_cast(immediate)); } else { VIXL_ASSERT(operand.IsShiftedRegister() && (operand.GetShiftAmount() == 0)); - ccmpop = static_cast(ConditionalCompareRegisterFixed) | - static_cast(op) | - Rm(operand.GetRegister()); + ccmpop = ConditionalCompareRegisterFixed | op | Rm(operand.GetRegister()); } Emit(SF(rn) | ccmpop | Cond(cond) | Rn(rn) | Nzcv(nzcv)); } diff --git a/3rdparty/vixl/src/aarch64/cpu-features-auditor-aarch64.cc b/3rdparty/vixl/src/aarch64/cpu-features-auditor-aarch64.cc index 563ee078d20ee..66d29f0ecc223 100644 --- a/3rdparty/vixl/src/aarch64/cpu-features-auditor-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/cpu-features-auditor-aarch64.cc @@ -24,12 +24,13 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include "cpu-features-auditor-aarch64.h" + #include "cpu-features.h" #include "globals-vixl.h" #include "utils-vixl.h" -#include "decoder-aarch64.h" -#include "cpu-features-auditor-aarch64.h" +#include "decoder-aarch64.h" namespace vixl { namespace aarch64 { @@ -246,16 +247,41 @@ void CPUFeaturesAuditor::VisitConditionalSelect(const Instruction* instr) { void CPUFeaturesAuditor::VisitCrypto2RegSHA(const Instruction* instr) { RecordInstructionFeaturesScope scope(this); + if (form_hash_ == "sha256su0_vv_cryptosha2"_h) { + scope.Record(CPUFeatures::kNEON, CPUFeatures::kSHA2); + } else { + scope.Record(CPUFeatures::kNEON, CPUFeatures::kSHA1); + } USE(instr); } void CPUFeaturesAuditor::VisitCrypto3RegSHA(const Instruction* instr) { RecordInstructionFeaturesScope scope(this); + switch (form_hash_) { + case "sha1c_qsv_cryptosha3"_h: + case "sha1m_qsv_cryptosha3"_h: + case "sha1p_qsv_cryptosha3"_h: + case "sha1su0_vvv_cryptosha3"_h: + scope.Record(CPUFeatures::kNEON, CPUFeatures::kSHA1); + break; + case "sha256h_qqv_cryptosha3"_h: + case "sha256h2_qqv_cryptosha3"_h: + case "sha256su1_vvv_cryptosha3"_h: + scope.Record(CPUFeatures::kNEON, CPUFeatures::kSHA2); + break; + } USE(instr); } void CPUFeaturesAuditor::VisitCryptoAES(const Instruction* instr) { RecordInstructionFeaturesScope scope(this); + scope.Record(CPUFeatures::kNEON, CPUFeatures::kAES); + USE(instr); +} + +void CPUFeaturesAuditor::VisitCryptoSM3(const Instruction* instr) { + RecordInstructionFeaturesScope scope(this); + scope.Record(CPUFeatures::kNEON, CPUFeatures::kSM3); USE(instr); } @@ -735,6 +761,12 @@ void CPUFeaturesAuditor::VisitNEON3Different(const Instruction* instr) { RecordInstructionFeaturesScope scope(this); // All of these instructions require NEON. scope.Record(CPUFeatures::kNEON); + if (form_hash_ == "pmull_asimddiff_l"_h) { + if (instr->GetNEONSize() == 3) { + // Source is 1D or 2D, destination is 1Q. + scope.Record(CPUFeatures::kPmull1Q); + } + } USE(instr); } @@ -1269,91 +1301,93 @@ VIXL_SIMPLE_SVE_VISITOR_LIST(VIXL_DEFINE_SIMPLE_SVE_VISITOR) void CPUFeaturesAuditor::VisitSystem(const Instruction* instr) { RecordInstructionFeaturesScope scope(this); - if (instr->Mask(SystemHintFMask) == SystemHintFixed) { - CPUFeatures required; - switch (instr->GetInstructionBits()) { - case PACIA1716: - case PACIB1716: - case AUTIA1716: - case AUTIB1716: - case PACIAZ: - case PACIASP: - case PACIBZ: - case PACIBSP: - case AUTIAZ: - case AUTIASP: - case AUTIBZ: - case AUTIBSP: - case XPACLRI: - required.Combine(CPUFeatures::kPAuth); - break; - default: - switch (instr->GetImmHint()) { - case ESB: - required.Combine(CPUFeatures::kRAS); - break; - case BTI: - case BTI_j: - case BTI_c: - case BTI_jc: - required.Combine(CPUFeatures::kBTI); - break; - default: - break; - } - break; - } - // These are all HINT instructions, and behave as NOPs if the corresponding - // features are not implemented, so we record the corresponding features - // only if they are available. - if (available_.Has(required)) scope.Record(required); - } else if (instr->Mask(SystemSysMask) == SYS) { - switch (instr->GetSysOp()) { - // DC instruction variants. - case CGVAC: - case CGDVAC: - case CGVAP: - case CGDVAP: - case CIGVAC: - case CIGDVAC: - case GVA: - case GZVA: - scope.Record(CPUFeatures::kMTE); - break; - case CVAP: - scope.Record(CPUFeatures::kDCPoP); - break; - case CVADP: - scope.Record(CPUFeatures::kDCCVADP); - break; - case IVAU: - case CVAC: - case CVAU: - case CIVAC: - case ZVA: - // No special CPU features. - break; - } - } else if (instr->Mask(SystemPStateFMask) == SystemPStateFixed) { - switch (instr->Mask(SystemPStateMask)) { - case CFINV: - scope.Record(CPUFeatures::kFlagM); - break; - case AXFLAG: - case XAFLAG: - scope.Record(CPUFeatures::kAXFlag); - break; - } - } else if (instr->Mask(SystemSysRegFMask) == SystemSysRegFixed) { - if (instr->Mask(SystemSysRegMask) == MRS) { + CPUFeatures required; + switch (form_hash_) { + case "pacib1716_hi_hints"_h: + case "pacia1716_hi_hints"_h: + case "pacibsp_hi_hints"_h: + case "paciasp_hi_hints"_h: + case "pacibz_hi_hints"_h: + case "paciaz_hi_hints"_h: + case "autib1716_hi_hints"_h: + case "autia1716_hi_hints"_h: + case "autibsp_hi_hints"_h: + case "autiasp_hi_hints"_h: + case "autibz_hi_hints"_h: + case "autiaz_hi_hints"_h: + case "xpaclri_hi_hints"_h: + required.Combine(CPUFeatures::kPAuth); + break; + case "esb_hi_hints"_h: + required.Combine(CPUFeatures::kRAS); + break; + case "bti_hb_hints"_h: + required.Combine(CPUFeatures::kBTI); + break; + } + + // The instructions above are all HINTs and behave as NOPs if the + // corresponding features are not implemented, so we record the corresponding + // features only if they are available. + if (available_.Has(required)) scope.Record(required); + + switch (form_hash_) { + case "cfinv_m_pstate"_h: + scope.Record(CPUFeatures::kFlagM); + break; + case "axflag_m_pstate"_h: + case "xaflag_m_pstate"_h: + scope.Record(CPUFeatures::kAXFlag); + break; + case "mrs_rs_systemmove"_h: switch (instr->GetImmSystemRegister()) { case RNDR: case RNDRRS: scope.Record(CPUFeatures::kRNG); break; } - } + break; + case "sys_cr_systeminstrs"_h: + switch (instr->GetSysOp()) { + // DC instruction variants. + case CGVAC: + case CGDVAC: + case CGVAP: + case CGDVAP: + case CIGVAC: + case CIGDVAC: + case GVA: + case GZVA: + scope.Record(CPUFeatures::kMTE); + break; + case CVAP: + scope.Record(CPUFeatures::kDCPoP); + break; + case CVADP: + scope.Record(CPUFeatures::kDCCVADP); + break; + case IVAU: + case CVAC: + case CVAU: + case CIVAC: + case ZVA: + // No special CPU features. + break; + case GCSPUSHM: + case GCSSS1: + scope.Record(CPUFeatures::kGCS); + break; + } + break; + case "sysl_rc_systeminstrs"_h: + switch (instr->GetSysOp()) { + case GCSPOPM: + case GCSSS2: + scope.Record(CPUFeatures::kGCS); + break; + } + break; } } @@ -1407,9 +1441,9 @@ void CPUFeaturesAuditor::VisitUnimplemented(const Instruction* instr) { void CPUFeaturesAuditor::Visit(Metadata* metadata, const Instruction* instr) { VIXL_ASSERT(metadata->count("form") > 0); const std::string& form = (*metadata)["form"]; - uint32_t form_hash = Hash(form.c_str()); + form_hash_ = Hash(form.c_str()); const FormToVisitorFnMap* fv = CPUFeaturesAuditor::GetFormToVisitorFnMap(); - FormToVisitorFnMap::const_iterator it = fv->find(form_hash); + FormToVisitorFnMap::const_iterator it = fv->find(form_hash_); if (it == fv->end()) { RecordInstructionFeaturesScope scope(this); std::map features = { @@ -1826,10 +1860,26 @@ void CPUFeaturesAuditor::Visit(Metadata* metadata, const Instruction* instr) { {"umax_64u_minmax_imm"_h, CPUFeatures::kCSSC}, {"umin_32u_minmax_imm"_h, CPUFeatures::kCSSC}, {"umin_64u_minmax_imm"_h, CPUFeatures::kCSSC}, + {"bcax_vvv16_crypto4"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA3)}, + {"eor3_vvv16_crypto4"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA3)}, + {"rax1_vvv2_cryptosha512_3"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA3)}, + {"xar_vvv2_crypto3_imm6"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA3)}, + {"sha512h_qqv_cryptosha512_3"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA512)}, + {"sha512h2_qqv_cryptosha512_3"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA512)}, + {"sha512su0_vv2_cryptosha512_2"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA512)}, + {"sha512su1_vvv2_cryptosha512_3"_h, + CPUFeatures(CPUFeatures::kNEON, CPUFeatures::kSHA512)}, }; - if (features.count(form_hash) > 0) { - scope.Record(features[form_hash]); + if (features.count(form_hash_) > 0) { + scope.Record(features[form_hash_]); } } else { (it->second)(this, instr); diff --git a/3rdparty/vixl/src/aarch64/decoder-aarch64.cc b/3rdparty/vixl/src/aarch64/decoder-aarch64.cc index dc56633aa5b7c..4ff02c114d3e3 100644 --- a/3rdparty/vixl/src/aarch64/decoder-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/decoder-aarch64.cc @@ -24,12 +24,13 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include "decoder-aarch64.h" + #include #include "../globals-vixl.h" #include "../utils-vixl.h" -#include "decoder-aarch64.h" #include "decoder-constants-aarch64.h" namespace vixl { diff --git a/3rdparty/vixl/src/aarch64/disasm-aarch64.cc b/3rdparty/vixl/src/aarch64/disasm-aarch64.cc index 3592752c7c6f9..ec4dfc9edb453 100644 --- a/3rdparty/vixl/src/aarch64/disasm-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/disasm-aarch64.cc @@ -24,12 +24,12 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include "disasm-aarch64.h" + #include #include #include -#include "disasm-aarch64.h" - namespace vixl { namespace aarch64 { @@ -330,6 +330,7 @@ const Disassembler::FormToVisitorFnMap *Disassembler::GetFormToVisitorFnMap() { {"frsqrte_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc}, {"scvtf_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc}, {"ucvtf_asisdmisc_r"_h, &Disassembler::DisassembleNEONFPScalar2RegMisc}, + {"pmull_asimddiff_l"_h, &Disassembler::DisassembleNEONPolynomialMul}, {"adclb_z_zzz"_h, &Disassembler::DisassembleSVEAddSubCarry}, {"adclt_z_zzz"_h, &Disassembler::DisassembleSVEAddSubCarry}, {"addhnb_z_zz"_h, &Disassembler::DisassembleSVEAddSubHigh}, @@ -752,6 +753,14 @@ const Disassembler::FormToVisitorFnMap *Disassembler::GetFormToVisitorFnMap() { {"umax_64u_minmax_imm"_h, &Disassembler::DisassembleMinMaxImm}, {"umin_32u_minmax_imm"_h, &Disassembler::DisassembleMinMaxImm}, {"umin_64u_minmax_imm"_h, &Disassembler::DisassembleMinMaxImm}, + {"bcax_vvv16_crypto4"_h, &Disassembler::DisassembleNEON4Same}, + {"eor3_vvv16_crypto4"_h, &Disassembler::DisassembleNEON4Same}, + {"xar_vvv2_crypto3_imm6"_h, &Disassembler::DisassembleNEONXar}, + {"rax1_vvv2_cryptosha512_3"_h, &Disassembler::DisassembleNEONRax1}, + {"sha512h2_qqv_cryptosha512_3"_h, &Disassembler::DisassembleSHA512}, + {"sha512h_qqv_cryptosha512_3"_h, &Disassembler::DisassembleSHA512}, + {"sha512su0_vv2_cryptosha512_2"_h, &Disassembler::DisassembleSHA512}, + {"sha512su1_vvv2_cryptosha512_3"_h, &Disassembler::DisassembleSHA512}, }; return &form_to_visitor; } // NOLINT(readability/fn_size) @@ -2017,7 +2026,7 @@ void Disassembler::DisassembleNoArgs(const Instruction *instr) { void Disassembler::VisitSystem(const Instruction *instr) { const char *mnemonic = mnemonic_.c_str(); - const char *form = "(System)"; + const char *form = ""; const char *suffix = NULL; switch (form_hash_) { @@ -2046,6 +2055,10 @@ void Disassembler::VisitSystem(const Instruction *instr) { break; } break; + case "chkfeat_hf_hints"_h: + mnemonic = "chkfeat"; + form = "x16"; + break; case "hint_hm_hints"_h: form = "'IH"; break; @@ -2066,9 +2079,6 @@ void Disassembler::VisitSystem(const Instruction *instr) { break; } case Hash("sys_cr_systeminstrs"): { - mnemonic = "dc"; - suffix = ", 'Xt"; - const std::map dcop = { {IVAU, "ivau"}, {CVAC, "cvac"}, @@ -2091,17 +2101,36 @@ void Disassembler::VisitSystem(const Instruction *instr) { if (dcop.count(sysop)) { if (sysop == IVAU) { mnemonic = "ic"; + } else { + mnemonic = "dc"; } form = dcop.at(sysop); + suffix = ", 'Xt"; + } else if (sysop == GCSSS1) { + mnemonic = "gcsss1"; + form = "'Xt"; + } else if (sysop == GCSPUSHM) { + mnemonic = "gcspushm"; + form = "'Xt"; } else { mnemonic = "sys"; form = "'G1, 'Kn, 'Km, 'G2"; - if (instr->GetRt() == 31) { - suffix = NULL; + if (instr->GetRt() < 31) { + suffix = ", 'Xt"; } - break; } + break; } + case "sysl_rc_systeminstrs"_h: + uint32_t sysop = instr->GetSysOp(); + if (sysop == GCSPOPM) { + mnemonic = "gcspopm"; + form = (instr->GetRt() == 31) ? "" : "'Xt"; + } else if (sysop == GCSSS2) { + mnemonic = "gcsss2"; + form = "'Xt"; + } + break; } Format(instr, mnemonic, form, suffix); } @@ -2147,17 +2176,64 @@ void Disassembler::VisitException(const Instruction *instr) { void Disassembler::VisitCrypto2RegSHA(const Instruction *instr) { - VisitUnimplemented(instr); + const char *form = "'Vd.4s, 'Vn.4s"; + if (form_hash_ == "sha1h_ss_cryptosha2"_h) { + form = "'Sd, 'Sn"; + } + FormatWithDecodedMnemonic(instr, form); } void Disassembler::VisitCrypto3RegSHA(const Instruction *instr) { - VisitUnimplemented(instr); + const char *form = "'Qd, 'Sn, 'Vm.4s"; + switch (form_hash_) { + case "sha1su0_vvv_cryptosha3"_h: + case "sha256su1_vvv_cryptosha3"_h: + form = "'Vd.4s, 'Vn.4s, 'Vm.4s"; + break; + case "sha256h_qqv_cryptosha3"_h: + case "sha256h2_qqv_cryptosha3"_h: + form = "'Qd, 'Qn, 'Vm.4s"; + break; + } + FormatWithDecodedMnemonic(instr, form); } void Disassembler::VisitCryptoAES(const Instruction *instr) { - VisitUnimplemented(instr); + FormatWithDecodedMnemonic(instr, "'Vd.16b, 'Vn.16b"); +} + +void Disassembler::VisitCryptoSM3(const Instruction *instr) { + const char *form = "'Vd.4s, 'Vn.4s, 'Vm."; + const char *suffix = "4s"; + + switch (form_hash_) { + case "sm3ss1_vvv4_crypto4"_h: + suffix = "4s, 'Va.4s"; + break; + case "sm3tt1a_vvv4_crypto3_imm2"_h: + case "sm3tt1b_vvv4_crypto3_imm2"_h: + case "sm3tt2a_vvv4_crypto3_imm2"_h: + case "sm3tt2b_vvv_crypto3_imm2"_h: + suffix = "s['u1312]"; + break; + } + + FormatWithDecodedMnemonic(instr, form, suffix); +} + +void Disassembler::DisassembleSHA512(const Instruction *instr) { + const char *form = "'Qd, 'Qn, 'Vm.2d"; + const char *suffix = NULL; + switch (form_hash_) { + case "sha512su1_vvv2_cryptosha512_3"_h: + suffix = ", 'Vm.2d"; + VIXL_FALLTHROUGH(); + case "sha512su0_vv2_cryptosha512_2"_h: + form = "'Vd.2d, 'Vn.2d"; + } + FormatWithDecodedMnemonic(instr, form, suffix); } void Disassembler::DisassembleNEON2RegAddlp(const Instruction *instr) { @@ -2373,13 +2449,19 @@ void Disassembler::VisitNEON3SameFP16(const Instruction *instr) { } void Disassembler::VisitNEON3SameExtra(const Instruction *instr) { - static const NEONFormatMap map_usdot = {{30}, {NF_8B, NF_16B}}; + static const NEONFormatMap map_dot = + {{23, 22, 30}, {NF_UNDEF, NF_UNDEF, NF_UNDEF, NF_UNDEF, NF_2S, NF_4S}}; + static const NEONFormatMap map_fc = + {{23, 22, 30}, + {NF_UNDEF, NF_UNDEF, NF_4H, NF_8H, NF_2S, NF_4S, NF_UNDEF, NF_2D}}; + static const NEONFormatMap map_rdm = + {{23, 22, 30}, {NF_UNDEF, NF_UNDEF, NF_4H, NF_8H, NF_2S, NF_4S}}; const char *mnemonic = mnemonic_.c_str(); const char *form = "'Vd.%s, 'Vn.%s, 'Vm.%s"; const char *suffix = NULL; - NEONFormatDecoder nfd(instr); + NEONFormatDecoder nfd(instr, &map_fc); switch (form_hash_) { case "fcmla_asimdsame2_c"_h: @@ -2392,17 +2474,28 @@ void Disassembler::VisitNEON3SameExtra(const Instruction *instr) { case "sdot_asimdsame2_d"_h: case "udot_asimdsame2_d"_h: case "usdot_asimdsame2_d"_h: - nfd.SetFormatMap(1, &map_usdot); - nfd.SetFormatMap(2, &map_usdot); + nfd.SetFormatMaps(nfd.LogicalFormatMap()); + nfd.SetFormatMap(0, &map_dot); break; default: - // sqrdml[as]h - nothing to do. + nfd.SetFormatMaps(&map_rdm); break; } Format(instr, mnemonic, nfd.Substitute(form), suffix); } +void Disassembler::DisassembleNEON4Same(const Instruction *instr) { + FormatWithDecodedMnemonic(instr, "'Vd.16b, 'Vn.16b, 'Vm.16b, 'Va.16b"); +} + +void Disassembler::DisassembleNEONXar(const Instruction *instr) { + FormatWithDecodedMnemonic(instr, "'Vd.2d, 'Vn.2d, 'Vm.2d, #'u1510"); +} + +void Disassembler::DisassembleNEONRax1(const Instruction *instr) { + FormatWithDecodedMnemonic(instr, "'Vd.2d, 'Vn.2d, 'Vm.2d"); +} void Disassembler::VisitNEON3Different(const Instruction *instr) { const char *mnemonic = mnemonic_.c_str(); @@ -2425,11 +2518,6 @@ void Disassembler::VisitNEON3Different(const Instruction *instr) { nfd.SetFormatMaps(nfd.LongIntegerFormatMap()); nfd.SetFormatMap(0, nfd.IntegerFormatMap()); break; - case "pmull_asimddiff_l"_h: - if (nfd.GetVectorFormat(0) != kFormat8H) { - mnemonic = NULL; - } - break; case "sqdmlal_asimddiff_l"_h: case "sqdmlsl_asimddiff_l"_h: case "sqdmull_asimddiff_l"_h: @@ -2441,6 +2529,22 @@ void Disassembler::VisitNEON3Different(const Instruction *instr) { Format(instr, nfd.Mnemonic(mnemonic), nfd.Substitute(form)); } +void Disassembler::DisassembleNEONPolynomialMul(const Instruction *instr) { + const char *mnemonic = instr->ExtractBit(30) ? "pmull2" : "pmull"; + const char *form = NULL; + int size = instr->ExtractBits(23, 22); + if (size == 0) { + // Bits 30:27 of the instruction are x001, where x is the Q bit. Map + // this to "8" and "16" by adding 7. + form = "'Vd.8h, 'Vn.'u3127+7b, 'Vm.'u3127+7b"; + } else if (size == 3) { + form = "'Vd.1q, 'Vn.'?30:21d, 'Vm.'?30:21d"; + } else { + mnemonic = NULL; + } + Format(instr, mnemonic, form); +} + void Disassembler::DisassembleNEONFPAcrossLanes(const Instruction *instr) { const char *mnemonic = mnemonic_.c_str(); const char *form = "'Sd, 'Vn.4s"; @@ -3298,6 +3402,8 @@ void Disassembler::VisitNEONScalar3Same(const Instruction *instr) { break; case "sqdmulh_asisdsame_only"_h: case "sqrdmulh_asisdsame_only"_h: + case "sqrdmlah_asisdsame2_only"_h: + case "sqrdmlsh_asisdsame2_only"_h: if ((vform == kFormatB) || (vform == kFormatD)) { mnemonic = NULL; } @@ -3916,8 +4022,7 @@ static bool SVEMoveMaskPreferred(uint64_t value, int lane_bytes_log2) { } // Check 0x0000pq00_0000pq00 or 0xffffpq00_ffffpq00. - uint64_t rotvalue = RotateRight(value, 32, 64); - if (value == rotvalue) { + if (AllWordsMatch(value)) { generic_value &= 0xffffffff; if ((generic_value == 0xffff) || (generic_value == UINT32_MAX)) { return false; @@ -3925,8 +4030,7 @@ static bool SVEMoveMaskPreferred(uint64_t value, int lane_bytes_log2) { } // Check 0xpq00pq00_pq00pq00. - rotvalue = RotateRight(value, 16, 64); - if (value == rotvalue) { + if (AllHalfwordsMatch(value)) { return false; } } else { @@ -3940,8 +4044,7 @@ static bool SVEMoveMaskPreferred(uint64_t value, int lane_bytes_log2) { } // Check 0x000000pq_000000pq or 0xffffffpq_ffffffpq. - uint64_t rotvalue = RotateRight(value, 32, 64); - if (value == rotvalue) { + if (AllWordsMatch(value)) { generic_value &= 0xffffffff; if ((generic_value == 0xff) || (generic_value == UINT32_MAX)) { return false; @@ -3949,8 +4052,7 @@ static bool SVEMoveMaskPreferred(uint64_t value, int lane_bytes_log2) { } // Check 0x00pq00pq_00pq00pq or 0xffpqffpq_ffpqffpq. - rotvalue = RotateRight(value, 16, 64); - if (value == rotvalue) { + if (AllHalfwordsMatch(value)) { generic_value &= 0xffff; if ((generic_value == 0xff) || (generic_value == UINT16_MAX)) { return false; @@ -3958,8 +4060,7 @@ static bool SVEMoveMaskPreferred(uint64_t value, int lane_bytes_log2) { } // Check 0xpqpqpqpq_pqpqpqpq. - rotvalue = RotateRight(value, 8, 64); - if (value == rotvalue) { + if (AllBytesMatch(value)) { return false; } } diff --git a/3rdparty/vixl/src/aarch64/instructions-aarch64.cc b/3rdparty/vixl/src/aarch64/instructions-aarch64.cc index a2d0547219913..2ac3bcaca03ce 100644 --- a/3rdparty/vixl/src/aarch64/instructions-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/instructions-aarch64.cc @@ -25,6 +25,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "instructions-aarch64.h" + #include "assembler-aarch64.h" namespace vixl { @@ -1010,6 +1011,8 @@ VectorFormat VectorFormatHalfWidth(VectorFormat vform) { return kFormat4H; case kFormat2D: return kFormat2S; + case kFormat1Q: + return kFormat1D; case kFormatH: return kFormatB; case kFormatS: @@ -1094,6 +1097,8 @@ VectorFormat VectorFormatHalfWidthDoubleLanes(VectorFormat vform) { return kFormat2S; case kFormat2D: return kFormat4S; + case kFormat1Q: + return kFormat2D; case kFormatVnH: return kFormatVnB; case kFormatVnS: @@ -1245,6 +1250,7 @@ unsigned RegisterSizeInBitsFromFormat(VectorFormat vform) { case kFormat8H: case kFormat4S: case kFormat2D: + case kFormat1Q: return kQRegSize; default: VIXL_UNREACHABLE(); @@ -1282,6 +1288,7 @@ unsigned LaneSizeInBitsFromFormat(VectorFormat vform) { case kFormat2D: case kFormatVnD: return 64; + case kFormat1Q: case kFormatVnQ: return 128; case kFormatVnO: @@ -1347,6 +1354,7 @@ int LaneCountFromFormat(VectorFormat vform) { case kFormat2D: return 2; case kFormat1D: + case kFormat1Q: case kFormatB: case kFormatH: case kFormatS: diff --git a/3rdparty/vixl/src/aarch64/logic-aarch64.cc b/3rdparty/vixl/src/aarch64/logic-aarch64.cc index 11229ad65878f..246ffe9c5899d 100644 --- a/3rdparty/vixl/src/aarch64/logic-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/logic-aarch64.cc @@ -36,33 +36,33 @@ namespace aarch64 { using vixl::internal::SimFloat16; template -bool IsFloat64() { +constexpr bool IsFloat64() { return false; } template <> -bool IsFloat64() { +constexpr bool IsFloat64() { return true; } template -bool IsFloat32() { +constexpr bool IsFloat32() { return false; } template <> -bool IsFloat32() { +constexpr bool IsFloat32() { return true; } template -bool IsFloat16() { +constexpr bool IsFloat16() { return false; } template <> -bool IsFloat16() { +constexpr bool IsFloat16() { return true; } template <> -bool IsFloat16() { +constexpr bool IsFloat16() { return true; } @@ -168,11 +168,12 @@ SimFloat16 Simulator::UFixedToFloat16(uint64_t src, uint64_t Simulator::GenerateRandomTag(uint16_t exclude) { - uint64_t rtag = nrand48(rand_state_) >> 28; + // Generate a 4 bit integer from a 48bit random number + uint64_t rtag = rand_gen_() >> 44; VIXL_ASSERT(IsUint4(rtag)); if (exclude == 0) { - exclude = nrand48(rand_state_) >> 27; + exclude = static_cast(rand_gen_() >> 44); } // TODO: implement this to better match the specification, which calls for a @@ -182,24 +183,28 @@ uint64_t Simulator::GenerateRandomTag(uint16_t exclude) { } -void Simulator::ld1(VectorFormat vform, LogicVRegister dst, uint64_t addr) { +bool Simulator::ld1(VectorFormat vform, LogicVRegister dst, uint64_t addr) { dst.ClearForWrite(vform); for (int i = 0; i < LaneCountFromFormat(vform); i++) { - LoadLane(dst, vform, i, addr); + if (!LoadLane(dst, vform, i, addr)) { + return false; + } addr += LaneSizeInBytesFromFormat(vform); } + return true; } -void Simulator::ld1(VectorFormat vform, +bool Simulator::ld1(VectorFormat vform, LogicVRegister dst, int index, uint64_t addr) { - LoadLane(dst, vform, index, addr); + dst.ClearForWrite(vform); + return LoadLane(dst, vform, index, addr); } -void Simulator::ld1r(VectorFormat vform, +bool Simulator::ld1r(VectorFormat vform, VectorFormat unpack_vform, LogicVRegister dst, uint64_t addr, @@ -208,20 +213,25 @@ void Simulator::ld1r(VectorFormat vform, dst.ClearForWrite(vform); for (int i = 0; i < LaneCountFromFormat(vform); i++) { if (is_signed) { - LoadIntToLane(dst, vform, unpack_size, i, addr); + if (!LoadIntToLane(dst, vform, unpack_size, i, addr)) { + return false; + } } else { - LoadUintToLane(dst, vform, unpack_size, i, addr); + if (!LoadUintToLane(dst, vform, unpack_size, i, addr)) { + return false; + } } } + return true; } -void Simulator::ld1r(VectorFormat vform, LogicVRegister dst, uint64_t addr) { - ld1r(vform, vform, dst, addr); +bool Simulator::ld1r(VectorFormat vform, LogicVRegister dst, uint64_t addr) { + return ld1r(vform, vform, dst, addr); } -void Simulator::ld2(VectorFormat vform, +bool Simulator::ld2(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, uint64_t addr1) { @@ -230,15 +240,17 @@ void Simulator::ld2(VectorFormat vform, int esize = LaneSizeInBytesFromFormat(vform); uint64_t addr2 = addr1 + esize; for (int i = 0; i < LaneCountFromFormat(vform); i++) { - LoadLane(dst1, vform, i, addr1); - LoadLane(dst2, vform, i, addr2); + if (!LoadLane(dst1, vform, i, addr1) || !LoadLane(dst2, vform, i, addr2)) { + return false; + } addr1 += 2 * esize; addr2 += 2 * esize; } + return true; } -void Simulator::ld2(VectorFormat vform, +bool Simulator::ld2(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, int index, @@ -246,12 +258,12 @@ void Simulator::ld2(VectorFormat vform, dst1.ClearForWrite(vform); dst2.ClearForWrite(vform); uint64_t addr2 = addr1 + LaneSizeInBytesFromFormat(vform); - LoadLane(dst1, vform, index, addr1); - LoadLane(dst2, vform, index, addr2); + return (LoadLane(dst1, vform, index, addr1) && + LoadLane(dst2, vform, index, addr2)); } -void Simulator::ld2r(VectorFormat vform, +bool Simulator::ld2r(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, uint64_t addr) { @@ -259,13 +271,15 @@ void Simulator::ld2r(VectorFormat vform, dst2.ClearForWrite(vform); uint64_t addr2 = addr + LaneSizeInBytesFromFormat(vform); for (int i = 0; i < LaneCountFromFormat(vform); i++) { - LoadLane(dst1, vform, i, addr); - LoadLane(dst2, vform, i, addr2); + if (!LoadLane(dst1, vform, i, addr) || !LoadLane(dst2, vform, i, addr2)) { + return false; + } } + return true; } -void Simulator::ld3(VectorFormat vform, +bool Simulator::ld3(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, @@ -277,17 +291,19 @@ void Simulator::ld3(VectorFormat vform, uint64_t addr2 = addr1 + esize; uint64_t addr3 = addr2 + esize; for (int i = 0; i < LaneCountFromFormat(vform); i++) { - LoadLane(dst1, vform, i, addr1); - LoadLane(dst2, vform, i, addr2); - LoadLane(dst3, vform, i, addr3); + if (!LoadLane(dst1, vform, i, addr1) || !LoadLane(dst2, vform, i, addr2) || + !LoadLane(dst3, vform, i, addr3)) { + return false; + } addr1 += 3 * esize; addr2 += 3 * esize; addr3 += 3 * esize; } + return true; } -void Simulator::ld3(VectorFormat vform, +bool Simulator::ld3(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, @@ -298,13 +314,13 @@ void Simulator::ld3(VectorFormat vform, dst3.ClearForWrite(vform); uint64_t addr2 = addr1 + LaneSizeInBytesFromFormat(vform); uint64_t addr3 = addr2 + LaneSizeInBytesFromFormat(vform); - LoadLane(dst1, vform, index, addr1); - LoadLane(dst2, vform, index, addr2); - LoadLane(dst3, vform, index, addr3); + return (LoadLane(dst1, vform, index, addr1) && + LoadLane(dst2, vform, index, addr2) && + LoadLane(dst3, vform, index, addr3)); } -void Simulator::ld3r(VectorFormat vform, +bool Simulator::ld3r(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, @@ -315,14 +331,16 @@ void Simulator::ld3r(VectorFormat vform, uint64_t addr2 = addr + LaneSizeInBytesFromFormat(vform); uint64_t addr3 = addr2 + LaneSizeInBytesFromFormat(vform); for (int i = 0; i < LaneCountFromFormat(vform); i++) { - LoadLane(dst1, vform, i, addr); - LoadLane(dst2, vform, i, addr2); - LoadLane(dst3, vform, i, addr3); + if (!LoadLane(dst1, vform, i, addr) || !LoadLane(dst2, vform, i, addr2) || + !LoadLane(dst3, vform, i, addr3)) { + return false; + } } + return true; } -void Simulator::ld4(VectorFormat vform, +bool Simulator::ld4(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, @@ -337,19 +355,20 @@ void Simulator::ld4(VectorFormat vform, uint64_t addr3 = addr2 + esize; uint64_t addr4 = addr3 + esize; for (int i = 0; i < LaneCountFromFormat(vform); i++) { - LoadLane(dst1, vform, i, addr1); - LoadLane(dst2, vform, i, addr2); - LoadLane(dst3, vform, i, addr3); - LoadLane(dst4, vform, i, addr4); + if (!LoadLane(dst1, vform, i, addr1) || !LoadLane(dst2, vform, i, addr2) || + !LoadLane(dst3, vform, i, addr3) || !LoadLane(dst4, vform, i, addr4)) { + return false; + } addr1 += 4 * esize; addr2 += 4 * esize; addr3 += 4 * esize; addr4 += 4 * esize; } + return true; } -void Simulator::ld4(VectorFormat vform, +bool Simulator::ld4(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, @@ -363,14 +382,14 @@ void Simulator::ld4(VectorFormat vform, uint64_t addr2 = addr1 + LaneSizeInBytesFromFormat(vform); uint64_t addr3 = addr2 + LaneSizeInBytesFromFormat(vform); uint64_t addr4 = addr3 + LaneSizeInBytesFromFormat(vform); - LoadLane(dst1, vform, index, addr1); - LoadLane(dst2, vform, index, addr2); - LoadLane(dst3, vform, index, addr3); - LoadLane(dst4, vform, index, addr4); + return (LoadLane(dst1, vform, index, addr1) && + LoadLane(dst2, vform, index, addr2) && + LoadLane(dst3, vform, index, addr3) && + LoadLane(dst4, vform, index, addr4)); } -void Simulator::ld4r(VectorFormat vform, +bool Simulator::ld4r(VectorFormat vform, LogicVRegister dst1, LogicVRegister dst2, LogicVRegister dst3, @@ -384,57 +403,61 @@ void Simulator::ld4r(VectorFormat vform, uint64_t addr3 = addr2 + LaneSizeInBytesFromFormat(vform); uint64_t addr4 = addr3 + LaneSizeInBytesFromFormat(vform); for (int i = 0; i < LaneCountFromFormat(vform); i++) { - LoadLane(dst1, vform, i, addr); - LoadLane(dst2, vform, i, addr2); - LoadLane(dst3, vform, i, addr3); - LoadLane(dst4, vform, i, addr4); + if (!LoadLane(dst1, vform, i, addr) || !LoadLane(dst2, vform, i, addr2) || + !LoadLane(dst3, vform, i, addr3) || !LoadLane(dst4, vform, i, addr4)) { + return false; + } } + return true; } -void Simulator::st1(VectorFormat vform, LogicVRegister src, uint64_t addr) { +bool Simulator::st1(VectorFormat vform, LogicVRegister src, uint64_t addr) { for (int i = 0; i < LaneCountFromFormat(vform); i++) { - StoreLane(src, vform, i, addr); + if (!StoreLane(src, vform, i, addr)) return false; addr += LaneSizeInBytesFromFormat(vform); } + return true; } -void Simulator::st1(VectorFormat vform, +bool Simulator::st1(VectorFormat vform, LogicVRegister src, int index, uint64_t addr) { - StoreLane(src, vform, index, addr); + return StoreLane(src, vform, index, addr); } -void Simulator::st2(VectorFormat vform, +bool Simulator::st2(VectorFormat vform, LogicVRegister src, LogicVRegister src2, uint64_t addr) { int esize = LaneSizeInBytesFromFormat(vform); uint64_t addr2 = addr + esize; for (int i = 0; i < LaneCountFromFormat(vform); i++) { - StoreLane(src, vform, i, addr); - StoreLane(src2, vform, i, addr2); + if (!StoreLane(src, vform, i, addr) || !StoreLane(src2, vform, i, addr2)) { + return false; + } addr += 2 * esize; addr2 += 2 * esize; } + return true; } -void Simulator::st2(VectorFormat vform, +bool Simulator::st2(VectorFormat vform, LogicVRegister src, LogicVRegister src2, int index, uint64_t addr) { int esize = LaneSizeInBytesFromFormat(vform); - StoreLane(src, vform, index, addr); - StoreLane(src2, vform, index, addr + 1 * esize); + return (StoreLane(src, vform, index, addr) && + StoreLane(src2, vform, index, addr + 1 * esize)); } -void Simulator::st3(VectorFormat vform, +bool Simulator::st3(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, @@ -443,30 +466,32 @@ void Simulator::st3(VectorFormat vform, uint64_t addr2 = addr + esize; uint64_t addr3 = addr2 + esize; for (int i = 0; i < LaneCountFromFormat(vform); i++) { - StoreLane(src, vform, i, addr); - StoreLane(src2, vform, i, addr2); - StoreLane(src3, vform, i, addr3); + if (!StoreLane(src, vform, i, addr) || !StoreLane(src2, vform, i, addr2) || + !StoreLane(src3, vform, i, addr3)) { + return false; + } addr += 3 * esize; addr2 += 3 * esize; addr3 += 3 * esize; } + return true; } -void Simulator::st3(VectorFormat vform, +bool Simulator::st3(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, int index, uint64_t addr) { int esize = LaneSizeInBytesFromFormat(vform); - StoreLane(src, vform, index, addr); - StoreLane(src2, vform, index, addr + 1 * esize); - StoreLane(src3, vform, index, addr + 2 * esize); + return (StoreLane(src, vform, index, addr) && + StoreLane(src2, vform, index, addr + 1 * esize) && + StoreLane(src3, vform, index, addr + 2 * esize)); } -void Simulator::st4(VectorFormat vform, +bool Simulator::st4(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, @@ -477,19 +502,21 @@ void Simulator::st4(VectorFormat vform, uint64_t addr3 = addr2 + esize; uint64_t addr4 = addr3 + esize; for (int i = 0; i < LaneCountFromFormat(vform); i++) { - StoreLane(src, vform, i, addr); - StoreLane(src2, vform, i, addr2); - StoreLane(src3, vform, i, addr3); - StoreLane(src4, vform, i, addr4); + if (!StoreLane(src, vform, i, addr) || !StoreLane(src2, vform, i, addr2) || + !StoreLane(src3, vform, i, addr3) || + !StoreLane(src4, vform, i, addr4)) { + return false; + } addr += 4 * esize; addr2 += 4 * esize; addr3 += 4 * esize; addr4 += 4 * esize; } + return true; } -void Simulator::st4(VectorFormat vform, +bool Simulator::st4(VectorFormat vform, LogicVRegister src, LogicVRegister src2, LogicVRegister src3, @@ -497,10 +524,10 @@ void Simulator::st4(VectorFormat vform, int index, uint64_t addr) { int esize = LaneSizeInBytesFromFormat(vform); - StoreLane(src, vform, index, addr); - StoreLane(src2, vform, index, addr + 1 * esize); - StoreLane(src3, vform, index, addr + 2 * esize); - StoreLane(src4, vform, index, addr + 3 * esize); + return (StoreLane(src, vform, index, addr) && + StoreLane(src2, vform, index, addr + 1 * esize) && + StoreLane(src3, vform, index, addr + 2 * esize) && + StoreLane(src4, vform, index, addr + 3 * esize)); } @@ -895,23 +922,12 @@ LogicVRegister Simulator::sqrdmlsh(VectorFormat vform, return sqrdmlsh(vform, dst, src1, dup_element(indexform, temp, src2, index)); } - uint64_t Simulator::PolynomialMult(uint64_t op1, uint64_t op2, int lane_size_in_bits) const { - VIXL_ASSERT(static_cast(lane_size_in_bits) <= kSRegSize); - VIXL_ASSERT(IsUintN(lane_size_in_bits, op1)); - VIXL_ASSERT(IsUintN(lane_size_in_bits, op2)); - uint64_t result = 0; - for (int i = 0; i < lane_size_in_bits; ++i) { - if ((op1 >> i) & 1) { - result = result ^ (op2 << i); - } - } - return result; + return PolynomialMult128(op1, op2, lane_size_in_bits).second; } - LogicVRegister Simulator::pmul(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src1, @@ -933,14 +949,16 @@ LogicVRegister Simulator::pmull(VectorFormat vform, const LogicVRegister& src1, const LogicVRegister& src2) { dst.ClearForWrite(vform); - VectorFormat vform_src = VectorFormatHalfWidth(vform); - for (int i = 0; i < LaneCountFromFormat(vform); i++) { + + // Process the elements in reverse to avoid problems when the destination + // register is the same as a source. + for (int i = LaneCountFromFormat(vform) - 1; i >= 0; i--) { dst.SetUint(vform, i, - PolynomialMult(src1.Uint(vform_src, i), - src2.Uint(vform_src, i), - LaneSizeInBitsFromFormat(vform_src))); + PolynomialMult128(src1.Uint(vform_src, i), + src2.Uint(vform_src, i), + LaneSizeInBitsFromFormat(vform_src))); } return dst; @@ -951,16 +969,18 @@ LogicVRegister Simulator::pmull2(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src1, const LogicVRegister& src2) { - VectorFormat vform_src = VectorFormatHalfWidthDoubleLanes(vform); dst.ClearForWrite(vform); + VectorFormat vform_src = VectorFormatHalfWidthDoubleLanes(vform); + int lane_count = LaneCountFromFormat(vform); for (int i = 0; i < lane_count; i++) { dst.SetUint(vform, i, - PolynomialMult(src1.Uint(vform_src, lane_count + i), - src2.Uint(vform_src, lane_count + i), - LaneSizeInBitsFromFormat(vform_src))); + PolynomialMult128(src1.Uint(vform_src, lane_count + i), + src2.Uint(vform_src, lane_count + i), + LaneSizeInBitsFromFormat(vform_src))); } + return dst; } @@ -2257,7 +2277,10 @@ LogicVRegister Simulator::extractnarrow(VectorFormat dstform, } } - if (!upperhalf) { + if (upperhalf) { + // Clear any bits beyond a Q register. + dst.ClearForWrite(kFormat16B); + } else { dst.ClearForWrite(dstform); } return dst; @@ -2491,6 +2514,7 @@ LogicVRegister Simulator::ror(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src, int rotation) { + dst.ClearForWrite(vform); int width = LaneSizeInBitsFromFormat(vform); for (int i = 0; i < LaneCountFromFormat(vform); i++) { uint64_t value = src.Uint(vform, i); @@ -2499,6 +2523,14 @@ LogicVRegister Simulator::ror(VectorFormat vform, return dst; } +LogicVRegister Simulator::rol(VectorFormat vform, + LogicVRegister dst, + const LogicVRegister& src, + int rotation) { + int ror_equivalent = LaneSizeInBitsFromFormat(vform) - rotation; + return ror(vform, dst, src, ror_equivalent); +} + LogicVRegister Simulator::ext(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src1, @@ -2507,10 +2539,10 @@ LogicVRegister Simulator::ext(VectorFormat vform, uint8_t result[kZRegMaxSizeInBytes] = {}; int lane_count = LaneCountFromFormat(vform); for (int i = 0; i < lane_count - index; ++i) { - result[i] = src1.Uint(vform, i + index); + result[i] = static_cast(src1.Uint(vform, i + index)); } for (int i = 0; i < index; ++i) { - result[lane_count - index + i] = src2.Uint(vform, i); + result[lane_count - index + i] = static_cast(src2.Uint(vform, i)); } dst.ClearForWrite(vform); for (int i = 0; i < lane_count; ++i) { @@ -2707,7 +2739,7 @@ LogicVRegister Simulator::fcmla(VectorFormat vform, int index, int rot) { if (LaneSizeInBitsFromFormat(vform) == kHRegSize) { - VIXL_UNIMPLEMENTED(); + fcmla(vform, dst, src1, src2, dst, index, rot); } else if (LaneSizeInBitsFromFormat(vform) == kSRegSize) { fcmla(vform, dst, src1, src2, dst, index, rot); } else { @@ -4153,7 +4185,7 @@ LogicVRegister Simulator::sqrdmlash_d(VectorFormat vform, // Arithmetic shift the whole value right by `esize - 1` bits. accum.second = (accum.first << 1) | (accum.second >> (esize - 1)); - accum.first = -(accum.first >> (esize - 1)); + accum.first = UnsignedNegate(accum.first >> (esize - 1)); // Perform saturation. bool is_pos = (accum.first == 0) ? true : false; @@ -4531,7 +4563,7 @@ T Simulator::FPMulx(T op1, T op2) { if ((IsInf(op1) && (op2 == 0.0)) || (IsInf(op2) && (op1 == 0.0))) { // inf * 0.0 returns +/-2.0. T two = 2.0; - return copysign(1.0, op1) * copysign(1.0, op2) * two; + return copysign(T(1.0), op1) * copysign(T(1.0), op2) * two; } return FPMul(op1, op2); } @@ -4541,8 +4573,8 @@ template T Simulator::FPMulAdd(T a, T op1, T op2) { T result = FPProcessNaNs3(a, op1, op2); - T sign_a = copysign(1.0, a); - T sign_prod = copysign(1.0, op1) * copysign(1.0, op2); + T sign_a = copysign(T(1.0), a); + T sign_prod = copysign(T(1.0), op1) * copysign(T(1.0), op2); bool isinf_prod = IsInf(op1) || IsInf(op2); bool operation_generates_nan = (IsInf(op1) && (op2 == 0.0)) || // inf * 0.0 @@ -4568,7 +4600,7 @@ T Simulator::FPMulAdd(T a, T op1, T op2) { // Work around broken fma implementations for exact zero results: The sign of // exact 0.0 results is positive unless both a and op1 * op2 are negative. if (((op1 == 0.0) || (op2 == 0.0)) && (a == 0.0)) { - return ((sign_a < T(0.0)) && (sign_prod < T(0.0))) ? -0.0 : 0.0; + return ((sign_a < T(0.0)) && (sign_prod < T(0.0))) ? T(-0.0) : T(0.0); } result = FusedMultiplyAdd(op1, op2, a); @@ -4577,7 +4609,7 @@ T Simulator::FPMulAdd(T a, T op1, T op2) { // Work around broken fma implementations for rounded zero results: If a is // 0.0, the sign of the result is the sign of op1 * op2 before rounding. if ((a == 0.0) && (result == 0.0)) { - return copysign(0.0, sign_prod); + return copysign(T(0.0), sign_prod); } return result; @@ -4639,9 +4671,9 @@ T Simulator::FPMax(T a, T b) { template T Simulator::FPMaxNM(T a, T b) { if (IsQuietNaN(a) && !IsQuietNaN(b)) { - a = kFP64NegativeInfinity; + a = T(kFP64NegativeInfinity); } else if (!IsQuietNaN(a) && IsQuietNaN(b)) { - b = kFP64NegativeInfinity; + b = T(kFP64NegativeInfinity); } T result = FPProcessNaNs(a, b); @@ -4666,9 +4698,9 @@ T Simulator::FPMin(T a, T b) { template T Simulator::FPMinNM(T a, T b) { if (IsQuietNaN(a) && !IsQuietNaN(b)) { - a = kFP64PositiveInfinity; + a = T(kFP64PositiveInfinity); } else if (!IsQuietNaN(a) && IsQuietNaN(b)) { - b = kFP64PositiveInfinity; + b = T(kFP64PositiveInfinity); } T result = FPProcessNaNs(a, b); @@ -4683,8 +4715,8 @@ T Simulator::FPRecipStepFused(T op1, T op2) { return two; } else if (IsInf(op1) || IsInf(op2)) { // Return +inf if signs match, otherwise -inf. - return ((op1 >= 0.0) == (op2 >= 0.0)) ? kFP64PositiveInfinity - : kFP64NegativeInfinity; + return ((op1 >= 0.0) == (op2 >= 0.0)) ? T(kFP64PositiveInfinity) + : T(kFP64NegativeInfinity); } else { return FusedMultiplyAdd(op1, op2, two); } @@ -4713,8 +4745,8 @@ T Simulator::FPRSqrtStepFused(T op1, T op2) { return one_point_five; } else if (IsInf(op1) || IsInf(op2)) { // Return +inf if signs match, otherwise -inf. - return ((op1 >= 0.0) == (op2 >= 0.0)) ? kFP64PositiveInfinity - : kFP64NegativeInfinity; + return ((op1 >= 0.0) == (op2 >= 0.0)) ? T(kFP64PositiveInfinity) + : T(kFP64NegativeInfinity); } else { // The multiply-add-halve operation must be fully fused, so avoid interim // rounding by checking which operand can be losslessly divided by two @@ -4743,7 +4775,7 @@ int32_t Simulator::FPToFixedJS(double value) { (value == kFP64NegativeInfinity)) { // +/- zero and infinity all return zero, however -0 and +/- Infinity also // unset the Z-flag. - result = 0.0; + result = 0; if ((value != 0.0) || std::signbit(value)) { Z = 0; } @@ -5528,38 +5560,40 @@ LogicVRegister Simulator::fsqrt(VectorFormat vform, } -#define DEFINE_NEON_FP_PAIR_OP(FNP, FN, OP) \ - LogicVRegister Simulator::FNP(VectorFormat vform, \ - LogicVRegister dst, \ - const LogicVRegister& src1, \ - const LogicVRegister& src2) { \ - SimVRegister temp1, temp2; \ - uzp1(vform, temp1, src1, src2); \ - uzp2(vform, temp2, src1, src2); \ - FN(vform, dst, temp1, temp2); \ - if (IsSVEFormat(vform)) { \ - interleave_top_bottom(vform, dst, dst); \ - } \ - return dst; \ - } \ - \ - LogicVRegister Simulator::FNP(VectorFormat vform, \ - LogicVRegister dst, \ - const LogicVRegister& src) { \ - if (vform == kFormatH) { \ - SimFloat16 result(OP(SimFloat16(RawbitsToFloat16(src.Uint(vform, 0))), \ - SimFloat16(RawbitsToFloat16(src.Uint(vform, 1))))); \ - dst.SetUint(vform, 0, Float16ToRawbits(result)); \ - } else if (vform == kFormatS) { \ - float result = OP(src.Float(0), src.Float(1)); \ - dst.SetFloat(0, result); \ - } else { \ - VIXL_ASSERT(vform == kFormatD); \ - double result = OP(src.Float(0), src.Float(1)); \ - dst.SetFloat(0, result); \ - } \ - dst.ClearForWrite(vform); \ - return dst; \ +#define DEFINE_NEON_FP_PAIR_OP(FNP, FN, OP) \ + LogicVRegister Simulator::FNP(VectorFormat vform, \ + LogicVRegister dst, \ + const LogicVRegister& src1, \ + const LogicVRegister& src2) { \ + SimVRegister temp1, temp2; \ + uzp1(vform, temp1, src1, src2); \ + uzp2(vform, temp2, src1, src2); \ + FN(vform, dst, temp1, temp2); \ + if (IsSVEFormat(vform)) { \ + interleave_top_bottom(vform, dst, dst); \ + } \ + return dst; \ + } \ + \ + LogicVRegister Simulator::FNP(VectorFormat vform, \ + LogicVRegister dst, \ + const LogicVRegister& src) { \ + if (vform == kFormatH) { \ + SimFloat16 result(OP(SimFloat16(RawbitsToFloat16( \ + static_cast(src.Uint(vform, 0)))), \ + SimFloat16(RawbitsToFloat16( \ + static_cast(src.Uint(vform, 1)))))); \ + dst.SetUint(vform, 0, Float16ToRawbits(result)); \ + } else if (vform == kFormatS) { \ + float result = OP(src.Float(0), src.Float(1)); \ + dst.SetFloat(0, result); \ + } else { \ + VIXL_ASSERT(vform == kFormatD); \ + double result = OP(src.Float(0), src.Float(1)); \ + dst.SetFloat(0, result); \ + } \ + dst.ClearForWrite(vform); \ + return dst; \ } NEON_FPPAIRWISE_LIST(DEFINE_NEON_FP_PAIR_OP) #undef DEFINE_NEON_FP_PAIR_OP @@ -5801,7 +5835,8 @@ LogicVRegister Simulator::frint(VectorFormat vform, } else if (LaneSizeInBitsFromFormat(vform) == kSRegSize) { for (int i = 0; i < LaneCountFromFormat(vform); i++) { float input = src.Float(i); - float rounded = FPRoundInt(input, rounding_mode, frint_mode); + float rounded = + static_cast(FPRoundInt(input, rounding_mode, frint_mode)); if (inexact_exception && !IsNaN(input) && (input != rounded)) { FPProcessException(); @@ -5963,6 +5998,7 @@ LogicVRegister Simulator::fcvtu(VectorFormat vform, LogicVRegister Simulator::fcvtl(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src) { + dst.ClearForWrite(vform); if (LaneSizeInBitsFromFormat(vform) == kSRegSize) { for (int i = LaneCountFromFormat(vform) - 1; i >= 0; i--) { // TODO: Full support for SimFloat16 in SimRegister(s). @@ -5983,6 +6019,7 @@ LogicVRegister Simulator::fcvtl(VectorFormat vform, LogicVRegister Simulator::fcvtl2(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src) { + dst.ClearForWrite(vform); int lane_count = LaneCountFromFormat(vform); if (LaneSizeInBitsFromFormat(vform) == kSRegSize) { for (int i = 0; i < lane_count; i++) { @@ -6028,6 +6065,7 @@ LogicVRegister Simulator::fcvtn(VectorFormat vform, LogicVRegister Simulator::fcvtn2(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src) { + dst.ClearForWrite(vform); int lane_count = LaneCountFromFormat(vform) / 2; if (LaneSizeInBitsFromFormat(vform) == kHRegSize) { for (int i = lane_count - 1; i >= 0; i--) { @@ -6071,6 +6109,7 @@ LogicVRegister Simulator::fcvtxn2(VectorFormat vform, LogicVRegister dst, const LogicVRegister& src) { VIXL_ASSERT(LaneSizeInBitsFromFormat(vform) == kSRegSize); + dst.ClearForWrite(vform); int lane_count = LaneCountFromFormat(vform) / 2; for (int i = lane_count - 1; i >= 0; i--) { dst.SetFloat(i + lane_count, @@ -6107,9 +6146,9 @@ T Simulator::FPRecipSqrtEstimate(T op) { return FPProcessNaN(op); } else if (op == 0.0) { if (copysign(1.0, op) < 0.0) { - return kFP64NegativeInfinity; + return T(kFP64NegativeInfinity); } else { - return kFP64PositiveInfinity; + return T(kFP64PositiveInfinity); } } else if (copysign(1.0, op) < 0.0) { FPProcessException(); @@ -6120,11 +6159,11 @@ T Simulator::FPRecipSqrtEstimate(T op) { uint64_t fraction; int exp, result_exp; - if (IsFloat16()) { + if constexpr (IsFloat16()) { exp = Float16Exp(op); fraction = Float16Mantissa(op); fraction <<= 42; - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { exp = FloatExp(op); fraction = FloatMantissa(op); fraction <<= 29; @@ -6149,9 +6188,9 @@ T Simulator::FPRecipSqrtEstimate(T op) { scaled = DoublePack(0, 1021, Bits(fraction, 51, 44) << 44); } - if (IsFloat16()) { + if constexpr (IsFloat16()) { result_exp = (44 - exp) / 2; - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { result_exp = (380 - exp) / 2; } else { VIXL_ASSERT(IsFloat64()); @@ -6160,11 +6199,11 @@ T Simulator::FPRecipSqrtEstimate(T op) { uint64_t estimate = DoubleToRawbits(recip_sqrt_estimate(scaled)); - if (IsFloat16()) { + if constexpr (IsFloat16()) { uint16_t exp_bits = static_cast(Bits(result_exp, 4, 0)); uint16_t est_bits = static_cast(Bits(estimate, 51, 42)); return Float16Pack(0, exp_bits, est_bits); - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { uint32_t exp_bits = static_cast(Bits(result_exp, 7, 0)); uint32_t est_bits = static_cast(Bits(estimate, 51, 29)); return FloatPack(0, exp_bits, est_bits); @@ -6204,9 +6243,9 @@ template T Simulator::FPRecipEstimate(T op, FPRounding rounding) { uint32_t sign; - if (IsFloat16()) { + if constexpr (IsFloat16()) { sign = Float16Sign(op); - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { sign = FloatSign(op); } else { VIXL_ASSERT(IsFloat64()); @@ -6216,10 +6255,10 @@ T Simulator::FPRecipEstimate(T op, FPRounding rounding) { if (IsNaN(op)) { return FPProcessNaN(op); } else if (IsInf(op)) { - return (sign == 1) ? -0.0 : 0.0; + return (sign == 1) ? T(-0.0) : T(0.0); } else if (op == 0.0) { FPProcessException(); // FPExc_DivideByZero exception. - return (sign == 1) ? kFP64NegativeInfinity : kFP64PositiveInfinity; + return (sign == 1) ? T(kFP64NegativeInfinity) : T(kFP64PositiveInfinity); } else if ((IsFloat16() && (std::fabs(op) < std::pow(2.0, -16.0))) || (IsFloat32() && (std::fabs(op) < std::pow(2.0, -128.0))) || (IsFloat64() && (std::fabs(op) < std::pow(2.0, -1024.0)))) { @@ -6242,12 +6281,12 @@ T Simulator::FPRecipEstimate(T op, FPRounding rounding) { } FPProcessException(); // FPExc_Overflow and FPExc_Inexact. if (overflow_to_inf) { - return (sign == 1) ? kFP64NegativeInfinity : kFP64PositiveInfinity; + return (sign == 1) ? T(kFP64NegativeInfinity) : T(kFP64PositiveInfinity); } else { // Return FPMaxNormal(sign). - if (IsFloat16()) { + if constexpr (IsFloat16()) { return Float16Pack(sign, 0x1f, 0x3ff); - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { return FloatPack(sign, 0xfe, 0x07fffff); } else { VIXL_ASSERT(IsFloat64()); @@ -6258,12 +6297,12 @@ T Simulator::FPRecipEstimate(T op, FPRounding rounding) { uint64_t fraction; int exp, result_exp; - if (IsFloat16()) { + if constexpr (IsFloat16()) { sign = Float16Sign(op); exp = Float16Exp(op); fraction = Float16Mantissa(op); fraction <<= 42; - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { sign = FloatSign(op); exp = FloatExp(op); fraction = FloatMantissa(op); @@ -6286,9 +6325,9 @@ T Simulator::FPRecipEstimate(T op, FPRounding rounding) { double scaled = DoublePack(0, 1022, Bits(fraction, 51, 44) << 44); - if (IsFloat16()) { + if constexpr (IsFloat16()) { result_exp = (29 - exp); // In range 29-30 = -1 to 29+1 = 30. - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { result_exp = (253 - exp); // In range 253-254 = -1 to 253+1 = 254. } else { VIXL_ASSERT(IsFloat64()); @@ -6304,11 +6343,11 @@ T Simulator::FPRecipEstimate(T op, FPRounding rounding) { fraction = (UINT64_C(1) << 50) | Bits(fraction, 51, 2); result_exp = 0; } - if (IsFloat16()) { + if constexpr (IsFloat16()) { uint16_t exp_bits = static_cast(Bits(result_exp, 4, 0)); uint16_t frac_bits = static_cast(Bits(fraction, 51, 42)); return Float16Pack(sign, exp_bits, frac_bits); - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { uint32_t exp_bits = static_cast(Bits(result_exp, 7, 0)); uint32_t frac_bits = static_cast(Bits(fraction, 51, 29)); return FloatPack(sign, exp_bits, frac_bits); @@ -6454,12 +6493,12 @@ LogicVRegister Simulator::frecpx(VectorFormat vform, } else { int exp; uint32_t sign; - if (IsFloat16()) { + if constexpr (IsFloat16()) { sign = Float16Sign(op); exp = Float16Exp(op); exp = (exp == 0) ? (0x1F - 1) : static_cast(Bits(~exp, 4, 0)); result = Float16Pack(sign, exp, 0); - } else if (IsFloat32()) { + } else if constexpr (IsFloat32()) { sign = FloatSign(op); exp = FloatExp(op); exp = (exp == 0) ? (0xFF - 1) : static_cast(Bits(~exp, 7, 0)); @@ -6763,18 +6802,21 @@ LogicVRegister Simulator::fexpa(VectorFormat vform, if (lane_size == kHRegSize) { index_highbit = 4; - VIXL_ASSERT(ArrayLength(fexpa_coeff16) == (1U << (index_highbit + 1))); + VIXL_ASSERT(ArrayLength(fexpa_coeff16) == + (uint64_t{1} << (index_highbit + 1))); fexpa_coeff = fexpa_coeff16; op_highbit = 9; op_shift = 10; } else if (lane_size == kSRegSize) { - VIXL_ASSERT(ArrayLength(fexpa_coeff32) == (1U << (index_highbit + 1))); + VIXL_ASSERT(ArrayLength(fexpa_coeff32) == + (uint64_t{1} << (index_highbit + 1))); fexpa_coeff = fexpa_coeff32; op_highbit = 13; op_shift = 23; } else { VIXL_ASSERT(lane_size == kDRegSize); - VIXL_ASSERT(ArrayLength(fexpa_coeff64) == (1U << (index_highbit + 1))); + VIXL_ASSERT(ArrayLength(fexpa_coeff64) == + (uint64_t{1} << (index_highbit + 1))); fexpa_coeff = fexpa_coeff64; op_highbit = 16; op_shift = 52; @@ -7271,7 +7313,9 @@ void Simulator::SVEStructuredStoreHelper(VectorFormat vform, for (int r = 0; r < reg_count; r++) { uint64_t element_address = addr.GetElementAddress(i, r); - StoreLane(zt[r], unpack_vform, i << unpack_shift, element_address); + if (!StoreLane(zt[r], unpack_vform, i << unpack_shift, element_address)) { + return; + } } } @@ -7295,7 +7339,7 @@ void Simulator::SVEStructuredStoreHelper(VectorFormat vform, } } -void Simulator::SVEStructuredLoadHelper(VectorFormat vform, +bool Simulator::SVEStructuredLoadHelper(VectorFormat vform, const LogicPRegister& pg, unsigned zt_code, const LogicSVEAddressVector& addr, @@ -7330,9 +7374,13 @@ void Simulator::SVEStructuredLoadHelper(VectorFormat vform, } if (is_signed) { - LoadIntToLane(zt[r], vform, msize_in_bytes, i, element_address); + if (!LoadIntToLane(zt[r], vform, msize_in_bytes, i, element_address)) { + return false; + } } else { - LoadUintToLane(zt[r], vform, msize_in_bytes, i, element_address); + if (!LoadUintToLane(zt[r], vform, msize_in_bytes, i, element_address)) { + return false; + } } } } @@ -7351,6 +7399,7 @@ void Simulator::SVEStructuredLoadHelper(VectorFormat vform, "<-", addr); } + return true; } LogicPRegister Simulator::brka(LogicPRegister pd, @@ -7445,7 +7494,7 @@ void Simulator::SVEFaultTolerantLoadHelper(VectorFormat vform, // Non-faulting loads are allowed to fail arbitrarily. To stress user // code, fail a random element in roughly one in eight full-vector loads. - uint32_t rnd = static_cast(jrand48(rand_state_)); + uint32_t rnd = static_cast(rand_gen_()); int fake_fault_at_lane = rnd % (LaneCountFromFormat(vform) * 8); for (int i = 0; i < LaneCountFromFormat(vform); i++) { @@ -7458,7 +7507,9 @@ void Simulator::SVEFaultTolerantLoadHelper(VectorFormat vform, // First-faulting loads always load the first active element, regardless // of FFR. The result will be discarded if its FFR lane is inactive, but // it could still generate a fault. - value = MemReadUint(msize_in_bytes, element_address); + VIXL_DEFINE_OR_RETURN(mem_result, + MemReadUint(msize_in_bytes, element_address)); + value = mem_result; // All subsequent elements have non-fault semantics. type = kSVENonFaultLoad; @@ -7470,7 +7521,9 @@ void Simulator::SVEFaultTolerantLoadHelper(VectorFormat vform, bool can_read = (i < fake_fault_at_lane) && CanReadMemory(element_address, msize_in_bytes); if (can_read) { - value = MemReadUint(msize_in_bytes, element_address); + VIXL_DEFINE_OR_RETURN(mem_result, + MemReadUint(msize_in_bytes, element_address)); + value = mem_result; } else { // Propagate the fault to the end of FFR. for (int j = i; j < LaneCountFromFormat(vform); j++) { @@ -7848,6 +7901,582 @@ LogicVRegister Simulator::fmatmul(VectorFormat vform, return dst; } +template <> +uint64_t CryptoOp<"choose"_h>(uint64_t x, uint64_t y, uint64_t z) { + return ((y ^ z) & x) ^ z; +} + +template <> +uint64_t CryptoOp<"majority"_h>(uint64_t x, uint64_t y, uint64_t z) { + return (x & y) | ((x | y) & z); +} + +template <> +uint64_t CryptoOp<"parity"_h>(uint64_t x, uint64_t y, uint64_t z) { + return x ^ y ^ z; +} + +template +static uint64_t SHASigma(uint64_t x) { + return static_cast(RotateRight(x, A, sizeof(T) * kBitsPerByte) ^ + RotateRight(x, B, sizeof(T) * kBitsPerByte) ^ + RotateRight(x, C, sizeof(T) * kBitsPerByte)); +} + +LogicVRegister Simulator::sha2h(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2, + bool part1) { + uint64_t x[4] = {}; + uint64_t y[4] = {}; + if (part1) { + // Switch input order based on which part is being handled. + srcdst.UintArray(kFormat4S, x); + src1.UintArray(kFormat4S, y); + } else { + src1.UintArray(kFormat4S, x); + srcdst.UintArray(kFormat4S, y); + } + + for (unsigned i = 0; i < ArrayLength(x); i++) { + uint64_t chs = CryptoOp<"choose"_h>(y[0], y[1], y[2]); + uint64_t maj = CryptoOp<"majority"_h>(x[0], x[1], x[2]); + + uint64_t w = src2.Uint(kFormat4S, i); + uint64_t t = y[3] + SHASigma(y[0]) + chs + w; + + x[3] += t; + y[3] = t + SHASigma(x[0]) + maj; + + // y:x = ROL(y:x, 32) + SHARotateEltsLeftOne(x); + SHARotateEltsLeftOne(y); + std::swap(x[0], y[0]); + } + + srcdst.SetUintArray(kFormat4S, part1 ? x : y); + return srcdst; +} + +template +static uint64_t SHASURotate(uint64_t x) { + return RotateRight(x, A, sizeof(T) * kBitsPerByte) ^ + RotateRight(x, B, sizeof(T) * kBitsPerByte) ^ + ((x & ~static_cast(0)) >> C); +} + +LogicVRegister Simulator::sha2su0(LogicVRegister srcdst, + const LogicVRegister& src1) { + uint64_t w[4] = {}; + uint64_t result[4]; + srcdst.UintArray(kFormat4S, w); + uint64_t x = src1.Uint(kFormat4S, 0); + + result[0] = SHASURotate(w[1]) + w[0]; + result[1] = SHASURotate(w[2]) + w[1]; + result[2] = SHASURotate(w[3]) + w[2]; + result[3] = SHASURotate(x) + w[3]; + + srcdst.SetUintArray(kFormat4S, result); + return srcdst; +} + +LogicVRegister Simulator::sha2su1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2) { + uint64_t w[4] = {}; + uint64_t x[4] = {}; + uint64_t y[4] = {}; + uint64_t result[4]; + srcdst.UintArray(kFormat4S, w); + src1.UintArray(kFormat4S, x); + src2.UintArray(kFormat4S, y); + + result[0] = SHASURotate(y[2]) + w[0] + x[1]; + result[1] = SHASURotate(y[3]) + w[1] + x[2]; + result[2] = SHASURotate(result[0]) + w[2] + x[3]; + result[3] = SHASURotate(result[1]) + w[3] + y[0]; + + srcdst.SetUintArray(kFormat4S, result); + return srcdst; +} + +LogicVRegister Simulator::sha512h(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2) { + uint64_t w[2] = {}; + uint64_t x[2] = {}; + uint64_t y[2] = {}; + uint64_t result[2] = {}; + srcdst.UintArray(kFormat2D, w); + src1.UintArray(kFormat2D, x); + src2.UintArray(kFormat2D, y); + + result[1] = (y[1] & x[0]) ^ (~y[1] & x[1]); + result[1] += SHASigma(y[1]) + w[1]; + + uint64_t tmp = result[1] + y[0]; + + result[0] = (tmp & y[1]) ^ (~tmp & x[0]); + result[0] += SHASigma(tmp) + w[0]; + + srcdst.SetUintArray(kFormat2D, result); + return srcdst; +} + +LogicVRegister Simulator::sha512h2(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2) { + uint64_t w[2] = {}; + uint64_t x[2] = {}; + uint64_t y[2] = {}; + uint64_t result[2] = {}; + srcdst.UintArray(kFormat2D, w); + src1.UintArray(kFormat2D, x); + src2.UintArray(kFormat2D, y); + + result[1] = (x[0] & y[1]) ^ (x[0] & y[0]) ^ (y[1] & y[0]); + result[1] += SHASigma(y[0]) + w[1]; + + result[0] = (result[1] & y[0]) ^ (result[1] & y[1]) ^ (y[1] & y[0]); + result[0] += SHASigma(result[1]) + w[0]; + + srcdst.SetUintArray(kFormat2D, result); + return srcdst; +} + +LogicVRegister Simulator::sha512su0(LogicVRegister srcdst, + const LogicVRegister& src1) { + uint64_t w[2] = {}; + uint64_t x[2] = {}; + uint64_t result[2] = {}; + srcdst.UintArray(kFormat2D, w); + src1.UintArray(kFormat2D, x); + + result[0] = SHASURotate(w[1]) + w[0]; + result[1] = SHASURotate(x[0]) + w[1]; + + srcdst.SetUintArray(kFormat2D, result); + return srcdst; +} + +LogicVRegister Simulator::sha512su1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2) { + uint64_t w[2] = {}; + uint64_t x[2] = {}; + uint64_t y[2] = {}; + uint64_t result[2] = {}; + srcdst.UintArray(kFormat2D, w); + src1.UintArray(kFormat2D, x); + src2.UintArray(kFormat2D, y); + + result[1] = w[1] + SHASURotate(x[1]) + y[1]; + result[0] = w[0] + SHASURotate(x[0]) + y[0]; + + srcdst.SetUintArray(kFormat2D, result); + return srcdst; +} + +static uint8_t GalMul(int table, uint64_t x) { + // Galois multiplication lookup tables. + static const uint8_t ffmul02[256] = { + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, + 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, + 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, + 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, + 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, + 0x78, 0x7a, 0x7c, 0x7e, 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, + 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, 0xa0, 0xa2, 0xa4, 0xa6, + 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, + 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, + 0xd8, 0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, + 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, 0x1b, 0x19, 0x1f, 0x1d, + 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, + 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, + 0x23, 0x21, 0x27, 0x25, 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, + 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, 0x7b, 0x79, 0x7f, 0x7d, + 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, + 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, + 0x83, 0x81, 0x87, 0x85, 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, + 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, 0xdb, 0xd9, 0xdf, 0xdd, + 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, + 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, + 0xe3, 0xe1, 0xe7, 0xe5, + }; + + static const uint8_t ffmul03[256] = { + 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, + 0x14, 0x17, 0x12, 0x11, 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, + 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, 0x60, 0x63, 0x66, 0x65, + 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, + 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, + 0x44, 0x47, 0x42, 0x41, 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, + 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, 0xf0, 0xf3, 0xf6, 0xf5, + 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, + 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, + 0xb4, 0xb7, 0xb2, 0xb1, 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, + 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, 0x9b, 0x98, 0x9d, 0x9e, + 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, + 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, + 0xbf, 0xbc, 0xb9, 0xba, 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, + 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, 0xcb, 0xc8, 0xcd, 0xce, + 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, + 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, + 0x4f, 0x4c, 0x49, 0x4a, 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, + 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, 0x3b, 0x38, 0x3d, 0x3e, + 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, + 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, + 0x1f, 0x1c, 0x19, 0x1a, + }; + + static const uint8_t ffmul09[256] = { + 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, + 0x6c, 0x65, 0x7e, 0x77, 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, + 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, 0x3b, 0x32, 0x29, 0x20, + 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, + 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, + 0xc7, 0xce, 0xd5, 0xdc, 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, + 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01, 0xe6, 0xef, 0xf4, 0xfd, + 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91, + 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, + 0x21, 0x28, 0x33, 0x3a, 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, + 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa, 0xec, 0xe5, 0xfe, 0xf7, + 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b, + 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, + 0x10, 0x19, 0x02, 0x0b, 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, + 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0, 0x47, 0x4e, 0x55, 0x5c, + 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, + 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, + 0xf6, 0xff, 0xe4, 0xed, 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, + 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d, 0xa1, 0xa8, 0xb3, 0xba, + 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6, + 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, + 0x5d, 0x54, 0x4f, 0x46, + }; + + static const uint8_t ffmul0b[256] = { + 0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, + 0x74, 0x7f, 0x62, 0x69, 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, + 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, 0x7b, 0x70, 0x6d, 0x66, + 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12, + 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, + 0xbf, 0xb4, 0xa9, 0xa2, 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, + 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f, 0x46, 0x4d, 0x50, 0x5b, + 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f, + 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, + 0xf9, 0xf2, 0xef, 0xe4, 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, + 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54, 0xf7, 0xfc, 0xe1, 0xea, + 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e, + 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, + 0x33, 0x38, 0x25, 0x2e, 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, + 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5, 0x3c, 0x37, 0x2a, 0x21, + 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55, + 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, + 0x75, 0x7e, 0x63, 0x68, 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, + 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8, 0x7a, 0x71, 0x6c, 0x67, + 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13, + 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, + 0xbe, 0xb5, 0xa8, 0xa3, + }; + + static const uint8_t ffmul0d[256] = { + 0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, + 0x5c, 0x51, 0x46, 0x4b, 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, + 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, 0xbb, 0xb6, 0xa1, 0xac, + 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0, + 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, + 0x37, 0x3a, 0x2d, 0x20, 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, + 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26, 0xbd, 0xb0, 0xa7, 0xaa, + 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, + 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, + 0x8a, 0x87, 0x90, 0x9d, 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, + 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d, 0xda, 0xd7, 0xc0, 0xcd, + 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, + 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, + 0x56, 0x5b, 0x4c, 0x41, 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, + 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a, 0xb1, 0xbc, 0xab, 0xa6, + 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa, + 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, + 0xeb, 0xe6, 0xf1, 0xfc, 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, + 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, 0x0c, 0x01, 0x16, 0x1b, + 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47, + 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, + 0x80, 0x8d, 0x9a, 0x97, + }; + + static const uint8_t ffmul0e[256] = { + 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, + 0x48, 0x46, 0x54, 0x5a, 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, + 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, 0xdb, 0xd5, 0xc7, 0xc9, + 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81, + 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, + 0x73, 0x7d, 0x6f, 0x61, 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, + 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7, 0x4d, 0x43, 0x51, 0x5f, + 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, + 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, + 0x3e, 0x30, 0x22, 0x2c, 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, + 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc, 0x41, 0x4f, 0x5d, 0x53, + 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b, + 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, + 0xe9, 0xe7, 0xf5, 0xfb, 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, + 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0, 0x7a, 0x74, 0x66, 0x68, + 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, + 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, + 0xa4, 0xaa, 0xb8, 0xb6, 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, + 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56, 0x37, 0x39, 0x2b, 0x25, + 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d, + 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, + 0x9f, 0x91, 0x83, 0x8d, + }; + + x &= 255; + switch (table) { + case 0x2: + return ffmul02[x]; + case 0x3: + return ffmul03[x]; + case 0x9: + return ffmul09[x]; + case 0xb: + return ffmul0b[x]; + case 0xd: + return ffmul0d[x]; + case 0xe: + return ffmul0e[x]; + case 0: + // Case 0 indicates no table lookup, used for some forward mix stages. + return static_cast(x); + default: + VIXL_UNREACHABLE(); + return static_cast(x); + } +} + + +static uint8_t AESMixInner(uint64_t* x, int stage, bool inverse) { + VIXL_ASSERT(IsUint2(stage)); + + int imc_gm[7] = {0xb, 0xd, 0x9, 0xe}; + int mc_gm[7] = {0x3, 0x0, 0x0, 0x2}; + + int* gm = inverse ? imc_gm : mc_gm; + int index = 3 - stage; + + uint8_t result = 0; + for (int i = 0; i < 4; i++) { + result ^= GalMul(gm[(index + i) % 4], x[i]); + } + return result; +} + + +LogicVRegister Simulator::aesmix(LogicVRegister dst, + const LogicVRegister& src, + bool inverse) { + uint64_t in[16] = {}; + src.UintArray(kFormat16B, in); + dst.ClearForWrite(kFormat16B); + + for (int c = 0; c < 16; c++) { + int cmod4 = c % 4; + int d = c - cmod4; + VIXL_ASSERT((d == 0) || (d == 4) || (d == 8) || (d == 12)); + dst.SetUint(kFormat16B, c, AESMixInner(&in[d], cmod4, inverse)); + } + + return dst; +} + +LogicVRegister Simulator::aes(LogicVRegister dst, + const LogicVRegister& src, + bool decrypt) { + dst.ClearForWrite(kFormat16B); + + // (Inverse) shift rows. + uint8_t shift[] = {0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11}; + uint8_t shift_inv[] = {0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3}; + for (int i = 0; i < LaneCountFromFormat(kFormat16B); i++) { + uint8_t index = decrypt ? shift_inv[i] : shift[i]; + dst.SetUint(kFormat16B, i, src.Uint(kFormat16B, index)); + } + + // (Inverse) substitute bytes. + static const uint8_t gf2[256] = { + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, + 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, + 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, + 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, + 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, + 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, + 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, + 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, + 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, + 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, + 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, + 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, + 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, + 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, + 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, + 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, + 0xb0, 0x54, 0xbb, 0x16, + }; + static const uint8_t gf2_inv[256] = { + 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, + 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, + 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, + 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, + 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, + 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, + 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, + 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, + 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, + 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, + 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, + 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, + 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, + 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, + 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, + 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, + 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, + 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, + 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, + 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, + 0x55, 0x21, 0x0c, 0x7d, + }; + + for (int i = 0; i < LaneCountFromFormat(kFormat16B); i++) { + const uint8_t* table = decrypt ? gf2_inv : gf2; + dst.SetUint(kFormat16B, i, table[dst.Uint(kFormat16B, i)]); + } + return dst; +} + +LogicVRegister Simulator::sm3partw1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2) { + using namespace std::placeholders; + auto ROL = std::bind(RotateLeft, _1, _2, kSRegSize); + + SimVRegister temp; + + ext(kFormat16B, temp, src2, temp, 4); + rol(kFormat4S, temp, temp, 15); + eor(kFormat4S, temp, temp, src1); + LogicVRegister r = eor(kFormat4S, temp, temp, srcdst); + + uint64_t result[4] = {}; + r.UintArray(kFormat4S, result); + for (int i = 0; i < 4; i++) { + if (i == 3) { + // result[3] already contains srcdst[3] ^ src1[3] from the operations + // above. + result[i] ^= ROL(result[0], 15); + } + result[i] ^= ROL(result[i], 15) ^ ROL(result[i], 23); + } + srcdst.SetUintArray(kFormat4S, result); + return srcdst; +} + +LogicVRegister Simulator::sm3partw2(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2) { + using namespace std::placeholders; + auto ROL = std::bind(RotateLeft, _1, _2, kSRegSize); + + SimVRegister temp; + VectorFormat vf = kFormat4S; + + rol(vf, temp, src2, 7); + LogicVRegister r = eor(vf, temp, temp, src1); + eor(vf, srcdst, temp, srcdst); + + uint64_t tmp2 = ROL(r.Uint(vf, 0), 15); + tmp2 ^= ROL(tmp2, 15) ^ ROL(tmp2, 23); + srcdst.SetUint(vf, 3, srcdst.Uint(vf, 3) ^ tmp2); + return srcdst; +} + +LogicVRegister Simulator::sm3ss1(LogicVRegister dst, + const LogicVRegister& src1, + const LogicVRegister& src2, + const LogicVRegister& src3) { + using namespace std::placeholders; + auto ROL = std::bind(RotateLeft, _1, _2, kSRegSize); + + VectorFormat vf = kFormat4S; + uint64_t result = ROL(src1.Uint(vf, 3), 12); + result += src2.Uint(vf, 3) + src3.Uint(vf, 3); + dst.Clear(); + dst.SetUint(vf, 3, ROL(result, 7)); + return dst; +} + +LogicVRegister Simulator::sm3tt1(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2, + int index, + bool is_a) { + VectorFormat vf = kFormat4S; + using namespace std::placeholders; + auto ROL = std::bind(RotateLeft, _1, _2, kSRegSize); + auto sd = std::bind(&LogicVRegister::Uint, srcdst, vf, _1); + + VIXL_ASSERT(IsUint2(index)); + + uint64_t wjprime = src2.Uint(vf, index); + uint64_t ss2 = src1.Uint(vf, 3) ^ ROL(sd(3), 12); + + uint64_t tt1; + if (is_a) { + tt1 = CryptoOp<"parity"_h>(sd(1), sd(2), sd(3)); + } else { + tt1 = CryptoOp<"majority"_h>(sd(1), sd(2), sd(3)); + } + tt1 += sd(0) + ss2 + wjprime; + + ext(kFormat16B, srcdst, srcdst, srcdst, 4); + srcdst.SetUint(vf, 1, ROL(sd(1), 9)); + srcdst.SetUint(vf, 3, tt1); + return srcdst; +} + +LogicVRegister Simulator::sm3tt2(LogicVRegister srcdst, + const LogicVRegister& src1, + const LogicVRegister& src2, + int index, + bool is_a) { + VectorFormat vf = kFormat4S; + using namespace std::placeholders; + auto ROL = std::bind(RotateLeft, _1, _2, kSRegSize); + auto sd = std::bind(&LogicVRegister::Uint, srcdst, vf, _1); + + VIXL_ASSERT(IsUint2(index)); + + uint64_t wj = src2.Uint(vf, index); + + uint64_t tt2; + if (is_a) { + tt2 = CryptoOp<"parity"_h>(sd(1), sd(2), sd(3)); + } else { + tt2 = CryptoOp<"choose"_h>(sd(3), sd(2), sd(1)); + } + tt2 += sd(0) + src1.Uint(vf, 3) + wj; + + ext(kFormat16B, srcdst, srcdst, srcdst, 4); + srcdst.SetUint(vf, 1, ROL(sd(1), 19)); + tt2 ^= ROL(tt2, 9) ^ ROL(tt2, 17); + srcdst.SetUint(vf, 3, tt2); + return srcdst; +} + } // namespace aarch64 } // namespace vixl diff --git a/3rdparty/vixl/src/aarch64/macro-assembler-aarch64.cc b/3rdparty/vixl/src/aarch64/macro-assembler-aarch64.cc index cee9218d2d682..af90a4237f73b 100644 --- a/3rdparty/vixl/src/aarch64/macro-assembler-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/macro-assembler-aarch64.cc @@ -24,10 +24,10 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include - #include "macro-assembler-aarch64.h" +#include + namespace vixl { namespace aarch64 { @@ -194,9 +194,8 @@ void VeneerPool::Reset() { void VeneerPool::Release() { if (--monitor_ == 0) { - VIXL_ASSERT(IsEmpty() || - masm_->GetCursorOffset() < - unresolved_branches_.GetFirstLimit()); + VIXL_ASSERT(IsEmpty() || masm_->GetCursorOffset() < + unresolved_branches_.GetFirstLimit()); } } @@ -313,6 +312,48 @@ void VeneerPool::Emit(EmitOption option, size_t amount) { } +MacroAssembler::MacroAssembler(PositionIndependentCodeOption pic) + : Assembler(pic), +#ifdef VIXL_DEBUG + allow_macro_instructions_(true), +#endif + generate_simulator_code_(VIXL_AARCH64_GENERATE_SIMULATOR_CODE), + sp_(sp), + tmp_list_(ip0, ip1), + v_tmp_list_(d31), + p_tmp_list_(CPURegList::Empty(CPURegister::kPRegister)), + current_scratch_scope_(NULL), + literal_pool_(this), + veneer_pool_(this), + recommended_checkpoint_(Pool::kNoCheckpointRequired), + fp_nan_propagation_(NoFPMacroNaNPropagationSelected) { + checkpoint_ = GetNextCheckPoint(); +#ifndef VIXL_DEBUG + USE(allow_macro_instructions_); +#endif +} + + +MacroAssembler::MacroAssembler(size_t capacity, + PositionIndependentCodeOption pic) + : Assembler(capacity, pic), +#ifdef VIXL_DEBUG + allow_macro_instructions_(true), +#endif + generate_simulator_code_(VIXL_AARCH64_GENERATE_SIMULATOR_CODE), + sp_(sp), + tmp_list_(ip0, ip1), + v_tmp_list_(d31), + p_tmp_list_(CPURegList::Empty(CPURegister::kPRegister)), + current_scratch_scope_(NULL), + literal_pool_(this), + veneer_pool_(this), + recommended_checkpoint_(Pool::kNoCheckpointRequired), + fp_nan_propagation_(NoFPMacroNaNPropagationSelected) { + checkpoint_ = GetNextCheckPoint(); +} + + MacroAssembler::MacroAssembler(byte* buffer, size_t capacity, PositionIndependentCodeOption pic) @@ -363,7 +404,7 @@ void MacroAssembler::FinalizeCode(FinalizeOption option) { void MacroAssembler::CheckEmitFor(size_t amount) { CheckEmitPoolsFor(amount); - VIXL_ASSERT(GetBuffer()->HasSpaceFor(amount)); + GetBuffer()->EnsureSpaceFor(amount); } @@ -1108,11 +1149,14 @@ void MacroAssembler::Ccmp(const Register& rn, StatusFlags nzcv, Condition cond) { VIXL_ASSERT(allow_macro_instructions_); - if (operand.IsImmediate() && (operand.GetImmediate() < 0)) { - ConditionalCompareMacro(rn, -operand.GetImmediate(), nzcv, cond, CCMN); - } else { - ConditionalCompareMacro(rn, operand, nzcv, cond, CCMP); + if (operand.IsImmediate()) { + int64_t imm = operand.GetImmediate(); + if ((imm < 0) && CanBeNegated(imm)) { + ConditionalCompareMacro(rn, -imm, nzcv, cond, CCMN); + return; + } } + ConditionalCompareMacro(rn, operand, nzcv, cond, CCMP); } @@ -1121,11 +1165,14 @@ void MacroAssembler::Ccmn(const Register& rn, StatusFlags nzcv, Condition cond) { VIXL_ASSERT(allow_macro_instructions_); - if (operand.IsImmediate() && (operand.GetImmediate() < 0)) { - ConditionalCompareMacro(rn, -operand.GetImmediate(), nzcv, cond, CCMP); - } else { - ConditionalCompareMacro(rn, operand, nzcv, cond, CCMN); + if (operand.IsImmediate()) { + int64_t imm = operand.GetImmediate(); + if ((imm < 0) && CanBeNegated(imm)) { + ConditionalCompareMacro(rn, -imm, nzcv, cond, CCMP); + return; + } } + ConditionalCompareMacro(rn, operand, nzcv, cond, CCMN); } @@ -1359,8 +1406,7 @@ void MacroAssembler::Add(const Register& rd, VIXL_ASSERT(allow_macro_instructions_); if (operand.IsImmediate()) { int64_t imm = operand.GetImmediate(); - if ((imm < 0) && (imm != std::numeric_limits::min()) && - IsImmAddSub(-imm)) { + if ((imm < 0) && CanBeNegated(imm) && IsImmAddSub(-imm)) { AddSubMacro(rd, rn, -imm, S, SUB); return; } @@ -1447,8 +1493,7 @@ void MacroAssembler::Sub(const Register& rd, VIXL_ASSERT(allow_macro_instructions_); if (operand.IsImmediate()) { int64_t imm = operand.GetImmediate(); - if ((imm < 0) && (imm != std::numeric_limits::min()) && - IsImmAddSub(-imm)) { + if ((imm < 0) && CanBeNegated(imm) && IsImmAddSub(-imm)) { AddSubMacro(rd, rn, -imm, S, ADD); return; } @@ -1609,7 +1654,7 @@ void MacroAssembler::Fmov(VRegister vd, Float16 imm) { void MacroAssembler::Neg(const Register& rd, const Operand& operand) { VIXL_ASSERT(allow_macro_instructions_); - if (operand.IsImmediate()) { + if (operand.IsImmediate() && CanBeNegated(operand.GetImmediate())) { Mov(rd, -operand.GetImmediate()); } else { Sub(rd, AppropriateZeroRegFor(rd), operand); @@ -1925,6 +1970,22 @@ void MacroAssembler::Setf16(const Register& wn) { setf16(wn); } +void MacroAssembler::Chkfeat(const Register& xdn) { + VIXL_ASSERT(allow_macro_instructions_); + MacroEmissionCheckScope guard(this); + if (xdn.Is(x16)) { + chkfeat(xdn); + } else { + UseScratchRegisterScope temps(this); + if (temps.TryAcquire(x16)) { + Mov(x16, xdn); + chkfeat(x16); + Mov(xdn, x16); + } else { + VIXL_ABORT(); + } + } +} #define DEFINE_FUNCTION(FN, REGTYPE, REG, OP) \ void MacroAssembler::FN(const REGTYPE REG, const MemOperand& addr) { \ diff --git a/3rdparty/vixl/src/aarch64/operands-aarch64.cc b/3rdparty/vixl/src/aarch64/operands-aarch64.cc index e01d19074acfe..d1bd81c5f3092 100644 --- a/3rdparty/vixl/src/aarch64/operands-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/operands-aarch64.cc @@ -465,5 +465,5 @@ bool GenericOperand::Equals(const GenericOperand& other) const { } return false; } -} -} // namespace vixl::aarch64 +} // namespace aarch64 +} // namespace vixl diff --git a/3rdparty/vixl/src/aarch64/pointer-auth-aarch64.cc b/3rdparty/vixl/src/aarch64/pointer-auth-aarch64.cc index 55cf4ca592dc9..6bc3751d5bdd9 100644 --- a/3rdparty/vixl/src/aarch64/pointer-auth-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/pointer-auth-aarch64.cc @@ -26,10 +26,10 @@ #ifdef VIXL_INCLUDE_SIMULATOR_AARCH64 -#include "simulator-aarch64.h" - #include "utils-vixl.h" +#include "simulator-aarch64.h" + namespace vixl { namespace aarch64 { @@ -151,7 +151,7 @@ uint64_t Simulator::AuthPAC(uint64_t ptr, uint64_t pac = ComputePAC(original_ptr, context, key); - uint64_t error_code = 1 << key.number; + uint64_t error_code = uint64_t{1} << key.number; if ((pac & pac_mask) == (ptr & pac_mask)) { return original_ptr; } else { diff --git a/3rdparty/vixl/src/aarch64/registers-aarch64.cc b/3rdparty/vixl/src/aarch64/registers-aarch64.cc index 90201a60314f5..3df7831319613 100644 --- a/3rdparty/vixl/src/aarch64/registers-aarch64.cc +++ b/3rdparty/vixl/src/aarch64/registers-aarch64.cc @@ -24,11 +24,11 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include "registers-aarch64.h" + #include #include -#include "registers-aarch64.h" - namespace vixl { namespace aarch64 { @@ -153,7 +153,8 @@ VIXL_CPUREG_COERCION_LIST(VIXL_DEFINE_CPUREG_COERCION) V(2, S) \ V(4, S) \ V(1, D) \ - V(2, D) + V(2, D) \ + V(1, Q) #define VIXL_DEFINE_CPUREG_NEON_COERCION(LANES, LANE_TYPE) \ VRegister VRegister::V##LANES##LANE_TYPE() const { \ VIXL_ASSERT(IsVRegister()); \ @@ -317,5 +318,5 @@ bool AreSameLaneSize(const CPURegister& reg1, !reg4.IsValid() || (reg4.GetLaneSizeInBits() == reg1.GetLaneSizeInBits()); return match; } -} -} // namespace vixl::aarch64 +} // namespace aarch64 +} // namespace vixl diff --git a/3rdparty/vixl/src/code-buffer-vixl.cc b/3rdparty/vixl/src/code-buffer-vixl.cc index 42a3866c8d63e..2cfe8b71d37cf 100644 --- a/3rdparty/vixl/src/code-buffer-vixl.cc +++ b/3rdparty/vixl/src/code-buffer-vixl.cc @@ -24,14 +24,51 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#ifdef VIXL_CODE_BUFFER_MMAP +extern "C" { +#include +} +#endif + #include "code-buffer-vixl.h" #include "utils-vixl.h" namespace vixl { +CodeBuffer::CodeBuffer(size_t capacity) + : buffer_(NULL), + managed_(true), + cursor_(NULL), + dirty_(false), + capacity_(capacity) { + if (capacity_ == 0) { + return; + } +#ifdef VIXL_CODE_BUFFER_MALLOC + buffer_ = reinterpret_cast(malloc(capacity_)); +#elif defined(VIXL_CODE_BUFFER_MMAP) + buffer_ = reinterpret_cast(mmap(NULL, + capacity, + PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS, + -1, + 0)); +#else +#error Unknown code buffer allocator. +#endif + VIXL_CHECK(buffer_ != NULL); + // Aarch64 instructions must be word aligned, we assert the default allocator + // always returns word align memory. + VIXL_ASSERT(IsWordAligned(buffer_)); + + cursor_ = buffer_; +} + + CodeBuffer::CodeBuffer(byte* buffer, size_t capacity) : buffer_(reinterpret_cast(buffer)), + managed_(false), cursor_(reinterpret_cast(buffer)), dirty_(false), capacity_(capacity) { @@ -41,6 +78,39 @@ CodeBuffer::CodeBuffer(byte* buffer, size_t capacity) CodeBuffer::~CodeBuffer() VIXL_NEGATIVE_TESTING_ALLOW_EXCEPTION { VIXL_ASSERT(!IsDirty()); + if (managed_) { +#ifdef VIXL_CODE_BUFFER_MALLOC + free(buffer_); +#elif defined(VIXL_CODE_BUFFER_MMAP) + munmap(buffer_, capacity_); +#else +#error Unknown code buffer allocator. +#endif + } +} + + +void CodeBuffer::SetExecutable() { +#ifdef VIXL_CODE_BUFFER_MMAP + int ret = mprotect(buffer_, capacity_, PROT_READ | PROT_EXEC); + VIXL_CHECK(ret == 0); +#else + // This requires page-aligned memory blocks, which we can only guarantee with + // mmap. + VIXL_UNIMPLEMENTED(); +#endif +} + + +void CodeBuffer::SetWritable() { +#ifdef VIXL_CODE_BUFFER_MMAP + int ret = mprotect(buffer_, capacity_, PROT_READ | PROT_WRITE); + VIXL_CHECK(ret == 0); +#else + // This requires page-aligned memory blocks, which we can only guarantee with + // mmap. + VIXL_UNIMPLEMENTED(); +#endif } @@ -78,16 +148,42 @@ void CodeBuffer::Align() { } void CodeBuffer::EmitZeroedBytes(int n) { - VIXL_ASSERT(HasSpaceFor(n)); + EnsureSpaceFor(n); dirty_ = true; memset(cursor_, 0, n); cursor_ += n; } void CodeBuffer::Reset() { +#ifdef VIXL_DEBUG + if (managed_) { + // Fill with zeros (there is no useful value common to A32 and T32). + memset(buffer_, 0, capacity_); + } +#endif cursor_ = buffer_; SetClean(); } +void CodeBuffer::Grow(size_t new_capacity) { + VIXL_ASSERT(managed_); + VIXL_ASSERT(new_capacity > capacity_); + ptrdiff_t cursor_offset = GetCursorOffset(); +#ifdef VIXL_CODE_BUFFER_MALLOC + buffer_ = static_cast(realloc(buffer_, new_capacity)); + VIXL_CHECK(buffer_ != NULL); +#elif defined(VIXL_CODE_BUFFER_MMAP) + buffer_ = static_cast( + mremap(buffer_, capacity_, new_capacity, MREMAP_MAYMOVE)); + VIXL_CHECK(buffer_ != MAP_FAILED); +#else +#error Unknown code buffer allocator. +#endif + + cursor_ = buffer_ + cursor_offset; + capacity_ = new_capacity; +} + + } // namespace vixl diff --git a/3rdparty/vixl/src/compiler-intrinsics-vixl.cc b/3rdparty/vixl/src/compiler-intrinsics-vixl.cc index f6234fa6bf417..b8ed1b21a5422 100644 --- a/3rdparty/vixl/src/compiler-intrinsics-vixl.cc +++ b/3rdparty/vixl/src/compiler-intrinsics-vixl.cc @@ -25,6 +25,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "compiler-intrinsics-vixl.h" + #include "utils-vixl.h" namespace vixl { diff --git a/3rdparty/vixl/src/cpu-features.cc b/3rdparty/vixl/src/cpu-features.cc index 08db3f44b9a65..e1bd0f15d4d3b 100644 --- a/3rdparty/vixl/src/cpu-features.cc +++ b/3rdparty/vixl/src/cpu-features.cc @@ -24,9 +24,10 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include "cpu-features.h" + #include -#include "cpu-features.h" #include "globals-vixl.h" #include "utils-vixl.h" diff --git a/3rdparty/vixl/vixl.vcxproj b/3rdparty/vixl/vixl.vcxproj index aaa48905c2305..90ca6158294f8 100644 --- a/3rdparty/vixl/vixl.vcxproj +++ b/3rdparty/vixl/vixl.vcxproj @@ -48,6 +48,7 @@ + diff --git a/3rdparty/vixl/vixl.vcxproj.filters b/3rdparty/vixl/vixl.vcxproj.filters index e19bd6cf1769d..1f0127716634b 100644 --- a/3rdparty/vixl/vixl.vcxproj.filters +++ b/3rdparty/vixl/vixl.vcxproj.filters @@ -45,6 +45,9 @@ aarch64 + + aarch64 + diff --git a/3rdparty/vulkan/include/CHANGELOG.md b/3rdparty/vulkan/include/CHANGELOG.md new file mode 100644 index 0000000000000..9c59ed6614aac --- /dev/null +++ b/3rdparty/vulkan/include/CHANGELOG.md @@ -0,0 +1,217 @@ +# 3.2.0 (2024-12-30) + +Additions to the library API: + +- Added support for Vulkan 1.4. +- Added support for VK_KHR_external_memory_win32 extension - `VMA_ALLOCATOR_CREATE_KHR_EXTERNAL_MEMORY_WIN32_BIT` flag, `vmaGetMemoryWin32Handle` function, and a whole new documentation chapter about it (#442). + +Other changes: + +- Fixed thread safety issue (#451). +- Many other bug fixes and improvements in the library code, documentation, sample app, Cmake script, mostly to improve compatibility with various compilers and GPUs. + +# 3.1.0 (2024-05-27) + +This release gathers fixes and improvements made during many months of continuous development on the main branch, mostly based on issues and pull requests on GitHub. + +Additions to the library API: + +- Added convenience functions `vmaCopyMemoryToAllocation`, `vmaCopyAllocationToMemory`. +- Added functions `vmaCreateAliasingBuffer2`, `vmaCreateAliasingImage2` that offer creating a buffer/image in an existing allocation with additional `allocationLocalOffset`. +- Added function `vmaGetAllocationInfo2`, structure `VmaAllocationInfo2` that return additional information about an allocation, useful for interop with other APIs (#383, #340). +- Added callback `VmaDefragmentationInfo::pfnBreakCallback` that allows breaking long execution of `vmaBeginDefragmentation`. + Also added `PFN_vmaCheckDefragmentationBreakFunction`, `VmaDefragmentationInfo::pBreakCallbackUserData`. +- Added support for VK_KHR_maintenance4 extension - `VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE4_BIT` flag (#397). +- Added support for VK_KHR_maintenance5 extension - `VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BIT` flag (#411). + +Other changes: + +- Changes in debug and configuration macros: + - Split macros into separate `VMA_DEBUG_LOG` and `VMA_DEBUG_LOG_FORMAT` (#297). + - Added macros `VMA_ASSERT_LEAK`, `VMA_LEAK_LOG_FORMAT` separate from normal `VMA_ASSERT`, `VMA_DEBUG_LOG_FORMAT` (#379, #385). + - Added macro `VMA_EXTENDS_VK_STRUCT` (#347). +- Countless bug fixes and improvements in the code and documentation, mostly to improve compatibility with various compilers and GPUs, including: + - Fixed missing `#include` that resulted in compilation error about `snprintf` not declared on some compilers (#312). + - Fixed main memory type selection algorithm for GPUs that have no `HOST_CACHED` memory type, like Raspberry Pi (#362). +- Major changes in Cmake script. +- Fixes in GpuMemDumpVis.py script. + +# 3.0.1 (2022-05-26) + +- Fixes in defragmentation algorithm. +- Fixes in GpuMemDumpVis.py regarding image height calculation. +- Other bug fixes, optimizations, and improvements in the code and documentation. + +# 3.0.0 (2022-03-25) + +It has been a long time since the previous official release, so hopefully everyone has been using the latest code from "master" branch, which is always maintained in a good state, not the old version. For completeness, here is the list of changes since v2.3.0. The major version number has changed, so there are some compatibility-breaking changes, but the basic API stays the same and is mostly backward-compatible. + +Major features added (some compatibility-breaking): + +- Added new API for selecting preferred memory type: flags `VMA_MEMORY_USAGE_AUTO`, `VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE`, `VMA_MEMORY_USAGE_AUTO_PREFER_HOST`, `VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT`, `VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT`, `VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT`. Old values like `VMA_MEMORY_USAGE_GPU_ONLY` still work as before, for backward compatibility, but are not recommended. +- Added new defragmentation API and algorithm, replacing the old one. See structure `VmaDefragmentationInfo`, `VmaDefragmentationMove`, `VmaDefragmentationPassMoveInfo`, `VmaDefragmentationStats`, function `vmaBeginDefragmentation`, `vmaEndDefragmentation`, `vmaBeginDefragmentationPass`, `vmaEndDefragmentationPass`. +- Redesigned API for statistics, replacing the old one. See structures: `VmaStatistics`, `VmaDetailedStatistics`, `VmaTotalStatistics`. `VmaBudget`, functions: `vmaGetHeapBudgets`, `vmaCalculateStatistics`, `vmaGetPoolStatistics`, `vmaCalculatePoolStatistics`, `vmaGetVirtualBlockStatistics`, `vmaCalculateVirtualBlockStatistics`. +- Added "Virtual allocator" feature - possibility to use core allocation algorithms for allocation of custom memory, not necessarily Vulkan device memory. See functions like `vmaCreateVirtualBlock`, `vmaDestroyVirtualBlock` and many more. +- `VmaAllocation` now keeps both `void* pUserData` and `char* pName`. Added function `vmaSetAllocationName`, member `VmaAllocationInfo::pName`. Flag `VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT` is now deprecated. +- Clarified and cleaned up various ways of importing Vulkan functions. See macros `VMA_STATIC_VULKAN_FUNCTIONS`, `VMA_DYNAMIC_VULKAN_FUNCTIONS`, structure `VmaVulkanFunctions`. Added members `VmaVulkanFunctions::vkGetInstanceProcAddr`, `vkGetDeviceProcAddr`, which are now required when using `VMA_DYNAMIC_VULKAN_FUNCTIONS`. + +Removed (compatibility-breaking): + +- Removed whole "lost allocations" feature. Removed from the interface: `VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT`, `VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT`, `vmaCreateLostAllocation`, `vmaMakePoolAllocationsLost`, `vmaTouchAllocation`, `VmaAllocatorCreateInfo::frameInUseCount`, `VmaPoolCreateInfo::frameInUseCount`. +- Removed whole "record & replay" feature. Removed from the API: `VmaAllocatorCreateInfo::pRecordSettings`, `VmaRecordSettings`, `VmaRecordFlagBits`, `VmaRecordFlags`. Removed VmaReplay application. +- Removed "buddy" algorithm - removed flag `VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT`. + +Minor but compatibility-breaking changes: + +- Changes in `ALLOCATION_CREATE_STRATEGY` flags. Removed flags: `VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT`, `VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT`, which were aliases to other existing flags. +- Added a member `void* pUserData` to `VmaDeviceMemoryCallbacks`. Updated `PFN_vmaAllocateDeviceMemoryFunction`, `PFN_vmaFreeDeviceMemoryFunction` to use the new `pUserData` member. +- Removed function `vmaResizeAllocation` that was already deprecated. + +Other major changes: + +- Added new features to custom pools: support for dedicated allocations, new member `VmaPoolCreateInfo::pMemoryAllocateNext`, `minAllocationAlignment`. +- Added support for Vulkan 1.2, 1.3. +- Added support for VK_KHR_buffer_device_address extension - flag `VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT`. +- Added support for VK_EXT_memory_priority extension - flag `VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT`, members `VmaAllocationCreateInfo::priority`, `VmaPoolCreateInfo::priority`. +- Added support for VK_AMD_device_coherent_memory extension - flag `VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT`. +- Added member `VmaAllocatorCreateInfo::pTypeExternalMemoryHandleTypes`. +- Added function `vmaGetAllocatorInfo`, structure `VmaAllocatorInfo`. +- Added functions `vmaFlushAllocations`, `vmaInvalidateAllocations` for multiple allocations at once. +- Added flag `VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT`. +- Added function `vmaCreateBufferWithAlignment`. +- Added convenience function `vmaGetAllocationMemoryProperties`. +- Added convenience functions: `vmaCreateAliasingBuffer`, `vmaCreateAliasingImage`. + +Other minor changes: + +- Implemented Two-Level Segregated Fit (TLSF) allocation algorithm, replacing previous default one. It is much faster, especially when freeing many allocations at once or when `bufferImageGranularity` is large. +- Renamed debug macro `VMA_DEBUG_ALIGNMENT` to `VMA_MIN_ALIGNMENT`. +- Added CMake support - CMakeLists.txt files. Removed Premake support. +- Changed `vmaInvalidateAllocation` and `vmaFlushAllocation` to return `VkResult`. +- Added nullability annotations for Clang: `VMA_NULLABLE`, `VMA_NOT_NULL`, `VMA_NULLABLE_NON_DISPATCHABLE`, `VMA_NOT_NULL_NON_DISPATCHABLE`, `VMA_LEN_IF_NOT_NULL`. +- JSON dump format has changed. +- Countless fixes and improvements, including performance optimizations, compatibility with various platforms and compilers, documentation. + +# 2.3.0 (2019-12-04) + +Major release after a year of development in "master" branch and feature branches. Notable new features: supporting Vulkan 1.1, supporting query for memory budget. + +Major changes: + +- Added support for Vulkan 1.1. + - Added member `VmaAllocatorCreateInfo::vulkanApiVersion`. + - When Vulkan 1.1 is used, there is no need to enable VK_KHR_dedicated_allocation or VK_KHR_bind_memory2 extensions, as they are promoted to Vulkan itself. +- Added support for query for memory budget and staying within the budget. + - Added function `vmaGetBudget`, structure `VmaBudget`. This can also serve as simple statistics, more efficient than `vmaCalculateStats`. + - By default the budget it is estimated based on memory heap sizes. It may be queried from the system using VK_EXT_memory_budget extension if you use `VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT` flag and `VmaAllocatorCreateInfo::instance` member. + - Added flag `VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT` that fails an allocation if it would exceed the budget. +- Added new memory usage options: + - `VMA_MEMORY_USAGE_CPU_COPY` for memory that is preferably not `DEVICE_LOCAL` but not guaranteed to be `HOST_VISIBLE`. + - `VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED` for memory that is `LAZILY_ALLOCATED`. +- Added support for VK_KHR_bind_memory2 extension: + - Added `VMA_ALLOCATION_CREATE_DONT_BIND_BIT` flag that lets you create both buffer/image and allocation, but don't bind them together. + - Added flag `VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT`, functions `vmaBindBufferMemory2`, `vmaBindImageMemory2` that let you specify additional local offset and `pNext` pointer while binding. +- Added functions `vmaSetPoolName`, `vmaGetPoolName` that let you assign string names to custom pools. JSON dump file format and VmaDumpVis tool is updated to show these names. +- Defragmentation is legal only on buffers and images in `VK_IMAGE_TILING_LINEAR`. This is due to the way it is currently implemented in the library and the restrictions of the Vulkan specification. Clarified documentation in this regard. See discussion in #59. + +Minor changes: + +- Made `vmaResizeAllocation` function deprecated, always returning failure. +- Made changes in the internal algorithm for the choice of memory type. Be careful! You may now get a type that is not `HOST_VISIBLE` or `HOST_COHERENT` if it's not stated as always ensured by some `VMA_MEMORY_USAGE_*` flag. +- Extended VmaReplay application with more detailed statistics printed at the end. +- Added macros `VMA_CALL_PRE`, `VMA_CALL_POST` that let you decorate declarations of all library functions if you want to e.g. export/import them as dynamically linked library. +- Optimized `VmaAllocation` objects to be allocated out of an internal free-list allocator. This makes allocation and deallocation causing 0 dynamic CPU heap allocations on average. +- Updated recording CSV file format version to 1.8, to support new functions. +- Many additions and fixes in documentation. Many compatibility fixes for various compilers and platforms. Other internal bugfixes, optimizations, updates, refactoring... + +# 2.2.0 (2018-12-13) + +Major release after many months of development in "master" branch and feature branches. Notable new features: defragmentation of GPU memory, buddy algorithm, convenience functions for sparse binding. + +Major changes: + +- New, more powerful defragmentation: + - Added structure `VmaDefragmentationInfo2`, functions `vmaDefragmentationBegin`, `vmaDefragmentationEnd`. + - Added support for defragmentation of GPU memory. + - Defragmentation of CPU memory now uses `memmove`, so it can move data to overlapping regions. + - Defragmentation of CPU memory is now available for memory types that are `HOST_VISIBLE` but not `HOST_COHERENT`. + - Added structure member `VmaVulkanFunctions::vkCmdCopyBuffer`. + - Major internal changes in defragmentation algorithm. + - VmaReplay: added parameters: `--DefragmentAfterLine`, `--DefragmentationFlags`. + - Old interface (structure `VmaDefragmentationInfo`, function `vmaDefragment`) is now deprecated. +- Added buddy algorithm, available for custom pools - flag `VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT`. +- Added convenience functions for multiple allocations and deallocations at once, intended for sparse binding resources - functions `vmaAllocateMemoryPages`, `vmaFreeMemoryPages`. +- Added function that tries to resize existing allocation in place: `vmaResizeAllocation`. +- Added flags for allocation strategy: `VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT`, and their aliases: `VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT`. + +Minor changes: + +- Changed behavior of allocation functions to return `VK_ERROR_VALIDATION_FAILED_EXT` when trying to allocate memory of size 0, create buffer with size 0, or image with one of the dimensions 0. +- VmaReplay: Added support for Windows end of lines. +- Updated recording CSV file format version to 1.5, to support new functions. +- Internal optimization: using read-write mutex on some platforms. +- Many additions and fixes in documentation. Many compatibility fixes for various compilers. Other internal bugfixes, optimizations, refactoring, added more internal validation... + +# 2.1.0 (2018-09-10) + +Minor bugfixes. + +# 2.1.0-beta.1 (2018-08-27) + +Major release after many months of development in "development" branch and features branches. Many new features added, some bugs fixed. API stays backward-compatible. + +Major changes: + +- Added linear allocation algorithm, accessible for custom pools, that can be used as free-at-once, stack, double stack, or ring buffer. See "Linear allocation algorithm" documentation chapter. + - Added `VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT`, `VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT`. +- Added feature to record sequence of calls to the library to a file and replay it using dedicated application. See documentation chapter "Record and replay". + - Recording: added `VmaAllocatorCreateInfo::pRecordSettings`. + - Replaying: added VmaReplay project. + - Recording file format: added document "docs/Recording file format.md". +- Improved support for non-coherent memory. + - Added functions: `vmaFlushAllocation`, `vmaInvalidateAllocation`. + - `nonCoherentAtomSize` is now respected automatically. + - Added `VmaVulkanFunctions::vkFlushMappedMemoryRanges`, `vkInvalidateMappedMemoryRanges`. +- Improved debug features related to detecting incorrect mapped memory usage. See documentation chapter "Debugging incorrect memory usage". + - Added debug macro `VMA_DEBUG_DETECT_CORRUPTION`, functions `vmaCheckCorruption`, `vmaCheckPoolCorruption`. + - Added debug macro `VMA_DEBUG_INITIALIZE_ALLOCATIONS` to initialize contents of allocations with a bit pattern. + - Changed behavior of `VMA_DEBUG_MARGIN` macro - it now adds margin also before first and after last allocation in a block. +- Changed format of JSON dump returned by `vmaBuildStatsString` (not backward compatible!). + - Custom pools and memory blocks now have IDs that don't change after sorting. + - Added properties: "CreationFrameIndex", "LastUseFrameIndex", "Usage". + - Changed VmaDumpVis tool to use these new properties for better coloring. + - Changed behavior of `vmaGetAllocationInfo` and `vmaTouchAllocation` to update `allocation.lastUseFrameIndex` even if allocation cannot become lost. + +Minor changes: + +- Changes in custom pools: + - Added new structure member `VmaPoolStats::blockCount`. + - Changed behavior of `VmaPoolCreateInfo::blockSize` = 0 (default) - it now means that pool may use variable block sizes, just like default pools do. +- Improved logic of `vmaFindMemoryTypeIndex` for some cases, especially integrated GPUs. +- VulkanSample application: Removed dependency on external library MathFu. Added own vector and matrix structures. +- Changes that improve compatibility with various platforms, including: Visual Studio 2012, 32-bit code, C compilers. + - Changed usage of "VK_KHR_dedicated_allocation" extension in the code to be optional, driven by macro `VMA_DEDICATED_ALLOCATION`, for compatibility with Android. +- Many additions and fixes in documentation, including description of new features, as well as "Validation layer warnings". +- Other bugfixes. + +# 2.0.0 (2018-03-19) + +A major release with many compatibility-breaking changes. + +Notable new features: + +- Introduction of `VmaAllocation` handle that you must retrieve from allocation functions and pass to deallocation functions next to normal `VkBuffer` and `VkImage`. +- Introduction of `VmaAllocationInfo` structure that you can retrieve from `VmaAllocation` handle to access parameters of the allocation (like `VkDeviceMemory` and offset) instead of retrieving them directly from allocation functions. +- Support for reference-counted mapping and persistently mapped allocations - see `vmaMapMemory`, `VMA_ALLOCATION_CREATE_MAPPED_BIT`. +- Support for custom memory pools - see `VmaPool` handle, `VmaPoolCreateInfo` structure, `vmaCreatePool` function. +- Support for defragmentation (compaction) of allocations - see function `vmaDefragment` and related structures. +- Support for "lost allocations" - see appropriate chapter on documentation Main Page. + +# 1.0.1 (2017-07-04) + +- Fixes for Linux GCC compilation. +- Changed "CONFIGURATION SECTION" to contain #ifndef so you can define these macros before including this header, not necessarily change them in the file. + +# 1.0.0 (2017-06-16) + +First public release. diff --git a/3rdparty/vulkan/include/README.md b/3rdparty/vulkan/include/README.md new file mode 100644 index 0000000000000..d6fc640463781 --- /dev/null +++ b/3rdparty/vulkan/include/README.md @@ -0,0 +1,196 @@ +# Vulkan Memory Allocator + +Easy to integrate Vulkan memory allocation library. + +**Documentation:** Browse online: [Vulkan Memory Allocator](https://gpuopen-librariesandsdks.github.io/VulkanMemoryAllocator/html/) (generated from Doxygen-style comments in [include/vk_mem_alloc.h](include/vk_mem_alloc.h)) + +**License:** MIT. See [LICENSE.txt](LICENSE.txt) + +**Changelog:** See [CHANGELOG.md](CHANGELOG.md) + +**Product page:** [Vulkan Memory Allocator on GPUOpen](https://gpuopen.com/gaming-product/vulkan-memory-allocator/) + +**Build status:** + +- Windows: [![Build status](https://ci.appveyor.com/api/projects/status/4vlcrb0emkaio2pn/branch/master?svg=true)](https://ci.appveyor.com/project/adam-sawicki-amd/vulkanmemoryallocator/branch/master) +- Linux: [![Build Status](https://app.travis-ci.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.svg?branch=master)](https://app.travis-ci.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) + +[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.svg)](http://isitmaintained.com/project/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator "Average time to resolve an issue") + +# Problem + +Memory allocation and resource (buffer and image) creation in Vulkan is difficult (comparing to older graphics APIs, like D3D11 or OpenGL) for several reasons: + +- It requires a lot of boilerplate code, just like everything else in Vulkan, because it is a low-level and high-performance API. +- There is additional level of indirection: `VkDeviceMemory` is allocated separately from creating `VkBuffer`/`VkImage` and they must be bound together. +- Driver must be queried for supported memory heaps and memory types. Different GPU vendors provide different types of it. +- It is recommended to allocate bigger chunks of memory and assign parts of them to particular resources, as there is a limit on maximum number of memory blocks that can be allocated. + +# Features + +This library can help game developers to manage memory allocations and resource creation by offering some higher-level functions: + +1. Functions that help to choose correct and optimal memory type based on intended usage of the memory. + - Required or preferred traits of the memory are expressed using higher-level description comparing to Vulkan flags. +2. Functions that allocate memory blocks, reserve and return parts of them (`VkDeviceMemory` + offset + size) to the user. + - Library keeps track of allocated memory blocks, used and unused ranges inside them, finds best matching unused ranges for new allocations, respects all the rules of alignment and buffer/image granularity. +3. Functions that can create an image/buffer, allocate memory for it and bind them together - all in one call. + +Additional features: + +- Well-documented - description of all functions and structures provided, along with chapters that contain general description and example code. +- Thread-safety: Library is designed to be used in multithreaded code. Access to a single device memory block referred by different buffers and textures (binding, mapping) is synchronized internally. Memory mapping is reference-counted. +- Configuration: Fill optional members of `VmaAllocatorCreateInfo` structure to provide custom CPU memory allocator, pointers to Vulkan functions and other parameters. +- Customization and integration with custom engines: Predefine appropriate macros to provide your own implementation of all external facilities used by the library like assert, mutex, atomic. +- Support for memory mapping, reference-counted internally. Support for persistently mapped memory: Just allocate with appropriate flag and access the pointer to already mapped memory. +- Support for non-coherent memory. Functions that flush/invalidate memory. `nonCoherentAtomSize` is respected automatically. +- Support for resource aliasing (overlap). +- Support for sparse binding and sparse residency: Convenience functions that allocate or free multiple memory pages at once. +- Custom memory pools: Create a pool with desired parameters (e.g. fixed or limited maximum size) and allocate memory out of it. +- Linear allocator: Create a pool with linear algorithm and use it for much faster allocations and deallocations in free-at-once, stack, double stack, or ring buffer fashion. +- Support for Vulkan 1.0...1.4. +- Support for extensions (and equivalent functionality included in new Vulkan versions): + - VK_KHR_dedicated_allocation: Just enable it and it will be used automatically by the library. + - VK_KHR_bind_memory2. + - VK_KHR_maintenance4. + - VK_KHR_maintenance5, including `VkBufferUsageFlags2CreateInfoKHR`. + - VK_EXT_memory_budget: Used internally if available to query for current usage and budget. If not available, it falls back to an estimation based on memory heap sizes. + - VK_KHR_buffer_device_address: Flag `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR` is automatically added to memory allocations where needed. + - VK_EXT_memory_priority: Set `priority` of allocations or custom pools and it will be set automatically using this extension. + - VK_AMD_device_coherent_memory. + - VK_KHR_external_memory_win32. +- Defragmentation of GPU and CPU memory: Let the library move data around to free some memory blocks and make your allocations better compacted. +- Statistics: Obtain brief or detailed statistics about the amount of memory used, unused, number of allocated blocks, number of allocations etc. - globally, per memory heap, and per memory type. +- Debug annotations: Associate custom `void* pUserData` and debug `char* pName` with each allocation. +- JSON dump: Obtain a string in JSON format with detailed map of internal state, including list of allocations, their string names, and gaps between them. +- Convert this JSON dump into a picture to visualize your memory. See [tools/GpuMemDumpVis](tools/GpuMemDumpVis/README.md). +- Debugging incorrect memory usage: Enable initialization of all allocated memory with a bit pattern to detect usage of uninitialized or freed memory. Enable validation of a magic number after every allocation to detect out-of-bounds memory corruption. +- Support for interoperability with OpenGL. +- Virtual allocator: Interface for using core allocation algorithm to allocate any custom data, e.g. pieces of one large buffer. + +# Prerequisites + +- Self-contained C++ library in single header file. No external dependencies other than standard C and C++ library and of course Vulkan. Some features of C++14 used. STL containers, RTTI, or C++ exceptions are not used. +- Public interface in C, in same convention as Vulkan API. Implementation in C++. +- Error handling implemented by returning `VkResult` error codes - same way as in Vulkan. +- Interface documented using Doxygen-style comments. +- Platform-independent, but developed and tested on Windows using Visual Studio. Continuous integration setup for Windows and Linux. Used also on Android, MacOS, and other platforms. + +# Example + +Basic usage of this library is very simple. Advanced features are optional. After you created global `VmaAllocator` object, a complete code needed to create a buffer may look like this: + +```cpp +VkBufferCreateInfo bufferInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufferInfo.size = 65536; +bufferInfo.usage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo allocInfo = {}; +allocInfo.usage = VMA_MEMORY_USAGE_AUTO; + +VkBuffer buffer; +VmaAllocation allocation; +vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr); +``` + +With this one function call: + +1. `VkBuffer` is created. +2. `VkDeviceMemory` block is allocated if needed. +3. An unused region of the memory block is bound to this buffer. + +`VmaAllocation` is an object that represents memory assigned to this buffer. It can be queried for parameters like `VkDeviceMemory` handle and offset. + +# How to build + +On Windows it is recommended to use [CMake GUI](https://cmake.org/runningcmake/). + +Alternatively you can generate/open a Visual Studio from the command line: + +```sh +# By default CMake picks the newest version of Visual Studio it can use +cmake -S . -B build -D VMA_BUILD_SAMPLES=ON +cmake --open build +``` + +On Linux: + +```sh +cmake -S . -B build +# Since VMA has no source files, you can skip to installation immediately +cmake --install build --prefix build/install +``` + +## How to use + +After calling either `find_package` or `add_subdirectory` simply link the library. +This automatically handles configuring the include directory. Example: + +```cmake +find_package(VulkanMemoryAllocator CONFIG REQUIRED) +target_link_libraries(YourGameEngine PRIVATE GPUOpen::VulkanMemoryAllocator) +``` + +For more info on using CMake visit the official [CMake documentation](https://cmake.org/cmake/help/latest/index.html). + +## Building using vcpkg + +You can download and install VulkanMemoryAllocator using the [vcpkg](https://github.com/Microsoft/vcpkg) dependency manager: + + git clone https://github.com/Microsoft/vcpkg.git + cd vcpkg + ./bootstrap-vcpkg.sh + ./vcpkg integrate install + ./vcpkg install vulkan-memory-allocator + +The VulkanMemoryAllocator port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. + +# Binaries + +The release comes with precompiled binary executable for "VulkanSample" application which contains test suite. It is compiled using Visual Studio 2022, so it requires appropriate libraries to work, including "MSVCP140.dll", "VCRUNTIME140.dll", "VCRUNTIME140_1.dll". If the launch fails with error message telling about those files missing, please download and install [Microsoft Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads), "X64" version. + +# Read more + +See **[Documentation](https://gpuopen-librariesandsdks.github.io/VulkanMemoryAllocator/html/)**. + +# Software using this library + +- **[Blender](https://www.blender.org)** +- **[Qt Project](https://github.com/qt)** +- **[Baldur's Gate III](https://www.mobygames.com/game/150689/baldurs-gate-iii/credits/windows/?autoplatform=true)** +- **[Cyberpunk 2077](https://www.mobygames.com/game/128136/cyberpunk-2077/credits/windows/?autoplatform=true)** +- **[X-Plane](https://x-plane.com/)** +- **[Detroit: Become Human](https://gpuopen.com/learn/porting-detroit-3/)** +- **[Vulkan Samples](https://github.com/LunarG/VulkanSamples)** - official Khronos Vulkan samples. License: Apache-style. +- **[GFXReconstruct](https://github.com/LunarG/gfxreconstruct)** - a tools for the capture and replay of graphics API calls. License: MIT. +- **[Anvil](https://github.com/GPUOpen-LibrariesAndSDKs/Anvil)** - cross-platform framework for Vulkan. License: MIT. +- **[Filament](https://github.com/google/filament)** - physically based rendering engine for Android, Windows, Linux and macOS, from Google. Apache License 2.0. +- **[Atypical Games - proprietary game engine](https://developer.samsung.com/galaxy-gamedev/gamedev-blog/infinitejet.html)** +- **[Flax Engine](https://flaxengine.com/)** +- **[Godot Engine](https://github.com/godotengine/godot/)** - multi-platform 2D and 3D game engine. License: MIT. +- **[Lightweight Java Game Library (LWJGL)](https://www.lwjgl.org/)** - includes binding of the library for Java. License: BSD. +- **[LightweightVK](https://github.com/corporateshark/lightweightvk)** - lightweight C++ bindless Vulkan 1.3 wrapper. License: MIT. +- **[PowerVR SDK](https://github.com/powervr-graphics/Native_SDK)** - C++ cross-platform 3D graphics SDK, from Imagination. License: MIT. +- **[Skia](https://github.com/google/skia)** - complete 2D graphic library for drawing Text, Geometries, and Images, from Google. +- **[The Forge](https://github.com/ConfettiFX/The-Forge)** - cross-platform rendering framework. Apache License 2.0. +- **[VK9](https://github.com/disks86/VK9)** - Direct3D 9 compatibility layer using Vulkan. Zlib license. +- **[vkDOOM3](https://github.com/DustinHLand/vkDOOM3)** - Vulkan port of GPL DOOM 3 BFG Edition. License: GNU GPL. +- **[vkQuake2](https://github.com/kondrak/vkQuake2)** - vanilla Quake 2 with Vulkan support. License: GNU GPL. +- **[Vulkan Best Practice for Mobile Developers](https://github.com/ARM-software/vulkan_best_practice_for_mobile_developers)** from ARM. License: MIT. +- **[RPCS3](https://github.com/RPCS3/rpcs3)** - PlayStation 3 emulator/debugger. License: GNU GPLv2. +- **[PPSSPP](https://github.com/hrydgard/ppsspp)** - Playstation Portable emulator/debugger. License: GNU GPLv2+. +- **[Wicked Engine](https://github.com/turanszkij/WickedEngine)** - 3D engine with modern graphics + +[Many other projects on GitHub](https://github.com/search?q=AMD_VULKAN_MEMORY_ALLOCATOR_H&type=Code) and some game development studios that use Vulkan in their games. + +# See also + +- **[D3D12 Memory Allocator](https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator)** - equivalent library for Direct3D 12. License: MIT. +- **[Awesome Vulkan](https://github.com/vinjn/awesome-vulkan)** - a curated list of awesome Vulkan libraries, debuggers and resources. +- **[vcpkg](https://github.com/Microsoft/vcpkg)** dependency manager from Microsoft also offers a port of this library. +- **[VulkanMemoryAllocator-Hpp](https://github.com/YaaZ/VulkanMemoryAllocator-Hpp)** - C++ binding for this library. License: CC0-1.0. +- **[PyVMA](https://github.com/realitix/pyvma)** - Python wrapper for this library. Author: Jean-Sébastien B. (@realitix). License: Apache 2.0. +- **[vk-mem](https://github.com/gwihlidal/vk-mem-rs)** - Rust binding for this library. Author: Graham Wihlidal. License: Apache 2.0 or MIT. +- **[Haskell bindings](https://hackage.haskell.org/package/VulkanMemoryAllocator)**, **[github](https://github.com/expipiplus1/vulkan/tree/master/VulkanMemoryAllocator)** - Haskell bindings for this library. Author: Ellie Hermaszewska (@expipiplus1). License BSD-3-Clause. +- **[vma_sample_sdl](https://github.com/rextimmy/vma_sample_sdl)** - SDL port of the sample app of this library (with the goal of running it on multiple platforms, including MacOS). Author: @rextimmy. License: MIT. +- **[vulkan-malloc](https://github.com/dylanede/vulkan-malloc)** - Vulkan memory allocation library for Rust. Based on version 1 of this library. Author: Dylan Ede (@dylanede). License: MIT / Apache 2.0. diff --git a/3rdparty/vulkan/include/vk_mem_alloc.h b/3rdparty/vulkan/include/vk_mem_alloc.h index 39f6ef345d3b1..536ffcd0871d4 100644 --- a/3rdparty/vulkan/include/vk_mem_alloc.h +++ b/3rdparty/vulkan/include/vk_mem_alloc.h @@ -25,7 +25,7 @@ /** \mainpage Vulkan Memory Allocator -Version 3.1.0 +Version 3.2.0 Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. \n License: MIT \n @@ -133,7 +133,9 @@ extern "C" { #endif #if !defined(VMA_VULKAN_VERSION) - #if defined(VK_VERSION_1_3) + #if defined(VK_VERSION_1_4) + #define VMA_VULKAN_VERSION 1004000 + #elif defined(VK_VERSION_1_3) #define VMA_VULKAN_VERSION 1003000 #elif defined(VK_VERSION_1_2) #define VMA_VULKAN_VERSION 1002000 @@ -1121,7 +1123,7 @@ typedef struct VmaAllocatorCreateInfo It must be a value in the format as created by macro `VK_MAKE_VERSION` or a constant like: `VK_API_VERSION_1_1`, `VK_API_VERSION_1_0`. The patch version number specified is ignored. Only the major and minor versions are considered. - Only versions 1.0, 1.1, 1.2, 1.3 are supported by the current implementation. + Only versions 1.0...1.4 are supported by the current implementation. Leaving it initialized to zero is equivalent to `VK_API_VERSION_1_0`. It must match the Vulkan version used by the application and supported on the selected physical device, so it must be no higher than `VkApplicationInfo::apiVersion` passed to `vkCreateInstance` @@ -12977,23 +12979,17 @@ VmaAllocator_T::VmaAllocator_T(const VmaAllocatorCreateInfo* pCreateInfo) : VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT is set but required extension or Vulkan 1.2 is not available in your Vulkan header or its support in VMA has been disabled by a preprocessor macro."); } #endif +#if VMA_VULKAN_VERSION < 1004000 + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 4, 0) && "vulkanApiVersion >= VK_API_VERSION_1_4 but required Vulkan version is disabled by preprocessor macros."); +#endif #if VMA_VULKAN_VERSION < 1003000 - if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 3, 0)) - { - VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_3 but required Vulkan version is disabled by preprocessor macros."); - } + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 3, 0) && "vulkanApiVersion >= VK_API_VERSION_1_3 but required Vulkan version is disabled by preprocessor macros."); #endif #if VMA_VULKAN_VERSION < 1002000 - if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 2, 0)) - { - VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_2 but required Vulkan version is disabled by preprocessor macros."); - } + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 2, 0) && "vulkanApiVersion >= VK_API_VERSION_1_2 but required Vulkan version is disabled by preprocessor macros."); #endif #if VMA_VULKAN_VERSION < 1001000 - if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) - { - VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_1 but required Vulkan version is disabled by preprocessor macros."); - } + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 1, 0) && "vulkanApiVersion >= VK_API_VERSION_1_1 but required Vulkan version is disabled by preprocessor macros."); #endif #if !(VMA_MEMORY_PRIORITY) if(m_UseExtMemoryPriority) diff --git a/3rdparty/vulkan/include/vulkan/vk_mem_alloc.h b/3rdparty/vulkan/include/vulkan/vk_mem_alloc.h index 39f6ef345d3b1..536ffcd0871d4 100644 --- a/3rdparty/vulkan/include/vulkan/vk_mem_alloc.h +++ b/3rdparty/vulkan/include/vulkan/vk_mem_alloc.h @@ -25,7 +25,7 @@ /** \mainpage Vulkan Memory Allocator -Version 3.1.0 +Version 3.2.0 Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. \n License: MIT \n @@ -133,7 +133,9 @@ extern "C" { #endif #if !defined(VMA_VULKAN_VERSION) - #if defined(VK_VERSION_1_3) + #if defined(VK_VERSION_1_4) + #define VMA_VULKAN_VERSION 1004000 + #elif defined(VK_VERSION_1_3) #define VMA_VULKAN_VERSION 1003000 #elif defined(VK_VERSION_1_2) #define VMA_VULKAN_VERSION 1002000 @@ -1121,7 +1123,7 @@ typedef struct VmaAllocatorCreateInfo It must be a value in the format as created by macro `VK_MAKE_VERSION` or a constant like: `VK_API_VERSION_1_1`, `VK_API_VERSION_1_0`. The patch version number specified is ignored. Only the major and minor versions are considered. - Only versions 1.0, 1.1, 1.2, 1.3 are supported by the current implementation. + Only versions 1.0...1.4 are supported by the current implementation. Leaving it initialized to zero is equivalent to `VK_API_VERSION_1_0`. It must match the Vulkan version used by the application and supported on the selected physical device, so it must be no higher than `VkApplicationInfo::apiVersion` passed to `vkCreateInstance` @@ -12977,23 +12979,17 @@ VmaAllocator_T::VmaAllocator_T(const VmaAllocatorCreateInfo* pCreateInfo) : VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT is set but required extension or Vulkan 1.2 is not available in your Vulkan header or its support in VMA has been disabled by a preprocessor macro."); } #endif +#if VMA_VULKAN_VERSION < 1004000 + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 4, 0) && "vulkanApiVersion >= VK_API_VERSION_1_4 but required Vulkan version is disabled by preprocessor macros."); +#endif #if VMA_VULKAN_VERSION < 1003000 - if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 3, 0)) - { - VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_3 but required Vulkan version is disabled by preprocessor macros."); - } + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 3, 0) && "vulkanApiVersion >= VK_API_VERSION_1_3 but required Vulkan version is disabled by preprocessor macros."); #endif #if VMA_VULKAN_VERSION < 1002000 - if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 2, 0)) - { - VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_2 but required Vulkan version is disabled by preprocessor macros."); - } + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 2, 0) && "vulkanApiVersion >= VK_API_VERSION_1_2 but required Vulkan version is disabled by preprocessor macros."); #endif #if VMA_VULKAN_VERSION < 1001000 - if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) - { - VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_1 but required Vulkan version is disabled by preprocessor macros."); - } + VMA_ASSERT(m_VulkanApiVersion < VK_MAKE_VERSION(1, 1, 0) && "vulkanApiVersion >= VK_API_VERSION_1_1 but required Vulkan version is disabled by preprocessor macros."); #endif #if !(VMA_MEMORY_PRIORITY) if(m_UseExtMemoryPriority) diff --git a/bin/docs/GameIndex.pdf b/bin/docs/GameIndex.pdf index f67553a256cbf..9135bd49fbc43 100644 Binary files a/bin/docs/GameIndex.pdf and b/bin/docs/GameIndex.pdf differ diff --git a/bin/docs/ThirdPartyLicenses.html b/bin/docs/ThirdPartyLicenses.html index d27a2d8dbc9c5..84f27afbf55ca 100644 --- a/bin/docs/ThirdPartyLicenses.html +++ b/bin/docs/ThirdPartyLicenses.html @@ -3,7 +3,7 @@

PCSX2 - PS2 Emulator for PCs

-

Copyright © 2002-2024 PCSX2 Dev Team

+

Copyright © 2002-2025 PCSX2 Dev Team

PCSX2 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

diff --git a/bin/resources/GameIndex.yaml b/bin/resources/GameIndex.yaml index 6b4acb89fc911..b91c1e33d702a 100644 --- a/bin/resources/GameIndex.yaml +++ b/bin/resources/GameIndex.yaml @@ -60,7 +60,7 @@ ALCH-00008: ALCH-00009: name: "ひぐらしのなく頃に祭 [初回限定版]" name-sort: "ひぐらしのなくころにまつり [しょかいげんていばん]" - name-en: "Higurashi no Naku Koro ni Matsuri [First Print Limited Edition]" + name-en: "Higurashi no Naku Koro ni Matsuri [First Limited Edition]" region: "NTSC-J" ALCH-00010: name: "この青空に約束を ~melody of the sun and sea~ [限定版]" @@ -80,7 +80,7 @@ ALCH-00014: ALCH-00015: name: "Sugar+Spice! ~あの子のステキな何もかも~ [初回限定版]" name-sort: "しゅがーすぱいす あのこのすてきななにもかも [しょかいげんていばん]" - name-en: "Sugar+Spice! - Anoko no Suteki na Nanimokamo [First Press Limited Edition]" + name-en: "Sugar+Spice! - Anoko no Suteki na Nanimokamo [First Limited Edition]" region: "NTSC-J" ALCH-00016: name: "恋する乙女と守護の楯 -The shield of AIGIS- [限定版]" @@ -145,7 +145,7 @@ FVGK-0007: FVGK-0015: name: "伯爵と妖精 ~夢と絆に思いを馳せて~ [初回限定版]" name-sort: "はくしゃくとようせい ゆめときずなにおもいをはせて [しょかいげんていばん]" - name-en: "Hakushaku to Yousei - Yume to Kizuna ni Omoi o Hasete [Limited Edition]" + name-en: "Hakushaku to Yousei - Yume to Kizuna ni Omoi o Hasete [First Limited Edition]" region: "NTSC-J" GUST-00009: name: "マナケミア ~学園の錬金術師たち~ [プレミアムボックス]" @@ -159,7 +159,7 @@ GUST-00009: gsHWFixes: roundSprite: 1 # Fixes misalignment of textures in the Pause Menu. GWS-0007: - name: "ナデプロ!! ~キサマも声優やってみろ!~ [限定版]" + name: "ナデプロ!! ~キサマも声優やってみろ!~ [限定版]" name-sort: "なでぷろ!! きさまもせいゆうやってみろ! [げんていばん]" name-en: "NadePro!! Kisama mo Seiyuu Yatte Miro! [Limited Edition]" region: "NTSC-J" @@ -395,7 +395,7 @@ PAPX-90501: PAPX-90502: name: "THE 山手線 ~Train Simulator Real [体験版]" name-sort: "ざ やまのてせん とれいんしみゅれーたーりある [たいけんばん]" - name-en: "Yamanote-sen - Train Simulator Real [Trial], The" + name-en: "Yamanote-sen - Train Simulator Real, The [Trial]" region: "NTSC-J" PAPX-90503: name: "ポポロクロイス ~はじまりの冒険~ ポポロクロイス [ファン限定ディスク]" @@ -529,12 +529,12 @@ PAPX-90524: PBGP-0061: name: "水夏A.S+ Eternal Name [初回限定版]" name-sort: "すいかA.Sぷらすえたーなるねーむ [しょかいげんていばん]" - name-en: "Suika A.S+ Eternal Name [First Press Limited Edition]" + name-en: "Suika A.S+ Eternal Name [First Limited Edition]" region: "NTSC-J" PBGP-0063: name: "最終試験くじら - Alive [初回限定版]" name-sort: "さいしゅうしけんくじら あらいぶ [しょかいげんていばん]" - name-en: "Saishuu Shiken Kujira - Alive [First Press Limited Edition]" + name-en: "Saishuu Shiken Kujira - Alive [First Limited Edition]" region: "NTSC-J" PBGP-0065: name: "D.C. ダ・カーポ The Origin [初回限定版]" @@ -652,6 +652,8 @@ PBPX-95251: region: "NTSC-U" PBPX-95501: name: "PS2 Linux Beta Release 1" + name-sort: "PS2 Linux Beta Release 1" + name-en: "PS2 Linux Beta Release 1" region: "NTSC-J" PBPX-95502: name: "GRAN TURISMO 3 - A-Spec [本体同梱版]" @@ -1055,7 +1057,7 @@ PCPX-96628: PCPX-96629: name: "冬のオススメソフト おためしDisc 2002" name-sort: "ふゆのおすすめそふと おためしでぃすく 2002" - name-en: "Fuyu no osusume soft otameshi Dsic 2002" + name-en: "Fuyu no osusume soft otameshi Disc 2002" region: "NTSC-J" PCPX-96630: name: "プレプレ2 VOLUME.6" @@ -2220,7 +2222,7 @@ SCAJ-20162: roundSprite: 1 # Fix mini-map and field menu. preloadFrameData: 1 # Fixes corrupt textures especially on water. disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing. - halfPixelOffset: 4 # Aligns post bloom. + halfPixelOffset: 2 # Aligns post bloom. nativeScaling: 2 # Fixes doubled post and DOF effects. SCAJ-20163: name: "Tales of the Abyss" @@ -2708,7 +2710,7 @@ SCCS-40017: region: "NTSC-C" compat: 5 SCCS-40018: - name: "比波猴@爱淘儿 一起欢聚比波猴乐园吧!" + name: "比波猴@爱淘儿 一起欢聚比波猴乐园吧!" name-sort: "Bibohou Aitaoer Yiqi Huanju Bibohou Leyuan Ba!" name-en: "Saru EyeToy - Oosawagi! Ukkiuki Game Tenkomori!!" region: "NTSC-C" @@ -6309,7 +6311,7 @@ SCES-54552: roundSprite: 1 # Fix mini-map and field menu. preloadFrameData: 1 # Fixes corrupt textures especially on water. disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing. - halfPixelOffset: 4 # Aligns post bloom. + halfPixelOffset: 2 # Aligns post bloom. nativeScaling: 2 # Fixes doubled post and DOF effects. patches: CBB4B383: @@ -8040,9 +8042,9 @@ SCPS-11020: name-en: "Otostaz [Trial]" region: "NTSC-J" SCPS-11021: - name: "夜明けのマリコ 2ndAct パフォーマンスパック" - name-sort: "よあけのまりこ 2ndAct ぱふぉーまんすぱっく" - name-en: "Yoake no Mariko 2nd Act" + name: "夜明けのマリコ 2ndAct [パフォーマンスパック]" + name-sort: "よあけのまりこ 2ndAct [ぱふぉーまんすぱっく]" + name-en: "Yoake no Mariko 2nd Act [Performance Pack]" region: "NTSC-J" SCPS-11022: name: "夜明けのマリコ 2ndAct" @@ -8091,14 +8093,14 @@ SCPS-11028: name-en: "Let's Bravo Music" region: "NTSC-J" SCPS-11029: - name: "しばいみち マイク同梱版" - name-sort: "しばいみち まいくどうこんばん" - name-en: "Shibai Muchi" + name: "しばいみち [USBマイク同梱版]" + name-sort: "しばいみち [USBまいくどうこんばん]" + name-en: "Shibai Michi [with USB Mic]" region: "NTSC-J" SCPS-11030: name: "しばいみち" name-sort: "しばいみち" - name-en: "Shibai Muchi [with Microphone]" + name-en: "Shibai Michi" region: "NTSC-J" SCPS-11031: name: "くまうた" @@ -8248,7 +8250,7 @@ SCPS-15017: SCPS-15018: name: "THE 山手線 ~Train Simulator Real" name-sort: "ざ やまのてせん Train Simulator Real" - name-en: "Train Simulator Real, The Yamanote Sen" + name-en: "Yamanote-sen - Train Simulator Real, The" region: "NTSC-J" SCPS-15019: name: "Formula One 2001" @@ -8285,9 +8287,9 @@ SCPS-15022: deinterlace: 9 # Game looks better with Adaptive BFF. halfPixelOffset: 4 # Improves offset blur. SCPS-15023: - name: "ワイルドアームズ アドヴァンスドサード プレミアムボックス" + name: "ワイルドアームズ アドヴァンスドサード [プレミアムボックス]" name-sort: "わいるどあーむず あどゔぁんすどさーど [ぷれみあむぼっくす]" - name-en: "Wild ARMs - Advanced 3rd" + name-en: "Wild ARMs - Advanced 3rd [Premium Box]" region: "NTSC-J" gsHWFixes: forceEvenSpritePosition: 1 # Fixes font artifacts and out-of-bound 2D textures. @@ -8354,7 +8356,7 @@ SCPS-15030: SCPS-15031: name: "THE 京浜急行 ~Train Simulator Real~ [限定版]" name-sort: "ざ けいひんきゅうこう Train Simulator Real [げんていばん]" - name-en: "Keihin Kyuukou - Train Simulator Real [Limited Edition], The" + name-en: "Keihin Kyuukou - Train Simulator Real, The [Limited Edition]" region: "NTSC-J" gsHWFixes: texturePreloading: 1 # Increases performance due to massive hash cache size. @@ -8408,14 +8410,14 @@ SCPS-15037: SCPS-15038: name: "OPERATOR'S SIDE [マイク同梱版]" name-sort: "おぺれーたーずさいど [まいくどうこんばん]" - name-en: "Operator's Side" + name-en: "Operator's Side [wtih MIC]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Fixes vertical lines. SCPS-15039: name: "OPERATOR'S SIDE [通常版]" name-sort: "おぺれーたーずさいど [つうじょうばん]" - name-en: "Operator's Side" + name-en: "Operator's Side [Standard Edition]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Fixes vertical lines. @@ -8740,7 +8742,7 @@ SCPS-15079: SCPS-15080: name: "我が竜を見よ" name-sort: "わがりゅうをみよ" - name-en: "Waga Ryuomiyo - Pride of the Dragon Peace" + name-en: "Waga Ryuu wo miyo - Pride of the Dragon Peace" region: "NTSC-J" SCPS-15081: name: "どこでもいっしょ トロといっぱい" @@ -8813,9 +8815,9 @@ SCPS-15090: gsHWFixes: halfPixelOffset: 2 # Fixes chromatic effect. SCPS-15091: - name: "ワイルドアームズ ザ フォースデトネイター 初回生産版" + name: "ワイルドアームズ ザ フォースデトネイター [初回生産版]" name-sort: "わいるどあーむず ざ ふぉーすでとねいたー [しょかいせいさんばん]" - name-en: "Wild ARMs - The 4th Detonator" + name-en: "Wild ARMs - The 4th Detonator [Limited Edition]" region: "NTSC-J" gsHWFixes: textureInsideRT: 1 @@ -8951,7 +8953,7 @@ SCPS-15102: roundSprite: 1 # Fix mini-map and field menu. preloadFrameData: 1 # Fixes corrupt textures especially on water. disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing. - halfPixelOffset: 4 # Aligns post bloom. + halfPixelOffset: 2 # Aligns post bloom. nativeScaling: 2 # Fixes doubled post and DOF effects. SCPS-15103: name: "ガンパレード・オーケストラ 白の章 ~青森ペンギン伝説~(限定版)" @@ -9002,7 +9004,7 @@ SCPS-15106: patch=0,EE,0013AB64,word,48449000 patch=0,EE,0013AB6C,word,4BC949FF SCPS-15107: - name: "ガンパレード・オーケストラ 緑の章 ~狼と彼の少年~ 限定版" + name: "ガンパレード・オーケストラ 緑の章 ~狼と彼の少年~ [限定版]" name-sort: "がんぱれーど おーけすとら みどりのしょう おおかみとかのしょうねん [げんていばん]" name-en: "Gunparade Orchestra - Midori no Shou [Limited Edition]" region: "NTSC-J" @@ -9026,7 +9028,7 @@ SCPS-15108: - "SCPS-15107" - "SCPS-15108" SCPS-15109: - name: "ガンパレード・オーケストラ 青の章 ~光の海から手紙を送ります~ 限定版" + name: "ガンパレード・オーケストラ 青の章 ~光の海から手紙を送ります~ [限定版]" name-sort: "がんぱれーど おーけすとら あおのしょう ひかりのうみからてがみをおくります [げんていばん]" name-en: "Gunparade Orchestra - Ao no Shou [Limited Edition]" region: "NTSC-J" @@ -9208,7 +9210,7 @@ SCPS-17013: roundSprite: 1 # Fix mini-map and field menu. preloadFrameData: 1 # Fixes corrupt textures especially on water. disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing. - halfPixelOffset: 4 # Aligns post bloom. + halfPixelOffset: 2 # Aligns post bloom. nativeScaling: 2 # Fixes doubled post and DOF effects. patches: CDEE4B19: @@ -9381,7 +9383,7 @@ SCPS-19211: halfPixelOffset: 4 # Aligns post bloom. nativeScaling: 1 # Fixes light blooms. SCPS-19213: - name: "Operator's Side USBマイク同梱版 [PlayStation2 the Best]" + name: "Operator's Side [USBマイク同梱版] [PlayStation2 the Best]" name-sort: "おぺれーたーずさいど [USBまいくどうこんばん] [PlayStation2 the Best]" name-en: "Operator's Side [PlayStation2 the Best] [with Microphone]" region: "NTSC-J" @@ -9457,7 +9459,7 @@ SCPS-19254: roundSprite: 1 # Fix mini-map and field menu. preloadFrameData: 1 # Fixes corrupt textures especially on water. disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing. - halfPixelOffset: 4 # Aligns post bloom. + halfPixelOffset: 2 # Aligns post bloom. nativeScaling: 2 # Fixes doubled post and DOF effects. SCPS-19301: name: "みんなのGOLF 4 [PlayStation2 the Best]" @@ -10014,7 +10016,7 @@ SCPS-55016: name-en: "Jet de Go! 2" region: "NTSC-J" SCPS-55017: - name: "鉄拳2" + name: "鉄拳4" name-sort: "てっけん4" name-en: "Tekken 4" region: "NTSC-J" @@ -10094,7 +10096,7 @@ SCPS-55028: region: "NTSC-J" SCPS-55029: name: ".hack//感染拡大 Vol.1" - name-sort: "どっとはっく かんせんかくだい Vol.1" + name-sort: "どっとはっく01 かんせんかくだい Vol.1" name-en: ".hack//Infection Part 1" region: "NTSC-J" gsHWFixes: @@ -10154,7 +10156,7 @@ SCPS-55041: region: "NTSC-J" SCPS-55042: name: ".hack//悪性変異 Vol.2" - name-sort: "どっとはっく あくせいへんい Vol.2" + name-sort: "どっとはっく02 あくせいへんい Vol.2" name-en: ".hack//Mutation Part 2" region: "NTSC-J" memcardFilters: @@ -11988,7 +11990,7 @@ SCUS-97490: roundSprite: 1 # Fix mini-map and field menu. preloadFrameData: 1 # Fixes corrupt textures especially on water. disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing. - halfPixelOffset: 4 # Aligns post bloom. + halfPixelOffset: 2 # Aligns post bloom. nativeScaling: 2 # Fixes doubled post and DOF effects. patches: 0643F90C: @@ -12312,7 +12314,7 @@ SCUS-97572: roundSprite: 1 # Fix mini-map and field menu. preloadFrameData: 1 # Fixes corrupt textures especially on water. disablePartialInvalidation: 1 # Prevents UI and subtitles from disappearing. - halfPixelOffset: 4 # Aligns post bloom. + halfPixelOffset: 2 # Aligns post bloom. nativeScaling: 2 # Fixes doubled post and DOF effects. SCUS-97574: name: "Jak X - Combat Racing [Greatest Hits]" @@ -13379,6 +13381,7 @@ SLED-53330: gsHWFixes: alignSprite: 1 # Fixes vertical lines. textureInsideRT: 1 # Fixes reflections. + mipmap: 0 # Currently causes texture flickering. gameFixes: - SoftwareRendererFMVHack # Fixes upscale lines in FMVs. SLED-53359: @@ -17187,7 +17190,7 @@ SLES-51439: halfPixelOffset: 4 # Aligns post effects. nativeScaling: 1 # Fixes post effects. SLES-51441: - name: "Dynasty Warriors 3 - Extreme Legends" + name: "Dynasty Warriors 3 - Xtreme Legends" region: "PAL-E" SLES-51442: name: "Dynasty Warriors 3 - Xtreme Legends" @@ -17384,9 +17387,9 @@ SLES-51553: clampModes: vuClampMode: 2 # Fixes SPS in item menu. gsHWFixes: - textureInsideRT: 1 # Fixes rainbow shadow of legions. alignSprite: 1 # Fixes green vertical lines. roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed. + textureInsideRT: 1 # Fixes rainbow shadow of legions. SLES-51554: name: "Cell Damage Overdrive" region: "PAL-M5" @@ -17543,10 +17546,12 @@ SLES-51654: gsHWFixes: recommendedBlendingLevel: 3 # Improves lighting. SLES-51658: - name: "Piglet's Big Game" + name: "Disney's ferkels grosses abenteuer-spiel" + name-en: "Piglet's Big Game" region: "PAL-G" SLES-51659: - name: "Piglet's Big Game" + name: "Disney's les aventures de porcinet" + name-en: "Piglet's Big Game" region: "PAL-F" SLES-51660: name: "Risk - Global Domination" @@ -17568,12 +17573,15 @@ SLES-51665: region: "PAL-S" SLES-51666: name: "Piglet - El Gran Juego de Disney" + name-en: "Piglet's Big Game" region: "PAL-S" SLES-51667: - name: "Piglet's Big Game" + name: "Disney's Pimpi Piccolo Grande Eroe" + name-en: "Piglet's Big Game" region: "PAL-I" SLES-51668: - name: "Piglet's Big Game" + name: "Disney's Knorretje Kleine Grote Held" + name-en: "Piglet's Big Game" region: "PAL-NL" SLES-51670: name: "Alter Echo" @@ -18436,6 +18444,8 @@ SLES-51981: vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas. gsHWFixes: roundSprite: 1 # Fixes slight blur. + halfPixelOffset: 2 # Aligns sun post processing. + nativeScaling: 2 # Fixes sun lines. SLES-51982: name: "ShellShock - Nam '67" region: "PAL-M3" @@ -18443,6 +18453,8 @@ SLES-51982: vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas. gsHWFixes: roundSprite: 1 # Fixes slight blur. + halfPixelOffset: 2 # Aligns sun post processing. + nativeScaling: 2 # Fixes sun lines. SLES-51986: name: "Backyard Wrestling - Don't Try This At Home" region: "PAL-M5" @@ -21581,6 +21593,7 @@ SLES-53125: gsHWFixes: alignSprite: 1 # Fixes vertical lines. textureInsideRT: 1 # Fixes reflections. + mipmap: 0 # Currently causes texture flickering. gameFixes: - SoftwareRendererFMVHack # Fixes upscale lines in FMVs. SLES-53127: @@ -29540,9 +29553,9 @@ SLKA-25026: clampModes: vuClampMode: 2 # Fixes SPS in item menu. gsHWFixes: - textureInsideRT: 1 # Fixes rainbow shadow of legions. alignSprite: 1 # Fixes green vertical lines. roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed. + textureInsideRT: 1 # Fixes rainbow shadow of legions. SLKA-25027: name: "NBA Street Vol. 2" region: "NTSC-K" @@ -31618,7 +31631,7 @@ SLPM-55020: recommendedBlendingLevel: 4 # Fixes moon light. SLPM-55021: name: "キングダム ハーツ Ⅱ - Re:Chain of Memories [ULTIMATE HITS] [ディスク 2]" - name-sort: "きんぐだむ はーつ2 - ふぁいなる みっくす ぷらす02 Re:Chain of Memories [ULTIMATE HITS] [でぃすく 2]" + name-sort: "きんぐだむ はーつ2 - ふぁいなる みっくすぷらす02 Re:Chain of Memories [ULTIMATE HITS] [でぃすく 2]" name-en: "Kingdom Hearts 2 - Re:Chain of Memories [Ultimate Hits] [Disc 2]" region: "NTSC-J" SLPM-55022: @@ -31838,7 +31851,7 @@ SLPM-55062: name-en: "Jikkyou Powerful Major League 3" region: "NTSC-J" SLPM-55063: - name: "薄桜鬼 新選組奇譚 限定版" + name: "薄桜鬼 新選組奇譚 [限定版]" name-sort: "はくおうき しんせんぐみきたん [げんていばん]" name-en: "Hakuouki - Shinsengumi Kitan [Limited Edition]" region: "NTSC-J" @@ -31999,8 +32012,8 @@ SLPM-55095: name-en: "Shinkyoku Soukai Polyphonica - The Black - Episode 1 & 2 Box Edition" region: "NTSC-J" SLPM-55096: - name: "THUNDERFORCE Ⅳ" - name-sort: "さんだーふぉーす4" + name: "THUNDERFORCE Ⅵ" + name-sort: "さんだーふぉーす6" name-en: "ThunderForce VI" region: "NTSC-J" compat: 5 @@ -32084,8 +32097,8 @@ SLPM-55113: name-en: "WinBack 2 - Project Poseidon [KOEI The Best]" region: "NTSC-J" SLPM-55114: - name: "マナケミア2 ~おちた学園と錬金術士たち~ [ガストベストプライス]" - name-sort: "まなけみあ2 おちたがくえんとれんきんじゅつしたち [がすとべすとぷらいす]" + name: "マナケミア2 ~おちた学園と錬金術士たち~ [ガストBest Price]" + name-sort: "まなけみあ2 おちたがくえんとれんきんじゅつしたち [がすとBest Price]" name-en: "Mana Khemia 2 - Ochita Gakuen to Renkinjutsushi Tachi" region: "NTSC-J" gsHWFixes: @@ -32117,8 +32130,8 @@ SLPM-55119: memcardFilters: - "SLPM-55118" SLPM-55120: - name: "不確定世界の探偵紳士 ~悪行双麻の事件ファイル~ 初回限定版" - name-sort: "ふかくていせかいのたんていしんし ~あくぎょうそうあさのじけんふぁいる~ しょかいげんていばん" + name: "不確定世界の探偵紳士 ~悪行双麻の事件ファイル~ [初回限定版]" + name-sort: "ふかくていせかいのたんていしんし ~あくぎょうそうあさのじけんふぁいる~ [しょかいげんていばん]" name-en: "Fukakutei Sekai no Tantei Shinshi - Akugyou Souma no Jiken File [Limited Edition]" region: "NTSC-J" SLPM-55121: @@ -32240,7 +32253,7 @@ SLPM-55143: SLPM-55144: name: "NBA LIVE 08 [EA BEST HITS]" name-sort: "NBA らいぶ08 [EA BEST HITS]" - name-en: "NBA Live 08 [EA BEST HITS]" + name-en: "NBA Live 08 [EA Best Hits]" region: "NTSC-J" gsHWFixes: cpuSpriteRenderBW: 2 # Fixes broken sprite rendering and crowd rendering. @@ -32461,12 +32474,12 @@ SLPM-55191: // This patch skips over the stack code, allowing the game to boot. patch=1,EE,001B4828,word,10000008 SLPM-55192: - name: "NUGA-CEL! - Nurture Garment Celebration [限定版]" + name: "NUGA-CEL! - Nurture Garment Celebration [限定版]" name-sort: "ぬがせる!- Nurture Garment Celebration [げんていばん]" name-en: "Nuga-Cel! Nurture Garment Celebration [Limited Edition]" region: "NTSC-J" SLPM-55193: - name: "NUGA-CEL! - Nurture Garment Celebration [通常版]" + name: "NUGA-CEL! - Nurture Garment Celebration [通常版]" name-sort: "ぬがせる!- Nurture Garment Celebration [つうじょうばん]" name-en: "Nuga-Cel! Nurture Garment Celebration [Standard Edition]" region: "NTSC-J" @@ -32610,7 +32623,7 @@ SLPM-55222: name-en: "Beatmania II DX 16 Empress + Premium Best [Disc 2 of 2 - Empress Disc]" region: "NTSC-J" SLPM-55223: - name: "ナデプロ!! ~キサマも声優やってみろ!~ [通常版]" + name: "ナデプロ!! ~キサマも声優やってみろ!~ [通常版]" name-sort: "なでぷろ!! きさまもせいゆうやってみろ! [つうじょうばん]" name-en: "NadePro!! Kisama mo Seiyuu Yatte Miro! [Standard Edition]" region: "NTSC-J" @@ -32657,7 +32670,7 @@ SLPM-55231: region: "NTSC-J" SLPM-55233: name: "金色のコルダ [KOEI The Best]" - name-sort: "きんいろのこるだ [ [KOEI The Best]" + name-sort: "きんいろのこるだ [KOEI The Best]" name-en: "Kin'iro no Corda [KOEI The Best]" region: "NTSC-J" SLPM-55234: @@ -32883,7 +32896,7 @@ SLPM-55282: name-en: "Armen Noir" region: "NTSC-J" SLPM-55283: - name: "薄桜鬼 黎明録 限定版" + name: "薄桜鬼 黎明録 [限定版]" name-sort: "はくおうき れいめいろく [げんていばん]" name-en: "Hakuouki - Reimeiroku [Limited Edition]" region: "NTSC-J" @@ -33056,7 +33069,7 @@ SLPM-60122: SLPM-60123: name: "劇空間プロ野球 -AT THE END OF THE CENTURY 1999 [体験版]" name-sort: "げきくうかんぷろやきゅう -AT THE END OF THE CENTURY 1999 [たいけんばん]" - name-en: "Gekikuukan Pro Yakyuu - The End of the Century 1999 [Trial]" + name-en: "Gekikuukan Pro Yakyuu - At The End of the Century 1999 [Trial]" region: "NTSC-J" SLPM-60124: name: "エクストリーム・レーシング SSX [体験版]" @@ -33109,7 +33122,9 @@ SLPM-60133: name-en: "Zeonic Front - Kidou Senshi Gundam 0079 [Trial]" region: "NTSC-J" SLPM-60134: - name: "Technictix" + name: "テクニクティクス [体験版]" + name-sort: "てくにくてぃくす [たいけんばん]" + name-en: "Technictix [Treial]" region: "NTSC-J" SLPM-60135: name: "Shadow of Memories [店頭放映用ムービー版]" @@ -33119,10 +33134,14 @@ SLPM-60135: gsHWFixes: halfPixelOffset: 2 # Fixes ghosting. SLPM-60136: - name: "Bloody Roar 3" + name: "ブラッディロア 3 [体験版]" + name-sort: "ぶらっでぃろあ 3 [たいけんばん]" + name-en: "Bloody Roar 3 [Trial]" region: "NTSC-J" SLPM-60138: - name: "Klonoa 2 - Lunatea's Veil [Trial]" + name: "風のクロノア2 ~世界が望んだ忘れもの~ [体験版]" + name-sort: "かぜのくろのあ2 せかいがのぞんだわすれもの [たいけんばん]" + name-en: "Kaze no Klonoa 2 - Sekai ga Nozonda Wasuremono [Trial]" region: "NTSC-J" clampModes: eeClampMode: 3 # Objects appear in wrong places without it. @@ -33132,13 +33151,19 @@ SLPM-60138: gsHWFixes: cpuCLUTRender: 1 # Fixes shadows, object and enemy colours, platform transitions. SLPM-60140: - name: "Lilie no Atelier - Salburg no Renkinjutsushi 3" + name: "リリーのアトリエ ~ザールブルグの錬金術士3~ [体験版]" + name-sort: "りりーのあとりえ ざーるぶるぐのれんきんじゅつし3 [たいけんばん]" + name-en: "Lilie no Atelier - Salburg no Renkinjutsushi 3 [Trial]" region: "NTSC-J" SLPM-60141: - name: "Golful Golf" + name: "ゴルフルGOLF [体験版]" + name-sort: "ごるふるごるふ [たいけんばん]" + name-en: "Golful Golf [Trial]" region: "NTSC-J" SLPM-60142: - name: "Densha de Go! 3 - Tsuukin-hen" + name: "電車でGO!3 通勤編 [体験版]" + name-sort: "でんしゃでごー3 つうきんへん [たいけんばん]" + name-en: "Densha de Go! 3 - Tsuukin-hen [Trial]" region: "NTSC-J" SLPM-60143: name: "鉄甲機ミカズキ [体験版]" @@ -33157,7 +33182,9 @@ SLPM-60145: halfPixelOffset: 4 # Fixes lighting misalignment. nativeScaling: 2 # Fixes lighting smoothness. SLPM-60146: - name: "Tetsu One - Densha de Battle!" + name: "鉄1 ~電車でバトル~ [体験版]" + name-sort: "てつ1 ~でんしゃでばとる~ [たいけんばん]" + name-en: "Tetsu-One Train Battle [Trial]" region: "NTSC-J" SLPM-60147: name: "牧場物語3 ~ ハートに火をつけて [体験版]" @@ -33165,10 +33192,14 @@ SLPM-60147: name-en: "Bokujou Monogatari 3 - Heart ni Hi wo Tsukete [Trial]" region: "NTSC-J" SLPM-60148: - name: "Yanya! Caballista featuring Gawoo" + name: "ヤンヤ カバジスタ ~featuring Gawoo~ [体験版]" + name-sort: "やんや かばじすた ~featuring Gawoo~ [たいけんばん]" + name-en: "Yanya Caballista - featuring Gawoo [Trial]" region: "NTSC-J" SLPM-60149: - name: "Ace Combat 04 - Shattered Skies [Trial]" + name: "エースコンバット04 シャッタードスカイ [体験版]" + name-sort: "えーすこんばっと04 しゃったーどすかい [たいけんばん]" + name-en: "Ace Combat 04 - Shattered Skies [Trial]" region: "NTSC-J" gameFixes: - SoftwareRendererFMVHack # Fixes FMVs disabling hash cache. @@ -33181,7 +33212,9 @@ SLPM-60149: cpuSpriteRenderLevel: 0 # Needed for above. nativeScaling: 2 # Smooths post processing. SLPM-60150: - name: "Tamamayu Monogatari 2 - Horobi no Mushi" + name: "玉繭物語2 ~滅びの蟲~ MOVIE DISC [体験版]" + name-sort: "たままゆものがたり2 ほろびのむし MOVIE DISC [たいけんばん]" + name-en: "Tamamayu Story 2 - Horobi no Mushi [Trial]" region: "NTSC-J" SLPM-60152: name: "NBA STREET [体験版]" @@ -33189,22 +33222,32 @@ SLPM-60152: name-en: "NBA Street [Trial]" region: "NTSC-J" SLPM-60153: - name: "Garakuta Meisaku Gekijou - Rakugaki Oukoku" + name: "ガラクタ名作劇場 ラクガキ王国 [体験版]" + name-sort: "がらくためいさくげきじょう らくがきおうこく [たいけんばん]" + name-en: "Galacta Meisaku Gekijou - Rakugaki Oukouku [Trial]" region: "NTSC-J" SLPM-60154: - name: "Touge 3" + name: "峠3 [体験版]" + name-sort: "とうげ3 [たいけんばん]" + name-en: "Touge 3 [Trial]" region: "NTSC-J" SLPM-60157: - name: "BuileBaku" + name: "ビルバク [体験版]" + name-sort: "びるばく [たいけんばん]" + name-en: "Buile Baku [Trial]" region: "NTSC-J" SLPM-60158: - name: "Hippa Linda" + name: "ひっぱリンダ [体験版]" + name-sort: "ひっぱりんだ [たいけんばん]" + name-en: "Hippa Linda [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Aligns post effects. autoFlush: 1 # Fixes ghosting. SLPM-60159: - name: "Dengeki PS2 PlayStation D47" + name: "電撃PS2 / 電撃PlayStation D47" + name-sort: "でんげき PS2 でんげきPlayStation D47" + name-en: "Dengeki PS2 / DengekiPlayStation D47" region: "NTSC-J" SLPM-60162: name: "GUILTY GEAR X PLUS [体験版]" @@ -33212,7 +33255,9 @@ SLPM-60162: name-en: "Guilty Gear X Plus [Trial]" region: "NTSC-J" SLPM-60165: - name: "Maximo" + name: "マキシモ [体験版]" + name-sort: "まきしも [たいけんばん]" + name-en: "Maximo [Trial]" region: "NTSC-J" SLPM-60166: name: "ジェットでGO!2 [体験版]" @@ -33220,7 +33265,9 @@ SLPM-60166: name-en: "Jet de Go! 2 [Trial]" region: "NTSC-J" SLPM-60167: - name: "Zero [Trial]" + name: "零 ~zero~ [体験版]" + name-sort: "ぜろ [たいけんばん]" + name-en: "Fatal Frame [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Reduces blurriness. @@ -33231,19 +33278,27 @@ SLPM-60169: name-en: "Exciting Pro Wres 3 [Trial]" region: "NTSC-J" SLPM-60171: - name: "Soul Reaver 2" + name: "ソウルリーバー2 [体験版]" + name-sort: "そうるりーばー2 [たいけんばん]" + name-en: "Soul Reaver 2 - Legacy of Kain [Trial]" region: "NTSC-J" SLPM-60172: - name: "Itadaki Street 3 - Okuman Chouja ni Shiteageru" + name: "いただきストリート3 億万長者にしてあげる! [体験版]" + name-sort: "いただきすとりーと3 おくまんちょうじゃにしてあげる! [たいけんばん]" + name-en: "Itadaki Street 3 - Okuman Chouja ni Shiteageru! [Trial]" region: "NTSC-J" SLPM-60174: - name: "Zettai Zetsumei Toshi" + name: "絶体絶命都市 [体験版]" + name-sort: "ぜったいぜつめいとし [たいけんばん]" + name-en: "Zettai Zetsumei Toshi [Trial]" region: "NTSC-J" gsHWFixes: autoFlush: 1 # Fixes incorrect blur effect. halfPixelOffset: 4 # Improves blur. SLPM-60175: - name: "Wangan Midnight [Trial]" + name: "湾岸ミッドナイト [体験版]" + name-sort: "わんがんみっどないと [たいけんばん]" + name-en: "Wangan Midnight [Trial]" region: "NTSC-J" SLPM-60176: name: "U - underwater unit [体験版]" @@ -33251,27 +33306,41 @@ SLPM-60176: name-en: "U - Underwater Unit [Trial]" region: "NTSC-J" SLPM-60177: - name: "Kengou 2" + name: "剣豪2 [体験版]" + name-sort: "けんごう2 [たいけんばん]" + name-en: "Kengo 2 [Trial]" region: "NTSC-J" SLPM-60178: - name: "Nihon Daihyou Senshu ni Narou!" + name: "ドラマティックサッカーゲーム 日本代表選手になろう! [体験版]" + name-sort: "どらまてぃっくさっかーげーむ にほんだいひょうせんしゅになろう! [たいけんばん]" + name-en: "Dramatic Soccer Game - Nihon Daihyou Senshu ni Narou! [Trial]" region: "NTSC-J" SLPM-60179: - name: "Densha de Go! Ryojou-hen" + name: "電車でGO! ~旅情編~ [体験版]" + name-sort: "でんしゃでごー りょじょうへん [たいけんばん]" + name-en: "Densha de Go! Ryojou-hen [Trial]" region: "NTSC-J" SLPM-60180: - name: "Disney Golf Classics [Trial]" + name: "ディズニーゴルフ クラシック [体験版]" + name-sort: "でぃずにーごるふ くらしっく [たいけんばん]" + name-en: "Disney Golf Classics [Trial]" region: "NTSC-J" roundModes: eeDivRoundMode: 3 # Fixes random game crashing. SLPM-60181: - name: "Street Golfer" + name: "Street Golfer [体験版]" + name-sort: "すとりーと ごるふぁー [たいけんばん]" + name-en: "Street Golfer [Trial]" region: "NTSC-J" SLPM-60182: - name: "Zoku Segare Ijiri - Henchin Tama Segare" + name: "続せがれいじり 変珍たませがれ [体験版]" + name-sort: "ぞくせがれいじり へんちんたませがれ [たいけんばん]" + name-en: "Zoku Segare Ijiri - Henchin Tama Segare [Trial]" region: "NTSC-J" SLPM-60183: - name: "Energy Airforce [Trial]" + name: "エナジーエアフォース TRIAL VERSION [体験版]" + name-sort: "えなじーえあふぉーす TRIAL VERSION [たいけんばん]" + name-en: "Energy Airforce TRIAL VERSION [Trial]" region: "NTSC-J" SLPM-60184: name: "GUNGRAVE [体験版]" @@ -33284,15 +33353,19 @@ SLPM-60188: name-en: "Marvel vs. Capcom 2 New Age of Heroes [Trial]" region: "NTSC-J" SLPM-60189: - name: "Dengeki PS2 PlayStation D54" + name: "電撃PS2 / 電撃PlayStation D54" + name-sort: "でんげき PS2 でんげきPlayStation D54" + name-en: "Dengeki PS2 / DengekiPlayStation D54" region: "NTSC-J" SLPM-60190: - name: "Ultraman - Fighting Evolution 2" + name: "ウルトラマン Fighting Evolution 2 [体験版]" + name-sort: "うるとらまん Fighting Evolution 2 [たいけんばん]" + name-en: "Ultraman Fighting Evolution 2 [Trial]" region: "NTSC-J" SLPM-60192: - name: "忍 -Shinobi-" - name-sort: "しのび" - name-en: "Shinobi" + name: "忍 -Shinobi- [体験版]" + name-sort: "しのび [たいけんばん]" + name-en: "Shinobi [Trial]" region: "NTSC-J" SLPM-60193: name: "GUILTY GEAR XX THE MIDNIGHT CARNIVAL [体験版]" @@ -33305,7 +33378,9 @@ SLPM-60194: name-en: "Kotoba no Puzzle - Mojipittan [Trial]" region: "NTSC-J" SLPM-60195: - name: "Kaido Battle - Nikko, Haruna, Rokko, Hakone [Trial]" + name: "街道バトル ~日光・榛名・六甲・箱根~ [体験版]" + name-sort: "かいどうばとる にっこう はるな ろっこう はこね [たいけんばん]" + name-en: "Kaido Battle - Nikko, Haruna, Rokko, Hakone [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Fixes ghosting during Rain. @@ -33324,10 +33399,14 @@ SLPM-60198: gsHWFixes: roundSprite: 2 # Fixes lines at the edges of the HUD. SLPM-60199: - name: "Dengeki PS2 PlayStation D58" + name: "電撃PS2 / 電撃PlayStation D58" + name-sort: "でんげき PS2 でんげきPlayStation D58" + name-en: "Dengeki PS2 / DengekiPlayStation D58" region: "NTSC-J" SLPM-60200: - name: "Anubis - Zone of the Enders" + name: "Visual Works of ANUBIS [体験版]" + name-sort: "びじゅあるわーくす おぶ あぬびす [たいけんばん]" + name-en: "Visual Works of Anubis [Trial]" region: "NTSC-J" SLPM-60202: name: "R-TYPE FINAL [体験版]" @@ -33345,14 +33424,18 @@ SLPM-60205: name-en: "Initial D - Special Stage [Special Trial]" region: "NTSC-J" SLPM-60206: - name: "Shutokou Battle 01 [Trial]" + name: "首都高バトル01 [体験版]" + name-sort: "しゅとこうばとる01 [たいけんばん]" + name-en: "Shutokou Battle 01 [Trial]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Fixes vertical lines. forceEvenSpritePosition: 1 # Improves visual clarity whilst upscaling. roundSprite: 1 # Reduces graphics garbage on UI whilst upscaling. SLPM-60207: - name: "Rockman X7" + name: "ロックマンX7 [体験版]" + name-sort: "ろっくまんえっくす7 [たいけんばん]" + name-en: "Rockman X7 [Trial]" region: "NTSC-J" compat: 5 clampModes: @@ -33370,13 +33453,19 @@ SLPM-60209: name-en: "Real Sports Pro Yakyuu [Trial]" region: "NTSC-J" SLPM-60211: - name: "Bujingai" + name: "武刃街 -BUJINGAI- [体験版]" + name-sort: "ぶじんがい [たいけんばん]" + name-en: "Bujingai [Trial]" region: "NTSC-J" SLPM-60212: - name: "Makai Eiyuuki Maximo - Machine Monster no Yabou" + name: "魔界英雄記マキシモ ~マシンモンスターの野望~ [体験版]" + name-sort: "まかいえいゆうきまきしも ましんもんすたーのやぼう [たいけんばん]" + name-en: "Makai Eiyuuki Maximo - Machine Monster no Yabou [Trial]" region: "NTSC-J" SLPM-60213: - name: "Katamari Damacy [Demo]" + name: "塊魂 [体験版]" + name-sort: "かたまりだましい [たいけんばん]" + name-en: "Katamari Damacy [Trial]" region: "NTSC-J" roundModes: vu1RoundMode: 0 # Fixes SPS. @@ -33396,7 +33485,9 @@ SLPM-60214: halfPixelOffset: 4 # Fixes shadow positioning. autoFlush: 2 # Makes the shadow monsters appear. SLPM-60215: - name: "Dengeki PS2 PlayStation D63" + name: "電撃PS2 / 電撃PlayStation D63" + name-sort: "でんげき PS2 でんげきPlayStation D63" + name-en: "Dengeki PS2 / DengekiPlayStation D63" region: "NTSC-J" SLPM-60216: name: "R:RACING EVOLUTION [体験版]" @@ -33431,7 +33522,9 @@ SLPM-60220: name-en: "Hajime no Ippo II - Victorious Road [Trial]" region: "NTSC-J" SLPM-60225: - name: "Fuuun Shinsengumi" + name: "風雲新撰組 [体験版]" + name-sort: "ふううん しんせんぐみ [たいけんばん]" + name-en: "Fuuun Shinsengumi [Trial]" region: "NTSC-J" SLPM-60226: name: "シャドウハーツⅡ [体験版]" @@ -33442,17 +33535,23 @@ SLPM-60226: halfPixelOffset: 4 # Fixes shadow positioning. autoFlush: 2 # Makes the shadow monsters appear. SLPM-60228: - name: "Kaido Battle 2 - Chain Reaction [Trial]" + name: "街道バトル2 CHAIN REACTION [体験版]" + name-sort: "かいどうばとる2 CHAIN REACTION [たいけんばん]" + name-en: "Kaido Battle 2 - Chain Reaction [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Fixes ghosting during Rain/Storm. alignSprite: 1 # Fixes vertical lines. forceEvenSpritePosition: 1 # De-blurs the 3D image. SLPM-60237: - name: "Densha de Go! Final" + name: "電車でGO!FINAL [体験版]" + name-sort: "でんしゃでごーFINAL [たいけんばん]" + name-en: "Densha de Go! Final [Trial]" region: "NTSC-J" SLPM-60239: - name: "Katamari Damacy [Trial]" + name: "塊魂 [店頭体験版]" + name-sort: "かたまりだましい [てんとうたいけんばん]" + name-en: "Katamari Damacy [Store Demo]" region: "NTSC-J" roundModes: vu1RoundMode: 0 # Fixes SPS. @@ -33464,10 +33563,14 @@ SLPM-60239: halfPixelOffset: 4 # Aligns post effects. nativeScaling: 2 # Fixes post effects. SLPM-60240: - name: "Dengeki PS2 PlayStation D67" + name: "電撃PS2 / 電撃PlayStation D67" + name-sort: "でんげき PS2 でんげきPlayStation D67" + name-en: "Dengeki PS2 / DengekiPlayStation D67" region: "NTSC-J" SLPM-60241: - name: "Sakurazaka Shouboutai" + name: "桜坂消防隊 [体験版]" + name-sort: "さくらざかしょうぼうたい [たいけんばん]" + name-en: "Sakurazaka Shouboutai [Trial]" region: "NTSC-J" SLPM-60242: name: "バーチャファイターサイバージェネレーション ~ジャッジメントシックスの野望~ [体験版]" @@ -33475,7 +33578,9 @@ SLPM-60242: name-en: "Virtua Fighter Cyber Generation - Ambition of the Judgement Six [Trial]" region: "NTSC-J" SLPM-60243: - name: "Full House Kiss [Trial]" + name: "フルハウスキス [体験版]" + name-sort: "ふるはうすきす [たいけんばん]" + name-en: "Full House Kiss [Trial]" region: "NTSC-J" SLPM-60245: name: "バーチャファイターサイバージェネレーション ~ジャッジメントシックスの野望~ [体験版]" @@ -33504,7 +33609,9 @@ SLPM-60247: name-en: "Gradius V [Trial]" region: "NTSC-J" SLPM-60248: - name: "Dororo [Trial]" + name: "どろろ [体験版]" + name-sort: "どろろ [たいけんばん]" + name-en: "Dororo [Trial]" region: "NTSC-J" gsHWFixes: minimumBlendingLevel: 2 # Fixes dark font to more bright like software mode. @@ -33526,7 +33633,9 @@ SLPM-60251: halfPixelOffset: 4 # Aligns post effects. nativeScaling: 2 # Fixes post processing and lighting smoothness and position. SLPM-60252: - name: "Futakoi" + name: "双恋—フタコイ— [体験版]" + name-sort: "ふたこい [たいけんばん]" + name-en: "Futakoi [Trial]" region: "NTSC-J" SLPM-60253: name: "絶体絶命都市2 -凍てついた記憶たち- [体験版 Type-B]" @@ -33547,16 +33656,22 @@ SLPM-60254: nativeScaling: 2 # Fixes post effects. getSkipCount: "GSC_ZettaiZetsumeiToshi2" SLPM-60255: - name: "Ponkotsu Roman Daikatsugeki Bumpy Trot [Trial]" + name: "ポンコツ浪漫大活劇バンピートロット [体験版]" + name-sort: "ぽんこつろまんだいかつげきばんぴーとろっと [たいけんばん]" + name-en: "Ponkotsu Roeman Daikatsugeki Bumpy Trot [Trial]" region: "NTSC-J" gsHWFixes: getSkipCount: "GSC_SteambotChronicles" # Causes green (incorrect) water but removes depth and blur issues. roundSprite: 1 # Fixes colored 3D anaglyph bleeding effects. SLPM-60256: - name: "Dengeki PS2 PlayStation D73" + name: "電撃PS2 / 電撃PlayStation D73" + name-sort: "でんげき PS2 でんげきPlayStation D73" + name-en: "Dengeki PS2 / DengekiPlayStation D73" region: "NTSC-J" SLPM-60257: - name: "Death by Degrees" + name: "デス バイ ディグリーズ 鉄拳:ニーナ ウィリアムズ [体験版]" + name-sort: "です ばい でぃぐりーず てっけん にーな うぃりあむず [たいけんばん]" + name-en: "Death by Degrees - Tekken - Nina Williams [Trial]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Fixes FMV lines. @@ -33582,9 +33697,13 @@ SLPM-60260: eeClampMode: 3 # Fixes black void. SLPM-60262: name: "10th Anniversary Memorial Save Data [Disc 2]" + name-sort: "10th あにばーさりー めもりある せーぶ でーた [Disc 2]" + name-en: "10th Anniversary Memorial Save Data [Disc 2]" region: "NTSC-J" SLPM-60263: - name: "Dengeki PS2 PlayStation D78" + name: "電撃PS2 / 電撃PlayStation D78" + name-sort: "でんげき PS2 でんげきPlayStation D78" + name-en: "Dengeki PS2 / DengekiPlayStation D78" region: "NTSC-J" SLPM-60264: name: "シャドウハーツ フロム・ザ・ニュー・ワールド [体験版]" @@ -33592,19 +33711,27 @@ SLPM-60264: name-en: "Shadow Hearts - From the New World [Trial]" region: "NTSC-J" SLPM-60265: - name: "10th Anniversary PlayStation & PlayStation 2 All-Soft Catalogue Special SaveData Collection [PS2 Disc]" + name: "スチームボーイ [体験版]" + name-sort: "すちーむぼーい [たいけんばん]" + name-en: "Steamboy [Trial]" region: "NTSC-J" SLPM-60266: - name: "Ponkotsu Roman Daikatsugeki Bumpy Trot [Trial]" + name: "ポンコツ浪漫大活劇バンピートロット [体験版]" + name-sort: "ぽんこつろまんだいかつげきばんぴーとろっと [たいけんばん]" + name-en: "Ponkotsu Roeman Daikatsugeki Bumpy Trot [Trial]" region: "NTSC-J" gsHWFixes: getSkipCount: "GSC_SteambotChronicles" # Causes green (incorrect) water but removes depth and blur issues. roundSprite: 1 # Fixes colored 3D anaglyph bleeding effects. SLPM-60267: - name: "Garouden Breakblow [Trial]" + name: "餓狼伝 Breakblow [体験版]" + name-sort: "がろうでん Breakblow [たいけんばん]" + name-en: "Garouden Break Blow [Trial]" region: "NTSC-J" SLPM-60268: - name: "Minna Daisuki Katamari Damacy" + name: "みんな大好き塊魂 [店頭体験版]" + name-sort: "みんなだいすきかたまりだましい [てんとうたいけんばん]" + name-en: "Minna Daisuki Katamari Damacy [Store Demo]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Aligns post effects. @@ -33630,7 +33757,9 @@ SLPM-60271: clampModes: eeClampMode: 3 # Fixes black screen. SLPM-60272: - name: "Urban Reign [Trial]" + name: "アーバンレイン [体験版]" + name-sort: "あーばんれいん [たいけんばん]" + name-en: "Urban Reign [Trial]" region: "NTSC-J" gameFixes: - EETimingHack # Mitigates bounciness of vertical shaking but better fix with EE cyclerate +1. @@ -33647,10 +33776,14 @@ SLPM-60273: cpuCLUTRender: 1 # Fixes some shading/shadows. getSkipCount: "GSC_ZettaiZetsumeiToshi2" SLPM-60274: - name: "Full House Kiss 2 [Trial]" + name: "フルハウスキス2 [体験版]" + name-sort: "ふるはうすきす2 [たいけんばん]" + name-en: "Full House Kiss 2 [Trial]" region: "NTSC-J" SLPM-60275: - name: "Dengeki PS2 - PlayStation 2 Save Data Collection 2006" + name: "電撃PS2 PlayStation 2 SAVE DATA COLLECTION 2006" + name-sort: "でんげきPS2 ぷれいすてーしょん 2 せーぶ でーた これくしょん 2006" + name-en: "Dengeki PS2 - PlayStation 2 Save Data Collection 2006" region: "NTSC-J" SLPM-60277: name: "実戦パチスロ必勝法! 北斗の拳SE [体験版]" @@ -33658,35 +33791,53 @@ SLPM-60277: name-en: "Jissen Pachi-Slot Hisshouhou! Hokuto no Ken SE [Trial]" region: "NTSC-J" SLPM-60278: - name: "Wrestle Kingdom" + name: "レッスルキングダム [体験版]" + name-sort: "れっするきんぐだむ [たいけんばん]" + name-en: "Wrestle Kingdom [Trial]" region: "NTSC-J" SLPM-60279: - name: "Kamen Rider Kabuto" + name: "仮面ライダー カブト [体験版]" + name-sort: "かめんらいだー かぶと [たいけんばん]" + name-en: "Kamen Rider Kabuto [Trial]" region: "NTSC-J" gsHWFixes: autoFlush: 1 # Fixes garbage corruptions on the bottom of the screen. SLPM-60280: - name: "Dengeki PS2 - PlayStation 2 Save Data Collection 2007" + name: "電撃PS2 PlayStation 2 SAVE DATA COLLECTION 2007" + name-sort: "でんげきPS2 ぷれいすてーしょん 2 せーぶ でーた これくしょん 2007" + name-en: "Dengeki PS2 - PlayStation 2 Save Data Collection 2007" region: "NTSC-J" SLPM-60281: - name: "Dengeki PS2 PlayStation D94" + name: "電撃PS2 / 電撃PlayStation D94" + name-sort: "でんげき PS2 でんげきPlayStation D94" + name-en: "Dengeki PS2 / DengekiPlayStation D94" region: "NTSC-J" SLPM-60282: - name: "Lucky Star - RAvish Romance [Trial]" + name: "らき☆すた - RAvish Romance [体験版]" + name-sort: "らきすた - RAvish Romance [たいけんばん]" + name-en: "Lucky Star - RAvish Romance [Trial]" region: "NTSC-J" SLPM-60283: - name: "Dengeki PS2 PlayStation D95" + name: "電撃PS2 / 電撃PlayStation D95" + name-sort: "でんげき PS2 でんげきPlayStation D95" + name-en: "Dengeki PS2 / DengekiPlayStation D95" region: "NTSC-J" SLPM-60284: - name: "Dengeki PS2 - PlayStation 2 Save Data Collection 2008" + name: "電撃PS2 PlayStation 2 SAVE DATA COLLECTION 2008" + name-sort: "でんげきPS2 ぷれいすてーしょん 2 せーぶ でーた これくしょん 2008" + name-en: "Dengeki PS2 - PlayStation 2 Save Data Collection 2008" region: "NTSC-J" SLPM-61001: - name: "Onimusha [Trial]" + name: "鬼武者 [体験版]" + name-sort: "おにむしゃ [たいけんばん]" + name-en: "Onimusha [Trial]" region: "NTSC-J" gsHWFixes: texturePreloading: 1 # Performs much better with partial preload. SLPM-61002: - name: "Dengeki PlayStation D40 - Konami Fan Book" + name: "電撃PlayStation D40 - KONAMI Fan BOOK" + name-sort: "でんげきPlayStation D40 - KONAMI Fan BOOK" + name-en: "DengekiPlayStation D40- Konami Fan Book" region: "NTSC-J" SLPM-61004: name: "Shadow of Memories / ZONE OF THE ENDERS - Z.O.E [店頭放映用ムービー版]" @@ -33696,7 +33847,9 @@ SLPM-61004: gsHWFixes: halfPixelOffset: 2 # Fixes ghosting. SLPM-61007: - name: "Maken Shao [Trial]" + name: "魔剣爻 -MAKEN SHAO- [体験版]" + name-sort: "まけんしゃお -MAKEN SHAO- [たいけんばん]" + name-en: "Maken Shao [Trial]" region: "NTSC-J" speedHacks: mvuFlag: 0 @@ -33737,7 +33890,9 @@ SLPM-61011: gsHWFixes: recommendedBlendingLevel: 4 # Fixes menu transparancy and effects. SLPM-61012: - name: "Dengeki PS2 PlayStation D46" + name: "電撃PS2 / 電撃PlayStation D46" + name-sort: "でんげき PS2 でんげきPlayStation D46" + name-en: "Dengeki PS2 / DengekiPlayStation D46" region: "NTSC-J" SLPM-61013: name: "タイムクライシス2 & ヴァンパイアナイト [体験版]" @@ -33745,7 +33900,9 @@ SLPM-61013: name-en: "Time Crisis 2 & Vampire Night [Shop Trial]" region: "NTSC-J" SLPM-61018: - name: "Abarenbou Princess [Trial]" + name: "暴れん坊プリンセス [体験版]" + name-sort: "あばれんぼうぷりんせす [たいけんばん]" + name-en: "Abarenbou Princess [Trial]" region: "NTSC-J" SLPM-61019: name: "実名実況競馬 ドリームクラシック2001 Autumn [体験版]" @@ -33753,16 +33910,24 @@ SLPM-61019: name-en: "Jitsumei Jikkyou Keiba - Dream Classic 2001 Autumn [Trial]" region: "NTSC-J" SLPM-61020: - name: "Gun Survivor 2 - Biohazard - Code - Veronica" + name: "ガンサバイバー2 バイオハザード コード:ベロニカ [店頭体験版]" + name-sort: "がんさばいばー2 ばいおはざーど こーど:べろにか [てんとうたいけんばん]" + name-en: "Gun Survivor 2 - BioHazard CODE - Veronica [Store Demo]" region: "NTSC-J" SLPM-61022: - name: "Dengeki PS2 PlayStation D48 - Konami Fan Book" + name: "電撃PS2 / 電撃PlayStation D48 - KONAMI Fan Book" + name-sort: "でんげき PS2 でんげきPlayStation D48 - KONAMI Fan Book" + name-en: "Dengeki PS2 / DengekiPlayStation D48 - Konami Fan Book" region: "NTSC-J" SLPM-61023: - name: "Dengeki PS2 PlayStation D49" + name: "電撃PS2 / 電撃PlayStation D49" + name-sort: "でんげき PS2 でんげきPlayStation D49" + name-en: "Dengeki PS2 / DengekiPlayStation D49" region: "NTSC-J" SLPM-61024: - name: "Dengeki PS2 PlayStation D50" + name: "電撃PS2 / 電撃PlayStation D50" + name-sort: "でんげき PS2 でんげきPlayStation D50" + name-en: "Dengeki PS2 / DengekiPlayStation D50" region: "NTSC-J" SLPM-61025: name: "キングダム ハーツ [体験版]" @@ -33777,13 +33942,19 @@ SLPM-61026: clampModes: vu1ClampMode: 3 # Fixes flashing in some scenes. SLPM-61027: - name: "Prismix - PlayStation 2 Sen'you Music Visual Soft - Demo Disc Vol. 1" + name: "Prismix - PlayStation 2 専用 ミュージックビジュアルソフト [Demo Disc Vol.1]" + name-sort: "ぷりずみっくす - PlayStation 2 せんよう みゅーじっくびじゅあるそふと [Demo Disc Vol.1]" + name-en: "Prismix - PlayStation 2 Sen'you Music Visual Soft - Demo Disc Vol. 1" region: "NTSC-J" SLPM-61028: - name: "Dengeki PS2 PlayStation D51" + name: "電撃PS2 / 電撃PlayStation D51" + name-sort: "でんげき PS2 でんげきPlayStation D51" + name-en: "Dengeki PS2 / DengekiPlayStation D51" region: "NTSC-J" SLPM-61029: - name: "Shin Combat Choro Q" + name: "新コンバットチョロQ [体験版]" + name-sort: "しんこんばっとちょろQ [たいけんばん]" + name-en: "Shin Combat Choro Q [Trial]" region: "NTSC-J" SLPM-61030: name: "ジョジョの奇妙な冒険 黄金の旋風 [体験版]" @@ -33792,20 +33963,32 @@ SLPM-61030: region: "NTSC-J" gsHWFixes: recommendedBlendingLevel: 2 # Fixes text box opacity. + clampModes: + vu1ClampMode: 3 # Fixes shading on Chapter 11-2's enemy. SLPM-61031: - name: "Dengeki PS2 PlayStation D52" + name: "電撃PS2 / 電撃PlayStation D52" + name-sort: "でんげき PS2 でんげきPlayStation D52" + name-en: "Dengeki PS2 / DengekiPlayStation D52" region: "NTSC-J" SLPM-61032: - name: "Dengeki PS2 PlayStation D53" + name: "電撃PS2 / 電撃PlayStation D53" + name-sort: "でんげき PS2 でんげきPlayStation D53" + name-en: "Dengeki PS2 / DengekiPlayStation D53" region: "NTSC-J" SLPM-61033: - name: "Dengeki PS2 PlayStation D55" + name: "電撃PS2 / 電撃PlayStation D55" + name-sort: "でんげき PS2 でんげきPlayStation D55" + name-en: "Dengeki PS2 / DengekiPlayStation D55" region: "NTSC-J" SLPM-61034: - name: "Dengeki PS2 PlayStation D56" + name: "電撃PS2 / 電撃PlayStation D56" + name-sort: "でんげき PS2 でんげきPlayStation D56" + name-en: "Dengeki PS2 / DengekiPlayStation D56" region: "NTSC-J" SLPM-61035: - name: "Anubis - Zone of the Enders [Trial]" + name: "ANUBIS ZONE OF THE ENDERS [体験版]" + name-sort: "あぬびす ぞーん おぶ えんだーず [たいけんばん]" + name-en: "Anubis - Zone of the Enders [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Aligns post effects. @@ -33821,10 +34004,14 @@ SLPM-61037: name-en: "Devil May Cry 2 [Trial]" region: "NTSC-J" SLPM-61038: - name: "Dengeki PS2 PlayStation D57" + name: "電撃PS2 / 電撃PlayStation D57" + name-sort: "でんげき PS2 でんげきPlayStation D57" + name-en: "Dengeki PS2 / DengekiPlayStation D57" region: "NTSC-J" SLPM-61039: - name: "Gun Survivor 4 - BioHazard - Heroes Never Die [Demo]" + name: "ガンサバイバー4 バイオハザード ヒーローズ ネバーダイ [店頭体験版]" + name-sort: "がんさばいばー4 ばいおはざーど ひーろーず ねばーだい [てんとうたいけんばん]" + name-en: "BioHazard Gun Survivor 4 - Heroes Never Die [Store Demo]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Fixes character offset with flashlight and blurriness. @@ -33847,41 +34034,63 @@ SLPM-61043: name-en: "Devil May Cry 2 [Trial]" region: "NTSC-J" SLPM-61044: - name: "Dengeki PS2 PlayStation D59" + name: "電撃PS2 / 電撃PlayStation D59" + name-sort: "でんげき PS2 でんげきPlayStation D59" + name-en: "Dengeki PS2 / DengekiPlayStation D59" region: "NTSC-J" SLPM-61046: - name: "Dennou Senki - Virtual-On Marz [Trial]" + name: "電脳戦機バーチャロン マーズ [体験版]" + name-sort: "でんのうせんきばーちゃろん まーず [たいけんばん]" + name-en: "Dennou Senki - Virtual-On Marz [Trial]" region: "NTSC-J" gsHWFixes: cpuSpriteRenderBW: 1 # Fixes CLUT colours. cpuSpriteRenderLevel: 2 # Needed for above. gpuPaletteConversion: 2 # Improves FPS and reduces HC size. SLPM-61048: - name: "Dengeki PS2 PlayStation D60" + name: "電撃PS2 / 電撃PlayStation D60" + name-sort: "でんげき PS2 でんげきPlayStation D60" + name-en: "Dengeki PS2 / DengekiPlayStation D60" region: "NTSC-J" SLPM-61050: - name: "Hanjuku Hero tai 3D" + name: "半熟英雄 対 3D [初体験版]" + name-sort: "はんじゅくひーろー たい 3D [はつたいけんばん]" + name-en: "Hanjuku Hero VS 3-D [Trial]" region: "NTSC-J" SLPM-61051: - name: "Dengeki PS2 PlayStation D61" + name: "電撃PS2 / 電撃PlayStation D61" + name-sort: "でんげき PS2 でんげきPlayStation D61" + name-en: "Dengeki PS2 / DengekiPlayStation D61" region: "NTSC-J" SLPM-61052: - name: "Gekitou Pro Yakyuu - Mizushima Shinji All Stars vs. Pro Yakyuu" + name: "激闘プロ野球 水島新司オールスターズ VS プロ野球 [体験版]" + name-sort: "げきとうぷろやきゅう みずしましんじおーるすたーず VS ぷろやきゅう [たいけんばん]" + name-en: "Gekitou Pro Yakyuu - Mizushima Shinji All Stars vs. Pro Yakyuu [Trial]" region: "NTSC-J" SLPM-61053: - name: "Jikkyou Powerful Pro Yakyuu 10" + name: "実況パワフルプロ野球10 [体験版]" + name-sort: "じっきょうぱわふるぷろやきゅう10 [たいけんばん]" + name-en: "Jikkyou Powerful Pro Yakyuu 10 [Trial]" region: "NTSC-J" SLPM-61054: - name: "Sidewinder V" + name: "サイドワインダーV [体験版]" + name-sort: "さいどわいんだーV [たいけんばん]" + name-en: "Sidewinder V [Trial]" region: "NTSC-J" SLPM-61055: - name: "Gregory Horror Show - Soul Collector" + name: "グレゴリーホラーショー ソウルコレクター [体験版]" + name-sort: "ぐれごりーほらーしょー そうるこれくたー [たいけんばん]" + name-en: "Gregory Horror Show - Soul Collector [Trial]" region: "NTSC-J" SLPM-61056: - name: "NHK Tensai Bit-kun - Glamon Battle" + name: "NHK 天才ビットくん グラモンバトル [体験版]" + name-sort: "NHK てんさいびっとくん ぐらもんばとる [たいけんばん]" + name-en: "NHK Tensai Bit-Kun - Guramon Battle [Trial]" region: "NTSC-J" SLPM-61058: - name: "Dengeki PS2 PlayStation D62" + name: "電撃PS2 / 電撃PlayStation D62" + name-sort: "でんげき PS2 でんげきPlayStation D62" + name-en: "Dengeki PS2 / DengekiPlayStation D62" region: "NTSC-J" SLPM-61059: name: "Kunoichi -忍- [体験版]" @@ -33896,82 +34105,126 @@ SLPM-61060: name-en: "BUSIN 0 ~Wizardry Alternative NEO~ [Trial]" region: "NTSC-J" SLPM-61062: - name: "Castlevania [Demo]" + name: "キャッスルヴァニア [体験版]" + name-sort: "きゃっするゔぁにあ [たいけんばん]" + name-en: "Castlevania [Trial]" region: "NTSC-J" clampModes: eeClampMode: 3 # Fixes cutscene freezes. SLPM-61065: - name: "Dengeki PS2 PlayStation D64" + name: "電撃PS2 / 電撃PlayStation D64" + name-sort: "でんげき PS2 でんげきPlayStation D64" + name-en: "Dengeki PS2 / DengekiPlayStation D64" region: "NTSC-J" SLPM-61066: - name: "Dengeki PS2 PlayStation D65" + name: "電撃PS2 / 電撃PlayStation D65" + name-sort: "でんげき PS2 でんげきPlayStation D65" + name-en: "Dengeki PS2 / DengekiPlayStation D65" region: "NTSC-J" SLPM-61067: - name: "Gako Zouryuu - Crouching Tiger, Hidden Dragon" + name: "クラウチングタイガー・ヒドゥンドラゴン [体験版]" + name-sort: "くらうちんぐたいがー ひどぅんどらごん [たいけんばん]" + name-en: "Crouching Tiger Hidden Dragon [Trial]" region: "NTSC-J" gameFixes: - InstantDMAHack # Fixes FMVs to be visible. SLPM-61070: - name: "Dengeki PS2 PlayStation D66" + name: "電撃PS2 / 電撃PlayStation D66" + name-sort: "でんげき PS2 でんげきPlayStation D66" + name-en: "Dengeki PS2 / DengekiPlayStation D66" region: "NTSC-J" SLPM-61072: - name: "Puyo Puyo Fever" + name: "ぷよぷよフィーバー [体験版]" + name-sort: "ぷよぷよふぃーばー [たいけんばん]" + name-en: "Puyo Puyo Fever [Trial]" region: "NTSC-J" SLPM-61073: - name: "Galaxy Angel - Moonlit Lovers" + name: "ギャラクシーエンジェル Moonlit Lovers [体験版]" + name-sort: "ぎゃらくしーえんじぇる Moonlit Lovers [たいけんばん]" + name-en: "Galaxy Angel - Moonlit Lovers [Trial]" region: "NTSC-J" SLPM-61074: - name: "Konjiki no Gashbell!! Yuujou Tag Battle" + name: "金色のガッシュベル!! 友情タッグバトル [特別体験版]" + name-sort: "こんじきのがっしゅべる!! ゆうじょうたっぐばとる [とくべつたいけんばん]" + name-en: "Gold Gashbell!! - Friendship Tag Battle [Special Trial]" region: "NTSC-J" SLPM-61076: - name: "Panzer Front Ausf.B" + name: "PANZER FRONT Ausf.B [体験版]" + name-sort: "ぱんつぁー ふろんとT Ausf.B [たいけんばん]" + name-en: "Panzer Frony - Ausf. B [Trial]" region: "NTSC-J" SLPM-61077: - name: "Sega Ages 2500 Taikenban" + name: "SEGA AGES 2500シリーズ [体験版]" + name-sort: "せが えいじす 2500しりーず [たいけんばん]" + name-en: "Sega Ages 2500 Series [Trial]" region: "NTSC-J" SLPM-61079: - name: "Dengeki PS2 PlayStation D68" + name: "電撃PS2 / 電撃PlayStation D68" + name-sort: "でんげき PS2 でんげきPlayStation D68" + name-en: "Dengeki PS2 / DengekiPlayStation D68" region: "NTSC-J" SLPM-61080: - name: "Ultraman" + name: "ウルトラマン [体験版]" + name-sort: "うるとらまん [たいけんばん]" + name-en: "Ultraman [Trial]" region: "NTSC-J" SLPM-61081: - name: "Dengeki PS2 PlayStation D69" + name: "電撃PS2 / 電撃PlayStation D69" + name-sort: "でんげき PS2 でんげきPlayStation D69" + name-en: "Dengeki PS2 / DengekiPlayStation D69" region: "NTSC-J" SLPM-61082: - name: "TV Magazine Ultraman Special Disc" + name: "テレビマガジン ウルトラマン スペシャル ディスク [体験版]" + name-sort: "てれびまがじん うるとらまん すぺしゃる でぃすく [たいけんばん]" + name-en: "TV Magazine Ultraman Special Disc [Trial]" region: "NTSC-J" SLPM-61083: - name: "Dengeki PS2 PlayStation D70" + name: "電撃PS2 / 電撃PlayStation D70" + name-sort: "でんげき PS2 でんげきPlayStation D70" + name-en: "Dengeki PS2 / DengekiPlayStation D70" region: "NTSC-J" SLPM-61084: - name: "Meiwaku Seijin - Panic Maker" + name: "めいわく星人 パニックメーカー [体験版]" + name-sort: "めいわくせいじん ぱにっくめーかー [たいけんばん]" + name-en: "Meiwaku Seijin Panic Maker [Trial]" region: "NTSC-J" SLPM-61086: - name: "Kengou 3" + name: "剣豪3 [体験版]" + name-sort: "けんごう3 [たいけんばん]" + name-en: "Kengo 3 [Trial]" region: "NTSC-J" SLPM-61087: - name: "Fullmetal Alchemist 2 - Curse of the Crimson Elixir [Trial]" + name: "鋼の錬金術師2 赤きエリクシルの悪魔 [体験版]" + name-sort: "はがねのれんきんじゅつし2 あかきえりくしるのあくま [たいけんばん]" + name-en: "Hagane no Renkinjutsushi - Akaki Elixir no Akuma [Trial]" region: "NTSC-J" SLPM-61089: - name: "Dengeki PS2 PlayStation D72" + name: "電撃PS2 / 電撃PlayStation D72" + name-sort: "でんげき PS2 でんげきPlayStation D72" + name-en: "Dengeki PS2 / DengekiPlayStation D72" region: "NTSC-J" SLPM-61090: - name: "Tim Burton's The Nightmare Before Christmas [Trial]" + name: "ティム・バートン ナイトメアー・ビフォア・クリスマス ブギーの逆襲 [体験版]" + name-sort: "てぃむ・ばーとん ないとめあー・びふぉあ・くりすます ぶぎーのぎゃくしゅう [たいけんばん]" + name-en: "Tim Burton's The Nightmare Before Christmas - Oogie no Gyakushuu [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Aligns post Effect and bloom. nativeScaling: 2 # Fixes post effect position and alignment. autoFlush: 1 # Fixes light glow and alignment. SLPM-61091: - name: "Berserk - Millennium Falcon-hen - Seima Senki no Shou" + name: "ベルセルク 千年帝国の鷹篇 聖魔戦記の章 [体験版]" + name-sort: "べるせるく みれにあむ ふぁるこんへん せいませんきのしょう [たいけんばん]" + name-en: "Berserk - Millennium Falcon-hen - Seima Senki no Shou [Trial]" region: "NTSC-J" gsHWFixes: preloadFrameData: 1 # Partially fixes HUD elements. halfPixelOffset: 1 # Fixes misaligned blur around objects and enemies. PCRTCOverscan: 1 # Fixes offscreen image. SLPM-61092: - name: "Driv3r [Trial]" + name: "DRIV3R [体験版]" + name-sort: "どらいばー3 [たいけんばん]" + name-en: "Driv3r [Trial]" region: "NTSC-J" gameFixes: - BlitInternalFPSHack # Fixes internal FPS detection. @@ -33984,19 +34237,29 @@ SLPM-61092: cpuSpriteRenderBW: 4 # Alleviates text and sky rendering issues. cpuSpriteRenderLevel: 2 # Needed for above. SLPM-61093: - name: "Ultraman - Fighting Evolution 3" + name: "ウルトラマン Fighting Evolution 3 [体験版]" + name-sort: "うるとらまん Fighting Evolution 3 [たいけんばん]" + name-en: "Ultraman Fighting Evolution 3 [Trial]" region: "NTSC-J" SLPM-61094: - name: "Viewtiful Joe 2 - Black Film no Nazo" + name: "ビューティフルジョー2 ブラックフィルムの謎 [体験版]" + name-sort: "びゅーてぃふるじょー2 ぶらっくふぃるむのなぞ [たいけんばん]" + name-en: "Viewtiful Joe 2 - Black Film no Nazo [Trial]" region: "NTSC-J" SLPM-61095: - name: "Dengeki PS2 PlayStation D74" + name: "電撃PS2 / 電撃PlayStation D74" + name-sort: "でんげき PS2 でんげきPlayStation D74" + name-en: "Dengeki PS2 / DengekiPlayStation D74" region: "NTSC-J" SLPM-61096: - name: "Fuuun Bakumatsuden" + name: "風雲幕末伝 [体験版]" + name-sort: "ふううんばくまつでん [たいけんばん]" + name-en: "Fuuun Bakumatsu-den [Trial]" region: "NTSC-J" SLPM-61097: - name: "Dengeki PS2 PlayStation D75" + name: "電撃PS2 / 電撃PlayStation D75" + name-sort: "でんげき PS2 でんげきPlayStation D75" + name-en: "Dengeki PS2 / DengekiPlayStation D75" region: "NTSC-J" SLPM-61098: name: "エキサイティングプロレス 6 - WWE SMACKDOWN! vs. RAW [体験版]" @@ -34004,16 +34267,24 @@ SLPM-61098: name-en: "Exciting Pro Wrestling 6 - WWE SMACKDOWN! vs. RAW [Trial]" region: "NTSC-J" SLPM-61100: - name: "Juuouki - Project Altered Beast" + name: "獣王記 -PROJECT ALTERED BEAST- [体験版]" + name-sort: "じゅうおうき -PROJECT ALTERED BEAST- [たいけんばん]" + name-en: "Project Altered Beast [Trial]" region: "NTSC-J" SLPM-61101: - name: "Shinsengumi Gunrouden" + name: "新選組群狼伝 [体験版]" + name-sort: "しんせんぐみぐんろうでん [たいけんばん]" + name-en: "Shinsengumi Gunrou-den [Trial]" region: "NTSC-J" SLPM-61102: - name: "Tsukiyo ni Saraba" + name: "ツキヨニサラバ [体験版]" + name-sort: "つきよにさらば [たいけんばん]" + name-en: "Tsukiyo ni Saraba [Trial]" region: "NTSC-J" SLPM-61103: - name: "Kessen III" + name: "決戦Ⅲ [体験版]" + name-sort: "けっせん3 [たいけんばん]" + name-en: "Kessen III [Trial]" region: "NTSC-J" SLPM-61104: name: "サムライウエスタン 活劇侍道 [体験版]" @@ -34025,15 +34296,19 @@ SLPM-61104: SLPM-61105: name: "はじめの一歩 ALL☆STARS [体験版]" name-sort: "はじめのいっぽ おーるすたーず [たいけんばん]" - name-en: "Hajime no Ippo - All-Stars {Trial]" + name-en: "Hajime no Ippo - All-Stars [Trial]" region: "NTSC-J" SLPM-61106: - name: "Rumble Roses [Trial]" + name: "RUMBLE ROSES [体験版]" + name-sort: "らんぶるろーず [たいけんばん]" + name-en: "Rumble Roses [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Aligns offset blur. SLPM-61107: - name: "Dengeki PS2 PlayStation D76" + name: "電撃PS2 / 電撃PlayStation D76" + name-sort: "でんげき PS2 でんげきPlayStation D76" + name-en: "Dengeki PS2 / DengekiPlayStation D76" region: "NTSC-J" SLPM-61109: name: "SHADOW OF ROME [体験版]" @@ -34054,6 +34329,7 @@ SLPM-61110: gsHWFixes: alignSprite: 1 # Fixes vertical lines. textureInsideRT: 1 # Fixes reflections. + mipmap: 0 # Currently causes texture flickering. gameFixes: - SoftwareRendererFMVHack # Fixes upscale lines in FMVs. SLPM-61111: @@ -34062,10 +34338,14 @@ SLPM-61111: name-en: "Dragon Ball Z 3 [Trial]" region: "NTSC-J" SLPM-61112: - name: "Tensei - Swords of Destiny" + name: "天星 ソード オブ デスティニー [体験版]" + name-sort: "てんせい そーど おぶ ですてぃにー [たいけんばん]" + name-en: "Swords of Destiny [Trial]" region: "NTSC-J" SLPM-61113: - name: "Dengeki PlayStation D77" + name: "電撃PS2 / 電撃PlayStation D77" + name-sort: "でんげき PS2 でんげきPlayStation D77" + name-en: "Dengeki PS2 / DengekiPlayStation D77" region: "NTSC-J" SLPM-61114: name: "SHADOW OF ROME [体験版]" @@ -34076,16 +34356,22 @@ SLPM-61114: halfPixelOffset: 2 # Fixes post positioning. nativeScaling: 2 # Fixes post effects. SLPM-61115: - name: "Racing Battle - C1 Grand Prix [Trial]" + name: "レーシングバトル -C1 GRAND PRIX- [体験版]" + name-sort: "れーしんぐばとる -C1 GRAND PRIX- [たいけんばん]" + name-en: "Racing Battle - C1 Grand Prix [Trial]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Fixes vertical lines. forceEvenSpritePosition: 1 # De-blurs the 3D image. SLPM-61116: - name: "Bouken-ou Beet - Darkness Century" + name: "冒険王ビィト ダークネスセンチュリー [体験版]" + name-sort: "ぼうけんおうびぃと だーくねすせんちゅりー [たいけんばん]" + name-en: "Bouken-ou Beet - Darkness Century [Trial]" region: "NTSC-J" SLPM-61117: - name: "Musashiden II - Blademaster [Trial]" + name: "武蔵伝Ⅱ ブレイドマスター [体験版]" + name-sort: "むさしでん2 ぶれいどますたー [たいけんばん]" + name-en: "Musashiden II - Blademaster [Trial]" region: "NTSC-J" gameFixes: - EETimingHack # Fixes garbled character animation. @@ -34119,14 +34405,18 @@ SLPM-61120: mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead. texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost. SLPM-61121: - name: "Kaido - Touge no Densetsu [Trial]" + name: "KAIDO ~峠の伝説~ [体験版]" + name-sort: "かいどう とうげのでんせつ [たいけんばん]" + name-en: "Kaido Touge no Densetsu [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Fixes ghosting during Rain/Storm. alignSprite: 1 # Fixes vertical lines. forceEvenSpritePosition: 1 # De-blurs the 3D image. SLPM-61122: - name: "Dengeki PS2 PlayStation D81" + name: "電撃PS2 / 電撃PlayStation D81" + name-sort: "でんげき PS2 でんげきPlayStation D81" + name-en: "Dengeki PS2 / DengekiPlayStation D81" region: "NTSC-J" SLPM-61123: name: "NARUTO-ナルト- うずまき忍伝 [体験版]" @@ -34139,7 +34429,9 @@ SLPM-61123: halfPixelOffset: 2 # Aligns post effects. nativeScaling: 2 # Fixes post effects. SLPM-61124: - name: "Ookami - Fude-hajime no Maki" + name: "大神 - 筆はじめの巻 [体験版]" + name-sort: "おおかみ ふではじめのまき [たいけんばん]" + name-en: "Okami - Fude-hajime no Maki [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Aligns post effects. @@ -34150,19 +34442,27 @@ SLPM-61125: name-en: "Tokyo Game Show Bandai Namco Booth Distribution Disc 2005" region: "NTSC-J" SLPM-61126: - name: "Dengeki PS2 PlayStation D84" + name: "電撃PS2 / 電撃PlayStation D84" + name-sort: "でんげき PS2 でんげきPlayStation D84" + name-en: "Dengeki PS2 / DengekiPlayStation D84" region: "NTSC-J" SLPM-61127: - name: "FlatOut [Trial]" + name: "レーシングゲーム「注意!!!!」 [体験版]" + name-sort: "れーしんぐげーむ「ちゅうい!!!!」 [たいけんばん]" + name-en: "Racing Game - Chuui!!!! [Trial]" region: "NTSC-J" gsHWFixes: recommendedBlendingLevel: 3 # Improves car reflections. autoFlush: 1 SLPM-61129: - name: "Famitsu PS2 Special Disc - Capcom Game Collection" + name: "ファミ通PS2 スペシャルディスク ~CAPCOM GAME COLLECTION~" + name-sort: "ふぁみつうPS2 すぺしゃるでぃすく ~CAPCOM GAME COLLECTION~" + name-en: "Famitsu PS2 Special Disc - Capcom Game Collection" region: "NTSC-J" SLPM-61130: - name: "Ikusa Gami [Trial Version]" + name: "戦神 -いくさがみ- [体験版]" + name-sort: "いくさがみ [たいけんばん]" + name-en: "Ikusa Gami [Trial]" region: "NTSC-J" gameFixes: - VIF1StallHack # Fixes black screen on boot. @@ -34172,10 +34472,14 @@ SLPM-61130: halfPixelOffset: 4 # Fixes misaligned lighting and bloom. bilinearUpscale: 1 # Smooths out bloom. SLPM-61131: - name: "Dengeki PS2 PlayStation D85" + name: "電撃PS2 / 電撃PlayStation D85" + name-sort: "でんげき PS2 でんげきPlayStation D85" + name-en: "Dengeki PS2 / DengekiPlayStation D85" region: "NTSC-J" SLPM-61132: - name: "Ikusa Gami [Trial Version]" + name: "戦神-いくさがみ- [店頭体験版]" + name-sort: "いくさがみ [てんとうたいけんばん]" + name-en: "Ikusa Gami [Store Demo]" region: "NTSC-J" gameFixes: - VIF1StallHack # Fixes black screen on boot. @@ -34185,7 +34489,9 @@ SLPM-61132: halfPixelOffset: 4 # Fixes misaligned lighting and bloom. bilinearUpscale: 1 # Smooths out bloom. SLPM-61133: - name: "SoulCalibur III [Trial Version]" + name: "ソウルキャリバーⅢ [体験版]" + name-sort: "そうるきゃりばー3 [たいけんばん]" + name-en: "SoulCalibur III [Trial]" region: "NTSC-J" gameFixes: - EETimingHack # Fixes bad colours on character select when in Progressive Scan. @@ -34195,7 +34501,9 @@ SLPM-61133: alignSprite: 1 # Fixes vertical lines. nativeScaling: 2 # Fixes misaligned bloom. SLPM-61134: - name: "Kidou Senshi Gundam Seed - Rengou vs. Z.A.F.T." + name: "機動戦士ガンダムSEED 連合vs.Z.A.F.T [体験版]" + name-sort: "きどうせんしがんだむしーど れんごうvs.Z.A.F.T [たいけんばん]" + name-en: "Kidou Senshi Gundam SEED - Rengou vs. Z.A.F.T. [Trial]" region: "NTSC-J" SLPM-61135: name: "NARUTO-ナルト- ナルティメットヒーロー3 [体験版]" @@ -34218,35 +34526,51 @@ SLPM-61137: halfPixelOffset: 2 # Correct shadow position. nativeScaling: 2 # Smooths shadows. SLPM-61138: - name: "Akumajou Dracula - Yami no Juin" + name: "悪魔城ドラキュラ 闇の呪印 [店頭体験版]" + name-sort: "あくまじょうどらきゅら やみのじゅいん [てんとうたいけんばん]" + name-en: "Akumajo Dracula - Yami no Juin [Store Demo]" region: "NTSC-J" SLPM-61139: - name: "Puyo Puyo Fever 2" + name: "ぷよぷよフィーバー2 [チュー!] [体験版]" + name-sort: "ぷよぷよふぃーばー2 [たいけんばん]" + name-en: "Puyo Puyo Fever 2 [Trial]" region: "NTSC-J" SLPM-61140: - name: "Ryuu ga Gotoku [Trial]" + name: "龍が如く [体験版]" + name-sort: "りゅうがごとく [たいけんばん]" + name-en: "Ryu Ga Gotoku [Trial]" region: "NTSC-J" gameFixes: - EETimingHack # Fixes flickering. gsHWFixes: alignSprite: 1 # Helps align bloom. SLPM-61141: - name: "Dengeki PS2 PlayStation D87" + name: "電撃PS2 / 電撃PlayStation D87" + name-sort: "でんげき PS2 でんげきPlayStation D87" + name-en: "Dengeki PS2 / DengekiPlayStation D87" region: "NTSC-J" SLPM-61142: - name: "Shin Onimusha - Dawn of Dreams / Ookami" + name: "新 鬼武者 DAWN OF DREAMS / 大神 筆はじめノ巻 [体験版]" + name-sort: "しん おにむしゃ / おおかみ ひではじめの巻 [たいけんばん]" + name-en: "Shin Onimusha - Dawn of Dreams / Ookami [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Mostly aligns post processing. nativeScaling: 2 # Fixes post processing smoothness and position. SLPM-61144: - name: "Ninkyouden - Toseinin Ichidaiki" + name: "任侠伝 渡世人一代記 [体験版]" + name-sort: "にんきょうでん とせいにんいちだいき [たいけんばん]" + name-en: "Ninkyouden Toseinin Ichidaiki [Trial]" region: "NTSC-J" SLPM-61146: - name: "Dengeki PS2 PlayStation D90" + name: "電撃PS2 / 電撃PlayStation D90" + name-sort: "でんげき PS2 でんげきPlayStation D90" + name-en: "Dengeki PS2 / DengekiPlayStation D90" region: "NTSC-J" SLPM-61147: - name: "Xenosaga Episode III - Also Sprach Zarathustra [Demo]" + name: "ゼノサーガ エピソードⅢ [ツァラトゥストラはかく語りき] [体験版]" + name-sort: "ぜのさーが えぴそーど3 [つぁらとぅすとらはかくかたりき] [たいけんばん]" + name-en: "Xenosaga Episode III - Also Sprach Zarathustra [Trial]" region: "NTSC-J" gsHWFixes: autoFlush: 1 # Fixes shadows. @@ -34260,10 +34584,14 @@ SLPM-61148: gsHWFixes: moveHandler: "MV_Growlanser" # Fixes precomputed depth buffer. SLPM-61149: - name: "Dengeki PS2 PlayStation D91" + name: "電撃PS2 / 電撃PlayStation D91" + name-sort: "でんげき PS2 でんげきPlayStation D91" + name-en: "Dengeki PS2 / DengekiPlayStation D91" region: "NTSC-J" SLPM-61150: - name: "Kinnikuman - Muscle Grand Prix Max" + name: "キン肉マン マッスルグランプリ MAX [体験版]" + name-sort: "きんにくまん まっするぐらんぷり MAX [たいけんばん]" + name-en: "Kinnikuman Muscle Grand Prix Max [Trial]" region: "NTSC-J" SLPM-61152: name: "ドラゴンボールZ スパーキング! ネオ [体験版]" @@ -34274,10 +34602,14 @@ SLPM-61152: halfPixelOffset: 2 # Fixes character outlines and minor bloom. beforeDraw: "OI_DBZBTGames" SLPM-61153: - name: "Dengeki PS2 PlayStation D92" + name: "電撃PS2 / 電撃PlayStation D92" + name-sort: "でんげき PS2 でんげきPlayStation D92" + name-en: "Dengeki PS2 / DengekiPlayStation D92" region: "NTSC-J" SLPM-61154: - name: "Ryuu ga Gotoku 2" + name: "龍が如く2 [体験版]" + name-sort: "りゅうがごとく2 [たいけんばん]" + name-en: "Ryu Ga Gotoku 2 [Trial]" region: "NTSC-J" SLPM-61155: name: "トゥームレイダー レジェンド [体験版]" @@ -34291,7 +34623,9 @@ SLPM-61155: nativeScaling: 1 # Fixes post processing. halfPixelOffset: 4 # Fixes offset post processing. SLPM-61156: - name: "Dengeki PS2 PlayStation D93" + name: "電撃PS2 / 電撃PlayStation D93" + name-sort: "でんげき PS2 でんげきPlayStation D93" + name-en: "Dengeki PS2 / DengekiPlayStation D93" region: "NTSC-J" SLPM-61157: name: "NARUTO-ナルト- 疾風伝 ナルティメットアクセル [体験版]" @@ -34307,14 +34641,16 @@ SLPM-61157: vu0ClampMode: 3 # Fixes bad dialog backgrounds. vu1ClampMode: 3 # Fixes SPS on characters. SLPM-61158: - name: "Saint Seiya - Meiou Hades Juunikyuu-hen" + name: "聖闘士星矢 -冥王ハーデス十二宮編- [体験版]" + name-sort: "せいんとせいや めいおうはーですじゅうにきゅうへん [たいけんばん]" + name-en: "Saint Seiya - Meiou Hades Juunikyuu Hen [Trial]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Fixes blooming and lighting offset. nativeScaling: 2 # Fixes post processing. SLPM-61161: - name: "ゴッド・オブ・ウォー II 終焉への序曲 [体験版]" - name-sort: "ごっど・おぶ・うぉー II しゅうえんへのじょきょく [たいけんばん]" + name: "ゴッド・オブ・ウォーⅡ 終焉への序曲 [体験版]" + name-sort: "ごっど・おぶ・うぉー2 しゅうえんへのじょきょく [たいけんばん]" name-en: "God of War II - The End Begins [Trial]" region: "NTSC-J" speedHacks: @@ -34339,7 +34675,9 @@ SLPM-61163: name-en: "Seaman 2 - Peking Genjin Ikusei Kit [Trial]" region: "NTSC-J" SLPM-61164: - name: "Dengeki PS2 PlayStation D96" + name: "電撃PS2 / 電撃PlayStation D96" + name-sort: "でんげき PS2 でんげきPlayStation D96" + name-en: "Dengeki PS2 / DengekiPlayStation D96" region: "NTSC-J" SLPM-62001: name: "ドラムマニア" @@ -34433,7 +34771,7 @@ SLPM-62020: name-en: "G1 JOCKEY2" region: "NTSC-J" SLPM-62021: - name: "アンジェリーク トロワ プレミアムBOX" + name: "アンジェリーク トロワ [プレミアムBOX]" name-sort: "あんじぇりーく とろわ [ぷれみあむBOX]" name-en: "Angelique Trois [Premium Box]" region: "NTSC-J" @@ -34588,8 +34926,8 @@ SLPM-62050: name-en: "Densha de Go! Shinkansen Sanyou Shinkansen-hen [Trial]" region: "NTSC-J" SLPM-62051: - name: "ヤンヤ カバジスタ~featuring Gawoo~" - name-sort: "やんや かばじすた~featuring Gawoo~" + name: "ヤンヤ カバジスタ ~featuring Gawoo~" + name-sort: "やんや かばじすた ~featuring Gawoo~" name-en: "Yanya Caballista - featuring Gawoo" region: "NTSC-J" SLPM-62052: @@ -34869,7 +35207,7 @@ SLPM-62111: SLPM-62112: name: "いただきストリート3 億万長者にしてあげる! ~家庭教師付き!~" name-sort: "いただきすとりーと3 おくまんちょうじゃにしてあげる! かていきょうしつき" - name-en: "Itadaki Street 3" + name-en: "Itadaki Street 3 - Okuman Chouja ni Shiteageru! Kateikyoushi-tsuki" region: "NTSC-J" SLPM-62113: name: "ワールドサッカーウイニングイレブン5 ファイナルエヴォリューション" @@ -34897,7 +35235,7 @@ SLPM-62116: SLPM-62117: name: "桃太郎電鉄Ⅹ ~九州編もあるばい~" name-sort: "ももたろうでんてつ10ばってん きゅうしゅうへんもあるばい" - name-en: "Momotaro Train X" + name-en: "Momotaro Train X - Kyuushuu hen mo Arubai" region: "NTSC-J" SLPM-62118: name: "ボンバーマンカート" @@ -34981,7 +35319,7 @@ SLPM-62132: region: "NTSC-J" SLPM-62133: name: "ブラッディロア 3 [HUDSON THE BEST]" - name-sort: "ぶらっでぃろあ 3 [はどそん ざ べすと]" + name-sort: "ぶらっでぃろあ 3 [HUDSON THE BEST]" name-en: "Bloody Roar 3 [HUDSON THE BEST]" region: "NTSC-J" SLPM-62134: @@ -35127,7 +35465,7 @@ SLPM-62163: SLPM-62164: name: "Generation of Chaos Next ~失われし絆~ [通常版]" name-sort: "じぇねれーしょんおぶかおす 2 ねくすと うしなわれしきずな [つうじょうばん]" - name-en: "Generation of Chaos - Next" + name-en: "Generation of Chaos - Next [Standard Edition]" region: "NTSC-J" SLPM-62165: name: "式神の城" @@ -35148,7 +35486,7 @@ SLPM-62169: name-en: "Live World Soccer 2002" region: "NTSC-J" SLPM-62170: - name: "インターネット麻雀 東風荘であそぼう!" + name: "インターネット麻雀 東風荘であそぼう!" name-sort: "いんたーねっとまーじゃん とんぷうそうであそぼう!" name-en: "Internet Mahjong - Tonpuusou de Asobou" region: "NTSC-J" @@ -35294,7 +35632,7 @@ SLPM-62201: vuClampMode: 3 # Fixes missing 3D polygons when going ingame. SLPM-62202: name: "Winning Post4 MAXIMUM 2001 [コーエーサマーチャンス 2002]" - name-sort: "ういにんぐぽすと4 MAXIMUM 2001 [こーえーさまーちゃんす 2002]" + name-sort: "ういにんぐぽすと4 MAXIMUM 2001 [こーえーさまーちゃんす 2002]" name-en: "Winning Post 4 Maximum 2001 [KOEI Summer Chance 2002]" region: "NTSC-J" SLPM-62203: @@ -35622,7 +35960,7 @@ SLPM-62265: SLPM-62266: name: "桃太郎電鉄11 ブラックボンビー出現の巻" name-sort: "ももたろうでんてつ11 ぶらっくぼんびーしゅつげんのまき" - name-en: "Momotarou Dentetsu XI" + name-en: "Momotarou Dentetsu XI - Black Bonbii Syutsugen no Maki" region: "NTSC-J" SLPM-62268: name: "ワールドサッカーウイニングイレブン6 ファイナルエヴォリューション" @@ -35678,18 +36016,18 @@ SLPM-62277: name-en: "G1 Jockey 3" region: "NTSC-J" SLPM-62278: - name: "HUNTER×HUNTER 龍派の祭壇 コナミ ザ ベスト" + name: "HUNTER×HUNTER 龍派の祭壇 [KONAMI The BEST]" name-sort: "はんたーはんたー りゅうはのさいだん [KONAMI The BEST]" name-en: "Hunter x Hunter" region: "NTSC-J" SLPM-62279: - name: "GⅠ JOCKEY3 & Winning Post5 MAXIMUM 2002 プレミアムパック" - name-sort: "じーわんじょっきー3 じーわんじょっきー3 & ういにんぐぽすと5 MAXIMUM 2002 ぷれみあむぱっく" + name: "GⅠ JOCKEY3 & Winning Post5 MAXIMUM 2002 [プレミアムパック]" + name-sort: "じーわんじょっきー3 じーわんじょっきー3 & ういにんぐぽすと5 MAXIMUM 2002 [ぷれみあむぱっく]" name-en: "G1 Jockey 3 & Winning Post5 Maximum 2002 [Premium Pack]" region: "NTSC-J" SLPM-62280: - name: "GⅠ JOCKEY3 & Winning Post5 MAXIMUM 2002 プレミアムパック" - name-sort: "ういにんぐぽすと5 MAXIMUM 2002 じーわんじょっきー3 & ういにんぐぽすと5 MAXIMUM 2002 ぷれみあむぱっく" + name: "GⅠ JOCKEY3 & Winning Post5 MAXIMUM 2002 [プレミアムパック]" + name-sort: "ういにんぐぽすと5 MAXIMUM 2002 じーわんじょっきー3 & ういにんぐぽすと5 MAXIMUM 2002 [ぷれみあむぱっく]" name-en: "G1 Jockey 3 & Winning Post5 Maximum 2002 [Premium Pack]" region: "NTSC-J" SLPM-62281: @@ -35880,7 +36218,7 @@ SLPM-62319: SLPM-62320: name: "2003年開幕 がんばれ球界王 いわゆるプロ野球なんですね~" name-sort: "2003ねんかいまく がんばれきゅうかいおう いわゆるぷろやきゅうなんですね~" - name-en: "2003-nen Kaimaku - Ganbare Kyuukai-ou - Iwayuru Pro Yakyuu desu ne" + name-en: "2003-nen Kaimaku - Ganbare Kyuukai-ou - Iwayuru Pro Yakyuu Nandesu ne" region: "NTSC-J" SLPM-62321: name: "ロボコップ~新たなる危機~" @@ -35905,7 +36243,7 @@ SLPM-62324: SLPM-62325: name: "ハイヒートメジャーリーグベースボール 2003 [THE BEST タカラモノ]" name-sort: "はいひーとめじゃーりーぐべーすぼーる 2003 [THE BEST たからもの]" - name-en: "High Heat Major League Baseball 2003 [KONAMI The BEST]" + name-en: "High Heat Major League Baseball 2003 [Takara THE BEST]" region: "NTSC-J" SLPM-62326: name: "G-taste麻雀 [フィギュア同梱スペシャル版]" @@ -36058,7 +36396,7 @@ SLPM-62354: SLPM-62355: name: "チョロQ HG2 [THE BEST タカラモノ]" name-sort: "ちょろQ HG2 [THE BEST たからもの]" - name-en: "Choro Q HG 2" + name-en: "Choro Q HG 2 [Takara THE BEST]" region: "NTSC-J" gsHWFixes: roundSprite: 2 # Fixes sprite ghosting. @@ -36239,7 +36577,7 @@ SLPM-62389: name-en: "Big Bass - Bass Tsuri Kanzen Kouryaku [SuperLite 2000 Series]" region: "NTSC-J" SLPM-62390: - name: "一撃殺虫!!ホイホイさん 限定版" + name: "一撃殺虫!!ホイホイさん [限定版]" name-sort: "いちげきさっちゅう!!ほいほいさん [げんていばん]" name-en: "Ichigeki Sacchuu! HoiHoi-san [Limited Edition]" region: "NTSC-J" @@ -36254,8 +36592,8 @@ SLPM-62392: name-en: "G1 Jockey 3 2003" region: "NTSC-J" SLPM-62393: - name: "GⅠ JOCKEY3 2003 & Winning Post6 [Premium Pack]" - name-sort: "じーわんじょっきー3 2003 じーわんじょっきー3 2003 & ういにんぐぽすと6 [Premium Pack]" + name: "GⅠ JOCKEY3 2003 & Winning Post6 [プレミアムパック]" + name-sort: "じーわんじょっきー3 2003 じーわんじょっきー3 2003 & ういにんぐぽすと6 [ぷれみあむぱっく]" name-en: "G1 JOCKEY3 2003 & Winning Post6 [Premium Pack]" region: "NTSC-J" SLPM-62394: @@ -36380,7 +36718,7 @@ SLPM-62415: SLPM-62416: name: "桃太郎電鉄12 西日本編もありまっせー!" name-sort: "ももたろうでんてつ12 にしにほんへんもありまっせー!" - name-en: "Momotarou Dentetsu XII - West Japan Hen" + name-en: "Momotarou Dentetsu XII - Nishi Nihon hen mo Arimasse!" region: "NTSC-J" SLPM-62417: name: "魁!!クロマティ高校 これはひょっとしてゲームなのか?" @@ -36442,8 +36780,8 @@ SLPM-62427: region: "NTSC-J" compat: 5 SLPM-62428: - name: "極 麻雀 DXII The 4th MONDO21Cup Competition" - name-sort: "きわめ まーじゃん DXII The 4th MONDO21Cup Competition" + name: "極 麻雀DXⅡ - The 4th MONDO21Cup Competition -" + name-sort: "きわめ まーじゃんDX2 - The 4th MONDO21Cup Competition -" name-en: "Kiwame Mahjong DXII - The 4th Mondo 21 Cup Competition" region: "NTSC-J" SLPM-62429: @@ -36528,8 +36866,8 @@ SLPM-62445: region: "NTSC-J" compat: 5 SLPM-62446: - name: "SEGA AGES 2500シリーズ Vol.10 アフターバーナーII" - name-sort: "せが えいじす 2500しりーず Vol.10 あふたーばーなーII" + name: "SEGA AGES 2500シリーズ Vol.10 アフターバーナーⅡ" + name-sort: "せが えいじす 2500しりーず Vol.10 あふたーばーなー2" name-en: "Sega Ages 2500 Series Vol.10 - Afterburner II" region: "NTSC-J" compat: 5 @@ -36682,9 +37020,9 @@ SLPM-62474: name-en: "Simple 2000 Series Vol. 46 - The Kanji Quiz - Challenge! Kanji Kentei" region: "NTSC-J" SLPM-62475: - name: "桃太郎電鉄11 [HUDSON THE BEST]" - name-sort: "ももたろうでんてつ11 はどそん・ざ・べすと" - name-en: "Momotarou Dentetsu XI [Hudson The Best]" + name: "桃太郎電鉄11 ブラックボンビー出現の巻 [HUDSON THE BEST]" + name-sort: "ももたろうでんてつ11 ぶらっくぼんびーしゅつげんのまき [HUDSON THE BEST]" + name-en: "Momotarou Dentetsu XI - Black Bobii Syutsugen no Maki [HUDSON THE BEST]" region: "NTSC-J" SLPM-62476: name: "GetBackers奪還屋 裏新宿最強バトル" @@ -36720,7 +37058,7 @@ SLPM-62481: SLPM-62482: name: "パチスロ闘魂伝承 猪木祭 - アントニオ猪木という名のパチスロ機 / アントニオ猪木自身がパチスロ機" name-sort: "ぱちすろとうこんでんしょう いのきまつり - あんとにおいのきというなのぱちすろき / あんとにおいのきじしんがぱちすろき" - name-en: "Pachinko Slot Tokodensho - Inoki Festival" + name-en: "Pachi-Slot Toukondensho - Inoki Matsuri - Antonio Inoki to iu Na no Pachi-Slot ki / Antonio Inoki Jishin ga Pachi-Slot ki" region: "NTSC-J" gsHWFixes: textureInsideRT: 1 # Fixes on screen garbage. @@ -36858,7 +37196,7 @@ SLPM-62505: name-en: "Fukuhara Love Ping Pong" region: "NTSC-J" SLPM-62506: - name: "ヴァンパイアパニック 限定版" + name: "ヴァンパイアパニック [限定版]" name-sort: "ゔぁんぱいあぱにっく [げんていばん]" name-en: "Vampire Panic" region: "NTSC-J" @@ -36945,8 +37283,8 @@ SLPM-62520: name-en: "Nobunaga no Yabou - Soutenroku" region: "NTSC-J" SLPM-62521: - name: "極麻雀DXII-The 4th MONDO21Cup Competition [Athena Best Collection Vol.2]" - name-sort: "きわめまーじゃんDXII-The 4th MONDO21Cup Competition [Athena Best Collection Vol.2]" + name: "極 麻雀DXⅡ - The 4th MONDO21Cup Competition - [Athena Best Collection Vol.2]" + name-sort: "きわめ まーじゃんDX2 - The 4th MONDO21Cup Competition - [Athena Best Collection Vol.2]" name-en: "Kiwame Mahjong DXII - The 4th Mondo 21 Cup Competition [Athena Best Collection]" region: "NTSC-J" SLPM-62523: @@ -36991,7 +37329,7 @@ SLPM-62530: SLPM-62531: name: "麻雀やろうぜ!2 [コナミ殿堂セレクション]" name-sort: "まーじゃんやろうぜ!2 [こなみでんどうせれくしょん]" - name-en: "Mahjong Yarouze! 2 [Konami Palace Selection]" + name-en: "Mahjong Yarouze! 2 [Konami Dendou Selection]" region: "NTSC-J" SLPM-62532: name: "イースⅢ ~ワンダラーズ フロム イース~" @@ -37016,7 +37354,7 @@ SLPM-62536: name-en: "G1 Jockey 3 [Koei The Best]" region: "NTSC-J" SLPM-62537: - name: "スター・ウォーズ - スターファイター - [EA BEST HITS ]" + name: "スター・ウォーズ - スターファイター - [EA BEST HITS]" name-sort: "すたーうぉーず すたーふぁいたー [EA BEST HITS]" name-en: "Star Wars - Starfighter [EA Best Hits]" region: "NTSC-J" @@ -37192,12 +37530,12 @@ SLPM-62568: region: "NTSC-J" SLPM-62569: name: "PC原人 [HUDSON THE BEST]" - name-sort: "PCげんじん はどそん・ざ・べすと" + name-sort: "PCげんじん [HUDSON THE BEST]" name-en: "PC Genjin [Hudson The Best]" region: "NTSC-J" SLPM-62570: name: "高橋名人の冒険島 [HUDSON THE BEST]" - name-sort: "たかはしめいじんのぼうけんじま はどそん・ざ・べすと" + name-sort: "たかはしめいじんのぼうけんじま [HUDSON THE BEST]" name-en: "Takahashi Meijin no Adventure Island [Hudson The Best]" region: "NTSC-J" SLPM-62571: @@ -37228,8 +37566,8 @@ SLPM-62576: region: "NTSC-J" SLPM-62577: name: "実戦パチスロ必勝法! 北斗の拳 Plus [通常版]" - name-sort: "じっせんぱちすろひっしょうほう! ほくとのけん ぷらす つうじょうばん" - name-en: "Jissen Pachi-Slot Hisshouhou! Hokuto no Ken Plus [Standard]" + name-sort: "じっせんぱちすろひっしょうほう! ほくとのけん ぷらす [つうじょうばん]" + name-en: "Jissen Pachi-Slot Hisshouhou! Hokuto no Ken Plus [Standard Edition]" region: "NTSC-J" SLPM-62578: name: "バズロッド ~フィッシングファンタジー" @@ -37268,17 +37606,17 @@ SLPM-62582: region: "NTSC-J" SLPM-62583: name: "キュービックロードランナー [HUDSON THE BEST]" - name-sort: "きゅーびっくろーどらんなー はどそん・ざ・べすと" + name-sort: "きゅーびっくろーどらんなー [HUDSON THE BEST]" name-en: "Hudson Selection Vol.1 - Cubic Lode Runner [Hudson The Best]" region: "NTSC-J" SLPM-62584: name: "スターソルジャー [HUDSON THE BEST]" - name-sort: "すたーそるじゃー はどそん・ざ・べすと" + name-sort: "すたーそるじゃー [HUDSON THE BEST]" name-en: "Hudson Selection Vol.2 - Star Soldier [Hudson The Best]" region: "NTSC-J" SLPM-62585: name: "魁!クロマティ高校 [HUDSON THE BEST]" - name-sort: "さきがけ!くろまてぃこうこう はどそん・ざ・べすと" + name-sort: "さきがけ!くろまてぃこうこう [HUDSON THE BEST]" name-en: "Sakigake! Cromartie High School [Hudson The Best]" region: "NTSC-J" SLPM-62586: @@ -37297,8 +37635,8 @@ SLPM-62589: name-en: "Simple 2000 Series Vol. 72 - Ninkyou" region: "NTSC-J" SLPM-62590: - name: "GⅠ JOCKEY3 2005年度版 プレミアムパック" - name-sort: "じーわんじょっきー3 2005ねんどばん ぷれみあむぱっく" + name: "GⅠ JOCKEY3 2005年度版 [プレミアムパック]" + name-sort: "じーわんじょっきー3 2005ねんどばん [ぷれみあむぱっく]" name-en: "G1 Jockey 3 - 2005 [Premium Pack]" region: "NTSC-J" SLPM-62591: @@ -37339,7 +37677,7 @@ SLPM-62598: region: "NTSC-J" SLPM-62599: name: "ボンバーマンカートDX [HUDSON THE BEST]" - name-sort: "ぼんばーまんかーとDX はどそん ざ べすと" + name-sort: "ぼんばーまんかーとDX [HUDSON THE BEST]" name-en: "Bomberman Kart DX" region: "NTSC-J" SLPM-62600: @@ -37383,7 +37721,7 @@ SLPM-62606: cpuSpriteRenderLevel: 2 # Needed for above. gpuPaletteConversion: 2 # Improves FPS and reduces HC size. SLPM-62607: - name: "式神の城Ⅱ [TAITO The Best]" + name: "式神の城Ⅱ [TAITO The Best]" name-sort: "しきがみのしろ2 [TAITO The Best]" name-en: "Shikigami no Shiro II [TAITO BEST]" region: "NTSC-J" @@ -37730,8 +38068,8 @@ SLPM-62678: name-en: "Kurogane no Houkou - Warship Commander [Koei Selection Series]" region: "NTSC-J" SLPM-62679: - name: "リラックマ ~おじゃましてます2週間~ 初回限定ぬいぐるみパック" - name-sort: "りらっくま ~おじゃましてます2しゅうかん~ しょかいげんていぬいぐるみぱっく" + name: "リラックマ ~おじゃましてます2週間~ [初回限定ぬいぐるみパック]" + name-sort: "りらっくま ~おじゃましてます2しゅうかん~ [しょかいげんていぬいぐるみぱっく]" name-en: "Relakuma - Ojama Shitemasu 2 [Limited Edition]" region: "NTSC-J" SLPM-62680: @@ -37790,8 +38128,8 @@ SLPM-62690: name-en: "Raiden III" region: "NTSC-J" SLPM-62691: - name: "SEGA AGES 2500シリーズ Vol.20 スペースハリアーII ~スペースハリアーコンプリートコレクション~" - name-sort: "せが えいじす 2500しりーず Vol.20 すぺーすはりあーII ~すぺーすはりあーこんぷりーとこれくしょん~" + name: "SEGA AGES 2500シリーズ Vol.20 スペースハリアーⅡ ~スペースハリアーコンプリートコレクション~" + name-sort: "せが えいじす 2500しりーず Vol.20 すぺーすはりあーⅡ ~すぺーすはりあーこんぷりーとこれくしょん~" name-en: "Sega Ages 2500 Series Vol.20 - Space Harrier Collection" region: "NTSC-J" compat: 5 @@ -37848,7 +38186,7 @@ SLPM-62701: SLPM-62702: name: "桃太郎電鉄15 五大ボンビー登場!の巻" name-sort: "ももたろうでんてつ15 ごだいぼんびーとうじょう!のまき" - name-en: "Momotarou Dentetsu 15" + name-en: "Momotarou Dentetsu 15 - Godai Bonbii Toujo! no Maki" region: "NTSC-J" SLPM-62703: name: "SEGA RALLY CHAMPIONSHIP [SEGA RALLY 2006同梱版]" @@ -37940,7 +38278,7 @@ SLPM-62718: SLPM-62719: name: "パチスロ 信長の野望 天下創世" name-sort: "ぱちすろ のぶながのやぼう てんかそうせい" - name-en: "Nobunaga no Yabou - Tenka Souyo" + name-en: "Pachi-Slot Nobunaga no Yabou - Tenka Sousei" region: "NTSC-J" SLPM-62720: name: "ウィザードリィ サマナー [TAITO The Best]" @@ -37948,8 +38286,8 @@ SLPM-62720: name-en: "Wizardry Summoner [TAITO BEST]" region: "NTSC-J" SLPM-62721: - name: "一撃殺虫!!ホイホイさん [KONAM the Best]" - name-sort: "いちげきさっちゅう!!ほいほいさん [KONAM the Best]" + name: "一撃殺虫!!ホイホイさん [KONAMI the Best]" + name-sort: "いちげきさっちゅう!!ほいほいさん [KONAMI the Best]" name-en: "Ichigeki Sacchuu! HoiHoi-san [KONAMI The BEST]" region: "NTSC-J" SLPM-62722: @@ -37963,8 +38301,8 @@ SLPM-62724: name-en: "Conveni 4, The - Ano Machi o Dokusen seyo" region: "NTSC-J" SLPM-62725: - name: "麻雀覇王 段級バトルII" - name-sort: "まーじゃんはおう だんきゅうばとるII" + name: "麻雀覇王 段級バトルⅡ" + name-sort: "まーじゃんはおう だんきゅうばとる2" name-en: "Mahjong Hoah - Shinken Battle II" region: "NTSC-J" SLPM-62726: @@ -38079,9 +38417,9 @@ SLPM-62749: name-en: "Jissen Pachi-Slot Hisshouhou! Mister Magic Neo" region: "NTSC-J" SLPM-62750: - name: "桃太郎電鉄16 北海道大移動!の巻" - name-sort: "ももたろうでんてつ16 ほっかいどうだいいどう!のまき" - name-en: "Momotarou Dentetsu 16" + name: "桃太郎電鉄16 北海道大移動の巻! [PlayStation2 the Best]" + name-sort: "ももたろうでんてつ16 ほっかいどうだいいどうのまき! [PlayStation2 the Best]" + name-en: "Momotarou Dentetsu 16 - Hokkaido Daiidou no Maki! [PlayStation2 the Best]" region: "NTSC-J" SLPM-62751: name: "真・三國無双シリーズコレクション 下巻 最強データ" @@ -38135,8 +38473,8 @@ SLPM-62760: region: "NTSC-J" compat: 5 SLPM-62761: - name: "チョロQ HG2 ATLUS BEST COLLECTION" - name-sort: "ちょろQ HG2 ATLUS BEST COLLECTION" + name: "チョロQ HG2 [ATLUS BEST COLLECTION]" + name-sort: "ちょろQ HG2 [ATLUS BEST COLLECTION]" name-en: "Choro Q HG 2 [Atlus Best Collection]" region: "NTSC-J" gsHWFixes: @@ -38148,7 +38486,7 @@ SLPM-62762: region: "NTSC-J" SLPM-62763: name: "ボンバーマンランド3 [HUDSON THE BEST]" - name-sort: "ぼんばーまんらんど3 はどそん・ざ・べすと" + name-sort: "ぼんばーまんらんど3 [HUDSON THE BEST]" name-en: "Bomberman Land 3 [Hudson Best Version]" region: "NTSC-J" SLPM-62764: @@ -38189,8 +38527,8 @@ SLPM-62770: region: "NTSC-J" compat: 5 SLPM-62771: - name: "チョロQ HG3 Atlus Best Collection" - name-sort: "ちょろQ HG3 Atlus Best Collection" + name: "チョロQ HG3 [ATLUS BEST COLLECTION]" + name-sort: "ちょろQ HG3 [ATLUS BEST COLLECTION]" name-en: "Choro Q HG 3 [Atlus Best Collection]" region: "NTSC-J" SLPM-62772: @@ -38229,8 +38567,8 @@ SLPM-62779: name-en: "Puyo Puyo! [Special Price]" region: "NTSC-J" SLPM-62780: - name: "SEGA AGES 2500シリーズ Vol.33 ファンタジーゾーンコンプリートコレクション" - name-sort: "せが えいじす 2500しりーず Vol.33 ふぁんたじーぞーんこんぷりーとこれくしょん" + name: "SEGA AGES 2500シリーズ Vol.33 ファンタジーゾーン コンプリートコレクション" + name-sort: "せが えいじす 2500しりーず Vol.33 ふぁんたじーぞーん こんぷりーとこれくしょん" name-en: "Fantasy Zone Complete Collection" region: "NTSC-J" compat: 5 @@ -38747,8 +39085,8 @@ SLPM-65056: region: "NTSC-J" SLPM-65057: name: "7 BLADES [KONAMI The Best]" - name-sort: "せぶん ぶれーず [KONAMI The Best]" - name-en: "7 Blades [KONAMI The Best]" + name-sort: "せぶん ぶれーず [KONAMI The Best]" + name-en: "7 Blades [KONAMI The Best]" region: "NTSC-J" SLPM-65059: name: "ガンサバイバー2 バイオハザード コード:ベロニカ WITH ガンコン2" @@ -38803,7 +39141,7 @@ SLPM-65072: SLPM-65073: name: "幻想水滸伝Ⅲ [初回生産分:特殊仕様]" name-sort: "げんそうすいこでん3 [しょかいせいさんぶん:とくしゅしよう]" - name-en: "Gensou Suikoden III" + name-en: "Gensou Suikoden III [Limited Edition]" region: "NTSC-J" memcardFilters: # This looks like a mess because it includes all serials for Suikoden 3, Suikoden 2, Suikogaiden 1, and Suikogaiden 2. A lot of these probably aren't actually required but it's not really hurting anything to have them here. - "SLPM-65073" @@ -38941,7 +39279,7 @@ SLPM-65090: SLPM-65091: name: "遙かなる時空の中で2 [プレミアムBOX]" name-sort: "はるかなるときのなかで2 [ぷれみあむBOX]" - name-en: "Harukanaru Toki no Naka de 2 [Premium Box]" + name-en: "Harukanaru Toki no Naka de 2 [Premium Box]" region: "NTSC-J" SLPM-65092: name: "遙かなる時空の中で2" @@ -38989,7 +39327,7 @@ SLPM-65098: SLPM-65100: name: "鬼武者 2 [初回生産限定版]" name-sort: "おにむしゃ 2 [しょかいせいさんげんていばん]" - name-en: "Onimusha 2" + name-en: "Onimusha 2 [Limited Edition]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Mostly aligns post processing. @@ -39067,7 +39405,7 @@ SLPM-65116: region: "NTSC-J" SLPM-65117: name: "機甲兵団 J-PHOENIX [THE BEST タカラモノ]" - name-sort: "きこうへいだん じぇいふぇにっくす [ざ・べすと・たからもの]" + name-sort: "きこうへいだん じぇいふぇにっくす [THE BEST たからもの]" name-en: "Kikou Heidan J-Phoenix [Takara The Best]" region: "NTSC-J" memcardFilters: @@ -39128,8 +39466,8 @@ SLPM-65125: name-en: "Natsuiro no Sunadokei [First Print Limited Edition]" region: "NTSC-J" SLPM-65126: - name: "ときめきメモリアル Girl's Side 初回生産版" - name-sort: "ときめきめもりある がーるずさいど しょかいせいさんばん" + name: "ときめきメモリアル Girl's Side [初回生産版]" + name-sort: "ときめきめもりある がーるずさいど [しょかいせいさんばん]" name-en: "Tokimeki Memorial Girl's Side [Limited Edition]" region: "NTSC-J" SLPM-65130: @@ -39187,10 +39525,12 @@ SLPM-65140: region: "NTSC-J" gsHWFixes: recommendedBlendingLevel: 2 # Fixes text box opacity. + clampModes: + vu1ClampMode: 3 # Fixes shading on Chapter 11-2's enemy. SLPM-65141: name: "続せがれいじり 変珍たませがれ" name-sort: "ぞくせがれいじり へんちんたませがれ" - name-en: "Tsuzuse Gareijiri" + name-en: "Zoku Segare Ijiri - Henchin Tama Segare" region: "NTSC-J" compat: 5 SLPM-65142: @@ -39204,9 +39544,9 @@ SLPM-65143: name-en: "Anime Super Remix, The - Ashita no Joe 2" region: "NTSC-J" SLPM-65144: - name: "魔剣爻 アトラス・ベストコレクション" - name-sort: "まけんしゃお あとらす・べすとこれくしょん" - name-en: "Maken Shao" + name: "魔剣爻 [ATLUS BEST COLLECTION]" + name-sort: "まけんしゃお [ATLUS BEST COLLECTION]" + name-en: "Maken Shao [Atlus Best Collection]" region: "NTSC-J" speedHacks: mvuFlag: 0 @@ -39228,7 +39568,7 @@ SLPM-65148: SLPM-65149: name: "チョロQ HG [THE BEST タカラモノ]" name-sort: "ちょろQ HG [THE BEST タカラモノ]" - name-en: "Choro Q HG [THE BEST TAKARAMONO]" + name-en: "Choro Q HG [Takara THE BEST]" region: "NTSC-J" SLPM-65150: name: "エアロダンシング 4 ニュージェネレーション" @@ -39251,9 +39591,9 @@ SLPM-65153: name-en: "Gungrave [Standard Edition]" region: "NTSC-J" SLPM-65154: - name: "君が望む永遠 ~Rumbling hearts~ (初回限定版)" - name-sort: "きみがのぞむえいえん Rumbling hearts しょかいげんていばん" - name-en: "Rumbling Hearts" + name: "君が望む永遠 ~Rumbling hearts~ [初回限定版]" + name-sort: "きみがのぞむえいえん Rumbling hearts [しょかいげんていばん]" + name-en: "Rumbling Hearts [Limited Edition]" region: "NTSC-J" SLPM-65155: name: "君が望む永遠 ~Rumbling hearts~" @@ -39301,7 +39641,7 @@ SLPM-65163: patch=0,EE,00276170,word,48438800 patch=0,EE,0027617c,word,4BE521AC SLPM-65164: - name: "PROJECT MINERVA 限定版" + name: "PROJECT MINERVA [限定版]" name-sort: "ぷろじぇくと みねるゔぁ [げんていばん]" name-en: "Project Minerva [Limited Edition]" region: "NTSC-J" @@ -39347,7 +39687,7 @@ SLPM-65172: SLPM-65173: name: "探偵 神宮寺三郎 Innocent Black" name-sort: "たんてい じんぐうじさぶろう Innocent Black" - name-en: "Innocent Black" + name-en: "Tantei Jinguuji Saburou - Innocent Black" region: "NTSC-J" SLPM-65174: name: "BRITNEY'S DANCE BEAT" @@ -39438,7 +39778,7 @@ SLPM-65191: SLPM-65192: name: "NBA LIVE 2003 [EA BEST HITS]" name-sort: "NBA らいぶ 2003 [EA BEST HITS]" - name-en: "NBA Live 2003 [EA BEST HITS]" + name-en: "NBA Live 2003 [EA Best Hits]" region: "NTSC-J" clampModes: vuClampMode: 2 # Missing geometry with microVU. @@ -39498,7 +39838,7 @@ SLPM-65202: region: "NTSC-J" SLPM-65203: name: "ファントム -PHANTOM OF INFERNO- [初回限定版]" - name-sort: "ふぁんとむ PHANTOM OF INFERNO しょかいげんていばん" + name-sort: "ふぁんとむ PHANTOM OF INFERNO [しょかいげんていばん]" name-en: "Phantom of Inferno [Limited Edition]" region: "NTSC-J" SLPM-65204: @@ -39607,8 +39947,8 @@ SLPM-65213: name-en: "Evolution Skateboarding" region: "NTSC-J" SLPM-65215: - name: "超・バトル封神&真・三國無双2 猛将伝 プレミアムパック" - name-sort: "ちょう・ばとるほうしん&しんさんごくむそう2 もうしょうでん ぷれみあむぱっく" + name: "超・バトル封神&真・三國無双2 猛将伝 [プレミアムパック]" + name-sort: "ちょう・ばとるほうしん&しんさんごくむそう2 もうしょうでん [ぷれみあむぱっく]" name-en: "Chou Battle Houshin - Bundle #2" region: "NTSC-J" SLPM-65217: @@ -39622,9 +39962,9 @@ SLPM-65218: name-en: "Bomberman Jetters" region: "NTSC-J" SLPM-65219: - name: "はっぴーぶりーでぃんぐ ~Cheerful Party~ 初回限定版" - name-sort: "はっぴーぶりーでぃんぐ ~Cheerful Party~ しょかいげんていばん" - name-en: "Cheerful Party" + name: "はっぴーぶりーでぃんぐ ~Cheerful Party~ [初回限定版]" + name-sort: "はっぴーぶりーでぃんぐ ~Cheerful Party~ [しょかいげんていばん]" + name-en: "Cheerful Party [Limited Edition]" region: "NTSC-J" SLPM-65220: name: "はっぴーぶりーでぃんぐ ~Cheerful Party~" @@ -39841,9 +40181,9 @@ SLPM-65249: clampModes: vuClampMode: 2 # Fixes SPS in item menu. gsHWFixes: - textureInsideRT: 1 # Fixes rainbow shadow of legions. alignSprite: 1 # Fixes green vertical lines. roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed. + textureInsideRT: 1 # Fixes rainbow shadow of legions. SLPM-65250: name: "カットビ!! ゴルフ" name-sort: "かっとび!! ごるふ" @@ -40053,8 +40393,8 @@ SLPM-65284: halfPixelOffset: 2 # Aligns Depth of Field. nativeScaling: 2 # Fixes Depth of Field effect. SLPM-65285: - name: "ラブひな ごーじゃす ~チラっとハプニング!!~ 初回限定版" - name-sort: "らぶひな ごーじゃす ~ちらっとはぷにんぐ!!~ しょかいげんていばん" + name: "ラブひな ごーじゃす ~チラっとハプニング!!~ [初回限定版]" + name-sort: "らぶひな ごーじゃす ~ちらっとはぷにんぐ!!~ [しょかいげんていばん]" name-en: "Love Hina Gorgeous [First Limited Edition]" region: "NTSC-J" compat: 5 @@ -40173,8 +40513,8 @@ SLPM-65305: - "SLPM-86953" - "SLPM-87262" SLPM-65306: - name: "SAKURA~雪月華~ 初回限定版" - name-sort: "さくら せつげっか しょかいげんていばん" + name: "SAKURA~雪月華~ [初回限定版]" + name-sort: "さくら せつげっか [しょかいげんていばん]" name-en: "Sakura - Yuki Gekka [First Print Limited Edition]" region: "NTSC-J" SLPM-65307: @@ -40271,9 +40611,9 @@ SLPM-65324: name-en: "Gregory Horror Show - Soul Collector" region: "NTSC-J" SLPM-65325: - name: "レスキューヘリ エアレンジャー2 低価格版" - name-sort: "れすきゅーへり えあれんじゃー2 ていかかくばん" - name-en: "Air Ranger 2 - Rescue Helicopter [Best]" + name: "レスキューヘリ エアレンジャー2 [わくわくプライス]" + name-sort: "れすきゅーへり えあれんじゃー2 [わくわくプライス]" + name-en: "Air Ranger 2 - Rescue Helicopter [WakWak Price]" region: "NTSC-J" SLPM-65326: name: "チョロQ HG4" @@ -40311,7 +40651,7 @@ SLPM-65331: gsHWFixes: disablePartialInvalidation: 1 # Fixes Fixes black screens. SLPM-65332: - name: "まほろまてぃっく 萌っと≠きらきらメイドさん。 限定版" + name: "まほろまてぃっく 萌っと≠きらきらメイドさん。 [限定版]" name-sort: "まほろまてぃっく もえっときらきらめいどさん [げんていばん]" name-en: "Mahoromatic Automatic Maiden [Limited Edition]" region: "NTSC-J" @@ -40329,7 +40669,7 @@ SLPM-65334: SLPM-65335: name: "激闘プロ野球 水島新司オールスターズ VS プロ野球" name-sort: "げきとうぷろやきゅう みずしましんじおーるすたーず VS ぷろやきゅう" - name-en: "Gekitou Pro Yakyuu" + name-en: "Gekitou Pro Yakyuu - Mizushima Shinji All Stars vs. Pro Yakyuu" region: "NTSC-J" SLPM-65336: name: "K-1 WORLD GRAND PRIX THE BEAST ATTACK!" @@ -40350,8 +40690,8 @@ SLPM-65338: name-en: "Juunikoku-ki - Guren no Shirube Koejin no Michi" region: "NTSC-J" SLPM-65339: - name: "悪代官 [グローバル ザ ベスト]" - name-sort: "あくだいかん [ぐろーばる ざ べすと]" + name: "悪代官 [GLOBAL The Best]" + name-sort: "あくだいかん [GLOBAL The Best]" name-en: "Akudaikan [Global The Best]" region: "NTSC-J" SLPM-65340: @@ -40402,7 +40742,7 @@ SLPM-65347: name-en: "Bistro Cupid 2 [Tokubetsu-ban]" region: "NTSC-J" SLPM-65348: - name: "ビストロ・きゅーぴっと2 通常版" + name: "ビストロ・きゅーぴっと2 [通常版]" name-sort: "びすとろ・きゅーぴっと2" name-en: "Bistro Cupid 2" region: "NTSC-J" @@ -40453,13 +40793,13 @@ SLPM-65358: region: "NTSC-J" compat: 5 SLPM-65359: - name: "ユーディーのアトリエ ~グラムナート の錬金術士~ [ガストベストプライス]" - name-sort: "ゆーでぃーのあとりえ ~ぐらむなーとのれんきんじゅつし~ [がすとべすとぷらいす]" + name: "ユーディーのアトリエ ~グラムナート の錬金術士~ [ガストBest Price]" + name-sort: "ゆーでぃーのあとりえ ~ぐらむなーとのれんきんじゅつし~ [がすとBest Price]" name-en: "Judie no Atelier - Gramnad no Renkinjutsushi [Gust Best Price]" region: "NTSC-J" SLPM-65361: - name: "ANUBIS ZONE OF THE ENDERS SPECIAL EDITION [限定版]" - name-sort: "ぞーん おぶ えんだーず あぬびす SPECIAL EDITION [げんていばん]" + name: "ANUBIS ZONE OF THE ENDERS -SPECIAL EDITION- [限定版]" + name-sort: "あぬびす ぞーん おぶ えんだーず SPECIAL EDITION [げんていばん]" name-en: "Anubis - Zone of the Enders Special Edition [Limited Edition]" region: "NTSC-J" compat: 5 @@ -40468,7 +40808,7 @@ SLPM-65361: nativeScaling: 2 # Fixes post effects. SLPM-65362: name: "NHK 天才ビットくん グラモンバトル" - name-sort: "えぬえいちけい てんさいびっとくん ぐらもんばとる" + name-sort: "NHK てんさいびっとくん ぐらもんばとる" name-en: "NHK Tensai Bit-Kun - Guramon Battle" region: "NTSC-J" SLPM-65363: @@ -40595,8 +40935,8 @@ SLPM-65384: region: "NTSC-J" compat: 5 SLPM-65385: - name: "GⅠ JOCKEY3 2003 & Winning Post6 [Premium Pack]" - name-sort: "ういにんぐぽすと6 じーわんじょっきー3 2003 & ういにんぐぽすと6 [Premium Pack]" + name: "GⅠ JOCKEY3 2003 & Winning Post6 [プレミアムパック]" + name-sort: "ういにんぐぽすと6 じーわんじょっきー3 2003 & ういにんぐぽすと6 [ぷれみあむぱっく]" name-en: "G1 JOCKEY3 2003 & Winning Post6 [Premium Pack]" region: "NTSC-J" SLPM-65386: @@ -40705,7 +41045,7 @@ SLPM-65405: gsHWFixes: texturePreloading: 1 # Performs much better with partial preload. SLPM-65406: - name: "キャッスルヴァニア 限定版" + name: "キャッスルヴァニア [限定版]" name-sort: "きゃっするゔぁにあ [げんていばん]" name-en: "Castlevania [Limited Edition]" region: "NTSC-J" @@ -40823,13 +41163,13 @@ SLPM-65423: region: "NTSC-J" SLPM-65424: name: "モエかん ~もえっ娘島へようこそ~ [初回限定版]" - name-sort: "もえかん もえっこしまへようこそ しょかいげんていばん" + name-sort: "もえかん もえっこしまへようこそ [しょかいげんていばん]" name-en: "Moekko Company [Limited Edition]" region: "NTSC-J" SLPM-65425: name: "モエかん ~もえっ娘島へようこそ~ [通常版]" - name-sort: "もえかん もえっこしまへようこそ" - name-en: "Moekko Company" + name-sort: "もえかん もえっこしまへようこそ [つうじょうばん]" + name-en: "Moekko Company [Standard Edition]" region: "NTSC-J" SLPM-65426: name: "プロ野球チームをつくろう!2003" @@ -40931,8 +41271,8 @@ SLPM-65442: name-en: "Terminator 3, The - Rise of the Machines" region: "NTSC-J" SLPM-65443: - name: "フロントミッション フォース" - name-sort: "ふろんとみっしょん ふぉーす" + name: "フロントミッション4" + name-sort: "ふろんとみっしょん4 ふぉーす" name-en: "Front Mission 4" region: "NTSC-J" gsHWFixes: @@ -40988,8 +41328,8 @@ SLPM-65450: name-en: "Tantei Gakuen Q - Kiokan no Satsui [First Limited Edition]" region: "NTSC-J" SLPM-65451: - name: "テニスの王子様 Smash Hit!2 初回SP限定版" - name-sort: "てにすのおうじさま Smash Hit!2 しょかいSPげんていばん" + name: "テニスの王子様 Smash Hit!2 [初回SP限定版]" + name-sort: "てにすのおうじさま Smash Hit!2 [しょかいSPげんていばん]" name-en: "Prince of Tennis - Smash Hit! 2 [Shokai SP Genteiban A-Type]" region: "NTSC-J" gsHWFixes: @@ -41023,12 +41363,12 @@ SLPM-65455: region: "NTSC-J" SLPM-65456: name: "ナースウィッチ小麦ちゃん マジカルて [初回限定版]" - name-sort: "なーすうぃっちこむぎちゃん まじかるて しょかいげんていばん" + name-sort: "なーすうぃっちこむぎちゃん まじかるて [しょかいげんていばん]" name-en: "Magical Nurse Witch Komugi-chan [Limited Edition]" region: "NTSC-J" SLPM-65457: name: "ナースウィッチ小麦ちゃん マジカルて [通常版]" - name-sort: "なーすうぃっちこむぎちゃん まじかるて" + name-sort: "なーすうぃっちこむぎちゃん まじかるて [つうじょうばん]" name-en: "Magical Nurse Witch Komugi-chan [Standard Edition]" region: "NTSC-J" SLPM-65458: @@ -41192,8 +41532,8 @@ SLPM-65488: name-en: "Grand Theft Auto - Vice City" region: "NTSC-J" SLPM-65489: - name: "ワークジャム ベストコレクション vol.1 探偵 神宮寺三郎 Innocent Black" - name-sort: "わーくじゃむ べすとこれくしょん vol.1 たんてい じんぐうじさぶろう Innocent Black" + name: "探偵 神宮寺三郎 Innocent Black [ワークジャム ベストコレクション vol.1]" + name-sort: "んてい じんぐうじさぶろう Innocent Black [わーくじゃむ べすとこれくしょん vol.1 ]" name-en: "Tantei Jingiji Saburo - Innocent Black [WorkJam Best Collection]" region: "NTSC-J" SLPM-65490: @@ -41212,9 +41552,9 @@ SLPM-65492: name-en: "Gungrave O.D." region: "NTSC-J" SLPM-65493: - name: "ふらせら Hurrah!Sailor 初回限定版" - name-sort: "ふらせら Hurrah!Sailor しょかいげんていばん" - name-en: "Hurrah! Sailor" + name: "ふらせら Hurrah!Sailor [初回限定版]" + name-sort: "ふらせら Hurrah!Sailor [しょかいげんていばん]" + name-en: "Hurrah! Sailor [Limited Edition]" region: "NTSC-J" SLPM-65494: name: "風雲 新撰組" @@ -41282,7 +41622,7 @@ SLPM-65503: vu1ClampMode: 3 # Fixes broken skybox and missing textures. SLPM-65504: name: "COOL GIRL [初回限定版] [ディスク1/2]" - name-sort: "くーる がーる しょかいげんていばん [でぃすく1/2]" + name-sort: "くーる がーる [しょかいげんていばん] [でぃすく1/2]" name-en: "Cool Girl [Limited Edition] [Disc 1 of 2]" region: "NTSC-J" memcardFilters: @@ -41292,7 +41632,7 @@ SLPM-65504: - "SLPM-65742" SLPM-65505: name: "COOL GIRL [初回限定版] [ディスク2/2]" - name-sort: "くーる がーる しょかいげんていばん [でぃすく2/2]" + name-sort: "くーる がーる [しょかいげんていばん] [でぃすく2/2]" name-en: "Cool Girl [Limited Edition] [Disc 2 of 2]" region: "NTSC-J" memcardFilters: @@ -41302,7 +41642,7 @@ SLPM-65505: - "SLPM-65742" SLPM-65506: name: "COOL GIRL [通常版] [ディスク1/2]" - name-sort: "くーる がーる つうじょうばん [でぃすく1/2]" + name-sort: "くーる がーる [つうじょうばん] [でぃすく1/2]" name-en: "Cool Girl [Standard Edition] [Disc 1 of 2]" region: "NTSC-J" memcardFilters: @@ -41312,7 +41652,7 @@ SLPM-65506: - "SLPM-65742" SLPM-65507: name: "COOL GIRL [通常版] [ディスク2/2]" - name-sort: "くーる がーる つうじょうばん [でぃすく2/2]" + name-sort: "くーる がーる [つうじょうばん] [でぃすく2/2]" name-en: "Cool Girl [Standard Edition] [Disc 2 of 2]" region: "NTSC-J" SLPM-65508: @@ -41337,7 +41677,7 @@ SLPM-65512: region: "NTSC-J" SLPM-65513: name: "Angel's Feather [通常版]" - name-sort: "えんじぇるずふぇざー" + name-sort: "えんじぇるずふぇざー [つうじょうばん]" name-en: "Angel's Feather [Standard Edition]" region: "NTSC-J" SLPM-65514: @@ -41376,7 +41716,7 @@ SLPM-65520: region: "NTSC-J" SLPM-65521: name: "てんたま2wins [通常版]" - name-sort: "てんたま2wins" + name-sort: "てんたま2wins [つうじょうばん]" name-en: "Tentama 2 Wins [Standard Edition]" region: "NTSC-J" SLPM-65522: @@ -41385,13 +41725,13 @@ SLPM-65522: name-en: "Bakushou!! Jinsei Kaidou - Nova Usagi ga Miteru zo!!" region: "NTSC-J" SLPM-65523: - name: "ふらせら Hurrah!Sailor 通常版" - name-sort: "ふらせら Hurrah!Sailor" + name: "ふらせら Hurrah!Sailor [通常版]" + name-sort: "ふらせら Hurrah!Sailor [つうじょうばん]" name-en: "Hurrah! Sailor [Standard Edition]" region: "NTSC-J" SLPM-65524: - name: "オレンジポケット -リュート- 初回限定版" - name-sort: "おれんじぽけっと -りゅーと- しょかいげんていばん" + name: "オレンジポケット -リュート- [初回限定版]" + name-sort: "おれんじぽけっと -りゅーと- [しょかいげんていばん]" name-en: "Orange Pocket - Root [Limited Edition]" region: "NTSC-J" SLPM-65525: @@ -41433,8 +41773,8 @@ SLPM-65532: region: "NTSC-J" SLPM-65533: name: "ピューと吹く!ジャガー 明日のジャンプ [初回限定版]" - name-sort: "ぴゅーとふく!じゃがー あしたのじゃんぷ しょかいげんていばん" - name-en: "Pyu to Fuku! Jaguar Ashita no Japan" + name-sort: "ぴゅーとふく!じゃがー あしたのじゃんぷ [しょかいげんていばん]" + name-en: "Pyu to Fuku! Jaguar Ashita no Japan [Limited Edition]" region: "NTSC-J" SLPM-65534: name: "ローグオプス" @@ -41459,7 +41799,7 @@ SLPM-65537: name-en: "Chou Battle Houshin [Koei The Best]" region: "NTSC-J" SLPM-65538: - name: "007 - nightfire [EA BEST HITS ]" + name: "007 - nightfire [EA BEST HITS]" name-sort: "007 ないとふぁいあ [EA BEST HITS]" name-en: "007 - Nightfire [EA Best Hits]" region: "NTSC-J" @@ -41732,8 +42072,8 @@ SLPM-65589: name-en: "Colorful Box - To Love [Standard Edition]" region: "NTSC-J" SLPM-65590: - name: "電車でGO!FINAL-" - name-sort: "でんしゃでごーFINAL-" + name: "電車でGO!FINAL" + name-sort: "でんしゃでごーFINAL" name-en: "Densha de Go! Final" region: "NTSC-J" SLPM-65591: @@ -41759,7 +42099,7 @@ SLPM-65594: SLPM-65595: name: "勝負師伝説 哲也2 玄人頂上決戦 [Athena Best Collection Vol.1]" name-sort: "ぎゃんぶらーでんせつ てつや2 くろうとちょうじょうけっせん [Athena Best Collection Vol.1]" - name-en: "Gambler Densetsu Tetsuya 2 [Athena Best Collection]" + name-en: "Gambler Densetsu Tetsuya 2 [Athena Best Collection]" region: "NTSC-J" SLPM-65596: name: "十二国記 赫々たる王道紅緑の羽化" @@ -41805,9 +42145,9 @@ SLPM-65603: name-en: "Run Like Hell" region: "NTSC-J" SLPM-65604: - name: "アニメバトル 烈火の炎 FINAL BURNING <初回生産限定仕様>" + name: "アニメバトル 烈火の炎 FINAL BURNING [初回生産限定仕様]" name-sort: "あにめばとる れっかのほのお FINAL BURNING [しょかいせいさんげんていしよう]" - name-en: "Anime Battle - Rekka no Honoo - Flame of Recca - Final Burning" + name-en: "Anime Battle - Rekka no Honoo - Flame of Recca - Final Burning [Limited Edition]" region: "NTSC-J" compat: 5 patches: @@ -41817,7 +42157,7 @@ SLPM-65604: patch=0,EE,00115c00,word,24200001 SLPM-65607: name: "3LDK ~幸せになろうよ~ [初回限定版]" - name-sort: "3LDK しあわせになろうよ しょかいげんていばん" + name-sort: "3LDK しあわせになろうよ [しょかいげんていばん]" name-en: "3LDK - Shiawase ni Narou yo [First Print Limited Edition]" region: "NTSC-J" SLPM-65608: @@ -41857,7 +42197,7 @@ SLPM-65613: SLPM-65614: name: "ニード・フォー・スピード アンダーグラウンド [EA BEST HITS]" name-sort: "にーど・ふぉー・すぴーど あんだーぐらうんど [EA BEST HITS]" - name-en: "Need for Speed - Underground [EA BEST HITS]" + name-en: "Need for Speed - Underground [EA Best Hits]" region: "NTSC-J" gameFixes: - EETimingHack # Broken textures. @@ -41881,8 +42221,8 @@ SLPM-65617: region: "NTSC-J" SLPM-65618: name: "ベルセルク 千年帝国の鷹篇 聖魔戦記の章 [体験版]" - name-sort: "べるせるく みれにあむ ふぁるこんへん せいませんきのしょう[たいけんばん]" - name-en: "Berserk - Sennenteikoku no Takahen Seimasenki no Shou [Trial]" + name-sort: "べるせるく みれにあむ ふぁるこんへん せいませんきのしょう [たいけんばん]" + name-en: "Berserk - Millennium Falcon-hen - Seima Senki no Shou [Trial]" region: "NTSC-J" gsHWFixes: preloadFrameData: 1 # Partially fixes HUD elements. @@ -41894,8 +42234,8 @@ SLPM-65619: name-en: "Tom Clancy's Ghost Recon - Jungle Storm" region: "NTSC-J" SLPM-65620: - name: "悪代官2 ~妄想伝~ [グローバル ザ・ベスト]" - name-sort: "あくだいかん2 ~もうそうでん~ [ぐろーばる ざ・べすと]" + name: "悪代官2 ~妄想伝~ [GLOBAL The Best]" + name-sort: "あくだいかん2 ~もうそうでん~ [GLOBAL The Best]" name-en: "Akudaikan 2 - Mousouden [Global The Best]" region: "NTSC-J" SLPM-65621: @@ -41945,8 +42285,8 @@ SLPM-65626: name-en: "Kyoufu Shinbun (Heisei-Han) Kaiki! Shinrei File [KONAMI The BEST]" region: "NTSC-J" SLPM-65627: - name: "ゲゲゲの鬼太郎 異聞妖怪奇譚 [KONAM the Best]" - name-sort: "げげげのきたろう いぶんようかいきたん [KONAM the Best]" + name: "ゲゲゲの鬼太郎 異聞妖怪奇譚 [KONAMI the Best]" + name-sort: "げげげのきたろう いぶんようかいきたん [KONAMI the Best]" name-en: "Gegege no Kitarou [KONAMI The BEST]" region: "NTSC-J" SLPM-65628: @@ -42164,7 +42504,7 @@ SLPM-65666: clampModes: vuClampMode: 2 # Missing geometry with microVU. SLPM-65668: - name: "スペクトラルフォース ラジカルエレメンツ 限定版" + name: "スペクトラルフォース ラジカルエレメンツ [限定版]" name-sort: "すぺくとらるふぉーす らじかるえれめんつ [げんていばん]" name-en: "Spectral Force - Radical Elements [Limited Edition]" region: "NTSC-J" @@ -42241,8 +42581,8 @@ SLPM-65682: name-en: "Monochrome" region: "NTSC-J" SLPM-65683: - name: "ヴィオラートのアトリエ~グラムナートの錬金術士2~ [ガストベストプライス]" - name-sort: "ゔぃおらーとのあとりえ ぐらむなーとのれんきんじゅつし2 [がすとべすとぷらいす]" + name: "ヴィオラートのアトリエ~グラムナートの錬金術士2~ [ガストBest Price]" + name-sort: "ゔぃおらーとのあとりえ ぐらむなーとのれんきんじゅつし2 [がすとBest Price]" name-en: "Violet no Atelier - Gramnad no Renkinjutsushi [Gust Best Price]" region: "NTSC-J" gsHWFixes: @@ -42316,7 +42656,7 @@ SLPM-65692: SLPM-65693: name: "ときめきメモリアル3 ~約束のあの場所で~ [コナミ殿堂セレクション]" name-sort: "ときめきめもりある3 やくそくのあのばしょで [こなみでんどうせれくしょん]" - name-en: "Tokimeki Memorial 3 [Konami Palace Selection]" + name-en: "Tokimeki Memorial 3 [Konami Dendou Selection]" region: "NTSC-J" SLPM-65694: name: "幻想水滸伝Ⅲ [コナミ殿堂セレクション]" @@ -42465,7 +42805,7 @@ SLPM-65721: name-en: "Pro Yakyuu Spirits 2004 Climax" region: "NTSC-J" SLPM-65722: - name: "エアフォースデルタ ブルーウィングナイツ [KONAMI The BEST]" + name: "エアフォースデルタ ブルーウィングナイツ [KONAMI The BEST]" name-sort: "えあふぉーすでるた ぶるーうぃんぐないつ [KONAMI The BEST]" name-en: "Airforce Delta - Blue Wing Knights [KONAMI The BEST]" region: "NTSC-J" @@ -42480,7 +42820,7 @@ SLPM-65724: name-en: "Choro Q Works" region: "NTSC-J" SLPM-65725: - name: "007 - エブリシング オア ナッシング [EA BEST HITS ]" + name: "007 - エブリシング オア ナッシング [EA BEST HITS]" name-sort: "007 - えぶりしんぐ おあ なっしんぐ [EA BEST HITS]" name-en: "007 - Everything or Nothing [EA Best Hits]" region: "NTSC-J" @@ -42547,11 +42887,11 @@ SLPM-65732: compat: 5 SLPM-65734: name: "北へ。Diamond Dust [HUDSON THE BEST]" - name-sort: "きたへ Diamond Dust はどそん・ざ・べすと" + name-sort: "きたへ Diamond Dust [HUDSON THE BEST]" name-en: "Kita he - Diamond Dust [Hudson The Best]" region: "NTSC-J" SLPM-65735: - name: "蒼のままで・・・・・・ 限定版" + name: "蒼のままで・・・・・・ [限定版]" name-sort: "あおのままで [げんていばん]" name-en: "Ao no Mamade [Treasure Box]" region: "NTSC-J" @@ -42573,7 +42913,7 @@ SLPM-65738: SLPM-65739: name: "ティム・バートン ナイトメアー・ビフォア・クリスマス ブギーの逆襲" name-sort: "てぃむばーとん ないとめあー びふぉあ くりすます ぶぎーのぎゃくしゅう" - name-en: "Nightmare Before Christmas" + name-en: "Tim Burton's The Nightmare Before Christmas - Oogie no Gyakushuu" region: "NTSC-J" compat: 5 gsHWFixes: @@ -42733,7 +43073,7 @@ SLPM-65761: gameFixes: - EETimingHack # Fixes game hanging at mission 1. SLPM-65762: - name: "片神名~喪われた因果律~" + name: "片神名 ~喪われた因果律~" name-sort: "かたかむな うしなわれたいんがりつ" name-en: "Katakamuna" region: "NTSC-J" @@ -42747,8 +43087,8 @@ SLPM-65763: halfPixelOffset: 4 # Fixes offset post processing. nativeScaling: 2 # Fixes post processing. SLPM-65764: - name: "メンアットワーク!3 愛と青春のハンター学園 初回限定版" - name-sort: "めんあっとわーく!3 あいとせいしゅんのはんたーがくえん しょかいげんていばん" + name: "メンアットワーク!3 愛と青春のハンター学園 [初回限定版]" + name-sort: "めんあっとわーく!3 あいとせいしゅんのはんたーがくえん [しょかいげんていばん]" name-en: "Men at Work! 3 [First Print Limited Edition]" region: "NTSC-J" SLPM-65765: @@ -42805,7 +43145,7 @@ SLPM-65775: region: "NTSC-J" compat: 5 SLPM-65776: - name: "天空断罪 スケルターヘブン 限定版" + name: "天空断罪 スケルターヘブン [限定版]" name-sort: "てんくうだんざい すけるたーへぶん [げんていばん]" name-en: "Tenkuu Danzai - Skelter Heaven [Limited Edition]" region: "NTSC-J" @@ -42841,7 +43181,7 @@ SLPM-65783: region: "NTSC-J" SLPM-65785: name: "なついろ ~星屑のメモリー~ [初回限定版]" - name-sort: "なついろ ほしくずのめもりー しょかいげんていばん" + name-sort: "なついろ ほしくずのめもりー [しょかいげんていばん]" name-en: "Natsuiro - Hoshikuzu no Memory [First Print Limited Edition]" region: "NTSC-J" SLPM-65786: @@ -43031,10 +43371,10 @@ SLPM-65811: SLPM-65812: name: "爆笑!!人生回道 NOVAうさぎが見てるぞ!! [TAITO BEST]" name-sort: "ばくしょう!!じんせいかいどう NOVAうさぎがみてるぞ!! [TAITO BEST]" - name-en: "Bakushou! Jinsei Kaimichi [TAITO BEST]" + name-en: "Bakushou! Jinsei Kaidou - NOVA Usagi ga Miteruzo! [TAITO BEST]" region: "NTSC-J" SLPM-65813: - name: "風雲 幕末伝" + name: "風雲幕末伝" name-sort: "ふううん ばくまつでん" name-en: "Fu-un Bakumatsu Den" region: "NTSC-J" @@ -43052,27 +43392,27 @@ SLPM-65815: SLPM-65816: name: "真・爆走デコトラ伝説 ~天下統一頂上決戦~" name-sort: "しん・ばくそうでことらでんせつ てんかとういつちょうじょうけっせん" - name-en: "Shin Bakusou Dekotora Densetsu" + name-en: "Shin Bakusou Dekotora Densetsu - Tenkatouitsu Choujou Kessen" region: "NTSC-J" SLPM-65817: name: "テニスの王子様 Love of Prince Sweet [コナミ殿堂セレクション]" name-sort: "てにすのおうじさま Love of Prince Sweet [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Love of Prince Sweet [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Love of Prince Sweet [Konami Dendou Selection]" region: "NTSC-J" SLPM-65818: name: "テニスの王子様 Love of Prince Bitter [コナミ殿堂セレクション]" name-sort: "てにすのおうじさま Love of Prince Bitter [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Love of Prince Bitter [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Love of Prince Bitter [Konami Dendou Selection]" region: "NTSC-J" SLPM-65819: name: "テニスの王子様 Kiss of Prince ICE [コナミ殿堂セレクション]" name-sort: "てにすのおうじさま Kiss of Prince ICE [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Kiss of Prince - Ice Version [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Kiss of Prince - Ice Version [Konami Dendou Selection]" region: "NTSC-J" SLPM-65820: name: "テニスの王子様 Kiss of Prince FLAME [コナミ殿堂セレクション]" name-sort: "てにすのおうじさま Kiss of Prince FLAME [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Kiss of Prince - Flame Version [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Kiss of Prince - Flame Version [Konami Dendou Selection]" region: "NTSC-J" SLPM-65821: name: "新世紀勇者大戦" @@ -43092,7 +43432,7 @@ SLPM-65823: SLPM-65824: name: "ビューティフルジョー2 ブラックフィルムの謎" name-sort: "びゅーてぃふるじょー2 ぶらっくふぃるむのなぞ" - name-en: "Viewtiful Joe 2" + name-en: "Viewtiful Joe 2 - Black Film no Nazo" region: "NTSC-J" compat: 5 SLPM-65825: @@ -43120,8 +43460,8 @@ SLPM-65829: - EETimingHack SLPM-65830: name: "イース ~ナピシュテムの匣~ [初回生産版]" - name-sort: "いーす6 なぴしゅてむのはこ しょかいせいさんばん" - name-en: "Ys - The Ark of Napishtim" + name-sort: "いーす6 なぴしゅてむのはこ [しょかいせいさんばん]" + name-en: "Ys - The Ark of Napishtim [Limited Edition]" region: "NTSC-J" gameFixes: - EETimingHack @@ -43258,8 +43598,8 @@ SLPM-65854: name-en: "Red Dead Revolver" region: "NTSC-J" SLPM-65855: - name: "GIRLSブラボー Romance15's DXパック" - name-sort: "がーるずぶらぼー Romance15's DXぱっく" + name: "GIRLSブラボー Romance15's [DXパック]" + name-sort: "がーるずぶらぼー Romance15's [DXぱっく]" name-en: "Girls Bravo - Romance 15's [Deluxe Pack]" region: "NTSC-J" SLPM-65856: @@ -43295,7 +43635,7 @@ SLPM-65861: SLPM-65862: name: "ぴゅあぴゅあ 耳としっぽのものがたり" name-sort: "ぴゅあぴゅあ みみとしっぽのものがたり" - name-en: "Pyua Pyua Mimi Toshippono Monogatari" + name-en: "Pyua Pyua Mimi to Shippo no Monogatari" region: "NTSC-J" SLPM-65863: name: "D1 GRAND PRIX SERIES - PROFESSIONAL DRIFT" @@ -43312,7 +43652,7 @@ SLPM-65864: SLPM-65866: name: "何処へ行くの、あの日 ~光る明日へ…~" name-sort: "どこへいくの あのひ ひかるあしたへ" - name-en: "Doko he Iku no, Anohi" + name-en: "Doko he Iku no, Anohi - Hikaru Ashita e" region: "NTSC-J" SLPM-65867: name: "新世紀エヴァンゲリオン 鋼鉄のガールフレンド2nd" @@ -43369,13 +43709,13 @@ SLPM-65874: name-en: "Simple 2000 Series Vol. 71 - The Fantasy Renai Adventure - Kanojo no Densetsu" region: "NTSC-J" SLPM-65875: - name: "グローランサーⅣ ~ Wayfarer of the time ~ [Atlus Best Collection]" - name-sort: "ぐろーらんさー4 ~ Wayfarer of the time ~ [Atlus Best Collection]" - name-en: "Growlanser IV - Wayfarer of the Time [Atlus The Best]" + name: "グローランサーⅣ ~ Wayfarer of the time ~ [ATLUS BEST COLLECTION]" + name-sort: "ぐろーらんさー4 ~ Wayfarer of the time ~ [ATLUS BEST COLLECTION]" + name-en: "Growlanser IV - Wayfarer of the Time [Atlus Best Collection]" region: "NTSC-J" SLPM-65876: - name: "BUSIN 0 ~Wizardry Alternative NEO~ [Atlus Best Collection]" - name-sort: "ぶしん ぜろ ~うぃざーどりぃ おるたなてぃぶ ねお~ [Atlus Best Collection]" + name: "BUSIN 0 ~Wizardry Alternative NEO~ [ATLUS BEST COLLECTION]" + name-sort: "ぶしん ぜろ ~うぃざーどりぃ おるたなてぃぶ ねお~ [ATLUS BEST COLLECTION]" name-en: "BUSIN 0 ~Wizardry Alternative NEO~ [Atlus Best Collection]" region: "NTSC-J" gsHWFixes: @@ -43410,7 +43750,7 @@ SLPM-65881: SLPM-65882: name: "デュエル・マスターズ ~邪封超龍転生~" name-sort: "でゅえるますたーず ばーす おぶ すーぱーどらごん" - name-en: "Duel Masters" + name-en: "Duel Masters - Birth of Super Dragon" region: "NTSC-J" SLPM-65883: name: "SHADOW OF ROME" @@ -43479,8 +43819,8 @@ SLPM-65892: name-en: "Zill O'll Infinite" region: "NTSC-J" SLPM-65893: - name: "Winning Post6 Maximum 2005 プレミアムパック" - name-sort: "ういにんぐぽすと6 Maximum 2005 ぷれみあむぱっく" + name: "Winning Post6 Maximum 2005 [プレミアムパック]" + name-sort: "ういにんぐぽすと6 Maximum 2005 [ぷれみあむぱっく]" name-en: "Winning Post 6 Maximum 2005 [Premium Pack]" region: "NTSC-J" SLPM-65894: @@ -43519,7 +43859,7 @@ SLPM-65899: SLPM-65900: name: "サクラ大戦3 ~巴里は燃えているか~ [初回プレス版]" name-sort: "さくらたいせん3 ぱりはもえているか [しょかいぷれすばん]" - name-en: "Sakura Taisen 3 - Remake" + name-en: "Sakura Taisen 3 - Remake [Limited Edition]" region: "NTSC-J" compat: 2 SLPM-65901: @@ -43585,7 +43925,7 @@ SLPM-65911: region: "NTSC-J" SLPM-65912: name: "ボボボーボ・ボーボボ ハジけ祭 [HUDSON THE BEST]" - name-sort: "ぼぼぼーぼ ぼーぼぼ はじけまつり [はどそん・ざ・べすと]" + name-sort: "ぼぼぼーぼ ぼーぼぼ はじけまつり [HUDSON THE BEST]" name-en: "Boboboubo Boubobo [Hudson the Best]" region: "NTSC-J" SLPM-65913: @@ -43622,7 +43962,7 @@ SLPM-65916: SLPM-65917: name: "トランスフォーマー [THE BEST タカラモノ]" name-sort: "とらんすふぉーまー [THE BEST たからもの]" - name-en: "Transformers Tatakai [The Best]" + name-en: "Transformers Tatakai [Takara THE BEST]" region: "NTSC-J" SLPM-65918: name: "Dear My Friend ~Love like powdery snow~" @@ -43693,9 +44033,9 @@ SLPM-65929: name-en: "Pro Yakyuu Spirits 2" region: "NTSC-J" SLPM-65930: - name: "EVE burst error PLUS [ゲームビレッジ・ザ・ベスト]" - name-sort: "いヴ ばーすと えらー ぷらす [げーむびれっじ・ざ・べすと]" - name-en: "EVE - Burst Error Plus [GameBridge The Best]" + name: "EVE burst error PLUS [GameVillage The Best]" + name-sort: "いヴ ばーすと えらー ぷらす [GameVillage The Best]" + name-en: "EVE - Burst Error Plus [GameVillage The Best]" region: "NTSC-J" SLPM-65931: name: "新紀幻想スペクトラルソウルズ [IFコレクション]" @@ -43738,8 +44078,8 @@ SLPM-65939: name-en: "Memories Off - After Rain Vol.3" region: "NTSC-J" SLPM-65940: - name: "マビノ×スタイル 初回限定版" - name-sort: "まびのすたいる しょかいげんていばん" + name: "マビノ×スタイル [初回限定版]" + name-sort: "まびのすたいる [しょかいげんていばん]" name-en: "Mabino x Style [Limited Edition]" region: "NTSC-J" SLPM-65941: @@ -43762,9 +44102,9 @@ SLPM-65943: name-en: "Angel's Feather" region: "NTSC-J" SLPM-65944: - name: "ワークジャム ベストコレクション Vol.2 探偵 神宮寺三郎 KIND OF BLUE" - name-sort: "わーくじゃむ べすとこれくしょん Vol.2 たんてい じんぐうじさぶろう KIND OF BLUE" - name-en: "Detective Saburou Jinguiji 9 - Kind of Blue [Workjam Best Collection - Vol.2]" + name: "探偵 神宮寺三郎 KIND OF BLUE [ワークジャム ベストコレクション Vol.2 ]" + name-sort: "たんてい じんぐうじさぶろう KIND OF BLUE [わーくじゃむ べすとこれくしょん Vol.2]" + name-en: "Tantei Jinguuji Saburou - Kind of Blue [Workjam Best Collection - Vol.2]" region: "NTSC-J" SLPM-65945: name: "紅忍 ~血河の舞~" @@ -43793,6 +44133,7 @@ SLPM-65948: gsHWFixes: alignSprite: 1 # Fixes vertical lines. textureInsideRT: 1 # Fixes reflections. + mipmap: 0 # Currently causes texture flickering. gameFixes: - SoftwareRendererFMVHack # Fixes upscale lines in FMVs. SLPM-65949: @@ -43824,13 +44165,13 @@ SLPM-65953: name-en: "Final Fantasy XI [Entry Disc 2005]" region: "NTSC-J" SLPM-65954: - name: "トム・クランシーシリーズ ゴーストリコン [ユービーアイベスト]" - name-sort: "とむくらんしーしりーず ごーすとりこん [ゆーびーあいべすと]" + name: "トム・クランシーシリーズ ゴーストリコン [UBISOFT BEST]" + name-sort: "とむくらんしーしりーず ごーすとりこん [UBISOFT BEST]" name-en: "Tom Clancy's Ghost Recon [Ubisoft Best]" region: "NTSC-J" SLPM-65955: - name: "トム・クランシーシリーズ スプリンターセル [ユービーアイソフトベスト]" - name-sort: "とむくらんしーしりーず すぷりんたーせる [ゆーびーあいそふとべすと]" + name: "トム・クランシーシリーズ スプリンターセル [UBISOFT BEST]" + name-sort: "とむくらんしーしりーず すぷりんたーせる [UBISOFT BEST]" name-en: "Tom Clancy's Splinter Cell [Ubisoft Best]" region: "NTSC-J" SLPM-65957: @@ -43881,7 +44222,7 @@ SLPM-65963: region: "NTSC-J" SLPM-65964: name: "まじかる☆ている ~ちっちゃな魔法使い~ [初回限定版]" - name-sort: "まじかるている ちっちゃなまほうつかい しょかいげんていばん" + name-sort: "まじかるている ちっちゃなまほうつかい [ょかいげんていばん]" name-en: "Magical Tale - Chitchana Mahoutsukai [First Print Limited Edition]" region: "NTSC-J" SLPM-65965: @@ -43900,8 +44241,8 @@ SLPM-65967: name-en: "Spectral Force Chronicle" region: "NTSC-J" SLPM-65968: - name: "らぶドル ~Lovely Idol~ 初回限定版" - name-sort: "らぶどる ~Lovely Idol~ しょかいげんていばん" + name: "らぶドル ~Lovely Idol~ [初回限定版]" + name-sort: "らぶどる ~Lovely Idol~ [しょかいげんていばん]" name-en: "Lovely Doll - Lovely Idol [First Print Limited Edition]" region: "NTSC-J" SLPM-65969: @@ -43912,7 +44253,7 @@ SLPM-65969: SLPM-65970: name: "カッパの飼い方 -How to breed kappas- [コナミ殿堂セレクション]" name-sort: "かっぱのかいかた -How to breed kappas- [こなみでんどうせれくしょん]" - name-en: "Kappa no Kai-Kata - How to Breed Kappas [Konami Palace Selection]" + name-en: "Kappa no Kai-Kata - How to Breed Kappas [Konami Dendou Selection]" region: "NTSC-J" SLPM-65971: name: "そして僕らは、・・・and he said" @@ -43934,7 +44275,7 @@ SLPM-65973: SLPM-65974: name: "喧嘩番長 [初回生産版]" name-sort: "けんかばんちょう [しょかいせいさんばん]" - name-en: "Kenka Banchou" + name-en: "Kenka Banchou [First Limited Edition]" region: "NTSC-J" SLPM-65975: name: "WRC4" @@ -43981,7 +44322,7 @@ SLPM-65978: region: "NTSC-J" SLPM-65980: name: "ドリームミックスTV ワールドファイターズ [HUDSON THE BEST]" - name-sort: "どりーむみっくすTV わーるどふぁいたーず はどそん・ざ・べすと" + name-sort: "どりーむみっくすTV わーるどふぁいたーず [HUDSON THE BEST]" name-en: "Dream Mix TV World Fighters [Hudson the Best]" region: "NTSC-J" SLPM-65981: @@ -44036,14 +44377,14 @@ SLPM-65989: SLPM-65990: name: "NEO CONTRA [コナミ殿堂セレクション]" name-sort: "ねお こんとら [こなみでんどうせれくしょん]" - name-en: "Neo Contra [Konami Palace Selection]" + name-en: "Neo Contra [Konami Dendou Selection]" region: "NTSC-J" roundModes: eeRoundMode: 0 # Reduces FPU calculation errors. clampModes: eeClampMode: 2 # Reduces FPU calculation errors. SLPM-65991: - name: "ANUBIS ZONE OF THE ENDERS SPECIAL EDITION [コナミ殿堂セレクション]" + name: "ANUBIS ZONE OF THE ENDERS -SPECIAL EDITION- [コナミ殿堂セレクション]" name-sort: "あぬびす ぞーん おぶ えんだーず SPECIAL EDITION [こなみでんどうせれくしょん]" name-en: "Anubis - Zone of the Enders Special Edition [KONAMI Dendou Selection]" region: "NTSC-J" @@ -44095,8 +44436,8 @@ SLPM-65999: mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead. texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost. SLPM-66000: - name: "コンフリクトデルタII ~湾岸戦争1991~" - name-sort: "こんふりくとでるたII わんがんせんそう1991" + name: "コンフリクトデルタⅡ ~湾岸戦争1991~" + name-sort: "こんふりくとでるた2 わんがんせんそう1991" name-en: "Conflict Delta II - Gulf War 1991" region: "NTSC-J" gameFixes: @@ -44154,29 +44495,29 @@ SLPM-66009: SLPM-66010: name: "テニスの王子様 Smash Hit! [コナミ殿堂セレクション]" name-sort: "てにすのおうじさま Smash Hit! [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Smash-Hit! [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Smash-Hit! [Konami Dendou Selection]" region: "NTSC-J" SLPM-66011: name: "テニスの王子様 Smash Hit!2 [コナミ殿堂セレクション]" name-sort: "てにすのおうじさま Smash Hit!2 [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Smash-Hit! 2 [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Smash-Hit! 2 [Konami Dendou Selection]" region: "NTSC-J" gsHWFixes: forceEvenSpritePosition: 1 # Fixes screen shake when upscaling. SLPM-66012: name: "テニスの王子様SWEAT&TEARS 2 [コナミ殿堂セレクション]" name-sort: "てにすのおうじさまSWEAT&TEARS 2 [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Sweat & Tears 2 [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Sweat & Tears 2 [Konami Dendou Selection]" region: "NTSC-J" SLPM-66013: name: "テニスの王子様最強チームを結成せよ! [コナミ殿堂セレクション]" name-sort: "てにすのおうじさまさいきょうちーむをけっせいせよ! [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Form the Strongest Team [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Form the Strongest Team [Konami Dendou Selection]" region: "NTSC-J" SLPM-66014: name: "テニスの王子様 RUSH&DREAM! [コナミ殿堂セレクション]" name-sort: "てにすのおうじさま RUSH&DREAM! [こなみでんどうせれくしょん]" - name-en: "Tennis no Oji-Sama - Rush & Dream [Konami Palace Selection]" + name-en: "Tennis no Oji-Sama - Rush & Dream [Konami Dendou Selection]" region: "NTSC-J" SLPM-66015: name: "SuperLite 2000 アドベンチャー 藍より青し" @@ -44388,8 +44729,8 @@ SLPM-66049: name-en: "D.C.P.S. - Da Capo Plus Situation [Kadokawa the Best]" region: "NTSC-J" SLPM-66050: - name: "第三帝国興亡記 II" - name-sort: "だいさんていこくこうぼうき II" + name: "第三帝国興亡記Ⅱ" + name-sort: "だいさんていこくこうぼうき2" name-en: "Daisan Teikoku Koubouki II - Aufstieg und Fall des Dritten Reich" region: "NTSC-J" SLPM-66051: @@ -44714,7 +45055,7 @@ SLPM-66101: gsHWFixes: autoFlush: 2 # Fixes sun luminosity. SLPM-66102: - name: "Zwei!! [TAITO BEST]" + name: "Zwei!! [TAITO BEST]" region: "NTSC-J" gsHWFixes: recommendedBlendingLevel: 2 @@ -44748,7 +45089,7 @@ SLPM-66105: - "SLPM-65599" - "SLPM-65600" SLPM-66106: - name: "星の降る刻 限定版" + name: "星の降る刻 [限定版]" name-sort: "ほしのふるとき [げんていばん]" name-en: "Hoshi no Furu Toki [Limited Edition]" region: "NTSC-J" @@ -44796,8 +45137,8 @@ SLPM-66111: name: "Fushigi no Umi no Nadia - Dennou Battle - Miss Nautilus Contest" region: "NTSC-J" SLPM-66112: - name: "ふしぎの海のナディア 通常版" - name-sort: "ふしぎのうみのなでぃあ" + name: "ふしぎの海のナディア [通常版]" + name-sort: "ふしぎのうみのなでぃあ [つうじょうばん]" name-en: "Fushigi no Umi no Nadia - Inherit the Blue Water [Standard Edition]" region: "NTSC-J" SLPM-66113: @@ -44812,7 +45153,7 @@ SLPM-66114: region: "NTSC-J" SLPM-66115: name: "水の旋律 [通常版]" - name-sort: "みずのせんりつ" + name-sort: "みずのせんりつ [つうじょうばん]" name-en: "Mizu no Senritsu [Standard Edition]" region: "NTSC-J" SLPM-66116: @@ -44930,9 +45271,9 @@ SLPM-66130: halfPixelOffset: 4 # Aligns post effects. nativeScaling: 2 # Fixes post effects. SLPM-66131: - name: "ティム・バートン ナイトメアー・ビフォア・クリスマス ブギーの逆襲 プレミアムパック" - name-sort: "てぃむばーとん ないとめあー びふぉあ くりすます ぶぎーのぎゃくしゅう ぷれみあむぱっく" - name-en: "Tim Burton's The Nightmare Before Christmas [Premium Pack]" + name: "ティム・バートン ナイトメアー・ビフォア・クリスマス ブギーの逆襲 [プレミアムパック]" + name-sort: "てぃむばーとん ないとめあー びふぉあ くりすます ぶぎーのぎゃくしゅう [ぷれみあむぱっく]" + name-en: "Tim Burton's The Nightmare Before Christmas - Oogie no Gyakushuu [Premium Pack]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Aligns post Effect and bloom. @@ -44947,7 +45288,9 @@ SLPM-66132: halfPixelOffset: 4 # Aligns post effects. nativeScaling: 1 # Fixes post effects. SLPM-66133: - name: "Shuffle! On the Stage [Deluxe Pack]" + name: "SHUFFLE! ON THE STAGE [DXパック]" + name-sort: "しゃっふる! おん ざ すてーじ [DXぱっく]" + name-en: "Shuffle! On the Stage [Deluxe Pack]" region: "NTSC-J" SLPM-66134: name: "シャッフル!オン・ザ・ステージ" @@ -44996,7 +45339,7 @@ SLPM-66141: name-en: "Matantei Loki Ragnarok - Mayouga Ushinawareta Hohoemi" region: "NTSC-J" SLPM-66142: - name: "リバース ムーン 限定版" + name: "リバース ムーン [限定版]" name-sort: "りばーす むーん [げんていばん]" name-en: "Rebirth Moon [Limited Edition]" region: "NTSC-J" @@ -45039,7 +45382,7 @@ SLPM-66147: name-en: "めもりーず おふ #5 - Togireta Film" region: "NTSC-J" SLPM-66148: - name: "スター・ウォーズ - バトルフロント - [EA BEST HITS ]" + name: "スター・ウォーズ - バトルフロント - [EA BEST HITS]" name-sort: "すたーうぉーず ばとるふろんと [EA BEST HITS]" name-en: "Star Wars - Battlefront [EA Best Hits]" region: "NTSC-J" @@ -45048,13 +45391,13 @@ SLPM-66148: halfPixelOffset: 4 # Corrects post processing positioning. nativeScaling: 2 # Smooths post processing. SLPM-66149: - name: "しろがねの鳥籠 限定版" + name: "しろがねの鳥籠 [限定版]" name-sort: "しろがねのとりかご [げんていばん]" name-en: "Silver Birdcage [Limited Edition]" region: "NTSC-J" SLPM-66150: - name: "しろがねの鳥籠 通常版" - name-sort: "しろがねのとりかご" + name: "しろがねの鳥籠 [通常版]" + name-sort: "しろがねのとりかご [つうじょうばん]" name-en: "Silver Birdcage [Standard Edition]" region: "NTSC-J" SLPM-66151: @@ -45080,7 +45423,7 @@ SLPM-66153: SLPM-66155: name: "アニメバトル 烈火の炎 FINAL BURNING [コナミ殿堂セレクション]" name-sort: "あにめばとる れっかのほのお FINAL BURNING [こなみでんどうせれくしょん]" - name-en: "Flame of Recca - Final Burning [Konami Palace Selection]" + name-en: "Flame of Recca - Final Burning [Konami Dendou Selection]" region: "NTSC-J" SLPM-66156: name: "メルヘヴン ARM FIGHT DREAM" @@ -45229,8 +45572,8 @@ SLPM-66178: name-en: "Pop'n music 7 [KONAMI The BEST]" region: "NTSC-J" SLPM-66179: - name: "ポップンミュージック 8 コナミザベスト" - name-sort: "ぽっぷんみゅーじっく 8 こなみざ・べすと" + name: "ポップンミュージック 8 [KONAMI The BEST]" + name-sort: "ぽっぷんみゅーじっく 8 [KONAMI The BEST]" name-en: "Pop'n music 8 [KONAMI The BEST]" region: "NTSC-J" SLPM-66180: @@ -45271,7 +45614,7 @@ SLPM-66184: halfPixelOffset: 4 # Fixes misaligned lighting and bloom. bilinearUpscale: 1 # Smooths out bloom. SLPM-66185: - name: "ゲームになったよ!ドクロちゃん~健康診断大作戦~ 限定版" + name: "ゲームになったよ!ドクロちゃん~健康診断大作戦~ [限定版]" name-sort: "げーむになったよ!どくろちゃん けんこうしんだんだいさくせん [げんていばん]" name-en: "Game ni Nattayo! Dokuro-chan [Limited Edition]" region: "NTSC-J" @@ -45375,7 +45718,7 @@ SLPM-66202: region: "NTSC-J" SLPM-66203: name: "フラグメンツ・ブルー [通常版]" - name-sort: "ふらぐめんつ・ぶるー" + name-sort: "ふらぐめんつ・ぶるー [つうじょうばん]" name-en: "Fragments Blue [Standard Edition]" region: "NTSC-J" SLPM-66204: @@ -45387,7 +45730,7 @@ SLPM-66204: vuClampMode: 3 # Missing geometry with microVU. SLPM-66205: name: "フロントミッション5 ~Scars of the War~" - name-sort: "ふろんとみっしょん 5 ~Scars of the War~" + name-sort: "ふろんとみっしょん5 ~Scars of the War~" name-en: "Front Mission 5 - Scars of the War" region: "NTSC-J" compat: 5 @@ -45473,7 +45816,7 @@ SLPM-66217: region: "NTSC-J" SLPM-66218: name: "アイシールド21 ~アメフトやろうぜ!Ya-!Ha-!~" - name-sort: "あいしーるど21 あめふとやろうぜYa-!Ha-!" + name-sort: "あいしーるど21 あめふとやろうぜ!Ya-!Ha-!" name-en: "Eyeshield 21 Amefoot Yarouze! Ya-!Ha-!" region: "NTSC-J" SLPM-66219: @@ -45655,7 +45998,7 @@ SLPM-66240: region: "NTSC-J" SLPM-66241: name: "実戦パチンコ必勝法! CR 北斗の拳" - name-sort: "じっせんぱちんこひっしょうほう CR ほくとのけん" + name-sort: "じっせんぱちんこひっしょうほう! CR ほくとのけん" name-en: "Jissen Pachinko Hisshouhou! CR Hokuto no Ken" region: "NTSC-J" SLPM-66242: @@ -45690,8 +46033,8 @@ SLPM-66246: gsHWFixes: minimumBlendingLevel: 3 # Fixes broken effect rendering. SLPM-66247: - name: "マイネリーベII ~誇りと正義と愛~" - name-sort: "まいねりーべII ほこりとせいぎとあい" + name: "マイネリーベⅡ ~誇りと正義と愛~" + name-sort: "まいねりーべ2 ほこりとせいぎとあい" name-en: "Meine Liebe II - Hokori to Seigi to Ai" region: "NTSC-J" SLPM-66248: @@ -45712,9 +46055,9 @@ SLPM-66249: gsHWFixes: moveHandler: "MV_Growlanser" # Fixes precomputed depth buffer. SLPM-66250: - name: "ATLUS BEST COLLECTION チョロQHG4" - name-sort: "ATLUS BEST COLLECTION ちょろQHG4" - name-en: "Choro Q HG 4 [Takara Best]" + name: "チョロQHG4 [ATLUS BEST COLLECTION]" + name-sort: "ちょろQHG4 [ATLUS BEST COLLECTION]" + name-en: "Choro Q HG 4 [Atlus Best Collection]" region: "NTSC-J" SLPM-66251: name: "EX人生ゲームⅡ [ATLUS BEST COLLECTION]" @@ -45732,13 +46075,13 @@ SLPM-66252: halfPixelOffset: 4 # Fixes bloom misalignment. nativeScaling: 2 # Fixes post effects. SLPM-66253: - name: "ふぁいなりすと 初回限定版" - name-sort: "ふぁいなりすと しょかいげんていばん" + name: "ふぁいなりすと [初回限定版]" + name-sort: "ふぁいなりすと [しょかいげんていばん]" name-en: "Finalist [First Print Limited Edition]" region: "NTSC-J" SLPM-66254: - name: "ふぁいなりすと 通常版" - name-sort: "ふぁいなりすと" + name: "ふぁいなりすと [通常版]" + name-sort: "ふぁいなりすと [つうじょうばん]" name-en: "Finalist [Standard Edition]" region: "NTSC-J" SLPM-66255: @@ -45762,6 +46105,7 @@ SLPM-66257: gsHWFixes: alignSprite: 1 # Fixes vertical lines. textureInsideRT: 1 # Fixes reflections. + mipmap: 0 # Currently causes texture flickering. gameFixes: - SoftwareRendererFMVHack # Fixes upscale lines in FMVs. SLPM-66258: @@ -45770,7 +46114,7 @@ SLPM-66258: name-en: "Magic Teacher Negima - Honor Version [KONAMI The BEST]" region: "NTSC-J" SLPM-66259: - name: "魔法先生ネギま! 2時間目 戦う乙女たち!麻帆良大運動会SP! [KONAM the Best]" + name: "魔法先生ネギま! 2時間目 戦う乙女たち!麻帆良大運動会SP! [KONAMI the Best]" name-sort: "まほうせんせいねぎま! 2じかんめ たたかうおとめたち!まほらだいうんどうかいSP! [KONAMI The BEST]" name-en: "Mahou Sensei Negima! Silver Medal [KONAMI The BEST]" region: "NTSC-J" @@ -45789,9 +46133,9 @@ SLPM-66261: autoFlush: 2 # Fixes misaligned bloom on sun. nativeScaling: 2 # Fixes post effects. SLPM-66262: - name: "トム・クランシーシリーズ レインボーシックス3 [ユービーアイソフトベスト]" - name-sort: "とむくらんしーしりーず れいんぼーしっくす3 [ゆーびーあいそふとべすと]" - name-en: "Tom Clancy's Rainbow Six 3 [Ubisoft The Best]" + name: "トム・クランシーシリーズ レインボーシックス3 [UBISOFT BEST]" + name-sort: "とむくらんしーしりーず れいんぼーしっくす3 [UBISOFT BEST]" + name-en: "Tom Clancy's Rainbow Six 3 [Ubisoft Best]" region: "NTSC-J" SLPM-66263: name: "フル スペクトラム ウォリアー" @@ -45807,7 +46151,7 @@ SLPM-66264: region: "NTSC-J" SLPM-66265: name: "Canvas2 ~虹色のスケッチ~ [通常版]" - name-sort: "きゃんばす2 ~にじいろのすけっち~" + name-sort: "きゃんばす2 ~にじいろのすけっち~ [つうじょうばん]" name-en: "Canvas 2 - Nijiiro no Sketch [Standard Edition]" region: "NTSC-J" SLPM-66266: @@ -45828,13 +46172,13 @@ SLPM-66268: gsHWFixes: textureInsideRT: 1 # Fixes Hollywood Hulk Hogan's entrance and slow-mo finisher. SLPM-66269: - name: "ブレイジング ソウルズ 限定版" + name: "ブレイジング ソウルズ [限定版]" name-sort: "ぶれいじんぐ そうるず [げんていばん]" name-en: "Blazing Souls [Limited Edition]" region: "NTSC-J" SLPM-66270: - name: "ブレイジング ソウルズ 通常版" - name-sort: "ぶれいじんぐ そうるず" + name: "ブレイジング ソウルズ [通常版]" + name-sort: "ぶれいじんぐ そうるず [つうじょうばん]" name-en: "Blazing Souls [Standard Edition]" region: "NTSC-J" SLPM-66271: @@ -45949,7 +46293,7 @@ SLPM-66284: region: "NTSC-J" SLPM-66285: name: "プリンセスコンチェルト [通常版]" - name-sort: "ぷりんせすこんちぇると" + name-sort: "ぷりんせすこんちぇると [つうじょうばん]" name-en: "Princess Concerto [Standard Edition]" region: "NTSC-J" SLPM-66286: @@ -46000,7 +46344,7 @@ SLPM-66294: name-en: "Sotsugyou 2nd Generation" region: "NTSC-J" SLPM-66295: - name: "闇夜にささやく ~探偵 相楽恭一郎~ 限定版" + name: "闇夜にささやく ~探偵 相楽恭一郎~ [限定版]" name-sort: "やみよにささやく ~たんてい さがらきょういちろう~ [げんていばん]" name-en: "Yamiyo ni Sasayaku - Tantei Sagara Kyouichirou [Limited Edition]" region: "NTSC-J" @@ -46012,8 +46356,8 @@ SLPM-66295: // This patch skips over the stack code, allowing the game to boot. patch=1,EE,00156888,word,10000003 SLPM-66296: - name: "闇夜にささやく ~探偵 相楽恭一郎~ 通常版" - name-sort: "やみよにささやく ~たんてい さがらきょういちろう~" + name: "闇夜にささやく ~探偵 相楽恭一郎~ [通常版]" + name-sort: "やみよにささやく ~たんてい さがらきょういちろう~ [つうじょうばん]" name-en: "Yamiyo ni Sasayaku - Tantei Sagara Kyouichirou [Standard Edition]" region: "NTSC-J" patches: @@ -46024,13 +46368,13 @@ SLPM-66296: // This patch skips over the stack code, allowing the game to boot. patch=1,EE,00156888,word,10000003 SLPM-66297: - name: "セパレイトハーツ 限定版" + name: "セパレイトハーツ [限定版]" name-sort: "せぱれいとはーつ [げんていばん]" name-en: "Separate Hearts [Limited Edition]" region: "NTSC-J" SLPM-66298: - name: "セパレイトハーツ 通常版" - name-sort: "せぱれいとはーつ" + name: "セパレイトハーツ [通常版]" + name-sort: "せぱれいとはーつ [つうじょうばん]" name-en: "Separate Hearts [Standard Edition]" region: "NTSC-J" SLPM-66299: @@ -46146,8 +46490,8 @@ SLPM-66318: name-en: "Haru no Ashioto - Step of Spring" region: "NTSC-J" SLPM-66319: - name: "新コンバットチョロQ アトラス・ベストコレクション" - name-sort: "しんこんばっとちょろQ [あとらす べすとこれくしょん]" + name: "新コンバットチョロQ [ATLUS BEST COLLECTION]" + name-sort: "しんこんばっとちょろQ [ATLUS BEST COLLECTION]" name-en: "New Choro Q [Atlus Best Collection]" region: "NTSC-J" SLPM-66320: @@ -46189,7 +46533,7 @@ SLPM-66324: SLPM-66325: name: "キャッスルヴァニア [コナミ殿堂セレクション]" name-sort: "きゃっするゔぁにあ [こなみでんどうせれくしょん]" - name-en: "Castlevania [Konami Palace Selection]" + name-en: "Castlevania [Konami Dendou Selection]" region: "NTSC-J" clampModes: eeClampMode: 3 # Fixes cutscene freezes. @@ -46226,7 +46570,7 @@ SLPM-66329: gameFixes: - XGKickHack # Fixes rendering problems. SLPM-66330: - name: "ときめきメモリアル Girl's Side 2nd Kiss 初回生産版" + name: "ときめきメモリアル Girl's Side 2nd Kiss [初回生産版]" name-sort: "ときめきめもりある がーるずさいど 2nd Kiss [しょかいせいさんばん]" name-en: "Tokimeki Memorial - Girl's Side - 2nd Kiss" region: "NTSC-J" @@ -46236,8 +46580,8 @@ SLPM-66331: name-en: "Kouenji Onago Soccer [1st Stage Limited Edition]" region: "NTSC-J" SLPM-66332: - name: "高円寺女子サッカー 通常版" - name-sort: "こうえんじじょしさっかー" + name: "高円寺女子サッカー [通常版]" + name-sort: "こうえんじじょしさっかー [つうじょうばん]" name-en: "Kouenji Onago Soccer [Standard Edition]" region: "NTSC-J" SLPM-66333: @@ -46271,12 +46615,12 @@ SLPM-66334: roundModes: eeRoundMode: 2 # Fixes rainbow highlighting on cars. SLPM-66335: - name: "いちご100% ストロベリーダイアリー [トミコレベスト]" - name-sort: "いちご100ぱーせんと すとろべりーだいありー [とみこれべすと]" + name: "いちご100% ストロベリーダイアリー [TOMY Best Collection]" + name-sort: "いちご100ぱーせんと すとろべりーだいありー [TOMY Best Collection]" name-en: "Ichigo 100% Strawberry Diary [Tomy Best Collection]" region: "NTSC-J" SLPM-66336: - name: "新世紀エヴァンゲリオン 鋼鉄のガールフレンド<特別編>" + name: "新世紀エヴァンゲリオン 鋼鉄のガールフレンド [特別編]" name-sort: "しんせいきえゔぁんげりおん こうてつのがーるふれんど [とくべつへん]" name-en: "Shinseiki Evangelion - Koutetsu no Girlfriend [Special Edition]" region: "NTSC-J" @@ -46516,7 +46860,7 @@ SLPM-66380: region: "NTSC-J" SLPM-66381: name: "蜜×蜜ドロップス LOVE×LOVE HONEY LIFE [通常版]" - name-sort: "みつみつどろっぷす LOVE×LOVE HONEY LIFE" + name-sort: "みつみつどろっぷす LOVE×LOVE HONEY LIFE [つうじょうばん]" name-en: "Mitsu x Mitsu Drops - Love x Love Honey Life [Standard Edition]" region: "NTSC-J" patches: @@ -47033,7 +47377,7 @@ SLPM-66462: halfPixelOffset: 4 # Aligns post effects. nativeScaling: 2 # Fixes post effects. SLPM-66463: - name: "デフジャム・ファイト・フォー・NY [PlayStation2 the Best]" + name: "デフジャム・ファイト・フォー・NY [PlayStation2 the Best]" name-sort: "でふじゃむ・ふぁいと・ふぉー・NY [PlayStation2 the Best]" name-en: "Def Jam - Fight for NY [PlayStation2 the Best]" region: "NTSC-J" @@ -47074,7 +47418,7 @@ SLPM-66469: region: "NTSC-J" SLPM-66470: name: "「ラブ★コン ~パンチDEコント~」[通常版]" - name-sort: "らぶこん ぱんちでこんと" + name-sort: "らぶこん ぱんちでこんと [つうじょうばん]" name-en: "Love-Com - Punch de Court [Standard Edition]" region: "NTSC-J" compat: 5 @@ -47113,7 +47457,7 @@ SLPM-66474: SLPM-66475: name: "実戦パチスロ必勝法! 北斗の拳SE [通常版]" name-sort: "じっせんぱちすろひっしょうほう! ほくとのけんSE [つうじょうばん]" - name-en: "Jissen Pachi-Slot Hisshouhou! Hokuto no Ken SE [Standard]" + name-en: "Jissen Pachi-Slot Hisshouhou! Hokuto no Ken SE [Standard Edition]" region: "NTSC-J" SLPM-66476: name: "実戦パチンコ必勝法! CR サラリーマン金太郎" @@ -47214,7 +47558,7 @@ SLPM-66489: region: "NTSC-J" SLPM-66491: name: "あやかしびと -幻妖異聞録- [通常版]" - name-sort: "あやかしびと げんよういぶんろく" + name-sort: "あやかしびと げんよういぶんろく [つうじょうばん]" name-en: "Ayakashi-bito - Gen'you Ibunroku [Standard Edition]" region: "NTSC-J" gsHWFixes: @@ -47232,7 +47576,7 @@ SLPM-66493: name-en: "Shinten Makai - Generation of Chaos V [Idea Factory Collection]" region: "NTSC-J" SLPM-66494: - name: "女子高生 GAME'S-HIGH! 限定版" + name: "女子高生 GAME'S-HIGH! [限定版]" name-sort: "じょしこうせい GAME'S-HIGH! [げんていばん]" name-en: "Joshikousei Game's High! [Limited Edition]" region: "NTSC-J" @@ -47249,9 +47593,9 @@ SLPM-66495: // This patch skips over the stack code, allowing the game to boot. patch=1,EE,00149F18,word,10000003 SLPM-66496: - name: "ユービーアイソフト ベスト トム・クランシーシリーズ スプリンターセル カオスセオリー" - name-sort: "とむくらんしーしりーず すぷりんたーせる かおすせおりー [ゆーびーあいそふと べすと]" - name-en: "Tom Clancy's Splinter Cell - Chaos Theory" + name: "トム・クランシーシリーズ スプリンターセル カオスセオリー [UBISOFT BEST]" + name-sort: "とむくらんしーしりーず すぷりんたーせる かおすせおりー [UBISOFT BEST]" + name-en: "Tom Clancy's Splinter Cell - Chaos Theory [Ubisoft Best]" region: "NTSC-J" gsHWFixes: minimumBlendingLevel: 4 # Fixes missing lights especially in NVGs. @@ -47383,7 +47727,7 @@ SLPM-66514: halfPixelOffset: 2 # Fixes misaligned blur. nativeScaling: 2 # Fixes bloom misaligment. SLPM-66515: - name: "スター・ウォーズ - エピソードⅢ シスの復讐 - [EA BEST HITS ]" + name: "スター・ウォーズ - エピソードⅢ シスの復讐 - [EA BEST HITS]" name-sort: "すたーうぉーず えぴそーど3 しすのふくしゅう [EA BEST HITS]" name-en: "Star Wars - Episode III - Sith no Fukushuu [EA Best Hits]" region: "NTSC-J" @@ -47415,13 +47759,13 @@ SLPM-66519: name-en: "Gakuen Heaven - Boy's Love Scramble! [Best Version]" region: "NTSC-J" SLPM-66520: - name: "バイオハザード コード:ベロニカ 完全版 プレミアムパック" - name-sort: "ばいおはざーど こーど:べろにか かんぜんばん ぷれみあむぱっく" + name: "バイオハザード コード:ベロニカ 完全版 [プレミアムパック]" + name-sort: "ばいおはざーど こーど:べろにか かんぜんばん [ぷれみあむぱっく]" name-en: "BioHazard - Code Veronica [Premium Box]" region: "NTSC-J" SLPM-66521: - name: "タイトーメモリーズ 下巻 TAITO BEST" - name-sort: "たいとーめもりーず げかん TAITO BEST" + name: "タイトーメモリーズ 下巻 [TAITO BEST]" + name-sort: "たいとーめもりーず げかん [TAITO BEST]" name-en: "Taito Memories Vol.2 [TAITO BEST]" region: "NTSC-J" compat: 5 @@ -47471,7 +47815,7 @@ SLPM-66530: name-en: "Gift Prism [Standard Edition]" region: "NTSC-J" SLPM-66531: - name: "水の旋律2~緋の記憶~ 限定版" + name: "水の旋律2~緋の記憶~ [限定版]" name-sort: "みずのせんりつ2 ひのきおく [げんていばん]" name-en: "Mizu no Senritsu 2 [Limited Edition]" region: "NTSC-J" @@ -47486,13 +47830,13 @@ SLPM-66533: name-en: "Pop'n music 13 Carnival" region: "NTSC-J" SLPM-66534: - name: "龍刻 Ryu-Koku 限定版" + name: "龍刻 Ryu-Koku [限定版]" name-sort: "りゅうこく [げんていばん]" name-en: "Ryu Koku [Limited Edition]" region: "NTSC-J" SLPM-66535: - name: "龍刻 Ryu-Koku 通常版" - name-sort: "りゅうこく" + name: "龍刻 Ryu-Koku [通常版]" + name-sort: "りゅうこく [つうじょうばん]" name-en: "Ryu Koku [Standard Edition]" region: "NTSC-J" SLPM-66536: @@ -47501,8 +47845,8 @@ SLPM-66536: name-en: "Aria - The Natural - Tooi Yume no Mirage" region: "NTSC-J" SLPM-66537: - name: "ガスト ベスト プライス イリスのアトリエ エターナルマナ2" - name-sort: "いりすのあとりえ えたーなるまな2 [がすと べすと ぷらいす]" + name: "ガスト Best Price イリスのアトリエ エターナルマナ2" + name-sort: "いりすのあとりえ えたーなるまな2 [がすと Best Price]" name-en: "Iris no Atelier - Eternal Mana 2 [Gust Best Price]" region: "NTSC-J" gameFixes: @@ -47603,7 +47947,7 @@ SLPM-66558: nativeScaling: 1 # Fixes post processing. halfPixelOffset: 4 # Fixes offset post processing. SLPM-66559: - name: "Winning Post6 [コーエー定番シリーズ]" + name: "Winning Post6 [コーエー定番シリーズ]" name-sort: "うぃにんぐぽすと6 [こーえーていばんしりーず]" name-en: "Winning Post 6 [KOEI Selection]" region: "NTSC-J" @@ -47677,16 +48021,16 @@ SLPM-66567: roundSprite: 1 # Reduces misaligned bloom. mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun. SLPM-66568: - name: "ユービーアイソフト ベスト ブラザー イン アームズ ロード トゥ ヒル サーティ" - name-sort: "ぶらざー いん あーむず ろーど とぅ ひる さーてぃ [ゆーびーあいそふと べすと]" + name: "ブラザー イン アームズ ロード トゥ ヒル サーティ [UBISOFT BEST]" + name-sort: "ぶらざー いん あーむず ろーど とぅ ひる さーてぃ [UBISOFT BEST]" name-en: "Brothers in Arms - Road to Hill 30 [Ubisoft Best]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Reduces ghosting on objects though some still remains. recommendedBlendingLevel: 3 # Fixes ground shading. SLPM-66569: - name: "シークレット・オブ・エヴァンゲリオン 通常版" - name-sort: "しーくれっと おぶ えゔぁんげりおん" + name: "シークレット・オブ・エヴァンゲリオン [通常版]" + name-sort: "しーくれっと おぶ えゔぁんげりおん [つうじょうばん]" name-en: "Secret of Evangelion [Standard Edition]" region: "NTSC-J" gsHWFixes: @@ -47734,9 +48078,9 @@ SLPM-66576: region: "NTSC-J" compat: 5 SLPM-66577: - name: "グラディエーター ~ロード トゥー フリーダム REMIX~ [アーテインベスト]" - name-sort: "ぐらでぃえーたー ~ろーど とぅー ふりーだむ りみっくす~ [あーていんべすと]" - name-en: "Gladiator - Road to Freedom Remix [ErtAin the Best]" + name: "グラディエーター ~ロード トゥー フリーダム REMIX~ [ERTAIN BEST]" + name-sort: "ぐらでぃえーたー ~ろーど とぅー ふりーだむ りみっくす~ [ERTAIN BEST]" + name-en: "Gladiator - Road to Freedom Remix [ErtAin Best]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Aligns post effects. @@ -47747,7 +48091,7 @@ SLPM-66578: name-en: "Shin Sangoku Musou 3 - Empires [Shin Sangoku Musou Series Collection Gekan]" region: "NTSC-J" SLPM-66579: - name: "真・三國無双4 [真・三國無双シリーズコレクション 下巻]" + name: "真・三國無双4 [真・三國無双シリーズコレクション 下巻]" name-sort: "しんさんごくむそう4 [しんさんごくむそうしりーずこれくしょん 02 げかん]" name-en: "Shin Sangoku Musou 4 [Shin Sangoku Musou Series Collection Gekan]" region: "NTSC-J" @@ -47762,8 +48106,8 @@ SLPM-66581: name-en: "Shin Sangoku Musou 4 - Empires [Shin Sangoku Musou Series Collection Gekan]" region: "NTSC-J" SLPM-66582: - name: "仔羊捕獲ケーカク! スイートボーイズライフ 初回限定版" - name-sort: "こひつじほかくけーかく! すいーとぼーいずらいふ しょかいげんていばん" + name: "仔羊捕獲ケーカク! スイートボーイズライフ [初回限定版]" + name-sort: "こひつじほかくけーかく! すいーとぼーいずらいふ [しょかいげんていばん]" name-en: "Kohitsuji Hokaku Keikaku! Sweet Boys Life [Limited Edition]" region: "NTSC-J" patches: @@ -47774,8 +48118,8 @@ SLPM-66582: // This patch skips over the stack code, allowing the game to boot. patch=1,EE,0014A148,word,10000003 SLPM-66583: - name: "仔羊捕獲ケーカク! スイートボーイズライフ 通常版" - name-sort: "こひつじほかくけーかく! すいーとぼーいずらいふ" + name: "仔羊捕獲ケーカク! スイートボーイズライフ [通常版]" + name-sort: "こひつじほかくけーかく! すいーとぼーいずらいふ [つうじょうばん]" name-en: "Kohitsuji Hokaku Keikaku! Sweet Boys Life [Standard Edition]" region: "NTSC-J" SLPM-66584: @@ -47855,8 +48199,8 @@ SLPM-66595: name-en: "J-League Winning Eleven 10 - Europa League '06-'07" region: "NTSC-J" SLPM-66596: - name: "テニスの王子様 学園祭の王子様 コナミザベスト" - name-sort: "てにすのおうじさま がくえんさいのおうじさま こなみざ・べすと" + name: "テニスの王子様 学園祭の王子様 [KONAMI The BEST]" + name-sort: "てにすのおうじさま がくえんさいのおうじさま [KONAMI The BEST]" name-en: "Prince of Tennis - Gakuensai no Oji-sama [KONAMI The BEST]" region: "NTSC-J" SLPM-66597: @@ -47899,7 +48243,7 @@ SLPM-66602: SLPM-66603: name: "龍が如く2 [予告DVD同梱版]" name-sort: "りゅうがごとく2 [よこくDVDどうこんばん]" - name-en: "Ryu ga Gotoku 2 [With Trailer DVD]" + name-en: "Ryu ga Gotoku 2 [with Trailer DVD]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Helps align bloom. @@ -47920,13 +48264,13 @@ SLPM-66605: name-en: "Castle Fantasia - Arihato Senki" region: "NTSC-J" SLPM-66606: - name: "ホワイトブレス~絆~ 限定版" + name: "ホワイトブレス~絆~ [限定版]" name-sort: "ほわいとぶれす~きずな~ [げんていばん]" name-en: "White Breath - Kizuna [First Print Limited Edition]" region: "NTSC-J" SLPM-66607: - name: "ホワイトブレス~絆~ 通常版" - name-sort: "ほわいとぶれす~きずな~" + name: "ホワイトブレス~絆~ [通常版]" + name-sort: "ほわいとぶれす~きずな~ [つうじょうばん]" name-en: "White Breath - Kizuna [Standard Edition]" region: "NTSC-J" SLPM-66608: @@ -47952,9 +48296,9 @@ SLPM-66611: gsHWFixes: cpuCLUTRender: 1 # Fixes Colours. SLPM-66612: - name: "すくぅ~る らぶっ!~恋と希望のメトロノーム~ 初回限定版" - name-sort: "すくぅーる らぶっ! こいときぼうのめとろのーむ しょかいげんていばん" - name-en: "School Love [Limited Edition]" + name: "すくぅ~る らぶっ!~恋と希望のメトロノーム~ [初回限定版]" + name-sort: "すくぅーる らぶっ! こいときぼうのめとろのーむ [しょかいげんていばん]" + name-en: "School Love [First Limited Edition]" region: "NTSC-J" SLPM-66613: name: "メダル・オブ・オナー ~史上最大の作戦~ & メダル・オブ・オナー ~ライジングサン~ [EA BEST HITS]" @@ -48004,8 +48348,8 @@ SLPM-66621: name-en: "Beatmania II DX 12 HAPPY SKY" region: "NTSC-J" SLPM-66622: - name: "トム・クランシーシリーズ ゴーストリコン2 [ユービーアイソフト ベスト ]" - name-sort: "とむくらんしーしりーず ごーすとりこん2 [ゆーびーあいそふと べすと]" + name: "トム・クランシーシリーズ ゴーストリコン2 [UBISOFT BEST]" + name-sort: "とむくらんしーしりーず ごーすとりこん2 [UBISOFT BEST]" name-en: "Tom Clancy's Ghost Recon 2 [Ubisoft Best]" region: "NTSC-J" SLPM-66623: @@ -48021,7 +48365,7 @@ SLPM-66624: SLPM-66625: name: "とらぶるふぉうちゅん COMPANY★はぴCURE [初回限定版]" name-sort: "とらぶるふぉうちゅん COMPANY はぴCURE [しょかいげんていばん]" - name-en: "Trouble Fortune Company - HapiCure [Limited Edition]" + name-en: "Trouble Fortune Company - HapiCure [First Limited Edition]" region: "NTSC-J" SLPM-66626: name: "とらぶるふぉうちゅん COMPANY★はぴCURE [通常版]" @@ -48056,13 +48400,13 @@ SLPM-66629: nativeScaling: 2 # Fixes post processing. recommendedBlendingLevel: 4 # Fixes missing light brightness. SLPM-66630: - name: "メルヘヴン ARM FIGHT DREAM [KONAM the Best]" - name-sort: "めるへゔん ARM FIGHT DREAM [KONAM the Best]" + name: "メルヘヴン ARM FIGHT DREAM [KONAMI the Best]" + name-sort: "めるへゔん ARM FIGHT DREAM [KONAMI the Best]" name-en: "Melheaven - Arm Fight Dream [KONAMI The BEST]" region: "NTSC-J" SLPM-66631: - name: "極上生徒会 [KONAM the Best]" - name-sort: "ごくじょうせいとかい [KONAM the Best]" + name: "極上生徒会 [KONAMI the Best]" + name-sort: "ごくじょうせいとかい [KONAMI the Best]" name-en: "Gokujou Seitokai [KONAMI The BEST]" region: "NTSC-J" SLPM-66632: @@ -48076,8 +48420,8 @@ SLPM-66633: name-en: "Shoujo Mahou Gaku Little Witch Romanesque" region: "NTSC-J" SLPM-66634: - name: "デビルサマナー 葛葉ライドウ対超力兵団 ATLUS BEST COLLECTION" - name-sort: "でびるさまなー くずのはらいどうたいちょうりきへいだん ATLUS BEST COLLECTION" + name: "デビルサマナー 葛葉ライドウ対超力兵団 [ATLUS BEST COLLECTION]" + name-sort: "でびるさまなー くずのはらいどうたいちょうりきへいだん [ATLUS BEST COLLECTION]" name-en: "Devil Summoner - Kuzunoha Raidou tai Chouriki Heidan [Atlus Best Collection]" region: "NTSC-J" gsHWFixes: @@ -48111,7 +48455,7 @@ SLPM-66638: nativeScaling: 2 # Fixes post processing. beforeDraw: "OI_HauntingGround" # Fix bloom. SLPM-66639: - name: "ストリートファイターIII 3rd STRIKE Fight for the future [カプコレ]" + name: "ストリートファイターⅢ 3rd STRIKE Fight for the future [カプコレ]" name-sort: "すとりーとふぁいたー3 3rd STRIKE Fight for the future [かぷこれ]" name-en: "Street Fighter III - 3rd Strike [Capcom the Best]" region: "NTSC-J" @@ -48273,13 +48617,13 @@ SLPM-66664: name-en: "Full House Kiss 2 [CapColle]" region: "NTSC-J" SLPM-66667: - name: "マイネリーベII ~誇りと正義と愛~ コナミ殿堂セレクション" - name-sort: "まいねりーべ2 ほこりとせいぎとあい こなみでんどうせれくしょん" - name-en: "Meine Liebe II [Konami Palace Selection]" + name: "マイネリーベⅡ ~誇りと正義と愛~ [コナミ殿堂セレクション]" + name-sort: "まいねりーべ2 ほこりとせいぎとあい [こなみでんどうせれくしょん]" + name-en: "Meine Liebe II [Konami Dendou Selection]" region: "NTSC-J" SLPM-66668: - name: "悪魔城ドラキュラ 闇の呪印 [KONAM the Best]" - name-sort: "あくまじょうどらきゅら やみのじゅいん [KONAM the Best]" + name: "悪魔城ドラキュラ 闇の呪印 [KONAMI the Best]" + name-sort: "あくまじょうどらきゅら やみのじゅいん [KONAMI the Best]" name-en: "Akumajo Dracula - Yami no Juin [KONAMI The BEST]" region: "NTSC-J" clampModes: @@ -48299,8 +48643,8 @@ SLPM-66669: name-en: "Prince of Tennis, The - Card Hunter [First Print Limited Edition]" region: "NTSC-J" SLPM-66670: - name: "STELLA DEUS ATLUS BEST COLLECTION" - name-sort: "STELLA DEUS ATLUS BEST COLLECTION" + name: "STELLA DEUS [ATLUS BEST COLLECTION]" + name-sort: "STELLA DEUS [ATLUS BEST COLLECTION]" name-en: "Stella Deus [Best Version]" region: "NTSC-J" SLPM-66671: @@ -48319,9 +48663,9 @@ SLPM-66672: halfPixelOffset: 4 # Aligns post effects. nativeScaling: 2 # Fixes post effects. SLPM-66673: - name: "プリンス・オブ・ペルシャ ケンシ ノ ココロ [ユービーアイソフトベスト]" - name-sort: "ぷりんす おぶ ぺるしゃ けんし の こころ [ゆーびーあいそふとべすと]" - name-en: "Prince of Persia - Warrior Within [Ubisoft the Best]" + name: "プリンス・オブ・ペルシャ ケンシ ノ ココロ [UBISOFT BEST]" + name-sort: "ぷりんす おぶ ぺるしゃ けんし の こころ [UBISOFT BEST]" + name-en: "Prince of Persia - Warrior Within [Ubisoft Best]" region: "NTSC-J" gsHWFixes: autoFlush: 2 # Reduces post-processing misalignment. @@ -48336,7 +48680,7 @@ SLPM-66674: vuClampMode: 2 # Fixes black textures on characters. SLPM-66675: name: "キングダム ハーツ Ⅱ - ファイナル ミックス+ [通常版] [ディスク 1]" - name-sort: "きんぐだむ はーつ2 - ふぁいなる みっくす ぷらす01 [つうじょうばん] [でぃすく 1]" + name-sort: "きんぐだむ はーつ2 - ふぁいなる みっくすぷらす01 [つうじょうばん] [でぃすく 1]" name-en: "Kingdom Hearts II - Final Mix + [Standard Edition] [Disc 1]" region: "NTSC-J" gsHWFixes: @@ -48351,7 +48695,7 @@ SLPM-66675: - "SLPM-66676" SLPM-66676: name: "キングダム ハーツ Ⅱ - Re:Chain of Memories [通常版] [ディスク 2]" - name-sort: "きんぐだむ はーつ2 - ふぁいなる みっくす ぷらす02 Re:Chain of Memories [つうじょうばん] [でぃすく 2]" + name-sort: "きんぐだむ はーつ2 - ふぁいなる みっくすぷらす02 Re:Chain of Memories [つうじょうばん] [でぃすく 2]" name-en: "Kingdom Hearts II - Re:Chain of Memories [Standard Edition] [Disc 2]" region: "NTSC-J" compat: 5 @@ -48405,9 +48749,9 @@ SLPM-66681: gsHWFixes: halfPixelOffset: 4 # Fixes bilinear on lighting effects. SLPM-66683: - name: "デビルサマナー 葛葉ライドウ 対 アバドン王 初回生産版" - name-sort: "でびるさまなー くずのはらいどう たい あばどんおう しょかいせいさんばん" - name-en: "Devil Summoner - Kuzunoha Raidou tai Abaddon Ou" + name: "デビルサマナー 葛葉ライドウ 対 アバドン王 [初回生産版]" + name-sort: "でびるさまなー くずのはらいどう たい あばどんおう [しょかいせいさんばん]" + name-en: "Devil Summoner - Kuzunoha Raidou tai Abaddon Ou [First Limited Edition]" region: "NTSC-J" memcardFilters: - "SLPM-66679" @@ -48497,7 +48841,7 @@ SLPM-66696: SLPM-66697: name: "ティム・バートン ナイトメアー・ビフォア・クリスマス ブギーの逆襲 [カプコレ]" name-sort: "てぃむ・ばーとん ないとめあー・びふぉあ・くりすます ぶぎーのぎゃくしゅう [かぷこれ]" - name-en: "Nightmare Before Christmas, The [CapColle]" + name-en: "Tim Burton's The Nightmare Before Christmas - Oogie no Gyakushuu [CapColle]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 2 # Aligns post Effect and bloom. @@ -48529,8 +48873,8 @@ SLPM-66702: name-en: "Winning Post 7 Maximum 2007" region: "NTSC-J" SLPM-66703: - name: "レーシングゲーム「注意!!!!」 [KONAM the Best]" - name-sort: "れーしんぐげーむ「ちゅうい!!!!」 [KONAM the Best]" + name: "レーシングゲーム「注意!!!!」 [KONAMI the Best]" + name-sort: "れーしんぐげーむ「ちゅうい!!!!」 [KONAMI the Best]" name-en: "Racing Game - Chuui!!!! [KONAMI The BEST]" region: "NTSC-J" gsHWFixes: @@ -48554,8 +48898,8 @@ SLPM-66707: name-en: "Yukinko Daisenpuu - Sayuki to Koyuki no Hie Hie Daisoudou" region: "NTSC-J" SLPM-66708: - name: "ブラザー イン アームズ 名誉の代償 [ユービーアイソフトベスト]" - name-sort: "ぶらざー いん あーむず めいよのだいしょう [ゆーびーあいそふとべすと]" + name: "ブラザー イン アームズ 名誉の代償 [UBISOFT BEST]" + name-sort: "ぶらざー いん あーむず めいよのだいしょう [UBISOFT BEST]" name-en: "Brothers in Arms - Earned in Blood [Ubisoft Best]" region: "NTSC-J" gsHWFixes: @@ -48641,24 +48985,24 @@ SLPM-66722: name-en: "Jissen Pachinko Hisshouhou! CR Aladdin Destiny EX" region: "NTSC-J" SLPM-66723: - name: "ZOIDS INFINITY FUZORS [トミコレベスト]" - name-sort: "ぞいど いんふぃにてぃ ふゅーざーず [とみこれべすと]" + name: "ZOIDS INFINITY FUZORS [TOMY Best Collection]" + name-sort: "ぞいど いんふぃにてぃ ふゅーざーず [TOMY Best Collection]" name-en: "Zoids Infinity Fuzors [Tomy Best Collection]" region: "NTSC-J" SLPM-66724: - name: "ZOIDS TACTICS [トミコレベスト]" - name-sort: "ぞいど たくてぃくす [とみこれべすと]" + name: "ZOIDS TACTICS [TOMY Best Collection]" + name-sort: "ぞいど たくてぃくす [TOMY Best Collection]" name-en: "Zoids Tactics [Tomy Best Collection]" region: "NTSC-J" SLPM-66725: - name: "ZOIDS STRUGGLE [トミコレベスト]" - name-sort: "ぞいどす とらぐる [とみこれべすと]" + name: "ZOIDS STRUGGLE [TOMY Best Collection]" + name-sort: "ぞいどす とらぐる [TOMY Best Collection]" name-en: "Zoids Struggle [Tomy Best Collection]" region: "NTSC-J" SLPM-66726: name: "お嬢様組曲 -Sweet Concert- [通常版]" - name-sort: "おじょうさまくみきょく Sweet Concert" - name-en: "Ojousama Kumikyoku - Sweet Concert" + name-sort: "おじょうさまくみきょく Sweet Concert [つうじょうばん]" + name-en: "Ojousama Kumikyoku - Sweet Concert [Standard Edition]" region: "NTSC-J" SLPM-66727: name: "らぶ☆どろ~LoveDrops~" @@ -48677,7 +49021,7 @@ SLPM-66729: region: "NTSC-J" SLPM-66730: name: "少年陰陽師 翼よいま、天へ還れ [通常版]" - name-sort: "しょうねんおんみょうじ つばさよいま てんへかえれ [通常版]" + name-sort: "しょうねんおんみょうじ つばさよいま てんへかえれ [つうじょうばん]" name-en: "Shounen Onmyouji - Tsubasa yo Ima, Ten he Kaere [Standard Edition]" region: "NTSC-J" SLPM-66731: @@ -48697,7 +49041,7 @@ SLPM-66731: SLPM-66732: name: "許嫁 [初回限定版]" name-sort: "いいなずけ [しょかいげんていばん]" - name-en: "Iinazuke [Limited Edition]" + name-en: "Iinazuke [First Limited Edition]" region: "NTSC-J" SLPM-66733: name: "許嫁 [通常版]" @@ -48707,7 +49051,7 @@ SLPM-66733: SLPM-66734: name: "きると ~貴方と紡ぐ夢と恋のドレス~ [初回限定版]" name-sort: "きると あなたとつむぐゆめとこいのどれす [しょかいげんていばん]" - name-en: "Kiruto - Anata to Tsumugu Yume to Koi no Dress [Limited Edition]" + name-en: "Kiruto - Anata to Tsumugu Yume to Koi no Dress [First Limited Edition]" region: "NTSC-J" SLPM-66735: name: "きると ~貴方と紡ぐ夢と恋のドレス~ [通常版]" @@ -48862,7 +49206,7 @@ SLPM-66755: SLPM-66756: name: "Que ~エンシェントリーフの妖精~ [初回限定版]" name-sort: "きゅー ~えんしぇんとりーふのようせい~ [しょかいげんていばん]" - name-en: "Que - Ancient Leaf no Yousei [Limited Edition]" + name-en: "Que - Ancient Leaf no Yousei [First Limited Edition]" region: "NTSC-J" SLPM-66757: name: "Que ~エンシェントリーフの妖精~ [通常版]" @@ -48891,13 +49235,13 @@ SLPM-66761: region: "NTSC-J" SLPM-66762: name: "Panic Palette [通常版]" - name-sort: "Panic Palette" - name-en: "Panic Palette" + name-sort: "Panic Palette [つうじょうばん]" + name-en: "Panic Palette [Standard Edition]" region: "NTSC-J" SLPM-66763: name: "新世紀エヴァンゲリオン バトルオーケストラ [通常版]" - name-sort: "しんせいきえゔぁんげりおん ばとるおーけすとら" - name-en: "Neon Genesis Evangelion - Battle Orchestra" + name-sort: "しんせいきえゔぁんげりおん ばとるおーけすとら [つうじょうばん]" + name-en: "Neon Genesis Evangelion - Battle Orchestra [Standard Edition]" region: "NTSC-J" compat: 5 SLPM-66764: @@ -48907,13 +49251,13 @@ SLPM-66764: region: "NTSC-J" SLPM-66765: name: "十次元立方体サイファー ゲーム・オブ・サバイバル [初回限定版]" - name-sort: "じゅうじげんりっぽうたいさいふぁー げーむ・おぶ・さばいばる しょかいげんていばん" - name-en: "Juujigen Rippoutai Sypher - Game of Survival [Limited Edition]" + name-sort: "じゅうじげんりっぽうたいさいふぁー げーむ・おぶ・さばいばる [しょかいげんていばん]" + name-en: "Juujigen Rippoutai Sypher - Game of Survival [First Limited Edition]" region: "NTSC-J" SLPM-66766: name: "十次元立方体サイファー ゲーム・オブ・サバイバル [通常版]" - name-sort: "じゅうじげんりっぽうたいさいふぁー げーむ・おぶ・さばいばる" - name-en: "Juujigen Ripoutai Sypher - Game of Survival" + name-sort: "じゅうじげんりっぽうたいさいふぁー げーむ・おぶ・さばいばる [つうじょうばん]" + name-en: "Juujigen Ripoutai Sypher - Game of Survival [Standard Edition]" region: "NTSC-J" SLPM-66767: name: "アーバンカオス" @@ -48925,19 +49269,19 @@ SLPM-66767: autoFlush: 1 # Fixes misaligned lights at native resolution. nativeScaling: 2 # Fixes post processing. SLPM-66768: - name: "ミッシングパーツ side A the TANTEI stories [nice price!]" - name-sort: "みっしんぐぱーつ さいど A ざ たんてい すとーりーず [nice price!]" - name-en: "Missing Parts - The Tantei Stories - Side A [Best Version]" + name: "ミッシングパーツ side A the TANTEI stories [nice price!]" + name-sort: "みっしんぐぱーつ さいど A ざ たんてい すとーりーず [nice price!]" + name-en: "Missing Parts - The Tantei Stories - Side A [nice price!]" region: "NTSC-J" SLPM-66769: - name: "ミッシングパーツ side B the TANTEI stories [nice price!]" - name-sort: "みっしんぐぱーつ さいど B ざ たんてい すとーりーず [nice price!]" - name-en: "Missing Parts - The Tantei Stories - Side B [Best Version]" + name: "ミッシングパーツ side B the TANTEI stories [nice price!]" + name-sort: "みっしんぐぱーつ さいど B ざ たんてい すとーりーず [nice price!]" + name-en: "Missing Parts - The Tantei Stories - Side B [nice price!]" region: "NTSC-J" SLPM-66770: - name: "久遠の絆 再臨詔 nice price!" - name-sort: "くおんのきずな さいりんしょう nice price!" - name-en: "Kuon no Kizuna - Sairinshou [Best Version]" + name: "久遠の絆 再臨詔 [nice price!]" + name-sort: "くおんのきずな さいりんしょう [nice price!]" + name-en: "Kuon no Kizuna - Sairinshou [nice price!]" region: "NTSC-J" SLPM-66771: name: "電車でGO!新幹線 山陽新幹線編 [Eternal Hits]" @@ -48961,14 +49305,14 @@ SLPM-66774: region: "NTSC-J" SLPM-66775: name: "タイトーメモリーズ 上巻 [Eternal Hits]" - name-sort: "たいとーめもりーず じょうかん [Eternal Hits]" + name-sort: "たいとーめもりーず 01 じょうかん [Eternal Hits]" name-en: "Taito Memories - Joukan [Eternal Hits]" region: "NTSC-J" gsHWFixes: roundSprite: 1 # Fixes vertical and horizontal lines. SLPM-66776: name: "タイトーメモリーズ 下巻 [Eternal Hits]" - name-sort: "たいとーめもりーず げかん [Eternal Hits]" + name-sort: "たいとーめもりーず 02 げかん [Eternal Hits]" name-en: "Taito Memories Gekan [Eternal Hits]" region: "NTSC-J" gsHWFixes: @@ -49029,8 +49373,8 @@ SLPM-66784: region: "NTSC-J" SLPM-66785: name: "アイドル雀士 スーチーパイⅣ [通常版]" - name-sort: "あいどるじゃんし すーちーぱい4" - name-en: "Idol Janshi Suchie-Pai 4" + name-sort: "あいどるじゃんし すーちーぱい4 [つうじょうばん]" + name-en: "Idol Janshi Suchie-Pai 4 [Standard Edition]" region: "NTSC-J" SLPM-66786: name: "gift -prism- [Sweets So Sweet Best]" @@ -49154,13 +49498,13 @@ SLPM-66803: region: "NTSC-J" SLPM-66804: name: "カラフルアクアリウム~My Little Mermaid~ [初回限定版]" - name-sort: "からふるあくありうむ~My Little Mermaid~ しょかいげんていばん" - name-en: "Colorful Aquarium - My Little Mermaid [Limited Edition]" + name-sort: "からふるあくありうむ~My Little Mermaid~ [しょかいげんていばん]" + name-en: "Colorful Aquarium - My Little Mermaid [First Limited Edition]" region: "NTSC-J" SLPM-66805: name: "カラフルアクアリウム~My Little Mermaid~ [通常版]" - name-sort: "からふるあくありうむ~My Little Mermaid~" - name-en: "Colorful Aquarium - My Little Mermaid" + name-sort: "からふるあくありうむ~My Little Mermaid~ [つうじょうばん]" + name-en: "Colorful Aquarium - My Little Mermaid [Standard Edition]" region: "NTSC-J" SLPM-66806: name: "シャッフル!オン・ザ・ステージ KADOKAWA The BEST" @@ -49180,9 +49524,9 @@ SLPM-66807: forceEvenSpritePosition: 1 # Reduces blooming misalignment. autoFlush: 2 # Fixes glows. SLPM-66808: - name: "ゴーストリコン アドバンスウォーファイター [ユービーアイソフトベスト]" - name-sort: "ごーすとりこん あどばんすうぉーふぁいたー [ゆーびーあいそふとべすと]" - name-en: "Tom Clancy's Ghost Recon - Advanced Warfighter [Ubisoft the Best]" + name: "ゴーストリコン アドバンスウォーファイター [UBISOFT BEST]" + name-sort: "ごーすとりこん あどばんすうぉーふぁいたー [UBISOFT BEST]" + name-en: "Tom Clancy's Ghost Recon - Advanced Warfighter [Ubisoft Best]" region: "NTSC-J" gsHWFixes: recommendedBlendingLevel: 4 # Fixes building and ground colours. @@ -49278,8 +49622,8 @@ SLPM-66826: region: "NTSC-J" SLPM-66827: name: "妖鬼姫伝 ~あやかし幻灯話~ [通常版]" - name-sort: "ようきひでん ~あやかしげんとうばなし~" - name-en: "Youki Hime Den" + name-sort: "ようきひでん ~あやかしげんとうばなし~ [つうじょうばん]" + name-en: "Youki Hime Den - Ayakashi Gentou-wa [Standard Edition]" region: "NTSC-J" SLPM-66828: name: "beatmania Ⅱ DX 13 DistorteD" @@ -49363,8 +49707,8 @@ SLPM-66844: region: "NTSC-J" SLPM-66845: name: "悠久ノ桜 [通常版]" - name-sort: "ゆうきゅうのさくら" - name-en: "Yuukyuu no Sakura" + name-sort: "ゆうきゅうのさくら [つうじょうばん]" + name-en: "Yuukyuu no Sakura [Standard Edition]" region: "NTSC-J" SLPM-66846: name: "プリズム・アーク -AWAKE-" @@ -49372,7 +49716,7 @@ SLPM-66846: name-en: "Prism Ark - Awake" region: "NTSC-J" SLPM-66847: - name: "アラビアンズ・ロスト~The engagement on desert~" + name: "アラビアンズ・ロスト ~The engagement on desert~" name-sort: "あらびあんず ろすと The engagement on desert" name-en: "Arabians Lost - The Engagement on Desert" region: "NTSC-J" @@ -49382,8 +49726,8 @@ SLPM-66848: name-en: "Sengoku Basara 2 Heroes" region: "NTSC-J" SLPM-66849: - name: "イリスのアトリエ グランファンタズム [ガストベストプライス]" - name-sort: "いりすのあとりえ ぐらんふぁんたずむ [がすとべすとぷらいす]" + name: "イリスのアトリエ グランファンタズム [ガストBest Price]" + name-sort: "いりすのあとりえ ぐらんふぁんたずむ [がすとBest Price]" name-en: "Iris no Atelier - Grand Fantasm [Gust Best Price]" region: "NTSC-J" gsHWFixes: @@ -49402,27 +49746,29 @@ SLPM-66851: gsHWFixes: halfPixelOffset: 4 # Removes blur due to misaligned fullscreen effect. SLPM-66852: - name: "カプコン クラシックス コレクション Best Price" + name: "カプコン クラシックス コレクション [Best Price]" name-sort: "かぷこん くらしっくす これくしょん [Best Price]" name-en: "Capcom Classics Collection Vol. 1 [Best Price]" region: "NTSC-J" SLPM-66853: - name: "ジョジョの奇妙な冒険 黄金の旋風 Best Price" + name: "ジョジョの奇妙な冒険 黄金の旋風 [Best Price]" name-sort: "じょじょのきみょうなぼうけん おうごんのせんぷう [Best Price]" - name-en: "Jojo no Kimyouna Bouken - Ougon no Kaze [Best Price]" + name-en: "JoJo no Kimyou na Bouken - Ougon no Kaze [Best Price]" region: "NTSC-J" gsHWFixes: recommendedBlendingLevel: 2 # Fixes text box opacity. + clampModes: + vu1ClampMode: 3 # Fixes shading on Chapter 11-2's enemy. SLPM-66854: - name: "ストリートファイターゼロ ファイターズ ジェネレーション Best Price" - name-sort: "すとりーとふぁいたーぜろ ふぁいたーず じぇねれーしょん Best Price" + name: "ストリートファイターゼロ ファイターズ ジェネレーション [Best Price]" + name-sort: "すとりーとふぁいたーぜろ ふぁいたーず じぇねれーしょん [Best Price]" name-en: "Street Fighter Zero - Fighters Generation [Best Price]" region: "NTSC-J" gsHWFixes: roundSprite: 1 # Fixes squares around sprites when upscaling. SLPM-66855: - name: "咎狗の血 True Blood Limited Edition" - name-sort: "とがいぬのち True Blood Limited Edition" + name: "咎狗の血 True Blood [Limited Edition]" + name-sort: "とがいぬのち True Blood [Limited Edition]" name-en: "Togainu no Chi - True Blood [Limited Edition]" region: "NTSC-J" SLPM-66856: @@ -49432,13 +49778,13 @@ SLPM-66856: region: "NTSC-J" SLPM-66857: name: "いつか、届く、あの空に。 ~陽の道と緋の昏と~ [初回限定版]" - name-sort: "いつかとどくあのそらに ようのみちとひのたそがれと しょかいげんていばん" - name-en: "Itsuka, Todoku, Ano Sora ni [Limited Edition]" + name-sort: "いつかとどくあのそらに ようのみちとひのたそがれと [しょかいげんていばん]" + name-en: "Itsuka, Todoku, Ano Sora ni [First Limited Edition]" region: "NTSC-J" SLPM-66858: name: "いつか、届く、あの空に。 ~陽の道と緋の昏と~ [通常版]" - name-sort: "いつかとどくあのそらに ようのみちとひのたそがれと" - name-en: "Itsuka, Todoku, Ano Sora ni" + name-sort: "いつかとどくあのそらに ようのみちとひのたそがれと [つうじょうばん]" + name-en: "Itsuka, Todoku, Ano Sora ni [Standard Edition]" region: "NTSC-J" SLPM-66859: name: "戦国BASARA [Best Price]" @@ -49447,13 +49793,13 @@ SLPM-66859: region: "NTSC-J" SLPM-66860: name: "熱帯低気圧少女 [初回限定版]" - name-sort: "ねったいていきあつしょうじょ しょかいげんていばん" - name-en: "Nettai Teikiatsu Shoujo [Limited Edition]" + name-sort: "ねったいていきあつしょうじょ [しょかいげんていばん]" + name-en: "Nettai Teikiatsu Shoujo [First Limited Edition]" region: "NTSC-J" SLPM-66861: name: "熱帯低気圧少女 [通常版]" - name-sort: "ねったいていきあつしょうじょ" - name-en: "Nettai Teikiatsu Shoujo" + name-sort: "ねったいていきあつしょうじょ [つうじょうばん]" + name-en: "Nettai Teikiatsu Shoujo [Standard Edition]" region: "NTSC-J" SLPM-66862: name: "あやかしびとー幻妖異聞録ー [BestSelection]" @@ -49490,9 +49836,9 @@ SLPM-66867: name-en: "MotoGP '07" region: "NTSC-J" SLPM-66868: - name: "スプリンターセル 二重スパイ [ユービーアイソフトベスト]" - name-sort: "すぷりんたーせる にじゅうすぱい [ゆーびーあいそふとべすと]" - name-en: "Tom Clancy's Splinter Cell - Double Agent [Ubisoft the Best]" + name: "スプリンターセル 二重スパイ [UBISOFT BEST]" + name-sort: "すぷりんたーせる にじゅうすぱい [UBISOFT BEST]" + name-en: "Tom Clancy's Splinter Cell - Double Agent [Ubisoft Best]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Aligns post effects. @@ -49510,7 +49856,7 @@ SLPM-66869: SLPM-66870: name: "星色のおくりもの [初回スペシャル限定版]" name-sort: "ほしいろのおくりもの [しょかいすぺしゃるげんていばん]" - name-en: "Kuri no Okurimono [First Print Special Edition]" + name-en: "Hoshiiro no Okurimono [First Special Limitred Edition]" region: "NTSC-J" SLPM-66871: name: "召喚少女-ElementalGirl Calling- [DXパック]" @@ -49519,19 +49865,19 @@ SLPM-66871: region: "NTSC-J" SLPM-66872: name: "召喚少女-ElementalGirl Calling- [通常版]" - name-sort: "しょうかんしょうじょ ElementalGirl Calling" - name-en: "Shoukan Shoujo - Elemental Girl Calling" + name-sort: "しょうかんしょうじょ ElementalGirl Calling [つうじょうばん]" + name-en: "Shoukan Shoujo - Elemental Girl Calling [Standard Edition]" region: "NTSC-J" compat: 5 SLPM-66873: - name: "らき☆すた ~陵桜学園 桜藤祭~ DXパック" - name-sort: "らきすた りょうおうがくえん おうとうさい DXぱっく" - name-en: "Lucky Star [DX Pack]" + name: "らき☆すた ~陵桜学園 桜藤祭~ [DXパック]" + name-sort: "らきすた りょうおうがくえん おうとうさい [DXぱっく]" + name-en: "Lucky Star - Ryouou Gakuen Outou-sai [DX Pack]" region: "NTSC-J" SLPM-66874: - name: "らき☆すた ~陵桜学園 桜藤祭~" - name-sort: "らきすた りょうおうがくえん おうとうさい" - name-en: "Lucky Star" + name: "らき☆すた ~陵桜学園 桜藤祭~ [通常版]" + name-sort: "らきすた りょうおうがくえん おうとうさい [つうじょうばん]" + name-en: "Lucky Star - Ryouou Gakuen Outou-sai [Standard Edition]" region: "NTSC-J" SLPM-66875: name: "実況パワフルメジャーリーグ 2" @@ -49556,12 +49902,12 @@ SLPM-66878: SLPM-66879: name: "StarTRain -your past makes your future- [初回限定版]" name-sort: "すたーとれいん -ゆあ ぱすと めーくす ゆあ ふゅーちゃー- [しょかいげんていばん]" - name-en: "StarTRain - Your Past Makes Your Future [Limited Edition]" + name-en: "StarTRain - Your Past Makes Your Future [First Limited Edition]" region: "NTSC-J" SLPM-66880: name: "StarTRain -your past makes your future- [通常版]" - name-sort: "すたーとれいん -ゆあ ぱすと めーくす ゆあ ふゅーちゃー-" - name-en: "StarTRain - Your Past Makes Your Future" + name-sort: "すたーとれいん -ゆあ ぱすと めーくす ゆあ ふゅーちゃー- [つうじょうばん]" + name-en: "StarTRain - Your Past Makes Your Future [Standard Edition]" region: "NTSC-J" SLPM-66881: name: "TOCA RACE DRIVER 3 THE ULTIMATE RACING SIMULATOR" @@ -49617,9 +49963,9 @@ SLPM-66888: name-en: "G1 Jockey 4 - 2007" region: "NTSC-J" SLPM-66889: - name: "ぷりサガ~プリンセスをさがせ~ 初回限定版" + name: "ぷりサガ~プリンセスをさがせ~ [初回限定版]" name-sort: "ぷりさが ぷりんせすをさがせ [しょかいげんていばん]" - name-en: "Puri-Saga! Princess o Sagase! [Limited Edition]" + name-en: "Puri-Saga! Princess o Sagase! [First Limited Edition]" region: "NTSC-J" SLPM-66890: name: "ぷりサガ~プリンセスをさがせ~" @@ -49629,7 +49975,7 @@ SLPM-66890: SLPM-66891: name: "Myself;Yourself [初回限定版]" name-sort: "まいせるふ ゆあせるふ [しょかいげんていばん]" - name-en: "Myself, Yourself [Limited Edition]" + name-en: "Myself, Yourself [First Limited Edition]" region: "NTSC-J" SLPM-66892: name: "Myself;Yourself [通常版]" @@ -49712,8 +50058,8 @@ SLPM-66906: name-en: "Tenshou Gakuen Gekkouroku [Tokudane Price]" region: "NTSC-J" SLPM-66907: - name: "許婚 [プリンセスソフト・コレクション]" - name-sort: "いいなずけ [ぷりんせすそふと・これくしょん]" + name: "許婚 [プリンセスソフト コレクション]" + name-sort: "いいなずけ [ぷりんせすそふと これくしょん]" name-en: "Iinazuke [Princess Soft Collection]" region: "NTSC-J" SLPM-66908: @@ -49736,8 +50082,8 @@ SLPM-66910: gsHWFixes: halfPixelOffset: 1 # Fixes misalignment. SLPM-66911: - name: "ふぁいなりすと [プリンセスソフト・コレクション]" - name-sort: "ふぁいなりすと [ぷりんせすそふと・これくしょん]" + name: "ふぁいなりすと [プリンセスソフト コレクション]" + name-sort: "ふぁいなりすと [ぷりんせすそふと これくしょん]" name-en: "Finalist [Princess Soft Collection]" region: "NTSC-J" SLPM-66912: @@ -49821,8 +50167,8 @@ SLPM-66926: region: "NTSC-J" compat: 5 SLPM-66927: - name: "レッスルエンジェルス SURVIVOR Good Price" - name-sort: "れっするえんじぇるす SURVIVOR Good Price" + name: "レッスルエンジェルス SURVIVOR [Good Price]" + name-sort: "れっするえんじぇるす SURVIVOR [Good Price]" name-en: "Wrestle Angels Survivor [Good Price]" region: "NTSC-J" memcardFilters: @@ -49856,9 +50202,9 @@ SLPM-66932: gsHWFixes: halfPixelOffset: 2 # Fixes depth line. SLPM-66933: - name: "君が主で執事が俺で~お仕え日記~ 初回限定版" - name-sort: "きみがあるじでしつじがおれで おつかえにっき しょかいげんていばん" - name-en: "Kimi ga Aruji de Shitsuji ga Ore de - Oshie Nikki [Limited Edition]" + name: "君が主で執事が俺で~お仕え日記~ [初回限定版]" + name-sort: "きみがあるじでしつじがおれで おつかえにっき [しょかいげんていばん]" + name-en: "Kimi ga Aruji de Shitsuji ga Ore de - Oshie Nikki [First Limited Edition]" region: "NTSC-J" SLPM-66934: name: "君が主で執事が俺で~お仕え日記~" @@ -49901,9 +50247,9 @@ SLPM-66941: name-en: "Hokuto no Ken [Sega the Best]" region: "NTSC-J" SLPM-66942: - name: "Φなる・あぷろーち 2 ~1st priority~ <初回限定版>" - name-sort: "ふぁいなる・あぷろーち2 ~1st priority~ <しょかいげんていばん>" - name-en: "Final Approach 2 - 1st Priority [First Print Limited Edition]" + name: "Φなる・あぷろーち 2 ~1st priority~ [初回限定版]" + name-sort: "ふぁいなる・あぷろーち2 ~1st priority~ [しょかいげんていばん]" + name-en: "Final Approach 2 - 1st Priority [First Limited Edition]" region: "NTSC-J" SLPM-66943: name: "Φなる・あぷろーち 2 ~1st priority~" @@ -49911,7 +50257,7 @@ SLPM-66943: name-en: "Final Approach 2 - 1st Priority" region: "NTSC-J" SLPM-66944: - name: "プティフール 限定版" + name: "プティフール [限定版]" name-sort: "ぷてぃふーる [げんていばん]" name-en: "Petit Four [Limited Edition]" region: "NTSC-J" @@ -49976,7 +50322,7 @@ SLPM-66957: SLPM-66958: name: "アオイシロ [初回限定版]" name-sort: "あおいしろ [しょかいげんていばん]" - name-en: "Aoi Shiro [Genteiban]" + name-en: "Aoi Shiro [First Limited Edition]" region: "NTSC-J" SLPM-66959: name: "アオイシロ [通常版]" @@ -50037,7 +50383,7 @@ SLPM-66965: region: "NTSC-J" compat: 5 SLPM-66966: - name: "EA:SY!1980 ゴッドファーザー" + name: "ゴッドファーザー [EA:SY! 1980]" name-sort: "ごっどふぁーざー [EA:SY! 1980]" name-en: "Godfather, The [EA:SY! 1980]" region: "NTSC-J" @@ -50148,23 +50494,23 @@ SLPM-66990: gsHWFixes: beforeDraw: "OI_PointListPalette" SLPM-66991: - name: "風雨来記 nice price!" - name-sort: "ふううらいき nice price!" - name-en: "Fuuuraiki [Best Version]" + name: "風雨来記 [nice price!]" + name-sort: "ふううらいき [nice price!]" + name-en: "Fuuuraiki [nice price!]" region: "NTSC-J" SLPM-66992: - name: "風雨来記2 nice price!" - name-sort: "ふううらいき2 nice price!" - name-en: "Fuuuraiki 2 [Best Version]" + name: "風雨来記2 [nice price!]" + name-sort: "ふううらいき2 [nice price!]" + name-en: "Fuuuraiki 2 [nice price!]" region: "NTSC-J" SLPM-66993: - name: "Rim Runners [nice price!]" - name-sort: "りむ らんなーず [nice price!]" - name-en: "Rim Runners [Best Version]" + name: "Rim Runners [nice price!]" + name-sort: "りむ らんなーず [nice price!]" + name-en: "Rim Runners [nice price!]" region: "NTSC-J" SLPM-66994: - name: "マナケミア ~学園の錬金術士たち~ [ガストベストプライス]" - name-sort: "まなけみあ ~がくえんのれんきんじゅつしたち~ [がすとべすとぷらいす]" + name: "マナケミア ~学園の錬金術士たち~ [ガストBest Price]" + name-sort: "まなけみあ ~がくえんのれんきんじゅつしたち~ [がすとBest Price]" name-en: "Mana-Khemia - Gakuen no Renkinjutsu Shitachi [Best Version]" region: "NTSC-J" roundModes: @@ -50180,7 +50526,7 @@ SLPM-66995: SLPM-66996: name: "終末少女幻想アリスマチック Apocalypse [初回限定版]" name-sort: "しゅうまつしょうじょげんそうありすまちっく あぽかりぷす [しょかいげんていばん]" - name-en: "Shuumatsu Shoujo Gensou Alicematic Apocalypse [Limited Edition]" + name-en: "Shuumatsu Shoujo Gensou Alicematic Apocalypse [First Limited Edition]" region: "NTSC-J" SLPM-66997: name: "終末少女幻想アリスマチック Apocalypse [通常版]" @@ -50188,7 +50534,7 @@ SLPM-66997: name-en: "Shuumatsu Shoujo Gensou Alicematic Apocalypse [Standard Edition]" region: "NTSC-J" SLPM-66998: - name: "ふしぎ遊戯 朱雀異聞 限定版" + name: "ふしぎ遊戯 朱雀異聞 [限定版]" name-sort: "ふしぎゆうぎ すざくいぶん [げんていばん]" name-en: "Fushigi Yuugi - Suzaku Ibun [Limited Edition]" region: "NTSC-J" @@ -50232,8 +50578,8 @@ SLPM-67004: name-en: "Medal of Honor - Rising Sun" region: "NTSC-J" SLPM-67005: - name: "ロード・オブ・ザ・リング / 王の帰還" - name-sort: "ろーど おぶ ざ りんぐ / おうのきかん" + name: "ロード・オブ・ザ・リング / 二つの塔 [EA BEST HITS]" + name-sort: "ろーど おぶ ざ りんぐ / ふたつのとう [EA BEST HITS]" name-en: "Lord of the Rings, The - The Two Towers [EA Best Hits]" region: "NTSC-J" gsHWFixes: @@ -50687,6 +51033,7 @@ SLPM-68519: gsHWFixes: alignSprite: 1 # Fixes vertical lines. textureInsideRT: 1 # Fixes reflections. + mipmap: 0 # Currently causes texture flickering. gameFixes: - SoftwareRendererFMVHack # Fixes upscale lines in FMVs. SLPM-68520: @@ -50775,7 +51122,9 @@ SLPM-74007: name-en: "Busin - Wizardry Alternative [PlayStation2 the Best]" region: "NTSC-J" SLPM-74044: - name: "Space Channel 5 - Part 2 [PlayStation2 the Best]" + name: "スペースチャンネル5 パート2 [PlayStation2 the Best]" + name-sort: "すぺーすちゃんねる5 ぱーと2 [PlayStation2 the Best]" + name-en: "Space Channel 5 - Part 2 [PlayStation2 the Best]" region: "NTSC-J" SLPM-74101: name: "ボンバーマンランド2 [PlayStation2 the Best]" @@ -50785,7 +51134,7 @@ SLPM-74101: SLPM-74102: name: "桃太郎電鉄12 西日本編もありまっせー! [PlayStation2 the Best]" name-sort: "ももたろうでんてつ12 にしにほんへんもありまっせー! [PlayStation2 the Best]" - name-en: "Momotarou Dentetsu 12 [PlayStation2 the Best]" + name-en: "Momotarou Dentetsu 12 - Nishi Nihon hen mo Arimasse! [PlayStation2 the Best]" region: "NTSC-J" SLPM-74103: name: "桃太郎電鉄USA [PlayStation2 the Best]" @@ -50793,12 +51142,14 @@ SLPM-74103: name-en: "Momotarou Dentetsu USA [PlayStation2 the Best]" region: "NTSC-J" SLPM-74104: - name: "桃太郎電鉄15 [PlayStation2 the Best]" - name-sort: "ももたろうでんてつ15 [PlayStation2 the Best]" - name-en: "Momotarou Dentetsu 15 [PlayStation2 the Best]" + name: "桃太郎電鉄15 五大ボンビー登場!の巻 [PlayStation2 the Best]" + name-sort: "ももたろうでんてつ15 ごだいぼんびーとうじょう!のまき [PlayStation2 the Best]" + name-en: "Momotarou Dentetsu 15 - Godai Bonbii Toujo! no Maki [PlayStation2 the Best]" region: "NTSC-J" SLPM-74105: - name: "Momotarou Dentetsu 16 - Hokkaido Daiidou no Maki!" + name: "桃太郎電鉄16 北海道大移動の巻! [PlayStation2 the Best]" + name-sort: "ももたろうでんてつ16 ほっかいどうだいいどうのまき! [PlayStation2 the Best]" + name-en: "Momotarou Dentetsu 16 - Hokkaido Daiidou no Maki! [PlayStation2 the Best]" region: "NTSC-J" SLPM-74201: name: "バイオハザード アウトブレイク [PlayStation2 the Best]" @@ -50865,22 +51216,29 @@ SLPM-74212: name-en: "Sengoku Musou Moushouden [PlayStation2 the Best]" region: "NTSC-J" SLPM-74213: - name: "幻想水滸伝Ⅳ" - name-sort: "げんそうすいこでん4" - name-en: "Gensou Suikoden IV" + name: "幻想水滸伝Ⅳ [PlayStation2 the Best]" + name-sort: "げんそうすいこでん4 [PlayStation2 the Best]" + name-en: "Gensou Suikoden IV [PlayStation2 the Best]" region: "NTSC-J" SLPM-74214: - name: "Densha de Go! Final" + name: "電車でGO!FINAL [PlayStation2 the Best]" + name-sort: "でんしゃでごーFINAL [PlayStation2 the Best]" + name-en: "Densha de Go! Final [PlayStation2 the Best]" region: "NTSC-J" SLPM-74215: name: "真・三國無双3 [PlayStation2 the Best]" name-sort: "しんさんごくむそう3 [PlayStation2 the Best]" name-en: "Shin Sangoku Musou 3 [PlayStation2 the Best]" region: "NTSC-J" +SLPM-74216: + name: "真・三國無双3 猛将伝 [PlayStation2 the Best]" + name-sort: "しんさんごくむそう3 もうしょうでん [PlayStation2 the Best]" + name-en: "Shin Sangoku Musou 3 - Moushouden [PlayStation2 the Best]" + region: "NTSC-J" SLPM-74217: - name: "真・三國無双3" - name-sort: "しんさんごくむそう3" - name-en: "Shin Sangoku Musou 3" + name: "真・三國無双3 [PlayStation2 the Best] [メガパック]" + name-sort: "しんさんごくむそう3 [PlayStation2 the Best] [めがぱっく]" + name-en: "Shin Sangoku Musou 3 [PlayStation2 the Best] [Mega Pack]" region: "NTSC-J" SLPM-74218: name: "シャイニング・ティアーズ [PlayStation2 the Best]" @@ -50930,7 +51288,7 @@ SLPM-74226: gsHWFixes: recommendedBlendingLevel: 4 # Fixes combat interface. SLPM-74227: - name: "戦神-いくさがみ- [PlayStation2 the Best]" + name: "戦神 -いくさがみ- [PlayStation2 the Best]" name-sort: "いくさがみ [PlayStation2 the Best]" name-en: "Ikusa Gami [PlayStation2 the Best]" region: "NTSC-J" @@ -51001,7 +51359,7 @@ SLPM-74234: gsHWFixes: alignSprite: 1 # Helps align bloom. SLPM-74235: - name: "戦国無双 [PlayStation2 the Best][価格改定版]" + name: "戦国無双 [PlayStation2 the Best]" name-sort: "せんごくむそう [PlayStation2 the Best]" name-en: "Sengoku Musou [PlayStation2 the Best]" region: "NTSC-J" @@ -51075,7 +51433,7 @@ SLPM-74244: roundModes: eeRoundMode: 0 # Fixes enemies not moving (especially Chapter 7 boss). SLPM-74245: - name: "モンスターハンター2(dos) [PlayStation2 the Best]" + name: "モンスターハンター2 [PlayStation2 the Best]" name-sort: "もんすたーはんたー2 [PlayStation2 the Best]" name-en: "Monster Hunter 2 [PlayStation2 the Best]" region: "NTSC-J" @@ -51287,9 +51645,9 @@ SLPM-74274: name-en: "EX Jinsei Game II [PlayStation 2 the Best]" region: "NTSC-J" SLPM-74275: - name: "戦国BASARA 2 英雄外伝" - name-sort: "せんごくばさら 2 ひーろーず" - name-en: "Sengoku Basara 2 Heroes" + name: "戦国BASARA 2 英雄外伝 [PlayStation2 the Best]" + name-sort: "せんごくばさら 2 ひーろーず [PlayStation2 the Best]" + name-en: "Sengoku Basara 2 Heroes [PlayStation2 the Best]" region: "NTSC-J" SLPM-74276: name: "ガンダム無双2 [PlayStation2 the Best]" @@ -51308,29 +51666,29 @@ SLPM-74278: name-en: "Persona 4 [PlayStation2 the Best]" region: "NTSC-J" SLPM-74279: - name: "真・三國無双4 猛将伝" - name-sort: "しんさんごくむそう4 もうしょうでん" - name-en: "Shin Sangoku Musou 4 - Moushouden" + name: "真・三國無双4 猛将伝 [PlayStation2 the Best]" + name-sort: "しんさんごくむそう4 もうしょうでん [PlayStation2 the Best]" + name-en: "Shin Sangoku Musou 4 - Moushouden [PlayStation2 the Best]" region: "NTSC-J" SLPM-74281: - name: "信長の野望・革新" - name-sort: "のぶながのやぼう かくしん" - name-en: "Nobunaga no Yabou - Kakushin" + name: "信長の野望・革新 [PlayStation2 the Best]" + name-sort: "のぶながのやぼう かくしん [PlayStation2 the Best]" + name-en: "Nobunaga no Yabou - Kakushin [PlayStation2 the Best]" region: "NTSC-J" SLPM-74282: - name: "無双OROCHI 魔王再臨" - name-sort: "むそうOROCHI まおうさいりん" - name-en: "Musou Orochi - Maou Sairin" + name: "無双OROCHI 魔王再臨 [PlayStation2 the Best]" + name-sort: "むそうOROCHI まおうさいりん [PlayStation2 the Best]" + name-en: "Musou Orochi - Maou Sairin [PlayStation2 the Best]" region: "NTSC-J" SLPM-74283: - name: "真・三國無双4 Empires" - name-sort: "しんさんごくむそう4 えんぱいあーず" - name-en: "Shin Sangoku Musou 4 - Empires" + name: "真・三國無双4 Empires [PlayStation2 the Best]" + name-sort: "しんさんごくむそう4 えんぱいあーず [PlayStation2 the Best]" + name-en: "Shin Sangoku Musou 4 - Empires [PlayStation2 the Best]" region: "NTSC-J" SLPM-74284: - name: "戦国無双2 Empires" - name-sort: "せんごくむそう2 Empires" - name-en: "Sengoku Musou 2 - Empires" + name: "戦国無双2 Empires [PlayStation2 the Best]" + name-sort: "せんごくむそう2 Empires [PlayStation2 the Best]" + name-en: "Sengoku Musou 2 - Empires [PlayStation2 the Best]" region: "NTSC-J" SLPM-74286: name: "真・三國無双5 Special [PlayStation2 the Best] [ディスク 1]" @@ -51352,9 +51710,9 @@ SLPM-74288: gsHWFixes: halfPixelOffset: 2 # Fixes blurriness. SLPM-74301: - name: "龍が如く2 [PlayStation2 the Best] [ディスク 1]" - name-sort: "りゅうがごとく2 [PlayStation2 the Best] [でぃすく 1]" - name-en: "Ryu ga Gotoku 2 [PlayStation 2 the Best - Reprint] [Disc 1]" + name: "龍が如く2 [予告DVD同梱版] [PlayStation2 the Best]" + name-sort: "りゅうがごとく2 [よこくDVDどうこんばん] [PlayStation2 the Best]" + name-en: "Ryu ga Gotoku 2 [with Trailer DVD] [PlayStation 2 the Best - Reprint]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Helps align bloom. @@ -51365,9 +51723,9 @@ SLPM-74301: - "SLPM-74234" - "SLPM-74253" SLPM-74302: - name: "龍が如く2 [PlayStation2 the Best] [ディスク 2]" - name-sort: "りゅうがごとく2 [PlayStation2 the Best] [でぃすく 2]" - name-en: "Ryu ga Gotoku 2 [PlayStation 2 the Best - Reprint] [Disc 2]" + name: "龍が如く2 [PlayStation2 the Best]" + name-sort: "りゅうがごとく2 [PlayStation2 the Best]" + name-en: "Ryu ga Gotoku 2 [PlayStation 2 the Best - Reprint]" region: "NTSC-J" gsHWFixes: alignSprite: 1 # Helps align bloom. @@ -51388,9 +51746,9 @@ SLPM-74402: name-en: "Capcom vs. SNK 2 [PlayStation2 the Best]" region: "NTSC-J" SLPM-74403: - name: "電車でGO!新幹線 山陽新幹線編 [PlayStation2 the Best]" + name: "電車でGO!新幹線 山陽新幹線編 [PlayStation2 the Best]" name-sort: "でんしゃでごーしんかんせん さんようしんかんせんへん [PlayStation2 the Best]" - name-en: "Densha de Go! Shinkansen Sanyou Shinkansen hen [PlayStation2 the Best]" + name-en: "Densha de Go! Shinkansen Sanyou Shinkansen hen [PlayStation2 the Best]" region: "NTSC-J" SLPM-74404: name: "スペースチャンネル5 Part2 [PlayStation2 the Best]" @@ -51492,7 +51850,7 @@ SLPM-83770: name-en: "Persona 3 FES [Append Edition]" region: "NTSC-J" SLPM-84075: - name: "ANUBIS ZONE OF THE ENDERS SPECIAL EDITION [コナミ殿堂セレクション]" + name: "ANUBIS ZONE OF THE ENDERS -SPECIAL EDITION- [コナミ殿堂セレクション]" name-sort: "ぞーん おぶ えんだーず あぬびす SPECIAL EDITION [こなみでんどうせれくしょん]" name-en: "Anubis - Zone of the Enders Special Edition [Konami Dendou Collection]" region: "NTSC-J" @@ -51581,7 +51939,7 @@ SLPS-20009: SLPS-20010: name: "劇空間プロ野球 AT THE END OF THE CENTURY 1999" name-sort: "げきくうかんぷろやきゅう AT THE END OF THE CENTURY 1999" - name-en: "Pro Baseball Gekikuukan" + name-en: "Gekikuukan Pro Yakyuu At The End of The Century 1999" region: "NTSC-J" SLPS-20011: name: "アメリカン・アーケード" @@ -51786,7 +52144,7 @@ SLPS-20048: name-en: "Sim Theme Park" region: "NTSC-J" SLPS-20050: - name: "ハッピー! ハッピー!! ボーダーズ in Hokkaido ルスツリゾート" + name: "ハッピー! ハッピー!! ボーダーズ in Hokkaido ルスツリゾート" name-sort: "はっぴー! はっぴー!! ぼーだーず in Hokkaido るすつりぞーと" name-en: "Happy! Happy!! Boarders in Hokkaidou Rusutsu Resort" region: "NTSC-J" @@ -51803,7 +52161,7 @@ SLPS-20052: name-en: "Global Folktale" region: "NTSC-J" SLPS-20053: - name: "天使のプレゼント マール王国物語 限定版" + name: "天使のプレゼント マール王国物語 [限定版]" name-sort: "てんしのぷれぜんと まーるおうこくものがたり [げんていばん]" name-en: "Tenshi no Present - Māru Oukoku Monogatari" region: "NTSC-J" @@ -51970,12 +52328,12 @@ SLPS-20086: region: "NTSC-J" SLPS-20087: name: "Generation of Chaos [通常版]" - name-sort: "じぇねれーしょんおぶかおす [通常版]" - name-en: "Generation of Chaos" + name-sort: "じぇねれーしょんおぶかおす [つうじょうばん]" + name-en: "Generation of Chaos [Standard Edition]" region: "NTSC-J" SLPS-20089: name: "ガンハーツ [未発売]" - name-sort: "がんはーつ" + name-sort: "がんはーつ [みはつばい]" name-en: "Gun-Heats [Cancelled]" region: "NTSC-J" SLPS-20090: @@ -52091,7 +52449,7 @@ SLPS-20110: SLPS-20111: name: "マジカルスポーツ 2001 プロ野球" name-sort: "まじかるすぽーつ 2001 ぷろやきゅう" - name-en: "Magical Sports - Pro Baseball 2001" + name-en: "Magical Sports - Pro Yakyuu 2001" region: "NTSC-J" SLPS-20112: name: "必殺パチンコステーションV2 天才バカボン" @@ -52160,7 +52518,7 @@ SLPS-20127: name-en: "Chou! Tanoshii Internet Tomodachi no Wa [Type-OS]" region: "NTSC-J" SLPS-20128: - name: "マールDEジグソー 限定版" + name: "マールDEジグソー [限定版]" name-sort: "まーるDEじぐそー [げんていばん]" name-en: "Toshiyuki Morikawa Private Collection - Puppet Princess of Marl's Kingdom" region: "NTSC-J" @@ -52321,10 +52679,12 @@ SLPS-20163: name-en: "Typing Kengo 634" region: "NTSC-J" SLPS-20164: - name: "Plarail - Yume ga Ippai! Plarail de Ikou!" + name: "プラレール ~夢がいっぱい!プラレールで行こう!~" + name-sort: "ぷられーる ~ゆめがいっぱい!ぷられーるでいこう!~" + name-en: "Plarail - Yume ga Ippai! Plarail de Ikou!" region: "NTSC-J" SLPS-20165: - name: "ラ・ピュセル 光の聖女伝説 限定版" + name: "ラ・ピュセル 光の聖女伝説 [限定版]" name-sort: "ら・ぴゅせる ひかりのせいじょでんせつ [げんていばん]" name-en: "La Pucelle - Hikari no Seijo Densetsu [Limited Edition]" region: "NTSC-J" @@ -52428,7 +52788,7 @@ SLPS-20187: SLPS-20190: name: "熱チュー!プロ野球2002" name-sort: "ねっちゅー!ぷろやきゅう2002" - name-en: "Necchu! Pro Baseball 2002" + name-en: "Necchu! Pro Proyakyuu 2002" region: "NTSC-J" patches: 78E100AD: @@ -52519,7 +52879,7 @@ SLPS-20208: compat: 5 SLPS-20209: name: "実戦パチスロ必勝法! アラジンA [限定版]" - name-sort: "じっせんぱちすろひっしょうほう! あらじんA げんていばん" + name-sort: "じっせんぱちすろひっしょうほう! あらじんA [げんていばん]" name-en: "Jissen Pachi-Slot Hisshouhou! Aladdin A [Limited Edition]" region: "NTSC-J" SLPS-20211: @@ -52722,8 +53082,8 @@ SLPS-20250: region: "NTSC-J" SLPS-20251: name: "魔界戦記 ディスガイア [通常版]" - name-sort: "まかいせんき でぃすがいあ" - name-en: "Makai Senki Disgaea" + name-sort: "まかいせんき でぃすがいあ [つうじょうばん]" + name-en: "Makai Senki Disgaea [Standard Edition]" region: "NTSC-J" SLPS-20253: name: "パチってちょんまげ達人2 ~ CRジュラシックパーク" @@ -52793,7 +53153,7 @@ SLPS-20266: region: "NTSC-J" SLPS-20267: name: "実戦パチスロ必勝法! サラリーマン金太郎 [限定版]" - name-sort: "じっせんぱちすろひっしょうほう! さらりーまんきんたろう げんていばん" + name-sort: "じっせんぱちすろひっしょうほう! さらりーまんきんたろう [げんていばん]" name-en: "Jissen Pachi-Slot Hisshouhou! Salaryman Kintarou [Limited Edition]" region: "NTSC-J" SLPS-20268: @@ -52881,7 +53241,7 @@ SLPS-20285: name-en: "Slotter Up Core - Enda! Kyojin no Hoshi" region: "NTSC-J" SLPS-20286: - name: "スロッターUPコア 豪打!ミナミの帝王" + name: "スロッターUPコア2 豪打!ミナミの帝王" name-sort: "すろったーUPこあ 2 ごうだ!みなみのていおう" name-en: "Slotter Up Core 2 - Gouda! Minami no Teiou" region: "NTSC-J" @@ -52959,8 +53319,8 @@ SLPS-20302: name-en: "Gokuraku-jong Premium" region: "NTSC-J" SLPS-20303: - name: "いなか暮らし~南の島の物語 ベストコレクション" - name-sort: "いなかぐらし みなみのしまのものがたり べすとこれくしょん" + name: "いなか暮らし~南の島の物語 [Best Collection]" + name-sort: "いなかぐらし みなみのしまのものがたり [Best Collection]" name-en: "Inaka Gurashi - Minami no Shima no Monogatari [Best Collection]" region: "NTSC-J" SLPS-20304: @@ -52983,16 +53343,24 @@ SLPS-20307: name-sort: "らくしょう! ぱちすろせんげん - もぐもぐふうりんかざん・しょうきんくび・びりーざびっぐ・すーぱーぶらっくじゃっく" name-en: "Rakushou! Pachi-Slot Sengen - MoguMoguFuuRinKaZan,Shoukin Kubi,Billy the Big,Super Black Jack" region: "NTSC-J" + gsHWFixes: + cpuFramebufferConversion: 1 # A liitle fixes some graphic glitchs on upper screen (not Perfectly). SLPS-20308: name: "花火百景 [特典版]" name-sort: "はなびひゃっけい [とくてんばん]" name-en: "Hanabi Hyakkei [Tokutenban]" region: "NTSC-J" + speedHacks: + instantVU1: 0 # Fixes working speed to correctly. + mtvu: 0 # Fixes working speed to correctly. SLPS-20309: name: "花火百景" name-sort: "はなびひゃっけい" name-en: "Hanabi Hyakkei" region: "NTSC-J" + speedHacks: + instantVU1: 0 # Fixes working speed to correctly. + mtvu: 0 # Fixes working speed to correctly. SLPS-20310: name: "麻雀飛龍伝説 天牌" name-sort: "まーじゃんひりゅうでんせつ てんぱい" @@ -53195,23 +53563,23 @@ SLPS-20353: name-en: "Suki na Mono ha Sukidakara Shouganai FIRST LIMIT & TARGET†NIGHTS Sukisho! Episode #01+#02 [Disc 2 of 2]" region: "NTSC-J" SLPS-20354: - name: "山佐Digiワールド3 [ベストオブベスト]" - name-sort: "やまさでじわーるど3 [べすとおぶべすと]" + name: "山佐Digiワールド3 [BEST OF BEST]" + name-sort: "やまさでじわーるど3 [BEST OF BEST]" name-en: "Yamasa Digi World 3 [Best of Best]" region: "NTSC-J" SLPS-20355: - name: "山佐DigiワールドSP ネオプラネットXX [ベストオブベスト]" - name-sort: "やまさでじわーるどSP ねおぷらねっとXX [べすとおぶべすと]" + name: "山佐DigiワールドSP ネオプラネットXX [BEST OF BEST]" + name-sort: "やまさでじわーるどSP ねおぷらねっとXX [BEST OF BEST]" name-en: "Yamasa Digi World SP - Neo Planett XX [Best of Best]" region: "NTSC-J" SLPS-20356: - name: "山佐Digiワールド4 [ベストオブベスト]" - name-sort: "やまさでじわーるど4 [べすとおぶべすと]" + name: "山佐Digiワールド4 [BEST OF BEST]" + name-sort: "やまさでじわーるど4 [BEST OF BEST]" name-en: "Yamasa Digi World 4 [Best of Best]" region: "NTSC-J" SLPS-20357: - name: "山佐DigiワールドSP 海一番R [ベストオブベスト]" - name-sort: "やまさでじわーるどSP うみいちばんR [べすとおぶべすと]" + name: "山佐DigiワールドSP 海一番R [BEST OF BEST]" + name-sort: "やまさでじわーるどSP うみいちばんR [BEST OF BEST]" name-en: "Yamasa Digi World SP - Umi Ichiban R [Best of Best]" region: "NTSC-J" SLPS-20361: @@ -53340,9 +53708,9 @@ SLPS-20383: gsHWFixes: alignSprite: 1 # Fixes vertical lines. SLPS-20384: - name: "流行り神 警視庁怪異事件ファイル (初回限定版)" + name: "流行り神 警視庁怪異事件ファイル [初回限定版]" name-sort: "はやりがみ けいしちょうかいいじけんふぁいる [しょかいげんていばん]" - name-en: "Hayarigami - Keishichou Kaii Jiken File" + name-en: "Hayarigami - Keishichou Kaii Jiken File [First Limited Edition]" region: "NTSC-J" SLPS-20386: name: "バリュー2000シリーズ 囲碁4" @@ -53434,6 +53802,8 @@ SLPS-20404: name-sort: "らくしょう! ぱちすろせんげん2 - じゅうじか・でかだん" name-en: "Rakushou! Pachi-Slot Sengen 2 - Juujika, Deka Dan" region: "NTSC-J" + gsHWFixes: + cpuFramebufferConversion: 1 # A liitle fixes some graphic glitchs on upper screen (not Perfectly). SLPS-20405: name: "スロッターUPコア5 ルパン大好き!主役は銭形" name-sort: "すろったーUPこあ 5 るぱんだいすき!しゅやくはぜにがた" @@ -53457,8 +53827,8 @@ SLPS-20408: compat: 5 SLPS-20409: name: "ファントム・キングダム [初回限定版]" - name-sort: "ふぁんとむ・きんぐだむ しょかいげんていばん" - name-en: "Phantom Kingdom [Limited Edition]" + name-sort: "ふぁんとむ・きんぐだむ [しょかいげんていばん]" + name-en: "Phantom Kingdom [First Limited Edition]" region: "NTSC-J" SLPS-20410: name: "ファントム・キングダム [通常版]" @@ -53510,6 +53880,8 @@ SLPS-20419: name-sort: "らくしょう! ぱちすろせんげん3 - りおでかーにばる・じゅうじか600しき" name-en: "Rakushou! Pachi-Slot Sengen 3 - Rio de Carnival, Juujika 600-shiki" region: "NTSC-J" + gsHWFixes: + cpuFramebufferConversion: 1 # A liitle fixes some graphic glitchs on upper screen (not Perfectly). SLPS-20420: name: "ウルトラマンネクサス" name-sort: "うるとらまんねくさす" @@ -53562,14 +53934,14 @@ SLPS-20427: name-en: "Pachi-Slot Club Collection - Pachi-Slot da yo Koumon-chama" region: "NTSC-J" SLPS-20428: - name: "モンキーターンV BANDAI THE BEST" - name-sort: "もんきーたーんV BANDAI THE BEST" + name: "モンキーターンV [BANDAI THE BEST]" + name-sort: "もんきーたーんV [BANDAI THE BEST]" name-en: "Monkey Turn V [Bandai the Best]" region: "NTSC-J" SLPS-20429: name: "必殺パチスロエヴォリューション 忍者ハットリくんV" name-sort: "ひっさつぱちすろえゔぉりゅーしょん にんじゃはっとりくんV" - name-en: "Hissatsu Pachislot Ninja Hattori Kun V" + name-en: "Hissatsu Pachi-Slot Ninja Hattori Kun V" region: "NTSC-J" SLPS-20430: name: "SIMPLE2000シリーズ Vol.91 THE ALL★STAR格闘祭" @@ -53640,7 +54012,7 @@ SLPS-20446: SLPS-20447: name: "仮面ライダー 響鬼 [初回生産版]" name-sort: "かめんらいだー ひびき [しょかいせいさんばん]" - name-en: "Kamen Rider Hibiki" + name-en: "Kamen Rider Hibiki [First Limited Edition]" region: "NTSC-J" compat: 5 SLPS-20448: @@ -53702,7 +54074,7 @@ SLPS-20456: SLPS-20457: name: "必殺パチスロエヴォリューション2 おそ松くん" name-sort: "ひっさつぱちすろえゔぉりゅーしょん2 おそまつくん" - name-en: "Hissatsu Pachislo Evolution 2 - Osomatsu-Kun" + name-en: "Hissatsu Pachi-Slot Evolution 2 - Osomatsu-Kun" region: "NTSC-J" SLPS-20458: name: "SIMPLE2000シリーズ Vol.96 THE 海賊 ~ガイコツいっぱいれーつ!~" @@ -53712,13 +54084,15 @@ SLPS-20458: SLPS-20459: name: "山佐DigiワールドSP 燃えよ!功夫淑女" name-sort: "やまさでじわーるどSP もえよ!かんふーれでぃ" - name-en: "Yamasa Digi World SP - Isao Lady" + name-en: "Yamasa Digi World SP - Moeyo! Kung Fu Lady" region: "NTSC-J" SLPS-20460: - name: "楽勝!パチスロ宣言4 - 真モグモグ風林火山・リオデカーニバル" - name-sort: "らくしょう!ぱちすろせんげん4 - しんもぐもぐふうりんかざん りおでかーにばる" + name: "楽勝! パチスロ宣言4 - 真モグモグ風林火山・リオデカーニバル" + name-sort: "らくしょう! ぱちすろせんげん4 - しんもぐもぐふうりんかざん りおでかーにばる" name-en: "Rakushou! Pachi-Slot Sengen 4 - Shin MoguMogu FuuRinKaZan,Rio de Carnival" region: "NTSC-J" + gsHWFixes: + cpuFramebufferConversion: 1 # A liitle fixes some graphic glitchs on upper screen (not Perfectly). SLPS-20461: name: "SIMPLE2000シリーズ Vol.99 THE 原始人" name-sort: "しんぷる2000しりーず Vol. 99 THE げんしじん" @@ -53726,14 +54100,14 @@ SLPS-20461: region: "NTSC-J" compat: 5 SLPS-20462: - name: "黄金騎士 牙狼[限定版]" + name: "黄金騎士 牙狼 [限定版]" name-sort: "おうごんきし がろう [げんていばん]" name-en: "Ougon Kishi Garo [Limited Edition]" region: "NTSC-J" SLPS-20463: - name: "黄金騎士 牙狼[通常版]" - name-sort: "おうごんきし がろう つうじょうばん" - name-en: "Ougon Kishi Garo" + name: "黄金騎士 牙狼 [通常版]" + name-sort: "おうごんきし がろう [つうじょうばん]" + name-en: "Ougon Kishi Garo [Standard Edition]" region: "NTSC-J" SLPS-20464: name: "SIMPLE2000シリーズ Vol.105 THE メイド服と機関銃" @@ -53839,8 +54213,8 @@ SLPS-20482: name-en: "3D Mahjong + Janpai Tori" region: "NTSC-J" SLPS-20483: - name: "仮面ライダーカブト" - name-sort: "かめんらいだーかぶと" + name: "仮面ライダー カブト" + name-sort: "かめんらいだー かぶと" name-en: "Kamen Rider Kabuto" region: "NTSC-J" gsHWFixes: @@ -54197,7 +54571,7 @@ SLPS-25032: name-en: "Golful Golf" region: "NTSC-J" SLPS-25033: - name: "風のクロノア2~世界が望んだ忘れもの~" + name: "風のクロノア2 ~世界が望んだ忘れもの~" name-sort: "かぜのくろのあ2 せかいがのぞんだわすれもの" name-en: "Kaze no Klonoa 2 - Sekai ga Nozonda Wasuremono" region: "NTSC-J" @@ -54271,7 +54645,7 @@ SLPS-25041: SLPS-25042: name: "魔剣爻 -MAKEN SHAO-[初回限定版]" name-sort: "まけんしゃお [しょかいげんていばん]" - name-en: "Maken Shao [Limited Edition]" + name-en: "Maken Shao [First Limited Edition]" region: "NTSC-J" speedHacks: mvuFlag: 0 @@ -54353,7 +54727,7 @@ SLPS-25053: name-en: "Eikan ha Kimi ni - Koushien no Hasha" region: "NTSC-J" SLPS-25054: - name: "玉繭物語2~滅びの蟲~" + name: "玉繭物語2 ~滅びの蟲~" name-sort: "たままゆものがたり2 ほろびのむし" name-en: "Tamamayu Story 2" region: "NTSC-J" @@ -54509,7 +54883,7 @@ SLPS-25079: SLPS-25080: name: "宇宙戦艦ヤマト イスカンダルへの追憶 [初回生産限定版]" name-sort: "うちゅうせんかんやまと いすかんだるへのついおく [しょかいせいさんげんていばん]" - name-en: "Uchuu Senkan Yamato - Iscandar he no Tsuioku [Special Edition]" + name-en: "Uchuu Senkan Yamato - Iscandar he no Tsuioku [First Limited Edition]" region: "NTSC-J" SLPS-25081: name: "最終電車" @@ -54618,7 +54992,7 @@ SLPS-25102: name-en: "Project Arms" region: "NTSC-J" SLPS-25103: - name: "スーパーロボット大戦IMPACT 限定版" + name: "スーパーロボット大戦IMPACT [限定版]" name-sort: "すーぱーろぼっとたいせんIMPACT [げんていばん]" name-en: "Super Robot Taisen Impact [Limited Edition]" region: "NTSC-J" @@ -54724,7 +55098,7 @@ SLPS-25120: region: "NTSC-J" SLPS-25121: name: ".hack//感染拡大 Vol.1" - name-sort: "どっとはっく かんせんかくだい Vol.1" + name-sort: "どっとはっく01 かんせんかくだい Vol.1" name-en: ".hack//Infection Part 1" region: "NTSC-J" gsHWFixes: @@ -54840,7 +55214,7 @@ SLPS-25142: - VUSyncHack # Fixes the inverted legs. SLPS-25143: name: ".hack//悪性変異 Vol.2" - name-sort: "どっとはっく あくせいへんい Vol.2" + name-sort: "どっとはっく02 あくせいへんい Vol.2" name-en: ".hack//Mutation Part 2" region: "NTSC-J" memcardFilters: @@ -54929,7 +55303,7 @@ SLPS-25157: vuClampMode: 3 # Missing geometry with microVU. SLPS-25158: name: ".hack//侵食汚染 Vol.3" - name-sort: "どっとはっく しんしょくおせん Vol.3" + name-sort: "どっとはっく03 しんしょくおせん Vol.3" name-en: ".hack//Outbreak Part 3" region: "NTSC-J" memcardFilters: @@ -54956,14 +55330,14 @@ SLPS-25160: name-en: "Final Fantasy XI 2002 [Special Art Box]" region: "NTSC-J" SLPS-25161: - name: "宇宙戦艦ヤマト 暗黒星団帝国の逆襲 [初回生産限定]" + name: "宇宙戦艦ヤマト 暗黒星団帝国の逆襲 [初回生産限定版]" name-sort: "うちゅうせんかんやまと あんこくせいだんていこくのぎゃくしゅう [しょかいせいさんげんてい]" - name-en: "Uchuu Senkan Yamato - Ankoku Seidan Teikoku no Gyakushuu [Special Edition]" + name-en: "Uchuu Senkan Yamato - Ankoku Seidan Teikoku no Gyakushuu [First Limited Edition]" region: "NTSC-J" SLPS-25162: - name: "宇宙戦艦ヤマト 暗黒星団帝国の逆襲" - name-sort: "うちゅうせんかんやまと あんこくせいだんていこくのぎゃくしゅう" - name-en: "Uchuu Senkan Yamato - Ankoku Seidan Teikoku no Gyakushuu" + name: "宇宙戦艦ヤマト 暗黒星団帝国の逆襲 [通常版]" + name-sort: "うちゅうせんかんやまと あんこくせいだんていこくのぎゃくしゅう [つうじょうばん]" + name-en: "Uchuu Senkan Yamato - Ankoku Seidan Teikoku no Gyakushuu [Standard Edition]" region: "NTSC-J" SLPS-25164: name: "宇宙戦艦ヤマト 二重銀河の崩壊" @@ -55012,7 +55386,7 @@ SLPS-25170: SLPS-25171: name: "ルパン三世 魔術王の遺産" name-sort: "るぱんさんせい まじゅつおうのいさん" - name-en: "Lupin III - Majutsu no Isan" + name-en: "Lupin III-sei - Majutsuou no Isan" region: "NTSC-J" SLPS-25172: name: "テイルズ オブ デスティニー2" @@ -55123,7 +55497,7 @@ SLPS-25191: SLPS-25192: name: "My Merry May [初回限定版]" name-sort: "まい めりー めい [しょかいげんていばん]" - name-en: "My Merry May [First print Limited Edition]" + name-en: "My Merry May [First Limited Edition]" region: "NTSC-J" SLPS-25193: name: "My Merry May" @@ -55134,8 +55508,8 @@ SLPS-25194: name: "Herdy Gerdy" region: "NTSC-J" SLPS-25195: - name: "ヴィーナス&ブレイブス ~魔女と女神と滅びの予言~ プレミアムボックス" - name-sort: "ゔぃーなす&ぶれいぶす まじょとめがみとほろびのよげん ぷれみあむぼっくす" + name: "ヴィーナス&ブレイブス ~魔女と女神と滅びの予言~ [プレミアムボックス]" + name-sort: "ゔぃーなす&ぶれいぶす まじょとめがみとほろびのよげん [ぷれみあむぼっくす]" name-en: "Venus & Braves [Premium Pack]" region: "NTSC-J" compat: 5 @@ -55185,7 +55559,7 @@ SLPS-25201: - InstantDMAHack # Fixes NULL GIFChain hang. SLPS-25202: name: ".hack//絶対包囲 Vol.4" - name-sort: "どっとはっく ぜったいほうい Vol.4" + name-sort: "どっとはっく04 ぜったいほうい Vol.4" name-en: ".hack//Quarantine Part 4" region: "NTSC-J" memcardFilters: @@ -55263,7 +55637,7 @@ SLPS-25214: SLPS-25215: name: "Iris [初回限定版]" name-sort: "いりす [しょかいげんていばん]" - name-en: "Iris [Limited Edition]" + name-en: "Iris [First Limited Edition]" region: "NTSC-J" SLPS-25216: name: "Iris" @@ -55290,7 +55664,7 @@ SLPS-25220: SLPS-25221: name: "Piaキャロットへようこそ!!3 ~round summer~ [初回限定版]" name-sort: "ぴあきゃろっとへようこそ!!3 ~らうんど さまー~ [しょかいげんていばん]" - name-en: "Welcome to Pia Carrot!! 3 - eound summer - [Limited Edition]" + name-en: "Welcome to Pia Carrot!! 3 - eound summer - [First Limited Edition]" region: "NTSC-J" SLPS-25222: name: "Piaキャロットへようこそ!!3 ~round summer~ [通常版]" @@ -55305,7 +55679,7 @@ SLPS-25223: SLPS-25224: name: "藍より青し [初回限定版]" name-sort: "あいよりあおし [しょかいげんていばん]" - name-en: "Ai yori Aoshi [First Print Limited Edition]" + name-en: "Ai yori Aoshi [First Limited Edition]" region: "NTSC-J" SLPS-25225: name: "藍より青し [通常版]" @@ -55551,7 +55925,7 @@ SLPS-25264: autoFlush: 2 # Fixes DOF effect. SLPS-25265: name: "ラーゼフォン 蒼穹幻想曲 [通常版]" - name-sort: "らーぜふぉん そうきゅうげんそうきょく" + name-sort: "らーぜふぉん そうきゅうげんそうきょく [つうじょうばん]" name-en: "RAhXEPhON - Soukyuu Gensoukyoku [Standard Edition]" region: "NTSC-J" roundModes: @@ -55644,7 +56018,7 @@ SLPS-25287: SLPS-25288: name: "D→A:BLACK [初回限定版]" name-sort: "D→A:BLACK [しょかいげんていばん]" - name-en: "D-A - Black [Limited Edition]" + name-en: "D-A - Black [First Limited Edition]" region: "NTSC-J" SLPS-25289: name: "タイムクライシス3 [ガンコン2同梱]" @@ -55670,9 +56044,9 @@ SLPS-25291: texturePreloading: 1 # Performs much better with partial preload. estimateTextureRegion: 1 # Improves performance. SLPS-25292: - name: "D→A:BLACK" - name-sort: "D→A:BLACK" - name-en: "D-A - Black" + name: "D→A:BLACK [通常版]" + name-sort: "D→A:BLACK [つうじょうばん]" + name-en: "D-A - Black [Standard Edition]" region: "NTSC-J" SLPS-25293: name: "NARUTO-ナルト- ナルティメットヒーロー" @@ -55738,7 +56112,7 @@ SLPS-25302: SLPS-25303: name: "零 ~紅い蝶~" name-sort: "ぜろ あかいちょう" - name-en: "Zero - Crimson Butterfly" + name-en: "Fatal Frame II - Crimson Butterfly" region: "NTSC-J" compat: 5 SLPS-25304: @@ -55849,7 +56223,7 @@ SLPS-25323: SLPS-25324: name: "西風の狂詩曲 [初回限定版]" name-sort: "にしかぜのらぷそでぃ [しょかいげんていばん]" - name-en: "Rhapsody of Zephyr, The [First Print limited Edition]" + name-en: "Rhapsody of Zephyr, The [First Limited Edition]" region: "NTSC-J" SLPS-25326: name: "エキサイティングプロレス 5 [限定版]" @@ -55898,7 +56272,7 @@ SLPS-25333: SLPS-25334: name: "シャドウハーツⅡ [通常版] [ディスク1/2]" name-sort: "しゃどうはーつ2 [つうじょうばん] [でぃすく1/2]" - name-en: "Shadow Hearts II [Disc 1 of 2]" + name-en: "Shadow Hearts II [Standard Edition] [Disc 1 of 2]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Fixes shadow positioning. @@ -55906,7 +56280,7 @@ SLPS-25334: SLPS-25335: name: "シャドウハーツⅡ [通常版] [ディスク2/2]" name-sort: "しゃどうはーつ2 [つうじょうばん] [でぃすく2/2]" - name-en: "Shadow Hearts II [Disc 2 of 2]" + name-en: "Shadow Hearts II [Standard Edition] [Disc 2 of 2]" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Fixes shadow positioning. @@ -55998,9 +56372,9 @@ SLPS-25347: name-en: "King of Fighters 2002, The" region: "NTSC-J" SLPS-25348: - name: "こころの扉 初回限定版 コレクターズエディション" - name-sort: "こころのとびら しょかいげんていばん これくたーずえでぃしょん" - name-en: "Kokoro no Tobira [Limited Edition]" + name: "こころの扉 初回限定版 [コレクターズエディション]" + name-sort: "こころのとびら しょかいげんていばん [これくたーずえでぃしょん]" + name-en: "Kokoro no Tobira [Collector's Edition]" region: "NTSC-J" SLPS-25349: name: "こころの扉" @@ -56010,7 +56384,7 @@ SLPS-25349: SLPS-25350: name: "熱チュー!プロ野球2004" name-sort: "ねっちゅー!ぷろやきゅう2004" - name-en: "Necchu! Pro Baseball 2004" + name-en: "Necchu! Pro Proyakyuu 2004" region: "NTSC-J" SLPS-25351: name: "バーンアウト2 ポイント オブ インパクト" @@ -56061,7 +56435,7 @@ SLPS-25357: SLPS-25358: name: "金色のガッシュベル!! 友情タッグバトル" name-sort: "こんじきのがっしゅべる!! ゆうじょうたっぐばとる" - name-en: "Gold Gasho Bell! - Friendship Tag Battle" + name-en: "Gold Gashbell!! - Friendship Tag Battle" region: "NTSC-J" SLPS-25359: name: "シャーマンキング ふんばりスピリッツ" @@ -56112,8 +56486,8 @@ SLPS-25365: name-en: "Missing Blue [Best Price]" region: "NTSC-J" SLPS-25366: - name: "ゼノサーガ エピソードⅡ [善悪の彼岸] プレミアムボックス [ディスク1/2]" - name-sort: "ぜのさーが えぴそーど2 ぜんあくのひがん ぷれみあむぼっくす [でぃすく1/2]" + name: "ゼノサーガ エピソードⅡ [善悪の彼岸] [プレミアムボックス] [ディスク1/2]" + name-sort: "ぜのさーが えぴそーど2 ぜんあくのひがん [ぷれみあむぼっくす] [でぃすく1/2]" name-en: "Xenosaga Episode II - Jenseits von Gut und Bose [Premium Box] [Disc 1 of 2]" region: "NTSC-J" gsHWFixes: @@ -56129,8 +56503,8 @@ SLPS-25366: - "SLPS-25353" - "SLPS-73224" SLPS-25367: - name: "ゼノサーガ エピソードⅡ [善悪の彼岸] プレミアムボックス [ディスク2/2]" - name-sort: "ぜのさーが えぴそーど2 ぜんあくのひがん ぷれみあむぼっくす [でぃすく2/2]" + name: "ゼノサーガ エピソードⅡ [善悪の彼岸] [プレミアムボックス] [ディスク2/2]" + name-sort: "ぜのさーが えぴそーど2 ぜんあくのひがん [ぷれみあむぼっくす] [でぃすく2/2]" name-en: "Xenosaga Episode II - Jenseits von Gut und Bose [Premium Box] [Disc 2 of 2]" region: "NTSC-J" gsHWFixes: @@ -56187,7 +56561,7 @@ SLPS-25370: SLPS-25371: name: "DearS [初回限定版]" name-sort: "でぃあーず [しょかいげんていばん]" - name-en: "DearS [Limited Edition]" + name-en: "DearS [First Limited Edition]" region: "NTSC-J" SLPS-25372: name: "DearS" @@ -56223,7 +56597,7 @@ SLPS-25377: SLPS-25378: name: "東京魔人學園外法帖血風録 [初回限定版]" name-sort: "とうきょうまじんがくえんげほうちょうけっぷうろく [しょかいげんていばん]" - name-en: "Tokyo Majin Gakuen - Kaihoujyou Kefurokou [Limited Edition]" + name-en: "Tokyo Majin Gakuen - Kaihoujyou Kefurokou [First Limited Edition]" region: "NTSC-J" SLPS-25379: name: "東京魔人學園外法帖血風録" @@ -56280,7 +56654,7 @@ SLPS-25389: SLPS-25390: name: "クローバーハーツ ルッキングフォーハピネス [初回限定版]" name-sort: "くろーばーはーつ るっきんぐふぉーはぴねす [しょかいげんていばん]" - name-en: "Clover Heart's - Looking for Happiness [Limited Edition]" + name-en: "Clover Heart's - Looking for Happiness [First Limited Edition]" region: "NTSC-J" gsHWFixes: minimumBlendingLevel: 4 # Fixes transparancy. @@ -56318,8 +56692,8 @@ SLPS-25396: region: "NTSC-J" SLPS-25397: name: "シンドバットアドベンチャーは榎本加奈子でどうですか [特典版]" - name-sort: "しんどばっどあどべんちゃーはえのもとかなこでどうですか とくてんばん" - name-en: "Golden Voyage - Sindbad Adventure" + name-sort: "しんどばっどあどべんちゃーはえのもとかなこでどうですか [とくてんばん]" + name-en: "Sindbad Adventure wa Enomoto Kanako de Doudesuka [Limiter Edition]" region: "NTSC-J" SLPS-25398: name: "NARUTO-ナルト- ナルティメットヒーロー2" @@ -56416,9 +56790,9 @@ SLPS-25408: replacement: - { offset: 0x4, value: 0x3442CCE0 } SLPS-25409: - name: "双恋—フタコイ— 初回限定版" - name-sort: "ふたこい しょかいげんていばん" - name-en: "Futakoi [Limited Edition]" + name: "双恋—フタコイ— [初回限定版]" + name-sort: "ふたこい [しょかいげんていばん]" + name-en: "Futakoi [First Limited Edition]" region: "NTSC-J" SLPS-25410: name: "双恋—フタコイ—" @@ -56426,8 +56800,8 @@ SLPS-25410: name-en: "Futakoi" region: "NTSC-J" SLPS-25411: - name: "ToHeart & ToHeart2 限定デラックスパック" - name-sort: "とぅはーと & とぅはーと2 げんていでらっくすぱっく" + name: "ToHeart & ToHeart2 [限定デラックスパック]" + name-sort: "とぅはーと & とぅはーと2 [げんていでらっくすぱっく]" name-en: "To Heart 2 [Deluxe Edition]" region: "NTSC-J" SLPS-25412: @@ -56435,9 +56809,9 @@ SLPS-25412: name-sort: "とぅはーと" region: "NTSC-J" SLPS-25413: - name: "ToHeart2 初回限定版" - name-sort: "とぅはーと2 しょかいげんていばん" - name-en: "ToHeart 2 [Limited Edition]" + name: "ToHeart2 [初回限定版]" + name-sort: "とぅはーと2 [しょかいげんていばん]" + name-en: "ToHeart 2 [First Limited Edition]" region: "NTSC-J" SLPS-25414: name: "ToHeart2" @@ -56445,14 +56819,14 @@ SLPS-25414: name-en: "ToHeart 2" region: "NTSC-J" SLPS-25415: - name: "ちゅ~かな雀士 てんほー牌娘 コレクターズエディション" - name-sort: "ちゅーかなじゃんし てんほーぱいにゃん これくたーずえでぃしょん" + name: "ちゅ~かな雀士 てんほー牌娘 [コレクターズエディション]" + name-sort: "ちゅーかなじゃんし てんほーぱいにゃん [これくたーずえでぃしょん]" name-en: "Chuuka na Janshi - Tenhoo Painyan [Collector's Edition]" region: "NTSC-J" SLPS-25416: name: "ちゅ~かな雀士 てんほー牌娘 [通常版]" - name-sort: "ちゅーかなじゃんし てんほーぱいにゃん" - name-en: "Chuuka na Janshi - Tenhoo Painyan" + name-sort: "ちゅーかなじゃんし てんほーぱいにゃん [つうじょうばん]" + name-en: "Chuuka na Janshi - Tenhoo Painyan [Standard Edition]" region: "NTSC-J" SLPS-25417: name: "PANZER FRONT Ausf.B [eb!コレ]" @@ -56489,12 +56863,12 @@ SLPS-25419: SLPS-25420: name: "シンドバットアドベンチャーは榎本加奈子でどうですか" name-sort: "しんどばっどあどべんちゃーはえのもとかなこでどうですか" - name-en: "Golden Voyage - Sindbad Adventure" + name-en: "Sindbad Adventure wa Enomoto Kanako de Doudesuka" region: "NTSC-J" SLPS-25421: name: "牧場物語 Oh! ワンダフルライフ [初回版]" name-sort: "ぼくじょうものがたり Oh わんだふるらいふ [しょかいばん]" - name-en: "Bokujou Monogatari - Oh! Wonderful Life [First Print Limited Edition]" + name-en: "Bokujou Monogatari - Oh! Wonderful Life [First Limited Edition]" region: "NTSC-J" patches: D2F0DC73: @@ -56568,13 +56942,13 @@ SLPS-25431: region: "NTSC-J" SLPS-25432: name: "魔女っ娘ア・ラ・モード 唱えて、恋の魔法! [初回限定版]" - name-sort: "まじょっこあらもーど となえて こいのまほう! しょかいげんていばん" + name-sort: "まじょっこあらもーど となえて こいのまほう! [しょかいげんていばん]" name-en: "Majo-kko A La Mode [Magical Box]" region: "NTSC-J" SLPS-25433: name: "帝国千戦記 [初回限定版]" - name-sort: "ていこくせんせんき しょかいげんていばん" - name-en: "Teikoku Sensenki [Limited Edition]" + name-sort: "ていこくせんせんき [しょかいげんていばん]" + name-en: "Teikoku Sensenki [First Limited Edition]" region: "NTSC-J" SLPS-25434: name: "西風の狂詩曲~The Rhapsody of Zephyr~ Best Collection" @@ -56594,12 +56968,12 @@ SLPS-25436: SLPS-25437: name: "D→A:WHITE [初回限定版]" name-sort: "D→A:WHITE [しょかいげんていばん]" - name-en: "D A - White" + name-en: "D A - White [First Limited Edition]" region: "NTSC-J" SLPS-25438: - name: "D→A:WHITE" - name-sort: "D→A:WHITE" - name-en: "D A - White [Limited Edition]" + name: "D→A:WHITE [通常版]" + name-sort: "D→A:WHITE [つうじょうばん]" + name-en: "D A - White [Stnadard Edition]" region: "NTSC-J" SLPS-25439: name: "はじめの一歩 ALL☆STARS" @@ -56609,11 +56983,11 @@ SLPS-25439: SLPS-25440: name: "金色のガッシュベル!! 激闘!最強の魔物達" name-sort: "こんじきのがっしゅべる げきとう さいきょうのまものたち" - name-en: "Gold Gashbell!! Gekitou! Saikyou no Mamonotachi" + name-en: "Gold Gashbell!! - Gekitou! Saikyou no Mamonotachi" region: "NTSC-J" SLPS-25441: - name: "ウルトラマン Fighting Evolution3" - name-sort: "うるとらまん Fighting Evolution3" + name: "ウルトラマン Fighting Evolution 3" + name-sort: "うるとらまん Fighting Evolution 3" name-en: "Ultraman Fighting Evolution 3" region: "NTSC-J" SLPS-25443: @@ -56662,9 +57036,9 @@ SLPS-25451: gsHWFixes: textureInsideRT: 1 # Fixes some of the many graphical issues. SLPS-25452: - name: "キノの旅 -the Beautiful World- 電撃SP" - name-sort: "きののたび the Beautiful World でんげきSP" - name-en: "Kino no Tabi - The Beautiful World [MediaWorks Best]" + name: "キノの旅 -the Beautiful World- [電撃SP]" + name-sort: "きののたび the Beautiful World [でんげきSP]" + name-en: "Kino no Tabi - The Beautiful World [Dengeki SP]" region: "NTSC-J" SLPS-25453: name: "デジモンワールドX" @@ -56756,9 +57130,9 @@ SLPS-25465: name-en: "Azumi" region: "NTSC-J" SLPS-25466: - name: "永遠のアセリア -この大地の果てで- 初回限定版" - name-sort: "えいえんのあせりあ このだいちのはてで しょかいげんていばん" - name-en: "Eternal Aselia - The Spirit of Eternity Sword [Limited Edition]" + name: "永遠のアセリア -この大地の果てで- [初回限定版]" + name-sort: "えいえんのあせりあ このだいちのはてで [しょかいげんていばん]" + name-en: "Eternal Aselia - The Spirit of Eternity Sword [First Limited Edition]" region: "NTSC-J" SLPS-25467: name: "みんな大好き塊魂" @@ -56834,7 +57208,7 @@ SLPS-25478: SLPS-25479: name: "金色のガッシュベル!!友情タッグバトル2" name-sort: "こんじきのがっしゅべる!!ゆうじょうたっぐばとる2" - name-en: "Gold Gashbell - Friendship Tag Battle 2" + name-en: "Gold Gashbell!! - Friendship Tag Battle 2" region: "NTSC-J" SLPS-25480: name: "ジパング" @@ -56846,6 +57220,9 @@ SLPS-25481: name-sort: "がっつだ もりのいしまつ" name-en: "Gattsu Da!! Mori no Ishimatsu" region: "NTSC-J" + speedHacks: + instantVU1: 0 # Fixes Turbo mode Freeze. + mtvu: 0 # Fixes Turbo mode Freeze. SLPS-25482: name: "雪語り リニューアル版" name-sort: "ゆきがたり りにゅーあるばん" @@ -56919,8 +57296,8 @@ SLPS-25496: region: "NTSC-J" SLPS-25497: name: "ティアリングサーガシリーズ ベルウィックサーガ [通常版]" - name-sort: "てぃありんぐさーがしりーず べるうぃっくさーが" - name-en: "TearRing Saga Series - Berwick Saga" + name-sort: "てぃありんぐさーがしりーず べるうぃっくさーが [つうじょうばん]" + name-en: "TearRing Saga Series - Berwick Saga [Standard Edition]" region: "NTSC-J" SLPS-25498: name: "時空冒険記 ゼントリックス" @@ -57005,8 +57382,8 @@ SLPS-25511: region: "NTSC-J" SLPS-25513: name: "蒼い海のトリスティア ~ナノカ・フランカ発明工房記~ [初回限定版]" - name-sort: "あおいうみのとりすてぃあ なのか ふらんかはつめいこうぼうき しょかいげんていばん" - name-en: "Aoi Umi no Tristia - Nanoca Flanka Hatsumei Koubouki [First Print Limited Edition]" + name-sort: "あおいうみのとりすてぃあ なのか ふらんかはつめいこうぼうき [しょかいげんていばん]" + name-en: "Aoi Umi no Tristia - Nanoca Flanka Hatsumei Koubouki [First Limited Edition]" region: "NTSC-J" SLPS-25514: name: "蒼い海のトリスティア ~ナノカ・フランカ発明工房記~" @@ -57014,7 +57391,7 @@ SLPS-25514: name-en: "Aoi Umi no Tristia - Nanoca Flanka Hatsumei Koubouki" region: "NTSC-J" SLPS-25515: - name: "フタコイ オルタナティブ 恋と少女とマシンガン 限定版" + name: "フタコイ オルタナティブ 恋と少女とマシンガン [限定版]" name-sort: "ふたこい おるたなてぃぶ こいとしょうじょとましんがん [げんていばん]" name-en: "Futakoi Alternative [Limited Edition]" region: "NTSC-J" @@ -57049,8 +57426,8 @@ SLPS-25521: name-en: "Soccer Life 2" region: "NTSC-J" SLPS-25522: - name: "義経紀 限定版 豪華絢爛BOX" - name-sort: "よしつねき [げんていばん] ごうかけんらんBOX" + name: "義経紀 [限定版 豪華絢爛BOX]" + name-sort: "よしつねき [げんていばん ごうかけんらんBOX]" name-en: "Yoshitsuneki [Gouka Kenran Box]" region: "NTSC-J" SLPS-25523: @@ -57180,9 +57557,9 @@ SLPS-25545: region: "NTSC-J" compat: 5 SLPS-25546: - name: "苺ましまろ 初回限定版" - name-sort: "いちごましまろ しょかいげんていばん" - name-en: "Ichigo Mashimaro [Limited Edition]" + name: "苺ましまろ [初回限定版]" + name-sort: "いちごましまろ [しょかいげんていばん]" + name-en: "Ichigo Mashimaro [First Limited Edition]" region: "NTSC-J" SLPS-25547: name: "苺ましまろ" @@ -57202,7 +57579,7 @@ SLPS-25549: SLPS-25550: name: "カウボーイビバップ 追憶の夜曲 [初回生産限定版]" name-sort: "かうぼーいびばっぷ ついおくのせれなーで [しょかいせいさんげんていばん]" - name-en: "Cowboy Bebop - Tsuioku no Serenade [Limited Edition]" + name-en: "Cowboy Bebop - Tsuioku no Serenade [First Limited Edition]" region: "NTSC-J" clampModes: eeClampMode: 0 # Fixes HUD going black. @@ -57215,8 +57592,8 @@ SLPS-25551: eeClampMode: 0 # Fixes HUD going black. compat: 5 SLPS-25552: - name: "犬夜叉~呪詛の仮面~ BANDAI THE BEST" - name-sort: "いぬやしゃ じゅそのかめん BANDAI THE BEST" + name: "犬夜叉~呪詛の仮面~ [BANDAI THE BEST]" + name-sort: "いぬやしゃ じゅそのかめん [BANDAI THE BEST]" name-en: "Inuyasha - Juuso no Kamen [Bandai the Best]" region: "NTSC-J" SLPS-25553: @@ -57303,8 +57680,8 @@ SLPS-25567: name-en: "Pachitte Chonmage Tatsujin 9 - Pachinko Mito-Koumon" region: "NTSC-J" SLPS-25568: - name: "ケロロ軍曹 メロメロバトルロイヤル BANDAI THE BEST" - name-sort: "けろろぐんそう めろめろばとるろいやる BANDAI THE BEST" + name: "ケロロ軍曹 メロメロバトルロイヤル [BANDAI THE BEST]" + name-sort: "けろろぐんそう めろめろばとるろいやる [BANDAI THE BEST]" name-en: "Keroro Gunsou - Mero Mero Battle Royale [Bandai The Best]" region: "NTSC-J" gsHWFixes: @@ -57439,8 +57816,8 @@ SLPS-25587: name-en: "Sugar Sugar Rune - Koi mo Oshare mo Pick-Up" region: "NTSC-J" SLPS-25588: - name: "名探偵コナン 大英帝国の遺産 BANDAI THE BEST" - name-sort: "めいたんていこなん だいえいていこくのいさん BANDAI THE BEST" + name: "名探偵コナン 大英帝国の遺産 [BANDAI THE BEST]" + name-sort: "めいたんていこなん だいえいていこくのいさん [BANDAI THE BEST]" name-en: "Meitantei Conan - Daiei Teikoku no Isan [Bandai The Best]" region: "NTSC-J" gsHWFixes: @@ -57480,17 +57857,17 @@ SLPS-25593: SLPS-25594: name: "金色のガッシュベル!!ゴー!ゴー!魔物ファイト!! [旧本体用マルチタップ同梱]" name-sort: "こんじきのがっしゅべる!!ごー!ごー!まものふぁいと!! [旧本体用マルチタップ同梱]" - name-en: "Konjiki no Gashbell! - Go!Go! Mamono Fight [with Multi-Tap for Old ver.PS2]" + name-en: "Gold Gashbell!! - Go!Go! Mamono Fight [with Multi-Tap for Old ver.PS2]" region: "NTSC-J" SLPS-25595: name: "金色のガッシュベル!!ゴー!ゴー!魔物ファイト!! [Slim本体用マルチタップ同梱]" name-sort: "こんじきのがっしゅべる!!ごー!ごー!まものふぁいと!! [Slim本体用マルチタップ同梱]" - name-en: "Konjiki no Gashbell! - Go!Go! Mamono Fight [with Multi-Tap for Slim ver.PS2]" + name-en: "Gold Gashbell!! - Go!Go! Mamono Fight [with Multi-Tap for Slim ver.PS2]" region: "NTSC-J" SLPS-25596: name: "金色のガッシュベル!!ゴー!ゴー!魔物ファイト!! [ソフト単体]" name-sort: "こんじきのがっしゅべる!!ごー!ごー!まものふぁいと!! [そふとたんたい]" - name-en: "Konjiki no Gashbell! - Go!Go! Mamono Fight [Only Soft]" + name-en: "Gold Gashbell!! - Go!Go! Mamono Fight [Only Soft]" region: "NTSC-J" SLPS-25597: name: "川のぬし釣り ワンダフルジャーニー Best Collection" @@ -57537,7 +57914,7 @@ SLPS-25604: SLPS-25605: name: "NEOGEOオンラインコレクション Vol.3 THE KING OF FIGHTERS ~オロチ編~ [通常版]" name-sort: "ねおじおおんらいんこれくしょん Vol. 3 ざ きんぐ おぶ ふぁいたーず おろちへん [つうじょうばん]" - name-en: "NeoGeo Online Collection Vol.3 - The King of Fighters - Orochi Collection" + name-en: "NeoGeo Online Collection Vol.3 - The King of Fighters - Orochi Collection [Standard Edition]" region: "NTSC-J" SLPS-25606: name: "絶体絶命都市2 -凍てついた記憶たち-" @@ -57552,7 +57929,7 @@ SLPS-25606: SLPS-25607: name: "魔界戦記ディスガイア2 [初回限定版]" name-sort: "まかいせんきでぃすがいあ2 [しょかいげんていばん]" - name-en: "Makai Senki Disgaea 2 [Limited Edition]" + name-en: "Makai Senki Disgaea 2 [First Limited Edition]" region: "NTSC-J" SLPS-25608: name: "魔界戦記ディスガイア2" @@ -57563,7 +57940,7 @@ SLPS-25608: SLPS-25609: name: "KOF MAXIMUM IMPACT2 [初回限定DVD同梱版]" name-sort: "ざ きんぐ おぶ ふぁいたーず まきしまむ いんぱくと2 [しょかいげんていDVDどうこんばん]" - name-en: "King of Fighters, The - Maximum Impact 2 [with DVD Limited Edition]" + name-en: "King of Fighters, The - Maximum Impact 2 [with DVD / First Limited Edition]" region: "NTSC-J" SLPS-25610: name: "NEOGEOオンラインコレクション Vol.4 龍虎の拳 ~天・地・人~" @@ -57573,12 +57950,12 @@ SLPS-25610: SLPS-25611: name: "Strawberry Panic! [初回限定版]" name-sort: "すとろべりーぱにっく! [しょかいげんていばん]" - name-en: "Strawberry Panic [Limited Edition]" + name-en: "Strawberry Panic [First Limited Edition]" region: "NTSC-J" SLPS-25612: name: "Strawberry Panic! [通常版]" - name-sort: "すとろべりーぱにっく!" - name-en: "Strawberry Panic" + name-sort: "すとろべりーぱにっく! [つうじょうばん]" + name-en: "Strawberry Panic [Standard Edition]" region: "NTSC-J" SLPS-25613: name: "マイホームをつくろう2! 匠 Best Collection" @@ -57606,13 +57983,13 @@ SLPS-25617: name-en: "Etude Prologue - Yureugoku Kokoro no Katachi" region: "NTSC-J" SLPS-25618: - name: "D→A:BLACK [ベストプライス]" - name-sort: "D→A:BLACK [べすとぷらいす]" + name: "D→A:BLACK [Best Price]" + name-sort: "D→A:BLACK [Best Price]" name-en: "D-A - Black [Best Price]" region: "NTSC-J" SLPS-25619: - name: "D→A:WHITE [ベストプライス]" - name-sort: "D→A:WHITE [べすとぷらいす]" + name: "D→A:WHITE [Best Price]" + name-sort: "D→A:WHITE [Best Price]" name-en: "D-A - White [Best Price]" region: "NTSC-J" SLPS-25620: @@ -57849,9 +58226,9 @@ SLPS-25652: name-en: ".hack//G.U. Vol.1 - Rebirth [Terminal Disc - The End of the World]" region: "NTSC-J" SLPS-25653: - name: "クラスターエッジ 君を待つ未来への証 初回限定版" - name-sort: "くらすたーえっじ きみをまつみらいへのあかし しょかいげんていばん" - name-en: "Cluster Edge [Limited Edition]" + name: "クラスターエッジ 君を待つ未来への証 [初回限定版]" + name-sort: "くらすたーえっじ きみをまつみらいへのあかし [しょかいげんていばん]" + name-en: "Cluster Edge [First Limited Edition]" region: "NTSC-J" SLPS-25654: name: "クラスターエッジ 君を待つ未来への証" @@ -57913,13 +58290,13 @@ SLPS-25657: halfPixelOffset: 2 # Helps ghosting when upscaling. SLPS-25658: name: "びんちょうタン しあわせ暦 [初回限定版]" - name-sort: "びんちょうたん しあわせごよみ しょかいげんていばん" - name-en: "Binchou-Tan - Shiwase Goyomi [First Print Limited Edition]" + name-sort: "びんちょうたん しあわせごよみ [しょかいげんていばん]" + name-en: "Binchou-Tan - Shiwase Goyomi [First Limited Edition]" region: "NTSC-J" SLPS-25659: name: "びんちょうタン しあわせ暦 [通常版]" - name-sort: "びんちょうたん しあわせごよみ" - name-en: "Binchou-Tan - Shiwase Koyomi" + name-sort: "びんちょうたん しあわせごよみ [つうじょうばん]" + name-en: "Binchou-Tan - Shiwase Koyomi [Standard Edition]" region: "NTSC-J" SLPS-25660: name: "THE KING OF FIGHTERS Ⅺ" @@ -57939,8 +58316,8 @@ SLPS-25662: region: "NTSC-J" SLPS-25663: name: "今日からマ王!はじマりの旅 [通常版]" - name-sort: "きょうからまおう!はじまりのたび" - name-en: "Kyo Kara Maoh! The 1st trip of Maoh!" + name-sort: "きょうからまおう!はじまりのたび [つうじょうばん]" + name-en: "Kyo Kara Maoh! The 1st trip of Maoh! [Standard Edition]" region: "NTSC-J" SLPS-25664: name: "NEOGEOオンラインコレクション Vol.5 餓狼伝説 バトルアーカイブズ1" @@ -57969,13 +58346,13 @@ SLPS-25668: name-en: "Torikago no Mukougawa - The Angles with Strange Wings" region: "NTSC-J" SLPS-25669: - name: "スクールランブル二学期 恐怖の(?)夏合宿! 洋館に幽霊現る!? お宝を巡って真っ向勝負!!!の巻 [初回限定版]" - name-sort: "すくーるらんぶるにがっき きょうふの(?)なつがっしゅく! ようかんにゆうれいあらわる!? おたからをめぐってまっこうしょうぶ!!!のまき しょかいげんていばん" - name-en: "School Rumble 2nd Term [Limited Edition]" + name: "スクールランブル二学期 恐怖の(?)夏合宿! 洋館に幽霊現る!? お宝を巡って真っ向勝負!!!の巻 [初回限定版]" + name-sort: "すくーるらんぶるにがっき きょうふの(?)なつがっしゅく! ようかんにゆうれいあらわる!? おたからをめぐってまっこうしょうぶ!!!のまき [しょかいげんていばん]" + name-en: "School Rumble 2nd Term [First Limited Edition]" region: "NTSC-J" compat: 5 SLPS-25670: - name: "スクールランブル二学期 恐怖の(?)夏合宿! 洋館に幽霊現る!? お宝を巡って真っ向勝負!!!の巻" + name: "スクールランブル二学期 恐怖の(?)夏合宿! 洋館に幽霊現る!? お宝を巡って真っ向勝負!!!の巻" name-sort: "すくーるらんぶるにがっき きょうふの(?)なつがっしゅく! ようかんにゆうれいあらわる!? おたからをめぐってまっこうしょうぶ!!!のまき" name-en: "School Rumble 2nd Term" region: "NTSC-J" @@ -58020,7 +58397,7 @@ SLPS-25677: SLPS-25678: name: "うたわれるもの 散りゆく者への子守唄 [初回限定版]" name-sort: "うたわれるもの ちりゆくものへのこもりうた [しょかいげんていばん]" - name-en: "Utawareru Mono - Chiriyukumono he no Komoriuta [Limited Edition]" + name-en: "Utawareru Mono - Chiriyukumono he no Komoriuta [First Limited Edition]" region: "NTSC-J" SLPS-25679: name: "うたわれるもの 散りゆく者への子守唄 [通常版]" @@ -58066,7 +58443,7 @@ SLPS-25685: SLPS-25686: name: "ジョジョの奇妙な冒険 ファントムブラッド" name-sort: "じょじょのきみょうなぼうけん ふぁんとむぶらっど" - name-en: "Jojo no Kimyou na Bouken - Phantom Blood" + name-en: "JoJo no Kimyou na Bouken - Phantom Blood" region: "NTSC-J" gsHWFixes: halfPixelOffset: 4 # Fixes post positioning. @@ -58078,14 +58455,14 @@ SLPS-25687: region: "NTSC-J" compat: 5 SLPS-25688: - name: "シムーン 異薔薇戦争 封印のリ・マージョン 初回限定版" - name-sort: "しむーん いばらせんそう ふういんのりまーじょん しょかいげんていばん" - name-en: "Simoun - Shoubi Sensou - Fuuin no Remersion [First Print Limited Edition]" + name: "シムーン 異薔薇戦争 封印のリ・マージョン [初回限定版]" + name-sort: "しむーん いばらせんそう ふういんのりまーじょん [しょかいげんていばん]" + name-en: "Simoun - Shoubi Sensou - Fuuin no Remersion [First Limited Edition]" region: "NTSC-J" SLPS-25689: - name: "シムーン 異薔薇戦争 封印のリ・マージョン 通常版" - name-sort: "しむーん いばらせんそう ふういんのりまーじょん" - name-en: "Simoun - Shoubi Sensou - Fuuin no Remersion" + name: "シムーン 異薔薇戦争 封印のリ・マージョン [通常版]" + name-sort: "しむーん いばらせんそう ふういんのりまーじょん [つうじょうばん]" + name-en: "Simoun - Shoubi Sensou - Fuuin no Remersion [Standard Edition]" region: "NTSC-J" SLPS-25690: name: "ドラゴンボールZ スパーキング! ネオ" @@ -58107,7 +58484,7 @@ SLPS-25691: SLPS-25693: name: "プリンセス・プリンセス 姫たちのアブナい放課後 [初回限定版]" name-sort: "ぷりんせすぷりんせす ひめたちのあぶないほうかご [しょかいげんていばん]" - name-en: "Shinseiki GPX - Road to the Infinity 3 [Limited Edition]" + name-en: "Shinseiki GPX - Road to the Infinity 3 [First Limited Edition]" region: "NTSC-J" SLPS-25694: name: "プリンセス・プリンセス 姫たちのアブナい放課後 [通常版]" @@ -58185,7 +58562,7 @@ SLPS-25707: SLPS-25708: name: "ゼロの使い魔 小悪魔と春風の協奏曲 [初回限定版]" name-sort: "ぜろのつかいま こあくまとはるかぜのこんちぇると [しょかいげんていばん]" - name-en: "Zero no Tsukaima [Limited Edition]" + name-en: "Zero no Tsukaima [First Limited Edition]" region: "NTSC-J" SLPS-25709: name: "ゼロの使い魔 小悪魔と春風の協奏曲 [通常版]" @@ -58270,7 +58647,7 @@ SLPS-25718: SLPS-25719: name: "はぴねす!でらっくす [初回限定版]" name-sort: "はぴねす!でらっくす [しょかいげんていばん]" - name-en: "Happiness! Deluxe [First Print Limited Edition]" + name-en: "Happiness! Deluxe [First Limited Edition]" region: "NTSC-J" SLPS-25720: name: "はぴねす!でらっくす [通常版]" @@ -58285,7 +58662,7 @@ SLPS-25721: SLPS-25722: name: "Routes PE [初回限定版]" name-sort: "るーつ PE [しょかいげんていばん]" - name-en: "Routes PE [Limited Edition]" + name-en: "Routes PE [First Limited Edition]" region: "NTSC-J" SLPS-25723: name: "令嬢探偵~オフィスラブ事件慕~" @@ -58314,13 +58691,13 @@ SLPS-25727: region: "NTSC-J" SLPS-25728: name: "くじびき アンバランス 会長お願いすま~っしゅファイト☆ [初回限定版]" - name-sort: "くじびき あんばらんす かいちょうおねがいすまーっしゅふぁいと しょかいげんていばん" - name-en: "Kujibiki Ambulance [Limited Edition]" + name-sort: "くじびき あんばらんす かいちょうおねがいすまーっしゅふぁいと [しょかいげんていばん]" + name-en: "Kujibiki Ambulance [First Limited Edition]" region: "NTSC-J" SLPS-25729: name: "くじびき アンバランス 会長お願いすま~っしゅファイト☆ [通常版]" - name-sort: "くじびき あんばらんす かいちょうおねがいすまーっしゅふぁいと" - name-en: "Kujibiki Unbalance" + name-sort: "くじびき あんばらんす かいちょうおねがいすまーっしゅふぁいと [つうじょうばん]" + name-en: "Kujibiki Unbalance [Standard Edition]" region: "NTSC-J" SLPS-25730: name: "アーマード・コア ラストレイブン [MACHINE SIDE BOX]" @@ -58378,7 +58755,7 @@ SLPS-25737: SLPS-25738: name: "SOUL CRADLE 世界を喰らう者 [初回限定版]" name-sort: "そうるくれいどる せかいをくらうもの [しょかいげんていばん]" - name-en: "Soul Cradle Sekai o Kurau Mono [Limited Edition]" + name-en: "Soul Cradle Sekai o Kurau Mono [First Limited Edition]" region: "NTSC-J" compat: 5 SLPS-25739: @@ -58393,13 +58770,13 @@ SLPS-25740: region: "NTSC-J" SLPS-25742: name: "ああっ女神さまっ [初回限定版]" - name-sort: "ああっめがみさまっ しょかいげんていばん" + name-sort: "ああっめがみさまっ [しょかいげんていばん]" name-en: "Aa Megami-sama [Holy Box]" region: "NTSC-J" SLPS-25743: name: "ああっ女神さまっ [通常版]" - name-sort: "ああっめがみさまっ" - name-en: "Aa Megami-sama" + name-sort: "ああっめがみさまっ [つうじょうばん]" + name-en: "Aa Megami-sama [Standard Edition]" region: "NTSC-J" SLPS-25744: name: "聖闘士星矢 -冥王ハーデス十二宮編-" @@ -58412,7 +58789,7 @@ SLPS-25744: SLPS-25745: name: "必勝パチンコ★パチスロ攻略シリーズ Vol.1 CR新世紀エヴァンゲリオン [スペシャルプライス版]" name-sort: "ひっしょうぱちんこぱちすろこうりゃくしりーず Vol. 1 CRしんせいきえゔぁんげりおん [すぺしゃるぷらいすばん]" - name-en: "Hisshou Pachinko-Pachislot Kouryaku Series Vol. 1 - CR Shinseiki Evangelion [Special Price Edition]" + name-en: "Hisshou Pachinko Pachi-Slot Kouryaku Series Vol. 1 - CR Shinseiki Evangelion [Special Price Edition]" region: "NTSC-J" SLPS-25746: name: "必勝パチンコ★パチスロ攻略シリーズ Vol.9 CRフィーバー キャプテンハーロック" @@ -58425,14 +58802,14 @@ SLPS-25747: name-en: "Garouden Break Blow - Fist or Twist" region: "NTSC-J" SLPS-25748: - name: "蒼い空のネオスフィア~ナノカ・フランカ発明工房記2~ [初回限定版]" - name-sort: "あおいそらのねおすふぃあ なのかふらんかはつめいこうぼうき2 しょかいげんていばん" - name-en: "Aoi Sora no Neosphere - Nanoca Flanka Hatsumei Koubouki 2 [First Print Limited Edition]" + name: "蒼い空のネオスフィア ~ナノカ・フランカ発明工房記2~ [初回限定版]" + name-sort: "あおいそらのねおすふぃあ なのかふらんかはつめいこうぼうき2 [しょかいげんていばん]" + name-en: "Aoi Sora no Neosphere - Nanoca Flanka Hatsumei Koubouki 2 [First Limited Edition]" region: "NTSC-J" SLPS-25749: - name: "蒼い空のネオスフィア~ナノカ・フランカ発明工房記2~ [通常版]" - name-sort: "あおいそらのねおすふぃあ なのかふらんかはつめいこうぼうき2" - name-en: "Aoi Sora no Neosphere - Nanoca Flanka Hatsumei Koubouki 2" + name: "蒼い空のネオスフィア ~ナノカ・フランカ発明工房記2~ [通常版]" + name-sort: "あおいそらのねおすふぃあ なのかふらんかはつめいこうぼうき2 [つうじょうばん]" + name-en: "Aoi Sora no Neosphere - Nanoca Flanka Hatsumei Koubouki 2 [Standard Edition]" region: "NTSC-J" SLPS-25750: name: "スーパーロボット大戦 Scramble Commander the 2nd" @@ -58441,8 +58818,8 @@ SLPS-25750: region: "NTSC-J" SLPS-25751: name: "がくえんゆーとぴあ まなびストレート! キラキラ☆ Happy Festa! [初回限定版]" - name-sort: "がくえんゆーとぴあ まなびすとれーと! きらきら Happy Festa! しょかいげんていばん" - name-en: "Gakuen Utopia - Manabi Straight! KiraKira Happy Festa! [Limited Edition]" + name-sort: "がくえんゆーとぴあ まなびすとれーと! きらきら Happy Festa! [しょかいげんていばん]" + name-en: "Gakuen Utopia - Manabi Straight! KiraKira Happy Festa! [First Limited Edition]" region: "NTSC-J" SLPS-25752: name: "がくえんゆーとぴあ まなびストレート! キラキラ☆ Happy Festa!" @@ -58465,9 +58842,9 @@ SLPS-25755: name-en: ".hack//G.U. Vol.1 - Saitan" region: "NTSC-J" SLPS-25756: - name: ".hack//G.U. Vol.1 再誕 [Bandai the Best]" - name-sort: "どっとはっく G.U. Vol.1 さいたん [Bandai the Best]" - name-en: ".hack//G.U. Vol.1 - Saitan [Bandai the Best]" + name: ".hack//G.U. Vol.1 再誕 [Welcome Price]" + name-sort: "どっとはっく G.U. Vol.1 さいたん [Welcome Price]" + name-en: ".hack//G.U. Vol.1 - Saitan [Welcome Price]" region: "NTSC-J" memcardFilters: - "SCPS-55029" @@ -58489,7 +58866,7 @@ SLPS-25756: SLPS-25757: name: "ななついろ★ドロップスPure!! [初回限定版]" name-sort: "ななついろどろっぷす ぴゅあ!! [しょかいげんていばん]" - name-en: "Nanatsu Iro - Drops Pure!! [First Print Limited Edition]" + name-en: "Nanatsu Iro - Drops Pure!! [First Limited Edition]" region: "NTSC-J" SLPS-25758: name: "ななついろ★ドロップス Pure!! [通常版]" @@ -58535,13 +58912,13 @@ SLPS-25765: region: "NTSC-J" SLPS-25766: name: "オレンジハニー 僕はキミに恋してる [初回限定版]" - name-sort: "おれんじはにー ぼくはきみにこいしてる しょかいげんていばん" - name-en: "Orange Honey - Boku ha Kimi ni Koishiteru [Limited Edition]" + name-sort: "おれんじはにー ぼくはきみにこいしてる [しょかいげんていばん]" + name-en: "Orange Honey - Boku ha Kimi ni Koishiteru [First Limited Edition]" region: "NTSC-J" SLPS-25767: name: "オレンジハニー 僕はキミに恋してる [通常版]" - name-sort: "おれんじはにー ぼくはきみにこいしてる" - name-en: "Orange Honey - Boku ha Kimi ni Koishiteru" + name-sort: "おれんじはにー ぼくはきみにこいしてる [つうじょうばん]" + name-en: "Orange Honey - Boku ha Kimi ni Koishiteru [Standard Edition]" region: "NTSC-J" SLPS-25768: name: "NARUTO-ナルト- 疾風伝 ナルティメットアクセル" @@ -58562,14 +58939,16 @@ SLPS-25769: name-en: "Pro Yakyuu Netsu Star 2007" region: "NTSC-J" SLPS-25770: - name: "楽勝!パチスロ宣言5 - リオパラダイス" - name-sort: "らくしょう!ぱちすろせんげん5 - りおぱらだいす" + name: "楽勝! パチスロ宣言5 - リオパラダイス" + name-sort: "らくしょう! ぱちすろせんげん5 - りおぱらだいす" name-en: "Rakushou! Pachi-Slot Sengen 5 - Rio Paradise" region: "NTSC-J" + gsHWFixes: + cpuFramebufferConversion: 1 # A liitle fixes some graphic glitchs on upper screen (not Perfectly). SLPS-25771: name: "グリムグリモア [初回生産版]" name-sort: "ぐりむぐりもあ [しょかいせいさんばん]" - name-en: "GrimGrimoire" + name-en: "GrimGrimoire [First Limited Edition]" region: "NTSC-J" compat: 5 SLPS-25772: @@ -58600,13 +58979,13 @@ SLPS-25776: region: "NTSC-J" SLPS-25777: name: "すもももももも ~地上最強のヨメ~ 継承しましょ!? 恋の花ムコ争奪戦!! [初回限定版]" - name-sort: "すもももももも ちじょうさいきょうのよめ けいしょうしましょ!? こいのはなむこそうだつせん!! しょかいげんていばん" - name-en: "Sumomomomomo - Chijou Saikyou no Yome [Limited Edition]" + name-sort: "すもももももも ちじょうさいきょうのよめ けいしょうしましょ!? こいのはなむこそうだつせん!! [しょかいげんていばん]" + name-en: "Sumomomomomo - Chijou Saikyou no Yome [First Limited Edition]" region: "NTSC-J" SLPS-25778: name: "すもももももも ~地上最強のヨメ~ 継承しましょ!? 恋の花ムコ争奪戦!! [通常版]" - name-sort: "すもももももも ちじょうさいきょうのよめ けいしょうしましょ!? こいのはなむこそうだつせん!!" - name-en: "Sumomomo Momomo - Chijou Saikyou no Yome - Keishou Shimasho! Koi no Hanamuko Soudatsu-sen!!" + name-sort: "すもももももも ちじょうさいきょうのよめ けいしょうしましょ!? こいのはなむこそうだつせん!! [つうじょうばん]" + name-en: "Sumomomo Momomo - Chijou Saikyou no Yome - Keishou Shimasho! Koi no Hanamuko Soudatsu-sen!! [Standard Edition]" region: "NTSC-J" SLPS-25779: name: "KOF MAXIMUM IMPACT2 [SNK BEST COLLECTION]" @@ -58658,8 +59037,8 @@ SLPS-25787: cpuSpriteRenderBW: 2 # Fixes broken minimap. cpuSpriteRenderLevel: 1 # Needed for above. SLPS-25788: - name: "メタルスラッグ [SNK BEST COLLECTION]" - name-sort: "めたるすらっぐ [SNK BEST COLLECTION]" + name: "メタルスラッグ [SNK BEST COLLECTION]" + name-sort: "めたるすらっぐ [SNK BEST COLLECTION]" name-en: "Metal Slug [SNK Best Collection]" region: "NTSC-J" SLPS-25789: @@ -58693,7 +59072,7 @@ SLPS-25794: name-en: "Cluster Edge [Best Collection]" region: "NTSC-J" SLPS-25795: - name: "スクールランブル二学期 恐怖の(?)夏合宿! 洋館に幽霊現る!?お宝を巡って真っ向勝負!!!の巻 [Best Collection]" + name: "スクールランブル二学期 恐怖の(?)夏合宿! 洋館に幽霊現る!? お宝を巡って真っ向勝負!!!の巻 [Best Collection]" name-sort: "すくーるらんぶるにがっき きょうふのなつがっしゅく! ようかんにゆうれいあらわる!?おたからをめぐってまっこうしょうぶ!!!のまき [Best Collection]" name-en: "School Rumble - 2nd Term [Best Collection]" region: "NTSC-J" @@ -58711,20 +59090,20 @@ SLPS-25797: roundSprite: 1 # Aligns bloom effect. SLPS-25798: name: "一騎当千 Shining Dragon [通常版]" - name-sort: "いっきとうせん Shining Dragon" - name-en: "Ikki Tousen - Shining Dragon" + name-sort: "いっきとうせん Shining Dragon [つうじょうばん]" + name-en: "Ikki Tousen - Shining Dragon [Standard Edition]" region: "NTSC-J" compat: 5 gsHWFixes: roundSprite: 1 # Aligns bloom effect. SLPS-25799: - name: "ウルトラマン Fighting Evolution 3 バンプレストベスト" - name-sort: "うるとらまん Fighting Evolution 3 [ばんぷれすとべすと]" + name: "ウルトラマン Fighting Evolution 3 [BANPRESTO BEST]" + name-sort: "うるとらまん Fighting Evolution 3 [BANPRESTO BEST]" name-en: "Ultraman Fighting Evolution 3 [Banpresto Best]" region: "NTSC-J" SLPS-25800: - name: "ウルトラマン Fighting Evolution Rebirth バンプレストベスト" - name-sort: "うるとらまん Fighting Evolution Rebirth [ばんぷれすとべすと]" + name: "ウルトラマン Fighting Evolution Rebirth [BANPRESTO BEST]" + name-sort: "うるとらまん Fighting Evolution Rebirth [BANPRESTO BEST]" name-en: "Ultraman Fighting Evolution - Rebirth [Banpresto Best]" region: "NTSC-J" gsHWFixes: @@ -58749,7 +59128,7 @@ SLPS-25803: SLPS-25804: name: "DEAR My SUN!! ~ムスコ★育成★狂騒曲~ [限定版]" name-sort: "でぃあ まい さん!! むすこいくせいきょうそうきょく [げんていばん]" - name-en: "Dear My Sun [Limited Edition]" + name-en: "Dear My Sun - Musuko Ikusei Kyousoukyoku [Limited Edition]" region: "NTSC-J" SLPS-25806: name: "家庭教師ヒットマンREBORN!ドリームハイパーバトル!死ぬ気の炎と黒き記憶" @@ -58764,8 +59143,8 @@ SLPS-25807: region: "NTSC-J" SLPS-25808: name: "セイント・ビースト ~螺旋の章~ [通常版]" - name-sort: "せいんと びーすと らせんのしょう" - name-en: "Saint Beast - Rasen no Shou" + name-sort: "せいんと びーすと らせんのしょう [つうじょうばん]" + name-en: "Saint Beast - Rasen no Shou [Standard Edition]" region: "NTSC-J" SLPS-25809: name: "銀魂 銀さんと一緒!ボクのかぶき町日記" @@ -58774,8 +59153,8 @@ SLPS-25809: region: "NTSC-J" SLPS-25810: name: "DEAR My SUN!! ~ムスコ★育成★狂騒曲~ [通常版]" - name-sort: "でぃあ まい さん!! むすこいくせいきょうそうきょく" - name-en: "Dear My Sun" + name-sort: "でぃあ まい さん!! むすこいくせいきょうそうきょく [つうじょうばん]" + name-en: "Dear My Sun - Musuko Ikusei Kyousoukyoku [Standard Edition]" region: "NTSC-J" SLPS-25811: name: "はぴねす! でらっくす Best Collection" @@ -58972,7 +59351,7 @@ SLPS-25840: halfPixelOffset: 4 # Mostly aligns post processing. nativeScaling: 1 # Fixes post processing smoothness and position. SLPS-25841: - name: "テイルズ オブ デスティニー ディレクターズカット プレミアムBOX" + name: "テイルズ オブ デスティニー ディレクターズカット [プレミアムBOX]" name-sort: "ているず おぶ ですてぃにー でぃれくたーずかっと [ぷれみあむBOX]" name-en: "Tales of Destiny [Director's Cut] [Premium Box]" region: "NTSC-J" @@ -59079,9 +59458,9 @@ SLPS-25856: autoFlush: 1 # Fixes bloom intensity. nativeScaling: 1 # Fixes post processing. SLPS-25858: - name: "電撃SP 灼眼のシャナ" - name-sort: "でんげきSP しゃくがんのしゃな" - name-en: "Dengeki SP - Shakugan no Shana" + name: "灼眼のシャナ [電撃SP]" + name-sort: "しゃくがんのしゃな [でんげきSP]" + name-en: "Dengeki SP - Shakugan no Shana [Dengeki SP]" region: "NTSC-J" SLPS-25859: name: "オレンジハニー 僕はキミに恋してる Best Collection" @@ -59124,7 +59503,7 @@ SLPS-25866: name-en: "Fuuun Super Combo [SNK the Best]" region: "NTSC-J" SLPS-25867: - name: "花宵ロマネスク 愛と哀しみ−それは君のためのアリア 限定版" + name: "花宵ロマネスク 愛と哀しみ−それは君のためのアリア [限定版]" name-sort: "はなよいろまねすく あいとかなしみ-それはきみのためのありあ [げんていばん]" name-en: "Hanayoi Romanesque - Ai to Kanashimi [Limited Edition]" region: "NTSC-J" @@ -59435,6 +59814,8 @@ SLPS-25921: name-sort: "らくしょう! ぱちすろせんげん6 - りお2 くるーじんぐ ヴぁなでぃーす" name-en: "Rakushou! Pachi-Slot Sengen 6 - Rio 2 Cruising Vanadis" region: "NTSC-J" + gsHWFixes: + cpuFramebufferConversion: 1 # A liitle fixes some graphic glitchs on upper screen (not Perfectly). SLPS-25922: name: "Vitamin Z [限定版]" name-sort: "びたみん Z [げんていばん]" @@ -59724,8 +60105,8 @@ SLPS-25983: name-en: "King of Fighters 2002, The - Unlimited Match" region: "NTSC-J" SLPS-25986: - name: "トゥームレイダー アンダーワールド [Spike The Best]" - name-sort: "とぅーむれいだー あんだーわーるど [Spike The Best]" + name: "トゥームレイダー アンダーワールド [Spike The Best]" + name-sort: "とぅーむれいだー あんだーわーるど [Spike The Best]" name-en: "Tomb Raider - Underworld [Spike The Best]" region: "NTSC-J" gsHWFixes: @@ -60500,9 +60881,9 @@ SLPS-73258: name-en: "Kenka Banchou 2 - Full Throttle [PlayStation2 the Best]" region: "NTSC-J" SLPS-73259: - name: ".hack//G.U. Vol.1 再誕" - name-sort: "どっとはっく G.U. Vol.1 さいたん" - name-en: ".hack//G.U. Vol.1 - Rebirth" + name: ".hack//G.U. Vol.1 再誕 [PlayStation2 the Best]" + name-sort: "どっとはっく G.U. Vol.1 さいたん [PlayStation2 the Best]" + name-en: ".hack//G.U. Vol.1 - Rebirth [PlayStation2 the Best]" region: "NTSC-J" SLPS-73263: name: "アルトネリコ2 世界に響く少女たちの創造詩 [PlayStation2 the Best]" @@ -60525,14 +60906,14 @@ SLPS-73265: name-en: "Kagero 2 - Dark Illusion [PlayStation2 the Best]" region: "NTSC-J" SLPS-73266: - name: ".hack//G.U. Vol.2 君想フ声" - name-sort: "どっとはっく G.U. Vol.2 きみおもふこえ" - name-en: ".hack//G.U. Vol.2 - Kimi Omou Koe" + name: ".hack//G.U. Vol.2 君想フ声 [PlayStation2 the Best]" + name-sort: "どっとはっく G.U. Vol.2 きみおもふこえ [PlayStation2 the Best]" + name-en: ".hack//G.U. Vol.2 - Kimi Omou Koe [PlayStation2 the Best]" region: "NTSC-J" SLPS-73267: - name: ".hack//G.U. Vol.3 歩くような速さで" - name-sort: "どっとはっく G.U. Vol.3 あるくようなはやさで" - name-en: ".hack//G.U. Vol.3 - Aruku Youna Hayasa de" + name: ".hack//G.U. Vol.3 歩くような速さで [PlayStation2 the Best]" + name-sort: "どっとはっく G.U. Vol.3 あるくようなはやさで [PlayStation2 the Best]" + name-en: ".hack//G.U. Vol.3 - Aruku Youna Hayasa de [PlayStation2 the Best]" region: "NTSC-J" SLPS-73269: name: "機動戦士ガンダムSEED DESTINY 連合VS. Z.A.F.T. II PLUS [PlayStation2 the Best]" @@ -60569,7 +60950,7 @@ SLPS-73403: recommendedBlendingLevel: 3 # Improves sky rendering. textureInsideRT: 1 # Fixes texture corruption. SLPS-73404: - name: "風のクロノア2~世界が望んだ忘れもの~PlayStation 2 the Best" + name: "風のクロノア2 ~世界が望んだ忘れもの~PlayStation 2 the Best" name-sort: "かぜのくろのあ2 せかいがのぞんだわすれもの [PlayStation2 the Best]" name-en: "Klonoa 2 [PlayStation2 the Best]" region: "NTSC-J" @@ -60705,8 +61086,8 @@ SLPS-73421: name-en: "Tenchu 3 [PlayStation2 the Best]" region: "NTSC-J" SLPS-73422: - name: "ウルトラマン ファイティングエボリューション2 [PlayStation2 the Best]" - name-sort: "うるとらまん ふぁいてぃんぐえぼりゅーしょん2 [PlayStation2 the Best]" + name: "ウルトラマン Fighting Evolution 2 [PlayStation2 the Best]" + name-sort: "うるとらまん Fighting Evolution 2 [PlayStation2 the Best]" name-en: "Ultraman Fighting Evolution 2 [PlayStation2 the Best]" region: "NTSC-J" SLPS-73423: @@ -64049,9 +64430,9 @@ SLUS-20695: clampModes: vuClampMode: 2 # Fixes SPS in item menu. gsHWFixes: - textureInsideRT: 1 # Fixes rainbow shadow of legions. alignSprite: 1 # Fixes green vertical lines. roundSprite: 2 # Fixes vertical lines and some font artifacts but not completely fixed. + textureInsideRT: 1 # Fixes rainbow shadow of legions. SLUS-20696: name: "Nickelodeon Jimmy Neutron Boy Genius - Jet Fusion" region: "NTSC-U" @@ -64667,7 +65048,7 @@ SLUS-20811: recommendedBlendingLevel: 3 # Improves reflection quality. halfPixelOffset: 2 # Fixes misaligned post-processing. SLUS-20812: - name: "Dynasty Warriors 4 - Extreme Edition" + name: "Dynasty Warriors 4 - Xtreme Legends" region: "NTSC-U" compat: 5 SLUS-20813: @@ -64743,6 +65124,8 @@ SLUS-20828: vuClampMode: 0 # Resolves I Reg Clamping / performance impact and yellow graphics in certain areas. gsHWFixes: roundSprite: 1 # Fixes slight blur. + halfPixelOffset: 2 # Aligns sun post processing. + nativeScaling: 2 # Fixes sun lines. SLUS-20830: name: "Intellivision Lives!" region: "NTSC-U" @@ -65572,6 +65955,7 @@ SLUS-20967: gsHWFixes: alignSprite: 1 # Fixes vertical lines. textureInsideRT: 1 # Fixes reflections. + mipmap: 0 # Currently causes texture flickering. gameFixes: - SoftwareRendererFMVHack # Fixes upscale lines in FMVs. SLUS-20968: @@ -67058,6 +67442,11 @@ SLUS-21218: name: "Tak - The Great Juju Challenge" region: "NTSC-U" compat: 5 + memcardFilters: + - "SLUS-21218" + - "SLUS-21252" + - "SLUS-21277" + - "SLUS-21284" SLUS-21219: name: "Pac-Man World 3" region: "NTSC-U" @@ -67301,6 +67690,11 @@ SLUS-21252: recommendedBlendingLevel: 3 # Fixes missing lights. halfPixelOffset: 4 # Aligns post processing. nativeScaling: 2 # Fixes post effects. + memcardFilters: + - "SLUS-21218" + - "SLUS-21252" + - "SLUS-21277" + - "SLUS-21284" SLUS-21253: name: "TY the Tasmanian Tiger 3 - Night of the Quinkan" region: "NTSC-U" @@ -67492,6 +67886,11 @@ SLUS-21277: autoFlush: 2 # Needed for recursive mipmap rendering. nativeScaling: 1 # Fixes post effects. getSkipCount: "GSC_BlueTongueGames" # Render mipmaps on the CPU. + memcardFilters: + - "SLUS-21218" + - "SLUS-21252" + - "SLUS-21277" + - "SLUS-21284" SLUS-21278: name: "SSX On Tour" region: "NTSC-U" @@ -67562,6 +67961,11 @@ SLUS-21284: autoFlush: 2 # Fixes glows. Also needed for recursive mipmap rendering. textureInsideRT: 1 # Fixes rainbow lighting for some areas. getSkipCount: "GSC_BlueTongueGames" # Mipmap rendering on CPU. + memcardFilters: + - "SLUS-21218" + - "SLUS-21252" + - "SLUS-21277" + - "SLUS-21284" SLUS-21285: name: "Ultimate Spider-Man [Limited Edition]" region: "NTSC-U" @@ -72316,8 +72720,8 @@ TCPS-10058: name-en: "Densha de Go! Shinkansen Sanyou Shinkansen-hen [with Controller]" region: "NTSC-J" TCPS-10068: - name: "電車でGO! 旅情編コントローラ同梱セット" - name-sort: "でんしゃでごー りょじょうへんこんとろーらどうこんせっと" + name: "電車でGO! 旅情編 [コントローラ同梱セット]" + name-sort: "でんしゃでごー りょじょうへん [こんとろーらどうこんせっと]" name-en: "Densha de Go! Ryojou-hen [with Controller]" region: "NTSC-J" TCPS-10074: @@ -72344,8 +72748,8 @@ TCPS-10085: region: "NTSC-J" compat: 5 TCPS-10086: - name: "ラクガキ王国 2 ~魔王城の戦い~" - name-sort: "らくがきおうこく 2 ~まおうじょうのたたかい~" + name: "ラクガキ王国2 ~魔王城の戦い~" + name-sort: "らくがきおうこく2 ~まおうじょうのたたかい~" name-en: "Rakugaki Oukoku 2 - Maoh jou no Tatakai" region: "NTSC-J" gsHWFixes: @@ -72378,8 +72782,8 @@ TCPS-10107: region: "NTSC-J" TCPS-10109: name: "イースⅢ ~ワンダラーズ フロム イース~ [初回限定版]" - name-sort: "いーす3 わんだらーず ふろむ いーす しょかいげんていばん" - name-en: "Ys III - Wanderers from Ys [Limited Edition]" + name-sort: "いーす3 わんだらーず ふろむ いーす [しょかいげんていばん]" + name-en: "Ys III - Wanderers from Ys [First Limited Edition]" region: "NTSC-J" TCPS-10111: name: "エレメンタル ジェレイド -纏え、翠風の剣-" @@ -72408,7 +72812,7 @@ TCPS-10115: TCPS-10117: name: "虫姫さま [初回限定版]" name-sort: "むしひめさま [しょかいげんていばん]" - name-en: "Mushihime-sama [Limited Edition]" + name-en: "Mushihime-sama [First Limited Edition]" region: "NTSC-J" TCPS-10123: name: "ラングリッサーⅢ" diff --git a/bin/resources/RedumpDatabase.yaml b/bin/resources/RedumpDatabase.yaml index b4d2d0cdfc979..d0a17169e8022 100644 --- a/bin/resources/RedumpDatabase.yaml +++ b/bin/resources/RedumpDatabase.yaml @@ -1,7 +1,7 @@ - hashes: - md5: e445296980eb9c51e6e1ebccc6f664cd size: 699722352 - name: Tekken Tag Tournament (Europe) (En,Fr,De,Es,It) + name: Tekken Tag Tournament (Europe) (En,Fr,De,Es,It) (v2.00) serial: SCES-50001 version: '2.00' - hashes: @@ -13,13 +13,13 @@ - hashes: - md5: 5dcf9d9fc6ed3284b6dec18b9e36b52f size: 699722352 - name: Tekken Tag Tournament (Europe) (En,Fr,De,Es,It) + name: Tekken Tag Tournament (Europe) (En,Fr,De,Es,It) (v1.00) serial: SCES-50001 version: '1.00' - hashes: - md5: 01bf1c4c4339431c64bd12c57c80bece size: 4385505280 - name: kill.switch (Europe) (En,Fr,De,Es,It) + name: Kill Switch (Europe) (En,Fr,De,Es,It) serial: SCES-52124 version: '1.00' - hashes: @@ -85,7 +85,7 @@ - hashes: - md5: 57998b60010b7583c423d5b2142ad1a3 size: 4508221440 - name: Final Fantasy X (USA) + name: Final Fantasy X (USA, Canada) serial: SLUS-20312 version: '1.00' - hashes: @@ -157,7 +157,7 @@ - hashes: - md5: c69de9c89f817560bda42e7c9c744013 size: 3878649856 - name: Gran Turismo 3 - A-Spec (USA) + name: Gran Turismo 3 - A-Spec (USA) (v1.00) serial: SCUS-97512 version: '1.00' - hashes: @@ -217,13 +217,13 @@ - hashes: - md5: 26a95962a62f996d7458ebea6fd8a8b1 size: 3687022592 - name: Gran Turismo 3 - A-Spec (Europe, Australia) (En,Fr,De,Es,It) + name: Gran Turismo 3 - A-Spec (Europe, Australia) (En,Fr,De,Es,It) (v2.00) serial: SCES-50294 version: '2.00' - hashes: - md5: 65df1ad58683aa5154966441a74fd8c2 size: 4476272640 - name: Tekken 4 (Europe) (En,Fr,De,Es,It) + name: Tekken 4 (Europe) (En,Fr,De,Es,It) (v1.00) serial: SCES-50878 version: '1.00' - hashes: @@ -339,7 +339,7 @@ - hashes: - md5: f50a9731acda9ee6902770f53b331cc6 size: 4691755008 - name: Demo Disc (Europe) (En,Fr,De,Es,It) + name: Demo Disc (Europe) (En,Fr,De,Es,It) (PBPX-95514) serial: PBPX-95514 version: '1.03' - hashes: @@ -351,7 +351,7 @@ - hashes: - md5: 1c2fbf905a3ce52cb9215b88c81daf9e size: 4471390208 - name: Tekken 4 (Europe, Australia) (En,Fr,De,Es,It) + name: Tekken 4 (Europe, Australia) (En,Fr,De,Es,It) (v2.00) serial: SCES-50878 version: '2.00' - hashes: @@ -429,7 +429,7 @@ - hashes: - md5: 3a3791af7cd0ceb3ed70c90c3604e6ae size: 4388782080 - name: Soulcalibur III (Europe, Australia) (En,Fr,De,Es,It) + name: Soulcalibur III (Europe, Australia) (En,Fr,De,Es,It) (v1.00) serial: SCES-53312 version: '1.00' - hashes: @@ -483,7 +483,7 @@ - hashes: - md5: 0f97749bb48bbca0b958c40403f53da4 size: 3501228032 - name: Network Access Disc (Europe) (En,Fr,De,Es,It) + name: Network Access Disc (Europe) (En,Fr,De,Es,It) (v3.00) serial: SCES-51578 version: '3.00' - hashes: @@ -501,13 +501,13 @@ - hashes: - md5: f6485fee7d9c728eb9ad15e6ecab398d size: 3598712832 - name: Demo Disc (Europe) (En,Fr,De,Es,It) + name: Demo Disc (Europe) (En,Fr,De,Es,It) (PBPX-95520) serial: PBPX-95520 version: '1.02' - hashes: - md5: dd0f8bde3d5c4718c5c4a46f32850654 size: 4450353152 - name: Getaway, The (Europe) (En,Fr,De,Es,It) + name: Getaway, The (Europe) (En,Fr,De,Es,It) (v1.03) serial: SCES-51159 version: '1.03' - hashes: @@ -585,7 +585,7 @@ - hashes: - md5: d09b5ca1c119ab09bc764febfcb66862 size: 4641062912 - name: Demo Disc (Europe) (En,Fr,De,Es,It) + name: Demo Disc (Europe) (En,Fr,De,Es,It) (PBPX-95506) serial: PBPX-95506 version: '1.00' - hashes: @@ -609,7 +609,7 @@ - hashes: - md5: f9446f5995144a3b8fac5eb428f51915 size: 681583728 - name: Demo Disc (Europe) (En,Fr,De,Es,It) + name: Demo Disc (Europe) (En,Fr,De,Es,It) (PBPX-95205) serial: PBPX-95205 version: '1.11' - hashes: @@ -621,7 +621,7 @@ - hashes: - md5: 2332e43abc83d498989e8ccb88c7ee58 size: 4097146880 - name: Need for Speed - Underground 2 (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) + name: Need for Speed - Underground 2 (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) (v1.01) serial: SLES-52725 version: '1.01' - hashes: @@ -706,7 +706,6 @@ - md5: 6ae2ca6bf48f4697171a59220e67a1ec size: 4016177152 name: Hitman - Blood Money (Europe) - serial: SLES-53028 version: '2.00' - hashes: - md5: 28339853a85bacebac38b114d139e851 @@ -723,13 +722,13 @@ - hashes: - md5: df2302b38dc447e0f63a0336e759fb46 size: 4698767360 - name: Grand Theft Auto III (Europe, Australia) (En,Fr,De,Es,It) + name: Grand Theft Auto III (Europe, Australia) (En,Fr,De,Es,It) (v1.60) serial: SLES-50330 version: '1.60' - hashes: - md5: 9d6e795843e3829fb0e2505f9b5630af size: 4661805056 - name: Grand Theft Auto - Vice City (Europe) (En,Fr,De,Es,It) + name: Grand Theft Auto - Vice City (Europe) (En,Fr,De,Es,It) (v2.03) serial: SLES-51061 version: '2.03' - hashes: @@ -813,7 +812,7 @@ - hashes: - md5: e29479572deaf9e96c63da6db1a7d66e size: 1612480512 - name: Pro Evolution Soccer 6 (Europe) + name: PES 6 - Pro Evolution Soccer (Europe) serial: SLES-54203 version: '1.02' - hashes: @@ -874,6 +873,7 @@ - md5: 0e8b5635ab74fad1c6b6aa0c8a1151aa size: 3210215424 name: Official PlayStation 2 Magazine Demo 31 (Europe, Australia) (En,Fr,De,Es,It) + (SCED-51529) serial: SCED-51529 version: '1.02' - hashes: @@ -1017,7 +1017,7 @@ - hashes: - md5: e2084eb31a4dd6e47c652523670e80f9 size: 3644948480 - name: EyeToy - Play 2 (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi,El) + name: EyeToy - Play 2 (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi,El) (v3.03) serial: SCES-52748 version: '3.03' - hashes: @@ -1155,7 +1155,7 @@ - hashes: - md5: e9e440f55e9207c5bd8a28e20a083b42 size: 4388782080 - name: Soulcalibur III (Europe, Australia) (En,Fr,De,Es,It) + name: Soulcalibur III (Europe, Australia) (En,Fr,De,Es,It) (v2.00) serial: SCES-53312 version: '2.00' - hashes: @@ -1191,7 +1191,7 @@ - hashes: - md5: ea2c948b508aa4eff466772af4de7d25 size: 3691479040 - name: WRC - Rally Evolved (Europe, Australia) (En,Fr,De,Es,It,Pt,No,Fi) + name: WRC - Rally Evolved (Europe, Australia) (En,Fr,De,Es,It,Pt,No,Fi) (v2.00) serial: SCES-53247 version: '2.00' - hashes: @@ -1275,7 +1275,7 @@ - hashes: - md5: efbc62891b18d7cf901dd10a316728ca size: 3062693888 - name: Getaway, The - Black Monday (Europe) (En,Pt,Ru,El) + name: Getaway, The - Black Monday (Europe) (En,Pt,Ru,El) (v2.00) serial: SCES-52948 version: '2.00' - hashes: @@ -1287,7 +1287,7 @@ - hashes: - md5: 75da8914131dd39581c4104c8d00c9d1 size: 6219333632 - name: 24 - The Game (Europe, Australia) (En,Fr,De,Es,It,Nl,Pl,Cs,Hu) + name: 24 - The Game (Europe, Australia) (En,Fr,De,Es,It,Nl,Pl,Cs,Hu) (v2.00) serial: SCES-53358 version: '2.00' - hashes: @@ -1311,7 +1311,7 @@ - hashes: - md5: b179e241b9e696063a8c915f1bde78e1 size: 5314478080 - name: Gran Turismo 4 (USA) + name: Gran Turismo 4 (USA) (v1.01) serial: SCUS-97328 version: '1.01' - hashes: @@ -1407,7 +1407,7 @@ - hashes: - md5: edc44411486cfb3386016d6599df470e size: 4671799296 - name: Grand Theft Auto - Vice City (Europe) (En,Fr,De,Es,It) + name: Grand Theft Auto - Vice City (Europe) (En,Fr,De,Es,It) (v1.50) serial: SLES-51061 version: '1.50' - hashes: @@ -1467,7 +1467,7 @@ - hashes: - md5: d0f6e946910d059cb624c3f9e46cda0d size: 1228832768 - name: Network Access Disc (Europe) (En,Fr,De,Es,It,Nl,Pt) + name: Network Access Disc (Europe) (En,Fr,De,Es,It,Nl,Pt) (v1.02) serial: SCES-52677 version: '1.02' - hashes: @@ -1479,13 +1479,13 @@ - hashes: - md5: 5cd9d9c3d4b4e814373f301ac3b6ed7a size: 4502913024 - name: Grand Theft Auto - San Andreas (Europe, Australia) (En,Fr,De,Es,It) + name: Grand Theft Auto - San Andreas (Europe, Australia) (En,Fr,De,Es,It) (v1.03) serial: SLES-52541 version: '1.03' - hashes: - md5: b4c7b0068cafa814a93b5f02b0acf5e6 size: 4520214528 - name: Grand Theft Auto - San Andreas (Europe, Australia) (En,Fr,De,Es,It) + name: Grand Theft Auto - San Andreas (Europe, Australia) (En,Fr,De,Es,It) (v2.01) serial: SLES-52541 version: '2.01' - hashes: @@ -1521,7 +1521,7 @@ - hashes: - md5: 1478f9b549f5703fd9f1c46811b49cbe size: 709516080 - name: Pro Evolution Soccer (Europe) (En,Fr,De) + name: Pro Evolution Soccer (Europe) (En,Fr,De) (v1.02) serial: SLES-50412 version: '1.02' - hashes: @@ -1533,7 +1533,7 @@ - hashes: - md5: b22226a880d981339a59b3fee595a086 size: 3121184768 - name: Need for Speed - Hot Pursuit 2 (Europe, Australia) (En,Fr,De,Es,It,Sv) + name: Need for Speed - Hot Pursuit 2 (Europe, Australia) (En,Fr,De,Es,It,Sv) (v1.00) serial: SLES-50731 version: '1.00' - hashes: @@ -1557,7 +1557,7 @@ - hashes: - md5: 251fee43006d86e4ffc98642a816b16d size: 2668855296 - name: FIFA Football 2004 (Europe) (En,It,Nl,Sv) + name: FIFA Football 2004 (Europe) (En,It,Nl,Sv) (v2.00) serial: SLES-51953 version: '2.00' - hashes: @@ -1569,7 +1569,7 @@ - hashes: - md5: c2d35a725f4dcfd79c77f7f56b9f58c9 size: 3320938496 - name: SSX 3 (Europe) (En,Fr,De,Es) + name: SSX 3 (Europe) (En,Fr,De,Es) (v2.00) serial: SLES-51697 version: '2.00' - hashes: @@ -1665,7 +1665,7 @@ - hashes: - md5: dfb8a50d84b3ec9a2638abd4f5a85de1 size: 4657840128 - name: Legacy of Kain - Soul Reaver 2 (USA) + name: Legacy of Kain - Soul Reaver 2 (USA) (v1.01) serial: SLUS-20165 version: '1.01' - hashes: @@ -1677,7 +1677,7 @@ - hashes: - md5: 1ff83fc2204c416594d10dd323127dcb size: 602516544 - name: Crash Bandicoot - The Wrath of Cortex (Europe) (En,Fr,De,Es,It,Nl) + name: Crash Bandicoot - The Wrath of Cortex (Europe) (En,Fr,De,Es,It,Nl) (v2.01) serial: SLES-50386 version: '2.01' - hashes: @@ -1713,7 +1713,7 @@ - hashes: - md5: bf8f6d5500fea32effbf6f2223c9dce5 size: 3793256448 - name: Enter the Matrix (Europe) (En,Fr,De,Es,It) + name: Enter the Matrix (Europe) (En,Fr,De,Es,It) (v1.01) serial: SLES-51203 version: '1.01' - hashes: @@ -1797,7 +1797,7 @@ - hashes: - md5: 0aa2c0772f6b3020d9685360165a7a1b size: 3036381184 - name: Spider-Man (USA) + name: Spider-Man (USA) (v1.00) serial: SLUS-20336 version: '1.00' - hashes: @@ -1827,7 +1827,7 @@ - hashes: - md5: fbd597a064199b00e53fd0fad6b56c3a size: 2633859072 - name: Buzz! The Big Quiz (Europe) + name: Buzz! The Big Quiz (Europe) (v1.01) serial: SCES-53879 version: '1.01' - hashes: @@ -1887,7 +1887,7 @@ - hashes: - md5: 5e26dde9849e35631340b7c8a73688ab size: 1676017664 - name: Hitman 2 - Silent Assassin (USA) + name: Hitman 2 - Silent Assassin (USA) (v1.01) serial: SLUS-20374 version: '1.01' - hashes: @@ -1983,13 +1983,13 @@ - hashes: - md5: 056dd051c41339ad4edf7a0c11d10003 size: 4667703296 - name: Grand Theft Auto - Vice City (USA) + name: Grand Theft Auto - Vice City (USA) (v1.40) serial: SLUS-20552 version: '1.40' - hashes: - md5: 05e47ea6aee8da89289c5567c742db8d size: 3878649856 - name: Gran Turismo 3 - A-Spec (USA) + name: Gran Turismo 3 - A-Spec (USA) (v1.10) serial: PBPX-95503 version: '1.10' - hashes: @@ -2127,7 +2127,7 @@ - hashes: - md5: ef69e75e20b3a86d3bdedd03c0170052 size: 4487905280 - name: Getaway, The (Australia) (En,Fr,De,Es,It) + name: Getaway, The (Australia) (En,Fr,De,Es,It) (v3.00) serial: SCES-51426 version: '3.00' - hashes: @@ -2152,7 +2152,6 @@ - md5: 77e40c0f722c54902f1dacff922ea07a size: 4048289792 name: Final Fantasy XII (Germany) - serial: SLES-54356 version: '1.00' - hashes: - md5: 9b21e5f5c3c9aec343cac908118753a8 @@ -2169,13 +2168,13 @@ - hashes: - md5: 7e974de02c405ca35a179b861aa3afb5 size: 1432748032 - name: Network Adaptor Start-Up Disc (USA) + name: Network Adaptor Start-Up Disc (USA) (v1.01) serial: PBPX-95517 version: '1.01' - hashes: - md5: ae99bb7daff6ad94cbd4e58ed2566c9a size: 4487446528 - name: ATV Offroad Fury 2 (USA) + name: ATV Offroad Fury 2 (USA) (v2.00) serial: SCUS-97211 version: '2.00' - hashes: @@ -2283,7 +2282,7 @@ - hashes: - md5: d17fd4d9193168e0f0431fb24cef199a size: 728143920 - name: Tekken Tag Tournament (USA) + name: Tekken Tag Tournament (USA) (v2.00) serial: SLUS-20001 version: '2.00' - hashes: @@ -2307,7 +2306,7 @@ - hashes: - md5: 6000d5de5a81d814aad355a451685a84 size: 601596912 - name: Crash Bandicoot - The Wrath of Cortex (Europe) (En,Fr,De,Es,It,Nl) + name: Crash Bandicoot - The Wrath of Cortex (Europe) (En,Fr,De,Es,It,Nl) (v1.03) serial: SLES-50386 version: '1.03' - hashes: @@ -2337,13 +2336,13 @@ - hashes: - md5: c383c015065f8060343032480928d08d size: 4499767296 - name: Grand Theft Auto - San Andreas (USA) + name: Grand Theft Auto - San Andreas (USA) (v1.03) serial: SLUS-20946 version: '1.03' - hashes: - md5: 05ea10e36233b5de02bc1cfb8d2a1547 size: 686826336 - name: Demo Disc (Europe) (En,Fr,De,Es,It) + name: Demo Disc (Europe) (En,Fr,De,Es,It) (PBPX-95204) serial: PBPX-95204 version: '1.10' - hashes: @@ -2493,7 +2492,7 @@ - hashes: - md5: 2a7144ff12a306d7dbe09a441e4ab649 size: 3798466560 - name: Enter the Matrix (Europe) (En,Fr,De,Es,It) + name: Enter the Matrix (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-51203 version: '2.00' - hashes: @@ -2566,7 +2565,6 @@ - md5: 6c2a1dbe6f43764dc7699539a3b56ea6 size: 4188471296 name: Dirge of Cerberus - Final Fantasy VII (Europe, Australia) (En,Fr,De,Es,It) - serial: SLES-54185 version: '1.00' - hashes: - md5: f121ed57d3cfb80dd6f7e0162f1b9257 @@ -2577,7 +2575,7 @@ - hashes: - md5: fe6a428d3ab39b678607beb4e7d63aab size: 2255126528 - name: WipEout Fusion (Europe) (En,Fr,De,Es,It) + name: Wipeout Fusion (Europe) (En,Fr,De,Es,It) serial: SCES-50005 version: '1.01' - hashes: @@ -2613,7 +2611,7 @@ - hashes: - md5: 1d3bc49e0e34d4cc6bd37b9cfa7e2db2 size: 2789638144 - name: Network Access Disc (Europe) (En,Fr,De,Es,It) + name: Network Access Disc (Europe) (En,Fr,De,Es,It) (v2.00) serial: SCES-51578 version: '2.00' - hashes: @@ -2862,7 +2860,7 @@ - hashes: - md5: 1f23a2999812c76582545df522138358 size: 1485602816 - name: Barbie in the 12 Dancing Princesses (USA) + name: Barbie in The 12 Dancing Princesses (USA) serial: SLUS-21579 version: '1.00' - hashes: @@ -3024,7 +3022,7 @@ - hashes: - md5: fdda7f8bb670acc26c273d314f22bc62 size: 3146481664 - name: Ar tonelico - Melody of Elemia (USA) + name: Ar Tonelico - Melody of Elemia (USA) serial: SLUS-21445 version: '1.01' - hashes: @@ -3073,7 +3071,6 @@ - md5: fc43c3e4bcbf2e906db0dcc3d0a01c52 size: 4047667200 name: Final Fantasy XII (France) - serial: SLES-54355 version: '1.00' - hashes: - md5: 39dcbbf75c09ca13b6a5f280e0def8fa @@ -3109,7 +3106,7 @@ - md5: fbad980569dac759ccc15da99eab18a6 size: 2912321536 name: WRC 4 - The Official Game of the FIA World Rally Championship (Europe, Australia) - (En,Fr,De,Es,It,Pt,No,Fi) + (En,Fr,De,Es,It,Pt,No,Fi) (v2.00) serial: SCES-52389 version: '2.00' - hashes: @@ -3241,7 +3238,7 @@ - hashes: - md5: 936047108ef15e65b95ef473bbd80194 size: 4213997568 - name: Ratchet & Clank (Europe) (En,Fr,De,Es,It) + name: Ratchet & Clank (Europe) (En,Fr,De,Es,It) (v1.00) serial: SCES-50916 version: '1.00' - hashes: @@ -3271,7 +3268,7 @@ - hashes: - md5: fa2c90a0a173c0299dc1447f868c013a size: 6225395712 - name: 24 - The Game (Europe, Australia) (En,Fr,De,Es,It,Nl,Pl,Cs,Hu) + name: 24 - The Game (Europe, Australia) (En,Fr,De,Es,It,Nl,Pl,Cs,Hu) (v1.00) serial: SCES-53358 version: '1.00' - hashes: @@ -3475,7 +3472,7 @@ - hashes: - md5: 48cf20e6476d6f4f20992522a2d2d37e size: 1869316096 - name: LEGO Star Wars - The Video Game (USA) + name: LEGO Star Wars - The Video Game (USA) (v2.00) serial: SLUS-21083 version: '2.00' - hashes: @@ -3523,7 +3520,7 @@ - hashes: - md5: ebb41b62f3ae349be605b93efb1d6a8e size: 4477124608 - name: SingStar '80s (Sweden) + name: SingStar '80s (Sweden) (v2.00) serial: SCES-53609 version: '2.00' - hashes: @@ -3625,7 +3622,7 @@ - hashes: - md5: 32b8347b2bb80cd30d30ba0601ebb0ee size: 4214784000 - name: Ratchet & Clank (Europe, Australia) (En,Fr,De,Es,It) + name: Ratchet & Clank (Europe, Australia) (En,Fr,De,Es,It) (v2.00) serial: SCED-50916 version: '2.00' - hashes: @@ -3637,7 +3634,7 @@ - hashes: - md5: 19f51d7f087c1e079ac4d14dff60dde9 size: 4698767360 - name: Grand Theft Auto III (Europe) (En,Fr,De,Es,It) + name: Grand Theft Auto III (Europe) (En,Fr,De,Es,It) (v1.40) serial: SLES-50330 version: '1.40' - hashes: @@ -3709,7 +3706,7 @@ - hashes: - md5: 25b6579db5fe53e67e08cd6724575fb6 size: 1434746880 - name: Network Access Disc (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + name: Network Access Disc (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) (v4.03) serial: SCES-51578 version: '4.03' - hashes: @@ -3758,7 +3755,6 @@ - md5: bdac6a97a6a3268d03f7c3a2b7185334 size: 3836116992 name: Who Wants to Be a Millionaire - Party Edition (Europe) - serial: SLES-54199 version: '1.01' - hashes: - md5: 90e4e6d4bc94d5eafd7fec609eae4add @@ -3805,7 +3801,7 @@ - hashes: - md5: 627438d6d9589842844cb2d193818f3a size: 2084339712 - name: Hitman 2 - Silent Assassin (USA) + name: Hitman 2 - Silent Assassin (USA) (v3.01) serial: SLUS-20374 version: '3.01' - hashes: @@ -3871,7 +3867,7 @@ - hashes: - md5: 06beb1360abe88fa9be4ff589fd66299 size: 603972432 - name: XGIII - Extreme G Racing (Europe) (En,Fr,De,Es) + name: XGIII - Extreme G Racing (Europe) (En,Fr,De,Es) (v1.02) serial: SLES-50210 version: '1.02' - hashes: @@ -3944,7 +3940,6 @@ - md5: dbcb41d448eecb3c709ff9cc154bcebc size: 3634593792 name: Just Cause (Europe) (En,Es,It) - serial: SLES-54137 version: '1.00' - hashes: - md5: 26aedd2f41edae14eb750501a9c21907 @@ -4063,7 +4058,7 @@ - hashes: - md5: df75eee621ff1b17c1503d013870b575 size: 3045687296 - name: Disney-Pixar Cars (Europe, Australia) + name: Disney-Pixar Cars (Europe, Australia) (v2.00) serial: SLES-53624 version: '2.00' - hashes: @@ -4099,7 +4094,7 @@ - hashes: - md5: 1619d04de308a028457b4ac741f0ffc2 size: 4303224832 - name: Hitman 2 - Silent Assassin (Europe) + name: Hitman 2 - Silent Assassin (Europe) (v2.00) serial: SLES-50992 version: '2.00' - hashes: @@ -4111,13 +4106,13 @@ - hashes: - md5: adafe3fb24a9ab3403cfa0102ce45060 size: 2402942976 - name: ObsCure (Europe) + name: Obscure (Europe) serial: SLES-52737 version: '1.00' - hashes: - md5: d6a335c4ce074a953e9070d960faf1ab size: 952893440 - name: Rayman M (Europe) (En,Fr,De,Es,It) + name: Rayman M (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-50457 version: '2.00' - hashes: @@ -4159,7 +4154,7 @@ - hashes: - md5: ef25e74b87270cff0d26c18ff4ba8f87 size: 704656848 - name: Thomas & Friends - A Day at the Races (Europe) (En,Sv,No,Da,Fi) + name: Thomas & Friends - A Day at the Races (Europe) (Sv,No,Da,Fi) serial: SLES-54861 version: '1.00' - hashes: @@ -4195,7 +4190,7 @@ - hashes: - md5: 2220acb6d040a0a0e947e6650631f90d size: 3687022592 - name: Gran Turismo 3 - A-Spec (Europe, Australia) (En,Fr,De,Es,It) + name: Gran Turismo 3 - A-Spec (Europe, Australia) (En,Fr,De,Es,It) (v1.00) serial: SCES-50294 version: '1.00' - hashes: @@ -4207,7 +4202,7 @@ - hashes: - md5: d4ce2b5046a640d494a7f0ac618bd5fa size: 2668855296 - name: FIFA Football 2004 (Europe) (En,It,Nl,Sv) + name: FIFA Football 2004 (Europe) (En,It,Nl,Sv) (v1.00) serial: SLES-51953 version: '1.00' - hashes: @@ -4539,7 +4534,7 @@ - hashes: - md5: 120303ffeabc566f70e81bcb5bc7900e size: 4698767360 - name: Grand Theft Auto - Vice City (Europe) (En,Fr,De,Es,It) + name: Grand Theft Auto - Vice City (Europe) (En,Fr,De,Es,It) (v3.00) serial: SLES-51061 version: '3.00' - hashes: @@ -4551,7 +4546,7 @@ - hashes: - md5: 1e1da3b9a9169f0cc3ee006fe2023cfd size: 805634048 - name: Soldier of Fortune - Gold Edition (Europe) (En,Fr,De,Es,It) + name: Soldier of Fortune - Gold Edition (Europe) (En,Fr,De,Es,It) (v1.01) serial: SLES-50739 version: '1.01' - hashes: @@ -4894,7 +4889,7 @@ - hashes: - md5: 89f03ed67b3f22d591f07110b3b106dd size: 3370614784 - name: Formula One 2001 (Europe, Australia) (En,Fr,De,Es,It,Fi) + name: Formula One 2001 (Europe, Australia) (En,Fr,De,Es,It,Fi) (v2.00) serial: SCES-50004 version: '2.00' - hashes: @@ -4912,7 +4907,7 @@ - hashes: - md5: 4060dd8a7c4aff391ebf1c05ff9246ca size: 2327150592 - name: WipEout Fusion (USA) + name: Wipeout Fusion (USA) serial: SLUS-20462 version: '1.03' - hashes: @@ -4943,7 +4938,7 @@ - hashes: - md5: b2ced6c0f098fca1087c3ca7e1ea099d size: 538161120 - name: Crash Bandicoot - The Wrath of Cortex (USA) + name: Crash Bandicoot - The Wrath of Cortex (USA) (v1.01) serial: SLUS-20238 version: '1.01' - hashes: @@ -5039,7 +5034,7 @@ - hashes: - md5: 53d599c20ab9dbb55037672ba684fd81 size: 4676091904 - name: Tiger Woods PGA Tour 2005 (Europe) (En,Fr,De,Sv) + name: Tiger Woods PGA Tour 2005 (Europe) (En,Fr,De,Sv) (v2.00) serial: SLES-52509 version: '2.00' - hashes: @@ -5093,13 +5088,13 @@ - hashes: - md5: fddacf178b4c847c98a7c2567bb916b5 size: 1839693824 - name: Red Faction (USA) + name: Red Faction (USA) (v1.01) serial: SLUS-20073 version: '1.01' - hashes: - md5: 053307e504d88101924d8017d165676b size: 3492675584 - name: SOCOM - U.S. Navy SEALs (USA) + name: SOCOM - U.S. Navy SEALs (USA) (v1.00) serial: SCUS-97134 version: '1.00' - hashes: @@ -5214,7 +5209,7 @@ - hashes: - md5: f9017705514e00a0c9b6f95c5de2317e size: 725777808 - name: Tekken Tag Tournament (Japan) + name: Tekken Tag Tournament (Japan) (v3.00) serial: SLPS-71501 version: '3.00' - hashes: @@ -5293,7 +5288,7 @@ - hashes: - md5: 4b013a97fc496e990477eae4d3173e7a size: 2687205376 - name: Network Access Disc (Europe) (En,Fr,De,Es,It) + name: Network Access Disc (Europe) (En,Fr,De,Es,It) (v1.03) serial: SCES-51578 version: '1.03' - hashes: @@ -5372,7 +5367,6 @@ - md5: e41dbd2a50f014ebabd2991d39142f6d size: 4047568896 name: Final Fantasy XII (Spain) - serial: SLES-54358 version: '1.00' - hashes: - md5: 3bf85783142bd4ebf8535b29d4251a67 @@ -5389,7 +5383,7 @@ - hashes: - md5: 4c597bb198fc3553e525bf6d0f6257e4 size: 1841561600 - name: Pro Evolution Soccer 4 (Europe) (En,Fr,De,Es) + name: Pro Evolution Soccer 4 (Europe) (En,Fr,De,Es) (v1.02) serial: SLES-52760 version: '1.02' - hashes: @@ -5509,7 +5503,7 @@ - hashes: - md5: fd484a27771980614b9e86f760f15c93 size: 4437737472 - name: Dark Cloud 2 (USA) + name: Dark Cloud 2 (USA) (v1.00) serial: SCUS-97213 version: '1.00' - hashes: @@ -5617,7 +5611,7 @@ - hashes: - md5: cd25cfc22f9f6a78ddff1f96d0bc4b11 size: 1369276416 - name: Network Access Disc (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + name: Network Access Disc (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) (v6.00) serial: SCES-51578 version: '6.00' - hashes: @@ -5701,7 +5695,7 @@ - hashes: - md5: 928550b20dd6ad2a4a2593179832594e size: 4626612224 - name: Official PlayStation 2 Magazine Demo 50 (Germany) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 50 (Germany) (En,Fr,De,Es,It) (SCED-52796) serial: SCED-52796 version: '1.01' - hashes: @@ -5941,7 +5935,7 @@ - hashes: - md5: 3c7d30a1369d1669ac18ef64a8706487 size: 3320938496 - name: SSX 3 (Europe) (En,Fr,De,Es) + name: SSX 3 (Europe) (En,Fr,De,Es) (v1.00) serial: SLES-51697 version: '1.00' - hashes: @@ -5953,7 +5947,7 @@ - hashes: - md5: bb2e77b3a2061b035726978a5e3a900a size: 4664262656 - name: State of Emergency (Europe) (En,Fr,Es,It) + name: State of Emergency (Europe) (En,Fr,Es,It) (v1.02) serial: SLES-50606 version: '1.02' - hashes: @@ -5977,7 +5971,7 @@ - hashes: - md5: 207cfeacc6af19d0a83ce3a39da05125 size: 719502672 - name: TimeSplitters (USA) + name: TimeSplitters (USA) (v2.00) serial: SLUS-20090 version: '2.00' - hashes: @@ -6067,7 +6061,7 @@ - hashes: - md5: 72222ccb70b3a634543752954232b3fd size: 3935567872 - name: Enter the Matrix (USA) + name: Enter the Matrix (USA) (v1.01) serial: SLUS-20454 version: '1.01' - hashes: @@ -6181,7 +6175,7 @@ - hashes: - md5: a9ec75365fa326f0d6a50be73e720465 size: 4588339200 - name: SingStar '80s (Europe, Australia) + name: SingStar '80s (Europe, Australia) (v2.00) serial: SCES-53602 version: '2.00' - hashes: @@ -6241,13 +6235,13 @@ - hashes: - md5: a7e51117609b98673851ef9abc2fd6f3 size: 4698767360 - name: Grand Theft Auto - Vice City (USA) + name: Grand Theft Auto - Vice City (USA) (v3.00) serial: SLUS-20552 version: '3.00' - hashes: - md5: 0cc7e76c94e4842a87085fa5484832df size: 4517036032 - name: Grand Theft Auto - San Andreas (USA) + name: Grand Theft Auto - San Andreas (USA) (v3.00) serial: SLUS-20946 version: '3.00' - hashes: @@ -6403,7 +6397,7 @@ - hashes: - md5: c7dd94521130e053594d543e10a77d02 size: 2202370048 - name: Splashdown (Europe) (En,Fr,De,Es,It) + name: Splashdown (Europe) (En,Fr,De,Es,It) (v1.00) serial: SLES-50486 version: '1.00' - hashes: @@ -6421,7 +6415,7 @@ - hashes: - md5: 1b83937656fd8fede5c0fbc8dbc11f8f size: 4401790976 - name: Ar tonelico II - Melody of Metafalica (USA) + name: Ar Tonelico II - Melody of Metafalica (USA) serial: SLUS-21788 version: '1.00' - hashes: @@ -6722,7 +6716,7 @@ - hashes: - md5: e074fae418feff31ee9b4c6422527cab size: 1927217152 - name: Fullmetal Alchemist and the Broken Angel (USA) + name: Fullmetal Alchemist and the Broken Angel (USA, Canada) serial: SLUS-20994 version: '1.00' - hashes: @@ -6890,7 +6884,7 @@ - hashes: - md5: bf52f680ec81c4d2c95f15ba577b3d07 size: 982614016 - name: Giants - Citizen Kabuto (Europe) + name: Giants - Citizen Kabuto (Europe) (En,Fr,De,Es,It) serial: SLES-50314 version: '1.02' - hashes: @@ -7082,7 +7076,7 @@ - hashes: - md5: d9d0655a355a1987cc0b55c3c6eaf744 size: 603977136 - name: XGIII - Extreme G Racing (Europe) (En,Fr,De,Es) + name: XGIII - Extreme G Racing (Europe) (En,Fr,De,Es) (v2.00) serial: SLES-50210 version: '2.00' - hashes: @@ -7172,7 +7166,7 @@ - hashes: - md5: 3a6587656d942f49a8d3478cf1ae92d5 size: 2898296832 - name: NiGHTS into Dreams... (Japan) + name: Nights into Dreams... (Japan) serial: SLPM-66926 version: '1.00' - hashes: @@ -7185,7 +7179,7 @@ - md5: a4bd1b1286b31b29188c6084fdcb3a6e size: 3540123648 name: Kingdom Hearts - Final Mix (Japan, Asia) - serial: SLAJ-25004 + serial: SCAJ-20149 version: '1.00' - hashes: - md5: 9af8119107df074b6badcb923c2a58a0 @@ -7352,13 +7346,13 @@ - hashes: - md5: 170523443197d6074ddecedaa0249c52 size: 3781885952 - name: Simpsons Game, The (USA) + name: Simpsons Game, The (USA, Canada) serial: SLUS-21665 version: '1.00' - hashes: - md5: 6bdc85acb6cd0d31912d61590005e4db size: 4665671680 - name: Star Wars - Battlefront II (USA) + name: Star Wars - Battlefront II (USA) (v2.01) serial: SLUS-21240 version: '2.01' - hashes: @@ -7448,7 +7442,7 @@ - hashes: - md5: fa4108a52412c91784c94b42ba4f65db size: 223865712 - name: PDC World Championship Darts (Europe) (En,Fr,De,Es,It,Nl) + name: PDC World Championship Darts (Europe) (En,Fr,De,Es,It,Nl) (v1.02) serial: SLES-54111 version: '1.02' - hashes: @@ -7466,7 +7460,7 @@ - hashes: - md5: 7db634f47cc86a3623005a68dac4f0f7 size: 3483860992 - name: Tiger Woods PGA Tour 2004 (Europe) + name: Tiger Woods PGA Tour 2004 (Europe) (v1.00) serial: SLES-51887 version: '1.00' - hashes: @@ -7808,7 +7802,7 @@ - hashes: - md5: cda1ae0d9f719325e4686eb19dc7f954 size: 882343936 - name: ATV Offroad Fury (USA) + name: ATV Offroad Fury (USA) (v3.01) serial: SCUS-97104 version: '3.01' - hashes: @@ -8031,7 +8025,7 @@ - md5: 2a8476852ff9a6ba5656d06e9a97fa66 size: 4691427328 name: NHL 2004 (USA) - serial: SLUS-20756 + serial: SKUS-20756 version: '1.00' - hashes: - md5: 1df43e718e40816ccf70f63c2cada0fc @@ -8144,7 +8138,7 @@ - hashes: - md5: e75426ec244c65b92bf9e4aedbbddd01 size: 4641193984 - name: Silent Hill 2 (USA) (En,Ja) + name: Silent Hill 2 (USA) (En,Ja) (v1.20) serial: SLUS-20228 version: '1.20' - hashes: @@ -8168,7 +8162,7 @@ - hashes: - md5: 66c45bb13c62452808dbbe4b9075597d size: 391939632 - name: World Championship Poker (USA) + name: World Championship Poker (USA, Canada) serial: SLUS-21028 version: '1.02' - hashes: @@ -8342,7 +8336,7 @@ - hashes: - md5: 1c26a0602691862a06a5f68d1589fd22 size: 3033333760 - name: Spider-Man (USA) + name: Spider-Man (USA) (v2.01) serial: SLUS-20336 version: '2.01' - hashes: @@ -8596,7 +8590,7 @@ - hashes: - md5: a69e13869875b63edb9ff9491095ae4b size: 4410671104 - name: Jak II (USA) (En,Ja,Fr,De,Es,It,Ko) + name: Jak II (USA) (En,Ja,Fr,De,Es,It,Ko) (v2.01) serial: SCUS-97265 version: '2.01' - hashes: @@ -8692,7 +8686,7 @@ - hashes: - md5: 648721cc81d5dc2e360501aa110a2324 size: 2658664448 - name: FIFA Football 2004 (Europe) (Fr,De) + name: FIFA Football 2004 (Europe) (Fr,De) (v2.00) serial: SLES-51963 version: '2.00' - hashes: @@ -8710,7 +8704,7 @@ - hashes: - md5: 05883a85fc0e5ae63fda1e0742614c12 size: 4698767360 - name: Resident Evil - Outbreak (USA) + name: Resident Evil - Outbreak (USA) (v1.01) serial: SLUS-20765 version: '1.01' - hashes: @@ -8758,7 +8752,7 @@ - hashes: - md5: ce993270c3842e4cd1074929f31dc354 size: 4517888000 - name: Grand Theft Auto - San Andreas (Germany) (En,De) + name: Grand Theft Auto - San Andreas (Germany) (En,De) (v2.01) serial: SLES-52927 version: '2.01' - hashes: @@ -8794,7 +8788,7 @@ - hashes: - md5: f3a1eb209a74a4110f088f11be9e07e9 size: 1472167936 - name: Nickelodeon Avatar - The Legend of Aang (Europe) (En,Fr,De,Nl) + name: Nickelodeon Avatar - The Legend of Aang (Europe) (En,Fr,De,Nl) (v1.00) serial: SLES-54188 version: '1.00' - hashes: @@ -9112,7 +9106,7 @@ - hashes: - md5: d034b5430cfb9d5b72729e4c6c8f1f7d size: 571147920 - name: Pro Evolution Soccer (Europe) (Es,It) + name: Pro Evolution Soccer (Europe) (Es,It) (v1.02) serial: SLES-50462 version: '1.02' - hashes: @@ -9184,7 +9178,7 @@ - hashes: - md5: 4c21a55f71f9936fe48b20319047e6d6 size: 3703078912 - name: Need for Speed - Most Wanted (USA) + name: Need for Speed - Most Wanted (USA) (v1.01) serial: SLUS-21267 version: '1.01' - hashes: @@ -9383,7 +9377,7 @@ - hashes: - md5: 4eef59c9a1c98b9202904c571bd14a3f size: 3892936704 - name: WipEout Pulse (Europe) (En,Fr,De,Es,It) + name: Wipeout Pulse (Europe) (En,Fr,De,Es,It) serial: SCES-54748 version: '1.00' - hashes: @@ -9401,7 +9395,7 @@ - hashes: - md5: 8a3a380a1e1a2f1426d3fd0dc4f03588 size: 4592238592 - name: Sly 2 - Band of Thieves (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + name: Sly 2 - Band of Thieves (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) (v1.00) serial: SCES-52529 version: '1.00' - hashes: @@ -9711,7 +9705,7 @@ - hashes: - md5: 89a13d7fbc5f293a7721358294431bf0 size: 2658664448 - name: FIFA Football 2004 (Europe) (Fr,De) + name: FIFA Football 2004 (Europe) (Fr,De) (v1.01) serial: SLES-51963 version: '1.01' - hashes: @@ -9795,7 +9789,7 @@ - hashes: - md5: 3d8aa805d2f1a406dc116a26c867ccfe size: 4684972032 - name: SingStar '80s (Germany) + name: SingStar '80s (Germany) (v2.00) serial: SCES-53604 version: '2.00' - hashes: @@ -9831,7 +9825,7 @@ - hashes: - md5: 566a6e7255142d4c909ae74529cd90bd size: 3702456320 - name: Need for Speed - Most Wanted (USA) + name: Need for Speed - Most Wanted (USA) (v2.00) serial: SLUS-21267 version: '2.00' - hashes: @@ -10138,7 +10132,7 @@ - hashes: - md5: f5b70bf1de1e4310d806249685f1b2bb size: 33746496 - name: Ultimate Music Quiz, The (Europe) (En,Fr,De,Es,It,Nl) + name: Ultimate Music Quiz, The (Europe) (En,Fr,De,Es,It,Nl) (v2.00) serial: SLES-53599 version: '2.00' - hashes: @@ -10174,7 +10168,7 @@ - hashes: - md5: 1b8f29a383e887f6895bd2bb1980dd2e size: 582832656 - name: Real World Golf (Europe) + name: Real World Golf (Europe) (v1.01) serial: SLES-53371 version: '1.01' - hashes: @@ -10312,7 +10306,7 @@ - hashes: - md5: 46ad6cabe58a40b7a79ebd3232a6a93c size: 4698767360 - name: Resident Evil - Outbreak (USA) + name: Resident Evil - Outbreak (USA) (v2.00) serial: SLUS-20765 version: '2.00' - hashes: @@ -10396,7 +10390,7 @@ - hashes: - md5: c5f3e058efd704c4bfe24a8e15922b20 size: 3936256000 - name: Hitman 2 - Silent Assassin (France) + name: Hitman 2 - Silent Assassin (France) (v2.00) serial: SLES-51108 version: '2.00' - hashes: @@ -10585,6 +10579,7 @@ - md5: 7e7c2d1e001edb8acdf6a588509956c3 size: 1760591872 name: EyeToy - Play 2 (Europe, Australia) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi,El) + (v1.00) serial: SCES-52748 version: '1.00' - hashes: @@ -10644,7 +10639,7 @@ - hashes: - md5: e4b88206c668b0a40d7607dd109a9efa size: 634807152 - name: Age of Empires II - The Age of Kings (Europe) (En,Fr,De,Es,It) + name: Age of Empires II - The Age of Kings (Europe) (En,Fr,De,Es,It) (v1.20) serial: SLES-50282 version: '1.20' - hashes: @@ -10866,7 +10861,7 @@ - hashes: - md5: 51322332502214348c5a06457ddf714f size: 3885924352 - name: Arthur and the Invisibles - The Game (USA) (En,Fr,Es) + name: Arthur and the Invisibles (USA) (En,Fr,Es) serial: SLUS-21305 version: '1.00' - hashes: @@ -10968,7 +10963,7 @@ - hashes: - md5: ed08be35e84e571d21395899ede7e1f7 size: 4487905280 - name: Getaway, The (Europe) (En,Fr,De,Es,It) + name: Getaway, The (Europe) (En,Fr,De,Es,It) (v2.03) serial: SCES-51159 version: '2.03' - hashes: @@ -10992,7 +10987,7 @@ - hashes: - md5: 8028e0c9e7d8fb5b3f926a744334a41c size: 4588797952 - name: AND 1 Streetball (USA) (En,Fr,Es) + name: AND 1 Streetball (USA) (En,Fr,Es) (v2.00) serial: SLUS-21237 version: '2.00' - hashes: @@ -11178,7 +11173,7 @@ - hashes: - md5: e534b75ce37de48ebb1a9ba114dc9f3a size: 4540891136 - name: Boogie (USA) + name: Boogie (USA) (En,Es,Fi) serial: SLUS-21681 version: '1.00' - hashes: @@ -11376,7 +11371,7 @@ - hashes: - md5: 877c58da9d2b10e86ef9e733e2be473f size: 709516080 - name: Pro Evolution Soccer (Europe) (En,Fr,De) + name: Pro Evolution Soccer (Europe) (En,Fr,De) (v2.00) serial: SLES-50412 version: '2.00' - hashes: @@ -11448,7 +11443,7 @@ - hashes: - md5: 939d1bfb508f6943cc39a84733eb5f31 size: 4268097536 - name: Official PlayStation 2 Magazine Demo 49 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 49 (Europe) (En,Fr,De,Es,It) (SCED-52164) serial: SCED-52164 version: '1.03' - hashes: @@ -11484,7 +11479,7 @@ - hashes: - md5: b81b5b940b9749051edeef639ff425f1 size: 3683090432 - name: Official PlayStation 2 Magazine Demo 54 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 54 (Europe) (En,Fr,De,Es,It) (SCED-52169) serial: SCED-52169 version: '1.01' - hashes: @@ -11520,7 +11515,7 @@ - hashes: - md5: 4d92eeebfaff0f53283bebae34f4eb0d size: 4269735936 - name: Sims 2, The - Pets (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi,Pl) + name: Sims 2, The - Pets (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi,Pl) (v1.00) serial: SLES-54347 version: '1.00' - hashes: @@ -11562,7 +11557,7 @@ - hashes: - md5: df7dc7fc57dcbfac64ee73eaf79fb860 size: 4594892800 - name: Call of Duty - Finest Hour (USA) + name: Call of Duty - Finest Hour (USA) (v1.04) serial: SLUS-20725 version: '1.04' - hashes: @@ -11610,7 +11605,7 @@ - hashes: - md5: 886c884b18f4ccc301907d2c11d98dd1 size: 4293984256 - name: Champions - Return to Arms (USA) + name: Champions - Return to Arms (USA) (v2.00) serial: SLUS-20973 version: '2.00' - hashes: @@ -11856,7 +11851,7 @@ - hashes: - md5: c2125d6bc68d23c2e13ba3ee6cbc2d2a size: 3504504832 - name: Area 51 (Europe) (En,Fr,De,Es,It) + name: Area 51 (Europe) (En,Fr,De,Es,It) (v1.02) serial: SLES-52570 version: '1.02' - hashes: @@ -11928,7 +11923,7 @@ - hashes: - md5: 300e8fa26d8980fedfeb5698cdf4013b size: 3392929792 - name: Tony Hawk's Pro Skater 4 (USA) + name: Tony Hawk's Pro Skater 4 (USA) (v1.02) serial: SLUS-20504 version: '1.02' - hashes: @@ -11971,7 +11966,6 @@ - md5: 9983163ae461e365082b90ade97c4bae size: 1418133504 name: Championship Manager 2006 (Europe) (En,Fr,Es,It,Pt) - serial: SLES-53945 version: '1.00' - hashes: - md5: 910772c53b1617fe0f1853725f8916e9 @@ -11988,7 +11982,7 @@ - hashes: - md5: 4b3835f701aad83bce7e34355e8d2be4 size: 1228832768 - name: Cricket 2004 (Europe) + name: Cricket 2004 (Europe) (v2.00) serial: SLES-52123 version: '2.00' - hashes: @@ -12252,7 +12246,7 @@ - hashes: - md5: b5c0831dbbafa7374447c803c0a69024 size: 618663024 - name: Dark Angel - Vampire Apocalypse (USA) + name: Dark Angel - Vampire Apocalypse (USA) (v1.02) serial: SLUS-20131 version: '1.02' - hashes: @@ -12342,7 +12336,7 @@ - hashes: - md5: 408d20779b16d038be236594e876c231 size: 384396768 - name: Tour de France, Le - 1903 - 2003 - Centenary Edition (Europe) (En,Fr,De,Es,It) + name: Tour de France, Le - 1903-2003 - Centenary Edition (Europe) (En,Fr,De,Es,It) serial: SLES-51488 version: '1.01' - hashes: @@ -12480,7 +12474,7 @@ - hashes: - md5: 3b1390e399947756ccda4cac79931f01 size: 3370614784 - name: Formula One 2001 (Europe) (En,Fr,De,Es,It,Fi) + name: Formula One 2001 (Europe) (En,Fr,De,Es,It,Fi) (v1.01) serial: SCES-50004 version: '1.01' - hashes: @@ -12588,7 +12582,7 @@ - hashes: - md5: 68938b438e4ced81664b237ce56f3e95 size: 3920592896 - name: TOCA Race Driver (Europe) (En,Fr,Es) + name: TOCA Race Driver (Europe) (En,Fr,Es) (v2.00) serial: SLES-50723 version: '2.00' - hashes: @@ -12642,7 +12636,7 @@ - hashes: - md5: a49eae4fa8d2f4789c79ef69a28ab5ba size: 4307353600 - name: Hitman 2 - Silent Assassin (Europe) + name: Hitman 2 - Silent Assassin (Europe) (v1.01) serial: SLES-50992 version: '1.01' - hashes: @@ -12672,7 +12666,7 @@ - hashes: - md5: a82647fe907b8949b1fea8cb0a1e2237 size: 3912269824 - name: Battlefield 2 - Modern Combat (Europe) (En,Es,Nl,Sv) + name: Battlefield 2 - Modern Combat (Europe) (En,Es,Nl,Sv) (v2.01) serial: SLES-53729 version: '2.01' - hashes: @@ -12720,7 +12714,7 @@ - hashes: - md5: 43858b4d42c3c160f68dc52a11c9f354 size: 1579122688 - name: Pro Evolution Soccer 6 (France) + name: PES 6 - Pro Evolution Soccer (France) serial: SLES-54360 version: '1.01' - hashes: @@ -12846,13 +12840,13 @@ - hashes: - md5: e41c0df003244066ebc29f5a77c21dac size: 3919839232 - name: Battlefield 2 - Modern Combat (Europe) (En,Es,Nl,Sv) + name: Battlefield 2 - Modern Combat (Europe) (En,Es,Nl,Sv) (v1.00) serial: SLES-53729 version: '1.00' - hashes: - md5: 26dd141fb8cf85676fd3370933c99c9f size: 4421681152 - name: Ar tonelico II - Melody of Metafalica (Europe) + name: Ar Tonelico II - Melody of Metafalica (Europe) serial: SLES-55444 version: '1.00' - hashes: @@ -12871,7 +12865,6 @@ - md5: ad2c6a0489788a0ec88e64d2c8334541 size: 2753396736 name: Bionicle Heroes (Europe) (En,Fr,De,Es,It,Da) - serial: SLES-54150 version: '1.01' - hashes: - md5: 9887fa3b2ae6f3ee4be7e11b9194b813 @@ -13050,7 +13043,7 @@ - hashes: - md5: 0bec104614687df18f28f6f58c2285ad size: 4437770240 - name: Dark Cloud 2 (USA) + name: Dark Cloud 2 (USA) (v2.00) serial: SCUS-97213 version: '2.00' - hashes: @@ -13266,7 +13259,7 @@ - hashes: - md5: 2544e1a72a4769ea707244e0c7a9a072 size: 4410671104 - name: Jak II (USA) (En,Ja,Fr,De,Es,It,Ko) + name: Jak II (USA) (En,Ja,Fr,De,Es,It,Ko) (v1.00) serial: SCUS-97265 version: '1.00' - hashes: @@ -13332,7 +13325,7 @@ - hashes: - md5: 38586f5041daa7738c2bd4d4836e1896 size: 3670540288 - name: WRC - Rally Evolved (Europe) (En,Fr,De,Es,It,Pt,No,Fi) + name: WRC - Rally Evolved (Europe) (En,Fr,De,Es,It,Pt,No,Fi) (v1.01) serial: SCES-53247 version: '1.01' - hashes: @@ -13356,7 +13349,7 @@ - hashes: - md5: 027262923440f0caf538ce8a80b27d1e size: 1154875392 - name: Monster Rancher 3 (USA) + name: Monster Rancher 3 (USA) (v2.01) serial: SLUS-20190 version: '2.01' - hashes: @@ -13542,7 +13535,7 @@ - hashes: - md5: 3cbbb5127ee8a0be93ef0876f7781ee8 size: 3828350976 - name: Ratchet & Clank - Going Commando (USA) + name: Ratchet & Clank - Going Commando (USA) (v1.01) serial: SCUS-97268 version: '1.01' - hashes: @@ -13567,7 +13560,6 @@ - md5: bddb58b04c0d813c1fee830d7cc2c074 size: 3634593792 name: Just Cause (Europe) (Fr,De) - serial: SLES-54200 version: '1.00' - hashes: - md5: 23446ef35816065541d868d9cb17e4ad @@ -13789,7 +13781,7 @@ - hashes: - md5: 7866bb4d627188116812295c08fe3d38 size: 1766883328 - name: Formula One 04 (Europe) (En,Fr,De,Es,It,Fi) + name: Formula One 04 (Europe) (En,Fr,De,Es,It,Fi) (v1.01) serial: SCES-52042 version: '1.01' - hashes: @@ -13927,7 +13919,7 @@ - hashes: - md5: 24588dbb3a0ec54fe7e2a7f813096849 size: 2108489728 - name: Crash Twinsanity (USA) + name: Crash Twinsanity (USA) (v2.00) serial: SLUS-20909 version: '2.00' - hashes: @@ -14377,7 +14369,7 @@ - hashes: - md5: 5d355c4d5617e8f011672399423e1b31 size: 23320080 - name: Ultimate Music Quiz, The (Europe) (En,Fr,De,Es,It,Nl) + name: Ultimate Music Quiz, The (Europe) (En,Fr,De,Es,It,Nl) (v1.00) serial: SLES-53599 version: '1.00' - hashes: @@ -14599,7 +14591,7 @@ - hashes: - md5: 8a3ce7327fd044bfbaf93da80093c95f size: 3868295168 - name: DTM Race Driver (Europe) (En,Fr,De) + name: DTM Race Driver (Europe) (En,Fr,De) (v1.01) serial: SLES-50816 version: '1.01' - hashes: @@ -14924,7 +14916,6 @@ - md5: 6e92b26e942e924e5aab3876fa7354c2 size: 3726573568 name: Reservoir Dogs (Europe) (En,Fr,Es,It) - serial: SLES-53775 version: '1.02' - hashes: - md5: fc5885a160d57cbafebc8f5bf50dac2d @@ -15277,7 +15268,7 @@ - hashes: - md5: d90e400d71581fae82d211225f11be2f size: 3171287040 - name: Ar tonelico - Melody of Elemia (Europe) + name: Ar Tonelico - Melody of Elemia (Europe) serial: SLES-54586 version: '1.01' - hashes: @@ -15410,7 +15401,7 @@ - hashes: - md5: c0a9ca90cc215ff5a7c1404e93d90c00 size: 4690509824 - name: NHL 09 (USA) + name: NHL 09 (USA) (v2.00) serial: SLUS-21771 version: '2.00' - hashes: @@ -15631,7 +15622,7 @@ - hashes: - md5: e6de45d4be80467a6f8e60bdb1ba0875 size: 731135664 - name: LEGO Star Wars - The Video Game (USA) + name: LEGO Star Wars - The Video Game (USA) (v1.01) serial: SLUS-21083 version: '1.01' - hashes: @@ -15787,7 +15778,7 @@ - hashes: - md5: 396e230b0ea58d17ee5d721cdc8dd6ea size: 3248455680 - name: kill.switch (USA) + name: Kill Switch (USA) serial: SLUS-20706 version: '1.01' - hashes: @@ -15865,7 +15856,7 @@ - hashes: - md5: 872efeda988c57a08cd418d650fc6e4c size: 4557176832 - name: AFL Live 2004 (Australia) + name: AFL Live 2004 (Australia) (v1.03) serial: SLES-51826 version: '1.03' - hashes: @@ -15883,7 +15874,7 @@ - hashes: - md5: 9cc68e9ff52f2ec533e8efc3c643cb0f size: 632904384 - name: Age of Empires II - The Age of Kings (Europe) (En,Fr,De,Es,It) + name: Age of Empires II - The Age of Kings (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-50282 version: '2.00' - hashes: @@ -16238,6 +16229,7 @@ - md5: 578c0efa2297040ffa3923ab78f1a839 size: 590149728 name: Simple 2000 Series Ultimate Vol. 29 - K-1 Premium 2005 Dynamite!! (Japan) + (v2.00) serial: SLPS-20453 version: '2.00' - hashes: @@ -16291,7 +16283,7 @@ - hashes: - md5: 2c25c8c7184f4131b49558f03519b873 size: 1652293632 - name: Pro Evolution Soccer 6 (Germany) + name: PES 6 - Pro Evolution Soccer (Germany) serial: SLES-54361 version: '1.01' - hashes: @@ -16388,7 +16380,7 @@ - hashes: - md5: 0191fe482029c54907c442269619b623 size: 4273012736 - name: Champions - Return to Arms (USA) + name: Champions - Return to Arms (USA) (v1.01) serial: SLUS-20973 version: '1.01' - hashes: @@ -16436,7 +16428,7 @@ - hashes: - md5: dd78bf6cee80df1984bd4e01e7d2019f size: 3537338368 - name: Bonus Demo 5 (Europe) (En,Fr,De,Es,It) + name: Bonus Demo 5 (Europe) (En,Fr,De,Es,It) (SCED-51941) serial: SCED-51941 version: '1.02' - hashes: @@ -16616,7 +16608,7 @@ - hashes: - md5: 7b760c3c831a542d30949b87bdd5db6f size: 4462804992 - name: Buzz! The Big Quiz (Europe) + name: Buzz! The Big Quiz (Europe) (v2.00) serial: SCES-53879 version: '2.00' - hashes: @@ -16724,7 +16716,7 @@ - hashes: - md5: 220cdcdde830b3434af98c2d3172a20b size: 3934978048 - name: Enter the Matrix (USA) + name: Enter the Matrix (USA) (v2.00) serial: SLUS-20454 version: '2.00' - hashes: @@ -16736,7 +16728,7 @@ - hashes: - md5: 7b758c7d64b5ced2a700503b50621454 size: 3162013696 - name: WRC 4 - The Official Game of the FIA World Rally Championship (Japan) + name: WRC 4 - The Official Game of the FIA World Rally Championship (Japan) (v2.00) serial: SLPM-65975 version: '2.00' - hashes: @@ -16868,7 +16860,7 @@ - hashes: - md5: 5e641cda83051934efce271a03e0a773 size: 1065877504 - name: Thunderstrike - Operation Phoenix (USA) + name: Thunderstrike - Operation Phoenix (USA) (v1.00) serial: SLUS-20232 version: '1.00' - hashes: @@ -16922,7 +16914,7 @@ - hashes: - md5: 94dce6c4d231ecf81f3d03d22f447667 size: 102448416 - name: Junior Board Games (Europe) (En,Fr,De,Es,It) + name: Junior Board Games (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-52776 version: '2.00' - hashes: @@ -17525,7 +17517,7 @@ - hashes: - md5: 726d964c485c93f5705a185202424dc9 size: 2042298368 - name: ObsCure II (Europe) (En,Fr,De,Es,It) + name: Obscure II (Europe) (En,Fr,De,Es,It) serial: SLES-54782 version: '1.01' - hashes: @@ -17693,7 +17685,7 @@ - hashes: - md5: fe9c69a25bbad8f8ef608d53accb1e90 size: 1327693824 - name: Hot Shots Golf 3 (USA) + name: Hot Shots Golf 3 (USA) (v1.01) serial: SCUS-97130 version: '1.01' - hashes: @@ -17801,7 +17793,7 @@ - hashes: - md5: 586b84609aa35e87f099f1fffa1c3b64 size: 2085847040 - name: Pro Evolution Soccer 6 (Europe) (It,Pl) + name: PES 6 - Pro Evolution Soccer (Europe) (It,Pl) (v1.01) serial: SLES-54204 version: '1.01' - hashes: @@ -17892,7 +17884,6 @@ - md5: c4cea784a7416dcd377deac21265aa39 size: 4027449344 name: Final Fantasy XII (Italy) - serial: SLES-54357 version: '1.00' - hashes: - md5: 664782ff6bb561168171050cf2762fe7 @@ -18096,6 +18087,7 @@ - md5: 1d2dcfe943c9aaf500e4145f8d5ecdd7 size: 4673699840 name: Pirates of the Caribbean - The Legend of Jack Sparrow (Europe) (En,Fr,De,Es,It) + (v2.00) serial: SLES-54237 version: '2.00' - hashes: @@ -18197,7 +18189,7 @@ - hashes: - md5: 9e19ce632ce9e079b1e34b982c5ef592 size: 2766798848 - name: ObsCure (Europe) (De,Es) + name: Obscure (Europe) (De,Es) serial: SLES-52508 version: '1.01' - hashes: @@ -18245,7 +18237,7 @@ - hashes: - md5: f4d0e271be673fceb020e241dd2fdc2c size: 734480208 - name: Jikkyou J.League - Perfect Striker 3 (Japan) + name: Jikkyou J.League - Perfect Striker 3 (Japan) (v1.03) serial: SLPM-62045 version: '1.03' - hashes: @@ -18347,7 +18339,7 @@ - hashes: - md5: 0f92bfa0d0b7e91527c7341d77c09bb0 size: 2192375808 - name: J.League Winning Eleven 10 + Europe League '06-'07 (Japan) + name: J.League Winning Eleven 10 + Europe League '06-'07 (Japan) (v2.01) serial: SLPM-66595 version: '2.01' - hashes: @@ -18431,7 +18423,7 @@ - hashes: - md5: ab8f9bbf8bba0ddf29b36e1d83cfe0ca size: 3448930304 - name: Barbie in the 12 Dancing Princesses (Europe) (Fr,De,Es,It) + name: Barbie in The 12 Dancing Princesses (Europe) (Fr,De,Es,It) serial: SLES-54608 version: '1.00' - hashes: @@ -18533,7 +18525,7 @@ - hashes: - md5: 6005a26609b57d13dc2eb89d743bcc2c size: 35407008 - name: Ultimate Film Quiz, The (Europe) (En,Fr,De,Es,It,Nl) + name: Ultimate Film Quiz, The (Europe) (En,Fr,De,Es,It,Nl) (v2.00) serial: SLES-53596 version: '2.00' - hashes: @@ -18623,8 +18615,8 @@ - hashes: - md5: 8572a0578a9e2c7c1b7456f2bdb2f693 size: 3376414720 - name: SOCOM - U.S. Navy SEALs (Korea) - serial: SCKA-24008 + name: SOCOM - U.S. Navy SEALs (Korea) (SCKA-24008) + serial: SCKA-20013 version: '1.00' - hashes: - md5: 175e9130d1ac448cab0ab1d8ce7eee68 @@ -19169,7 +19161,7 @@ - hashes: - md5: 5b4ee3a2378cfdf1c955e8125981cdeb size: 1264648192 - name: Shrek 2 (Europe) + name: Shrek 2 (Europe) (v1.00) serial: SLES-52379 version: '1.00' - hashes: @@ -19277,7 +19269,7 @@ - hashes: - md5: 8b35484b1609a8fb0f6d0dc46f16b74f size: 1485733888 - name: Barbie in the 12 Dancing Princesses (Europe) + name: Barbie in The 12 Dancing Princesses (Europe) serial: SLES-54566 version: '1.00' - hashes: @@ -19637,7 +19629,7 @@ - hashes: - md5: 1d5fb68dafea02256960e26430f5a8b5 size: 1841561600 - name: Pro Evolution Soccer 4 (Europe) (En,Fr,De,Es) + name: Pro Evolution Soccer 4 (Europe) (En,Fr,De,Es) (v2.00) serial: SLES-52760 version: '2.00' - hashes: @@ -20045,7 +20037,7 @@ - hashes: - md5: c31e0f580eb8a82748ef98a6787880f1 size: 705030816 - name: Legends of Wrestling (USA) + name: Legends of Wrestling (USA) (v1.02) serial: SLUS-20242 version: '1.02' - hashes: @@ -20347,7 +20339,7 @@ - hashes: - md5: cca117a2a04c69047f5426061d8a960f size: 3195535360 - name: Inuyasha - Juso no Kamen (Japan) + name: Inuyasha - Juso no Kamen (Japan) (v1.02) serial: SLPS-25320 version: '1.02' - hashes: @@ -20576,6 +20568,7 @@ - md5: dfdbd7dfde6b74ef9e2a63d53e5665a4 size: 3063611392 name: Official PlayStation 2 Magazine Demo 74 (Europe, Australia) (En,Fr,De,Es,It) + (SCED-54046) serial: SCED-54046 version: '1.00' - hashes: @@ -20653,8 +20646,8 @@ - hashes: - md5: f077dccf79c47454e120899cea419c42 size: 4118052864 - name: Spider-Man 3 (USA) - serial: SLUS-21552 + name: Spider-Man 3 (USA) (v1.02) + serial: SLUS-21617 version: '1.02' - hashes: - md5: 59a2701f92990a288a04b0fc179b908b @@ -20665,7 +20658,7 @@ - hashes: - md5: 0ce41d7d245d3efffaa57bfdfdcc0e66 size: 1700921344 - name: Judie no Atelier - Gramnad no Renkinjutsushi (Japan) + name: Judie no Atelier - Gramnad no Renkinjutsushi (Japan) (v1.03) serial: SLPM-65131 version: '1.03' - hashes: @@ -20689,7 +20682,7 @@ - hashes: - md5: aede6d8bf9f25dd5e05e9da463d6fd88 size: 3936157696 - name: Hitman 2 - Silent Assassin (Germany) + name: Hitman 2 - Silent Assassin (Germany) (v2.00) serial: SLES-51109 version: '2.00' - hashes: @@ -20737,7 +20730,7 @@ - hashes: - md5: 953fa1da81f6eba8f010eba926cdfc0d size: 4657774592 - name: Grand Theft Auto - Vice City (USA) + name: Grand Theft Auto - Vice City (USA) (v2.01) serial: SLUS-20552 version: '2.01' - hashes: @@ -21093,7 +21086,7 @@ - hashes: - md5: e5c03ca08f68c5994ea4404f3635a0b7 size: 1763147776 - name: Formula One 04 (Europe, Australia) (En,Fr,De,Es,It,Fi) + name: Formula One 04 (Europe, Australia) (En,Fr,De,Es,It,Fi) (v2.02) serial: SCES-52042 version: '2.02' - hashes: @@ -21105,7 +21098,7 @@ - hashes: - md5: 8c5901995e11f63108bd17ab7b3465b7 size: 554615712 - name: Football Generation (Europe) (En,Fr,De,Es,It) + name: Football Generation (Europe) (En,Fr,De,Es,It) (v1.04) serial: SLES-51959 version: '1.04' - hashes: @@ -21153,7 +21146,7 @@ - hashes: - md5: eda65cfe650f838673aed6a5e49deecc size: 571147920 - name: Pro Evolution Soccer (Europe) (Es,It) + name: Pro Evolution Soccer (Europe) (Es,It) (v2.00) serial: SLES-50462 version: '2.00' - hashes: @@ -21575,7 +21568,6 @@ - md5: c724ebdef24313c180116d98af3a4bc5 size: 4646600704 name: Urban Chaos - Riot Response (Europe) (En,Fr,De,Es,It) - serial: SLES-53991 version: '1.02' - hashes: - md5: 5b4345d7c9d32f67057a3ac847f37fa5 @@ -21610,7 +21602,7 @@ - hashes: - md5: 876932944e8e79fad0ac558f0122cab8 size: 58642416 - name: Wacky Races - Mad Motors (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + name: Wacky Races - Mad Motors (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) (v1.03) serial: SLES-54670 version: '1.03' - hashes: @@ -21778,7 +21770,7 @@ - hashes: - md5: 094becf404b74489110edb34a64f0953 size: 3869933568 - name: TOCA Race Driver (Europe) (En,Fr,Es) + name: TOCA Race Driver (Europe) (En,Fr,Es) (v1.01) serial: SLES-50723 version: '1.01' - hashes: @@ -22084,7 +22076,7 @@ - hashes: - md5: ad0850a8b6b1778219be62f3df9c873f size: 4282515456 - name: Kidou Senshi Gundam - Renpou vs. Zeon DX (Japan) + name: Kidou Senshi Gundam - Renpou vs. Zeon DX (Japan) (v1.02) serial: SLPM-65076 version: '1.02' - hashes: @@ -22204,7 +22196,7 @@ - hashes: - md5: 4cbd0e31bcddec071dc36fc71cb5660a size: 2760802304 - name: Ferrari Challenge - Trofeo Pirelli (Europe) (En,Fr,De,Es,It) + name: Ferrari Challenge - Trofeo Pirelli (Europe) (En,Fr,De,Es,It) (v1.00) serial: SLES-55294 version: '1.00' - hashes: @@ -22420,7 +22412,7 @@ - hashes: - md5: 49503143248ccfb9efc2098d175cec72 size: 4366434304 - name: SingStar Mallorca Party (Germany) + name: SingStar Mallorca Party (Germany) (v1.00) serial: SCES-55489 version: '1.00' - hashes: @@ -22468,7 +22460,7 @@ - hashes: - md5: f8e6f3025eb702c29fc1f0d867d037d5 size: 727631184 - name: Tekken Tag Tournament (Japan) + name: Tekken Tag Tournament (Japan) (v1.20) serial: SLPS-20015 version: '1.20' - hashes: @@ -22510,7 +22502,7 @@ - hashes: - md5: fcb046997717ae89b468b2455edc5e67 size: 4653285376 - name: Tiger Woods PGA Tour 2005 (Europe) (En,Fr,De,Sv) + name: Tiger Woods PGA Tour 2005 (Europe) (En,Fr,De,Sv) (v1.01) serial: SLES-52509 version: '1.01' - hashes: @@ -23020,7 +23012,7 @@ - hashes: - md5: aef2cff41e16901d71e70b020cb531d3 size: 4661313536 - name: Jak X - Combat Racing (USA) (En,Fr,De,Es,It,Pt,Ru) + name: Jak X - Combat Racing (USA) (En,Fr,De,Es,It,Pt,Ru) (v1.00) serial: SCUS-97429 version: '1.00' - hashes: @@ -23068,13 +23060,13 @@ - hashes: - md5: f7fb32fc429d564efe3c889322ff8368 size: 23607024 - name: Ultimate Sports Quiz, The (Europe) + name: Ultimate Sports Quiz, The (Europe) (v1.00) serial: SLES-53597 version: '1.00' - hashes: - md5: a0da9c1263e83387d3793abd07185802 size: 882769920 - name: ATV Offroad Fury (USA) + name: ATV Offroad Fury (USA) (v1.00) serial: SCUS-97104 version: '1.00' - hashes: @@ -23509,7 +23501,7 @@ - hashes: - md5: 97d938d2c3a0c167d21cb0d19f721dd8 size: 4131749888 - name: Test Drive (USA) + name: Test Drive (USA) (v2.00) serial: SLUS-20213 version: '2.00' - hashes: @@ -23527,7 +23519,7 @@ - hashes: - md5: 9197fb7b467f4aaa63220d6e94257ebf size: 606980640 - name: Driving Emotion Type-S (USA) (En,Fr,De,Es,It) + name: Driving Emotion Type-S (USA, Canada) (En,Fr,De,Es,It) serial: SLUS-20113 version: '1.00' - hashes: @@ -23623,7 +23615,7 @@ - hashes: - md5: ad264ad0590c8fe0cbc9508b7c610008 size: 749041440 - name: Pro Mahjong Kiwame Next (Japan) + name: Pro Mahjong Kiwame Next (Japan) (v1.00) serial: SLPS-20035 version: '1.00' - hashes: @@ -23641,7 +23633,7 @@ - hashes: - md5: 8593a08c24ac934f38abd4ee2d03f296 size: 4325179392 - name: Pro Yakyuu Spirits 3 (Japan) + name: Pro Yakyuu Spirits 3 (Japan) (v1.02) serial: SLPM-66364 version: '1.02' - hashes: @@ -23779,7 +23771,7 @@ - hashes: - md5: d3b90dd298b23695404c7f1d55b041ad size: 1644396544 - name: Pro Evolution Soccer 6 (Spain) + name: PES 6 - Pro Evolution Soccer (Spain) serial: SLES-54362 version: '1.01' - hashes: @@ -23936,7 +23928,7 @@ - hashes: - md5: 46142ac6dfe6ce764dc527912470e4ca size: 4494950400 - name: Thrillville (USA) + name: Thrillville (USA) (v2.00) serial: SLUS-21413 version: '2.00' - hashes: @@ -24026,7 +24018,7 @@ - hashes: - md5: b4b97b9ecbad25c9f4fe21a73688431e size: 3082977280 - name: Spider-Man (Spain) + name: Spider-Man (Spain) (v1.00) serial: SLES-50965 version: '1.00' - hashes: @@ -24152,7 +24144,7 @@ - hashes: - md5: a00a39461b6fe2580ceb7af4e5048d2d size: 1118175232 - name: Pac-Man World 2 (USA) + name: Pac-Man World 2 (USA) (v2.00) serial: SLUS-20224 version: '2.00' - hashes: @@ -24224,7 +24216,7 @@ - hashes: - md5: 8f8715c08981f844b2ef771c3214b5fd size: 3638624256 - name: EyeToy - Play 2 (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi,El) + name: EyeToy - Play 2 (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi,El) (v2.00) serial: SCES-52748 version: '2.00' - hashes: @@ -24873,7 +24865,7 @@ - hashes: - md5: ba2ef5557bd2686585972f8461754804 size: 3070394368 - name: Minna no Golf 4 (Japan) + name: Minna no Golf 4 (Japan) (v2.00) serial: SCPS-19301 version: '2.00' - hashes: @@ -24909,7 +24901,7 @@ - hashes: - md5: 3b481f424697970c2a337c74b19eafa9 size: 3469836288 - name: Bleach - Erabareshi Tamashii (Japan) + name: Bleach - Erabareshi Tamashii (Japan) (v1.00) serial: SCPS-15087 version: '1.00' - hashes: @@ -24940,7 +24932,7 @@ - md5: aa7cdf78c953f898443dbb5f89c3187f size: 4495507456 name: Grand Theft Auto - San Andreas (Japan) - serial: SLPM-65984 + serial: SLPM-55092 version: '1.03' - hashes: - md5: 361bd9008bedbf64627325915701f94e @@ -24963,7 +24955,7 @@ - hashes: - md5: 663c026fc4e8f9eee09bec7be7807df5 size: 279074208 - name: Taiko no Tatsujin - Waku Waku Anime Matsuri (Japan) + name: Taiko no Tatsujin - Waku Waku Anime Matsuri (Japan) (v1.00) serial: SLPS-20330 version: '1.00' - hashes: @@ -25101,8 +25093,8 @@ - hashes: - md5: 31c69c95d24634f44f01785b7c643634 size: 4222877696 - name: SD Gundam - GGeneration Spirits - G-Spirits (Japan) - serial: SLPS-25832 + name: SD Gundam - GGeneration Spirits - G-Spirits (Japan, Korea) + serial: SLKA-25413 version: '1.02' - hashes: - md5: f3c3323f9471aae51045d1e48982f7a4 @@ -25216,6 +25208,7 @@ - md5: 4dea5a6f8509748e12e1982f4d6a6df0 size: 2890629120 name: WRC 4 - The Official Game of the FIA World Rally Championship (Europe) (En,Fr,De,Es,It,Pt,No,Fi) + (v1.01) serial: SCES-52389 version: '1.01' - hashes: @@ -25251,7 +25244,7 @@ - hashes: - md5: d56e5aeb291835c9ae8e25bf17b7e657 size: 1249804288 - name: Nickelodeon SpongeBob SquarePants - The Movie (Europe, Australia) + name: Nickelodeon The SpongeBob SquarePants Movie (Europe, Australia) serial: SLES-52895 version: '1.00' - hashes: @@ -25479,7 +25472,7 @@ - hashes: - md5: c0bbc0a207039c29a57f89ae81572ad2 size: 3471998976 - name: Tiger Woods PGA Tour 2004 (Europe) + name: Tiger Woods PGA Tour 2004 (Europe) (v2.00) serial: SLES-51887 version: '2.00' - hashes: @@ -25563,7 +25556,7 @@ - hashes: - md5: f946e0b4d61b7c4af9b78c22eaa9d4e5 size: 4386258944 - name: MLB 07 - The Show (USA) + name: MLB 07 - The Show (USA) (v2.00) serial: SCUS-97556 version: '2.00' - hashes: @@ -25983,7 +25976,7 @@ - hashes: - md5: 1a7780425ce7a4d8177cdb806c54e27a size: 4453203968 - name: WWE SmackDown vs. Raw 2007 (USA) + name: WWE SmackDown vs. Raw 2007 (USA) (v1.01) serial: SLUS-21427 version: '1.01' - hashes: @@ -26157,7 +26150,7 @@ - hashes: - md5: 762bb983015dad66e07ad4495d7a0ec5 size: 2068119552 - name: ObsCure - The Aftermath (USA) (En,Fr,Es) + name: Obscure - The Aftermath (USA) (En,Fr,Es) serial: SLUS-21709 version: '1.00' - hashes: @@ -26657,7 +26650,7 @@ - hashes: - md5: 3bd0dff031be174427aa0a5332b6df36 size: 3120857088 - name: Need for Speed - Hot Pursuit 2 (Europe, Australia) (En,Fr,De,Es,It,Sv) + name: Need for Speed - Hot Pursuit 2 (Europe, Australia) (En,Fr,De,Es,It,Sv) (v2.00) serial: SLES-50731 version: '2.00' - hashes: @@ -26741,7 +26734,7 @@ - hashes: - md5: 7e0c418cc2b6771b4fcf5e32a9fe0877 size: 709040976 - name: Cricket 2002 (Europe) + name: Cricket 2002 (Europe) (v1.01) serial: SLES-50424 version: '1.01' - hashes: @@ -26874,7 +26867,7 @@ - hashes: - md5: 341f43e5962b7ab858367401acb1e325 size: 1648689152 - name: Battlestar Galactica (USA) + name: Battlestar Galactica (USA) (v1.01) serial: SLUS-20421 version: '1.01' - hashes: @@ -27024,13 +27017,13 @@ - hashes: - md5: abac05261dd4cf3fd3c92592e8c98cb0 size: 3822321664 - name: V8 Supercars Australia - Race Driver (Australia) + name: V8 Supercars Australia - Race Driver (Australia) (v1.00) serial: SLES-50767 version: '1.00' - hashes: - md5: 56a78ce0792bf7dfbcff2661abb4ed1f size: 1394999296 - name: Network Adaptor Start-Up Disc (USA) + name: Network Adaptor Start-Up Disc (USA) (v1.00) serial: SCUS-97097 version: '1.00' - hashes: @@ -27090,7 +27083,7 @@ - hashes: - md5: 5e2b8252d7d099c098c704964d5f0a70 size: 4449566720 - name: SOCOM II - U.S. Navy SEALs (Korea) + name: SOCOM II - U.S. Navy SEALs (Korea) (v1.01) serial: SCKA-20020 version: '1.01' - hashes: @@ -27334,7 +27327,7 @@ - hashes: - md5: 8025c41b3c4c96ddced319c211bd7dd2 size: 2992930816 - name: MTV Pimp My Ride (USA) + name: MTV Pimp My Ride (USA) (v2.00) serial: SLUS-21580 version: '2.00' - hashes: @@ -27461,7 +27454,7 @@ - hashes: - md5: 46d03827cfc6815e7efe7a52930bb445 size: 3955752960 - name: Hitman 2 - Silent Assassin (Spain) + name: Hitman 2 - Silent Assassin (Spain) (v2.00) serial: SLES-51110 version: '2.00' - hashes: @@ -27563,7 +27556,7 @@ - hashes: - md5: 799df73a316ea682ad168d7cf3848feb size: 2176483328 - name: Splashdown (USA) + name: Splashdown (USA) (v2.01) serial: SLUS-20223 version: '2.01' - hashes: @@ -27689,7 +27682,7 @@ - hashes: - md5: 36e73e2e9c22752d22a1422238af9e11 size: 3122462720 - name: King of Colosseum - Shin Nippon x Zen Nippon x Pancrase Disc (Japan) + name: King of Colosseum - Shin Nihon x Zen Nihon x Pancrase Disc (Japan) serial: SLPM-65176 version: '1.07' - hashes: @@ -27731,7 +27724,7 @@ - hashes: - md5: ed65744be8c361072cd89863eb3837c8 size: 8283684864 - name: Wild Arms - Alter Code - F (Japan) + name: Wild Arms - Alter Code - F (Japan) (v1.03) serial: SCPS-17002 version: '1.03' - hashes: @@ -28011,7 +28004,7 @@ - hashes: - md5: 9f0b8727b592cab12dad8043292c292f size: 727631184 - name: Tekken Tag Tournament (Japan) + name: Tekken Tag Tournament (Japan) (v2.00) serial: SLPS-20015 version: '2.00' - hashes: @@ -28263,7 +28256,7 @@ - hashes: - md5: 2f3abd545f8853a1f598554ec5205d1e size: 1480556544 - name: Reiselied - Ephemeral Fantasia (Japan) + name: Reiselied - Ephemeral Fantasia (Japan) (v2.01) serial: SLPM-65004 version: '2.01' - hashes: @@ -28287,7 +28280,7 @@ - hashes: - md5: 4adb35a92c506e14cfc284933090a161 size: 4690509824 - name: NHL 09 (Germany) (En,De) + name: NHL 09 (Germany) (En,De) (v2.00) serial: SLES-55339 version: '2.00' - hashes: @@ -28761,7 +28754,7 @@ - hashes: - md5: ed2a00953c31e0c4d08ec8370894eec0 size: 1961885696 - name: Initial D - Special Stage (Japan) + name: Initial D - Special Stage (Japan) (v2.00) serial: SLPM-74420 version: '2.00' - hashes: @@ -28779,13 +28772,13 @@ - hashes: - md5: 78a212b468033236407a52eb671855e6 size: 4295000064 - name: Gensou Suikoden III (Japan) + name: Gensou Suikoden III (Japan) (v1.02) serial: SLPM-65074 version: '1.02' - hashes: - md5: 706dc855e32a433b6e7d958d98ddc847 size: 4295000064 - name: Gensou Suikoden III (Japan) + name: Gensou Suikoden III (Japan) (v2.01) serial: SLPM-65305 version: '2.01' - hashes: @@ -29217,7 +29210,7 @@ - hashes: - md5: 8aff1d239c7489f0374065e7b7abe8fe size: 2742353920 - name: DJ - Decks & FX - Live Session (Spain) + name: DJ - Decks & FX - Live Session - Privilege Maxiclubbing Edition (Spain) serial: SCES-52764 version: '1.00' - hashes: @@ -29823,7 +29816,7 @@ - hashes: - md5: d1be085a83b761d7af891a52ebb88552 size: 58642416 - name: Wacky Races - Mad Motors (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + name: Wacky Races - Mad Motors (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) (v2.00) serial: SLES-54670 version: '2.00' - hashes: @@ -29992,13 +29985,13 @@ - hashes: - md5: ec5f1b26ec2764ade1847ed8f432041a size: 3445489664 - name: Izumo Complete (Japan) + name: Izumo Complete (Japan) (v1.03) serial: SLPM-65832 version: '1.03' - hashes: - md5: 21c2cc42e942da9d19399bd0f4f21a6d size: 4614914048 - name: Izumo 2 - Takeki Tsurugi no Senki (Japan) + name: Izumo 2 - Takeki Tsurugi no Senki (Japan) (v2.02) serial: SLPM-66876 version: '2.02' - hashes: @@ -30136,7 +30129,7 @@ - hashes: - md5: d84a28aad15402bba204a8d6a50f0900 size: 709040976 - name: Cricket 2002 (Europe) + name: Cricket 2002 (Europe) (v2.00) serial: SLES-50424 version: '2.00' - hashes: @@ -30600,7 +30593,7 @@ - hashes: - md5: b66db0d45a989ac9ba23ca6f8be93108 size: 2856976384 - name: Zettai Zetsumei Toshi (Japan) + name: Zettai Zetsumei Toshi (Japan) (v2.00) serial: SLPS-73204 version: '2.00' - hashes: @@ -30690,7 +30683,7 @@ - hashes: - md5: 17a6ad85285229f786ac0902d7447a48 size: 751111200 - name: State of Emergency (Europe) (En,Fr,Es,It) + name: State of Emergency (Europe) (En,Fr,Es,It) (v3.00) serial: SLES-51046 version: '3.00' - hashes: @@ -30757,7 +30750,7 @@ - hashes: - md5: 40c39d26e3fd7259bee1c9d82bc87ef3 size: 2796945408 - name: ObsCure (Europe) (Fr,It) + name: Obscure (Europe) (Fr,It) serial: SLES-52738 version: '1.00' - hashes: @@ -30931,13 +30924,13 @@ - hashes: - md5: acb36e659e8a5aca88dd4f0c55f76f19 size: 840105984 - name: Disney's Tarzan - Untamed (USA) + name: Disney's Tarzan - Untamed (USA) (En,Fr) serial: SLUS-20076 version: '1.00' - hashes: - md5: d4bfb547bbb40b5457694bed99e88575 size: 1671364608 - name: Judie no Atelier - Gramnad no Renkinjutsushi (Japan) + name: Judie no Atelier - Gramnad no Renkinjutsushi (Japan) (v2.01) serial: SLPM-65359 version: '2.01' - hashes: @@ -30991,13 +30984,13 @@ - hashes: - md5: 6fe7fcf8665a4fe7a0499932bb357ac9 size: 7270531072 - name: Lord of the Rings, The - Futatsu no Tou (Japan) + name: Lord of the Rings - Futatsu no Tou (Japan) serial: SLPM-67005 version: '1.00' - hashes: - md5: a14569197692ff0958d75105c6d33608 size: 3994943488 - name: Lord of the Rings, The - Ou no Kikan (Japan) (En,Ja) + name: Lord of the Rings - Ou no Kikan (Japan) (En,Ja) serial: SLPM-65503 version: '1.00' - hashes: @@ -31105,7 +31098,7 @@ - hashes: - md5: fb09ff126f606294ff56d47ce29b24ec size: 4601118720 - name: Dark Chronicle (Japan) + name: Dark Chronicle (Japan) (v1.10) serial: SCPS-15033 version: '1.10' - hashes: @@ -31123,7 +31116,7 @@ - hashes: - md5: bf0e04e0857ae5359fe44c67773fda26 size: 4668293120 - name: Star Ocean - Till the End of Time (Japan, Asia) + name: Star Ocean - Till the End of Time (Japan, Asia) (v1.10) serial: SCPS-55019 version: '1.10' - hashes: @@ -31189,7 +31182,7 @@ - hashes: - md5: 58dfeef1b2a96e800ddae2386c9c60f6 size: 1273823232 - name: Busin 0 - Wizardry Alternative Neo (Japan) + name: Busin 0 - Wizardry Alternative Neo (Japan) (v1.03) serial: SLPM-65378 version: '1.03' - hashes: @@ -31213,13 +31206,13 @@ - hashes: - md5: c2a2e068685e9e8e9cadeeabc7b0dba4 size: 2457632768 - name: Nishikaze no Rhapsody - The Rhapsody of Zephyr (Japan) + name: Rhapsody of Zephyr, The (Japan) serial: SLPS-25324 version: '1.02' - hashes: - md5: 8fb6c82245d1d6438ad325e1072aa634 size: 2706309120 - name: Wild Arms - Advanced 3rd (Japan, Asia) + name: Wild Arms - Advanced 3rd (Japan, Asia) (v1.04) serial: SCPS-15024 version: '1.04' - hashes: @@ -31273,7 +31266,7 @@ - hashes: - md5: 37611a159efe789280fb60fd7c4136f4 size: 4291297280 - name: Lord of the Rings, The - Nakatsu Kuni Daisanki (Japan) + name: Lord of the Rings - Nakatsu Kuni Daisanki (Japan) serial: SLPM-65846 version: '1.00' - hashes: @@ -31363,7 +31356,7 @@ - hashes: - md5: 4d1e1480c94017a9705978c6f9ded527 size: 3846078464 - name: 7 (Seven) - Molmorth no Kiheitai (Japan) + name: 7 (Seven) - Molmorth no Kiheitai (Japan) (v2.00) serial: SLPS-25025 version: '2.00' - hashes: @@ -31387,7 +31380,7 @@ - hashes: - md5: 965a5bbc3998b75814f0f5f2fb44880b size: 4637949952 - name: My Merry May with be (Japan) + name: My Merry May with Be (Japan) serial: SLPM-66045 version: '1.01' - hashes: @@ -31429,14 +31422,14 @@ - hashes: - md5: 0a43fd05ac43d5fd55df4fc78fad6eb7 size: 2619506688 - name: Ar tonelico - Sekai no Owari de Utai Tsuzukeru Shoujo (Japan) (PlayStation + name: Ar Tonelico - Sekai no Owari de Utai Tsuzukeru Shoujo (Japan) (PlayStation 2 the Best) serial: SLPS-73249 version: '1.01' - hashes: - md5: 24d5f51c6ae3d24599e6a7b4595a1dbb size: 4299980800 - name: Ar tonelico II - Sekai ni Hibiku Shoujo-tachi no Metafalica (Japan) (PlayStation + name: Ar Tonelico II - Sekai ni Hibiku Shoujo-tachi no Metafalica (Japan) (PlayStation 2 the Best) serial: SLPS-73263 version: '1.01' @@ -31732,7 +31725,6 @@ - md5: 15ae537c213f755d869c645b78f865d7 size: 4450353152 name: Cabela's Dangerous Hunts 2 (Australia) - serial: SLES-53885 version: '1.00' - hashes: - md5: 7759e7d3c52d5a0361b777a8dae08cdf @@ -32037,7 +32029,7 @@ - hashes: - md5: 7d85f6d213f383afcb2f54998e243049 size: 1526693888 - name: Nickelodeon SpongeBob SquarePants - The Movie (Europe) (Fr,Nl) + name: Nickelodeon The SpongeBob SquarePants Movie (Europe) (Fr,Nl) serial: SLES-52896 version: '1.00' - hashes: @@ -32572,7 +32564,7 @@ - hashes: - md5: 6e040d98c4dda3b800544b547f0de88c size: 1366392832 - name: Shrek 2 (Europe) + name: Shrek 2 (Europe) (v2.00) serial: SLES-52379 version: '2.00' - hashes: @@ -32854,7 +32846,7 @@ - hashes: - md5: 6b411818fb2fe1d051306eac6f1e30c1 size: 2807660544 - name: Nickelodeon SpongeBob SquarePants - Battle for Bikini Bottom (Europe) + name: Nickelodeon SpongeBob SquarePants - Battle for Bikini Bottom (Europe) (v2.00) serial: SLES-51968 version: '2.00' - hashes: @@ -32884,7 +32876,7 @@ - hashes: - md5: 87d7845a5a015ffb3be85bc16f3e7217 size: 3938254848 - name: Hitman 2 - Silent Assassin (Italy) + name: Hitman 2 - Silent Assassin (Italy) (v2.00) serial: SLES-51107 version: '2.00' - hashes: @@ -32950,7 +32942,7 @@ - hashes: - md5: 24eaa5b3890f6f384b9db1076d4e1542 size: 4587356160 - name: SingStar '80s (Europe, Australia) + name: SingStar '80s (Europe, Australia) (v1.00) serial: SCES-53602 version: '1.00' - hashes: @@ -32962,13 +32954,13 @@ - hashes: - md5: b9a2b2ba5f85aacda6a2694e9a8722ce size: 3835002880 - name: Official PlayStation 2 Magazine Demo 54 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 54 (Europe) (En,Fr,De,Es,It) (SCED-53068) serial: SCED-53068 version: '1.01' - hashes: - md5: 62810d95c123671aee907ec1686be694 size: 4147118080 - name: Official PlayStation 2 Magazine Demo 56 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 56 (Europe) (En,Fr,De,Es,It) (SCED-53132) serial: SCED-53132 version: '1.01' - hashes: @@ -33293,7 +33285,7 @@ - hashes: - md5: 06916f6e6764d492b274f86078e18e01 size: 1634500608 - name: Gundam True Odyssey - Ushinawareshi G no Densetsu (Japan) + name: Gundam True Odyssey - Ushinawareshi G no Densetsu (Japan) (v2.00) serial: SLPS-73246 version: '2.00' - hashes: @@ -33311,7 +33303,7 @@ - hashes: - md5: 73a3f67f84815c410d2d37f622f09b97 size: 3822321664 - name: TOCA Race Driver (Italy) + name: TOCA Race Driver (Italy) (v2.00) serial: SLES-50818 version: '2.00' - hashes: @@ -33347,7 +33339,7 @@ - hashes: - md5: d7c34f0445ad76b75167e6b3046434c4 size: 3822321664 - name: TOCA Race Driver (Italy) + name: TOCA Race Driver (Italy) (v1.00) serial: SLES-50818 version: '1.00' - hashes: @@ -33533,7 +33525,7 @@ - hashes: - md5: 22aac86e2cdb35582a3b45c633a8a8df size: 4660559872 - name: Buzz! Brain of Oz (Australia) + name: Buzz! Brain of Oz (Australia, New Zealand) serial: SCES-55419 version: '1.00' - hashes: @@ -33569,7 +33561,7 @@ - hashes: - md5: f303fdd69719026c1585e8f65422f39b size: 4324032512 - name: Buzz! The Big Quiz (Australia) + name: Buzz! The Big Quiz (Australia) (v2.00) serial: SCES-53880 version: '2.00' - hashes: @@ -33605,7 +33597,7 @@ - hashes: - md5: 26bacf037265fb46e89e31fdd74730f9 size: 4314857472 - name: SingStar '80s (Netherlands) + name: SingStar '80s (Netherlands) (v2.00) serial: SCES-53607 version: '2.00' - hashes: @@ -33713,7 +33705,7 @@ - hashes: - md5: ca4280a61a9ffff60aa3604497b4f3f8 size: 3868295168 - name: DTM Race Driver (Europe) (En,Fr,De) + name: DTM Race Driver (Europe) (En,Fr,De) (v2.00) serial: SLES-50816 version: '2.00' - hashes: @@ -33803,7 +33795,7 @@ - hashes: - md5: d6d678da3ae052a9bdea1c722297d613 size: 2856976384 - name: Zettai Zetsumei Toshi (Japan) + name: Zettai Zetsumei Toshi (Japan) (v1.05) serial: SLPS-25113 version: '1.05' - hashes: @@ -33947,7 +33939,7 @@ - hashes: - md5: f1e9ab6d8cf29d4268453061090b5d1e size: 4670717952 - name: Star Ocean - Till the End of Time (Japan) + name: Star Ocean - Till the End of Time (Japan) (v2.03) serial: SLPM-65209 version: '2.03' - hashes: @@ -34019,7 +34011,7 @@ - hashes: - md5: a2bcd707a429923b716efcca6c0e5dae size: 35517552 - name: Ultimate Film Quiz, The (Europe) (En,Fr,De,Es,It,Nl) + name: Ultimate Film Quiz, The (Europe) (En,Fr,De,Es,It,Nl) (v1.00) serial: SLES-53596 version: '1.00' - hashes: @@ -34195,13 +34187,13 @@ - hashes: - md5: a90afd57873930d1dee2a2679eba5aec size: 4388290560 - name: Soulcalibur III (Japan) + name: Soulcalibur III (Japan) (v1.01) serial: SLPS-25577 version: '1.01' - hashes: - md5: 7991a66ff3fb85e2a7742c086d8e7d39 size: 4388290560 - name: Soulcalibur III (Japan) (En,Ja) + name: Soulcalibur III (Japan) (En,Ja) (v2.00) serial: SLPS-25577 version: '2.00' - hashes: @@ -34327,7 +34319,7 @@ - hashes: - md5: 613a9cef8f38c7c7818ec2a4a6e9433d size: 4239196160 - name: ESPN College Hoops (USA) + name: ESPN College Hoops (USA) (v1.02) serial: SLUS-20729 version: '1.02' - hashes: @@ -34670,13 +34662,13 @@ - hashes: - md5: fe2b0035bd780e442e81761af9c8a7b5 size: 728143920 - name: Tekken Tag Tournament (USA) + name: Tekken Tag Tournament (USA) (v1.00) serial: SLUS-20001 version: '1.00' - hashes: - md5: d4e451b6940d8e86ca5c1ba455e96dec size: 2176483328 - name: Splashdown (USA) + name: Splashdown (USA) (v1.00) serial: SLUS-20223 version: '1.00' - hashes: @@ -35260,7 +35252,7 @@ - hashes: - md5: 14c4034e0960663809e7efe5be080112 size: 3450109952 - name: Eien no Aseria - Kono Daichi no Hate de (Japan) + name: Eien no Aselia - Kono Daichi no Hate de (Japan) serial: SLPS-25468 version: '1.02' - hashes: @@ -35476,7 +35468,7 @@ - hashes: - md5: 0efd9c2f1f6ffb474ff9a1ba7b1abff8 size: 2037579776 - name: Tenshou Gakuen Gensouroku (Japan) + name: Tenshou Gakuen Gensouroku (Japan) (v1.04) serial: SLPM-65598 version: '1.04' - hashes: @@ -35543,6 +35535,7 @@ - md5: 2ea14764099d49eb3b7ce44b057941d8 size: 1474822144 name: Nickelodeon Avatar - The Legend of Aang (Europe, Australia) (En,Fr,De,Nl) + (v2.01) serial: SLES-54188 version: '2.01' - hashes: @@ -35584,7 +35577,7 @@ - hashes: - md5: 428e5f1159defd71fbe01d32dbaa5c38 size: 805634048 - name: Soldier of Fortune - Gold Edition (Europe) (En,Fr,De,Es,It) + name: Soldier of Fortune - Gold Edition (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-50739 version: '2.00' - hashes: @@ -35596,7 +35589,7 @@ - hashes: - md5: 37502aeaabd4791c28aed278fba7e6b4 size: 582399888 - name: Football Generation (Europe) (En,Fr,De,Es,It) + name: Football Generation (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-51959 version: '2.00' - hashes: @@ -35680,7 +35673,7 @@ - hashes: - md5: 7186325c2cb3155a1a0328461d34b1f4 size: 3822321664 - name: V8 Supercars Australia - Race Driver (Australia) + name: V8 Supercars Australia - Race Driver (Australia) (v2.00) serial: SLES-50767 version: '2.00' - hashes: @@ -35776,7 +35769,7 @@ - hashes: - md5: 8f84c14cac12f4242cc8112599ef07cb size: 2143551488 - name: Project Minerva Professional (Japan) + name: Simple 2000 Series Ultimate Vol. 23 - Project Minerva Professional (Japan) serial: SLPM-65344 version: '1.02' - hashes: @@ -35867,7 +35860,7 @@ - hashes: - md5: b9c6cd743eb07f59a1447317b4808f29 size: 4520280064 - name: Densha de Go! Shinkansen - San'you Shinkansen-hen (Japan) + name: Densha de Go! Shinkansen - San'you Shinkansen-hen (Japan) (v2.01) serial: SLPM-65039 version: '2.01' - hashes: @@ -35898,13 +35891,13 @@ - hashes: - md5: 9d547021da595849cfca18efb1c9f8ad size: 747456192 - name: Netchuu! Pro Yakyuu 2002 (Japan) + name: Netchuu! Pro Yakyuu 2002 (Japan) (v1.01) serial: SLPS-20190 version: '1.01' - hashes: - md5: dc7f80ed0abbbcd8297d359861c14466 size: 652303680 - name: Mahjong Taikai III - Millennium League (Japan) + name: Mahjong Taikai III - Millennium League (Japan) (v1.10) serial: SLPM-62003 version: '1.10' - hashes: @@ -36066,7 +36059,7 @@ - hashes: - md5: b7a39605d038c5e96756d3b9dea97538 size: 4058284032 - name: Gran Turismo Concept - 2002 Tokyo-Seoul (Korea) + name: Gran Turismo Concept - 2002 Tokyo-Seoul (Korea) (v2.00) serial: SCKA-20029 version: '2.00' - hashes: @@ -36104,13 +36097,13 @@ - hashes: - md5: 1ba7ee0979aac339f2b05a9a853e8215 size: 4386258944 - name: MLB 07 - The Show (USA) + name: MLB 07 - The Show (USA) (v1.00) serial: SCUS-97556 version: '1.00' - hashes: - md5: 3cef1cb4d286b3c2030c5c9f722eb3d4 size: 1401618432 - name: Hitman 2 - Silent Assassin (USA) + name: Hitman 2 - Silent Assassin (USA) (v2.01) serial: SLUS-20374 version: '2.01' - hashes: @@ -36134,7 +36127,7 @@ - hashes: - md5: bd4ce64b50de0e7d83eeb884374b6f87 size: 4487446528 - name: ATV Offroad Fury 2 (USA) + name: ATV Offroad Fury 2 (USA) (v1.00) serial: SCUS-97211 version: '1.00' - hashes: @@ -36152,7 +36145,7 @@ - hashes: - md5: 95b13c55e5c9b9248db8e1bab095b86a size: 3493593088 - name: SOCOM - U.S. Navy SEALs (USA) + name: SOCOM - U.S. Navy SEALs (USA) (v2.01) serial: SCUS-97134 version: '2.01' - hashes: @@ -36332,7 +36325,7 @@ - hashes: - md5: d4d502850d6ebe38b594c3bab2885f71 size: 1249804288 - name: Nickelodeon SpongeBob SquarePants - The Movie (USA) + name: Nickelodeon The SpongeBob SquarePants Movie (USA) serial: SLUS-20904 version: '1.00' - hashes: @@ -36422,7 +36415,7 @@ - hashes: - md5: 7eae3cdad28c855ce6f3c9ae15966960 size: 4677763072 - name: FIFA Soccer 08 (USA) (En,Es) + name: FIFA Soccer 08 (USA, Canada) (En,Es) serial: SLUS-21648 version: '1.00' - hashes: @@ -36446,13 +36439,13 @@ - hashes: - md5: 1c3d3b582f407426ff9e76436cd0fadb size: 4367122432 - name: Need for Speed - Underground 2 (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) + name: Need for Speed - Underground 2 (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) (v2.00) serial: SLES-52725 version: '2.00' - hashes: - md5: ad5e50e420af4dd5480ca7f228849240 size: 4179394560 - name: Buzz! The Big Quiz (Australia) + name: Buzz! The Big Quiz (Australia) (v1.00) serial: SCES-53880 version: '1.00' - hashes: @@ -37134,7 +37127,7 @@ - hashes: - md5: da9e99642d7e6fca112c741705bbec1c size: 3672932352 - name: Minna no Golf 4 (Japan, Asia) + name: Minna no Golf 4 (Japan, Asia) (v1.04) serial: SCAJ-20094 version: '1.04' - hashes: @@ -37339,6 +37332,7 @@ - md5: af5928bacf24474d7ca6325d9deeb3ef size: 2716925952 name: Baseball 2003, The - Battle Ball Park Sengen - Perfect Play Pro Yakyuu (Japan) + (v2.02) serial: SLPM-65180 version: '2.02' - hashes: @@ -37404,7 +37398,7 @@ - hashes: - md5: 4e98e9686f2dc891062892b3bd94ca47 size: 3846078464 - name: 7 (Seven) - Molmorth no Kiheitai (Japan) + name: 7 (Seven) - Molmorth no Kiheitai (Japan) (v1.20) serial: SLPS-25025 version: '1.20' - hashes: @@ -37428,7 +37422,7 @@ - hashes: - md5: d4db1f4376f57610a40c78bc54216ebc size: 4008148992 - name: Pro Yakyuu - Netsu Star 2006 (Japan) + name: Pro Yakyuu - Netsusta 2006 (Japan) serial: SLPS-25630 version: '1.01' - hashes: @@ -37536,13 +37530,13 @@ - hashes: - md5: 7c75f1eef3e221305e5dccc9cba18089 size: 3783163904 - name: Ar tonelico - Sekai no Owari de Utai Tsuzukeru Shoujo (Japan) + name: Ar Tonelico - Sekai no Owari de Utai Tsuzukeru Shoujo (Japan) serial: SLPS-25604 version: '1.03' - hashes: - md5: 41104c57da5cd8c71947df9145a3ce53 size: 4352966656 - name: Ar tonelico II - Sekai ni Hibiku Shoujo-tachi no Metafalica (Japan) + name: Ar Tonelico II - Sekai ni Hibiku Shoujo-tachi no Metafalica (Japan) serial: SLPS-25819 version: '1.03' - hashes: @@ -37722,7 +37716,7 @@ - hashes: - md5: 37a90d79dea1d60b90b54b371c34c53a size: 3879108608 - name: Silent Hill 2 (USA) (En,Ja,Fr,De,Es,It) + name: Silent Hill 2 (USA) (En,Ja,Fr,De,Es,It) (v2.01) serial: SLUS-20228 version: '2.01' - hashes: @@ -37752,7 +37746,7 @@ - hashes: - md5: fba5f60d54909d50b5d132d2c5ad9cc4 size: 582853824 - name: Real World Golf (Europe) + name: Real World Golf (Europe) (v2.01) serial: SLES-53371 version: '2.01' - hashes: @@ -38059,7 +38053,7 @@ - hashes: - md5: 91ebac27ad7295523ff05df2e219c297 size: 4605673472 - name: Midnight Club 3 - DUB Edition (USA) + name: Midnight Club 3 - DUB Edition (USA) (v1.04) serial: SLUS-21029 version: '1.04' - hashes: @@ -38161,7 +38155,7 @@ - hashes: - md5: e35b1e98bcb05fd2c751d8fa1ced2908 size: 4691525632 - name: Thrillville (USA) + name: Thrillville (USA) (v1.03) serial: SLUS-21413 version: '1.03' - hashes: @@ -38227,7 +38221,7 @@ - hashes: - md5: aefb1dcd1281daa1b76994e40625a841 size: 2846359552 - name: PES 2008 - Pro Evolution Soccer (USA) + name: PES 2008 - Pro Evolution Soccer (USA) (En,Fr,Es) serial: SLUS-21685 version: '1.01' - hashes: @@ -38575,7 +38569,7 @@ - hashes: - md5: 433f46abe06b4c9ca6acd894d46c7196 size: 3119742976 - name: ObsCure (USA) (En,Fr,Es) + name: Obscure (USA) (En,Fr,Es) serial: SLUS-20777 version: '1.00' - hashes: @@ -38623,7 +38617,7 @@ - hashes: - md5: bd8f6916cc378d45ac4a1e7c0a16dd91 size: 1374584832 - name: DreamWorks Madagascar (USA) + name: DreamWorks Madagascar (USA) (v2.01) serial: SLUS-21015 version: '2.01' - hashes: @@ -38923,7 +38917,7 @@ - hashes: - md5: 161d935e34f6848bcc26713381670793 size: 606256224 - name: Zapper - One Wicked Cricket (USA) + name: Zapper (USA) serial: SLUS-20528 version: '1.00' - hashes: @@ -39007,7 +39001,7 @@ - hashes: - md5: eb3b214438c25dbed7ffcd54b1b6608b size: 4450680832 - name: Getaway, The (Australia) (En,Fr,De,Es,It) + name: Getaway, The (Australia) (En,Fr,De,Es,It) (v1.00) serial: SCES-51426 version: '1.00' - hashes: @@ -39037,7 +39031,7 @@ - hashes: - md5: f9a35702354b2d5005fdfa8714a4022d size: 3493593088 - name: SOCOM - U.S. Navy SEALs (USA) + name: SOCOM - U.S. Navy SEALs (USA) (v3.00) serial: SCUS-97230 version: '3.00' - hashes: @@ -39079,7 +39073,7 @@ - hashes: - md5: 593f0f4c545e70dc2a6b5851cb08f162 size: 614144832 - name: DreamWorks Madagascar (USA) + name: DreamWorks Madagascar (USA) (v1.01) serial: SLUS-21015 version: '1.01' - hashes: @@ -39109,7 +39103,7 @@ - hashes: - md5: 4951ab89ccd2f63edfffc71a118fba3b size: 2851831808 - name: SRS - Street Racing Syndicate (USA) + name: SRS - Street Racing Syndicate (USA) (v1.03) serial: SLUS-20582 version: '1.03' - hashes: @@ -39163,7 +39157,7 @@ - hashes: - md5: 06833eaa5faabe16721f9f94715c8ce8 size: 1150943232 - name: Pac-Man World 2 (Asia) + name: Pac-Man World 2 (Japan, Asia) serial: SCPS-55038 version: '1.01' - hashes: @@ -39493,7 +39487,7 @@ - hashes: - md5: 2e046f09bd3032818e5aa22e0af5ddd3 size: 1861222400 - name: Initial D - Special Stage (Japan, Asia) + name: Initial D - Special Stage (Japan, Asia) (v1.01) serial: SLAJ-25008 version: '1.01' - hashes: @@ -39590,7 +39584,7 @@ - hashes: - md5: bfc956b0bf03d6531ddc23eb40c83a6c size: 3216310272 - name: V-Rally 3 (Japan) (En,Ja,Fr,De,Es,It) + name: V-Rally 3 (Japan) (En,Ja,Fr,De,Es,It) (v1.02) serial: SLPM-65191 version: '1.02' - hashes: @@ -39776,7 +39770,7 @@ - hashes: - md5: 6f2533c2ae433f1beac4f1aa3a88f4c6 size: 4588797952 - name: AND 1 Streetball (USA) + name: AND 1 Streetball (USA) (v1.03) serial: SLUS-21237 version: '1.03' - hashes: @@ -39950,19 +39944,19 @@ - hashes: - md5: ae781bfe9e202e8a5cce018e797b3b04 size: 718702992 - name: TimeSplitters (USA) + name: TimeSplitters (USA) (v1.10) serial: SLUS-20090 version: '1.10' - hashes: - md5: 0f2a056b55a6c37ff41f42c4cb6dc5f4 size: 534176832 - name: Crash Bandicoot - The Wrath of Cortex (USA) + name: Crash Bandicoot - The Wrath of Cortex (USA) (v1.00) serial: SLUS-20238 version: '1.00' - hashes: - md5: b79c4f9ea9bbaec0edf884f963cc9022 size: 1096253440 - name: Pac-Man World 2 (USA) + name: Pac-Man World 2 (USA) (v1.00) serial: SLUS-20224 version: '1.00' - hashes: @@ -40270,6 +40264,7 @@ - md5: 8b1961826ce1ae29fb52dd66fddcede5 size: 590145024 name: Simple 2000 Series Ultimate Vol. 29 - K-1 Premium 2005 Dynamite!! (Japan) + (v1.00) serial: SLPS-20453 version: '1.00' - hashes: @@ -40431,7 +40426,7 @@ - hashes: - md5: e46b173394f0fec19fdab85bc6448082 size: 740096784 - name: Bloody Roar 3 (Japan) + name: Bloody Roar 3 (Japan) (v2.01) serial: SLPM-62055 version: '2.01' - hashes: @@ -40455,7 +40450,7 @@ - hashes: - md5: 948f64c757a0e7277a31b3566abdf433 size: 3335979008 - name: Dot Hack G.U. Vol. 3 - Aruku You na Hayasa de (Japan) + name: Dot Hack G.U. Vol. 3 - Aruku You na Hayasa de (Japan) (v1.00) serial: SLPS-25656 version: '1.00' - hashes: @@ -40570,7 +40565,7 @@ - hashes: - md5: 5db57119a59035c557fcc75c28a47fc7 size: 1154875392 - name: Monster Rancher 3 (USA) + name: Monster Rancher 3 (USA) (v1.00) serial: SLUS-20190 version: '1.00' - hashes: @@ -40606,13 +40601,13 @@ - hashes: - md5: 624c9c0a12f28e7edf92a343e193c262 size: 3986620416 - name: PlayStation Experience (Europe) + name: PlayStation Experience (Europe) (SCED-51148) serial: SCED-51148 version: '1.00' - hashes: - md5: 920d30ccfe6b03e3cb50c8c3ac54e8af size: 4374036480 - name: PlayStation Experience (Europe) + name: PlayStation Experience (Europe) (SCED-51899) serial: SCED-51899 version: '1.01' - hashes: @@ -40864,7 +40859,7 @@ - hashes: - md5: d684d7de14697dd0b1faa8b31206c710 size: 3824615424 - name: Ratchet & Clank - Going Commando (USA) + name: Ratchet & Clank - Going Commando (USA) (v2.00) serial: SCUS-97268 version: '2.00' - hashes: @@ -40972,7 +40967,7 @@ - hashes: - md5: 3bbb4a312a8ba980082f06a68b883b53 size: 2321055744 - name: Nobunaga no Yabou - Tenka Sousei (Japan) + name: Nobunaga no Yabou - Tenka Sousei (Japan) (v1.30) serial: SLPM-65556 version: '1.30' - hashes: @@ -41056,7 +41051,7 @@ - hashes: - md5: 58a2e3ce09b965b1070d912b7bd4cd53 size: 713241648 - name: NHL Hitz 2002 (USA) + name: NHL Hitz 2002 (USA) (v2.00) serial: SLUS-20140 version: '2.00' - hashes: @@ -41152,7 +41147,7 @@ - hashes: - md5: 1637b255fd6b7f9d018c7d8a585613a7 size: 1074003968 - name: Thunderstrike - Operation Phoenix (USA) + name: Thunderstrike - Operation Phoenix (USA) (v2.00) serial: SLUS-20232 version: '2.00' - hashes: @@ -41164,7 +41159,7 @@ - hashes: - md5: 336900f0e68e30394d281e70118308e9 size: 2008645632 - name: Red Faction (USA) + name: Red Faction (USA) (v2.00) serial: SLUS-20073 version: '2.00' - hashes: @@ -41194,13 +41189,13 @@ - hashes: - md5: 5e1ddbd39d86d90b42d77597c6da2f2c size: 2872803328 - name: SRS - Street Racing Syndicate (USA) + name: SRS - Street Racing Syndicate (USA) (v2.00) serial: SLUS-20582 version: '2.00' - hashes: - md5: 6ed88e5758ab98d33dcc40d49cbd110e size: 1327792128 - name: Hot Shots Golf 3 (USA) + name: Hot Shots Golf 3 (USA) (v2.00) serial: SCUS-97130 version: '2.00' - hashes: @@ -41218,7 +41213,7 @@ - hashes: - md5: 7d7cf01d5b3da4e8ec716883563b050b size: 3393847296 - name: Tony Hawk's Pro Skater 4 (USA) + name: Tony Hawk's Pro Skater 4 (USA) (v2.01) serial: SLUS-20504 version: '2.01' - hashes: @@ -41254,7 +41249,7 @@ - hashes: - md5: 9036ef5a8782d5106f326c85f9430316 size: 4625367040 - name: F - Fanatic (Japan) + name: F - Fanatic (Japan) (Shokai Genteiban) serial: SLPM-65296 version: '1.05' - hashes: @@ -41442,13 +41437,13 @@ - hashes: - md5: 21bffd6263462a6025f2ba5fdbd905fa size: 1362231296 - name: Winning Post 7 (Japan) + name: Winning Post 7 (Japan) (v1.03) serial: SLPM-66087 version: '1.03' - hashes: - md5: 203e886c809be7c5b0d09fd2e470b356 size: 4324950016 - name: Pro Yakyuu Spirits 3 (Japan) + name: Pro Yakyuu Spirits 3 (Japan) (v2.00) serial: SLPM-66364 version: '2.00' - hashes: @@ -41782,7 +41777,7 @@ - md5: d10137561bda185df4c81d424f501390 size: 2026110976 name: Sangokushi 11 (Japan) - serial: SLPM-66549 + serial: SLPM-55049 version: '1.02' - hashes: - md5: be144d9d28111f54567ce751f4ea67dc @@ -41842,7 +41837,7 @@ - md5: 030de1cedf2847b4cf74c3ffefb3d43d size: 3110961152 name: Godfather, The (Japan) - serial: SLPM-66966 + serial: SLPM-66710 version: '1.01' - hashes: - md5: d0bd43aa0c32b6e8e5ad70c2904dc67e @@ -41902,7 +41897,7 @@ - md5: 9586ee137c47111b2a92f1b4c8aa805e size: 2636021760 name: Gokujou Seitokai (Japan) - serial: SLPM-66631 + serial: SLPM-66086 version: '1.01' - hashes: - md5: e7f0998ffc3780906728fa47a6cf4595 @@ -42081,7 +42076,7 @@ - hashes: - md5: 564334eb15dedcf1e3a6a4d78766d536 size: 194566848 - name: Tennis no Oujisama - Smash Hit! Original Anime Game (Japan) + name: Tennis no Oujisama - Smash Hit! Original Anime Game (Japan) (SLPM-62359) serial: SLPM-62359 version: '1.01' - hashes: @@ -42148,7 +42143,7 @@ - hashes: - md5: 0375176a586c0cef1cd4ba658172cc7b size: 278385072 - name: Taiko no Tatsujin - Waku Waku Anime Matsuri (Japan) + name: Taiko no Tatsujin - Waku Waku Anime Matsuri (Japan) (v2.00) serial: SLPS-73111 version: '2.00' - hashes: @@ -42160,7 +42155,7 @@ - hashes: - md5: 76a7dbd8a54387302978246583fa71d0 size: 4191027200 - name: Ayakashi-bito - Gen'you Ibunroku (Japan) + name: Ayakashibito - Gen'you Ibunroku (Japan) serial: SLPM-66491 version: '1.02' - hashes: @@ -42620,7 +42615,7 @@ - hashes: - md5: 95fbe9fe35c69b12e078bf54609482e9 size: 644777280 - name: SuperLite 2000 Vol. 13 - Tetris - Kiwame Michi (Japan) + name: SuperLite 2000 Vol. 13 - Tetris - Kiwame Michi (Japan) (v1.02) serial: SLPM-62423 version: '1.02' - hashes: @@ -42662,7 +42657,7 @@ - hashes: - md5: 029b628bde15c6bfd43853f8976009d5 size: 425958960 - name: Se-Pa 2001 (Japan) + name: Ce-Pa 2001 (Japan) serial: SLPM-62079 version: '1.04' - hashes: @@ -42758,7 +42753,7 @@ - hashes: - md5: 4aea2f52dd556b131232f3ce7539141b size: 1562869760 - name: Quilt - Anata to Tsumugu Yume to Koi no Dress (Japan) + name: Quilt - Anata to Tsumugu Yume to Koi no Dress (Japan) (Shokai Genteiban) serial: SLPM-66734 version: '1.02' - hashes: @@ -42993,7 +42988,7 @@ - hashes: - md5: 33b1fe2b9f494dda06aecf5a1ce267e0 size: 1336868864 - name: Cricket 2004 (Europe) + name: Cricket 2004 (Europe) (v1.00) serial: SLES-52123 version: '1.00' - hashes: @@ -43241,7 +43236,7 @@ - hashes: - md5: 5c0b51ff9f4d243a2b0910797b589b58 size: 233515968 - name: Card Captor Sakura - Sakura-chan to Asobo! (Japan) + name: Cardcaptor Sakura - Sakura-chan to Asobo! (Japan) serial: SLPS-20408 version: '1.03' - hashes: @@ -43277,7 +43272,7 @@ - hashes: - md5: b5833335967190cdd0bf9f6d1fab9899 size: 4593909760 - name: Izumo 2 - Takeki Tsurugi no Senki (Japan) + name: Izumo 2 - Takeki Tsurugi no Senki (Japan) (v1.01) serial: SLPM-66192 version: '1.01' - hashes: @@ -43422,7 +43417,7 @@ - hashes: - md5: f4ae949aec89e4296e56ce43aa5a6571 size: 2192375808 - name: J.League Winning Eleven 10 + Europe League '06-'07 (Japan) + name: J.League Winning Eleven 10 + Europe League '06-'07 (Japan) (v1.03) serial: SLPM-66595 version: '1.03' - hashes: @@ -43464,7 +43459,7 @@ - hashes: - md5: ae8b23b16e18698d4b1f0bbcc43a0f23 size: 4684218368 - name: Culdcept II Expansion (Japan) + name: Culdcept II Expansion (Japan) (v3.00) serial: SLPM-74411 version: '3.00' - hashes: @@ -43482,7 +43477,7 @@ - hashes: - md5: 9e6a101320d814442542690ef8cde501 size: 1987772416 - name: Monster Farm 4 (Japan) + name: Monster Farm 4 (Japan) (v1.04) serial: SLPS-25263 version: '1.04' - hashes: @@ -43542,7 +43537,7 @@ - hashes: - md5: 57560c67958840f2478cf64a3b686d7c size: 1452834816 - name: Tennis no Oujisama - Saikyou Team o Kessei seyo! (Japan) + name: Tennis no Oujisama - Saikyou Team o Kessei seyo! (Japan) (v1.03) serial: SLPM-65680 version: '1.03' - hashes: @@ -43633,7 +43628,7 @@ - hashes: - md5: 449b7b086707e86a9dc0187443b3bf4b size: 734955312 - name: Bloody Roar 3 (Japan) + name: Bloody Roar 3 (Japan) (v1.02) serial: SLPM-62055 version: '1.02' - hashes: @@ -44106,7 +44101,7 @@ - hashes: - md5: 533a26970a92732988eded618176cffe size: 8284209152 - name: Wild Arms - Alter Code - F (Japan) + name: Wild Arms - Alter Code - F (Japan) (v2.00) serial: SCPS-19251 version: '2.00' - hashes: @@ -44155,7 +44150,7 @@ - hashes: - md5: 0d5bf58dee915e9903058a9d53bd8f03 size: 2960883712 - name: Capcom Classics Collection (Japan) + name: Capcom Classics Collection (Japan) (v2.00) serial: SLPM-66852 version: '2.00' - hashes: @@ -44203,7 +44198,7 @@ - hashes: - md5: baa2ab1bd553dadf99cf3b3513b7b222 size: 4429807616 - name: Pro Yakyuu Spirits 5 (Japan) + name: Pro Yakyuu Spirits 5 (Japan) (v1.03) serial: SLPM-66970 version: '1.03' - hashes: @@ -44347,7 +44342,7 @@ - hashes: - md5: 33ce7ab6afb163ed6c73325def6d4279 size: 734484912 - name: Jikkyou J.League - Perfect Striker 3 (Japan) + name: Jikkyou J.League - Perfect Striker 3 (Japan) (v2.01) serial: SLPM-62045 version: '2.01' - hashes: @@ -44684,7 +44679,7 @@ - hashes: - md5: 93141c0620e1934e7ca4dcca2d035f3e size: 3469967360 - name: Bleach - Erabareshi Tamashii (Japan) + name: Bleach - Erabareshi Tamashii (Japan) (v2.00) serial: SCPS-15087 version: '2.00' - hashes: @@ -44804,7 +44799,7 @@ - hashes: - md5: 57ca2a727ac082e72b57ee52ac0e43cc size: 4129292288 - name: ToraCap! Daash!! (Japan) + name: ToraCap! Daash!! (Japan) (Deluxe Pack) serial: SLPM-65301 version: '1.01' - hashes: @@ -44840,7 +44835,7 @@ - hashes: - md5: abd0ab6130f9f7c175ae16e793ab9d6a size: 1634500608 - name: Gundam True Odyssey - Ushinawareshi G no Densetsu (Japan) + name: Gundam True Odyssey - Ushinawareshi G no Densetsu (Japan) (v1.02) serial: SLPS-25520 version: '1.02' - hashes: @@ -44858,7 +44853,7 @@ - hashes: - md5: 5cfb6f344fb64726e5473c6251956096 size: 523877424 - name: Sky Surfer (Japan) + name: Sky Surfer (Japan) (v1.04) serial: SLPS-20012 version: '1.04' - hashes: @@ -44936,7 +44931,7 @@ - hashes: - md5: 3c1219256cdcd959a881531d6caed48d size: 222863760 - name: PDC World Championship Darts (Europe) (En,Fr,De,Es,It,Nl) + name: PDC World Championship Darts (Europe) (En,Fr,De,Es,It,Nl) (v2.00) serial: SLES-54111 version: '2.00' - hashes: @@ -45023,7 +45018,7 @@ - md5: b487e292ac842b6183981f11c6ca5df3 size: 2392555520 name: Nobunaga no Yabou - Tenka Sousei with Power-Up Kit (Japan) - serial: SLPM-65864 + serial: SLPM-55232 version: '1.01' - hashes: - md5: 7336ffccf7e6dda1b3207ffdd3698823 @@ -45249,7 +45244,7 @@ - hashes: - md5: 04f33895ef458f332f8d1265d6e8c26f size: 4243488768 - name: Code Geass - Hangyaku no Lelouch - Lost Colors (Japan) + name: Code Geass - Hangyaku no Lelouch - Lost Colors (Japan) (v2.00) serial: SLPS-25860 version: '2.00' - hashes: @@ -45371,6 +45366,7 @@ - md5: 2c1028d60855671c0aa7fefc607b7a17 size: 2719416320 name: Baseball 2003, The - Battle Ball Park Sengen - Perfect Play Pro Yakyuu (Japan) + (v1.05) serial: SLPM-65180 version: '1.05' - hashes: @@ -45712,7 +45708,7 @@ - hashes: - md5: 6b4d054b20516d4ac041c849cef2d5c7 size: 2259222528 - name: Yu-Gi-Oh! Shin Duel Monsters II - Keishou sareshi Kioku (Japan) + name: Yu-Gi-Oh! Shin Duel Monsters II - Keishou sareshi Kioku (Japan) (v2.00) serial: SLPM-65647 version: '2.00' - hashes: @@ -46086,7 +46082,7 @@ - hashes: - md5: 705c80af21f8095afd45b7fa98c7955e size: 711237744 - name: Phantom Brave - 2-shuume Hajimemashita. (Japan) + name: Phantom Brave - 2-shuume Hajimemashita. (Japan) (v2.00) serial: SLPS-73108 version: '2.00' - hashes: @@ -46098,7 +46094,7 @@ - hashes: - md5: 4d73b67f8926e3e90fccf1b2adf434b9 size: 1480458240 - name: Reiselied - Ephemeral Fantasia (Japan) + name: Reiselied - Ephemeral Fantasia (Japan) (v1.00) serial: SLPM-65004 version: '1.00' - hashes: @@ -46116,7 +46112,7 @@ - hashes: - md5: 6a57f952ee204dbab198d3ad6057acaa size: 4684218368 - name: Culdcept II Expansion (Japan) + name: Culdcept II Expansion (Japan) (v1.01) serial: SLPM-65179 version: '1.01' - hashes: @@ -46165,7 +46161,7 @@ - md5: 7737b47a799e822315bc0b247e897327 size: 3237478400 name: Ratchet & Clank 4th - Giri Giri Ginga no Giga Battle (Japan) - serial: SCPS-19328 + serial: SCPS-15100 version: '1.00' - hashes: - md5: bb850b12493218aa58d98cf9d01c4be5 @@ -46182,7 +46178,7 @@ - hashes: - md5: 6ae394a497d4cd3d962021fb46ffa443 size: 4237066240 - name: Code Geass - Hangyaku no Lelouch - Lost Colors (Japan) + name: Code Geass - Hangyaku no Lelouch - Lost Colors (Japan) (v1.01) serial: SLPS-25860 version: '1.01' - hashes: @@ -46326,7 +46322,7 @@ - hashes: - md5: a2749ad7e49f1f7886b8f920e6dbeb7f size: 4697456640 - name: Star Wars - Battlefront II (USA) + name: Star Wars - Battlefront II (USA) (v1.01) serial: SLUS-21240 version: '1.01' - hashes: @@ -46380,7 +46376,7 @@ - hashes: - md5: ade7cffcbd5d7818ed00f2b39e8f8de6 size: 3099951104 - name: SingStar Russian Hit (Russia) + name: SingStar Russkij Xit (Russia) serial: SCES-55241 version: '1.00' - hashes: @@ -46602,7 +46598,7 @@ - md5: c6ad769c83351162745c64a0fef27c49 size: 3653369856 name: Gakkou o Tsukurou!! Happy Days (Japan) - serial: SLPS-25598 + serial: SLPS-25471 version: '1.01' - hashes: - md5: eda400970439af8e71034a172c658943 @@ -46907,7 +46903,7 @@ - hashes: - md5: e7cc6d969dfddb31238980d39a61d37e size: 4592238592 - name: Sly 2 - Band of Thieves (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + name: Sly 2 - Band of Thieves (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) (v2.01) serial: SCES-52529 version: '2.01' - hashes: @@ -46931,7 +46927,7 @@ - hashes: - md5: a9195dfa99637c2b7d5bc29995914a8b size: 2558656512 - name: ObsCure (Russia) + name: Obscure (Russia) serial: SLES-53322 version: '1.01' - hashes: @@ -47118,7 +47114,7 @@ - hashes: - md5: b34274984cb5828dabceeb07fc58cc69 size: 682924368 - name: SuperLite 2000 Vol. 13 - Tetris - Kiwame Michi (Japan) + name: SuperLite 2000 Vol. 13 - Tetris - Kiwame Michi (Japan) (v2.01) serial: SLPM-62423 version: '2.01' - hashes: @@ -47274,13 +47270,13 @@ - hashes: - md5: 68634f9b74fe47e4a039ada615970ca1 size: 541969008 - name: Momotarou Dentetsu 15 - Godai Bombee Toujou! no Maki (Japan) + name: Momotarou Dentetsu 15 - Godai Bombee Toujou! no Maki (Japan) (v2.00) serial: SLPM-74104 version: '2.00' - hashes: - md5: 5a708047222aee46d5767346b9e13939 size: 4657250304 - name: Legacy of Kain - Soul Reaver 2 (USA) + name: Legacy of Kain - Soul Reaver 2 (USA) (v2.00) serial: SLUS-20165 version: '2.00' - hashes: @@ -47310,7 +47306,7 @@ - hashes: - md5: 6ba01870aa8ae3f735ec58298dbc813c size: 2108096512 - name: Crash Twinsanity (USA) + name: Crash Twinsanity (USA) (v1.00) serial: SLUS-20909 version: '1.00' - hashes: @@ -47576,7 +47572,7 @@ - hashes: - md5: d39d7b9f202bc21ded105cce2ecf4c88 size: 2056945664 - name: Tenshou Gakuen Gensouroku (Japan) + name: Tenshou Gakuen Gensouroku (Japan) (v2.01) serial: SLPM-66382 version: '2.01' - hashes: @@ -47630,13 +47626,13 @@ - hashes: - md5: 1cf78ace77ba9764c9b71a7df71aa4b7 size: 3884744704 - name: Test Drive (USA) + name: Test Drive (USA) (v1.00) serial: SLUS-20213 version: '1.00' - hashes: - md5: 7ec07e8d73d5b930b581745881b31ec0 size: 2993946624 - name: MTV Pimp My Ride (USA) + name: MTV Pimp My Ride (USA) (v1.00) serial: SLUS-21580 version: '1.00' - hashes: @@ -47679,7 +47675,7 @@ - md5: 53ccb3cce5a1a9c133eba168dbc24fe9 size: 1232470016 name: King of Fighters 2000, The (Japan) - serial: SLPS-25429 + serial: SLPS-25156 version: '1.03' - hashes: - md5: 48610cafbe9cfe4ef22e575005a864d9 @@ -47708,7 +47704,7 @@ - hashes: - md5: 38d102e46cb495a7f43237fe57166c73 size: 584622528 - name: Nobunaga no Yabou Online (Japan) (Beta) (2002-11-19) + name: Nobunaga no Yabou Online (Japan) (Beta) (v1.04) (2002-11-19) serial: SLPM-62208 version: '1.04' - hashes: @@ -47774,7 +47770,7 @@ - hashes: - md5: a90a9b7f32fb422da5d0a54945ffb6be size: 747451488 - name: Netchuu! Pro Yakyuu 2002 (Japan) + name: Netchuu! Pro Yakyuu 2002 (Japan) (v2.01) serial: SLPS-20190 version: '2.01' - hashes: @@ -47846,7 +47842,7 @@ - hashes: - md5: 96338e8bcbfdf914fee65be93e9af524 size: 4092362752 - name: Densha de Go! Professional 2 (Japan) + name: Densha de Go! Professional 2 (Japan) (v2.03) serial: SLPM-65661 version: '2.03' - hashes: @@ -47954,7 +47950,7 @@ - hashes: - md5: 7950f342fae8a55162d7315f888db953 size: 3681550336 - name: Katamari Damacy (Japan) + name: Katamari Damacy (Japan) (v2.00) serial: SLPS-25360 version: '2.00' - hashes: @@ -48020,7 +48016,7 @@ - hashes: - md5: 85bfa4a96ab137429a5e1ca930e0f8fb size: 2259222528 - name: Yu-Gi-Oh! Shin Duel Monsters II - Keishou sareshi Kioku (Japan) + name: Yu-Gi-Oh! Shin Duel Monsters II - Keishou sareshi Kioku (Japan) (v1.03) serial: SLPM-65050 version: '1.03' - hashes: @@ -48237,13 +48233,13 @@ - hashes: - md5: 68313531e0f035a75f7536bfc288022d size: 107208864 - name: Junior Board Games (Europe) (En,Fr,De,Es,It) + name: Junior Board Games (Europe) (En,Fr,De,Es,It) (v1.01) serial: SLES-52776 version: '1.01' - hashes: - md5: fd729ae5bf82d6a1c97cd6fec94e3767 size: 952893440 - name: Rayman M (Europe) (En,Fr,De,Es,It) + name: Rayman M (Europe) (En,Fr,De,Es,It) (v1.02) serial: SLES-50457 version: '1.02' - hashes: @@ -48467,7 +48463,7 @@ - hashes: - md5: 96840c55e20f4822821f52c830c8789b size: 4257611776 - name: Neo Atlas III (Japan) + name: Neo Atlas III (Japan) (v2.00) serial: SLPS-25176 version: '2.00' - hashes: @@ -48551,7 +48547,7 @@ - hashes: - md5: 78a07b414434f9031c51425329d1dd85 size: 744499728 - name: Pro Mahjong Kiwame Next (Japan) + name: Pro Mahjong Kiwame Next (Japan) (v3.01) serial: SLPS-20133 version: '3.01' - hashes: @@ -48720,7 +48716,7 @@ - md5: b292c834f63db71ecb52083d1d7a14c1 size: 747016368 name: Sega Ages 2500 Series Vol. 22 - Advanced Daisenryaku - Deutsch Dengeki Sakusen - (Japan) + (Japan) (v2.00) serial: SLPM-62708 version: '2.00' - hashes: @@ -48751,7 +48747,7 @@ - hashes: - md5: e7a3df8f24200c3831bee9305d2996d9 size: 3141042176 - name: WRC 4 - The Official Game of the FIA World Rally Championship (Japan) + name: WRC 4 - The Official Game of the FIA World Rally Championship (Japan) (v1.02) serial: SLPM-65975 version: '1.02' - hashes: @@ -48769,7 +48765,7 @@ - hashes: - md5: 6a19289753f5d85a717cc2bbb32b2347 size: 3335979008 - name: Dot Hack G.U. Vol. 3 - Aruku You na Hayasa de (Japan) + name: Dot Hack G.U. Vol. 3 - Aruku You na Hayasa de (Japan) (v2.00) serial: SLPS-73267 version: '2.00' - hashes: @@ -48799,7 +48795,7 @@ - hashes: - md5: d4a0ea206a803b2bf6605747248d01f0 size: 1492484096 - name: Pachi Para 12 - Ooumi to Natsu no Omoide (Japan) + name: Pachi Para 12 - Ooumi to Natsu no Omoide (Japan) (v2.01) serial: SLPS-25574 version: '2.01' - hashes: @@ -48902,7 +48898,7 @@ - hashes: - md5: edc2438adbcaec262995d1f88809cdf5 size: 32165952 - name: Chou! Tanoshii Internet - Tomodachi no Wa (Japan) (Broadband) + name: Chou! Tanoshii Internet - Tomodachi no Wa (Japan) (Broadband) (v1.05) serial: SLPS-20149 version: '1.05' - hashes: @@ -48920,7 +48916,7 @@ - hashes: - md5: f22c881468dd30cc25be63d73708aa2f size: 3479535616 - name: Pop'n Music 10 (Japan) + name: Pop'n Music 10 (Japan) (v2.00) serial: SLPM-66210 version: '2.00' - hashes: @@ -49010,7 +49006,7 @@ - hashes: - md5: 506039703a1454e80d6841635db89659 size: 1583874048 - name: Gitadora! GuitarFreaks 4th Mix & DrumMania 3rd Mix (Japan) + name: Gitadora! GuitarFreaks 4th Mix & DrumMania 3rd Mix (Japan) (v1.01) serial: SLPM-65052 version: '1.01' - hashes: @@ -49022,7 +49018,7 @@ - hashes: - md5: 163c7b0ed01f8ce4c022daa725b765ee size: 3479601152 - name: Pop'n Music 10 (Japan) + name: Pop'n Music 10 (Japan) (v1.01) serial: SLPM-65770 version: '1.01' - hashes: @@ -49161,7 +49157,7 @@ - hashes: - md5: 785e0fa027bb2f80a0fb80644f9ff7ed size: 1246855168 - name: Tennis no Oujisama - Smash Hit! (Japan) (Shokai SP Genteiban) + name: Tennis no Oujisama - Smash Hit! (Japan) (Shokai SP Genteiban) (SLPM-65321) serial: SLPM-65321 version: '1.00' - hashes: @@ -49366,7 +49362,7 @@ - hashes: - md5: d19bf00694105baf62bf974247bdd6f0 size: 3401777152 - name: Official PlayStation 2 Magazine Demo 50 (Germany) (En,De) + name: Official PlayStation 2 Magazine Demo 50 (Germany) (En,De) (SCED-52090) serial: SCED-52090 version: '1.02' - hashes: @@ -49427,7 +49423,7 @@ - md5: aa26f473fc9ecf2df7fad3a9acc30351 size: 3115188224 name: Harukanaru Toki no Naka de 3 (Japan) (Triple Pack) - serial: SLPM-66128 + serial: SLPM-65850 version: '1.02' - hashes: - md5: 3fbcf872e27357fe0c8ef1923bfe79bf @@ -49468,7 +49464,7 @@ - hashes: - md5: ab9f3171f9e7f7ac745ff817807806b6 size: 3215982592 - name: V-Rally 3 (Japan) (En,Ja,Fr,De,Es,It) + name: V-Rally 3 (Japan) (En,Ja,Fr,De,Es,It) (v2.00) serial: SLPM-65539 version: '2.00' - hashes: @@ -49511,7 +49507,7 @@ - hashes: - md5: f9cffad5fb225ab63d437d1230132663 size: 457515744 - name: PrintFan (Japan) + name: PrintFan (Japan) (v1.00) serial: SLPM-62025 version: '1.00' - hashes: @@ -49720,7 +49716,7 @@ - md5: c29f1d6042c2df28d7f6fb7c4d96870c size: 3630104576 name: Boukoku no Aegis 2035 - Warship Gunner (Japan) - serial: SLPM-66939 + serial: SLPM-66060 version: '1.03' - hashes: - md5: 2ab4f7c586a9305f8a3bd8fcc451496d @@ -49738,7 +49734,7 @@ - md5: c614d5629fab54b186e6497725ef9d82 size: 747016368 name: Sega Ages 2500 Series Vol. 22 - Advanced Daisenryaku - Deutsch Dengeki Sakusen - (Japan) + (Japan) (v3.00) serial: SLPM-62708 version: '3.00' - hashes: @@ -49750,13 +49746,13 @@ - hashes: - md5: 42e035e29b946c488c813064120d4086 size: 13197072 - name: EGBrowser (Japan) + name: EGBrowser (Japan) (v1.06) serial: SLPM-62068 version: '1.06' - hashes: - md5: d3a68be7479fe512456033a879bca651 size: 1331003392 - name: GI Jockey 4 2007 (Japan) + name: GI Jockey 4 2007 (Japan) (Premium Pack) serial: SLPM-66903 version: '1.02' - hashes: @@ -49782,7 +49778,7 @@ - hashes: - md5: e001771b2394d5d63028c4f907cb1503 size: 1420460032 - name: Winning Post 7 Maximum 2007 (Japan) + name: Winning Post 7 Maximum 2007 (Japan) (v1.00) serial: SLPM-66904 version: '1.00' - hashes: @@ -50576,7 +50572,7 @@ - hashes: - md5: 06ce58c5ce983c9d90050dd08cdb936d size: 4456775680 - name: Pro Yakyuu Spirits 5 (Japan) + name: Pro Yakyuu Spirits 5 (Japan) (v2.00) serial: SLPM-66970 version: '2.00' - hashes: @@ -50625,7 +50621,7 @@ - hashes: - md5: 1346126a4a102aeec5b08788a9caaef3 size: 3170664448 - name: Ponkotsu Roman Daikatsugeki - Bumpy Trot (Japan) + name: Ponkotsu Roman Daikatsugeki - Bumpy Trot (Japan) (v2.00) serial: SLPS-25683 version: '2.00' - hashes: @@ -50836,7 +50832,7 @@ - hashes: - md5: 57899c048e0abebccc780d065025cbe2 size: 469929600 - name: PlayStation BB Navigator - Version 0.10 (Prerelease) (Japan) (Disc 2) + name: PlayStation BB Navigator - Version 0.10 (Prerelease) (Japan) (Disc 2) (SCPN-60103) serial: SCPN-60103 - hashes: - md5: 10c30143ba90a8450ce3271378a320eb @@ -50931,7 +50927,7 @@ - hashes: - md5: 4c5ae7ca2fc72901f4299b8af96d6d1f size: 2321055744 - name: Nobunaga no Yabou - Tenka Sousei (Japan) + name: Nobunaga no Yabou - Tenka Sousei (Japan) (v1.40) serial: SLPM-74225 version: '1.40' - hashes: @@ -51045,7 +51041,7 @@ - hashes: - md5: 572fa446171877834d8e80c195eb23ff size: 330253728 - name: Network Access Disc (Europe) + name: Network Access Disc (Europe) (v0.02) serial: SCES-51003 version: '0.02' - hashes: @@ -51129,7 +51125,7 @@ - hashes: - md5: 51739d16d2f85d1d005eec1c8718c5bf size: 4055269376 - name: Official PlayStation 2 Magazine Demo 49 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 49 (Europe) (En,Fr,De,Es,It) (SCED-52728) serial: SCED-52728 version: '1.00' - hashes: @@ -51165,7 +51161,7 @@ - hashes: - md5: d75fb418a9891aa51fb910345f67e79a size: 3101491200 - name: Official PlayStation 2 Magazine Demo 74 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 74 (Europe) (En,Fr,De,Es,It) (SCED-54202) serial: SCED-54202 version: '1.01' - hashes: @@ -51208,7 +51204,7 @@ - hashes: - md5: 02c2fb0c88795d078ffbbcdfb9ba194b size: 3632529408 - name: Official PlayStation 2 Magazine Demo 31 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 31 (Europe) (En,Fr,De,Es,It) (SCED-51556) serial: SCED-51556 version: '1.02' - hashes: @@ -51262,7 +51258,7 @@ - hashes: - md5: 313879bfeab45fc462bd1f6868b10f52 size: 1493565440 - name: Pachi Para 12 - Ooumi to Natsu no Omoide (Japan) + name: Pachi Para 12 - Ooumi to Natsu no Omoide (Japan) (v1.02) serial: SLPS-25574 version: '1.02' - hashes: @@ -51292,7 +51288,7 @@ - hashes: - md5: f0b129f39934ec50e384e12aaf57c98b size: 4431839232 - name: Official PlayStation 2 Magazine Demo 56 (Europe) (En,Fr,De,Es,It) + name: Official PlayStation 2 Magazine Demo 56 (Europe) (En,Fr,De,Es,It) (SCED-53176) serial: SCED-53176 version: '1.03' - hashes: @@ -51619,7 +51615,7 @@ - hashes: - md5: 0c756ca8645512f60d660bb1294aa22f size: 469929600 - name: PlayStation BB Navigator - Version 0.10 (Prerelease) (Japan) (Disc 2) + name: PlayStation BB Navigator - Version 0.10 (Prerelease) (Japan) (Disc 2) (SCPN-60111) serial: SCPN-60111 - hashes: - md5: bebcf37750a7b9d2b64cee4c3b31d9ea @@ -51678,7 +51674,7 @@ - hashes: - md5: a44554d7f03c867c06f9347f5026b216 size: 4487905280 - name: Getaway, The (Australia) (En,Fr,De,Es,It) + name: Getaway, The (Australia) (En,Fr,De,Es,It) (v2.00) serial: SCES-51426 version: '2.00' - hashes: @@ -51798,7 +51794,7 @@ - hashes: - md5: e2054c908b16b2d963b3692d35c63df2 size: 4323246080 - name: Bonus Demo 5 (Europe) (En,Fr,De,Es,It) + name: Bonus Demo 5 (Europe) (En,Fr,De,Es,It) (SCED-51940) serial: SCED-51940 version: '1.02' - hashes: @@ -51858,7 +51854,7 @@ - hashes: - md5: f01d06fbaef585a21bfe816c799b4d5b size: 3960438784 - name: Hitman 2 - Silent Assassin (Spain) + name: Hitman 2 - Silent Assassin (Spain) (v1.01) serial: SLES-51110 version: '1.01' - hashes: @@ -51876,7 +51872,7 @@ - hashes: - md5: 0f1cc6406102bd4940db44bbe764b3a4 size: 35359968 - name: Ultimate Sports Quiz, The (Europe) + name: Ultimate Sports Quiz, The (Europe) (v2.00) serial: SLES-53597 version: '2.00' - hashes: @@ -51930,19 +51926,19 @@ - hashes: - md5: 4bf5b5e6890e0b3c020b0d07c1a9c422 size: 3942285312 - name: Hitman 2 - Silent Assassin (Italy) + name: Hitman 2 - Silent Assassin (Italy) (v1.01) serial: SLES-51107 version: '1.01' - hashes: - md5: a6b2e5f6fa963965dc66d4dff0182fbf size: 3940810752 - name: Hitman 2 - Silent Assassin (Germany) + name: Hitman 2 - Silent Assassin (Germany) (v1.01) serial: SLES-51109 version: '1.01' - hashes: - md5: 9eed6551c03754c9553c7a4698be5398 size: 4500586496 - name: Grand Theft Auto - San Andreas (Germany) (En,De) + name: Grand Theft Auto - San Andreas (Germany) (En,De) (v1.00) serial: SLES-52927 version: '1.00' - hashes: @@ -52036,7 +52032,7 @@ - hashes: - md5: 43293a3ab2589066d50fe533756a88be size: 3940712448 - name: Hitman 2 - Silent Assassin (France) + name: Hitman 2 - Silent Assassin (France) (v1.01) serial: SLES-51108 version: '1.01' - hashes: @@ -52054,7 +52050,7 @@ - hashes: - md5: 5cf612d6cbfe9f03d334e8b1bba48d3e size: 4487905280 - name: Getaway, The (Europe) (En,Fr,De,Es,It) + name: Getaway, The (Europe) (En,Fr,De,Es,It) (v3.00) serial: SCES-51159 version: '3.00' - hashes: @@ -52066,7 +52062,7 @@ - hashes: - md5: 1428c6ba3492b002aaa08d55b0e344d0 size: 4675174400 - name: SingStar '80s (Italy) + name: SingStar '80s (Italy) (v1.01) serial: SCES-53605 version: '1.01' - hashes: @@ -52139,7 +52135,7 @@ - hashes: - md5: 63c6d30113ab545c8249d58af246ae17 size: 2085978112 - name: Pro Evolution Soccer 6 (Europe) (It,Pl) + name: PES 6 - Pro Evolution Soccer (Europe) (It,Pl) (v2.00) serial: SLES-54204 version: '2.00' - hashes: @@ -52169,7 +52165,7 @@ - hashes: - md5: 54f54d76d67174e91ea5297057826b49 size: 3108634624 - name: Burnout 2 - Point of Impact (Europe) (En,Fr,De,Es,It) + name: Burnout 2 - Point of Impact (Europe) (En,Fr,De,Es,It) (SLES-52968) serial: SLES-52968 version: '1.00' - hashes: @@ -52469,7 +52465,7 @@ - hashes: - md5: 3a6c259fa9a1b2e41aa3448de2a90b6d size: 641070528 - name: Legends of Wrestling (USA) + name: Legends of Wrestling (USA) (v1.00) serial: SLUS-20242 version: '1.00' - hashes: @@ -52537,7 +52533,7 @@ - hashes: - md5: c7033668dc60e7de5743a6361d70a4dc size: 3080093696 - name: Spider-Man (Spain) + name: Spider-Man (Spain) (v2.01) serial: SLES-50965 version: '2.01' - hashes: @@ -52665,7 +52661,7 @@ - hashes: - md5: 4342cf22a402f3fb7215e1f25d8b9c27 size: 438015312 - name: WipEout Fusion (Europe) (Demo) + name: Wipeout Fusion (Europe) (Demo) serial: SCED-50768 version: '1.10' - hashes: @@ -52677,13 +52673,13 @@ - hashes: - md5: 8b5cdd13ed50190234cbc35e04eb7fa2 size: 4683300864 - name: SingStar '80s (Germany) + name: SingStar '80s (Germany) (v1.00) serial: SCES-53604 version: '1.00' - hashes: - md5: 2eaeb713980bbe8b3aea280dbc080a31 size: 713686176 - name: NHL Hitz 2002 (USA) + name: NHL Hitz 2002 (USA) (v1.01) serial: SLUS-20140 version: '1.01' - hashes: @@ -52918,7 +52914,7 @@ - hashes: - md5: 60b2a5161bca85b0faf2c7f251dcd3ff size: 464470608 - name: Nick Jr. Dora the Explorer - Dora Saves the Mermaids (Australia) + name: Nick Jr. Dora the Explorer - Dora Saves the Mermaids (Europe, Australia) serial: SLES-55112 version: '1.01' - hashes: @@ -52930,7 +52926,7 @@ - hashes: - md5: 7b0cf7f12b223dd9a5b7a06847a59045 size: 4690509824 - name: NHL 09 (Europe, Australia) (En,De,Sv,Fi,Ru,Cs) + name: NHL 09 (Europe, Australia) (En,De,Sv,Fi,Ru,Cs) (v2.00) serial: SLES-55338 version: '2.00' - hashes: @@ -52990,7 +52986,7 @@ - hashes: - md5: 6f7f5b7afcf03f4e4888e39b21b48363 size: 4605673472 - name: Midnight Club 3 - DUB Edition (USA) + name: Midnight Club 3 - DUB Edition (USA) (v2.00) serial: SLUS-21029 version: '2.00' - hashes: @@ -53032,7 +53028,7 @@ - hashes: - md5: f12657869714dc216c65f0bc304a660b size: 2181660672 - name: Splashdown (Europe) (En,Fr,De,Es,It) + name: Splashdown (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-50486 version: '2.00' - hashes: @@ -53062,7 +53058,7 @@ - hashes: - md5: 00b9c6a6a5c59c7736ba2b63cafe449c size: 761692848 - name: Karat PS2-you Pro Action Replay 2 (Japan) (Unl) + name: Karat PS2-you Pro Action Replay 2 (Japan) (Unl) (v2.23) version: '2.23' - hashes: - md5: 87ed18a8353ad72bf3f0325032a0423a @@ -53091,7 +53087,7 @@ - hashes: - md5: e9906a5089c5cd072df6fd77e660f1ae size: 524009136 - name: Sky Surfer (Japan) + name: Sky Surfer (Japan) (v2.02) serial: SLPS-20012 version: '2.02' - hashes: @@ -53350,7 +53346,7 @@ - hashes: - md5: 0ffbba013cbaa0e97191ec0909b09b24 size: 1642004480 - name: Enthusia - Professional Racing (Europe) (Demo) + name: Enthusia - Professional Racing (Europe) (En,Fr,De,Es,It) (Demo) serial: SLED-53330 version: '1.01' - hashes: @@ -53536,7 +53532,7 @@ - hashes: - md5: 3636e07b33bcbbd5213c71e778bcd24b size: 1501331456 - name: DreamWorks Madagascar (USA) + name: DreamWorks Madagascar (USA) (v3.01) serial: SLUS-21015 version: '3.01' - hashes: @@ -53608,7 +53604,7 @@ - hashes: - md5: 0c338c3949ee028db0128a928537ae5b size: 4239130624 - name: ESPN College Hoops (USA) + name: ESPN College Hoops (USA) (v1.03) serial: SLUS-20729 version: '1.03' - hashes: @@ -53638,7 +53634,7 @@ - hashes: - md5: 1d9aa2579b94d71b35062ae5310cc1a7 size: 560279328 - name: Pro Evolution Soccer 6 (Europe) (Demo) + name: PES 6 - Pro Evolution Soccer (Europe) (Demo) serial: SLED-54445 version: '1.01' - hashes: @@ -54046,7 +54042,7 @@ - hashes: - md5: 442b4bf1cfc3f96357ede2248e32578d size: 3977543680 - name: Festa!! Hyper Girls Party (Japan) + name: Festa!! Hyper Girls Party (Japan) (Genteiban) serial: SLPM-66434 version: '1.01' - hashes: @@ -54077,7 +54073,7 @@ - hashes: - md5: 8932db7d1c6eb52caa906e35b1fcd048 size: 4314857472 - name: SingStar '80s (Netherlands) + name: SingStar '80s (Netherlands) (v1.00) serial: SCES-53607 version: '1.00' - hashes: @@ -54179,7 +54175,7 @@ - hashes: - md5: 6ea711a02ed6fe8f2506706044ee54f4 size: 4449566720 - name: SOCOM II - U.S. Navy SEALs (Korea) + name: SOCOM II - U.S. Navy SEALs (Korea) (v2.00) serial: SCKA-20053 version: '2.00' - hashes: @@ -54359,7 +54355,7 @@ - hashes: - md5: ce41462703a8df23c8960f58f04a2894 size: 3681550336 - name: Katamari Damacy (Japan) + name: Katamari Damacy (Japan) (v1.03) serial: SLPS-25360 version: '1.03' - hashes: @@ -54371,7 +54367,7 @@ - hashes: - md5: dd3ff636bb30bb55e7971cc083e7432f size: 4282515456 - name: Kidou Senshi Gundam - Renpou vs. Zeon DX (Japan) + name: Kidou Senshi Gundam - Renpou vs. Zeon DX (Japan) (v2.00) serial: SLPM-65076 version: '2.00' - hashes: @@ -54479,7 +54475,6 @@ - md5: 5471b8e8e2d631043695c60ed6f409ed size: 3698622464 name: Need for Speed - Undercover (Scandinavia) (En,Sv,Da,Fi) - serial: SLES-55352 version: '1.00' - hashes: - md5: 0145e512d389782eeef8a4082f505182 @@ -54615,7 +54610,7 @@ - hashes: - md5: fade5491c665228dc3f2250da0390f3e size: 4244832256 - name: Dokapon the World (Japan) + name: Dokapon the World (Japan) (v1.03) serial: SLPM-65750 version: '1.03' - hashes: @@ -55222,7 +55217,7 @@ - hashes: - md5: 05ed20ea58cf6c410314d1fd1905c002 size: 4662296576 - name: Jak X - Combat Racing (USA) (En,Fr,De,Es,It,Pt,Ru) + name: Jak X - Combat Racing (USA) (En,Fr,De,Es,It,Pt,Ru) (v2.00) serial: SCUS-97429 version: '2.00' - hashes: @@ -55425,7 +55420,7 @@ - hashes: - md5: 8f3fd6d2b5cb323b8f19acba16f9cca5 size: 761692848 - name: Karat PS2-you Pro Action Replay 2 (Japan) (Unl) (Version 2.03) + name: Karat PS2-you Pro Action Replay 2 (Japan) (Unl) (v2.03) version: 2.0j - hashes: - md5: f90689ab0add3687912640952f5e8426 @@ -55442,7 +55437,7 @@ - hashes: - md5: 9cb9525fae4bdd13bea9b8ae6cfd601d size: 3212345344 - name: Network Adaptor Start-Up Disc v2.0 (USA) (Rev) + name: Network Adaptor Start-Up Disc v2.0 (USA) (Rev 1) serial: SCUS-97095 version: '1.02' - hashes: @@ -55574,7 +55569,7 @@ - hashes: - md5: 52f78262d8407240669b8deb56f656d8 size: 4183162880 - name: PlayStation Experience (Europe) + name: PlayStation Experience (Europe) (SCED-51938) serial: SCED-51938 version: '1.03' - hashes: @@ -55885,7 +55880,7 @@ - hashes: - md5: 59f9eb7b11416fd4b6701d7e1723f360 size: 4611145728 - name: RAhXEPhON - Soukyuu Gensoukyoku (Japan) + name: Rahxephon - Soukyuu Gensoukyoku (Japan) serial: SLPS-25264 version: '1.01' - hashes: @@ -56157,7 +56152,7 @@ - hashes: - md5: 5d53c819d27db814ec8b21ad2c989276 size: 3412459520 - name: We Are- (Japan) + name: We Are- (Japan) (Genteiban) serial: SLPM-66448 version: '1.00' - hashes: @@ -56170,6 +56165,7 @@ - md5: 1d71bedec13b65f7567c210a143c357a size: 4269801472 name: Sims 2, The - Pets (Europe, Australia) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi,Pl) + (v2.00) serial: SLES-54347 version: '2.00' - hashes: @@ -56626,7 +56622,7 @@ - hashes: - md5: e22e41f846735f321b4c9e4e957c0884 size: 8525905920 - name: Gran Turismo Concept - 2002 Tokyo-Geneva (Asia) (En,Zh) + name: Gran Turismo Concept - 2002 Tokyo-Geneva (Asia) (En,Zh) (SCPS-55902) serial: SCPS-55902 version: '1.00' - hashes: @@ -57008,7 +57004,7 @@ - hashes: - md5: 945dbdcf9b8c962d74abdb747eb24e30 size: 761692848 - name: Action Replay Ultimate Codes for Use with Gran Turismo 3 (USA) (Unl) + name: Action Replay Ultimate Codes for Use with Gran Turismo 3 (USA) (Unl) (v1.10) version: '1.10' - hashes: - md5: e8e6e565c4d9f21d8a1ebca23ad1da06 @@ -57073,7 +57069,7 @@ - hashes: - md5: 34eefb44e5669c6129e79f87dcc6efdd size: 761692848 - name: SharkPort - Code and Save Transfer Kit (USA) (Unl) + name: SharkPort - Code and Save Transfer Kit (USA) (Unl) (v2.21) version: '2.21' - hashes: - md5: 7fd772ba44084f6ed0156ccd62a990a4 @@ -57141,7 +57137,7 @@ - hashes: - md5: fe0d0b55e4277f45b115b70a6c4201fb size: 3062857728 - name: Getaway, The - Black Monday (Europe) (En,Pt,Ru,El) + name: Getaway, The - Black Monday (Europe) (En,Pt,Ru,El) (v1.01) serial: SCES-52948 version: '1.01' - hashes: @@ -57405,7 +57401,7 @@ - hashes: - md5: 5893d75f18c1ee42aa17954e56fd3a63 size: 761692848 - name: Action Replay 2 (USA) (En,Fr,Es,Pt) (Disc 1) (Unl) + name: Action Replay 2 (USA) (En,Fr,Es,Pt) (Disc 1) (Unl) (v2.30) version: '2.30' - hashes: - md5: 21d05daa5883f0fb1ecf22548efb1f69 @@ -57617,7 +57613,7 @@ - hashes: - md5: de4e504efdd1f2bde3126e1a0fb86191 size: 761692848 - name: SharkPort - Code and Save Transfer Kit (USA) (Unl) + name: SharkPort - Code and Save Transfer Kit (USA) (Unl) (v1.2) version: '1.2' - hashes: - md5: 9334b5c0f9d83b229f4e66d8bc3aece9 @@ -57662,7 +57658,7 @@ - hashes: - md5: 71f1a20b9d4109435bf771cc81bada38 size: 761692848 - name: GameShark 2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v1.99b) version: 1.99b - hashes: - md5: c36180baa834d413d57cd1b89fae14df @@ -57894,19 +57890,19 @@ - hashes: - md5: b1bdb85315c977f0df632e62a921e013 size: 197408064 - name: Tennis no Oujisama - Smash Hit! Original Anime Game (Japan) + name: Tennis no Oujisama - Smash Hit! Original Anime Game (Japan) (SLPM-62357) serial: SLPM-62357 version: '1.01' - hashes: - md5: ff8e27c81141063f1bd05ea829c673b7 size: 194341056 - name: Tennis no Oujisama - Smash Hit! Original Anime Game (Japan) + name: Tennis no Oujisama - Smash Hit! Original Anime Game (Japan) (SLPM-62358) serial: SLPM-62358 version: '1.01' - hashes: - md5: 2ee95b9e42c0ca8f3af126db8a53a3a2 size: 32177712 - name: Chou! Tanoshii Internet - Tomodachi no Wa (Japan) (Broadband) + name: Chou! Tanoshii Internet - Tomodachi no Wa (Japan) (Broadband) (v3.00) serial: SLPS-20149 version: '3.00' - hashes: @@ -58203,7 +58199,7 @@ - hashes: - md5: 8fc8ebd3081dda5fec63f14455c9cfd0 size: 3225747456 - name: Inuyasha - Juso no Kamen (Japan) + name: Inuyasha - Juso no Kamen (Japan) (v2.00) serial: SLPS-25552 version: '2.00' - hashes: @@ -58239,7 +58235,7 @@ - hashes: - md5: bbb9ff58331cd1be1020a95ccd96dafa size: 476929152 - name: Pro Evolution Soccer 6 (Italy) (Demo) + name: PES 6 - Pro Evolution Soccer (Italy) (Demo) serial: SLES-54447 version: '1.01' - hashes: @@ -58288,7 +58284,7 @@ - hashes: - md5: ae1a09d72b9cb31573af5a5350ecab69 size: 3445489664 - name: Izumo Complete (Japan) + name: Izumo Complete (Japan) (v2.00) serial: SLPM-66801 version: '2.00' - hashes: @@ -58522,7 +58518,7 @@ - hashes: - md5: b7f25b00cab37f2b4ceca6b5f8c59ab7 size: 1280344064 - name: AFL Live 2004 (Australia) + name: AFL Live 2004 (Australia) (v2.01) serial: SLES-51826 version: '2.01' - hashes: @@ -58661,7 +58657,7 @@ - hashes: - md5: a7b8eb97c8bbafce34193741e52210ae size: 3865837568 - name: Jin Samguk Mussang 3 (Korea) + name: Jin Samguk Mussang 3 (Korea) (v2.00) serial: SLKA-25050 version: '2.00' - hashes: @@ -58770,7 +58766,7 @@ - hashes: - md5: 48a5639afdf9931913c7dde298dc5349 size: 1274544128 - name: Busin 0 - Wizardry Alternative Neo (Japan) + name: Busin 0 - Wizardry Alternative Neo (Japan) (v2.01) serial: SLPM-65876 version: '2.01' - hashes: @@ -59286,7 +59282,7 @@ - hashes: - md5: 22a53da7af7b864f7a4a5b08350c7ade size: 3053027328 - name: Disney-Pixar Cars (Australia) + name: Disney-Pixar Cars (Australia) (v1.00) serial: SLES-53624 version: '1.00' - hashes: @@ -59493,7 +59489,7 @@ - hashes: - md5: 9eee2767fedbea97084b5d4dcf922066 size: 4167434240 - name: Death by Degrees - Tekken - Nina Willams (Japan) + name: Death by Degrees - Tekken - Nina Williams (Japan) serial: SLPS-25422 version: '1.02' - hashes: @@ -59584,6 +59580,7 @@ - md5: ac4bfbd3434f265d9055e9585f6b9aca size: 4694769664 name: Pirates of the Caribbean - The Legend of Jack Sparrow (Europe) (En,Fr,De,Es,It) + (v1.00) serial: SLES-54237 version: '1.00' - hashes: @@ -59620,7 +59617,7 @@ - md5: 07f53d5c0b12f23c93f068b9ac6aa362 size: 2882994176 name: WRC - World Rally Championship (Japan) (En,Ja) - serial: SLPS-25099 + serial: SLPM-74406 version: '1.03' - hashes: - md5: 05d7ab95dbe49f64028ff6f5b6d84437 @@ -59877,7 +59874,7 @@ - hashes: - md5: 1236261d50e79c6db60506fc6fa57ce8 size: 7270531072 - name: Lord of the Rings, The - Futatsu no Tou (Japan) (Collectors Box) + name: Lord of the Rings - Futatsu no Tou (Japan) (Collectors Box) serial: SLPS-29003 version: '1.00' - hashes: @@ -59972,7 +59969,7 @@ - hashes: - md5: 8e02d244cf1746d71c29d9517ced436a size: 3698208768 - name: TimeSplitters - Future Perfect (Europe) (En,Fr,De,Es,It) (Beta) + name: TimeSplitters - Future Perfect (Europe) (En,Fr,De,Es,It) (Beta) (2005-01-07) serial: SLES-52993 version: '1.00' - hashes: @@ -60014,13 +60011,13 @@ - hashes: - md5: d00b8271fd7bdcf64d924325dc8ad6e3 size: 1452834816 - name: Tennis no Oujisama - Saikyou Team o Kessei seyo! (Japan) + name: Tennis no Oujisama - Saikyou Team o Kessei seyo! (Japan) (v2.01) serial: SLPM-66013 version: '2.01' - hashes: - md5: 0d0af64af53f996cd9a7874793fac8f9 size: 8525905920 - name: Gran Turismo Concept - 2002 Tokyo-Geneva (Asia) (En,Zh) + name: Gran Turismo Concept - 2002 Tokyo-Geneva (Asia) (En,Zh) (SCPS-55903) serial: SCPS-55903 version: '1.00' - hashes: @@ -60032,7 +60029,7 @@ - hashes: - md5: 143c5bef00cfd35845b28f97ac4d5a3d size: 761692848 - name: GT Circuit Breaker for Use with GT3 (Europe) (Unl) + name: GT Circuit Breaker for Use with GT3 (UK) (Unl) version: '1.30' - hashes: - md5: 2d0faa719b239176c283f81bba82d31e @@ -60091,7 +60088,7 @@ - hashes: - md5: d748013e94ec702664e7cf94d388183b size: 3837526016 - name: Grand Theft Auto - Vice City (USA) + name: Grand Theft Auto - Vice City (USA) (v4.00) serial: SLUS-20552 version: '4.00' - hashes: @@ -60392,7 +60389,7 @@ - hashes: - md5: 855eaadf3f0b899e05ea1001e95f5c0e size: 761692848 - name: Action Replay 2 V2 (USA) (Disc 1) (Unl) + name: Action Replay 2 V2 (USA) (Disc 1) (Unl) (v2.01) version: '2.01' - hashes: - md5: 5bdbb948474f445872aa55f72c108eeb @@ -60409,7 +60406,7 @@ - hashes: - md5: 11d4a01de9365fc456b577234a1f7314 size: 761692848 - name: Action Replay 2 (USA) (Disc 1) (Unl) + name: Action Replay 2 (USA) (Disc 1) (Unl) (v2.33) version: '2.33' - hashes: - md5: 197238c4235af9ad31337ecb703c6d63 @@ -60450,7 +60447,7 @@ - hashes: - md5: 808a0a02b7fa1a176e6bbf6d13fa094c size: 761692848 - name: Action Replay 2 (USA) (En,Fr,Es,Pt) (Disc 1) (Unl) + name: Action Replay 2 (USA) (En,Fr,Es,Pt) (Disc 1) (Unl) (v2.35) version: '2.35' - hashes: - md5: a0acb2a83c7c29c5f47b97e98f5e8a26 @@ -60461,7 +60458,7 @@ - hashes: - md5: 02aede37b5bee17f1ef479f0925fc203 size: 761692848 - name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v2.21) version: '2.21' - hashes: - md5: 54b84aa092f1abebb46455925cfff065 @@ -60572,7 +60569,7 @@ - hashes: - md5: c113e6727431b976ffb9352a53759870 size: 718702992 - name: GameShark 2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.3) version: '1.3' - hashes: - md5: cc33475a55f61aabf430c5529a6f85b1 @@ -60668,7 +60665,7 @@ - hashes: - md5: 5f1691fbbe65678f8a69980ad00e28a6 size: 761692848 - name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v2.22) version: '2.22' - hashes: - md5: c1323f072ca224b47caea20e13cc615a @@ -60762,7 +60759,7 @@ - hashes: - md5: 2ce68b2818970420b18dd0571df60424 size: 761692848 - name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v2.11) version: '2.11' - hashes: - md5: 7e964b27119adc590228452d42c634b0 @@ -60791,7 +60788,7 @@ - hashes: - md5: aefa2da50b516bf573ba1c6013e94705 size: 4118052864 - name: Spider-Man 3 (USA) + name: Spider-Man 3 (USA) (v2.00) serial: SLUS-21552 version: '2.00' - hashes: @@ -61146,7 +61143,7 @@ - hashes: - md5: db4e68d7099136f35f770c8f259130ee size: 262349136 - name: Kuma Uta (Japan) + name: Kuma Uta (Japan) (v2.01) serial: SCPS-11031 version: '2.01' - hashes: @@ -61447,8 +61444,8 @@ - hashes: - md5: 50bf2b548a3daa77ae256583d31e47a3 size: 620558736 - name: Super Puzzle Bobble 2 (Japan) - serial: SLPM-62229 + name: Super Puzzle Bobble 2 (Japan, Asia) + serial: SCPS-51015 version: '1.03' - hashes: - md5: d644297fb4f7d26f130d6725915c5f8f @@ -61648,7 +61645,7 @@ - hashes: - md5: d7c060fa2a49fe86bcdf8a9cf3cbec21 size: 4665540608 - name: Star Wars - Battlefront II (USA) + name: Star Wars - Battlefront II (USA) (v2.00) serial: SLUS-21240 version: '2.00' - hashes: @@ -61666,7 +61663,7 @@ - hashes: - md5: 3665c22ca35246b3ea715a6d9b8f8906 size: 761692848 - name: Action Replay 2 (USA) (En,Fr,Es,Pt) (Disc 1) (Unl) + name: Action Replay 2 (USA) (En,Fr,Es,Pt) (Disc 1) (Unl) (v2.34) version: '2.34' - hashes: - md5: 6158fb8c86c5749ab27476b2dd3ab52a @@ -61798,7 +61795,7 @@ - hashes: - md5: ffdb72e30bc770b96a131b8857354bce size: 718702992 - name: GameShark 2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.6) version: '1.6' - hashes: - md5: 8a651e217c44b74bbf530ead8a97ee58 @@ -61968,7 +61965,7 @@ - hashes: - md5: 7ebc769407375554c95e1e277728e7dd size: 581332080 - name: Nobunaga no Yabou Online (Japan) (Beta) (2003-02-05) + name: Nobunaga no Yabou Online (Japan) (Beta) (v2.00) (2003-02-05) serial: SLPM-62208 version: '2.00' - hashes: @@ -62098,7 +62095,7 @@ - hashes: - md5: 88782e1d966e6ff000c0bd7eb34ecfcd size: 4058251264 - name: Gran Turismo Concept - 2002 Tokyo-Seoul (Korea) + name: Gran Turismo Concept - 2002 Tokyo-Seoul (Korea) (v1.02) serial: SCPS-56005 version: '1.02' - hashes: @@ -62114,7 +62111,7 @@ - hashes: - md5: 83354371976b92a01159c613feca1347 size: 718702992 - name: GameShark 2 - Video Game Enhancer - V 1.0 (USA) (Unl) + name: GameShark 2 - Video Game Enhancer - V 1.0 (USA) (Unl) (v1.1) version: '1.1' - hashes: - md5: ca1d586d884c8bb3c9ed25f867d89636 @@ -62125,7 +62122,7 @@ - hashes: - md5: ad3e1bc8582d5fea1b7d1d6121c02361 size: 1998258176 - name: Monster Farm 4 (Japan) + name: Monster Farm 4 (Japan) (v1.01) serial: SLPS-73423 version: '1.01' - hashes: @@ -62179,12 +62176,12 @@ - hashes: - md5: 276e3d8fab33a997800d5846fecb1ddf size: 761692848 - name: GameShark 2 V2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 V2 - Video Game Enhancer (USA) (Unl) (v1.99d) version: 1.99d - hashes: - md5: 77f1e2c63d71a4c263a58a3a8df5788d size: 618830016 - name: Dark Angel - Vampire Apocalypse (USA) + name: Dark Angel - Vampire Apocalypse (USA) (v2.01) serial: SLUS-20131 version: '2.01' - hashes: @@ -62268,6 +62265,7 @@ - md5: e95ac909d47574c4b3b48f994aff44f8 size: 2236481536 name: Nickelodeon SpongeBob SquarePants - Battle for Bikini Bottom (Europe, Australia) + (v1.01) serial: SLES-51968 version: '1.01' - hashes: @@ -62430,7 +62428,7 @@ - hashes: - md5: 1444de1b098af281539c69ba8b412495 size: 761692848 - name: GameShark 2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v2.00) version: '2.00' - hashes: - md5: df990bfac2fa78b891bd63974a5f3fda @@ -62544,7 +62542,7 @@ - md5: 0fd004b572b0f3c06fa665a8d0cc3a23 size: 1616576512 name: Sly Cooper - Jeonseolui Bibeobseoreul Chajaseo (Korea) - serial: SCKA-20030 + serial: SCKA-20004 version: '1.00' - hashes: - md5: 9054ff3a7fef52b7068ae8dfcc84355a @@ -62618,7 +62616,7 @@ - hashes: - md5: 8109615aa8dbf8ecc978a9de23ab87c6 size: 32810400 - name: GameShark 2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.7) version: '1.7' - hashes: - md5: 51b9e68481047344c4f1f183da60fc22 @@ -62629,7 +62627,7 @@ - hashes: - md5: 18ae950098f885629c91e87e4d4da353 size: 761692848 - name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v2.12) version: '2.12' - hashes: - md5: cf8579016c4d7b99e98ef63256294ccf @@ -62710,28 +62708,28 @@ - hashes: - md5: d51efc533365cfdc1e2d93841f09e12b size: 761692848 - name: GameShark 2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.91) version: '1.91' - hashes: - md5: 92411306fcb1da3bb354380a5b2c9c5d size: 761692848 - name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v2.03) version: '2.03' - hashes: - md5: 8604cf4349b2e606514f2b15e1a415ac size: 761692848 - name: GameShark 2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.99c) version: 1.99c - hashes: - md5: 84d424945f7d3613904a52dcb1fdb880 size: 761692848 - name: Action Replay Ultimate Codes for Use with Grand Theft Auto - Vice City (USA) - (Unl) + name: 'Action Replay Ultimate Codes for Use with Grand Theft Auto - Vice City (USA) + (Unl) ' version: Rev 1 - hashes: - md5: aab58f54c7fd3cbe34b1fbc1107064cf size: 2235432960 - name: Call of Duty - Finest Hour (USA) + name: Call of Duty - Finest Hour (USA) (v2.02) serial: SLUS-20725 version: '2.02' - hashes: @@ -62749,7 +62747,7 @@ - hashes: - md5: 60c3285ea88451950dae56487d0e1005 size: 761692848 - name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) + name: GameShark 2 V2 - Video Game Enhancer (USA) (En,Fr,Es,Pt) (Unl) (v2.20) version: '2.20' - hashes: - md5: 134c18bd9dabac89e11b3d27107b6b80 @@ -62936,7 +62934,7 @@ - hashes: - md5: 5b6a0ca5f162349f4a180bc4dd342871 size: 1583906816 - name: Gitadora! GuitarFreaks 4th Mix & DrumMania 3rd Mix (Japan) + name: Gitadora! GuitarFreaks 4th Mix & DrumMania 3rd Mix (Japan) (v2.00) serial: SLPM-65052 version: '2.00' - hashes: @@ -63002,7 +63000,7 @@ - hashes: - md5: f577240d72d9cfd317fc47ff2d6e5f2b size: 4478763008 - name: SingStar '80s (Sweden) + name: SingStar '80s (Sweden) (v1.00) serial: SCES-53609 version: '1.00' - hashes: @@ -63032,12 +63030,12 @@ - hashes: - md5: 4efed60f5910246e1dc4e4d4f972455a size: 761692848 - name: StationMaster 02-2002 AR2v2 (Germany) (En,De) (Unl) + name: StationMaster 2-2002 AR2v2 (Germany) (En,De) (Unl) version: '1.2' - hashes: - md5: 9ddbdf9d77a7cf8ae3e5e5e11b521985 size: 761692848 - name: StationMaster 03-2002 AR2v2 (Germany) (En,De) (Unl) + name: StationMaster 3-2002 AR2v2 (Germany) (En,De) (Unl) version: '1.1' - hashes: - md5: d4bfcae2d842e8d6d76e55118ad172a6 @@ -63059,7 +63057,7 @@ - hashes: - md5: 6e03af5873c30e418021553a8832ca42 size: 5314478080 - name: Gran Turismo 4 (USA) + name: Gran Turismo 4 (USA) (v2.00) serial: SCUS-90682 version: '2.00' - hashes: @@ -63526,7 +63524,7 @@ - hashes: - md5: a85c40acf648340933004d95671e75a0 size: 1858371584 - name: Hanakisou (Japan) + name: Hanakisou (Japan) (v2.01) serial: SLPM-66471 version: '2.01' - hashes: @@ -63829,7 +63827,7 @@ - hashes: - md5: 70c564ca30310fc5cd0032ffb3d83cce size: 4312006656 - name: Pro Yakyuu - Netsu Star 2007 (Japan) + name: Pro Yakyuu - Netsusta 2007 (Japan) serial: SLPS-25769 version: '1.01' - hashes: @@ -64156,7 +64154,7 @@ - hashes: - md5: 819d582a18f6fbab39ce61d6398d3c71 size: 761692848 - name: GameShark 2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.8) version: '1.8' - hashes: - md5: 6987913161eb5c121cba8a51a8ff3fac @@ -64173,7 +64171,7 @@ - hashes: - md5: 1574cc59a04313264bcaf0d847cebbf4 size: 761692848 - name: SharkPort - Code and Save Transfer Kit (USA) (Unl) + name: SharkPort - Code and Save Transfer Kit (USA) (Unl) (v1.23) version: '1.23' - hashes: - md5: 7f02d646f9e9480b36c1aaf5368f717a @@ -64321,13 +64319,13 @@ - hashes: - md5: c17d91b5b8c54052de0e70d955ac3a62 size: 169979040 - name: Maximo (Australia) (Demo) + name: Maximo (Europe, Australia) (Demo) serial: SLED-50762 version: '1.01' - hashes: - md5: 86463dff7992a549c3f1aa628494f028 size: 262346784 - name: Kuma Uta (Japan) + name: Kuma Uta (Japan) (v1.01) serial: SCPS-11031 version: '1.01' - hashes: @@ -64542,7 +64540,7 @@ - hashes: - md5: 674552415c8e2e14b4b434e069d81674 size: 469929600 - name: PlayStation BB Navigator - Version 0.10 (Prerelease) (Japan) (Disc 2) + name: PlayStation BB Navigator - Version 0.10 (Prerelease) (Japan) (Disc 2) (SCPN-60110) serial: SCPN-60110 - hashes: - md5: 566f62d61285d1532b8a0b0bf583572b @@ -65048,7 +65046,7 @@ - md5: 004a7d761400ed6f1ec33989092aa3f9 size: 147331632 name: Saikyou Toudai Shougi 3 (Japan) - serial: SLPS-20237 + serial: SLPS-20082 version: '1.04' - hashes: - md5: 66123c890d76f648713fc2dbf0c42414 @@ -65193,7 +65191,7 @@ - hashes: - md5: db2b0c7d46e7f4bb9017dd8a5dc356ba size: 1420460032 - name: Winning Post 7 Maximum 2007 (Japan) + name: Winning Post 7 Maximum 2007 (Japan) (v2.00) serial: SLPM-66702 version: '2.00' - hashes: @@ -65235,7 +65233,7 @@ - hashes: - md5: 41611e79dcf10bde51a9ab12d2210c9a size: 4243259392 - name: Dokapon the World (Japan) + name: Dokapon the World (Japan) (v2.00) serial: SLPM-65750 version: '2.00' - hashes: @@ -65519,7 +65517,7 @@ - hashes: - md5: ba1e9fa9d6744c9aff220bef7361f134 size: 3170304000 - name: Ponkotsu Roman Daikatsugeki - Bumpy Trot (Japan) + name: Ponkotsu Roman Daikatsugeki - Bumpy Trot (Japan) (v1.04) serial: SLPS-25457 version: '1.04' - hashes: @@ -65761,8 +65759,8 @@ - hashes: - md5: 84af7e5547813f9ef1b6176c5e6d48d6 size: 3840638976 - name: K-1 World GP 2006 (Japan) - serial: SLPS-25710 + name: K-1 World GP 2006 (Japan, Korea) + serial: SCKA-20092 version: '1.02' - hashes: - md5: 53e8325a63ff7ee1bc942f1f24cd2371 @@ -65972,6 +65970,7 @@ size: 3768811520 name: Gran Turismo - Subaru Driving Simulator Version (Japan) serial: PCPX-96634 + version: '1.00' - hashes: - md5: 73451f989c6dc44d6da4b58b26d7cb79 size: 723268224 @@ -66287,9 +66286,15 @@ - hashes: - md5: 5b922b2c4316cf273c71cdbf6ea63d67 size: 1976696832 - name: LMA Manager 2005 (Europe) + name: LMA Manager 2005 (Europe) (SLES-53149) serial: SLES-53149 version: '1.00' +- hashes: + - md5: d979220c6c939f113728cbb0282d8b52 + size: 33859392 + name: Karat PS2-you Pro Action Replay PS2-you PAR (Japan) (Unl) (v1.7) + serial: KRT-005 + version: '1.7' - hashes: - md5: 218bece4af99e9ac448684f96b513013 size: 4565762048 @@ -66329,7 +66334,7 @@ - hashes: - md5: 06279ba4d1b4b8f9d6a4a5db5dc39dd4 size: 12853680 - name: EGBrowser (Japan) + name: EGBrowser (Japan) (v1.16) serial: SLPM-62111 version: '1.16' - hashes: @@ -66361,6 +66366,7 @@ size: 3477733376 name: Gran Turismo 4 - Lupo Cup Training Version (Japan) serial: PAPX-90508 + version: '1.01' - hashes: - md5: 9ff896d1b39b7c6076d1f82d7b545db4 size: 3288498176 @@ -66645,7 +66651,7 @@ - hashes: - md5: 121fdef8c286e52c5f5750c10ce21703 size: 2760802304 - name: Ferrari Challenge - Trofeo Pirelli (Europe) (En,Fr,De,Es,It) + name: Ferrari Challenge - Trofeo Pirelli (Europe) (En,Fr,De,Es,It) (v2.00) serial: SLES-55294 version: '2.00' - hashes: @@ -66695,7 +66701,7 @@ - hashes: - md5: a7c99a3fd263ecb3c0c09305cc1c5aa1 size: 4601118720 - name: Dark Chronicle (Japan) + name: Dark Chronicle (Japan) (v2.01) serial: SCPS-19306 version: '2.01' - hashes: @@ -66761,19 +66767,19 @@ - hashes: - md5: 346094aa1a59ff2cd643382985458577 size: 457518096 - name: PrintFan (Japan) + name: PrintFan (Japan) (v2.00) serial: SLPM-62025 version: '2.00' - hashes: - md5: fce4fc8a95ff3d625cf90f9956370dc3 size: 4095836160 - name: Densha de Go! Professional 2 (Japan) + name: Densha de Go! Professional 2 (Japan) (v1.02) serial: SLPM-65243 version: '1.02' - hashes: - md5: 977ac151118482ddf084ab1ee473ac21 size: 1420460032 - name: Winning Post 7 Maximum 2007 (Japan) + name: Winning Post 7 Maximum 2007 (Japan) (v1.01) serial: SLPM-66702 version: '1.01' - hashes: @@ -66803,7 +66809,7 @@ - hashes: - md5: 857ed766c3fc8227704d1f64a6465f22 size: 761692848 - name: Karat PS2-you PAR2 Pro Action Replay 2 Taikenban (Japan) (Unl) + name: Karat PS2-you PAR2 Pro Action Replay 2 Taikenban (Japan) (Unl) (v2.21) version: '2.21' - hashes: - md5: fc92807625e8fdf988085a77e4e95f87 @@ -66838,7 +66844,7 @@ - hashes: - md5: 7e59221e8f20dd3cfbbd8aeaf8c90c14 size: 711237744 - name: Phantom Brave - 2-shuume Hajimemashita. (Japan) + name: Phantom Brave - 2-shuume Hajimemashita. (Japan) (v1.00) serial: SLPS-73108 version: '1.00' - hashes: @@ -67234,7 +67240,7 @@ - hashes: - md5: e465be509f7608e428c006cd8dc31308 size: 761692848 - name: Action Replay - Lite Version (UK) (Unl) + name: Action Replay - Lite Version (UK) (Unl) (02100902) version: '1.30' - hashes: - md5: e70165ac94568c63497651bc3bf658c8 @@ -67472,13 +67478,13 @@ - hashes: - md5: 9b06f86ad2adafc03b6afd52ee180d66 size: 653606688 - name: Mahjong Taikai III - Millennium League (Japan) + name: Mahjong Taikai III - Millennium League (Japan) (v1.30) serial: SLPM-62191 version: '1.30' - hashes: - md5: a8877badbf7bf70c71f57e7ac6898d3c size: 1362231296 - name: Winning Post 7 (Japan) + name: Winning Post 7 (Japan) (v1.00) serial: SLPM-66811 version: '1.00' - hashes: @@ -67490,7 +67496,7 @@ - hashes: - md5: 277defd81c31077a961992a76534cdab size: 1858371584 - name: Hanakisou (Japan) + name: Hanakisou (Japan) (v1.01) serial: SLPM-66471 version: '1.01' - hashes: @@ -67854,7 +67860,7 @@ - hashes: - md5: 2ccb78e904c90c41f5ce221bcc93c8de size: 718702992 - name: Playable Cheats Vol. 21 (UK) (Unl) (04081101) + name: Playable Cheats Vol. 21 (UK, Australia) (Unl) (04081101) version: 1.00 (European) - hashes: - md5: 3fa7842bbe16d6726b46b62f87500f62 @@ -67889,7 +67895,7 @@ - hashes: - md5: cdde1d64ac5ac120fbb6bb41b7411933 size: 761692848 - name: Action Replay Ultimate Cheats Fast & Furious (Europe) (Unl) + name: Action Replay Ultimate Cheats Fast & Furious (UK) (Unl) version: FAST_FU EUROPE - hashes: - md5: f74e740357ed83cfe7c5e2971cf0c1e2 @@ -67935,7 +67941,7 @@ name: P2 Cheats - Volume 19 (UK) (Unl) version: 1.00 beta (European) - hashes: - - md5: 5202aeb8bfa1d040e88db89b15b0c7a4 + - md5: f892cb33ef6911fab8ff2640cf0cefa0 size: 718702992 name: PSi2 15 (Germany) (Unl) version: 1.00 (European) @@ -68023,7 +68029,7 @@ - hashes: - md5: 5af1aba9170e773f5fa3d785224753ca size: 592642048 - name: Jonny Moseley Mad Trix (Europe) (DVD Preview) + name: Jonny Moseley Mad Trix (Europe) (Beta) (2001-12-17) serial: SLES-50362 version: '1.00' - hashes: @@ -68277,7 +68283,7 @@ - hashes: - md5: e9c1c2538af3ddff87f8e3fadd15e504 size: 4362469376 - name: Neo Atlas III (Japan) + name: Neo Atlas III (Japan) (v1.00) serial: SLPS-25016 version: '1.00' - hashes: @@ -68301,12 +68307,12 @@ - hashes: - md5: a51ca5aca433700bcdef118772d52624 size: 718702992 - name: GameShark 2 - Video Game Enhancer (USA) (Unl) + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.2) version: '1.2' - hashes: - md5: ab659235456ff67be77714eb8c34f892 size: 4453662720 - name: WWE SmackDown vs. Raw 2007 (USA) + name: WWE SmackDown vs. Raw 2007 (USA) (v2.01) serial: SLUS-21427 version: '2.01' - hashes: @@ -68353,7 +68359,7 @@ - hashes: - md5: f063b1563d194a82fc5f5669c4676ac7 size: 761692848 - name: GameShark 2 - Video Game Enhancer - Version 2 Lite (USA) + name: GameShark 2 - Video Game Enhancer - Version 2 Lite (USA) (Unl) version: '2.13' - hashes: - md5: 4da29291047492ee17e1e3e9fcff58d1 @@ -68364,7 +68370,7 @@ - hashes: - md5: 2e05c350ae460e2388a9f5a06552a917 size: 761692848 - name: Action Replay Ultimate Cheats for WWF SmackDown! Just Bring It (Europe) (Unl) + name: Action Replay Ultimate Cheats for WWF SmackDown! Just Bring It (UK) (Unl) version: '1.2' - hashes: - md5: a5960170dfae5748751833ca58aa4f2c @@ -68715,3 +68721,623 @@ name: RedCard (Europe) (Demo) serial: SLED-50931 version: '1.00' +- hashes: + - md5: 3543dbe7f0badee6eb93eeb399abc79f + size: 761692848 + name: Action Replay - Lite Version (UK) (Unl) (02122301) + version: PLAYTV_03 EUROPE +- hashes: + - md5: 0f84fc3ee4dd86ced9f0462fdfbaa271 + size: 761692848 + name: Xtreme Cheats (UK) (Unl) (02112901) + version: DIXONS 01 EUROPE +- hashes: + - md5: 1dce0a29590af1c98bea097697daf577 + size: 3134357504 + name: 2002 FIFA World Cup (Asia) + serial: SLPM-65099 + version: '1.00' +- hashes: + - md5: 9b7e6b19313f3f9bf1decc68d42bddc3 + size: 718702992 + name: Cyber PS2-you Pro Action Replay 3 (Japan) (Unl) (v3.33) + version: 3.33 (Japanese) +- hashes: + - md5: 369bb32086e7977fcdd0f285f6f12239 + size: 1262387200 + name: Ratchet & Clank 2 (Europe) (En,Fr,De,Es,It) (Demo) + serial: SCED-51878 + version: '1.00' +- hashes: + - md5: b2a4acdd9248369b87b4375f38fa831a + size: 2831319040 + name: Sly Cooper 2 - Goedo Brothers Daejakjeon! (Korea) + serial: SCKA-20044 + version: '1.01' +- hashes: + - md5: 24d6566db6f522f2e78c0eaf593dd66c + size: 3507421184 + name: Sly Cooper 3 - Choehu-ui Daedo (Korea) + serial: SCKA-20063 + version: '1.00' +- hashes: + - md5: 4d21c43bc97bdd83cb7583491612a53e + size: 761692848 + name: Karat PS2-you Pro Action Replay 2 (Japan) (Unl) (v2.25) + version: 2.25 JAPAN +- hashes: + - md5: 649a3b03008e36f6efc7548b89a9607a + size: 646524816 + name: CodeBreaker (USA) (Unl) (v9.3) + version: '9.3' +- hashes: + - md5: 9042831ec817b742ec951089843bd1ec + size: 2882240512 + name: Blazing Souls (Korea) + serial: SLKA-25384 + version: '1.01' +- hashes: + - md5: 5961d4db40dfeab9ed31d068298fdd3f + size: 4676583424 + name: Crimson Sea 2 (Korea) + serial: SLKA-25155 + version: '1.00' +- hashes: + - md5: 979352022ea70e6ab30e06e9e31a06da + size: 3223126016 + name: Mobile Suit Gundam - Lost War Chronicles (Korea) + serial: SLKA-25035 + version: '1.00' +- hashes: + - md5: 4cfeaf8f46dd2b25ae0b47f2b4b0557f + size: 1440382976 + name: One Piece - Grand Adventure (Korea) + serial: SLKA-25388 + version: '1.00' +- hashes: + - md5: f53b1e45f58c32d0caf1bf000728dfce + size: 1388249088 + name: Real Bass Fishing - Top Angler (Korea) + serial: SLKA-25034 + version: '1.02' +- hashes: + - md5: d5e6d2a96d680b81a70a03e7f6b967e2 + size: 3444375552 + name: Rumble Roses (Korea) + serial: SLKA-25234 + version: '1.01' +- hashes: + - md5: b109eb3b6982d3bfeef8551f224e1bc3 + size: 3289645056 + name: Samurai Champloo (Korea) + serial: SLKA-25360 + version: '1.00' +- hashes: + - md5: a0bb369cab7ec114f072390d9752c522 + size: 330740592 + name: WinBack (Korea) + serial: SLPM-64502 + version: '1.01' +- hashes: + - md5: df02a031a5cd37500218419f77913d22 + size: 750130416 + name: Medio Digital Media Player (Europe) (Unl) + version: 2.2.0.146 +- hashes: + - md5: bf5e245371284bf6461ce51cd378bcd2 + size: 1231945728 + name: DJ - Decks & FX - Live Session - Privilege Maxiclubbing Edition (Spain) (Demo) + serial: SCED-52881 + version: '1.00' +- hashes: + - md5: 1cafc369643a9ca91fb7fc19b627270a + size: 3911745536 + name: Batman - Rise of Sin Tzu (Korea) + serial: SLKA-25102 + version: '1.01' +- hashes: + - md5: e6a986805ab710b3686309dc93c915e0 + size: 4683268096 + name: NBA Live 08 (Korea) + serial: SLKA-25404 + version: '1.00' +- hashes: + - md5: 4269db0069214f0496b9d3a3bd8ea269 + size: 1439137792 + name: Neo Contra (Korea) + serial: SLKA-25227 + version: '1.00' +- hashes: + - md5: 1e8ea02c1e90295d9cc589a104cd8ade + size: 1750499328 + name: Disney's Chicken Little (Korea) + serial: SLKA-25345 + version: '1.00' +- hashes: + - md5: 2fb950a8fe1bae24cc62e09e51526c37 + size: 5573115904 + name: Gran Turismo 4 (Europe) (Beta) (2005-01-18) + serial: SCES-51719 +- hashes: + - md5: fc5904cdf8c55e89de1191a326ed9ae1 + size: 761692848 + name: CD avec les Codes Exclusifs et Inedits de Grand Theft Auto - Vice City (France) + (Unl) + version: '1.30' +- hashes: + - md5: d6a4fd6ef12b96cc44dca7ab1942e83a + size: 408450672 + name: Simple 2000 Series - The Suyeongdaehoe (Korea) + serial: SLKA-15042 + version: '1.01' +- hashes: + - md5: a764f486a7fb5177b2341944be8a0908 + size: 718702992 + name: Playable Cheats Vol. 3 (Australia) (Unl) + version: 1.00 (European) +- hashes: + - md5: 24a2994de2c6250fb043eeb74da42163 + size: 718702992 + name: Playable Cheats Vol. 4 (Australia) (Unl) + version: 1.00 (European) +- hashes: + - md5: c4a226e576453610d68e0d51a0bd590e + size: 761692848 + name: Action Replay Ultimate Cheats for Metal Gear Solid 2 (UK) (Unl) + version: '1.1' +- hashes: + - md5: c54c7c984cbb23cafe003f32c6ad000b + size: 3366912000 + name: Energy Airforce - Aim Strike! (Korea) + serial: SLKA-25181 + version: '1.03' +- hashes: + - md5: e78bbeb2bdd1042ce29ef5f8fc9c1a65 + size: 3937730560 + name: Natural 2 - Duo - Sakura-iro no Kisetsu (Japan) (DX Pack) + serial: SLPM-65771 + version: '1.01' +- hashes: + - md5: 57ced25b4846ba4c505f8e5f88fe536c + size: 1583185920 + name: Shuffle! On the Stage (Japan) (DX Pack) + serial: SLPM-66133 + version: '1.01' +- hashes: + - md5: 91fe0a5262fdebf6b71f1cc625e81435 + size: 3353640960 + name: EyeToy - Kinetic (Europe) (En,Fr,De,Es,It,Pt,No) (Beta) (2005-07-05) + serial: SCES-52883 + version: '1.00' +- hashes: + - md5: 91f131976528cf905446f26d15f58ee3 + size: 1437204480 + name: Enthusia - Professional Racing (Italy) (Demo) + serial: SLED-53337 + version: '1.00' +- hashes: + - md5: 25db496631ac4c9cf6a8bf0a1e504590 + size: 3504799744 + name: Area 51 (Europe) (En,Fr,De,Es,It) (v2.00) + serial: SLES-52570 + version: '2.00' +- hashes: + - md5: 40b725064af65cdb40c9da26a04b09a0 + size: 761692848 + name: GameShark 2 - Video Game Enhancer (USA) (Unl) (v1.9) + version: '1.9' +- hashes: + - md5: c99ba3f41aebf748e3e445680c3ed45d + size: 761692848 + name: Xtreme Cheats - Volume 02 (UK) (Unl) + version: '1.1' +- hashes: + - md5: fa52e90638ded42c206a3ad5e12b76a0 + size: 718702992 + name: PlayStation 2 Cheats - Volume 11 (UK) (Unl) +- hashes: + - md5: a7d5efba3aa31d3d2b9e264673dd9f46 + size: 718702992 + name: PlayStation 2 Cheats - Volume 13 (UK) (Unl) + version: 1.00 beta (European) +- hashes: + - md5: a2fc048c324333e04ead4cf73fe60df0 + size: 718702992 + name: Action Replay Ultimate Cheats for Use with Medal Of Honor - Rising Sun (UK) + (Unl) + version: 1.00 (European) +- hashes: + - md5: 783e1a31ec3151298cbb3b170dd4d481 + size: 761692848 + name: Action Replay Ultimate Cheats for Tony Hawk's Pro Skater 3 (UK) (Unl) + version: '1.2' +- hashes: + - md5: 27665bb0058def8c08787f0ba817cddf + size: 761692848 + name: Xtreme Cheats - Volume 01 (UK) (Unl) + version: '1.30' +- hashes: + - md5: 6fd777593454211c4b0a6b1b8961c2a9 + size: 718702992 + name: Action Replay Red Hot Codes for Use with Burnout 3 (UK) (Unl) +- hashes: + - md5: 7d9041d61dc878b531398d318b85bf7f + size: 718702992 + name: Action Replay Ultimate Cheats for Use with Prince Of Persia - The Sands Of + Time (UK) (Unl) + version: 1.00 (European) +- hashes: + - md5: 7c1423ec92c080b6149585bc1b741f84 + size: 761692848 + name: Action Replay Ultimate Cheats for Use with The Lord of the Rings - The Two + Towers (UK) (Unl) + version: '1.30' +- hashes: + - md5: 51dfeae0350dc7a67a18b24ad1432fb6 + size: 761692848 + name: Action Replay Ultimate Cheats for Use with Soul Calibur II (UK) (Unl) + version: 1.00 (European) +- hashes: + - md5: 1f2ba6e270df0e987f7470f2a3281cdc + size: 761692848 + name: Action Replay Ultimate Cheats for Grand Theft Auto III (UK) (Unl) + version: '14' +- hashes: + - md5: c5c1698cab947ebe7ad5cdc5bd37f5ea + size: 761692848 + name: Action Replay Ultimate Cheats for Use with Stuntman (UK) (Unl) + version: '1.30' +- hashes: + - md5: b15e2a58875a0f2b92f5264487cdace9 + size: 1292894208 + name: Bloody Roar 4 (Korea) + serial: SLKA-25130 + version: '1.00' +- hashes: + - md5: 379ac355ae145eb1d047a9a72445018c + size: 4140924928 + name: Urban Reign (Korea) + serial: SCKA-20065 + version: '1.00' +- hashes: + - md5: 25ad097ef92e275e0fe091154c9d0079 + size: 731740128 + name: Choeyugi Reload Gunlock (Korea) + serial: SLKA-15035 + version: '1.01' +- hashes: + - md5: 80e81ef7351286fbfa6cee754265fff0 + size: 141270528 + name: Tengai Premium Package (Korea) + serial: SLKA-15037 + version: '1.00' +- hashes: + - md5: 34edce098483358beed5e1709f930f27 + size: 718627728 + name: Geunyukman Generations (Korea) + serial: SLKA-15034 + version: '1.01' +- hashes: + - md5: 49eeaa5bec61ffcc4729acf3e8b969ac + size: 1385562112 + name: Metal Slug 4 (Korea) + serial: SLKA-25287 + version: '1.01' +- hashes: + - md5: bffe1559f84e97dbfb1513d09d8c0b05 + size: 1421377536 + name: Metal Slug 5 (Korea) + serial: SLKA-25288 + version: '1.01' +- hashes: + - md5: 5cc540f2eda81e78e55eba1ffda0cd2a + size: 1287159808 + name: Monster House (Korea) + serial: SCKA-20084 + version: '1.00' +- hashes: + - md5: c5627016f37c03a59600d50881cee597 + size: 3613425664 + name: NHL 2003 (Korea) + serial: SLPM-67530 + version: '1.01' +- hashes: + - md5: 1319bdbfc474d06009eb68be06ee8558 + size: 4244504576 + name: Pump It Up - Exceed (Korea) (En,Ko) + serial: SLKA-25176 + version: '1.00' +- hashes: + - md5: e38450c27207919459ee2a897ef29494 + size: 222724096 + name: Capcom vs. SNK 2 - Mark of the Millennium 2001 (Korea) + serial: SLPM-67517 + version: '1.01' +- hashes: + - md5: 6a7b777295e33ac2c2af4686fbd7a2b0 + size: 3694231552 + name: Chains of Power (Korea) + serial: SLKA-25291 + version: '1.00' +- hashes: + - md5: 534000a35cb2f387a07d59f95f99fc4c + size: 4166582272 + name: Death by Degrees - Tekken - Nina (Korea) + serial: SCKA-20039 + version: '1.00' +- hashes: + - md5: 709a743b3cc3abd7bde9b5a079007356 + size: 840105984 + name: Disney's Tarzan - Untamed (Korea) (En,Fr) + serial: SLPM-67520 + version: '1.00' +- hashes: + - md5: 9c64e316b2fbdb90a374b8c714666c58 + size: 2360999936 + name: Evil Dead - Regeneration (Korea) + serial: SLKA-25306 + version: '1.00' +- hashes: + - md5: 42670adf6a3097f9e27170cd0be10acc + size: 4698734592 + name: FIFA 11 (Korea) (En,Fr,Es) + serial: SLKA-25475 + version: '1.00' +- hashes: + - md5: 52155c46a82fd309bb8979b3b94277ca + size: 3867377664 + name: Prince of Persia - Warrior Within (Korea) (En,Fr,Es) + serial: SLKA-25247 + version: '1.00' +- hashes: + - md5: 2263950c1586b3bafe82cd1b7bd11b69 + size: 3269066752 + name: Street Fighter Anniversary Collection (Korea) (En,Ja) + serial: SLKA-25183 + version: '1.00' +- hashes: + - md5: 0abd9ab7ddd39b484d6c6165db3cac99 + size: 4584767488 + name: Yonggwa Gachi 2 (Korea) (Disc 1) + serial: SLKA-25280 + version: '1.00' +- hashes: + - md5: cc06c64fdfae762bb10836e9f2da56ed + size: 4501766144 + name: Yonggwa Gachi 2 (Korea) (Disc 2) + serial: SLKA-25281 + version: '1.00' +- hashes: + - md5: 42a6f41d046be7d8e88901b3928cf792 + size: 3723558912 + name: Ikki Tousen - Shining Dragon (Japan) (Gentei Bakuretsu Pack) + serial: SLPS-25797 + version: '1.01' +- hashes: + - md5: 5d86c28562ca715de28d316af0a52e7a + size: 133165536 + name: Ikki Tousen! Sekiheki Daitobibako Enbu (Japan) + serial: SLPS-20498 + version: '1.01' +- hashes: + - md5: d3fa01ee25187c64e4761ac962b03657 + size: 4438327296 + name: Dark Cloud 2 (USA) (Beta) (2003-01-06) + version: '1.00' +- hashes: + - md5: 2d884a6975537044c8bb9abc9d857c13 + size: 761692848 + name: Mega Memory (USA) (Unl) (Version 2.21) + version: '2.21' +- hashes: + - md5: 6f6837053d32f03f656811c3224c85de + size: 1854668800 + name: DreamWorks Bee Movie Game (USA, Canada) (En,Fr) + serial: SLUS-21695 + version: '1.01' +- hashes: + - md5: 946cc183cd5ba1356e3ba74ccd512300 + size: 761692848 + name: Memory Manager Plus (USA) (Unl) (Version 2.10) + version: '2.10' +- hashes: + - md5: 6a017d49786ea50300499f5d074a36d5 + size: 4357783552 + name: SingStar Mallorca Party (Germany) (v2.00) + serial: SCES-55489 + version: '2.00' +- hashes: + - md5: 40e97584fd9ad34bf4aca6520834f5bf + size: 1250983936 + name: Mononoke Imullok (Korea) + serial: SLKA-25123 + version: '1.02' +- hashes: + - md5: 62a895e2d9a5d658853e9c2798a361cb + size: 495373536 + name: F1 Career Challenge (Korea) (En,Fr,De) + serial: SLKA-15019 + version: '1.00' +- hashes: + - md5: a6152fb9f7ee689adb69ef36b0ab03b1 + size: 3945037824 + name: WWE SmackDown vs. Raw 2010 (Korea) + serial: SLKA-25463 + version: '1.00' +- hashes: + - md5: fd7521760bb53e41749daa02e177e32a + size: 4194926592 + name: UEFA Champions League 2004-2005 (Europe) (Demo) + serial: SLED-53085 + version: '1.00' +- hashes: + - md5: 652ec663d6e576950a8b5e1b0f6029da + size: 751993200 + name: PS2 Seizou Kensa DISC3 CD-ROM Ver. 5.40 (EU ban) (Europe) + serial: PEPX-10011 + version: '5.40' +- hashes: + - md5: b1a91a68819d17b6fd3dcc27733b87a7 + size: 14408352 + name: Sengoku Musou & Sengoku Musou - Moushouden Saikyou Data (Japan) + serial: SLPM-62716 + version: '1.00' +- hashes: + - md5: 88f8b58f9795184c9b4ba19df9dee1e5 + size: 761692848 + name: Karat PS2-you Pro Action Replay PS2-you PAR (Japan) (Unl) (v1.9) + serial: KRT-005 + version: '1.9' +- hashes: + - md5: b81e1a332954fee352945dffac9a23ca + size: 3725557760 + name: Third Plac3, The - Demo 2002 (Europe) + serial: SCED-50943 +- hashes: + - md5: ffcdb29fd218555e2b377091c000323e + size: 2532507648 + name: Gunparade Orchestra - Midori no Shou - Ookami to Kare no Shounen (Japan) (Genteiban) + serial: SCPS-15107 + version: '1.00' +- hashes: + - md5: 643f2f25d37cdeb37e2fa0f5d6a52e17 + size: 1385562112 + name: Hoshi no Furu Toki (Japan) (Genteiban) + serial: SLPM-66106 + version: '1.01' +- hashes: + - md5: d320070d2706931982234d01f01d80f1 + size: 1423540224 + name: Itsuka, Todoku, Ano Sora ni. - You no Michi to Hi no Tasogare to (Japan) (Genteiban) + serial: SLPM-66857 + version: '1.01' +- hashes: + - md5: 55aa4f77e464d7049f1b6cb62ee81406 + size: 2296774656 + name: Mai-HiME - Unmei no Keitouju (Japan) (DX Pack) + serial: SLPS-25507 + version: '1.01' +- hashes: + - md5: 20765a44124ff87e1913b6896dbceb6c + size: 1440612352 + name: Princess Princess - Hime-tachi no Abunai Houkago (Japan) (Shokai Genteiban) + serial: SLPS-25693 + version: '1.01' +- hashes: + - md5: 817bf960d1f6aabc7a120da2dfba4324 + size: 3025600512 + name: Shinten Makai - Generation of Chaos IV (Japan) (Genteiban) + serial: SLPM-65571 + version: '1.02' +- hashes: + - md5: 9fff3826dfb75fe866cc250cdf3cab87 + size: 33476016 + name: Action Replay Ultimate Cheats for Metal Gear Solid 2 (France) (Unl) + version: '1.3' +- hashes: + - md5: 1ecaa8019eb44cac091cff42e61feb95 + size: 718702992 + name: Action Replay Ultimate Cheats fuer Grand Theft Auto - San Andreas (Germany) + (Unl) + version: 1.00 (European) +- hashes: + - md5: 44e6666c3eab03bcdf598c94e036a207 + size: 718702992 + name: Action Replay Ultimate Cheats fuer Metal Gear Solid 3 - Snake Eater (Germany) + (Unl) + version: 1.00 (European) +- hashes: + - md5: 72dc539006685b7dbae7e284fbae4714 + size: 1331003392 + name: GI Jockey 4 2007 (Japan) + serial: SLPM-66888 + version: '1.02' +- hashes: + - md5: 2222e2bf9ecc3de8e5367d16312bc6ed + size: 718702992 + name: Action Replay Max (USA) (US PS2 Memory Utility) (Unl) + version: 1.38 (American) +- hashes: + - md5: 57048388a05e378ce3f840bea4d14b11 + size: 539939232 + name: U - Underwater Unit (Korea) (Cheheompan) + serial: SCKA-90001 + version: '1.00' +- hashes: + - md5: 0ddc276a235587e731a9f5e8cb544cbc + size: 2706472960 + name: Wild Arms - Advanced 3rd (Japan) (v2.00) + serial: SCPS-19323 + version: '2.00' +- hashes: + - md5: c90ca3ca4175866b689f178eedd0e869 + size: 1727889408 + name: Shoujo Yoshitsune-den Ni - Toki o Koeru Chigiri (Japan) + serial: SLPM-65989 + version: '1.02' +- hashes: + - md5: 6905874bbb6167417bac324464d70d28 + size: 541969008 + name: Momotarou Dentetsu 15 - Godai Bombee Toujou! no Maki (Japan) (v1.01) + serial: SLPM-62702 + version: '1.01' +- hashes: + - md5: d5b1dfcc11e5a748386127a15f137439 + size: 4236935168 + name: Snow (Japan) + serial: SLPS-25342 + version: '1.02' +- hashes: + - md5: e2cac186976db2fb7c9189b53ac7761d + size: 3412459520 + name: We Are- (Japan) + serial: SLPM-66449 + version: '1.00' +- hashes: + - md5: a98adb1cb754d18023be0e692e3700b0 + size: 4129292288 + name: ToraCap! Daash!! (Japan) + serial: SLPM-65302 + version: '1.01' +- hashes: + - md5: ae029f3c897ab82f0b77cf5b19824b41 + size: 3977543680 + name: Festa!! Hyper Girls Party (Japan) + serial: SLPM-66435 + version: '1.01' +- hashes: + - md5: b3e6519b26467c5b47f6ab1b2df667fd + size: 1303314432 + name: Asobi ni Iku yo! Chikyuu Pinch no Kon'yaku Sengen (Japan) + serial: SLPM-66457 + version: '1.01' +- hashes: + - md5: 1cd12f11508f8a08b095d6001eb121ca + size: 1506607104 + name: Homemaid - Tsui no Yakata (Japan) (Shokai Genteiban) + serial: SLPM-65962 + version: '1.01' +- hashes: + - md5: 32f7504e4912228e9730519852504d4a + size: 2605842432 + name: White Breath - Kizuna (Japan) (Genteiban) + serial: SLPM-66606 + version: '1.01' +- hashes: + - md5: 950783ce0723d41ff7aa46659a6eafbc + size: 4492853248 + name: Magical Tale - Chiicha na Mahoutsukai (Japan) (Shokai Genteiban) + serial: SLPM-65964 + version: '1.01' +- hashes: + - md5: 48ceadd792c053fa4dd460f8450e1c3a + size: 821100544 + name: Kindan no Pet - Seaman - Gasse Hakase no Jikken-tou (Japan) + serial: SLPS-25066 + version: '1.02' +- hashes: + - md5: 656005a5b7ddb5d317e2dc48c62fbe85 + size: 1562869760 + name: Quilt - Anata to Tsumugu Yume to Koi no Dress (Japan) + serial: SLPM-66735 + version: '1.02' diff --git a/bin/resources/fonts/promptfont.otf b/bin/resources/fonts/promptfont.otf index bd22d40440a96..3b5f18b95e5a5 100644 Binary files a/bin/resources/fonts/promptfont.otf and b/bin/resources/fonts/promptfont.otf differ diff --git a/bin/resources/game_controller_db.txt b/bin/resources/game_controller_db.txt index fd195b0b18caf..6667a04ecf9f8 100644 --- a/bin/resources/game_controller_db.txt +++ b/bin/resources/game_controller_db.txt @@ -325,7 +325,7 @@ 030000000d0f0000c100000000000000,Horipad Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, 030000000d0f0000f600000000000000,Horipad Nintendo Switch Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, 030000000d0f00006700000000000000,Horipad One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, -030000000d0f00009601000000000000,Horipad Steam,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,misc1:b2,paddle1:b15,paddle2:b5,paddle3:b19,paddle4:b18,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +030000000d0f00009601000000000000,Horipad Steam,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,misc2:b2,paddle1:b5,paddle2:b15,paddle3:b18,paddle4:b19,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, 030000000d0f0000dc00000000000000,Horipad Switch,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, 03000000242e00000b20000000000000,Hyperkin Admiral N64 Controller,+rightx:b11,+righty:b13,-rightx:b8,-righty:b12,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b14,leftx:a0,lefty:a1,rightshoulder:b5,start:b9,platform:Windows, 03000000242e0000ff0b000000000000,Hyperkin N64 Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a2,righty:a3,start:b9,platform:Windows, @@ -1324,9 +1324,11 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 030000000d0f00008501000015010000,Hori Switch Split Pad Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000000d0f00006e00000011010000,Horipad 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000000d0f00006600000011010000,Horipad 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Linux, -030000000d0f0000ee00000011010000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f0000ee00000011010000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, 030000000d0f0000c100000011010000,Horipad Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000000d0f00006700000001010000,Horipad One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000000d0f0000ab01000011010000,Horipad Steam,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc2:b2,paddle1:b19,paddle2:b18,paddle3:b15,paddle4:b5,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +050000000d0f00009601000091000000,Horipad Steam,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc2:b2,paddle1:b19,paddle2:b18,paddle3:b15,paddle4:b5,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, 050000000d0f0000f600000001000000,Horipad Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, 03000000341a000005f7000010010000,HuiJia GameCube Controller Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Linux, 05000000242e00000b20000001000000,Hyperkin Admiral N64 Controller,+rightx:b11,+righty:b13,-rightx:b8,-righty:b12,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b14,leftx:a0,lefty:a1,rightshoulder:b5,start:b9,platform:Linux, @@ -1500,6 +1502,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 030000006f0e0000ef02000007640000,PDP Xbox Series Kinetic Wired Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 03000000c62400000053000000010000,PowerA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 03000000c62400003a54000001010000,PowerA 1428124-01,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d62000000540000001010000,PowerA Advantage Xbox Series X Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 03000000d620000011a7000011010000,PowerA Core Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 03000000dd62000015a7000011010000,PowerA Fusion Nintendo Switch Arcade Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 03000000d620000012a7000011010000,PowerA Fusion Nintendo Switch Fight Pad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, @@ -1609,6 +1612,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 03000000a30600001005000000010000,Saitek P150,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b7,lefttrigger:b6,rightshoulder:b2,righttrigger:b5,x:b3,y:b4,platform:Linux, 03000000a30600000701000000010000,Saitek P220,a:b2,b:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,x:b0,y:b1,platform:Linux, 03000000a30600000cff000010010000,Saitek P2500 Force Rumble,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b0,y:b1,platform:Linux, +03000000a30600000d5f000010010000,Saitek P2600,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Linux, 03000000a30600000c04000011010000,Saitek P2900,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b12,x:b0,y:b3,platform:Linux, 03000000a306000018f5000010010000,Saitek P3200 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Linux, 03000000300f00001201000010010000,Saitek P380,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux, @@ -1624,7 +1628,6 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 03000000790000001100000011010000,Sega Saturn,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b4,start:b9,x:b0,y:b3,platform:Linux, 03000000790000002201000011010000,Sega Saturn,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux, 03000000b40400000a01000000010000,Sega Saturn,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Linux, -030000001f08000001e4000010010000,SFC Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux, 03000000632500002305000010010000,ShanWan Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, 03000000632500002605000010010000,Shanwan Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, 03000000632500007505000010010000,Shanwan Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, @@ -1661,6 +1664,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2, 05000000110100001914000009010000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, 03000000ad1b000038f0000090040000,Street Fighter IV Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000003b07000004a1000000010000,Suncom SFX Plus,a:b0,b:b2,back:b7,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b9,righttrigger:b5,start:b8,x:b1,y:b3,platform:Linux, +030000001f08000001e4000010010000,Super Famicom Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux, 03000000666600000488000000010000,Super Joy Box 5 Pro,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux, 0300000000f00000f100000000010000,Super RetroPort,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Linux, 030000008f0e00000d31000010010000,SZMY Power 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, diff --git a/bin/resources/shaders/common/fxaa.fx b/bin/resources/shaders/common/fxaa.fx index 5f0f84c404e2e..5b01f48efa86d 100644 --- a/bin/resources/shaders/common/fxaa.fx +++ b/bin/resources/shaders/common/fxaa.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifndef FXAA_HLSL diff --git a/bin/resources/shaders/dx11/convert.fx b/bin/resources/shaders/dx11/convert.fx index 241b7a307d0f3..ddcd70e5ae621 100644 --- a/bin/resources/shaders/dx11/convert.fx +++ b/bin/resources/shaders/dx11/convert.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ struct VS_INPUT diff --git a/bin/resources/shaders/dx11/imgui.fx b/bin/resources/shaders/dx11/imgui.fx index 71e8637cdcd59..bde3fc16dab5a 100644 --- a/bin/resources/shaders/dx11/imgui.fx +++ b/bin/resources/shaders/dx11/imgui.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ cbuffer vertexBuffer : register(b0) diff --git a/bin/resources/shaders/dx11/interlace.fx b/bin/resources/shaders/dx11/interlace.fx index 98da6c21af6a8..8a77922290a75 100644 --- a/bin/resources/shaders/dx11/interlace.fx +++ b/bin/resources/shaders/dx11/interlace.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ Texture2D Texture; diff --git a/bin/resources/shaders/dx11/merge.fx b/bin/resources/shaders/dx11/merge.fx index 572419e297bef..c84b753edcfea 100644 --- a/bin/resources/shaders/dx11/merge.fx +++ b/bin/resources/shaders/dx11/merge.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ Texture2D Texture; diff --git a/bin/resources/shaders/dx11/present.fx b/bin/resources/shaders/dx11/present.fx index 593a222946657..da1b82d0df18a 100644 --- a/bin/resources/shaders/dx11/present.fx +++ b/bin/resources/shaders/dx11/present.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ struct VS_INPUT diff --git a/bin/resources/shaders/dx11/shadeboost.fx b/bin/resources/shaders/dx11/shadeboost.fx index 44423ed1e005c..e9911d203d42f 100644 --- a/bin/resources/shaders/dx11/shadeboost.fx +++ b/bin/resources/shaders/dx11/shadeboost.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ Texture2D Texture; diff --git a/bin/resources/shaders/dx11/tfx.fx b/bin/resources/shaders/dx11/tfx.fx index b425368d9fb41..7a722cdca1e61 100644 --- a/bin/resources/shaders/dx11/tfx.fx +++ b/bin/resources/shaders/dx11/tfx.fx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define FMT_32 0 diff --git a/bin/resources/shaders/opengl/convert.glsl b/bin/resources/shaders/opengl/convert.glsl index 5362c0ef036e0..b4c0d5272105e 100644 --- a/bin/resources/shaders/opengl/convert.glsl +++ b/bin/resources/shaders/opengl/convert.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for editor detection diff --git a/bin/resources/shaders/opengl/imgui.glsl b/bin/resources/shaders/opengl/imgui.glsl index c05ea9fa06b38..8acc309504ac1 100644 --- a/bin/resources/shaders/opengl/imgui.glsl +++ b/bin/resources/shaders/opengl/imgui.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef VERTEX_SHADER diff --git a/bin/resources/shaders/opengl/interlace.glsl b/bin/resources/shaders/opengl/interlace.glsl index 4e95d29ff0782..8217edee8cb9a 100644 --- a/bin/resources/shaders/opengl/interlace.glsl +++ b/bin/resources/shaders/opengl/interlace.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for editor detection diff --git a/bin/resources/shaders/opengl/merge.glsl b/bin/resources/shaders/opengl/merge.glsl index f28ff46d40acd..56b243e15436e 100644 --- a/bin/resources/shaders/opengl/merge.glsl +++ b/bin/resources/shaders/opengl/merge.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for editor detection diff --git a/bin/resources/shaders/opengl/present.glsl b/bin/resources/shaders/opengl/present.glsl index 301f158368d0a..4ba45cd967fcf 100644 --- a/bin/resources/shaders/opengl/present.glsl +++ b/bin/resources/shaders/opengl/present.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for editor detection diff --git a/bin/resources/shaders/opengl/shadeboost.glsl b/bin/resources/shaders/opengl/shadeboost.glsl index 3499ad6e966cc..19abb3cbe5d0f 100644 --- a/bin/resources/shaders/opengl/shadeboost.glsl +++ b/bin/resources/shaders/opengl/shadeboost.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for editor detection diff --git a/bin/resources/shaders/opengl/tfx_fs.glsl b/bin/resources/shaders/opengl/tfx_fs.glsl index d6834c29d4837..c641a6743fd5b 100644 --- a/bin/resources/shaders/opengl/tfx_fs.glsl +++ b/bin/resources/shaders/opengl/tfx_fs.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for text editor detection diff --git a/bin/resources/shaders/opengl/tfx_vgs.glsl b/bin/resources/shaders/opengl/tfx_vgs.glsl index 4995148c50d49..eec1d524d07bf 100644 --- a/bin/resources/shaders/opengl/tfx_vgs.glsl +++ b/bin/resources/shaders/opengl/tfx_vgs.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for text editor detection diff --git a/bin/resources/shaders/vulkan/convert.glsl b/bin/resources/shaders/vulkan/convert.glsl index ba3a379cc7d91..7b370affc5702 100644 --- a/bin/resources/shaders/vulkan/convert.glsl +++ b/bin/resources/shaders/vulkan/convert.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef VERTEX_SHADER diff --git a/bin/resources/shaders/vulkan/imgui.glsl b/bin/resources/shaders/vulkan/imgui.glsl index f710ed970980d..f886acf64bb6f 100644 --- a/bin/resources/shaders/vulkan/imgui.glsl +++ b/bin/resources/shaders/vulkan/imgui.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef VERTEX_SHADER diff --git a/bin/resources/shaders/vulkan/interlace.glsl b/bin/resources/shaders/vulkan/interlace.glsl index 58fc07b0b0b4f..634213a1ac879 100644 --- a/bin/resources/shaders/vulkan/interlace.glsl +++ b/bin/resources/shaders/vulkan/interlace.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef VERTEX_SHADER diff --git a/bin/resources/shaders/vulkan/merge.glsl b/bin/resources/shaders/vulkan/merge.glsl index c6532cbf8dab9..1d31016eea656 100644 --- a/bin/resources/shaders/vulkan/merge.glsl +++ b/bin/resources/shaders/vulkan/merge.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef VERTEX_SHADER diff --git a/bin/resources/shaders/vulkan/present.glsl b/bin/resources/shaders/vulkan/present.glsl index c5de89afb4d39..23de574947755 100644 --- a/bin/resources/shaders/vulkan/present.glsl +++ b/bin/resources/shaders/vulkan/present.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef VERTEX_SHADER diff --git a/bin/resources/shaders/vulkan/shadeboost.glsl b/bin/resources/shaders/vulkan/shadeboost.glsl index 9ef701bb6bdf4..b604fdcd8dadb 100644 --- a/bin/resources/shaders/vulkan/shadeboost.glsl +++ b/bin/resources/shaders/vulkan/shadeboost.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //#version 420 // Keep it for editor detection diff --git a/bin/resources/shaders/vulkan/tfx.glsl b/bin/resources/shaders/vulkan/tfx.glsl index 2b8ec1f118487..69c4345db9ca7 100644 --- a/bin/resources/shaders/vulkan/tfx.glsl +++ b/bin/resources/shaders/vulkan/tfx.glsl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ ////////////////////////////////////////////////////////////////////// diff --git a/bin/resources/sounds/achievements/README.txt b/bin/resources/sounds/achievements/README.txt index db96edd8eaa47..1279c4cb2df80 100644 --- a/bin/resources/sounds/achievements/README.txt +++ b/bin/resources/sounds/achievements/README.txt @@ -1,2 +1,3 @@ lbsubmit.wav: https://freesound.org/people/Eponn/sounds/636656/ -unlock.wav and message.wav are from https://github.com/RetroAchievements/RAInterface +message.wav is from https://github.com/RetroAchievements/RAInterface +unlock.wav is from https://freesound.org/people/rhodesmas/sounds/320655/ diff --git a/bin/resources/sounds/achievements/unlock.wav b/bin/resources/sounds/achievements/unlock.wav index 2b0c3b1ea419f..9a22811c3e37a 100644 Binary files a/bin/resources/sounds/achievements/unlock.wav and b/bin/resources/sounds/achievements/unlock.wav differ diff --git a/bin/utils/bulk_compression.py b/bin/utils/bulk_compression.py new file mode 100755 index 0000000000000..e7e4f10c8c75d --- /dev/null +++ b/bin/utils/bulk_compression.py @@ -0,0 +1,422 @@ +#!/usr/bin/env python3 + +# PCSX2 - PS2 Emulator for PCs +# Copyright (C) 2024 PCSX2 Dev Team +# +# PCSX2 is free software: you can redistribute it and/or modify it under the terms +# of the GNU General Public License as published by the Free Software Found- +# ation, either version 3 of the License, or (at your option) any later version. +# +# PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with PCSX2. +# If not, see . + +import sys +import os +import re +from subprocess import Popen, PIPE +from os.path import exists + +gamecount = [0] + +# ================================================================================================= + +def deletionChoice(source_extension): # Choose to delete source files + + yesno = { + "n" : 0, + "no" : 0, + "y" : 1, + "yes" : 1, + } + + print("╟-------------------------------------------------------------------------------╢") + print(f"║ Do you want to delete the original {source_extension.upper()} files as they are converted?") + choice = input("║ Type Y or N then press ENTER: ").lower() + + if (not choice in yesno): + exitInvalidOption() + + return (yesno[choice]) + +# ------------------------------------------------------------------------------------------------- + +def blockSizeChoice(is_cd, decompressing): # Choose block size + + if (decompressing): + return 0 + + sizes = { + "1" : 16384, + "2" : 131072, + "3" : 262144, + } if not is_cd else { + "1": 17136, + "2": 132192, + "3": 264384, + } + + print("╟-------------------------------------------------------------------------------╢") + print("║ Please pick the block size you would like to use:") + print("║") + print("║ 1 - 16 kB (bigger files, faster access/less CPU, choose this if unsure)") + print("║ 2 - 128 kB (balanced)") + print("║ 3 - 256 kB (smaller files, slower access/more CPU)") + print("║") + blocksize = input("║ Type the number corresponding to your selection then press ENTER: ") + + if (not blocksize in sizes): + exitInvalidOption() + + return (sizes[blocksize]) + +# ================================================================================================= + +def checkSuccess(compressing, fname, extension, error_code): # Ensure file created properly + + target_fname = f"{fname}.{extension}" + if (error_code): + + print("╠===============================================================================╣") + + if (compressing): + print(f"║ Compression to {extension.upper()} failed for the following:{(37 - len(extension)) * ' '}║") + else: + print(f"║ Extraction to {extension.upper()} failed for the following:{(38 - len(extension)) * ' '}║") + + print(f"║ {target_fname}{(77 - len(target_fname)) * ' '}║") + print("╚===============================================================================╝") + + sys.exit(1) + + print(f"║ {target_fname} created.{(69 - len(target_fname)) * ' '}║") + +# ------------------------------------------------------------------------------------------------- + +def checkProgramMissing(program): + + if (sys.platform.startswith('win32') and exists(f"./{program}.exe")): + return # Windows + + else: # Linux, macOS + from shutil import which + if (which(program) is not None): + return + + print("╠===============================================================================╗") + print(f"║ {program} failed, {program} is missing.{(39 - (len(program) * 2)) * ' '}║") + print("╚===============================================================================╝") + sys.exit(1) + +# ------------------------------------------------------------------------------------------------- + +def checkBinCueMismatch(bin_files, cue_files): # Ensure all bins and cues match + + if (len(bin_files) != len(cue_files)): # Ensure numerical parity + exitBinCueMismatch() + + for fname in bin_files: # Ensure filename parity + if (f"{fname[:-4]}.cue" not in cue_files): + exitBinCueMismatch() + +# ------------------------------------------------------------------------------------------------- + +def checkDuplicates(source_files, target_extensions, crash_protection_type=0): + + dupe_options = { + "s" : 0, + "skip" : 0, + "o" : 1, + "overwrite" : 1, + } + + dupe_files = [] + dupe_names = [] + target_files = [] + + for extension in target_extensions: + target_files[len(target_files):] = returnFilteredPwdContents(extension) + + for fname in source_files: + for extension in target_extensions: + target_fname = f"{fname[:-4]}.{extension}" + if (target_fname in target_files): + dupe_files.append(target_fname) + + match crash_protection_type: + case 0: + pass + case 1: # Skip any dupe files no matter what + [dupe_names.append(fname[:-4]) for fname in dupe_files if fname[:-4] not in dupe_names] + return dupe_names + case 2: # Only skip if intermediate .iso present + [dupe_names.append(fname[:-4]) for fname in dupe_files if fname[:-4] not in dupe_names and fname[-4:] == ".iso"] + case _: + pass + + if (not dupe_files): + return dupe_names + + print("╟-------------------------------------------------------------------------------╢") + print("║ The following files were found which would be overwritten:") + + for fname in dupe_files: + print(f"║ - {fname}") + + print("║") + print("║ You may choose to OVERWRITE or SKIP all of these.") + if (crash_protection_type == 2): + # chdman CLI just crashes trying to overwrite a .iso file + print("║ NOTE: chdman cannot overwrite .iso files, which are used as an intermediate format.") + print("║ These will be skipped regardless.") + choice = input("║ Press 'O' to overwrite or 'S' to skip and press ENTER: ").lower() + + if (choice in dupe_options): + if (not dupe_options[choice]): # Skip + [dupe_names.append(fname[:-4]) for fname in dupe_files if fname[:-4] not in dupe_names] + return dupe_names + else: + exitInvalidOption() + +# ================================================================================================= + +def printInitialStatus(decompressing, target_fname): + + if (gamecount[0] != 0): + print("╟-------------------------------------------------------------------------------╢") + gamecount[0] += 1 + + if (decompressing): + print(f"║ Extracting to {target_fname}... ({gamecount[0]}){(58 - len(target_fname) - len(str(gamecount[0]))) * ' '}║") + else: + print(f"║ Compressing to {target_fname}... ({gamecount[0]}){(57 - len(target_fname) - len(str(gamecount[0]))) * ' '}║") + +# ------------------------------------------------------------------------------------------------- + +def printSkip(target_fname): + + if (gamecount[0] != 0): + print("╟-------------------------------------------------------------------------------╢") + gamecount[0] += 1 + print(f"║ Skipping creation of {target_fname}{(57 - len(target_fname)) * ' '}║") + +# ================================================================================================= + +def createCommandList(mode, source_fname, target_fname, blocksize=0): + + match mode: + case 1: + return [["maxcso", f"--block={blocksize}", source_fname]] + case 2: + return [["chdman", "createraw", "-us", "2048", "-hs", f"{blocksize}", "-f", "-i", source_fname, "-o", target_fname]] + case 3: + return [["chdman", "createcd", "-hs", f"{blocksize}", "-i", source_fname, "-o", f"{source_fname[:-4]}.chd"]] + case 4: + return [["maxcso", "--decompress", source_fname], + ["chdman", "createraw", "-us", "2048", "-hs", f"{blocksize}", "-f", "-i", f"{source_fname[:-4]}.iso", "-o", f"{source_fname[:-4]}.chd"]] + case 5: + return [["chdman", "extractraw", "-i", source_fname, "-o", f"{source_fname[:-4]}.iso"], + ["maxcso", f"--block={blocksize}", f"{source_fname[:-4]}.iso"]] + case 6: + return [["chdman", "extractraw", "-i", source_fname, "-o", target_fname]] + case 7: + return [["chdman", "extractcd", "-i", source_fname, "-o", target_fname]] + case 8: + return [["maxcso", "--decompress", source_fname]] + case _: + print("You have somehow chosen an invalid mode, and this was not correctly caught by the program.\nPlease report this as a bug.") + sys.exit(1) + +# ================================================================================================= + +def returnFilteredPwdContents(file_extension): # Get files in pwd with extension + + extension_pattern = r".*\." + file_extension.lower() + extension_reg = re.compile(extension_pattern) + return [fname for fname in os.listdir('.') if extension_reg.match(fname)] + +# ------------------------------------------------------------------------------------------------- + +def deleteFile(fname): # Delete a file in pwd + + print(f"║ Deleting {fname}...{(66 - len(fname)) * ' '}║") + os.remove(f"./{fname}") + +# ================================================================================================= + +def exitInvalidOption(): + + print("╠===============================================================================╗") + print("║ Invalid option. ║") + print("╚===============================================================================╝") + sys.exit(1) + +# ------------------------------------------------------------------------------------------------- + +def exitBinCueMismatch(): + + print("╠===============================================================================╗") + print("║ All BIN files must have a matching CUE. ║") + print("╚===============================================================================╝") + sys.exit(1) + +# ================================================================================================= +# ///////////////////////////////////////////////////////////////////////////////////////////////// +# ================================================================================================= + +options = { # Options listings + 1 : "Convert ISO to CSO", + 2 : "Convert ISO to CHD", + 3 : "Convert CUE/BIN to CHD", + 4 : "Convert CSO to CHD", + 5 : "Convert DVD CHD to CSO", + 6 : "Extract DVD CHD to ISO", + 7 : "Extract CD CHD to CUE/BIN", + 8 : "Extract CSO to ISO", + 9 : "Exit script", +} + +# ------------------------------------------------------------------------------------------------- + +sources = { # Source file extensions + 1 : "iso", + 2 : "iso", + 3 : "cue/bin", + 4 : "cso", + 5 : "chd", + 6 : "chd", + 7 : "chd", + 8 : "cso", +} + +# ------------------------------------------------------------------------------------------------- + +targets = { # Target file extensions + 1 : ["cso"], + 2 : ["chd"], + 3 : ["chd"], + 4 : ["iso", "chd"], + 5 : ["iso", "cso"], + 6 : ["iso"], + 7 : ["cue", "bin"], + 8 : ["iso"], +} + +# # ------------------------------------------------------------------------------------------------- + +reqs = { # Selection dependencies + 1 : ["maxcso"], + 2 : ["chdman"], + 3 : ["chdman"], + 4 : ["maxcso", "chdman"], + 5 : ["maxcso", "chdman"], + 6 : ["chdman"], + 7 : ["chdman"], + 8 : ["maxcso"], +} + +# ------------------------------------------------------------------------------------------------- + +print("╔===============================================================================╗") +print("║ CSO/CHD/ISO/CUEBIN Conversion by Refraction, RedDevilus and TheTechnician27 ║") +print("║ (Version Jul 16 2024) ║") +print("╠===============================================================================╣") +print("║ ║") +print("║ PLEASE NOTE: This will affect all files in this folder! ║") +print("║ Be sure to run this from the same directory as the files you wish to convert. ║") +print("║ ║") + +for number, message in options.items(): + print("║ ", number, " - ", message, f"{(70 - len(message)) * ' '}║") + +print("║ ║") +print("╠===============================================================================╝") +#print("║") +mode = input("║ Type the number corresponding to your selection then press ENTER: ") + +# ------------------------------------------------------------------------------------------------- + +try: + mode = int(mode) + +except ValueError: + exitInvalidOption() + +# ------------------------------------------------------------------------------------------------- + +if (mode < 9 and mode > 0): + + for program in reqs[mode]: # Check for dependencies + checkProgramMissing(program) + + delete = deletionChoice(sources[mode]) # Choose to delete source files + blocksize = blockSizeChoice(mode == 3, mode > 5) # Choose block size if compressing + + match mode: + case 3: + bin_files = returnFilteredPwdContents("bin") # Get all BIN files in pwd + source_files = returnFilteredPwdContents("cue") # Get all CUE files in pwd + checkBinCueMismatch(bin_files, source_files) + dupe_list = checkDuplicates(source_files, targets[mode], 1) + case 5: + source_files = returnFilteredPwdContents(sources[mode]) # Get source files in pwd + dupe_list = checkDuplicates(source_files, targets[mode], 2) + case 6: + source_files = returnFilteredPwdContents(sources[mode]) # Get source files in pwd + dupe_list = checkDuplicates(source_files, targets[mode], 1) + case _: + source_files = returnFilteredPwdContents(sources[mode]) # Get source files in pwd + dupe_list = checkDuplicates(source_files, targets[mode]) + + + print("╠===============================================================================╗") + + # --------------------------------------------------------------------------------------------- + + for fname in source_files: + + target_fname = f"{fname[:-4]}.{targets[mode][0]}" + commands = createCommandList(mode, fname, target_fname, blocksize) + if (fname[:-4] in dupe_list): + printSkip(target_fname) + continue + + printInitialStatus(mode > 5, f"{fname[:-4]}.{targets[mode][-1]}") + + for step, command in enumerate (commands): + + process = Popen(commands[step], stdout=PIPE, stderr=PIPE) # Execute process + stdout, stderr = process.communicate() # Suppress output + checkSuccess(mode < 6, fname[:-4], # Ensure target creation + targets[mode][step], process.returncode) + + if (step == 1): # Delete intermediate file + deleteFile(f"{fname[:-4]}.iso") + + if (delete): # Delete source requested + deleteFile(fname) + if (mode == 3): + deleteFile(f"{fname[:-4]}.bin") + +# ===== EXIT SCRIPT =============================================================================== + +elif (mode == 9): + print("╠===============================================================================╗") + print("║ Goodbye! :) ║") + print("╚===============================================================================╝") + sys.exit(0) + +# ===== EXIT SCRIPT WITH ERROR ==================================================================== + +else: + exitInvalidOption() + +# ------------------------------------------------------------------------------------------------- + +print("╠===============================================================================╣") +print("║ Process complete! ║") +print("╚===============================================================================╝") +sys.exit(0) diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake index ff66f9cdd41ed..12306df6875a6 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake @@ -125,7 +125,7 @@ elseif(_M_ARM64) endif() # Prevent fmt from being built with exceptions, or being thrown at call sites. -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFMT_EXCEPTIONS=0") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFMT_USE_EXCEPTIONS=0 -DFMT_USE_RTTI=0") add_subdirectory(3rdparty/fmt EXCLUDE_FROM_ALL) # Deliberately at the end. We don't want to set the flag on third-party projects. diff --git a/common/AlignedMalloc.cpp b/common/AlignedMalloc.cpp index 907d985897665..74a665af4ac8b 100644 --- a/common/AlignedMalloc.cpp +++ b/common/AlignedMalloc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // This module contains implementations of _aligned_malloc for platforms that don't have diff --git a/common/AlignedMalloc.h b/common/AlignedMalloc.h index f70885193e438..98e5331089922 100644 --- a/common/AlignedMalloc.h +++ b/common/AlignedMalloc.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Assertions.cpp b/common/Assertions.cpp index 754d4810349b7..9fe067002ccd9 100644 --- a/common/Assertions.cpp +++ b/common/Assertions.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Assertions.h" @@ -7,7 +7,6 @@ #include "Threading.h" #include -#include "fmt/core.h" #ifdef _WIN32 #include "RedtapeWindows.h" diff --git a/common/Assertions.h b/common/Assertions.h index 893a831a28c76..2d6618f387ecf 100644 --- a/common/Assertions.h +++ b/common/Assertions.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/BitUtils.h b/common/BitUtils.h index 64b6ff3047e2d..4d12ba2b0716a 100644 --- a/common/BitUtils.h +++ b/common/BitUtils.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/ByteSwap.h b/common/ByteSwap.h index 6dd2ec9914bad..c7d6107e0ab95 100644 --- a/common/ByteSwap.h +++ b/common/ByteSwap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/CocoaTools.h b/common/CocoaTools.h index 61ae57f4cd276..1166effc4c1f1 100644 --- a/common/CocoaTools.h +++ b/common/CocoaTools.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef __APPLE__ diff --git a/common/CocoaTools.mm b/common/CocoaTools.mm index 1c67964058416..71b4c9118485e 100644 --- a/common/CocoaTools.mm +++ b/common/CocoaTools.mm @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #if ! __has_feature(objc_arc) diff --git a/common/Console.cpp b/common/Console.cpp index b8f4cd5b81473..8f8aa084bcdfc 100644 --- a/common/Console.cpp +++ b/common/Console.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Console.h" diff --git a/common/Console.h b/common/Console.h index 45d6dcc776f5c..534c6b4fc6d51 100644 --- a/common/Console.h +++ b/common/Console.h @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once #include "Pcsx2Defs.h" -#include "fmt/core.h" +#include "fmt/base.h" #include #include diff --git a/common/CrashHandler.cpp b/common/CrashHandler.cpp index cee85343e6e12..7f6fb46741c57 100644 --- a/common/CrashHandler.cpp +++ b/common/CrashHandler.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Pcsx2Defs.h" diff --git a/common/CrashHandler.h b/common/CrashHandler.h index 78b25ece530f1..1d41f6bf867f7 100644 --- a/common/CrashHandler.h +++ b/common/CrashHandler.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/common/Darwin/DarwinMisc.cpp b/common/Darwin/DarwinMisc.cpp index a4f01ac13dc55..1ebe1a1b8846e 100644 --- a/common/Darwin/DarwinMisc.cpp +++ b/common/Darwin/DarwinMisc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/common/Darwin/DarwinMisc.h b/common/Darwin/DarwinMisc.h index 4bad4ad2f37c8..12b66ad7ced5f 100644 --- a/common/Darwin/DarwinMisc.h +++ b/common/Darwin/DarwinMisc.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Darwin/DarwinThreads.cpp b/common/Darwin/DarwinThreads.cpp index d08539107c850..ac52959842bb0 100644 --- a/common/Darwin/DarwinThreads.cpp +++ b/common/Darwin/DarwinThreads.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Threading.h" diff --git a/common/DynamicLibrary.cpp b/common/DynamicLibrary.cpp index 235e68a2dd280..a5b04766ebe7d 100644 --- a/common/DynamicLibrary.cpp +++ b/common/DynamicLibrary.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/DynamicLibrary.h" diff --git a/common/DynamicLibrary.h b/common/DynamicLibrary.h index f3bcb76bdb0fc..f2eff93299454 100644 --- a/common/DynamicLibrary.h +++ b/common/DynamicLibrary.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Easing.h b/common/Easing.h index 4016e690ae0d6..6f681dc2b31d0 100644 --- a/common/Easing.h +++ b/common/Easing.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/EnumOps.h b/common/EnumOps.h index df2b8fbda8184..9dde681ed6608 100644 --- a/common/EnumOps.h +++ b/common/EnumOps.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Error.cpp b/common/Error.cpp index babeb7b3fa654..ab87de79fe71a 100644 --- a/common/Error.cpp +++ b/common/Error.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Error.h" diff --git a/common/Error.h b/common/Error.h index c3c48c3c36141..f7c6691ecdb19 100644 --- a/common/Error.h +++ b/common/Error.h @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once #include "Pcsx2Defs.h" -#include "fmt/core.h" +#include "fmt/format.h" #include diff --git a/common/FPControl.h b/common/FPControl.h index 8ef1fbfdd5aeb..dd4c4e87023cf 100644 --- a/common/FPControl.h +++ b/common/FPControl.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // This file abstracts the floating-point control registers, known as MXCSR on x86, and FPCR on AArch64. diff --git a/common/FastJmp.asm b/common/FastJmp.asm index 8adf97a2ab07f..bb6e6d970fdbf 100644 --- a/common/FastJmp.asm +++ b/common/FastJmp.asm @@ -1,4 +1,4 @@ -; SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +; SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team ; SPDX-License-Identifier: GPL-3.0+ ; ----------------------------------------- diff --git a/common/FastJmp.cpp b/common/FastJmp.cpp index 151e2f8f5e520..f2a19b225b185 100644 --- a/common/FastJmp.cpp +++ b/common/FastJmp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "FastJmp.h" diff --git a/common/FastJmp.h b/common/FastJmp.h index f54c7d2a30e63..267855814d128 100644 --- a/common/FastJmp.h +++ b/common/FastJmp.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/FileSystem.cpp b/common/FileSystem.cpp index 07dc498441ce5..a096cdbc0f5b8 100644 --- a/common/FileSystem.cpp +++ b/common/FileSystem.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "FileSystem.h" diff --git a/common/FileSystem.h b/common/FileSystem.h index 0ffccbb4c9e1c..f22d4cc72e499 100644 --- a/common/FileSystem.h +++ b/common/FileSystem.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/HTTPDownloader.cpp b/common/HTTPDownloader.cpp index 6371696ccc4e0..1f9f88ba60ac9 100644 --- a/common/HTTPDownloader.cpp +++ b/common/HTTPDownloader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/HTTPDownloader.h" diff --git a/common/HTTPDownloader.h b/common/HTTPDownloader.h index d4d572272fd97..79d59c72d7c7e 100644 --- a/common/HTTPDownloader.h +++ b/common/HTTPDownloader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/HTTPDownloaderCurl.cpp b/common/HTTPDownloaderCurl.cpp index 59ed6ee52503b..de20896ddd01e 100644 --- a/common/HTTPDownloaderCurl.cpp +++ b/common/HTTPDownloaderCurl.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/HTTPDownloaderCurl.h" diff --git a/common/HTTPDownloaderCurl.h b/common/HTTPDownloaderCurl.h index 2a6683bbd656c..5c89624592ed7 100644 --- a/common/HTTPDownloaderCurl.h +++ b/common/HTTPDownloaderCurl.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/HTTPDownloaderWinHTTP.cpp b/common/HTTPDownloaderWinHTTP.cpp index fa74e0877d221..6b46b2d8ef2f6 100644 --- a/common/HTTPDownloaderWinHTTP.cpp +++ b/common/HTTPDownloaderWinHTTP.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/HTTPDownloaderWinHTTP.h" diff --git a/common/HTTPDownloaderWinHTTP.h b/common/HTTPDownloaderWinHTTP.h index 4298d3ecf360e..60077f6645933 100644 --- a/common/HTTPDownloaderWinHTTP.h +++ b/common/HTTPDownloaderWinHTTP.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/HashCombine.h b/common/HashCombine.h index 863013e0b9101..bb0712e075069 100644 --- a/common/HashCombine.h +++ b/common/HashCombine.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/HeapArray.h b/common/HeapArray.h index eae2111f44d7d..6bf34c3f2cb5f 100644 --- a/common/HeapArray.h +++ b/common/HeapArray.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/HeterogeneousContainers.h b/common/HeterogeneousContainers.h index 667cc67e54248..74cc3112150be 100644 --- a/common/HeterogeneousContainers.h +++ b/common/HeterogeneousContainers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /** diff --git a/common/HostSys.cpp b/common/HostSys.cpp index e3356a45d424e..01300588e41a3 100644 --- a/common/HostSys.cpp +++ b/common/HostSys.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "HostSys.h" diff --git a/common/HostSys.h b/common/HostSys.h index 23646284d9206..c9a0a2759b796 100644 --- a/common/HostSys.h +++ b/common/HostSys.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Image.cpp b/common/Image.cpp index b84643c9c67ff..24f247aec3204 100644 --- a/common/Image.cpp +++ b/common/Image.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Image.h" diff --git a/common/Image.h b/common/Image.h index 09ca634111150..fb24dba84ab50 100644 --- a/common/Image.h +++ b/common/Image.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/LRUCache.h b/common/LRUCache.h index 9e17966868877..bbf52187aaf1c 100644 --- a/common/LRUCache.h +++ b/common/LRUCache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Linux/LnxHostSys.cpp b/common/Linux/LnxHostSys.cpp index 54a8e2f24aae8..b2578bce30050 100644 --- a/common/Linux/LnxHostSys.cpp +++ b/common/Linux/LnxHostSys.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" @@ -17,7 +17,7 @@ #include #include -#include "fmt/core.h" +#include "fmt/format.h" #if defined(__FreeBSD__) #include "cpuinfo.h" diff --git a/common/Linux/LnxMisc.cpp b/common/Linux/LnxMisc.cpp index 08423f622a379..2c36c9bab7084 100644 --- a/common/Linux/LnxMisc.cpp +++ b/common/Linux/LnxMisc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Pcsx2Types.h" @@ -11,7 +11,7 @@ #include "common/Threading.h" #include "common/WindowInfo.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include @@ -22,6 +22,8 @@ #include #include #include +#include +#include // Returns 0 on failure (not supported by the operating system). u64 GetPhysicalMemory() @@ -101,6 +103,7 @@ static bool SetScreensaverInhibitDBus(const bool inhibit_requested, const char* DBusMessage* message = nullptr; DBusMessage* response = nullptr; DBusMessageIter message_itr; + char* desktop_session = nullptr; ScopedGuard cleanup = [&]() { if (dbus_error_is_set(&error_dbus)) @@ -122,7 +125,17 @@ static bool SetScreensaverInhibitDBus(const bool inhibit_requested, const char* s_cookie = 0; s_comparison_connection = connection; } - message = dbus_message_new_method_call("org.freedesktop.ScreenSaver", "/org/freedesktop/ScreenSaver", "org.freedesktop.ScreenSaver", bus_method); + + desktop_session = std::getenv("DESKTOP_SESSION"); + if (desktop_session && std::strncmp(desktop_session, "mate", 4) == 0) + { + message = dbus_message_new_method_call("org.mate.ScreenSaver", "/org/mate/ScreenSaver", "org.mate.ScreenSaver", bus_method); + } + else + { + message = dbus_message_new_method_call("org.freedesktop.ScreenSaver", "/org/freedesktop/ScreenSaver", "org.freedesktop.ScreenSaver", bus_method); + } + if (!message) return false; // Initialize an append iterator for the message, gets freed with the message. diff --git a/common/Linux/LnxThreads.cpp b/common/Linux/LnxThreads.cpp index 641da914677fb..fbb888964d5a2 100644 --- a/common/Linux/LnxThreads.cpp +++ b/common/Linux/LnxThreads.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifndef _GNU_SOURCE diff --git a/common/MD5Digest.cpp b/common/MD5Digest.cpp index 45f9d88b0e3d0..9789dbe523fe8 100644 --- a/common/MD5Digest.cpp +++ b/common/MD5Digest.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MD5Digest.h" diff --git a/common/MD5Digest.h b/common/MD5Digest.h index ca910c5b4d08f..fd8d780393ab9 100644 --- a/common/MD5Digest.h +++ b/common/MD5Digest.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/MRCHelpers.h b/common/MRCHelpers.h index fd3d149f835d2..2bb6840f750d3 100644 --- a/common/MRCHelpers.h +++ b/common/MRCHelpers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifndef __OBJC__ diff --git a/common/MemorySettingsInterface.cpp b/common/MemorySettingsInterface.cpp index 82a093bef4e6f..20e165aabf8a9 100644 --- a/common/MemorySettingsInterface.cpp +++ b/common/MemorySettingsInterface.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MemorySettingsInterface.h" diff --git a/common/MemorySettingsInterface.h b/common/MemorySettingsInterface.h index 8cf171c3ce035..611382fe1fb48 100644 --- a/common/MemorySettingsInterface.h +++ b/common/MemorySettingsInterface.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Path.h b/common/Path.h index a8b17aefc049b..9e2aa8caccde2 100644 --- a/common/Path.h +++ b/common/Path.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Pcsx2Defs.h b/common/Pcsx2Defs.h index 26fad2df86435..be997ecd2bc73 100644 --- a/common/Pcsx2Defs.h +++ b/common/Pcsx2Defs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Pcsx2Types.h b/common/Pcsx2Types.h index 4ff9e113701ae..6001106029e19 100644 --- a/common/Pcsx2Types.h +++ b/common/Pcsx2Types.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Perf.cpp b/common/Perf.cpp index 1817c5caaa755..e33ff4dace6d8 100644 --- a/common/Perf.cpp +++ b/common/Perf.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Perf.h" diff --git a/common/Perf.h b/common/Perf.h index 6a570db82553e..d9de59dc1d2fa 100644 --- a/common/Perf.h +++ b/common/Perf.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/PrecompiledHeader.cpp b/common/PrecompiledHeader.cpp index 8ac5a5df696d6..c58ca9311f4be 100644 --- a/common/PrecompiledHeader.cpp +++ b/common/PrecompiledHeader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "PrecompiledHeader.h" diff --git a/common/PrecompiledHeader.h b/common/PrecompiledHeader.h index 7f46fe6418423..b8a7745548555 100644 --- a/common/PrecompiledHeader.h +++ b/common/PrecompiledHeader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/common/ProgressCallback.cpp b/common/ProgressCallback.cpp index d53511e83ce15..40ad308e19a68 100644 --- a/common/ProgressCallback.cpp +++ b/common/ProgressCallback.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "PrecompiledHeader.h" diff --git a/common/ProgressCallback.h b/common/ProgressCallback.h index 8850062aec095..ae7c7fb831b8c 100644 --- a/common/ProgressCallback.h +++ b/common/ProgressCallback.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/ReadbackSpinManager.cpp b/common/ReadbackSpinManager.cpp index 4f11aa5247bb4..60046bab35afc 100644 --- a/common/ReadbackSpinManager.cpp +++ b/common/ReadbackSpinManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ReadbackSpinManager.h" diff --git a/common/ReadbackSpinManager.h b/common/ReadbackSpinManager.h index 797bb2b9bfcaf..91bf4844f0e3c 100644 --- a/common/ReadbackSpinManager.h +++ b/common/ReadbackSpinManager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/RedtapeWilCom.h b/common/RedtapeWilCom.h index a64561da4ddb7..1b5c103318728 100644 --- a/common/RedtapeWilCom.h +++ b/common/RedtapeWilCom.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/RedtapeWindows.h b/common/RedtapeWindows.h index d3c7f27ccba8d..16c00c3a99bcd 100644 --- a/common/RedtapeWindows.h +++ b/common/RedtapeWindows.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/ScopedGuard.h b/common/ScopedGuard.h index 695f7220ecdd7..fe15bc358edd4 100644 --- a/common/ScopedGuard.h +++ b/common/ScopedGuard.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Semaphore.cpp b/common/Semaphore.cpp index 8a7fe23c68a97..0824115982ed3 100644 --- a/common/Semaphore.cpp +++ b/common/Semaphore.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Threading.h" diff --git a/common/SettingsInterface.h b/common/SettingsInterface.h index df180bf219593..6c2547da00b70 100644 --- a/common/SettingsInterface.h +++ b/common/SettingsInterface.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/SettingsWrapper.cpp b/common/SettingsWrapper.cpp index 5985fc66d5541..f11b397f894ec 100644 --- a/common/SettingsWrapper.cpp +++ b/common/SettingsWrapper.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/common/SettingsWrapper.h b/common/SettingsWrapper.h index 2c0c327696fee..1f174385eb0ac 100644 --- a/common/SettingsWrapper.h +++ b/common/SettingsWrapper.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/SingleRegisterTypes.h b/common/SingleRegisterTypes.h index 0ccb690c6cf45..c44e473020bbf 100644 --- a/common/SingleRegisterTypes.h +++ b/common/SingleRegisterTypes.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // -------------------------------------------------------------------------------------- diff --git a/common/SmallString.cpp b/common/SmallString.cpp index 05d2f4673e0df..b71eedecd654a 100644 --- a/common/SmallString.cpp +++ b/common/SmallString.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SmallString.h" diff --git a/common/SmallString.h b/common/SmallString.h index c756dda389640..9359965a8a073 100644 --- a/common/SmallString.h +++ b/common/SmallString.h @@ -1,15 +1,16 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once #include "Pcsx2Defs.h" -#include "fmt/core.h" +#include "fmt/base.h" #include #include #include +#include #include #include #include @@ -177,7 +178,7 @@ class SmallStringBase __fi const char* end_ptr() const { return m_buffer + m_length; } // STL adapters - __fi void push_back(value_type&& val) { append(val); } + __fi void push_back(value_type val) { append(val); } // returns a string view for this string std::string_view view() const; @@ -413,7 +414,7 @@ __fi void SmallStringBase::format(fmt::format_string fmt, T&&... args) } \ \ template \ - auto format(const type& str, FormatContext& ctx) \ + auto format(const type& str, FormatContext& ctx) const \ { \ return fmt::format_to(ctx.out(), "{}", str.view()); \ } \ diff --git a/common/StringUtil.cpp b/common/StringUtil.cpp index f520d97ce8167..fe6ece89fa8f5 100644 --- a/common/StringUtil.cpp +++ b/common/StringUtil.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Assertions.h" @@ -10,7 +10,7 @@ #include #include -#include "fmt/core.h" +#include "fmt/format.h" #ifdef _WIN32 #include "RedtapeWindows.h" diff --git a/common/StringUtil.h b/common/StringUtil.h index e276185ef76e6..636ccdec06a30 100644 --- a/common/StringUtil.h +++ b/common/StringUtil.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Threading.h b/common/Threading.h index 9952ad0f8c2cf..ead8a76e34ac7 100644 --- a/common/Threading.h +++ b/common/Threading.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Timer.cpp b/common/Timer.cpp index 27f3072aadcc7..3e2a9e11666f0 100644 --- a/common/Timer.cpp +++ b/common/Timer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Timer.h" diff --git a/common/Timer.h b/common/Timer.h index ab472106fbfc5..74242a43fa9a2 100644 --- a/common/Timer.h +++ b/common/Timer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/VectorIntrin.h b/common/VectorIntrin.h index 41caa95655824..a90ba80bae421 100644 --- a/common/VectorIntrin.h +++ b/common/VectorIntrin.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // Includes appropriate intrinsic header based on platform. diff --git a/common/WAVWriter.cpp b/common/WAVWriter.cpp index fdd0e239747b2..968e42a3c23d6 100644 --- a/common/WAVWriter.cpp +++ b/common/WAVWriter.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/WAVWriter.h" diff --git a/common/WAVWriter.h b/common/WAVWriter.h index 2a7903ce747a9..57dae548c6eda 100644 --- a/common/WAVWriter.h +++ b/common/WAVWriter.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/WindowInfo.cpp b/common/WindowInfo.cpp index 2448841951f90..62f9afe8ea468 100644 --- a/common/WindowInfo.cpp +++ b/common/WindowInfo.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "WindowInfo.h" diff --git a/common/WindowInfo.h b/common/WindowInfo.h index fa2adcd89c0ce..c9d11d582f6f6 100644 --- a/common/WindowInfo.h +++ b/common/WindowInfo.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/Windows/WinHostSys.cpp b/common/Windows/WinHostSys.cpp index 54e76fa6ccfb4..5475fb8954a6f 100644 --- a/common/Windows/WinHostSys.cpp +++ b/common/Windows/WinHostSys.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/HostSys.h" @@ -10,7 +10,6 @@ #include "common/RedtapeWindows.h" #include "common/StringUtil.h" -#include "fmt/core.h" #include "fmt/format.h" #include diff --git a/common/Windows/WinMisc.cpp b/common/Windows/WinMisc.cpp index cc9b2929d84b0..44c5da73fe486 100644 --- a/common/Windows/WinMisc.cpp +++ b/common/Windows/WinMisc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/FileSystem.h" @@ -8,8 +8,6 @@ #include "common/Threading.h" #include "common/WindowInfo.h" -#include "fmt/core.h" - #include #include #include diff --git a/common/Windows/WinThreads.cpp b/common/Windows/WinThreads.cpp index 7a8e63c205b60..8f385cd1b5dcc 100644 --- a/common/Windows/WinThreads.cpp +++ b/common/Windows/WinThreads.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Threading.h" diff --git a/common/WrappedMemCopy.h b/common/WrappedMemCopy.h index 3eaa830babb80..776c3ce09c81d 100644 --- a/common/WrappedMemCopy.h +++ b/common/WrappedMemCopy.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Pcsx2Defs.h" diff --git a/common/ZipHelpers.h b/common/ZipHelpers.h index 26c5df9736de5..470ac5ce4da95 100644 --- a/common/ZipHelpers.h +++ b/common/ZipHelpers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/avx.cpp b/common/emitter/avx.cpp index d321345656789..0bf8ed22983c1 100644 --- a/common/emitter/avx.cpp +++ b/common/emitter/avx.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/emitter/internal.h" diff --git a/common/emitter/bmi.cpp b/common/emitter/bmi.cpp index f3acb03415ddc..b301355f6303c 100644 --- a/common/emitter/bmi.cpp +++ b/common/emitter/bmi.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/emitter/internal.h" diff --git a/common/emitter/fpu.cpp b/common/emitter/fpu.cpp index 7a3f74961fef8..2b9b95cc3ccb6 100644 --- a/common/emitter/fpu.cpp +++ b/common/emitter/fpu.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/emitter/legacy_internal.h" diff --git a/common/emitter/groups.cpp b/common/emitter/groups.cpp index ec42f6b989dc4..a9b2a9d2458fe 100644 --- a/common/emitter/groups.cpp +++ b/common/emitter/groups.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* diff --git a/common/emitter/implement/avx.h b/common/emitter/implement/avx.h index 9ce4a88d3f213..90516f12f01d6 100644 --- a/common/emitter/implement/avx.h +++ b/common/emitter/implement/avx.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/bmi.h b/common/emitter/implement/bmi.h index 6c12e2ea0db26..f30e8614f32b4 100644 --- a/common/emitter/implement/bmi.h +++ b/common/emitter/implement/bmi.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/dwshift.h b/common/emitter/implement/dwshift.h index 903f740abd752..72428a6347c4b 100644 --- a/common/emitter/implement/dwshift.h +++ b/common/emitter/implement/dwshift.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/group1.h b/common/emitter/implement/group1.h index c621d62bfb187..1351a04d28ccf 100644 --- a/common/emitter/implement/group1.h +++ b/common/emitter/implement/group1.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/group2.h b/common/emitter/implement/group2.h index f772582f902d2..22b99cefd7aa7 100644 --- a/common/emitter/implement/group2.h +++ b/common/emitter/implement/group2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/group3.h b/common/emitter/implement/group3.h index fe7d153df1579..6492c25ee6869 100644 --- a/common/emitter/implement/group3.h +++ b/common/emitter/implement/group3.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/helpers.h b/common/emitter/implement/helpers.h index d98113aaf3e71..26c3e959b153e 100644 --- a/common/emitter/implement/helpers.h +++ b/common/emitter/implement/helpers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/incdec.h b/common/emitter/implement/incdec.h index 7db2096d90dbe..97816a9bf9dff 100644 --- a/common/emitter/implement/incdec.h +++ b/common/emitter/implement/incdec.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/jmpcall.h b/common/emitter/implement/jmpcall.h index b81e4b58764d7..f2319bf342694 100644 --- a/common/emitter/implement/jmpcall.h +++ b/common/emitter/implement/jmpcall.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/movs.h b/common/emitter/implement/movs.h index 67f00479d8e47..beb9b0fffef5e 100644 --- a/common/emitter/implement/movs.h +++ b/common/emitter/implement/movs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/simd_arithmetic.h b/common/emitter/implement/simd_arithmetic.h index 1900d43143ed0..a856957188df0 100644 --- a/common/emitter/implement/simd_arithmetic.h +++ b/common/emitter/implement/simd_arithmetic.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/simd_comparisons.h b/common/emitter/implement/simd_comparisons.h index ca056caa702dd..596d1cf3e7161 100644 --- a/common/emitter/implement/simd_comparisons.h +++ b/common/emitter/implement/simd_comparisons.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/simd_helpers.h b/common/emitter/implement/simd_helpers.h index 0eb242c1a560a..83053b309712a 100644 --- a/common/emitter/implement/simd_helpers.h +++ b/common/emitter/implement/simd_helpers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/simd_moremovs.h b/common/emitter/implement/simd_moremovs.h index a8e46eac64873..0b498b345417e 100644 --- a/common/emitter/implement/simd_moremovs.h +++ b/common/emitter/implement/simd_moremovs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/simd_shufflepack.h b/common/emitter/implement/simd_shufflepack.h index 5e3e680e77038..efd894ce56037 100644 --- a/common/emitter/implement/simd_shufflepack.h +++ b/common/emitter/implement/simd_shufflepack.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/simd_templated_helpers.h b/common/emitter/implement/simd_templated_helpers.h index 0eac74694e537..8231a5382ba9f 100644 --- a/common/emitter/implement/simd_templated_helpers.h +++ b/common/emitter/implement/simd_templated_helpers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/test.h b/common/emitter/implement/test.h index c2f136dd28d28..50fde1df3d462 100644 --- a/common/emitter/implement/test.h +++ b/common/emitter/implement/test.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/implement/xchg.h b/common/emitter/implement/xchg.h index f29d9fbf9d3b6..729bff79fc7f0 100644 --- a/common/emitter/implement/xchg.h +++ b/common/emitter/implement/xchg.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/instructions.h b/common/emitter/instructions.h index 5008a1f8f7433..70a1e3953a091 100644 --- a/common/emitter/instructions.h +++ b/common/emitter/instructions.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* diff --git a/common/emitter/internal.h b/common/emitter/internal.h index 7b5d452671ebe..c15c2a38206ac 100644 --- a/common/emitter/internal.h +++ b/common/emitter/internal.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/jmp.cpp b/common/emitter/jmp.cpp index 236639df26276..515d3da197c25 100644 --- a/common/emitter/jmp.cpp +++ b/common/emitter/jmp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* diff --git a/common/emitter/legacy.cpp b/common/emitter/legacy.cpp index 079da24cc0764..5bbda8051f01f 100644 --- a/common/emitter/legacy.cpp +++ b/common/emitter/legacy.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* diff --git a/common/emitter/legacy_instructions.h b/common/emitter/legacy_instructions.h index b4bb3378789fa..e8fcdf3f8ae24 100644 --- a/common/emitter/legacy_instructions.h +++ b/common/emitter/legacy_instructions.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/legacy_internal.h b/common/emitter/legacy_internal.h index 4120511743910..05407b002e909 100644 --- a/common/emitter/legacy_internal.h +++ b/common/emitter/legacy_internal.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/legacy_sse.cpp b/common/emitter/legacy_sse.cpp index 2bf579eb7c027..258106e30c8dc 100644 --- a/common/emitter/legacy_sse.cpp +++ b/common/emitter/legacy_sse.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/emitter/legacy_internal.h" diff --git a/common/emitter/legacy_types.h b/common/emitter/legacy_types.h index 0c3c118c0d00c..0d6757e24e71a 100644 --- a/common/emitter/legacy_types.h +++ b/common/emitter/legacy_types.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/common/emitter/movs.cpp b/common/emitter/movs.cpp index 53e2107a08706..ca2402299dcf0 100644 --- a/common/emitter/movs.cpp +++ b/common/emitter/movs.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* diff --git a/common/emitter/simd.cpp b/common/emitter/simd.cpp index f1db306cf6e79..03f536bdd4bd6 100644 --- a/common/emitter/simd.cpp +++ b/common/emitter/simd.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/emitter/internal.h" diff --git a/common/emitter/x86emitter.cpp b/common/emitter/x86emitter.cpp index 157d25e4b41f2..8e021af083da1 100644 --- a/common/emitter/x86emitter.cpp +++ b/common/emitter/x86emitter.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* @@ -1224,22 +1224,35 @@ const xRegister32 #ifdef _WIN32 xPUSH(rdi); xPUSH(rsi); - xSUB(rsp, 32); // Windows calling convention specifies additional space for the callee to spill registers - m_offset += 48; -#endif + m_offset += 16; + // Align for movaps, in addition to any following instructions stackAlign(m_offset, true); + + xSUB(rsp, 16 * 10); + for (u32 i = 6; i < 16; i++) + xMOVAPS(ptr128[rsp + (i - 6) * 16], xRegisterSSE(i)); + xSUB(rsp, 32); // Windows calling convention specifies additional space for the callee to spill registers +#else + // Align for any following instructions + stackAlign(m_offset, true); +#endif } xScopedStackFrame::~xScopedStackFrame() { - stackAlign(m_offset, false); - // Restore the register context #ifdef _WIN32 xADD(rsp, 32); + for (u32 i = 6; i < 16; i++) + xMOVAPS(xRegisterSSE::GetInstance(i), ptr[rsp + (i - 6) * 16]); + xADD(rsp, 16 * 10); + + stackAlign(m_offset, false); xPOP(rsi); xPOP(rdi); +#else + stackAlign(m_offset, false); #endif xPOP(r15); xPOP(r14); diff --git a/common/emitter/x86emitter.h b/common/emitter/x86emitter.h index 9d5a5b5cd99da..95a996b45d4d7 100644 --- a/common/emitter/x86emitter.h +++ b/common/emitter/x86emitter.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* diff --git a/common/emitter/x86types.h b/common/emitter/x86types.h index e898b9400a72b..e93793bae5c55 100644 --- a/common/emitter/x86types.h +++ b/common/emitter/x86types.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-gsrunner/Main.cpp b/pcsx2-gsrunner/Main.cpp index 2bd9960734c54..745c47b4c29e3 100644 --- a/pcsx2-gsrunner/Main.cpp +++ b/pcsx2-gsrunner/Main.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include @@ -13,7 +13,7 @@ #include "common/RedtapeWindows.h" #endif -#include "fmt/core.h" +#include "fmt/format.h" #include "common/Assertions.h" #include "common/Console.h" @@ -443,8 +443,8 @@ static void PrintCommandLineHelp(const char* progname) std::fprintf(stderr, " -help: Displays this information and exits.\n"); std::fprintf(stderr, " -version: Displays version information and exits.\n"); std::fprintf(stderr, " -dumpdir : Frame dump directory (will be dumped as filename_frameN.png).\n"); - std::fprintf(stderr, " -dump [rt|tex|z|f|a]: Enabling dunmping of render target, texture, z buffer, frame, " - "and alphas (respectively) per draw. Always enables dumping context/vertices. Generates lots of data.\n"); + std::fprintf(stderr, " -dump [rt|tex|z|f|a|i]: Enabling dunmping of render target, texture, z buffer, frame, " + "alphas, and info (context, vertices), respectively, per draw. Generates lots of data.\n"); std::fprintf(stderr, " -dumprange N[,L,B]: Start dumping from draw N (base 0), stops after L draws, and only " "those draws that are multiples of B (intersection of -dumprange and -dumrangef used)." "Defaults to N=0,L=-1,B=1 (all draws). Only used if -dump used.\n"); @@ -514,12 +514,6 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa std::string str(argv[++i]); s_settings_interface.SetBoolValue("EmuCore/GS", "dump", true); - s_settings_interface.SetIntValue("EmuCore/GS", "saven", 0); - s_settings_interface.SetIntValue("EmuCore/GS", "savel", -1); - s_settings_interface.SetIntValue("EmuCore/GS", "saveb", 1); - s_settings_interface.SetIntValue("EmuCore/GS", "savenf", 0); - s_settings_interface.SetIntValue("EmuCore/GS", "savelf", -1); - s_settings_interface.SetIntValue("EmuCore/GS", "savelf", 1); if (str.find("rt") != std::string::npos) s_settings_interface.SetBoolValue("EmuCore/GS", "save", true); @@ -531,6 +525,8 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa s_settings_interface.SetBoolValue("EmuCore/GS", "savez", true); if (str.find("a") != std::string::npos) s_settings_interface.SetBoolValue("EmuCore/GS", "savea", true); + if (str.find("i") != std::string::npos) + s_settings_interface.SetBoolValue("EmuCore/GS", "savei", true); continue; } else if (CHECK_ARG_PARAM("-dumprange")) @@ -580,7 +576,7 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa } s_settings_interface.SetIntValue("EmuCore/GS", "savenf", start); s_settings_interface.SetIntValue("EmuCore/GS", "savelf", num); - s_settings_interface.SetIntValue("EmuCore/GS", "savelb", by); + s_settings_interface.SetIntValue("EmuCore/GS", "savebf", by); continue; } else if (CHECK_ARG_PARAM("-dumpdirhw")) @@ -742,6 +738,10 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa s_settings_interface.SetStringValue("EmuCore/GS", "HWDumpDirectory", dumpdir.c_str()); if (s_settings_interface.GetStringValue("EmuCore/GS", "SWDumpDirectory").empty()) s_settings_interface.SetStringValue("EmuCore/GS", "SWDumpDirectory", dumpdir.c_str()); + + // Disable saving frames with SaveSnapshotToMemory() + // Instead we save more "raw" snapshots when using -dump. + s_output_prefix = ""; } // set up the frame dump directory diff --git a/pcsx2-gsrunner/test_check_dumps.py b/pcsx2-gsrunner/test_check_dumps.py index 5c48b7a557b2f..e00407ab11a13 100644 --- a/pcsx2-gsrunner/test_check_dumps.py +++ b/pcsx2-gsrunner/test_check_dumps.py @@ -113,8 +113,15 @@ def check_regression_test(baselinedir, testdir, name): path2 = os.path.join(dir2, imagename) if not os.path.isfile(path2): print("--- Frame %u for %s is missing in test set" % (framenum, name)) - write("

{}

".format(name)) - write("--- Frame %u for %s is missing in test set" % (framenum, name)) + if first_fail: + write("

{}

".format(name)) + + if first_fail == False: + write("") + write("
--- Frame %u for %s is missing in test set
" % (framenum, name)) + write("") + else: + write("
--- Frame %u for %s is missing in test set
" % (framenum, name)) return False if not compare_frames(path1, path2): diff --git a/pcsx2-qt/AboutDialog.cpp b/pcsx2-qt/AboutDialog.cpp index 4af9e5a7dba7e..d8958add313cb 100644 --- a/pcsx2-qt/AboutDialog.cpp +++ b/pcsx2-qt/AboutDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "pcsx2/SupportURLs.h" diff --git a/pcsx2-qt/AboutDialog.h b/pcsx2-qt/AboutDialog.h index 84fcdeced53a7..4a490d282f5b2 100644 --- a/pcsx2-qt/AboutDialog.h +++ b/pcsx2-qt/AboutDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/AutoUpdaterDialog.cpp b/pcsx2-qt/AutoUpdaterDialog.cpp index d08225350c257..29cc168b00a62 100644 --- a/pcsx2-qt/AutoUpdaterDialog.cpp +++ b/pcsx2-qt/AutoUpdaterDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AutoUpdaterDialog.h" diff --git a/pcsx2-qt/AutoUpdaterDialog.h b/pcsx2-qt/AutoUpdaterDialog.h index 51264c82627fd..214fa84561c49 100644 --- a/pcsx2-qt/AutoUpdaterDialog.h +++ b/pcsx2-qt/AutoUpdaterDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/ColorPickerButton.cpp b/pcsx2-qt/ColorPickerButton.cpp index 88d62cb170c14..1f1b6d1c7c208 100644 --- a/pcsx2-qt/ColorPickerButton.cpp +++ b/pcsx2-qt/ColorPickerButton.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ColorPickerButton.h" diff --git a/pcsx2-qt/ColorPickerButton.h b/pcsx2-qt/ColorPickerButton.h index af5d1e22630f1..858a07fab850b 100644 --- a/pcsx2-qt/ColorPickerButton.h +++ b/pcsx2-qt/ColorPickerButton.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/CoverDownloadDialog.cpp b/pcsx2-qt/CoverDownloadDialog.cpp index a9e9afe3d6039..ae456610c3217 100644 --- a/pcsx2-qt/CoverDownloadDialog.cpp +++ b/pcsx2-qt/CoverDownloadDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CoverDownloadDialog.h" diff --git a/pcsx2-qt/CoverDownloadDialog.h b/pcsx2-qt/CoverDownloadDialog.h index 1467f504849ca..a84d8561f4ff8 100644 --- a/pcsx2-qt/CoverDownloadDialog.h +++ b/pcsx2-qt/CoverDownloadDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/AnalysisOptionsDialog.cpp b/pcsx2-qt/Debugger/AnalysisOptionsDialog.cpp index 7274e5b97ad70..f0ab7a56707e4 100644 --- a/pcsx2-qt/Debugger/AnalysisOptionsDialog.cpp +++ b/pcsx2-qt/Debugger/AnalysisOptionsDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AnalysisOptionsDialog.h" diff --git a/pcsx2-qt/Debugger/AnalysisOptionsDialog.h b/pcsx2-qt/Debugger/AnalysisOptionsDialog.h index 87d977fdb5ddd..bca7f43442c07 100644 --- a/pcsx2-qt/Debugger/AnalysisOptionsDialog.h +++ b/pcsx2-qt/Debugger/AnalysisOptionsDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/BreakpointDialog.cpp b/pcsx2-qt/Debugger/BreakpointDialog.cpp index b38b9f38a0b6a..5cee329a2d1c3 100644 --- a/pcsx2-qt/Debugger/BreakpointDialog.cpp +++ b/pcsx2-qt/Debugger/BreakpointDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BreakpointDialog.h" diff --git a/pcsx2-qt/Debugger/BreakpointDialog.h b/pcsx2-qt/Debugger/BreakpointDialog.h index 702293cd23570..61fc3fea1c789 100644 --- a/pcsx2-qt/Debugger/BreakpointDialog.h +++ b/pcsx2-qt/Debugger/BreakpointDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/CpuWidget.cpp b/pcsx2-qt/Debugger/CpuWidget.cpp index 0dab3711c935e..76f49e67b2781 100644 --- a/pcsx2-qt/Debugger/CpuWidget.cpp +++ b/pcsx2-qt/Debugger/CpuWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CpuWidget.h" @@ -336,7 +336,7 @@ void CpuWidget::onVMPaused() } else { - m_ui.disassemblyWidget->gotoAddress(m_cpu.getPC(), false); + m_ui.disassemblyWidget->gotoProgramCounterOnPause(); } reloadCPUWidgets(); diff --git a/pcsx2-qt/Debugger/CpuWidget.h b/pcsx2-qt/Debugger/CpuWidget.h index f5033984a108d..2f96ead06564e 100644 --- a/pcsx2-qt/Debugger/CpuWidget.h +++ b/pcsx2-qt/Debugger/CpuWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/DebuggerSettingsManager.cpp b/pcsx2-qt/Debugger/DebuggerSettingsManager.cpp index aa5193c2accb2..f4b7ace1ca22c 100644 --- a/pcsx2-qt/Debugger/DebuggerSettingsManager.cpp +++ b/pcsx2-qt/Debugger/DebuggerSettingsManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DebuggerSettingsManager.h" @@ -9,7 +9,6 @@ #include #include "common/Console.h" -#include "fmt/core.h" #include "VMManager.h" #include "Models/BreakpointModel.h" diff --git a/pcsx2-qt/Debugger/DebuggerSettingsManager.h b/pcsx2-qt/Debugger/DebuggerSettingsManager.h index 35a81d384f704..4cbf373543b8e 100644 --- a/pcsx2-qt/Debugger/DebuggerSettingsManager.h +++ b/pcsx2-qt/Debugger/DebuggerSettingsManager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/DebuggerWindow.cpp b/pcsx2-qt/Debugger/DebuggerWindow.cpp index 4fba8fe8614ac..ee43eafa06340 100644 --- a/pcsx2-qt/Debugger/DebuggerWindow.cpp +++ b/pcsx2-qt/Debugger/DebuggerWindow.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DebuggerWindow.h" diff --git a/pcsx2-qt/Debugger/DebuggerWindow.h b/pcsx2-qt/Debugger/DebuggerWindow.h index 07e46e2ee17ed..26b4b0fc5d384 100644 --- a/pcsx2-qt/Debugger/DebuggerWindow.h +++ b/pcsx2-qt/Debugger/DebuggerWindow.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/DisassemblyWidget.cpp b/pcsx2-qt/Debugger/DisassemblyWidget.cpp index 9e70214bb0625..097a5d566a7f8 100644 --- a/pcsx2-qt/Debugger/DisassemblyWidget.cpp +++ b/pcsx2-qt/Debugger/DisassemblyWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DisassemblyWidget.h" @@ -656,6 +656,12 @@ void DisassemblyWidget::customMenuRequested(QPoint pos) connect(action, &QAction::triggered, this, &DisassemblyWidget::contextGoToAddress); contextMenu->addAction(action = new QAction(tr("Go to in Memory View"), this)); connect(action, &QAction::triggered, this, [this]() { gotoInMemory(m_selectedAddressStart); }); + + contextMenu->addAction(action = new QAction(tr("Go to PC on Pause"), this)); + action->setCheckable(true); + action->setChecked(m_goToProgramCounterOnPause); + connect(action, &QAction::triggered, this, [this](bool value) { m_goToProgramCounterOnPause = value; }); + contextMenu->addSeparator(); contextMenu->addAction(action = new QAction(tr("Add Function"), this)); connect(action, &QAction::triggered, this, &DisassemblyWidget::contextAddFunction); @@ -822,6 +828,12 @@ void DisassemblyWidget::gotoAddressAndSetFocus(u32 address) gotoAddress(address, true); } +void DisassemblyWidget::gotoProgramCounterOnPause() +{ + if (m_goToProgramCounterOnPause) + gotoAddress(m_cpu->getPC(), false); +} + void DisassemblyWidget::gotoAddress(u32 address, bool should_set_focus) { const u32 destAddress = address & ~3; diff --git a/pcsx2-qt/Debugger/DisassemblyWidget.h b/pcsx2-qt/Debugger/DisassemblyWidget.h index d6ba1318c5f41..9d2670c48774e 100644 --- a/pcsx2-qt/Debugger/DisassemblyWidget.h +++ b/pcsx2-qt/Debugger/DisassemblyWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -59,6 +59,7 @@ public slots: void contextShowOpcode(); void gotoAddressAndSetFocus(u32 address); + void gotoProgramCounterOnPause(); void gotoAddress(u32 address, bool should_set_focus); void setDemangle(bool demangle) { m_demangleFunctions = demangle; }; @@ -82,6 +83,7 @@ public slots: bool m_demangleFunctions = true; bool m_showInstructionOpcode = true; + bool m_goToProgramCounterOnPause = true; DisassemblyManager m_disassemblyManager; inline QString DisassemblyStringFromAddress(u32 address, QFont font, u32 pc, bool selected); diff --git a/pcsx2-qt/Debugger/MemorySearchWidget.cpp b/pcsx2-qt/Debugger/MemorySearchWidget.cpp index 62cab7b2f9984..7ebdcce08922d 100644 --- a/pcsx2-qt/Debugger/MemorySearchWidget.cpp +++ b/pcsx2-qt/Debugger/MemorySearchWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MemorySearchWidget.h" diff --git a/pcsx2-qt/Debugger/MemorySearchWidget.h b/pcsx2-qt/Debugger/MemorySearchWidget.h index c436894aa7b9e..aa4c779b67161 100644 --- a/pcsx2-qt/Debugger/MemorySearchWidget.h +++ b/pcsx2-qt/Debugger/MemorySearchWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/MemoryViewWidget.cpp b/pcsx2-qt/Debugger/MemoryViewWidget.cpp index 5fa56ff741f3e..5753bcce5da4e 100644 --- a/pcsx2-qt/Debugger/MemoryViewWidget.cpp +++ b/pcsx2-qt/Debugger/MemoryViewWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MemoryViewWidget.h" diff --git a/pcsx2-qt/Debugger/MemoryViewWidget.h b/pcsx2-qt/Debugger/MemoryViewWidget.h index 61de2f3ab27b2..03bc5baac8d46 100644 --- a/pcsx2-qt/Debugger/MemoryViewWidget.h +++ b/pcsx2-qt/Debugger/MemoryViewWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/Models/BreakpointModel.cpp b/pcsx2-qt/Debugger/Models/BreakpointModel.cpp index fc4daa293ab38..dffa63d7ef511 100644 --- a/pcsx2-qt/Debugger/Models/BreakpointModel.cpp +++ b/pcsx2-qt/Debugger/Models/BreakpointModel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BreakpointModel.h" diff --git a/pcsx2-qt/Debugger/Models/BreakpointModel.h b/pcsx2-qt/Debugger/Models/BreakpointModel.h index 165d54cdde3a7..267bfde42d053 100644 --- a/pcsx2-qt/Debugger/Models/BreakpointModel.h +++ b/pcsx2-qt/Debugger/Models/BreakpointModel.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/Models/SavedAddressesModel.cpp b/pcsx2-qt/Debugger/Models/SavedAddressesModel.cpp index 66924c199e3f3..069873e339a9f 100644 --- a/pcsx2-qt/Debugger/Models/SavedAddressesModel.cpp +++ b/pcsx2-qt/Debugger/Models/SavedAddressesModel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "PrecompiledHeader.h" diff --git a/pcsx2-qt/Debugger/Models/SavedAddressesModel.h b/pcsx2-qt/Debugger/Models/SavedAddressesModel.h index 46446993412ce..2434721f31d95 100644 --- a/pcsx2-qt/Debugger/Models/SavedAddressesModel.h +++ b/pcsx2-qt/Debugger/Models/SavedAddressesModel.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/Models/StackModel.cpp b/pcsx2-qt/Debugger/Models/StackModel.cpp index 8684d17152a76..eaec381a2fe9c 100644 --- a/pcsx2-qt/Debugger/Models/StackModel.cpp +++ b/pcsx2-qt/Debugger/Models/StackModel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "StackModel.h" diff --git a/pcsx2-qt/Debugger/Models/StackModel.h b/pcsx2-qt/Debugger/Models/StackModel.h index 423a1b656c642..3962b2cd2a1b5 100644 --- a/pcsx2-qt/Debugger/Models/StackModel.h +++ b/pcsx2-qt/Debugger/Models/StackModel.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/Models/ThreadModel.cpp b/pcsx2-qt/Debugger/Models/ThreadModel.cpp index 593bfcebffedf..2a9a2791dcd63 100644 --- a/pcsx2-qt/Debugger/Models/ThreadModel.cpp +++ b/pcsx2-qt/Debugger/Models/ThreadModel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ThreadModel.h" diff --git a/pcsx2-qt/Debugger/Models/ThreadModel.h b/pcsx2-qt/Debugger/Models/ThreadModel.h index d508ee3f62167..1118fa1b6df03 100644 --- a/pcsx2-qt/Debugger/Models/ThreadModel.h +++ b/pcsx2-qt/Debugger/Models/ThreadModel.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/RegisterWidget.cpp b/pcsx2-qt/Debugger/RegisterWidget.cpp index b558eb0f3cb39..b0c80a0bd057e 100644 --- a/pcsx2-qt/Debugger/RegisterWidget.cpp +++ b/pcsx2-qt/Debugger/RegisterWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "RegisterWidget.h" diff --git a/pcsx2-qt/Debugger/RegisterWidget.h b/pcsx2-qt/Debugger/RegisterWidget.h index e22cd4dc0a849..cfe9cb47995ad 100644 --- a/pcsx2-qt/Debugger/RegisterWidget.h +++ b/pcsx2-qt/Debugger/RegisterWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.cpp b/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.cpp index 186393bcce67e..e3fb7caf89dad 100644 --- a/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.cpp +++ b/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "NewSymbolDialogs.h" diff --git a/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.h b/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.h index 6cad860bdeefd..8ac4b771a3fee 100644 --- a/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.h +++ b/pcsx2-qt/Debugger/SymbolTree/NewSymbolDialogs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.cpp b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.cpp index 2922d08ef8834..3cf501d6cb559 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.cpp +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #include "SymbolTreeDelegates.h" diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.h b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.h index d0aee3a4c36d6..ebec7f9beb92a 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.h +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeDelegates.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.cpp b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.cpp index 70f95d94f42e5..026aa27ca6e9d 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.cpp +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #include "SymbolTreeLocation.h" diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.h b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.h index e81d61ea955a2..5a37bc1026f53 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.h +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeLocation.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.cpp b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.cpp index 1610a6040f798..dab913e95ba17 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.cpp +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #include "SymbolTreeModel.h" @@ -460,8 +460,8 @@ std::vector> SymbolTreeModel::populateChildren( for (const ccc::ast::StructOrUnion::FlatField& field : fields) { - if (symbol) - parent_handle = ccc::NodeHandle(*symbol, nullptr); + if (field.symbol) + parent_handle = ccc::NodeHandle(*field.symbol, nullptr); SymbolTreeLocation field_location = location.addOffset(field.base_offset + field.node->offset_bytes); if (field_location.type == SymbolTreeLocation::NONE) diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.h b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.h index c4dc2dc560bff..b2b31b90f42fe 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.h +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeModel.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.cpp b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.cpp index 98344928656fe..00a4093ccfab4 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.cpp +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #include "SymbolTreeNode.h" diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.h b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.h index 3437023bc9b1c..df87d1a1e849f 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.h +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeNode.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.cpp b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.cpp index 93593305dc9fb..a8b8ade04fd97 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.cpp +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SymbolTreeWidgets.h" diff --git a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.h b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.h index 8cc6ae3373ecd..b74138bbc9a5f 100644 --- a/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.h +++ b/pcsx2-qt/Debugger/SymbolTree/SymbolTreeWidgets.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Debugger/SymbolTree/TypeString.cpp b/pcsx2-qt/Debugger/SymbolTree/TypeString.cpp index 121f5e2dbfacb..7056f9d16992b 100644 --- a/pcsx2-qt/Debugger/SymbolTree/TypeString.cpp +++ b/pcsx2-qt/Debugger/SymbolTree/TypeString.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #include "TypeString.h" diff --git a/pcsx2-qt/Debugger/SymbolTree/TypeString.h b/pcsx2-qt/Debugger/SymbolTree/TypeString.h index 35ecca659fb1d..d0aa4e948b776 100644 --- a/pcsx2-qt/Debugger/SymbolTree/TypeString.h +++ b/pcsx2-qt/Debugger/SymbolTree/TypeString.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: LGPL-3.0+ #pragma once diff --git a/pcsx2-qt/DisplayWidget.cpp b/pcsx2-qt/DisplayWidget.cpp index e3b9d1ede5073..e8279fc090545 100644 --- a/pcsx2-qt/DisplayWidget.cpp +++ b/pcsx2-qt/DisplayWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DisplayWidget.h" diff --git a/pcsx2-qt/DisplayWidget.h b/pcsx2-qt/DisplayWidget.h index 904c0f355ea74..63334cdf42c71 100644 --- a/pcsx2-qt/DisplayWidget.h +++ b/pcsx2-qt/DisplayWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/EarlyHardwareCheck.cpp b/pcsx2-qt/EarlyHardwareCheck.cpp index 7399e01e60903..aca47b9646a3c 100644 --- a/pcsx2-qt/EarlyHardwareCheck.cpp +++ b/pcsx2-qt/EarlyHardwareCheck.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #if defined(_WIN32) && defined(_MSC_VER) diff --git a/pcsx2-qt/GameList/GameListModel.cpp b/pcsx2-qt/GameList/GameListModel.cpp index 001b740f70438..fb4415dc5a030 100644 --- a/pcsx2-qt/GameList/GameListModel.cpp +++ b/pcsx2-qt/GameList/GameListModel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GameListModel.h" diff --git a/pcsx2-qt/GameList/GameListModel.h b/pcsx2-qt/GameList/GameListModel.h index bb7f56204864f..f331f2cabda6b 100644 --- a/pcsx2-qt/GameList/GameListModel.h +++ b/pcsx2-qt/GameList/GameListModel.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/GameList/GameListRefreshThread.cpp b/pcsx2-qt/GameList/GameListRefreshThread.cpp index 8c7893bd65a76..5b3084389c13b 100644 --- a/pcsx2-qt/GameList/GameListRefreshThread.cpp +++ b/pcsx2-qt/GameList/GameListRefreshThread.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GameListRefreshThread.h" diff --git a/pcsx2-qt/GameList/GameListRefreshThread.h b/pcsx2-qt/GameList/GameListRefreshThread.h index 6da99166ac51a..40efd74911ac3 100644 --- a/pcsx2-qt/GameList/GameListRefreshThread.h +++ b/pcsx2-qt/GameList/GameListRefreshThread.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/GameList/GameListWidget.cpp b/pcsx2-qt/GameList/GameListWidget.cpp index 81a465f1a209e..d308d48013143 100644 --- a/pcsx2-qt/GameList/GameListWidget.cpp +++ b/pcsx2-qt/GameList/GameListWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GameListModel.h" diff --git a/pcsx2-qt/GameList/GameListWidget.h b/pcsx2-qt/GameList/GameListWidget.h index dedfbf216900e..840fe4e61df2f 100644 --- a/pcsx2-qt/GameList/GameListWidget.h +++ b/pcsx2-qt/GameList/GameListWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/LogWindow.cpp b/pcsx2-qt/LogWindow.cpp index a7898e9934ef9..7c5b95ed233b9 100644 --- a/pcsx2-qt/LogWindow.cpp +++ b/pcsx2-qt/LogWindow.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "LogWindow.h" diff --git a/pcsx2-qt/LogWindow.h b/pcsx2-qt/LogWindow.h index 047f53f2d26d8..0458de5e19a96 100644 --- a/pcsx2-qt/LogWindow.h +++ b/pcsx2-qt/LogWindow.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/MainWindow.cpp b/pcsx2-qt/MainWindow.cpp index 78eb8f82a115f..7b3eaa8ec62ab 100644 --- a/pcsx2-qt/MainWindow.cpp +++ b/pcsx2-qt/MainWindow.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AboutDialog.h" @@ -1346,9 +1346,8 @@ void MainWindow::onGameListEntryContextMenuRequested(const QPoint& point) if (action->isEnabled()) { connect(action, &QAction::triggered, [entry]() { - SettingsWindow::openGamePropertiesDialog(entry, entry->title, - (entry->type != GameList::EntryType::ELF) ? entry->serial : std::string(), - entry->crc); + SettingsWindow::openGamePropertiesDialog(entry, + entry->title, entry->serial, entry->crc, entry->type == GameList::EntryType::ELF); }); } @@ -1564,7 +1563,7 @@ void MainWindow::onViewGamePropertiesActionTriggered() if (entry) { SettingsWindow::openGamePropertiesDialog( - entry, entry->title, s_current_elf_override.isEmpty() ? entry->serial : std::string(), entry->crc); + entry, entry->title, entry->serial, entry->crc, !s_current_elf_override.isEmpty()); return; } } @@ -1580,12 +1579,12 @@ void MainWindow::onViewGamePropertiesActionTriggered() if (s_current_elf_override.isEmpty()) { SettingsWindow::openGamePropertiesDialog( - nullptr, s_current_title.toStdString(), s_current_disc_serial.toStdString(), s_current_disc_crc); + nullptr, s_current_title.toStdString(), s_current_disc_serial.toStdString(), s_current_disc_crc, false); } else { SettingsWindow::openGamePropertiesDialog( - nullptr, s_current_title.toStdString(), std::string(), s_current_disc_crc); + nullptr, s_current_title.toStdString(), std::string(), s_current_disc_crc, true); } } diff --git a/pcsx2-qt/MainWindow.h b/pcsx2-qt/MainWindow.h index b907753c4e555..8c3d22d519681 100644 --- a/pcsx2-qt/MainWindow.h +++ b/pcsx2-qt/MainWindow.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/PrecompiledHeader.cpp b/pcsx2-qt/PrecompiledHeader.cpp index 8ac5a5df696d6..c58ca9311f4be 100644 --- a/pcsx2-qt/PrecompiledHeader.cpp +++ b/pcsx2-qt/PrecompiledHeader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "PrecompiledHeader.h" diff --git a/pcsx2-qt/PrecompiledHeader.h b/pcsx2-qt/PrecompiledHeader.h index 430b966f2c824..109602a997922 100644 --- a/pcsx2-qt/PrecompiledHeader.h +++ b/pcsx2-qt/PrecompiledHeader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "pcsx2/PrecompiledHeader.h" diff --git a/pcsx2-qt/QtHost.cpp b/pcsx2-qt/QtHost.cpp index fcc976d44a8c8..04eb781767d71 100644 --- a/pcsx2-qt/QtHost.cpp +++ b/pcsx2-qt/QtHost.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AutoUpdaterDialog.h" @@ -51,7 +51,7 @@ #include #include -#include "fmt/core.h" +#include "fmt/format.h" #include #include diff --git a/pcsx2-qt/QtHost.h b/pcsx2-qt/QtHost.h index 690bd33d05479..1b89dc42e02ba 100644 --- a/pcsx2-qt/QtHost.h +++ b/pcsx2-qt/QtHost.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/QtKeyCodes.cpp b/pcsx2-qt/QtKeyCodes.cpp index c0fb37e20f1b9..0df2f7cbf3a22 100644 --- a/pcsx2-qt/QtKeyCodes.cpp +++ b/pcsx2-qt/QtKeyCodes.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "QtUtils.h" diff --git a/pcsx2-qt/QtProgressCallback.cpp b/pcsx2-qt/QtProgressCallback.cpp index de193ef82381d..d01c93e3bf0ff 100644 --- a/pcsx2-qt/QtProgressCallback.cpp +++ b/pcsx2-qt/QtProgressCallback.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/pcsx2-qt/QtProgressCallback.h b/pcsx2-qt/QtProgressCallback.h index 3c042fb4bf9f0..7c26573e66d52 100644 --- a/pcsx2-qt/QtProgressCallback.h +++ b/pcsx2-qt/QtProgressCallback.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/QtUtils.cpp b/pcsx2-qt/QtUtils.cpp index 55ed7516fcff7..25ee99b67fa8b 100644 --- a/pcsx2-qt/QtUtils.cpp +++ b/pcsx2-qt/QtUtils.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "QtUtils.h" diff --git a/pcsx2-qt/QtUtils.h b/pcsx2-qt/QtUtils.h index f71967d91c7ca..c43e6f9260676 100644 --- a/pcsx2-qt/QtUtils.h +++ b/pcsx2-qt/QtUtils.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/SettingWidgetBinder.h b/pcsx2-qt/SettingWidgetBinder.h index f76df54b8c747..4240ccb2e344c 100644 --- a/pcsx2-qt/SettingWidgetBinder.h +++ b/pcsx2-qt/SettingWidgetBinder.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -656,6 +657,26 @@ namespace SettingWidgetBinder } }; + template <> + struct SettingAccessor + { + static int getYear(const QDateTimeEdit* widget) { return widget->date().year(); } + static int getMonth(const QDateTimeEdit* widget) { return widget->date().month(); } + static int getDay(const QDateTimeEdit* widget) { return widget->date().day(); } + + static int getHour(const QDateTimeEdit* widget) { return widget->time().hour(); } + static int getMinute(const QDateTimeEdit* widget) { return widget->time().minute(); } + static int getSecond(const QDateTimeEdit* widget) { return widget->time().second(); } + + static void setDateTime(QDateTimeEdit* widget, const QDate date, const QTime time) { widget->setDateTime(QDateTime(date, time)); } + + template + static void connectValueChanged(QDateTimeEdit* widget, F func) + { + widget->connect(widget, &QDateTimeEdit::dateTimeChanged, func); + } + }; + /// Binds a widget's value to a setting, updating it when the value changes. template @@ -1239,4 +1260,105 @@ namespace SettingWidgetBinder widget->connect(widget, &QLineEdit::editingFinished, widget, std::move(value_changed)); } + + // No need to pass a section or key since this is only used once and has six keys associated with it + static inline void BindWidgetToDateTimeSetting(SettingsInterface* sif, QDateTimeEdit* widget, std::string section) + { + using Accessor = SettingAccessor; + + const int YEAR_OFFSET = 2000; + const int DEFAULT_YEAR = 0; + const int DEFAULT_MONTH = 1; + const int DEFAULT_DAY = 1; + const int DEFAULT_HOUR = 0; + const int DEFAULT_MINUTE = 0; + const int DEFAULT_SECOND = 0; + + const char* YEAR_KEY = "RtcYear"; + const char* MONTH_KEY = "RtcMonth"; + const char* DAY_KEY = "RtcDay"; + const char* HOUR_KEY = "RtcHour"; + const char* MINUTE_KEY = "RtcMinute"; + const char* SECOND_KEY = "RtcSecond"; + + // Fetch settings from .ini + const s32 year_value = + Host::GetBaseIntSettingValue(section.c_str(), YEAR_KEY, static_cast(DEFAULT_YEAR)); + const s32 month_value = + Host::GetBaseIntSettingValue(section.c_str(), MONTH_KEY, static_cast(DEFAULT_MONTH)); + const s32 day_value = + Host::GetBaseIntSettingValue(section.c_str(), DAY_KEY, static_cast(DEFAULT_DAY)); + const s32 hour_value = + Host::GetBaseIntSettingValue(section.c_str(), HOUR_KEY, static_cast(DEFAULT_HOUR)); + const s32 minute_value = + Host::GetBaseIntSettingValue(section.c_str(), MINUTE_KEY, static_cast(DEFAULT_MINUTE)); + const s32 second_value = + Host::GetBaseIntSettingValue(section.c_str(), SECOND_KEY, static_cast(DEFAULT_SECOND)); + + if (sif) + { + int sif_year_value = DEFAULT_YEAR; + int sif_month_value = DEFAULT_MONTH; + int sif_day_value = DEFAULT_DAY; + int sif_hour_value = DEFAULT_HOUR; + int sif_minute_value = DEFAULT_MINUTE; + int sif_second_value = DEFAULT_SECOND; + + // Get Settings Interface values or default if that fails + if (!sif->GetIntValue(section.c_str(), YEAR_KEY, &sif_year_value)) { sif_year_value = DEFAULT_YEAR; } + if (!sif->GetIntValue(section.c_str(), MONTH_KEY, &sif_month_value)) { sif_month_value = DEFAULT_MONTH; } + if (!sif->GetIntValue(section.c_str(), DAY_KEY, &sif_day_value)) { sif_day_value = DEFAULT_DAY; } + if (!sif->GetIntValue(section.c_str(), HOUR_KEY, &sif_hour_value)) { sif_hour_value = DEFAULT_HOUR; } + if (!sif->GetIntValue(section.c_str(), MINUTE_KEY, &sif_minute_value)) { sif_minute_value = DEFAULT_MINUTE; } + if (!sif->GetIntValue(section.c_str(), SECOND_KEY, &sif_second_value)) { sif_second_value = DEFAULT_SECOND; } + + // No need to check for valid date since QDateTime resets to minimum upon becoming invalid + Accessor::setDateTime(widget, QDate(static_cast(sif_year_value + YEAR_OFFSET), static_cast(sif_month_value), static_cast(sif_day_value)), + QTime(static_cast(sif_hour_value), static_cast(sif_minute_value), static_cast(sif_second_value))); + + // Update the settings interface and reload the game settings when changed + Accessor::connectValueChanged(widget, [sif, widget, section = std::move(section), YEAR_KEY = std::move(YEAR_KEY), MONTH_KEY = std::move(MONTH_KEY), + DAY_KEY = std::move(DAY_KEY), HOUR_KEY = std::move(HOUR_KEY), MINUTE_KEY = std::move(MINUTE_KEY), SECOND_KEY = std::move(SECOND_KEY), YEAR_OFFSET = std::move(YEAR_OFFSET)]() { + + sif->SetIntValue(section.c_str(), YEAR_KEY, Accessor::getYear(widget) - YEAR_OFFSET); + sif->SetIntValue(section.c_str(), MONTH_KEY, Accessor::getMonth(widget)); + sif->SetIntValue(section.c_str(), DAY_KEY, Accessor::getDay(widget)); + sif->SetIntValue(section.c_str(), HOUR_KEY, Accessor::getHour(widget)); + sif->SetIntValue(section.c_str(), MINUTE_KEY, Accessor::getMinute(widget)); + sif->SetIntValue(section.c_str(), SECOND_KEY, Accessor::getSecond(widget)); + + QtHost::SaveGameSettings(sif, true); + g_emu_thread->reloadGameSettings(); + }); + } + + else + { + // No need to check for valid date since QDateTime resets to minimum upon becoming invalid + Accessor::setDateTime(widget, QDate(static_cast(year_value + YEAR_OFFSET), static_cast(month_value), static_cast(day_value)), + QTime(static_cast(hour_value), static_cast(minute_value), static_cast(second_value))); + + // Update and apply base settings with values from widget when user changes it in UI + Accessor::connectValueChanged(widget, [widget, section = std::move(section), YEAR_KEY = std::move(YEAR_KEY), MONTH_KEY = std::move(MONTH_KEY), + DAY_KEY = std::move(DAY_KEY), HOUR_KEY = std::move(HOUR_KEY), MINUTE_KEY = std::move(MINUTE_KEY), SECOND_KEY = std::move(SECOND_KEY), YEAR_OFFSET = std::move(YEAR_OFFSET)]() { + + const int new_year_value = Accessor::getYear(widget); + const int new_month_value = Accessor::getMonth(widget); + const int new_day_value = Accessor::getDay(widget); + const int new_hour_value = Accessor::getHour(widget); + const int new_minute_value = Accessor::getMinute(widget); + const int new_second_value = Accessor::getSecond(widget); + + Host::SetBaseIntSettingValue(section.c_str(), YEAR_KEY, new_year_value - YEAR_OFFSET); + Host::SetBaseIntSettingValue(section.c_str(), MONTH_KEY, new_month_value); + Host::SetBaseIntSettingValue(section.c_str(), DAY_KEY, new_day_value); + Host::SetBaseIntSettingValue(section.c_str(), HOUR_KEY, new_hour_value); + Host::SetBaseIntSettingValue(section.c_str(), MINUTE_KEY, new_minute_value); + Host::SetBaseIntSettingValue(section.c_str(), SECOND_KEY, new_second_value); + Host::CommitBaseSettingChanges(); + g_emu_thread->applySettings(); + }); + } + + } } // namespace SettingWidgetBinder diff --git a/pcsx2-qt/Settings/AchievementLoginDialog.cpp b/pcsx2-qt/Settings/AchievementLoginDialog.cpp index c60e1f6c796b3..711be01d71c60 100644 --- a/pcsx2-qt/Settings/AchievementLoginDialog.cpp +++ b/pcsx2-qt/Settings/AchievementLoginDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AchievementLoginDialog.h" diff --git a/pcsx2-qt/Settings/AchievementLoginDialog.h b/pcsx2-qt/Settings/AchievementLoginDialog.h index d90691f4f2dcb..d7bfc11012c18 100644 --- a/pcsx2-qt/Settings/AchievementLoginDialog.h +++ b/pcsx2-qt/Settings/AchievementLoginDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/AchievementSettingsWidget.cpp b/pcsx2-qt/Settings/AchievementSettingsWidget.cpp index cf6416c3b48e0..d0e83748f28e5 100644 --- a/pcsx2-qt/Settings/AchievementSettingsWidget.cpp +++ b/pcsx2-qt/Settings/AchievementSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AchievementSettingsWidget.h" diff --git a/pcsx2-qt/Settings/AchievementSettingsWidget.h b/pcsx2-qt/Settings/AchievementSettingsWidget.h index f7f978b7cfab5..79027f50f7245 100644 --- a/pcsx2-qt/Settings/AchievementSettingsWidget.h +++ b/pcsx2-qt/Settings/AchievementSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp b/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp index acd4903fe4435..6fe70187a26b2 100644 --- a/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp +++ b/pcsx2-qt/Settings/AdvancedSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/AdvancedSettingsWidget.h b/pcsx2-qt/Settings/AdvancedSettingsWidget.h index 40e2b8903ef3b..e66e91bff5463 100644 --- a/pcsx2-qt/Settings/AdvancedSettingsWidget.h +++ b/pcsx2-qt/Settings/AdvancedSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/AudioSettingsWidget.cpp b/pcsx2-qt/Settings/AudioSettingsWidget.cpp index 4a3be6ba93cf1..3a02915f58569 100644 --- a/pcsx2-qt/Settings/AudioSettingsWidget.cpp +++ b/pcsx2-qt/Settings/AudioSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AudioSettingsWidget.h" diff --git a/pcsx2-qt/Settings/AudioSettingsWidget.h b/pcsx2-qt/Settings/AudioSettingsWidget.h index 021a7a4505a88..2e342eb70d720 100644 --- a/pcsx2-qt/Settings/AudioSettingsWidget.h +++ b/pcsx2-qt/Settings/AudioSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/BIOSSettingsWidget.cpp b/pcsx2-qt/Settings/BIOSSettingsWidget.cpp index 3ba0352d648ec..6d46c219fe59b 100644 --- a/pcsx2-qt/Settings/BIOSSettingsWidget.cpp +++ b/pcsx2-qt/Settings/BIOSSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BIOSSettingsWidget.h" diff --git a/pcsx2-qt/Settings/BIOSSettingsWidget.h b/pcsx2-qt/Settings/BIOSSettingsWidget.h index d2ae299551191..883ceade127ba 100644 --- a/pcsx2-qt/Settings/BIOSSettingsWidget.h +++ b/pcsx2-qt/Settings/BIOSSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/ControllerBindingWidget.cpp b/pcsx2-qt/Settings/ControllerBindingWidget.cpp index e351a90f02fd5..10b8bca3ec235 100644 --- a/pcsx2-qt/Settings/ControllerBindingWidget.cpp +++ b/pcsx2-qt/Settings/ControllerBindingWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/ControllerBindingWidget.h b/pcsx2-qt/Settings/ControllerBindingWidget.h index 747791639a3bc..327ff45c54c59 100644 --- a/pcsx2-qt/Settings/ControllerBindingWidget.h +++ b/pcsx2-qt/Settings/ControllerBindingWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp b/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp index 06f9db5918b44..c67db6770ad04 100644 --- a/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp +++ b/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Settings/ControllerGlobalSettingsWidget.h" diff --git a/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.h b/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.h index a41a74c3561cc..b211ef32591a7 100644 --- a/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.h +++ b/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/ControllerSettingWidgetBinder.h b/pcsx2-qt/Settings/ControllerSettingWidgetBinder.h index 96e2778b6ec5e..74480d4cfc0c5 100644 --- a/pcsx2-qt/Settings/ControllerSettingWidgetBinder.h +++ b/pcsx2-qt/Settings/ControllerSettingWidgetBinder.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/ControllerSettingsWindow.cpp b/pcsx2-qt/Settings/ControllerSettingsWindow.cpp index 6779d15fed742..533cc307b3cb9 100644 --- a/pcsx2-qt/Settings/ControllerSettingsWindow.cpp +++ b/pcsx2-qt/Settings/ControllerSettingsWindow.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "QtHost.h" @@ -38,6 +38,7 @@ ControllerSettingsWindow::ControllerSettingsWindow() connect(m_ui.buttonBox, &QDialogButtonBox::rejected, this, &ControllerSettingsWindow::close); connect(m_ui.newProfile, &QPushButton::clicked, this, &ControllerSettingsWindow::onNewProfileClicked); connect(m_ui.applyProfile, &QPushButton::clicked, this, &ControllerSettingsWindow::onApplyProfileClicked); + connect(m_ui.renameProfile, &QPushButton::clicked, this, &ControllerSettingsWindow::onRenameProfileClicked); connect(m_ui.deleteProfile, &QPushButton::clicked, this, &ControllerSettingsWindow::onDeleteProfileClicked); connect(m_ui.mappingSettings, &QPushButton::clicked, this, &ControllerSettingsWindow::onMappingSettingsClicked); connect(m_ui.restoreDefaults, &QPushButton::clicked, this, &ControllerSettingsWindow::onRestoreDefaultsClicked); @@ -176,6 +177,48 @@ void ControllerSettingsWindow::onApplyProfileClicked() switchProfile({}); } +void ControllerSettingsWindow::onRenameProfileClicked() +{ + const QString profile_name(QInputDialog::getText(this, tr("Rename Input Profile"), + tr("Enter the new name for the input profile:").arg(m_profile_name))); + + if (profile_name.isEmpty()) + return; + + std::string old_profile_name(m_profile_name.toStdString()); + std::string old_profile_path(VMManager::GetInputProfilePath(m_profile_name.toStdString())); + std::string profile_path(VMManager::GetInputProfilePath(profile_name.toStdString())); + if (FileSystem::FileExists(profile_path.c_str())) + { + QMessageBox::critical(this, tr("Error"), tr("A profile with the name '%1' already exists.").arg(profile_name)); + return; + } + + if (!FileSystem::RenamePath(old_profile_path.c_str(), profile_path.c_str())) + { + QMessageBox::critical(this, tr("Error"), tr("Failed to rename '%1'.").arg(QString::fromStdString(old_profile_path))); + return; + } + + FileSystem::FindResultsArray files; + FileSystem::FindFiles(EmuFolders::GameSettings.c_str(), "*", FILESYSTEM_FIND_FILES, &files); + for (const auto& game_settings : files) + { + std::string game_settings_path(game_settings.FileName.c_str()); + std::unique_ptr update_sif(std::make_unique(std::move(game_settings_path))); + + update_sif->Load(); + + if (!old_profile_name.compare(update_sif->GetStringValue("EmuCore", "InputProfileName"))) + { + update_sif->SetStringValue("EmuCore", "InputProfileName", profile_name.toUtf8()); + } + } + + refreshProfileList(); + switchProfile({profile_name}); +} + void ControllerSettingsWindow::onDeleteProfileClicked() { if (QMessageBox::question(this, tr("Delete Input Profile"), @@ -451,6 +494,7 @@ void ControllerSettingsWindow::createWidgets() } m_ui.applyProfile->setEnabled(isEditingProfile()); + m_ui.renameProfile->setEnabled(isEditingProfile()); m_ui.deleteProfile->setEnabled(isEditingProfile()); m_ui.restoreDefaults->setEnabled(isEditingGlobalSettings()); } diff --git a/pcsx2-qt/Settings/ControllerSettingsWindow.h b/pcsx2-qt/Settings/ControllerSettingsWindow.h index 2ee8996a20ec6..147c18c257897 100644 --- a/pcsx2-qt/Settings/ControllerSettingsWindow.h +++ b/pcsx2-qt/Settings/ControllerSettingsWindow.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -76,6 +76,7 @@ private Q_SLOTS: void onCurrentProfileChanged(int index); void onNewProfileClicked(); void onApplyProfileClicked(); + void onRenameProfileClicked(); void onDeleteProfileClicked(); void onMappingSettingsClicked(); void onRestoreDefaultsClicked(); diff --git a/pcsx2-qt/Settings/ControllerSettingsWindow.ui b/pcsx2-qt/Settings/ControllerSettingsWindow.ui index ee04e8c37b21a..dde6ff488ac76 100644 --- a/pcsx2-qt/Settings/ControllerSettingsWindow.ui +++ b/pcsx2-qt/Settings/ControllerSettingsWindow.ui @@ -113,6 +113,16 @@ + + + + Rename Profile + + + + + + diff --git a/pcsx2-qt/Settings/DEV9DnsHostDialog.cpp b/pcsx2-qt/Settings/DEV9DnsHostDialog.cpp index de61963df74b4..d0caf4a440da2 100644 --- a/pcsx2-qt/Settings/DEV9DnsHostDialog.cpp +++ b/pcsx2-qt/Settings/DEV9DnsHostDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/DEV9DnsHostDialog.h b/pcsx2-qt/Settings/DEV9DnsHostDialog.h index 95dd2181e389e..1b8f209eb96f7 100644 --- a/pcsx2-qt/Settings/DEV9DnsHostDialog.h +++ b/pcsx2-qt/Settings/DEV9DnsHostDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/DEV9SettingsWidget.cpp b/pcsx2-qt/Settings/DEV9SettingsWidget.cpp index 0f49fc747aa62..be46577d7fe42 100644 --- a/pcsx2-qt/Settings/DEV9SettingsWidget.cpp +++ b/pcsx2-qt/Settings/DEV9SettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/DEV9SettingsWidget.h b/pcsx2-qt/Settings/DEV9SettingsWidget.h index 8c909dbd19ee9..194949783c7ae 100644 --- a/pcsx2-qt/Settings/DEV9SettingsWidget.h +++ b/pcsx2-qt/Settings/DEV9SettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/DEV9UiCommon.cpp b/pcsx2-qt/Settings/DEV9UiCommon.cpp index c3d635dd00bd8..67e1e2e6c1d01 100644 --- a/pcsx2-qt/Settings/DEV9UiCommon.cpp +++ b/pcsx2-qt/Settings/DEV9UiCommon.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/DEV9UiCommon.h b/pcsx2-qt/Settings/DEV9UiCommon.h index f2862c2ecc3e5..ccbc1bf008f73 100644 --- a/pcsx2-qt/Settings/DEV9UiCommon.h +++ b/pcsx2-qt/Settings/DEV9UiCommon.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.cpp b/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.cpp index b0856068cab92..7be804cf505af 100644 --- a/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.cpp +++ b/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DebugAnalysisSettingsWidget.h" diff --git a/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.h b/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.h index 77192e65a3b7d..410b109aee64d 100644 --- a/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.h +++ b/pcsx2-qt/Settings/DebugAnalysisSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/DebugSettingsWidget.cpp b/pcsx2-qt/Settings/DebugSettingsWidget.cpp index 6bf2078ff7ad9..8264ddf5c9696 100644 --- a/pcsx2-qt/Settings/DebugSettingsWidget.cpp +++ b/pcsx2-qt/Settings/DebugSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DebugSettingsWidget.h" @@ -151,6 +151,14 @@ void DebugSettingsWidget::onDrawDumpingChanged() m_ui.saveFrame->setEnabled(enabled); m_ui.saveTexture->setEnabled(enabled); m_ui.saveDepth->setEnabled(enabled); + m_ui.startDraw->setEnabled(enabled); + m_ui.dumpCount->setEnabled(enabled); + m_ui.hwDumpDirectory->setEnabled(enabled); + m_ui.hwDumpBrowse->setEnabled(enabled); + m_ui.hwDumpOpen->setEnabled(enabled); + m_ui.swDumpDirectory->setEnabled(enabled); + m_ui.swDumpBrowse->setEnabled(enabled); + m_ui.swDumpOpen->setEnabled(enabled); } #ifdef PCSX2_DEVBUILD diff --git a/pcsx2-qt/Settings/DebugSettingsWidget.h b/pcsx2-qt/Settings/DebugSettingsWidget.h index c8999e9839c6c..c7ac5608212d3 100644 --- a/pcsx2-qt/Settings/DebugSettingsWidget.h +++ b/pcsx2-qt/Settings/DebugSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/DebugSettingsWidget.ui b/pcsx2-qt/Settings/DebugSettingsWidget.ui index b242da8be4e2c..e735510dcbeab 100644 --- a/pcsx2-qt/Settings/DebugSettingsWidget.ui +++ b/pcsx2-qt/Settings/DebugSettingsWidget.ui @@ -167,7 +167,7 @@ - + Save RT @@ -181,7 +181,7 @@ - + Save Texture diff --git a/pcsx2-qt/Settings/EmulationSettingsWidget.cpp b/pcsx2-qt/Settings/EmulationSettingsWidget.cpp index 73700df181bff..e289bf3f79b22 100644 --- a/pcsx2-qt/Settings/EmulationSettingsWidget.cpp +++ b/pcsx2-qt/Settings/EmulationSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include @@ -48,6 +48,12 @@ EmulationSettingsWidget::EmulationSettingsWidget(SettingsWindow* dialog, QWidget if (m_dialog->isPerGameSettings()) { + SettingWidgetBinder::BindWidgetToDateTimeSetting(sif, m_ui.rtcDateTime, "EmuCore"); + m_ui.rtcDateTime->setDateRange(QDate(2000, 1, 1), QDate(2099, 12, 31)); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.manuallySetRealTimeClock, "EmuCore", "ManuallySetRealTimeClock", false); + connect(m_ui.manuallySetRealTimeClock, &QCheckBox::checkStateChanged, this, &EmulationSettingsWidget::onManuallySetRealTimeClockChanged); + EmulationSettingsWidget::onManuallySetRealTimeClockChanged(); + m_ui.eeCycleRate->insertItem( 0, tr("Use Global Setting [%1]") .arg(m_ui.eeCycleRate->itemText( @@ -74,6 +80,8 @@ EmulationSettingsWidget::EmulationSettingsWidget(SettingsWindow* dialog, QWidget } else { + m_ui.rtcGroup->hide(); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.cheats, "EmuCore", "EnableCheats", false); // Allow for FastCDVD for per-game settings only @@ -146,6 +154,13 @@ EmulationSettingsWidget::EmulationSettingsWidget(SettingsWindow* dialog, QWidget dialog->registerWidgetHelp(m_ui.useVSyncForTiming, tr("Use Host VSync Timing"), tr("Unchecked"), tr("When synchronizing with the host refresh rate, this option disable's PCSX2's internal frame timing, and uses the host instead. " "Can result in smoother frame pacing, but at the cost of increased input latency.")); + dialog->registerWidgetHelp(m_ui.manuallySetRealTimeClock, tr("Manually Set Real-Time Clock"), tr("Unchecked"), + tr("Manually set a real-time clock to use for the virtual PlayStation 2 instead of using your OS' system clock.")); + dialog->registerWidgetHelp(m_ui.rtcDateTime, tr("Real-Time Clock"), tr("Current date and time"), + tr("Real-time clock (RTC) used by the virtual PlayStation 2. Date format is the same as the one used by your OS. " + "This time is only applied upon booting the PS2; changing it while in-game will have no effect. " + "NOTE: This assumes you have your PS2 set to the default timezone of GMT+0 and default DST of Summer Time. " + "Some games require an RTC date/time set after their release date.")); updateOptimalFramePacing(); updateUseVSyncForTimingEnabled(); @@ -292,3 +307,9 @@ void EmulationSettingsWidget::updateUseVSyncForTimingEnabled() const bool sync_to_host_refresh = m_dialog->getEffectiveBoolValue("EmuCore/GS", "SyncToHostRefreshRate", false); m_ui.useVSyncForTiming->setEnabled(vsync && sync_to_host_refresh); } + +void EmulationSettingsWidget::onManuallySetRealTimeClockChanged() +{ + const bool enabled = m_dialog->getEffectiveBoolValue("EmuCore", "ManuallySetRealTimeClock", false); + m_ui.rtcDateTime->setEnabled(enabled); +} diff --git a/pcsx2-qt/Settings/EmulationSettingsWidget.h b/pcsx2-qt/Settings/EmulationSettingsWidget.h index caa95e22f77e1..0cd9087fb7ae1 100644 --- a/pcsx2-qt/Settings/EmulationSettingsWidget.h +++ b/pcsx2-qt/Settings/EmulationSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -25,6 +25,7 @@ private Q_SLOTS: void handleSpeedComboChange(QComboBox* cb, const char* section, const char* key); void updateOptimalFramePacing(); void updateUseVSyncForTimingEnabled(); + void onManuallySetRealTimeClockChanged(); SettingsWindow* m_dialog; diff --git a/pcsx2-qt/Settings/EmulationSettingsWidget.ui b/pcsx2-qt/Settings/EmulationSettingsWidget.ui index 424db2b38b608..e1f56b55dd152 100644 --- a/pcsx2-qt/Settings/EmulationSettingsWidget.ui +++ b/pcsx2-qt/Settings/EmulationSettingsWidget.ui @@ -24,7 +24,7 @@ 0 - + Speed Control @@ -195,7 +195,7 @@ - + Frame Pacing / Latency Control @@ -268,6 +268,26 @@ + + + + Real-Time Clock + + + + + + Manually Set Real-Time Clock + + + + + + + + + + diff --git a/pcsx2-qt/Settings/FolderSettingsWidget.cpp b/pcsx2-qt/Settings/FolderSettingsWidget.cpp index bcf03fa37b3c8..9c2c94f8ec36b 100644 --- a/pcsx2-qt/Settings/FolderSettingsWidget.cpp +++ b/pcsx2-qt/Settings/FolderSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/FolderSettingsWidget.h b/pcsx2-qt/Settings/FolderSettingsWidget.h index 7f7b990fd2f64..ec8b657836483 100644 --- a/pcsx2-qt/Settings/FolderSettingsWidget.h +++ b/pcsx2-qt/Settings/FolderSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/GameCheatSettingsWidget.cpp b/pcsx2-qt/Settings/GameCheatSettingsWidget.cpp index f804c02af22a1..37896b5efa74f 100644 --- a/pcsx2-qt/Settings/GameCheatSettingsWidget.cpp +++ b/pcsx2-qt/Settings/GameCheatSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MainWindow.h" @@ -56,6 +56,7 @@ GameCheatSettingsWidget::GameCheatSettingsWidget(SettingsWindow* dialog, QWidget m_model_proxy->setFilterFixedString(text); m_ui.cheatList->expandAll(); }); + connect(m_dialog, &SettingsWindow::discSerialChanged, this, &GameCheatSettingsWidget::reloadList); dialog->registerWidgetHelp(m_ui.allCRCsCheckbox, tr("Show Cheats For All CRCs"), tr("Checked"), tr("Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded.")); @@ -124,7 +125,7 @@ void GameCheatSettingsWidget::updateListEnabled() m_ui.enableAll->setEnabled(cheats_enabled); m_ui.disableAll->setEnabled(cheats_enabled); m_ui.reloadCheats->setEnabled(cheats_enabled); - m_ui.allCRCsCheckbox->setEnabled(cheats_enabled); + m_ui.allCRCsCheckbox->setEnabled(cheats_enabled && !m_dialog->getSerial().empty()); m_ui.searchText->setEnabled(cheats_enabled); } @@ -210,6 +211,7 @@ void GameCheatSettingsWidget::reloadList() m_parent_map.clear(); m_model->removeRows(0, m_model->rowCount()); + m_ui.allCRCsCheckbox->setEnabled(!m_dialog->getSerial().empty() && m_ui.cheatList->isEnabled()); for (const Patch::PatchInfo& pi : m_patches) { diff --git a/pcsx2-qt/Settings/GameCheatSettingsWidget.h b/pcsx2-qt/Settings/GameCheatSettingsWidget.h index b7ac0b1e45d61..868b25c7d4865 100644 --- a/pcsx2-qt/Settings/GameCheatSettingsWidget.h +++ b/pcsx2-qt/Settings/GameCheatSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/GameFixSettingsWidget.cpp b/pcsx2-qt/Settings/GameFixSettingsWidget.cpp index 9b2900e2f8c54..893c597845197 100644 --- a/pcsx2-qt/Settings/GameFixSettingsWidget.cpp +++ b/pcsx2-qt/Settings/GameFixSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/GameFixSettingsWidget.h b/pcsx2-qt/Settings/GameFixSettingsWidget.h index f6e20c1238fe4..1e01e080e2dab 100644 --- a/pcsx2-qt/Settings/GameFixSettingsWidget.h +++ b/pcsx2-qt/Settings/GameFixSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/GameListSettingsWidget.cpp b/pcsx2-qt/Settings/GameListSettingsWidget.cpp index b793a3fc64a8a..646bf0304c51d 100644 --- a/pcsx2-qt/Settings/GameListSettingsWidget.cpp +++ b/pcsx2-qt/Settings/GameListSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/GameListSettingsWidget.h b/pcsx2-qt/Settings/GameListSettingsWidget.h index 668da392bde9c..61b8e7c1e5ca2 100644 --- a/pcsx2-qt/Settings/GameListSettingsWidget.h +++ b/pcsx2-qt/Settings/GameListSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/GamePatchSettingsWidget.cpp b/pcsx2-qt/Settings/GamePatchSettingsWidget.cpp index 9ad3374f48aea..948f9e2be626b 100644 --- a/pcsx2-qt/Settings/GamePatchSettingsWidget.cpp +++ b/pcsx2-qt/Settings/GamePatchSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MainWindow.h" @@ -16,7 +16,7 @@ #include GamePatchDetailsWidget::GamePatchDetailsWidget(std::string name, const std::string& author, - const std::string& description, bool enabled, SettingsWindow* dialog, QWidget* parent) + const std::string& description, bool tristate, Qt::CheckState checkState, SettingsWindow* dialog, QWidget* parent) : QWidget(parent) , m_dialog(dialog) , m_name(name) @@ -30,7 +30,8 @@ GamePatchDetailsWidget::GamePatchDetailsWidget(std::string name, const std::stri .arg(description.empty() ? tr("No description provided.") : QString::fromStdString(description))); pxAssert(dialog->getSettingsInterface()); - m_ui.enabled->setChecked(enabled); + m_ui.enabled->setTristate(tristate); + m_ui.enabled->setCheckState(checkState); connect(m_ui.enabled, &QCheckBox::checkStateChanged, this, &GamePatchDetailsWidget::onEnabledStateChanged); } @@ -40,9 +41,25 @@ void GamePatchDetailsWidget::onEnabledStateChanged(int state) { SettingsInterface* si = m_dialog->getSettingsInterface(); if (state == Qt::Checked) - si->AddToStringList("Patches", "Enable", m_name.c_str()); + { + si->AddToStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY, m_name.c_str()); + si->RemoveFromStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY, m_name.c_str()); + } else - si->RemoveFromStringList("Patches", "Enable", m_name.c_str()); + { + si->RemoveFromStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY, m_name.c_str()); + if (m_ui.enabled->isTristate()) + { + if (state == Qt::Unchecked) + { + si->AddToStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY, m_name.c_str()); + } + else + { + si->RemoveFromStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY, m_name.c_str()); + } + } + } si->Save(); g_emu_thread->reloadGameSettings(); @@ -56,12 +73,15 @@ GamePatchSettingsWidget::GamePatchSettingsWidget(SettingsWindow* dialog, QWidget m_ui.scrollArea->setFrameShadow(QFrame::Sunken); setUnlabeledPatchesWarningVisibility(false); + setGlobalWsPatchNoteVisibility(false); + setGlobalNiPatchNoteVisibility(false); SettingsInterface* sif = m_dialog->getSettingsInterface(); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.allCRCsCheckbox, "EmuCore", "ShowPatchesForAllCRCs", false); connect(m_ui.reload, &QPushButton::clicked, this, &GamePatchSettingsWidget::onReloadClicked); connect(m_ui.allCRCsCheckbox, &QCheckBox::checkStateChanged, this, &GamePatchSettingsWidget::reloadList); + connect(m_dialog, &SettingsWindow::discSerialChanged, this, &GamePatchSettingsWidget::reloadList); dialog->registerWidgetHelp(m_ui.allCRCsCheckbox, tr("Show Patches For All CRCs"), tr("Checked"), tr("Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded.")); @@ -88,15 +108,24 @@ void GamePatchSettingsWidget::disableAllPatches() void GamePatchSettingsWidget::reloadList() { + const SettingsInterface* si = m_dialog->getSettingsInterface(); // Patches shouldn't have any unlabelled patch groups, because they're new. u32 number_of_unlabeled_patches = 0; bool showAllCRCS = m_ui.allCRCsCheckbox->isChecked(); std::vector patches = Patch::GetPatchInfo(m_dialog->getSerial(), m_dialog->getDiscCRC(), false, showAllCRCS, &number_of_unlabeled_patches); std::vector enabled_list = - m_dialog->getSettingsInterface()->GetStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY); + si->GetStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY); + std::vector disabled_list = + si->GetStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY); + + const bool ws_patches_enabled_globally = m_dialog->getEffectiveBoolValue("EmuCore", "EnableWideScreenPatches", false); + const bool ni_patches_enabled_globally = m_dialog->getEffectiveBoolValue("EmuCore", "EnableNoInterlacingPatches", false); setUnlabeledPatchesWarningVisibility(number_of_unlabeled_patches > 0); + setGlobalWsPatchNoteVisibility(ws_patches_enabled_globally); + setGlobalNiPatchNoteVisibility(ni_patches_enabled_globally); delete m_ui.scrollArea->takeWidget(); + m_ui.allCRCsCheckbox->setEnabled(!m_dialog->getSerial().empty()); QWidget* container = new QWidget(m_ui.scrollArea); QVBoxLayout* layout = new QVBoxLayout(container); @@ -106,7 +135,7 @@ void GamePatchSettingsWidget::reloadList() { bool first = true; - for (Patch::PatchInfo& pi : patches) + for (const Patch::PatchInfo& pi : patches) { if (!first) { @@ -120,9 +149,35 @@ void GamePatchSettingsWidget::reloadList() first = false; } - const bool enabled = (std::find(enabled_list.begin(), enabled_list.end(), pi.name) != enabled_list.end()); + const bool is_on_enable_list = std::find(enabled_list.begin(), enabled_list.end(), pi.name) != enabled_list.end(); + const bool is_on_disable_list = std::find(disabled_list.begin(), disabled_list.end(), pi.name) != disabled_list.end(); + const bool globally_toggleable_option = Patch::IsGloballyToggleablePatch(pi); + + Qt::CheckState check_state; + if (!globally_toggleable_option) + { + // Normal patches + check_state = is_on_enable_list && !is_on_disable_list ? Qt::CheckState::Checked : Qt::CheckState::Unchecked; + } + else + { + // WS/NI patches + if (is_on_disable_list) + { + check_state = Qt::CheckState::Unchecked; + } + else if (is_on_enable_list) + { + check_state = Qt::CheckState::Checked; + } + else + { + check_state = Qt::CheckState::PartiallyChecked; + } + } + GamePatchDetailsWidget* it = - new GamePatchDetailsWidget(std::move(pi.name), pi.author, pi.description, enabled, m_dialog, container); + new GamePatchDetailsWidget(std::move(pi.name), pi.author, pi.description, globally_toggleable_option, check_state, m_dialog, container); layout->addWidget(it); } } @@ -141,3 +196,13 @@ void GamePatchSettingsWidget::setUnlabeledPatchesWarningVisibility(bool visible) { m_ui.unlabeledPatchWarning->setVisible(visible); } + +void GamePatchSettingsWidget::setGlobalWsPatchNoteVisibility(bool visible) +{ + m_ui.globalWsPatchState->setVisible(visible); +} + +void GamePatchSettingsWidget::setGlobalNiPatchNoteVisibility(bool visible) +{ + m_ui.globalNiPatchState->setVisible(visible); +} diff --git a/pcsx2-qt/Settings/GamePatchSettingsWidget.h b/pcsx2-qt/Settings/GamePatchSettingsWidget.h index 53d46771f68a7..77b9ba2f47fa7 100644 --- a/pcsx2-qt/Settings/GamePatchSettingsWidget.h +++ b/pcsx2-qt/Settings/GamePatchSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -22,7 +22,7 @@ class GamePatchDetailsWidget : public QWidget Q_OBJECT public: - GamePatchDetailsWidget(std::string name, const std::string& author, const std::string& description, bool enabled, + GamePatchDetailsWidget(std::string name, const std::string& author, const std::string& description, bool tristate, Qt::CheckState checkState, SettingsWindow* dialog, QWidget* parent); ~GamePatchDetailsWidget(); @@ -50,6 +50,8 @@ private Q_SLOTS: private: void reloadList(); void setUnlabeledPatchesWarningVisibility(bool visible); + void setGlobalWsPatchNoteVisibility(bool visible); + void setGlobalNiPatchNoteVisibility(bool visible); Ui::GamePatchSettingsWidget m_ui; SettingsWindow* m_dialog; diff --git a/pcsx2-qt/Settings/GamePatchSettingsWidget.ui b/pcsx2-qt/Settings/GamePatchSettingsWidget.ui index 39871b89d5845..7def1249296e4 100644 --- a/pcsx2-qt/Settings/GamePatchSettingsWidget.ui +++ b/pcsx2-qt/Settings/GamePatchSettingsWidget.ui @@ -38,6 +38,29 @@ Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. + + true + + + + + + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + true + + + + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + true + diff --git a/pcsx2-qt/Settings/GameSummaryWidget.cpp b/pcsx2-qt/Settings/GameSummaryWidget.cpp index f99db3f7ad993..0f40ba1344be0 100644 --- a/pcsx2-qt/Settings/GameSummaryWidget.cpp +++ b/pcsx2-qt/Settings/GameSummaryWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "pcsx2/SIO/Pad/Pad.h" @@ -156,7 +156,15 @@ void GameSummaryWidget::onDiscPathChanged(const QString& value) // force rescan of elf to update the serial g_main_window->rescanFile(m_entry_path); - repopulateCurrentDetails(); + + auto lock = GameList::GetLock(); + const GameList::Entry* entry = GameList::GetEntryForPath(m_entry_path.c_str()); + if (entry) + { + populateDetails(entry); + m_dialog->setSerial(entry->serial); + m_ui.checkWiki->setEnabled(!entry->serial.empty()); + } } void GameSummaryWidget::onDiscPathBrowseClicked() diff --git a/pcsx2-qt/Settings/GameSummaryWidget.h b/pcsx2-qt/Settings/GameSummaryWidget.h index 967e24f6701f8..6011fbfb45e1a 100644 --- a/pcsx2-qt/Settings/GameSummaryWidget.h +++ b/pcsx2-qt/Settings/GameSummaryWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp index 32fcd4da06b31..6dac016e9b417 100644 --- a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp +++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GraphicsSettingsWidget.h" @@ -8,6 +8,7 @@ #include #include "pcsx2/Host.h" +#include "pcsx2/Patch.h" #include "pcsx2/GS/GS.h" #include "pcsx2/GS/GSCapture.h" #include "pcsx2/GS/GSUtil.h" @@ -88,6 +89,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget* SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.interlacing, "EmuCore/GS", "deinterlace_mode", DEFAULT_INTERLACE_MODE); SettingWidgetBinder::BindWidgetToIntSetting( sif, m_ui.bilinearFiltering, "EmuCore/GS", "linear_present_mode", static_cast(GSPostBilinearMode::BilinearSmooth)); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.widescreenPatches, "EmuCore", "EnableWideScreenPatches", false); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.noInterlacingPatches, "EmuCore", "EnableNoInterlacingPatches", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.integerScaling, "EmuCore/GS", "IntegerScaling", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.PCRTCOffsets, "EmuCore/GS", "pcrtc_offsets", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.PCRTCOverscan, "EmuCore/GS", "pcrtc_overscan", false); @@ -319,22 +322,61 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget* } #endif - // Prompt user to get rid of widescreen/no-interlace config from the ini if the user has enabled them before. - if ((m_dialog->getBoolValue("EmuCore", "EnableWideScreenPatches", false) == true || - m_dialog->getBoolValue("EmuCore", "EnableWideScreenPatches", false) == true) && - !m_dialog->containsSettingValue("UI", "UserHasDeniedWSPatchWarning")) + // Get rid of widescreen/no-interlace checkboxes from per-game settings, and migrate them to Patches if necessary. + if (m_dialog->isPerGameSettings()) { - if (QMessageBox::question(QtUtils::GetRootWidget(this), tr("Remove Unsupported Settings"), - tr("You previously had the Enable Widescreen Patches or Enable No-Interlacing Patches options enabled.

" - "We no longer provide these options, instead you should go to the \"Patches\" section on the per-game settings, and explicitly enable the patches that you want.

" - "Do you want to remove these options from your configuration now?"), - QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes) + SettingsInterface* si = m_dialog->getSettingsInterface(); + bool needs_save = false; + + if (si->ContainsValue("EmuCore", "EnableWideScreenPatches")) { - m_dialog->removeSettingValue("EmuCore", "EnableWideScreenPatches"); - m_dialog->removeSettingValue("EmuCore", "EnableNoInterlacingPatches"); + const bool ws_enabled = si->GetBoolValue("EmuCore", "EnableWideScreenPatches"); + si->DeleteValue("EmuCore", "EnableWideScreenPatches"); + + const char* WS_PATCH_NAME = "Widescreen 16:9"; + if (ws_enabled) + { + si->AddToStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY, WS_PATCH_NAME); + si->RemoveFromStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY, WS_PATCH_NAME); + } + else + { + si->AddToStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY, WS_PATCH_NAME); + si->RemoveFromStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY, WS_PATCH_NAME); + } + needs_save = true; } - else - m_dialog->setBoolSettingValue("UI", "UserHasDeniedWSPatchWarning", true); + + if (si->ContainsValue("EmuCore", "EnableNoInterlacingPatches")) + { + const bool ni_enabled = si->GetBoolValue("EmuCore", "EnableNoInterlacingPatches"); + si->DeleteValue("EmuCore", "EnableNoInterlacingPatches"); + + const char* NI_PATCH_NAME = "No-Interlacing"; + if (ni_enabled) + { + si->AddToStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY, NI_PATCH_NAME); + si->RemoveFromStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY, NI_PATCH_NAME); + } + else + { + si->AddToStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_DISABLE_CONFIG_KEY, NI_PATCH_NAME); + si->RemoveFromStringList(Patch::PATCHES_CONFIG_SECTION, Patch::PATCH_ENABLE_CONFIG_KEY, NI_PATCH_NAME); + } + needs_save = true; + } + + if (needs_save) + { + m_dialog->saveAndReloadGameSettings(); + } + + m_ui.displayGridLayout->removeWidget(m_ui.widescreenPatches); + m_ui.displayGridLayout->removeWidget(m_ui.noInterlacingPatches); + m_ui.widescreenPatches->deleteLater(); + m_ui.noInterlacingPatches->deleteLater(); + m_ui.widescreenPatches = nullptr; + m_ui.noInterlacingPatches = nullptr; } // Hide advanced options by default. @@ -427,6 +469,12 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget* // Display tab { + dialog->registerWidgetHelp(m_ui.widescreenPatches, tr("Enable Widescreen Patches"), tr("Unchecked"), + tr("Automatically loads and applies widescreen patches on game start. Can cause issues.")); + + dialog->registerWidgetHelp(m_ui.noInterlacingPatches, tr("Enable No-Interlacing Patches"), tr("Unchecked"), + tr("Automatically loads and applies no-interlacing patches on game start. Can cause issues.")); + dialog->registerWidgetHelp(m_ui.DisableInterlaceOffset, tr("Disable Interlace Offset"), tr("Unchecked"), tr("Disables interlacing offset which may reduce blurring in some situations.")); diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.h b/pcsx2-qt/Settings/GraphicsSettingsWidget.h index e6e14047936d9..e559bcf0fe5fe 100644 --- a/pcsx2-qt/Settings/GraphicsSettingsWidget.h +++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.ui b/pcsx2-qt/Settings/GraphicsSettingsWidget.ui index d7994633de4b6..d1b6a9031d041 100644 --- a/pcsx2-qt/Settings/GraphicsSettingsWidget.ui +++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.ui @@ -404,28 +404,28 @@
- + Integer Scaling - - + + - Show Overscan + Apply Widescreen Patches - - + + - Screen Offsets + Apply No-Interlacing Patches - + Anti-Blur @@ -435,13 +435,27 @@ - + Disable Interlace Offset + + + + Screen Offsets + + + + + + + Show Overscan + + + @@ -2111,7 +2125,7 @@
- + diff --git a/pcsx2-qt/Settings/HddCreateQt.cpp b/pcsx2-qt/Settings/HddCreateQt.cpp index 3f103616aa7a0..15fc2a18805e9 100644 --- a/pcsx2-qt/Settings/HddCreateQt.cpp +++ b/pcsx2-qt/Settings/HddCreateQt.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/HddCreateQt.h b/pcsx2-qt/Settings/HddCreateQt.h index 16d5961c76c37..825efddbedcc8 100644 --- a/pcsx2-qt/Settings/HddCreateQt.h +++ b/pcsx2-qt/Settings/HddCreateQt.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/HotkeySettingsWidget.cpp b/pcsx2-qt/Settings/HotkeySettingsWidget.cpp index 222731c7c2a19..02532d85b1b22 100644 --- a/pcsx2-qt/Settings/HotkeySettingsWidget.cpp +++ b/pcsx2-qt/Settings/HotkeySettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Settings/HotkeySettingsWidget.h" diff --git a/pcsx2-qt/Settings/HotkeySettingsWidget.h b/pcsx2-qt/Settings/HotkeySettingsWidget.h index 34df8bed83ad1..def739ebca383 100644 --- a/pcsx2-qt/Settings/HotkeySettingsWidget.h +++ b/pcsx2-qt/Settings/HotkeySettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/InputBindingDialog.cpp b/pcsx2-qt/Settings/InputBindingDialog.cpp index 0770da0a9a4b1..d10373acae01f 100644 --- a/pcsx2-qt/Settings/InputBindingDialog.cpp +++ b/pcsx2-qt/Settings/InputBindingDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "QtHost.h" diff --git a/pcsx2-qt/Settings/InputBindingDialog.h b/pcsx2-qt/Settings/InputBindingDialog.h index 2c9189352f5f8..5c278f0751045 100644 --- a/pcsx2-qt/Settings/InputBindingDialog.h +++ b/pcsx2-qt/Settings/InputBindingDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/InputBindingWidget.cpp b/pcsx2-qt/Settings/InputBindingWidget.cpp index 2eb287d8ca21d..482fdff99cc8c 100644 --- a/pcsx2-qt/Settings/InputBindingWidget.cpp +++ b/pcsx2-qt/Settings/InputBindingWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/InputBindingWidget.h b/pcsx2-qt/Settings/InputBindingWidget.h index 567f546c823d3..32800f714d750 100644 --- a/pcsx2-qt/Settings/InputBindingWidget.h +++ b/pcsx2-qt/Settings/InputBindingWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/InterfaceSettingsWidget.cpp b/pcsx2-qt/Settings/InterfaceSettingsWidget.cpp index ff2e59041777b..9d5e57e6fa4e9 100644 --- a/pcsx2-qt/Settings/InterfaceSettingsWidget.cpp +++ b/pcsx2-qt/Settings/InterfaceSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "InterfaceSettingsWidget.h" diff --git a/pcsx2-qt/Settings/InterfaceSettingsWidget.h b/pcsx2-qt/Settings/InterfaceSettingsWidget.h index aff0a8c31a845..df491a4c16bfa 100644 --- a/pcsx2-qt/Settings/InterfaceSettingsWidget.h +++ b/pcsx2-qt/Settings/InterfaceSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/MemoryCardConvertDialog.cpp b/pcsx2-qt/Settings/MemoryCardConvertDialog.cpp index 7bd6c20449d2b..5127fe065818d 100644 --- a/pcsx2-qt/Settings/MemoryCardConvertDialog.cpp +++ b/pcsx2-qt/Settings/MemoryCardConvertDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MemoryCardConvertDialog.h" diff --git a/pcsx2-qt/Settings/MemoryCardConvertDialog.h b/pcsx2-qt/Settings/MemoryCardConvertDialog.h index 625adbbf3dbae..3adff11777423 100644 --- a/pcsx2-qt/Settings/MemoryCardConvertDialog.h +++ b/pcsx2-qt/Settings/MemoryCardConvertDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/MemoryCardConvertWorker.cpp b/pcsx2-qt/Settings/MemoryCardConvertWorker.cpp index 8994e1978109e..ec1d62049672c 100644 --- a/pcsx2-qt/Settings/MemoryCardConvertWorker.cpp +++ b/pcsx2-qt/Settings/MemoryCardConvertWorker.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MemoryCardConvertWorker.h" diff --git a/pcsx2-qt/Settings/MemoryCardConvertWorker.h b/pcsx2-qt/Settings/MemoryCardConvertWorker.h index 82dfbea10af02..ac366fece3dad 100644 --- a/pcsx2-qt/Settings/MemoryCardConvertWorker.h +++ b/pcsx2-qt/Settings/MemoryCardConvertWorker.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/MemoryCardCreateDialog.cpp b/pcsx2-qt/Settings/MemoryCardCreateDialog.cpp index 051a5e2b456b9..024295de56290 100644 --- a/pcsx2-qt/Settings/MemoryCardCreateDialog.cpp +++ b/pcsx2-qt/Settings/MemoryCardCreateDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/FileSystem.h" diff --git a/pcsx2-qt/Settings/MemoryCardCreateDialog.h b/pcsx2-qt/Settings/MemoryCardCreateDialog.h index 1b2bbf1f1efde..ddff97d2d20c2 100644 --- a/pcsx2-qt/Settings/MemoryCardCreateDialog.h +++ b/pcsx2-qt/Settings/MemoryCardCreateDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp b/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp index b67958c5246c0..d33097eef5938 100644 --- a/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp +++ b/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2-qt/Settings/MemoryCardSettingsWidget.h b/pcsx2-qt/Settings/MemoryCardSettingsWidget.h index afd3709903fe8..768a9a5d7a7c0 100644 --- a/pcsx2-qt/Settings/MemoryCardSettingsWidget.h +++ b/pcsx2-qt/Settings/MemoryCardSettingsWidget.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Settings/SettingsWindow.cpp b/pcsx2-qt/Settings/SettingsWindow.cpp index ddbea6ed27660..85f6ab4125185 100644 --- a/pcsx2-qt/Settings/SettingsWindow.cpp +++ b/pcsx2-qt/Settings/SettingsWindow.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MainWindow.h" @@ -447,6 +447,12 @@ void SettingsWindow::setWindowTitle(const QString& title) QWidget::setWindowTitle(QStringLiteral("%1 [%2]").arg(title, m_filename)); } +void SettingsWindow::setSerial(std::string serial) +{ + m_serial = std::move(serial); + emit discSerialChanged(); +} + bool SettingsWindow::getEffectiveBoolValue(const char* section, const char* key, bool default_value) const { bool value; @@ -649,9 +655,9 @@ void SettingsWindow::saveAndReloadGameSettings() g_emu_thread->reloadGameSettings(); } -void SettingsWindow::openGamePropertiesDialog(const GameList::Entry* game, const std::string_view title, std::string serial, u32 disc_crc) +void SettingsWindow::openGamePropertiesDialog(const GameList::Entry* game, const std::string_view title, std::string serial, u32 disc_crc, bool is_elf) { - std::string filename = VMManager::GetGameSettingsPath(serial, disc_crc); + std::string filename = VMManager::GetGameSettingsPath(!is_elf ? serial : std::string_view(), disc_crc); // check for an existing dialog with this filename for (SettingsWindow* dialog : s_open_game_properties_dialogs) diff --git a/pcsx2-qt/Settings/SettingsWindow.h b/pcsx2-qt/Settings/SettingsWindow.h index 7425f3bfb581f..f7ad9e6c87f93 100644 --- a/pcsx2-qt/Settings/SettingsWindow.h +++ b/pcsx2-qt/Settings/SettingsWindow.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -45,7 +45,7 @@ class SettingsWindow final : public QWidget u32 disc_crc, QString filename = QString()); ~SettingsWindow(); - static void openGamePropertiesDialog(const GameList::Entry* game, const std::string_view title, std::string serial, u32 disc_crc); + static void openGamePropertiesDialog(const GameList::Entry* game, const std::string_view title, std::string serial, u32 disc_crc, bool is_elf); static void closeGamePropertiesDialogs(); SettingsInterface* getSettingsInterface() const; @@ -72,6 +72,7 @@ class SettingsWindow final : public QWidget bool eventFilter(QObject* object, QEvent* event) override; void setWindowTitle(const QString& title); + void setSerial(std::string serial); QString getCategory() const; void setCategory(const char* category); @@ -96,7 +97,7 @@ class SettingsWindow final : public QWidget void saveAndReloadGameSettings(); Q_SIGNALS: - void settingsResetToDefaults(); + void discSerialChanged(); private Q_SLOTS: void onCategoryCurrentRowChanged(int row); diff --git a/pcsx2-qt/SetupWizardDialog.cpp b/pcsx2-qt/SetupWizardDialog.cpp index ccfdf765d4a91..abb89321d71a2 100644 --- a/pcsx2-qt/SetupWizardDialog.cpp +++ b/pcsx2-qt/SetupWizardDialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "pcsx2/SIO/Pad/Pad.h" diff --git a/pcsx2-qt/SetupWizardDialog.h b/pcsx2-qt/SetupWizardDialog.h index dc5e4065991a3..9fcd1fe627962 100644 --- a/pcsx2-qt/SetupWizardDialog.h +++ b/pcsx2-qt/SetupWizardDialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Themes.cpp b/pcsx2-qt/Themes.cpp index 6bc367dd77650..2144c1197d7a2 100644 --- a/pcsx2-qt/Themes.cpp +++ b/pcsx2-qt/Themes.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "QtHost.h" diff --git a/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.cpp b/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.cpp index a9833f5240378..b62fb775388c7 100644 --- a/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.cpp +++ b/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "InputRecordingViewer.h" diff --git a/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.h b/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.h index 4db09d9a9b7bb..51e997c163703 100644 --- a/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.h +++ b/pcsx2-qt/Tools/InputRecording/InputRecordingViewer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.cpp b/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.cpp index d2ae27cb9b0a3..4176809f37458 100644 --- a/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.cpp +++ b/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "NewInputRecordingDlg.h" diff --git a/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.h b/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.h index 499ede6ddd11a..38de539f1cd32 100644 --- a/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.h +++ b/pcsx2-qt/Tools/InputRecording/NewInputRecordingDlg.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2-qt/Translations.cpp b/pcsx2-qt/Translations.cpp index 49d3f13705dcc..22e43978b3f4c 100644 --- a/pcsx2-qt/Translations.cpp +++ b/pcsx2-qt/Translations.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MainWindow.h" @@ -405,17 +405,17 @@ static constexpr const QtHost::GlyphInfo s_glyph_info[] = { { "ko-KR", "NotoSansKR-Regular.ttf", // auto update by update_glyph_ranges.py with pcsx2-qt_ko-KR.ts - u"“”……←↓□□△△◯◯✕✕んん茶茶가각간간갈갈감값강강같같개개거거건건걸걸검겁것것게게겟겠격격견견결결경경계계고곡골골곱곱곳곳공공과과관관괄괄교교구국군군권권귀귀규규균균그극근근글글금급긍긍기기긴긴길길김깁깃깃깅깅까까깝깝깨깨꺼꺼께께꼴꼴꾸꾸꿉꿉끄끄끊끊끔끔끝끝나나난난날날남남낭낮내내낸낸냅냅너너널널넣네넬넬넷넷녀녀노노농농높놓누누눈눈눌눌눕눕눗눗뉴뉴느느는는늘늘능능니니닌닌님닙닛닛다다단단닫달당당대대댑댑더더덜덜덤덤덮덮데덱덴덴델델도독돌돌동동됐됐되되된된될될됨됩두두둘둘둡둡뒤뒤듀듀듈듈드득든든들들듬듭등등디디딩딩따따때때떠떠떤떤떨떨또또뛰뛰뛸뛸뜁뜁뜨뜨띄띄라락란란랄랄랍랍랑랑래랙랜랜램램랫랫량량러럭런런럴럴럼럽렀렀렇렉렌렌렛렛려력련련렬렬렸령로록롤롤롭롭롯롯료료루루룸룹류류률률륨륨르르른른를를름릅리릭린린릴릴림립릿릿링링마막만만많많말말맞맞매매맨맨맵맵맺맺머머먼먼멀멀멈멈멋멋메메멤멤며며면면명명모목몬몬못못무무문문물물뮬뮬므므미믹민민밀밀밉밉밍밍및및바밖반반받밝밥밥방방배백밴밴뱃뱃버버번번벌벌범법벗벗베벡벤벤벨벨벼벽변변별별병병보복본본볼볼부부분분불불붙붙뷰뷰브브블블비빅빈빈빌빌빙빙빛빛빠빠빨빨뿐뿐뿔뿔사삭산산살살삼삽상상새색샘샘생생샤샤샷샷서석선선설설성성세섹센센셀셀셈셉셋셋셔셔션션셰셰소속손손솔솔송송쇄쇄쇠쇠쇼쇼수숙순순숨숨숫숫쉽쉽슈슈스스슬슬습습슷슷시식신신실실심십싱싱싶싶쌍쌍쓰쓰쓴쓴쓸쓸씬씬아악안안않않알알암압았앙앞앞애액앤앤앨앨앱앱앵앵야약양양어어언언얻얼업없었었에엑엔엔여역연연열열영영예예오오온온올올옵옵와와완완왑왑왔왔외외왼왼요요용용우우운운울울움웁웃웃워워원원월월웠웠웨웨웹웹위위유유율율으으은은을을음음응응의의이이인인일읽임입있있자작잘잘잠잡장장재재잿잿저적전전절절점접정정제제젠젠젤젤젯젯져져졌졌조족존존종종좋좌죄죄주죽준준줄줄줍줍중중즈즉즐즐즘즘증증지직진진질질짐집짝짝짧짧째째쨌쨌쪽쪽찌찍차착참참창찾채책챕챕처척천천철철첨첩첫첫청청체체쳐쳐초초총총촬촬최최추축출출춤춥충충취취츠측치칙칠칠침칩칭칭카카칸칸칼칼캐캐캔캔캘캘캠캡커커컨컨컬컬컴컴케케켓켓켜켜켬켬코코콘콘콜콜콩콩퀀퀀퀴퀴큐큐크크큰큰클클큼큽키키킨킨킬킬킵킵킷킷킹킹타타탈탈탐탑탕탕태택탠탠탬탭터터턴턴털털텀텁테텍텐텐텔텔템템토토톨톨톱톱통통투투트특튼튼틀틀티틱팀팀팅팅파파팔팔팝팝패팩팻팻퍼퍼펌펌페펙편편평평포폭폴폴폼폼표표푸푸풀풀품품풋풋퓨퓨프프픈픈플플피픽핀핀필필핑핑하학한한할할함합핫핫항항해핵핸핸했행향향허허헌헌헐헐헤헤헨헨혀혀현현형형호혹혼혼홈홈홍홍화확환환활활황황회획횟횟횡횡효효후후훨훨휠휠휴휴흐흐흔흔희희히히힌힌힙힙" + u"“”……←↓□□△△◯◯✕✕んん茶茶가각간간갈갈감값강강같같개개거거건건걸걸검겁것것게게겟겠격격견견결결경경계계고곡골골곱곱곳곳공공과과관관괄괄교교구국군군권권귀귀규규균균그극근근글글금급긍긍기기긴긴길길김깁깃깃깅깅까까깝깝깨깨꺼꺼께께꼴꼴꽤꽤꾸꾸꿉꿉끄끄끊끊끔끔끝끝나나난난날날남남낭낮내내낸낸냅냅너너널널넣네넬넬넷넷녀녀노노농농높놓누누눈눈눌눌눕눕눗눗뉴뉴느느는는늘늘능능니니닌닌님닙닛닛다다단단닫달당당대대댑댑더더덜덜덤덤덮덮데덱덴덴델델도독돌돌동동됐됐되되된된될될됨됩두두둘둘둡둡뒤뒤듀듀듈듈드득든든들들듬듭등등디디딩딩따따때때떠떠떤떤떨떨또또뛰뛰뛸뛸뜁뜁뜨뜨띄띄라락란란랄랄랍랍랑랑래랙랜랜램램랫랫량량러럭런런럴럴럼럽렀렀렇렉렌렌렛렛려력련련렬렬렸령로록롤롤롭롭롯롯료료루루룸룹류류률률륨륨르르른른를를름릅리릭린린릴릴림립릿릿링링마막만만많많말말맞맞매매맨맨맵맵맺맺머머먼먼멀멀멈멈멋멋메메멤멤며며면면명명모목몬몬못못무무문문물물뮬뮬므므미믹민민밀밀밉밉밍밍및및바밖반반받밝밥밥방방배백밴밴뱃뱃버버번번벌벌범법벗벗베벡벤벤벨벨벼벽변변별별병병보복본본볼볼부부분분불불붙붙뷰뷰브브블블비빅빈빈빌빌빙빙빛빛빠빠빨빨뿐뿐뿔뿔사삭산산살살삼삽상상새색샘샘생생샤샤샷샷서석선선설설성성세섹센센셀셀셈셉셋셋셔셔션션셰셰소속손손솔솔송송쇄쇄쇠쇠쇼쇼수숙순순숨숨숫숫쉽쉽슈슈스스슬슬습습슷슷시식신신실실심십싱싱싶싶쌍쌍쓰쓰쓴쓴쓸쓸씬씬아악안안않않알알암압았앙앞앞애액앤앤앨앨앱앱앵앵야약양양어어언언얻얼업없었었에엑엔엔여역연연열열영영예예오오온온올올옵옵와와완완왑왑왔왔외외왼왼요요용용우우운운울울움웁웃웃워워원원월월웠웠웨웨웹웹위위유유율율으으은은을을음음응응의의이이인인일읽임입있있자작잘잘잠잡장장재재잿잿저적전전절절점접정정제제젠젠젤젤젯젯져져졌졌조족존존종종좋좌죄죄주죽준준줄줄줍줍중중즈즉즐즐즘즘증증지직진진질질짐집짝짝짧짧째째쨌쨌쪽쪽찌찍차착참참창찾채책챕챕처척천천철철첨첩첫첫청청체체쳐쳐초초총총촬촬최최추축출출춤춥충충취취츠측치칙칠칠침칩칭칭카카칸칸칼칼캐캐캔캔캘캘캠캡커커컨컨컬컬컴컴케케켓켓켜켜켬켬코코콘콘콜콜콩콩퀀퀀퀴퀴큐큐크크큰큰클클큼큽키키킨킨킬킬킵킵킷킷킹킹타타탈탈탐탐탕탕태택탠탠탬탭터터턴턴털털텀텁테텍텐텐텔텔템템토토톨톨톱톱통통투투트특튼튼틀틀티틱팀팀팅팅파파팔팔팝팝패팩팻팻퍼퍼펌펌페펙편편평평포폭폴폴폼폼표표푸푸풀풀품품풋풋풍풍퓨퓨프프픈픈플플피픽핀핀필필핑핑하학한한할할함합핫핫항항해핵핸핸했행향향허허헌헌헐헐헤헤헨헨혀혀현현형형호혹혼혼홈홈홍홍화확환환활활황황회획횟횟횡횡효효후후훨훨휠휠휴휴흐흐흔흔희희히히힌힌힙힙" }, { "zh-CN", "NotoSansSC-Regular.ttf", // auto update by update_glyph_ranges.py with pcsx2-qt_zh-CN.ts - u"‘’“”□□△△○○、。一丁七七三下不与专且世世丢丢两严个个中中串串临临为主久久么义之之乎乎乐乐乘乘也也了了事二于于互互五五亚些亡亡交交产产享享亮亮人人什什仅仅今介仍从他他代以们们仲仲件价任任份份伍伍休休众优会会传传伪伪估估伸伸似似但但位住佑佑体体何何余余作作你你佳佳使使例例供供依依侧侧便便俄俄保保信信修修倍倍倒倒借借值值倾倾假假偏偏做做停停储储像像儿儿允允元元充兆先光克克免免入入全全八六兰共关关其兹兼兼内内册再写写冲决况况冻冻准准减减几凡凭凭凹击函函刀刀刃刃分切列列则创初初删删利利别别到到制刷刹刹前前剪剪副副力力功务动助势势勾匀包包化北匹区十十升升半半协协单单南南占卡卫卫印印即即卸卸历历压压原原去去参参又及双反发发取变叠叠口古另另只只叭叭可台史右号司各各合吉同后向向吗吗否否含听启启呈呈告告员员味味命命和和哈哈响响哪哪唤唤商商善善喇喇喜喜器器噪噪四四回回因因团团围围固固国图圆圆圈圈在在地地场场址址均均坏坐块块坛坛垂垂型型域域基基堆堆堪堪塔塔填填增增士士声声处处备备复复外外多多够够大大天夫失失头头夹夹奇奇奏奏套套奥奥女女奶奶好好如如始始威威娜娜娱娱婴婴媒媒子子字存学学它它安安完完宏宏官官定定宝实客客害害家家容容宽宿寄寄密密富富寸对导导封封射射将将小小少少尔尔尘尘尚尚尝尝就就尺尺尼尾局局层层屏屏展展属属山山崩崩工左巨巨巫巫差差己已巴巴希希带帧帮帮常常幅幅幕幕干平并并幸幸幻幻序序库底度度延延建建开开异弃弊弊式式引引张张弹强归当录录形形彩彩影影径待很很律律得得循循微微德德心心必忆志志忙忙快快忽忽态态急急性性怪怪总总恢恢恭恭息息恶恶您您悬悬情情惑惑惯惯想想愉愉意意感感慢慢戏我或或战战截截戳戳户户所扁扇扇手手才才打打托托执执扩扩扫扬扳扳找技把把抑抑抖抗护护拆拆拉拉拟拟拥拦拨择括括拳拳拷拷拾拾持挂指指按按挑挑挡挡挪挪振振捆捆捕捕损损换换据据捷捷掌掌排排接接控掩描提插插握握搜搜摄摄摇摇摔摔摘摘撤撤播播操擎擦擦支支收收改改放放故故效效敌敌敏敏散散数数整整文文斜斜断断斯新方方旁旁旅旅旋旋无无既既日日旧旧时时明明易易星映昨昨是是显显晕晕普普晰晰暂暂暗暗曲曲更更替最有有服服望望期期未未本本术术机机杂权杆杆束束条条来来松板极极构构析析果果枪枪柄柄某某染染查查栅栅标栈栏栏校校样根格格框框案案桌桌档档桥桥梦梦检检棕棕榜榜槽槽模模横横橙橙次欢欧欧款款歇歇止步死死殊殊段段每每比比毫毫水水求求汇汇池污沙沙没没油油法法波波注注泻泻洋洋洲洲活活流流浅浅测测浏浏浪浪浮浮海海消消淡淡深深混混添添清清渐渐港港渲渲游游湖湖湾湾溃溃源源溢溢滑滑滚滚满满滤滤演演潜潜澳澳激激火火灯灰灵灵点点烈烈热热焦焦然然煞煞照照爆爆父父片版牌牌牙牙物物特特状状独独狼狼猩猩率率王王玛玛玩玩环现班班球球理理瑞瑞甚甚生生用用由由电电画画畅畅界界留留略略疤疤登登白百的的皇皇监监盖盘目目直直相相省省看看真眠着着瞄瞄矢矢知知短短石石码码破破础础硬硬确确碌碌碎碎磁磁示示神神禁禁离离种种秒秒称称移移程程稍稍稳稳空空突突窗窗立立站站竞竞端端符符第第等等答答筛筛签签简简算算管管篇篇类类粉粉粗粘精精糊糊糙糙系系素素索索紧紧紫紫纠纠红红级级纳纳纵纵纹纹线线组组细终经经绑绑结结绕绕绘给络绝统统继继绪绪续续维维绿缀缓缓编编缘缘缩缩缺缺网网罗罗置置美美翠翡翻翻考考者者而而耗耗耳耳联联肩肩胖胖能能脑脑脚脚腊腊臂臂自自至致舍舍航航良良色色节节芬芬若若英英范范荐荐荡荡荷荷莱莱获获菜菜萄萄著著葡葡蓝蓝藏藏虑虑虚虚融融行行街街衡衡补补表表被被裁裁装装西西要要覆覆见观规规视视览觉角角解解触触言言警警计计认认让让议议记记许许论论设访证证识识诉诊译译试试话话询询该详语语误误说说请诸读读调调象象贝贝负负败账质质贴贴费费赖赖赛赛赫赫起起超超越越足足跃跃距距跟跟跤跤路路跳跳踏踏踪踪身身车车轨轨转转轮软轴轴轻轻载载较较辅辅辑辑输输辨辨边边达达过过迎迎运近返返还这进远连迟述述迷迷追追退适逆逆选选逐逐递递通通速造遇遇道道遵遵避避那那邻邻部部都都配配醒醒采采释释里重量量金金针针钩钩钮钮铁铁铺铺链链销锁锐锐错错键锯镜镜长长门门闭问闲闲间间阅阅队队防阶阻阻附陆降降限限陡陡除除险险随隐隔隔隙隙障障雄雄集集零零雾雾需需震震静静非非靠靠面面韩韩音音页顶项须顿顿预预频频题题颜额颠颠颤颤风风饱饱馈馈首首香香马马驱驱验验骑骑骤骤高高鬼鬼魂魂魔魔麦麦黄黄黑黑默默鼓鼓鼠鼠齐齐齿齿,,::??" + u"‘’“”□□△△○○、。一丁七七三下不与专且世世丢丢两严个个中中串串临临为主久久么义之之乎乎乐乐乘乘也也了了事二于于互互五五亚些亡亡交交产产享享亮亮人人什什仅仅今介仍从他他代以们们仲仲件价任任份份伍伍休休众优会会传传伪伪估估伸伸似似但但位住佑佑体体何何余余作作你你佳佳使使例例供供依依侧侧便便俄俄保保信信修修倍倍倒倒借借值值倾倾假假偏偏做做停停储储像像儿儿允允元元充兆先光克克免免入入全全八六兰共关关其兹兼兼内内册再写写冲决况况冻冻准准减减几凡凭凭凹击函函刀刀刃刃分切列列则创初初删删利利别别到到制刷刹刹前前剪剪副副力力功务动助势势勾匀包包化北匹区十十升升半半协协单单南南占卡卫卫印印即即卸卸历历压压原原去去参参又及双反发发取变叠叠口古另另只只叭叭可台史右号司各各合吉同后向向吗吗否否含听启启呈呈告告员员味味命命和和哈哈响响哪哪唤唤商商善善喇喇喜喜器器噪噪四四回回因因团团围围固固国图圆圆圈圈在在地地场场址址均均坏坐块块坛坛垂垂型型域域基基堆堆堪堪塔塔填填增增士士声声处处备备复复外外多多够够大大天夫失失头头夹夹奇奇奏奏套套奥奥女女奶奶好好如如始始威威娜娜娱娱婴婴媒媒子子字存学学它它安安完完宏宏官官定定宝实客客害害家家容容宽宿寄寄密密富富寸对导导封封射射将将小小少少尔尔尘尘尚尚尝尝就就尺尺尼尾局局层层屏屏展展属属山山崩崩工左巨巨巫巫差差己已巴巴希希带帧帮帮常常幅幅幕幕干平并并幸幸幻幻序序库底度度延延建建开开异弃弊弊式式引引张张弹强归当录录形形彩彩影影径待很很律律得得循循微微德德心心必忆志志忙忙快快忽忽态态急急性性怪怪总总恢恢恭恭息息恶恶您您悬悬情情惑惑惯惯想想愉愉意意感感慢慢戏我或或战战截截戳戳户户所扁扇扇手手才才打打托托执执扩扩扫扬扳扳找技把把抑抑抖抗护护拆拆拉拉拟拟拥拦拨择括括拳拳拷拷拾拾持挂指指按按挑挑挡挡挪挪振振捆捆捕捕损损换换据据捷捷掌掌排排接接控掩描提插插握握搜搜摄摄摇摇摔摔摘摘撤撤播播操擎擦擦支支收收改改放放故故效效敌敌敏敏散散数数整整文文斜斜断断斯新方方旁旁旅旅旋旋无无既既日日旧旧时时明明易易星映昨昨是是显显晕晕普普晰晰暂暂暗暗曲曲更更替最有有服服望望期期未未本本术术机机杂权杆杆束束条条来来松板极极构构析析果果枪枪柄柄某某染染查查栅栅标栈栏栏校校样根格格框框案案桌桌档档桥桥梦梦检检棕棕榜榜槽槽模模横横橙橙次欢欧欧款款歇歇止步死死殊殊段段每每比比毫毫气气水水求求汇汇池污沙沙没没油油法法泡波注注泻泻洋洋洲洲活活流流浅浅测测浏浏浪浪浮浮海海消消淡淡深深混混添添清清渐渐港港渲渲游游湖湖湾湾溃溃源源溢溢滑滑滚滚满满滤滤演演潜潜澳澳激激火火灯灰灵灵点点烈烈热热焦焦然然煞煞照照爆爆父父片版牌牌牙牙物物特特状状独独狼狼猩猩率率王王玛玛玩玩环现班班球球理理瑞瑞甚甚生生用用由由电电画画畅畅界界留留略略疤疤登登白百的的皇皇监监盖盘目目直直相相省省看看真眠着着瞄瞄矢矢知知短短石石码码破破础础硬硬确确碌碌碎碎磁磁示示神神禁禁离离种种秒秒称称移移程程稍稍稳稳空空突突窗窗立立站站竞竞端端符符第第等等答答筛筛签签简简算算管管篇篇类类粉粉粗粘精精糊糊糙糙系系素素索索紧紧紫紫纠纠红红级级纳纳纵纵纹纹线线组组细终经经绑绑结结绕绕绘给络绝统统继继绪绪续续维维绿缀缓缓编编缘缘缩缩缺缺网网罗罗置置美美翠翡翻翻考考者者而而耗耗耳耳联联肩肩胖胖能能脑脑脚脚腊腊臂臂自自至致舍舍航航良良色色节节芬芬若若英英范范荐荐荡荡荷荷莱莱获获菜菜萄萄著著葡葡蓝蓝藏藏虑虑虚虚融融行行街街衡衡补补表表被被裁裁装装西西要要覆覆见观规规视视览觉角角解解触触言言警警计计认认让让议议记记许许论论设访证证识识诉诊译译试试话话询询该详语语误误说说请诸读读调调象象贝贝负负败账质质贴贴费费赖赖赛赛赫赫起起超超越越足足跃跃距距跟跟跤跤路路跳跳踏踏踪踪身身车车轨轨转转轮软轴轴轻轻载载较较辅辅辑辑输输辨辨边边达达过过迎迎运近返返还这进远连迟述述迷迷追追退适逆逆选选逐逐递递通通速造遇遇道道遵遵避避那那邻邻部部都都配配醒醒采采释释里重量量金金针针钩钩钮钮铁铁铺铺链链销锁锐锐错错键锯镜镜长长门门闭问闲闲间间阅阅队队防阶阻阻附陆降降限限陡陡除除险险随隐隔隔隙隙障障雄雄集集零零雾雾需需震震静静非非靠靠面面韩韩音音页顶项须顿顿预预频频题题颜额颠颠颤颤风风饱饱馈馈首首香香马马驱驱验验骑骑骤骤高高鬼鬼魂魂魔魔麦麦黄黄黑黑默默鼓鼓鼠鼠齐齐齿齿,,::??" }, { "zh-TW", "NotoSansTC-Regular.ttf", // auto update by update_glyph_ranges.py with pcsx2-qt_zh-TW.ts - u"□□△△○○、。『』一丁三下不不且且世世丟丟並並中中主主之之乎乎乘乙也也了了事二于于互互五五些些亞亞交交享享亮亮人人什什今今他他代以件件任任份份休休估估伸伸伺伺似似但佇位住佔何作作你你佳佳併併使使來來例例供供依依係係俄俄保保修修個個倍倍們倒借借值值假假偏偏做做停停側偵備備傳傳傾傾僅僅像像價價儘儘優優儲儲允允元元充充先光克克免免兒兒入入內兩公六共共其典冊冊再再凍凍出出函函刀刀分切列列初初別別利刪到到制制則則前剎剪剪副副創創力力功加助助動動務務勢勢勾勾包包化化匯匯匹匹區十升升半半協協南南卡卡印印即即原原去去參參叉及反反取受口口另另只叫可可右右司司各各合吉同后向向否否含含呈呈告告呼命和和哈哈員員哪哪商商問問啓啓啟啟善善喚喚單單嗎嗎嘉嘉嘗嘗器器嚮嚮嚴嚴四四回回因因圈圈國國圍圍圖圖團團在在地地址址均均垂垂型型域埠執執基基堆堆堪堪場場塊塊塔塔填填塵塵增增壇壇壓壓壞壞士士外外多多夠夠大大天太失失夾夾奇奇奏奏套套奧奧奶奶好好如如始始威威娛娜嬰嬰子子字存它它安安完完宏宏官官定定害害家家容容宿宿密密富富察察實實寫寬寶寶寸寸封封射射將專對小少少尚尚就就尺尺尼尼尾尾屏屏展展層層屬屬崩崩工左巨巨差差己已巴巴希希帳帳帶帶常常幀幀幅幅幕幕幫幫平平幸幸幾幾序序底底度座庫庫延延建建弊弊式式引引張張強強彈彈彙彙形形彩彩影影待待很很律後徑徑得得從從復循微微德德心心必必快快忽忽性性怪怪恢恢息息您您情情想想愉愉意意感感態態慢慣慮慮憑憑憶憶應應成我或或截截戰戰戲戳戶戶所扁扇扇手手才才打打扳扳找找技技抑抑抖抗拉拉括括拳拳持持指指按按挑挑挪挪振振捕捕捨捨捷捷掃掃授授掌掌排排掛掛採採接接控掩描提插插換換握握援援損損搖搖搜搜撤撤播播擁擁擇擇擊擋操擎據據擬擬擴擴擷擷攔攔支支收收改改放放故故效效敏敏敗敗整敵數數文文料料斜斜斯新斷斷方方於於旁旁旋旋日日明明易易星映昨昨是是時時普普晰晰暈暈暗暗暢暢暫暫曲曲更更替最會會有有服服望望期期未未本本束束板板析析果果柄柄某某染染查查柵柵校校核根格格框框案案桿桿條條棄棄棕棕極極榜榜槍槍槽槽樂樂標標模模樣樣橋橋橙橙機機橫橫檔檔檢檢檯檯欄欄權權次次款款歐歐止步歸歸死死殊殊段段每每比比毫毫水水求求污污決決沒沒沙沙油油況況法法波波注注洲洲活活流流浮浮消消淡淡深深混混淺淺清清減減測測港港渲渲游游湊湊湖湖源源準準溢溢滑滑滿滿演演潰潰澳澳激激濾濾瀉瀉瀏瀏灣灣灰灰為為烈烈無無焦焦然然照照熱熱爲爲爾爾片版牌牌牙牙特特狀狀猩猩獨獨獲獲率率王王玩玩班班現現理理瑞瑞瑪瑪環環甚甚生生產產用用由由界界留留略略畫畫異異當當疊疊登百的的皇皇盡盡監盤目目直直相相看看真眠瞄瞄知知短短石石破破硬硬碎碎碟碟確確碼碼磁磁礎礎示示禁禁秒秒移移程程稍稍種種稱稱穩穩空空窗窗立立站站端端符符第第等等答答算算管管節節範範篩篩簡簡簿簿籤籤粉粉精精糊糊系系紅紅紋紋納納級級素素索索紫紫細細終終組組結結統統經經綠綠維維網網緒緒線線緣緣編緩縮縮縱縱織織繞繞繪繫繼繼續續缺缺置置羅羅美美義義翻翻考考者者而而耗耗耳耳聯聯聲聲肩肩胖胖能能臘臘自自至致臺臺與與舊舊舍舍航航良良色色芬芬芽芽若若英英茲茲荷荷菜菜萄萄萊萊著著葡葡蓋蓋薦薦藍藍藏藏蘭蘭處處虛虛號號融融螢螢行行衝衝衡衡表表被被裁裁補裝裡裡製製複複西西要要覆覆見見規規視視覺覺覽覽觀觀角角解解觸觸言言計計訊訊託記訪訪設設許許診註詢詢試試話詳誌認語語誤誤說說調調請請論論證證識識警警譯議護護讀讀變變讓讓象象負負費貼資資賓賓質質賬賬賴賴赫赫起起超超越越足足跟跟路路跳跳踏踏蹤蹤身身車車軌軌軟軟軸軸較較載載輔輕輪輪輯輯輸輸轉轉近近返返述述迴迴追追退送逆逆逐逐這通速造連連進進遇遇遊運過過道達遞遞適適遲遲選選避避還還邊邊那那部部都都鄰鄰配配醒醒重重量量金金針針鈕鈕銳銳銷銷鋪鋪鋸鋸錄錄錯錯鍵鍵鎖鎖鏈鏈鏡鏡鐵鐵門門閉閉開開間間閘閘閱閱關關防防附附降降限限陣除陰陰陸陸隊隊隔隔隙隙際障隨隨險險隱隱雄雄集集雙雙雜雜離離零零電電需需震震霧霧靈靈靜靜非非靠靠面面韓韓音音響響頂頂項順須須預預頓頓頭頭頻頻題額顏顏顛顛類類顯顯風風飽飽餘餘饋饋首首香香馬馬驅驅驗驗體體高高髮髮鬼鬼魂魂魔魔麥麥麼麼黃黃黑黑點點鼓鼓鼠鼠齊齊齒齒,,::??" + u"□□△△○○、。『』一丁三下不不且且世世丟丟並並中中主主之之乎乎乘乙也也了了事二于于互互五五些些亞亞交交享享亮亮人人什什今介他他代以件件任任份份休休估估伸伸伺伺似似但佇位住佔何作作你你佳佳併併使使來來例例供供依依係係俄俄保保修修個個倍倍們倒借借值值假假偏偏做做停停側偵備備傳傳傾傾僅僅像像價價儘儘優優儲儲允允元元充充先光克克免免兒兒入入內兩公六共共其典冊冊再再凍凍出出函函刀刀分切列列初初別別利刪到到制制則則前剎剪剪副副創創力力功加助助動動務務勢勢勾勾包包化化匯匯匹匹區十升升半半協協南南卡卡印印即即原原去去參參叉及反反取受口口另另只叫可可右右司司各各合吉同后向向否否含含呈呈告告呼命和和哈哈員員哪哪商商問問啓啓啟啟善善喚喚單單嗎嗎嘉嘉嘗嘗器器嚮嚮嚴嚴四四回回因因圈圈國國圍圍圖圖團團在在地地址址均均垂垂型型域埠執執基基堆堆堪堪場場塊塊塔塔填填塵塵增增壇壇壓壓壞壞士士外外多多夠夠大大天太失失夾夾奇奇奏奏套套奧奧奶奶好好如如始始威威娛娜嬰嬰子子字存它它安安完完宏宏官官定定害害家家容容宿宿密密富富察察實實寫寬寶寶寸寸封封射射將專對小少少尚尚就就尺尺尼尼尾尾屏屏展展層層屬屬崩崩工左巨巨差差己已巴巴希希帳帳帶帶常常幀幀幅幅幕幕幫幫平平幸幸幾幾序序底底度座庫庫延延建建弊弊式式引引張張強強彈彈彙彙形形彩彩影影待待很很律後徑徑得得從從復循微微德德心心必必快快忽忽性性怪怪恢恢息息您您情情想想愉愉意意感感態態慢慣慮慮憑憑憶憶應應成我或或截截戰戰戲戳戶戶所扁扇扇手手才才打打扳扳找找技技抑抑抖抗拉拉括括拳拳持持指指按按挑挑挪挪振振捕捕捨捨捷捷掃掃授授掌掌排排掛掛採採接接控掩描提插插換換握握援援損損搖搖搜搜撤撤播播擁擁擇擇擊擋操擎據據擬擬擴擴擷擷攔攔支支收收改改放放故故效效敏敏敗敗整敵數數文文料料斜斜斯新斷斷方方於於旁旁旋旋日日明明易易星映昨昨是是時時普普晰晰暈暈暗暗暢暢暫暫曲曲更更替最會會有有服服望望期期未未本本束束板板析析果果柄柄某某染染查查柵柵校校核根格格框框案案桌桌桿桿條條棄棄棕棕極極榜榜槍槍槽槽樂樂標標模模樣樣橋橋橙橙機機橫橫檔檔檢檢檯檯欄欄權權次次款款歐歐止步歸歸死死殊殊段段每每比比毫毫水水永永求求污污決決沒沒沙沙油油況況法法波波注注洲洲活活流流浮浮消消淡淡深深混混淺添清清減減測測港港渲渲游游湊湊湖湖源源準準溢溢滑滑滿滿演演潰潰澳澳激激濾濾瀉瀉瀏瀏灣灣灰灰為為烈烈無無焦焦然然照照熱熱爲爲爾爾片版牌牌牙牙特特狀狀猩猩獨獨獲獲率率王王玩玩班班現現理理瑞瑞瑪瑪環環甚甚生生產產用用由由界界留留略略畫畫異異當當疊疊登百的的皇皇盡盡監盤目目直直相相看看真眠瞄瞄知知短短石石破破硬硬碎碎碟碟確確碼碼磁磁礎礎示示禁禁秒秒移移程程稍稍種種稱稱穩穩空空窗窗立立站站端端符符第第等等答答算算管管節節範範篩篩簡簡簿簿籤籤粉粉精精糊糊系系紅紅紋紋納納級級素素索索紫紫細細紹紹終終組組結結統統經經綠綠維維網網緒緒線線緣緣編緩縮縮縱縱織織繞繞繪繫繼繼續續缺缺置置羅羅美美義義翻翻考考者者而而耗耗耳耳聯聯聲聲肩肩胖胖能能臘臘自自至致臺臺與與舊舊舍舍航航良良色色芬芬芽芽若若英英茲茲荷荷菜菜萄萄萊萊著著葡葡蓋蓋薦薦藍藍藏藏蘭蘭處處虛虛號號融融螢螢行行衝衝衡衡表表被被裁裁補裝裡裡製製複複西西要要覆覆見見規規視視覺覺覽覽觀觀角角解解觸觸言言計計訊訊託記訪訪設設許許診註詢詢試試話詳誌認語語誤誤說說調調請請論論證證識識警警譯議護護讀讀變變讓讓象象負負費貼資資賓賓質質賬賬賴賴赫赫起起超超越越足足跟跟路路跳跳踏踏蹤蹤身身車車軌軌軟軟軸軸較較載載輔輕輪輪輯輯輸輸轉轉近近返返述述迴迴追追退送逆逆逐逐這通速造連連進進遇遇遊運過過道達遞遞適適遲遲選選避避還還邊邊那那部部都都鄰鄰配配醒醒重重量量金金針針鈕鈕銳銳銷銷鋪鋪鋸鋸錄錄錯錯鍵鍵鎖鎖鏈鏈鏡鏡鐵鐵門門閉閉開開間間閘閘閱閱關關防防附附降降限限陣除陰陰陸陸隊隊隔隔隙隙際障隨隨險險隱隱雄雄集集雙雙雜雜離離零零電電需需震震霧霧靈靈靜靜非非靠靠面面韓韓音音響響頂頂項順須須預預頓頓頭頭頻頻題額顏顏顛顛類類顯顯風風飽飽餘餘饋饋首首香香馬馬驅驅驗驗體體高高髮髮鬼鬼魂魂魔魔麥麥麼麼黃黃黑黑點點鼓鼓鼠鼠齊齊齒齒(),,::??" }, }; // clang-format on diff --git a/pcsx2-qt/Translations/pcsx2-qt_af-ZA.ts b/pcsx2-qt/Translations/pcsx2-qt_af-ZA.ts index 3d00a2ce5104d..eb7b1f1d9e9e3 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_af-ZA.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_af-ZA.ts @@ -732,307 +732,318 @@ Leaderboard Position: {1} of {2} Use Global Setting [%1] - + Rounding Mode Rounding Mode - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Clamping Mode - - - + + + Normal (Default) Normal (Default) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Enable Recompiler - + - - - + + + - + - - - - + + + + + Checked Checked - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Cache (Slow) Enable Cache (Slow) - - - - + + + + Unchecked Unchecked - + Interpreter only, provided for diagnostic. Interpreter only, provided for diagnostic. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Uses backpatching to avoid register flushing on every memory access. - + Pause On TLB Miss Pause On TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Enable VU0 Recompiler (Micro Mode) - + Enables VU0 Recompiler. Enables VU0 Recompiler. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Enable VU1 Recompiler - + Enables VU1 Recompiler. Enables VU1 Recompiler. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. - + Enable Game Fixes Enable Game Fixes - + Automatically loads and applies fixes to known problematic games on game start. Automatically loads and applies fixes to known problematic games on game start. - + Enable Compatibility Patches Enable Compatibility Patches - + Automatically loads and applies compatibility patches to known problematic games. Automatically loads and applies compatibility patches to known problematic games. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1255,29 +1266,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Frame Rate Control - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Frame Rate: - + NTSC Frame Rate: NTSC Frame Rate: @@ -1292,7 +1303,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1337,17 +1348,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Settings - + Slot: Slot: - + Enable Enable @@ -1868,8 +1884,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automatic Updater @@ -1909,68 +1925,68 @@ Leaderboard Position: {1} of {2} Remind Me Later - - + + Updater Error Updater Error - + <h2>Changes:</h2> <h2>Changes:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - + Savestate Warning Savestate Warning - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - + Downloading %1... Downloading %1... - + No updates are currently available. Please try again later. No updates are currently available. Please try again later. - + Current Version: %1 (%2) Current Version: %1 (%2) - + New Version: %1 (%2) New Version: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... Loading... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2134,19 +2150,19 @@ Leaderboard Position: {1} of {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2236,17 +2252,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2271,7 +2287,7 @@ Leaderboard Position: {1} of {2} Unknown - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4005,63 +4044,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4132,17 +4171,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4794,53 +4848,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4858,48 +4912,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4920,23 +4974,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5699,342 +5748,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11074,32 +11133,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11575,11 +11644,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11589,10 +11658,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11659,7 +11728,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11725,29 +11794,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11758,7 +11817,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11768,18 +11827,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11831,7 +11890,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11878,7 +11937,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11894,7 +11953,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11930,7 +11989,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11946,31 +12005,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11982,15 +12041,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12018,8 +12077,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12076,18 +12135,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12186,13 +12245,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12206,16 +12265,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12288,25 +12337,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12317,7 +12366,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12376,25 +12425,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12404,6 +12453,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12421,13 +12480,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12450,8 +12509,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12472,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12524,7 +12583,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12539,7 +12598,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12560,50 +12619,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12619,13 +12678,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12636,13 +12695,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12668,7 +12727,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12679,43 +12738,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12824,19 +12883,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12889,7 +12948,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12899,1214 +12958,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14114,7 +14173,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14331,254 +14390,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15456,594 +15515,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16056,297 +16129,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16355,12 +16428,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16373,89 +16446,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16464,42 +16537,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16522,25 +16595,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16557,28 +16630,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17370,7 +17448,7 @@ Die aksie kan nie omgekeer word nie en U sal enige saves op die kaart verloor.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18210,12 +18288,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. - Kon nie {} oopmaak nie. Ingeboude speletjie patches is nie beskikbaar nie. + </p> - + %n GameDB patches are active. OSD Message @@ -18224,7 +18302,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Geen kroeke of patches (wydskerm, versoenbaarheid of ander) is gevind / geaktiveer nie. @@ -18343,47 +18421,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18516,7 +18594,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21729,42 +21807,42 @@ Om rekursief te skandeer neem langer, maar sal lêers identifiseer in ondergidse VMManager - + Failed to back up old save state {}. Kon nie ou stoor staat rugsteun nie {}. - + Failed to save save state: {}. Kon nie stoor staat stoor nie: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Onbekende Speletjie - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Fout - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21781,272 +21859,272 @@ Wanneer dit klaar gedump is, moet die BIOS beeld in die bios gids wat binne die Raadpleeg asseblief die FAQs en Guides vir verdere instruksies. - + Resuming state Besig om staat te hervat - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. Staat gestoor na gleuf {}. - + Failed to save save state to slot {}. Kon nie stoor staat stoor na gleuf {}. - - + + Loading state Besig om staat te laai - + Failed to load state (Memory card is busy) Kon nie staat laai nie (Geheue kaart is besig) - + There is no save state in slot {}. Daar is geen stoor staat in gleuf {}. - + Failed to load state from slot {} (Memory card is busy) Kon nie staat laai van slot nie {} (Geheue kaart is besig) - + Loading state from slot {}... Besig om staat te laai van gleuf {}... - + Failed to save state (Memory card is busy) Kon nie staat stoor nie (Geheue kaart is besig) - + Failed to save state to slot {} (Memory card is busy) Kon nie staat stoor na slot nie {} (Geheue kaart is besig) - + Saving state to slot {}... Besig om staat te stoor na gleuf {}... - + Frame advancing Raam bevordering - + Disc removed. Skyf verwyder. - + Disc changed to '{}'. Skyf verander na '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Kon nie nuwe skyfbeeld '{}' oopmaak nie. Ou beeld word teruggekeur. Fout was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Kon nie terug skakel na ou skyfbeeld nie. Skyf word verwyder. Fout was: {} - + Cheats have been disabled due to achievements hardcore mode. Kroeke is gedeaktiveer as gevolg van prestasies hardcore modus. - + Fast CDVD is enabled, this may break games. Vinnige CDVD is geaktiveer, dit kan speletjies breek. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Siklus tempo/oorslaan is nie op verstek nie, dit mag speletjies laat omval of te stadig hardloop. - + Upscale multiplier is below native, this will break rendering. Opskaal vermenigvuldiger is onder plaaslik, dit sal vertooning breek. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Tekstuur filtrering is nie op Bilineêr (PS2) gestel nie. Dit sal vertooning breek in party speletjies. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinêre filtrering is nie op outomaties gestel nie. Dit mag vertooning in party speletjies breek. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardeware Aflaai Modus is nie op Akkuraat gestel nie, dit mag vertooning in party speletjies breek. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Afrond Modus is nie op verstek gestel nie, dit mag party speletjies breek. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Klamp Modus is nie op verstek gestel nie, dit mag party speletjies breek. - + VU0 Round Mode is not set to default, this may break some games. VU0 Afrond Modus is nie op verstek gestel nie, dit mag party speletjies breek. - + VU1 Round Mode is not set to default, this may break some games. VU1 Afrond Modus is nie op verstek gestel nie, dit mag party speletjies breek. - + VU Clamp Mode is not set to default, this may break some games. VU Klamp Modus is nie op verstek gestel nie, dit mag party speletjies breek. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Speletjie Regstellings is nie geaktiveer nie. Versoenbaarheid met party speletjies mag geaffekteer word. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Versoenbaarheid Patches is nie geaktiveer nie. Versoenbaarheid met party speletjies mag geaffekteer word. - + Frame rate for NTSC is not default. This may break some games. Beeldkoers vir NTSC is nie verstek nie. Dit mag party speletjies breek. - + Frame rate for PAL is not default. This may break some games. Beeldkoers vir PAL is nie verstek nie. Dit mag party speletjies breek. - + EE Recompiler is not enabled, this will significantly reduce performance. EE herkompileerder is nie geaktiveer nie, dit sal werkverrigting ernstig verminder. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 herkompileerder is nie geaktiveer nie, dit sal werkverrigting ernstig verminder. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 herkompileerder is nie geaktiveer nie, dit sal werkverrigting ernstig verminder. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Herkompileerder is nie geaktiveer nie, dit sal werkverrigting ernstig verminder. - + EE Cache is enabled, this will significantly reduce performance. EE kasgeheue is geaktiveer, dit sal werkverrigting ernstig verminder. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wag Lus Opsporing is nie geaktiveer nie, dit mag werkverrigting verminder. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Draai Opsporing is nie geaktiveer nie, dit mag werkverrigting verminder. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Onmiddellike VU1 is gedeaktiveer, dit mag werkverrigting verminder. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Vlag Hack is nie geaktiveer nie, dit mag werkverrigting verminder. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palet bekering is geaktiveer, dit mag werkverrigting verminder. - + Texture Preloading is not Full, this may reduce performance. Tekstuur Voorlaaiing is nie Vol nie, dit mag werkverrigting verminder. - + Estimate texture region is enabled, this may reduce performance. Reken tekstuur streek is geaktiveer, dit mag werkverrigting verminder. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_ar-SA.ts b/pcsx2-qt/Translations/pcsx2-qt_ar-SA.ts index 77c547fab7724..085b332c582dd 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_ar-SA.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_ar-SA.ts @@ -751,310 +751,321 @@ Leaderboard Position: {1} of {2} استخدام الإعدادات العامة [%1] - + Rounding Mode وضع التقريب - - - + + + Chop/Zero (Default) شوب/صفر (افتراضي) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> يغير كيفية تعامل PCSX2 مع التقريب أثناء محاكاة وحدة النقطة العائمة (EE FPU) الخاصة بمحرك Emotion Engine's. نظرًا لأن وحدات FPU المختلفة في PS2 غير متوافقة مع المعايير الدولية، فقد تحتاج بعض الألعاب إلى أوضاع مختلفة لإجراء العمليات الحسابية بشكل صحيح. تتعامل القيمة الافتراضية مع الغالبية العظمى من الألعاب؛ <b>تعديل هذا الإعداد عندما لا تكون هناك مشكلة واضحة في اللعبة يمكن أن يسبب عدم الاستقرار.</b> - + Division Rounding Mode وضع تقريب القسمة - + Nearest (Default) الأقرب (الافتراضي) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> تحديد كيفية تقريب نتائج تقسيم الفاصلة العائمة. تحتاج بعض الألعاب إلى إعدادات محددة؛ <b>تعديل هذا الإعداد عندما لا تكون هناك مشكلة واضحة في اللعبة يمكن أن يسبب عدم الاستقرار.</b> - + Clamping Mode وضع حد الأرقام - - - + + + Normal (Default) عادي (إفتراضي) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> غير كيفية تعامل PCSX2 مع الأعداد العشرية في نطاق x86 القياسي. القيمة الافتراضية مع الغالبية العظمى من الألعاب؛ <b>تعديل هذا الإعداد عندما لا تكون هناك مشكلة واضحة في اللعبة يمكن أن يسبب عدم الاستقرار.</b> - - + + Enable Recompiler تمكين مُعيد البناء - + - - - + + + - + - - - - + + + + + Checked محدد - + + Use Save State Selector + اختار الحالة المحفوظة + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + أظهر واجهة تحديد الحالة المحفوظة عند التبديل بين المداخل بدل فقاعة إرسال إشعار. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. تنفيذ التَّرْجَمَةً الثنائية just-in-time من كود الآلة MIPS-IV 64-bit إلي x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). اكتشاف حلقات الانتظار - + Moderate speedup for some games, with no known side effects. تسريع متوسط لبعض الألعاب، بدون آثار جانبية معروفة. - + Enable Cache (Slow) تمكين ذاكرة التخزين المؤقت (بطيء) - - - - + + + + Unchecked غير محدد - + Interpreter only, provided for diagnostic. مترجم فقط، هذا الاختيار موجود لتشخيص المشاكل فقط. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. اكتشاف استخدام INTC - + Huge speedup for some games, with almost no compatibility side effects. تسريع كبير لبعض الألعاب، يكاد لا يكون له آثار جانبية على التوافق. - + Enable Fast Memory Access تمكين الوصول السريع للذاكرة - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) يستخدم الترقيع المرجعي (BackPatching) لتجنب تنظيف ذاكرة المعالج عند كل عملية وصول للذاكرة. - + Pause On TLB Miss توقف في حالة فقد TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. إيقاف تشغيل الآلة الافتراضية عند فقد TLB، بدلا من تجاهلها والاستمرار. لاحظ أن الآلة الافتراضية ستتوقف بعد نهاية الحاجز، وليس بناء على التعليمات التي تسببت في الاستثناء. يرجى الرجوع إلى وحدة التحكم لرؤية العنوان الذي حدث فيه وصول غير صحيح. - + Enable 128MB RAM (Dev Console) تفعيل ذاكرة الوصول العشوائي 128MB (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. يكشف عن ذاكرة إضافية قدرها 96 ميغابايت للآلة الافتراضية. - + VU0 Rounding Mode وضع التقريب VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> يغير كيفية تعامل PCSX2 مع التقريب مع محاكاة محرك Emotion's وحدة المتجهات 0 (EE VU0). القيمة الافتراضية تتعامل مع الأغلبية الساحقة من الألعاب؛ <b>تعديل هذا الإعداد عندما لا تواجه لُعْبَة مشكلة مرئية سيسبب مشكلات استقرار و/أو تعطل.</b> - + VU1 Rounding Mode وضع التقريب VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> يغير كيفية تعامل PCSX2 مع التقريب مع محاكاة محرك Emotion's وحدة المتجهات 1 (EE VU0). القيمة الافتراضية تتعامل مع الأغلبية الساحقة من الألعاب؛ <b>تعديل هذا الإعداد عندما لا تواجه لُعْبَة مشكلة مرئية سيسبب مشكلات استقرار و/أو تعطل.</b> - + VU0 Clamping Mode وضع التحامل VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> يغير كيفية تعامل PCSX2 مع التقريب مع محاكاة محرك Emotion's وحدة المتجهات 0 (EE VU0). القيمة الافتراضية تتعامل مع الأغلبية الساحقة من الألعاب؛ <b>تعديل هذا الإعداد عندما لا تواجه لُعْبَة مشكلة مرئية سيسبب مشكلات استقرار و/أو تعطل.</b> - + VU1 Clamping Mode وضع التحامل VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> يغير كيفية تعامل PCSX2 مع التقريب مع محاكاة محرك Emotion's وحدة المتجهات 1 (EE VU0). القيمة الافتراضية تتعامل مع الأغلبية الساحقة من الألعاب؛ <b>تعديل هذا الإعداد عندما لا تواجه لُعْبَة مشكلة مرئية سيسبب مشكلات استقرار و/أو تعطل.</b> - + Enable Instant VU1 تشغيل VU1 الفوري - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. تشغيل VU1 على الفور. يُعطي تحسينا متواضعا للسرعة في معظم الألعاب. آمن لمعظم الألعاب، ولكن بعض الألعاب قد تظهر أخطاء في الرسوم. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. تمكين مُعيد بناء برامج VU0 (في وضع المايكرو) - + Enables VU0 Recompiler. يمكن مُعيد بناء برامج VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. تمكين مُعيد بناء برامج VU1 - + Enables VU1 Recompiler. يمكن مُعيد بناء برامج VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) تسريع mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. تسريع جيد ونسبة توافق عالية، قد يسبب أخطاء في الرسوم. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. يترجم كود الآلة لبرامج MIPS-IV 32-bit عند وقت التنفيذ إلى كود الآلة الذي يعمل على معالج x86. - + Enable Game Fixes تفعيل إصلاحات الألعاب - + Automatically loads and applies fixes to known problematic games on game start. يقوم تلقائياً بتطبيق الإصلاحات على الألعاب ذات المشاكل المعروفة عند بَدْء اللعبة. - + Enable Compatibility Patches تفعيل تعديلات التوافق - + Automatically loads and applies compatibility patches to known problematic games. يقوم تلقائياً بتطبيق تعديلات التوافق على الألعاب ذات المشاكل المعروفة. - + Savestate Compression Method - + Zstandard - Zstandard + Zstandard - + Determines the algorithm to be used when compressing savestates. - Determines the algorithm to be used when compressing savestates. + تحدد الخوارزمية المستخدمة لضغط الحالات المحفوظة. - + Savestate Compression Level - Savestate Compression Level + مستوى ضغط الحالة المحفوظة - + Medium - Medium + متوسط - + Determines the level to be used when compressing savestates. - Determines the level to be used when compressing savestates. + تحدد مستوى ضغط الحالات المحفوظة. - + Save State On Shutdown - Save State On Shutdown + حفظ جلسة اللعبة عند الأغلاق - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + يحفظ حالة المحاكي تلقائياً عند إطفائه أو الخروج منه, يمكنك الاستئناف من حيث انتهيت في المرة القادمة. - + Create Save State Backups - Create Save State Backups + إنشاء حالات محفوظة احتياطية - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. - Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. + ينشئ نسخة من حالة محفوظة إذا وجدت عند الحفظ. المِلَفّ الاحتياطي له امتداد (.backup). @@ -1271,102 +1282,107 @@ Leaderboard Position: {1} of {2} Create Save State Backups - Create Save State Backups + إنشاء حالات محفوظة أحتياطية - + Save State On Shutdown - Save State On Shutdown + حفظ الحالة عند الإطفاء - + Frame Rate Control التحكم في معدل الإطارات - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. هرتز - + PAL Frame Rate: معدل إطارات PAL: - + NTSC Frame Rate: معدل إطارات NTSC: Savestate Settings - Savestate Settings + إعدادات حفظ جلسة اللعبة Compression Level: - Compression Level: + مستوى الضغط: - + Compression Method: - Compression Method: + طريقة الضغط: Uncompressed - Uncompressed + غير مضغوط Deflate64 - Deflate64 + Deflate64 Zstandard - Zstandard + Zstandard LZMA2 - LZMA2 + LZMA2 Low (Fast) - Low (Fast) + منخفض (سريع) Medium (Recommended) - Medium (Recommended) + متوسط (مستحسن) High - High + عالي Very High (Slow, Not Recommended) - Very High (Slow, Not Recommended) + عالي جدا (بطيء، غير مستحسن) + + + + Use Save State Selector + اختار الحالة المحفوظة - + PINE Settings إعدادات PINE - + Slot: خانة: - + Enable تفعيل @@ -1376,27 +1392,27 @@ Leaderboard Position: {1} of {2} Analysis Options - Analysis Options + خيارات التحليل Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. - Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + التغيرات المنفذة هنا لن يتم حفظها. غير هذه الإعدادات في إعدادات المحاكي أو إعدادات كل لُعْبَة لحفظ التغيرات من أجل تحليلها مستقبلاً. Close dialog after analysis has started - Close dialog after analysis has started + أغلق مربع الحُوَار بعد بَدْء التحليل Analyze - Analyze + تحليل Close - Close + إغلاق @@ -1889,8 +1905,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater التحديث التلقائي @@ -1930,68 +1946,68 @@ Leaderboard Position: {1} of {2} ذكرني لاحقا - - + + Updater Error خطأ فى التحديث - + <h2>Changes:</h2> <h2>التغييرات:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>تحذير حفظ الحالة </h2><p>تثبيت هذا التحديث سيجعل حفظك <b>غير متوافق</b>. الرجاء التأكد من أنك حفظت ألعابك في بطاقة الذاكرة قبل تثبيت هذا التحديث وإلا سوف تفقد تقدمك في اللعبة</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>تحذير الإعدادات</h2><p>تثبيت هذا التحديث سيعيد تعيين الإعدادات إلى الافتراضيات. يرجى ملاحظة أنه سيتعين عليك إعادة ضبط الإعدادات الخاصة بك بعد هذا التحديث</p> - + Savestate Warning تحذير الحفظ - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>تحذير </h1><p style='font-size:12pt;'>تنصيب هذا التحديث سيجعل <b>ملفات حفظ الحالة غير متوافقة </b>, <i>تأكّد من حفظ أي تقدّم لكروت الذاكرة الخاصة بك قبل المتابعة </i>.</p><p>هل تريد المتابعة؟</p> - + Downloading %1... جار التحميل %1... - + No updates are currently available. Please try again later. لاتوجد تحديثات حالياً، يرجى إعادة المحاولة لاحقاً. - + Current Version: %1 (%2) الإصدار الحالي: %1 (%2) - + New Version: %1 (%2) الإصدار الجديد: %1 (%2) - + Download Size: %1 MB حجم التحميل: %1 MB - + Loading... جارٍ التحميل... - + Failed to remove updater exe after update. فشل إزالة التحديث بعد التحديث. @@ -2155,19 +2171,19 @@ Leaderboard Position: {1} of {2} تفعيل - - + + Invalid Address عنوان غير صالح - - + + Invalid Condition شرط غير صالح - + Invalid Size حجم غير صالح @@ -2257,17 +2273,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. موقع قرص اللعبة على محرك أقراص قابل للإزالة، قد تحدث مشاكل في الأداء مثل التقطع والتجميد. - + Saving CDVD block dump to '{}'. حفظ قالب CDVD إلى '{}'. - + Precaching CDVD تنقية CDVD @@ -2292,7 +2308,7 @@ Leaderboard Position: {1} of {2} غير معروف - + Precaching is not supported for discs. التحقق غير مدعوم للأقراص. @@ -2670,12 +2686,12 @@ Leaderboard Position: {1} of {2} Face Buttons - Face Buttons + الأزرار الأمامية Cross - Cross + أكس @@ -2758,27 +2774,27 @@ Leaderboard Position: {1} of {2} Face Buttons - Face Buttons + الازرار الأمامية I - I + I II - II + II B - B + B A - A + A @@ -3249,29 +3265,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile حذف ملف التعريف - + Mapping Settings إعدادات وحدة التحكم - - + + Restore Defaults استعادة الافتراضيات - - - + + + Create Input Profile أنشئ ملف تعريف - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3282,40 +3303,43 @@ Enter the name for the new input profile: أدخل اسم الملف الشخصي الجديد للمدخلات: - - - - + + + + + + Error خطأ - + + A profile with the name '%1' already exists. يوجد بالفعل ملف تعريف باسم '%1'. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. هل تريد نسخ جميع الارتباطات من ملف التعريف المحدد حاليا إلى ملف التعريف الجديد؟ اختيار \"لا\" سيؤدي إلى إنشاء ملف تعريف فارغ تماما. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? هل تريد نسخ ارتباطات المفتاح الساخن الحالية من الإعدادات العامة إلى الملف الشخصي للمدخلات الجديدة؟ - + Failed to save the new profile to '%1'. فشل في حفظ ملف التعريف الجديد إلى '%1'. - + Load Input Profile تحميل ملف تعريف الإدخال - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3328,12 +3352,27 @@ You cannot undo this action. لا يمكن التراجع عن هذا. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile حذف ملف تعريف الإدخال - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3342,12 +3381,12 @@ You cannot undo this action. لا يمكنك التراجع عن هذا الإجراء. - + Failed to delete '%1'. فشل في حذف '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3360,13 +3399,13 @@ You cannot undo this action. لا يمكنك التراجع عن هذا الإجراء. - + Global Settings الإعدادات العامة - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3374,8 +3413,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3383,26 +3422,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 منفذ USB %1 %2 - + Hotkeys مفاتيح الاختصار - + Shared "Shared" refers here to the shared input profile. مشترك - + The input profile named '%1' cannot be found. لا يمكن العثور على ملف الإدخال المسمى '%1'. @@ -3432,7 +3471,7 @@ You cannot undo this action. Use Title File Names - Use Title File Names + استخدام اسم مِلَفّ العنوان @@ -3978,13 +4017,13 @@ Do you want to overwrite? Clear Existing Symbols - Clear Existing Symbols + حذق الرموز الموجودة Automatically Select Symbols To Clear - Automatically Select Symbols To Clear + حذف الرموز تلقائياً لمسحها @@ -3994,13 +4033,13 @@ Do you want to overwrite? Import Symbols - Import Symbols + استيراد رموز Import From ELF - Import From ELF + استيراد من ELF @@ -4018,71 +4057,71 @@ Do you want to overwrite? Import Default .sym File - Import Default .sym File + استيراد ملف .sym الافتراضي Import from file (.elf, .sym, etc): - Import from file (.elf, .sym, etc): + استيراد من الملف (.elf, .sem، إلخ): - + Add - Add + إضافة - + Remove - Remove + إزالة - + Scan For Functions - Scan For Functions + البحث عن دوال - + Scan Mode: - Scan Mode: + وضع المسح: - + Scan ELF - Scan ELF + مسح ELF - + Scan Memory Scan Memory - + Skip - Skip + تخطي - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4140,7 +4179,7 @@ Do you want to overwrite? Unchecked - Unchecked + غير محدد @@ -4153,17 +4192,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4200,7 +4254,7 @@ Do you want to overwrite? Never - Never + مطلقاً @@ -4365,7 +4419,7 @@ Do you want to overwrite? Memory - Memory + الذاكرة @@ -4403,7 +4457,7 @@ Do you want to overwrite? CDVD - CDVD + قرص ال دي في دي @@ -4413,7 +4467,7 @@ Do you want to overwrite? Memcards - Memcards + بطاقات التخزين @@ -4815,53 +4869,53 @@ Do you want to overwrite? مصحح PCSX2 - + Run تشغيل - + Step Into انتقال إلى - + F11 F11 - + Step Over تجاوز - + F10 F10 - + Step Out خروج - + Shift+F11 Shift+F11 - + Always On Top دائما في مقدمة النوافذ المفتوحة - + Show this window on top عرض هذه النافذة في الأعلى - + Analyze Analyze @@ -4879,48 +4933,48 @@ Do you want to overwrite? تفكيك - + Copy Address نسخ العنوان - + Copy Instruction Hex نسخ التعليمات (Hex) - + NOP Instruction(s) تعليمات NOP - + Run to Cursor تشغيل إلى المؤشر - + Follow Branch تتبع الفرع - + Go to in Memory View الذهاب إلى طريقة عرض الذاكرة - + Add Function إضافة وظيفة - - + + Rename Function إعادة تسمية الوظيفة - + Remove Function حذف الوظيفة @@ -4941,23 +4995,23 @@ Do you want to overwrite? بناء تعليمات - + Function name اسم الوظيفة - - + + Rename Function Error خطأ في إعادة تسمية الوظيفة - + Function name cannot be nothing. اسم الدالة لا يمكن أن يكون لا شيء. - + No function / symbol is currently selected. لا توجد وظيفة / رمز محدد حاليا. @@ -4967,72 +5021,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error خطأ في إعادة تسمية الوظيفة - + Unable to stub selected address. غير قادر على إدخال العنوان المحدد. - + &Copy Instruction Text &نسخ نص التعليمات - + Copy Function Name نسخ اسم الوظيفة - + Restore Instruction(s) إستعادة التعليمات - + Asse&mble new Instruction(s) بناء تعليمات جديدة() - + &Jump to Cursor &القفز إلى المؤشر - + Toggle &Breakpoint تبديل &نقطة التوقف - + &Go to Address &الذهاب إلى عنوان - + Restore Function إستعادة الوظيفة - + Stub (NOP) Function وظيفة ستوب (NOP) - + Show &Opcode إظهار &رمز أوبود - + %1 NOT VALID ADDRESS %1 ليس عنوان قابل للاستخدام @@ -5059,86 +5113,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - الخانة: %1 | %2 | EE: %3 % | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - الخانة:%1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image لا توجد صورة - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) اللعبة: %1 (%2) - + Rich presence inactive or unsupported. خاصية Discord Rich Presence غير نشطة أو غير مدعومة. - + Game not loaded or no RetroAchievements available. اللعبة لم يتم تحميلها أو لا توجد إنجازات RetroAchievements متوفرة. - - - - + + + + Error خطأ - + Failed to create HTTPDownloader. فشل إنشاء HTTPDownloader. - + Downloading %1... جار التحميل %1... - + Download failed with HTTP status code %1. فشل التنزيل مع رمز حالة HTTP %1. - + Download failed: Data is empty. فشل التحميل: البيانات فارغة. - + Failed to write '%1'. فشل إنشاء '%1'. @@ -5512,81 +5566,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. - Division by zero. + القسمة على صفر. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5720,342 +5769,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. تعذر العثور على أي أجهزة CD/DVD-ROM. الرجاء التأكد من أن لديك أذونات متصلة بالقرص و كافية للوصول إليه. - + Use Global Setting استخدام الإعدادات العامة - + Automatic binding failed, no devices are available. فشل الربط التلقائي، لا توجد أجهزة متاحة. - + Game title copied to clipboard. تم نسخ عنوان اللعبة إلى الحافظة. - + Game serial copied to clipboard. تم نسخ تسلسل اللعبة إلى الحافظة. - + Game CRC copied to clipboard. تم نسخ CRC اللعبة إلى الحافظة. - + Game type copied to clipboard. تم نسخ نوع اللعبة إلى الحافظة. - + Game region copied to clipboard. تم نسخ منطقة اللعبة إلى الحافظة. - + Game compatibility copied to clipboard. تم نسخ توافق اللعبة إلى الحافظة. - + Game path copied to clipboard. تم نسخ مسار اللعبة إلى الحافظة. - + Controller settings reset to default. إعادة تعيين إعدادات ذراع التحكم إلى الافتراضي. - + No input profiles available. لا توجد ملفات تعريف للمدخلات المتاحة. - + Create New... إنشاء جديدة... - + Enter the name of the input profile you wish to create. أدخل اسم الملف الشخصي للمدخل الذي ترغب في إنشائه. - + Are you sure you want to restore the default settings? Any preferences will be lost. هل أنت متأكد من أنك تريد استعادة الإعدادات الافتراضية؟ سيتم فقدان أي تفضيلات. - + Settings reset to defaults. إعادة تعيين الإعدادات إلى الإعدادات الافتراضية. - + No save present in this slot. لا يوجد حفظ في هذه الخانة. - + No save states found. لم يتم العثور على حالات حفظ. - + Failed to delete save state. فشل حذف حالة الحفظ. - + Failed to copy text to clipboard. فشل نسخ النص إلى الحافظة. - + This game has no achievements. هذه اللعبة ليس لها إنجازات. - + This game has no leaderboards. هذه اللعبة ليس لديها المتصدرين. - + Reset System إعادة تعيين النظام - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? لن يتم تمكين الوضع الصعب حتى يتم إعادة تعيين النظام. هل تريد إعادة تعيين النظام الآن؟ - + Launch a game from images scanned from your game directories. ابدأ لعبة من الصور الممسوحة ضوئيا من أدلة اللعبة الخاصة بك. - + Launch a game by selecting a file/disc image. بدء لعبة عن طريق اختيار صورة ملف/قرص مدمج. - + Start the console without any disc inserted. بدء تشغيل وحدة التحكم دون إدخال أي قرص. - + Start a game from a disc in your PC's DVD drive. ابدأ لعبة من قرص في محرك الأقراص DVD الخاص بك على جهاز الكمبيوتر'. - + No Binding لا يوجد ربط - + Setting %s binding %s. إعداد %s ربط %s. - + Push a controller button or axis now. اضغط على زر أو محور وحدة تحكم الآن. - + Timing out in %.0f seconds... مهلة في %.0f ثانية... - + Unknown غير معروف - + OK حسناً - + Select Device اختيار الجهاز - + Details تفاصيل - + Options خيارات - + Copies the current global settings to this game. نسخ الإعدادات العامة الحالية إلى هذه اللعبة. - + Clears all settings set for this game. مسح جميع الإعدادات التي تم تعيينها لهذه اللعبة. - + Behaviour السُلوك - + Prevents the screen saver from activating and the host from sleeping while emulation is running. يمنع موفر الشاشة من التفعيل والمضيف من السكون أثناء تشغيل المحاكاة. - + Shows the game you are currently playing as part of your profile on Discord. يعرض اللعبة التي تلعبها حاليا كجزء من ملفك الشخصي على ديسكورد. - + Pauses the emulator when a game is started. إيقاف المحاكي عند بَدْء اللعبة. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. يوقف المحاكي عند تصغير النافذة أو التبديل إلى تطبيق آخر، ويتوقف عند عودتك إلى العمل. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. يوقف المحاكي عند فتح القائمة السريعة، ويتوقف عند إغلاقه. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. يحدد ما إذا كان سيتم عرض توجيه لتأكيد إغلاق المحاكي/اللعبة عند الضغط على المفتاح الساخن. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. يحفظ تلقائياً حالة المحاكي عندما تنخفض الطاقة أو تخرج. يمكنك بعد ذلك الاستئناف مباشرة من حيث توقفت في المرة القادمة. - + Uses a light coloured theme instead of the default dark theme. يستخدم سمة خفيفة ملونة بدلاً من السمة المظلمة الافتراضية. - + Game Display عرض اللعبة - + Switches between full screen and windowed when the window is double-clicked. التبديل بين ملء الشاشة و النافذة عند النقر على النافذة مرتين. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. إخفاء مؤشر الماوس / المؤشر عندما يكون المحاكي في وضع ملء الشاشة. - + Determines how large the on-screen messages and monitor are. يحدد حجم الرسائل على الشاشة والمراقبة. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. يعرض إشعارات على الشاشة عندما تحدث أحداث مثل إنشاء أو تحميل حالات الحفظ، أخذ لقطات الشاشة، إلخ. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. يظهر سرعة المحاكاة الحالية للنظام في الزاوية العلوية اليمنى من العرض كنسبة مئوية. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. يعرض عدد إطارات الفيديو (أو المزامنة v-syncs) المعروضة لكل ثانية من قبل النظام في الزاوية العلوية اليمنى من العرض. - + Shows the CPU usage based on threads in the top-right corner of the display. يعرض استخدام CPU على أساس خيوط المعالجة في الزاوية العلوية اليمنى من العرض. - + Shows the host's GPU usage in the top-right corner of the display. يعرض المضيف'استخدام كرت الشاشة في الزاوية العلوية اليمنى من العرض. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. يعرض إحصائيات حول GS (البدائية، ارسم المكالمات) في الزاوية اليمنى العليا من العرض. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. إظهار المؤشرات عند سرعة الإرسال والتوقف المؤقت وغير ذلك من الحالات غير العادية نشطة. - + Shows the current configuration in the bottom-right corner of the display. يعرض التكوين الحالي في الزاوية اليمنى السفلى من العرض. - + Shows the current controller state of the system in the bottom-left corner of the display. يعرض حالة ذراع التحكم الحالية للنظام في الزاوية اليسرى السفلى من العرض. - + Displays warnings when settings are enabled which may break games. يعرض تحذيرات عند تمكين الإعدادات التي يمكن أن تكسر الألعاب. - + Resets configuration to defaults (excluding controller settings). إعادة تعيين الإعدادات إلى الإعدادات الافتراضية (باستثناء إعدادات ذراع التحكم). - + Changes the BIOS image used to start future sessions. يغير صورة BIOS المستخدمة لبدء الجلسات المقبلة. - + Automatic تلقائي - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default افتراضي - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6064,1977 +6113,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. سيتم تبديل تلقائيًا إلى وضع ملء الشاشة عند بدء تشغيل اللعبة. - + On-Screen Display عارض المعلومات على الشاشه - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. يعرض مستوى دقة الشاشة للعبة في الزاوية العلوية اليمنى من العرض. - + BIOS Configuration إعدادات BIOS - + BIOS Selection اختيار BIOS - + Options and Patches الخيارات والتعديلات - + Skips the intro screen, and bypasses region checks. تخطي شاشة المقدمة، وتجاوز التحقق من المنطقة. - + Speed Control التحكم بالسرعة - + Normal Speed السرعة العادية - + Sets the speed when running without fast forwarding. يضبط السرعة عند التشغيل دون التقديم السريع. - + Fast Forward Speed سرعة التقديم السريع - + Sets the speed when using the fast forward hotkey. تعيين السرعة عند استخدام المفتاح الساخن السريع إلى الأمام. - + Slow Motion Speed سرعة الحركة البطيئة - + Sets the speed when using the slow motion hotkey. تعيين السرعة عند استخدام مفتاح الحركة الساخن البطيء. - + System Settings إعدادات النظام - + EE Cycle Rate معدل دورات EE - + Underclocks or overclocks the emulated Emotion Engine CPU. إما كسر وإما خفض سرعة معالج EE الذي يحاكى. - + EE Cycle Skipping تخطي دورات EE - + Enable MTVU (Multi-Threaded VU1) تشغيل MTVU (VU1 المتعدد المسارات) - + Enable Instant VU1 تشغيل VU1 الفوري - + Enable Cheats تمكين الشفرات - + Enables loading cheats from pnach files. تمكين تحميل كود الغش من ملفات pnach. - + Enable Host Filesystem تفعيل نظام ملفات المضيف - + Enables access to files from the host: namespace in the virtual machine. تمكين الوصول إلى الملفات من المضيف: مساحة الاسم في الجهاز الافتراضي. - + Enable Fast CDVD تفعيل CDVD السريع - + Fast disc access, less loading times. Not recommended. قراءة القرص بسرعة أكبر، يؤدي إلى أوقات تحميل أقل. غير مستحسن. - + Frame Pacing/Latency Control سرعة الإطار/التحكم في زمن الوصول - + Maximum Frame Latency الحد الأقصى لتأخر الإطارات - + Sets the number of frames which can be queued. يعين عدد الأطر التي يمكن أن تكون في قائمة الانتظار. - + Optimal Frame Pacing سرعة الإطارات المثلى - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. مزامنة مواضيع EE و GS بعد كل إطار. أدنى وقت للمدخلات، ولكن يزيد من متطلبات النظام. - + Speeds up emulation so that the guest refresh rate matches the host. تسريع المحاكاة بحيث يتطابق معدل تحديث الضيف مع المضيف. - + Renderer العارض - + Selects the API used to render the emulated GS. يختار API المستخدم لتقديم نظام GS المحاكاة. - + Synchronizes frame presentation with host refresh. مزامنة عرض الإطارات مع معدل تحديث شاشة الجهاز. - + Display الشاشة - + Aspect Ratio تناسب الأبعاد - + Selects the aspect ratio to display the game content at. يحدد نسبة العرض لعرض محتوى اللعبة. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. يحدد نسبة العرض للعرض عندما يتم الكشف عن عنصر FMV كمشغل. - + Deinterlacing تصحيح تشابك الصورة - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. يحدد الخوارزمية المستخدمة لتحويل PS2's المخرجات المتداخلة إلى متقدمة للعرض. - + Screenshot Size حجم لقطة الشاشة - + Determines the resolution at which screenshots will be saved. يحدد الدقة التي سيتم حفظ لقطات الشاشة. - + Screenshot Format صيغة لقطة الشاشة - + Selects the format which will be used to save screenshots. يحدد التنسيق الذي سيتم استخدامه لحفظ لقطات الشاشة. - + Screenshot Quality جودة لقطة الشاشة - + Selects the quality at which screenshots will be compressed. يحدد الجودة التي سيتم فيها ضغط لقطات الشاشة. - + Vertical Stretch تمدد عمودي - + Increases or decreases the virtual picture size vertically. يزيد أو يقلل حجم الصورة الافتراضية عمودياً. - + Crop اقتصاص - + Crops the image, while respecting aspect ratio. تقطع الصورة، مع احترام نسبة الجوانب. - + %dpx %dpx - - Enable Widescreen Patches - تفعيل تعديلات الشاشة العريضة - - - - Enables loading widescreen patches from pnach files. - تفعيل تحميل تعديلات الشاشة العريضة من ملفات pnach. - - - - Enable No-Interlacing Patches - تفعيل تعديلات إلغاء التشابك - - - - Enables loading no-interlacing patches from pnach files. - تفعيل تحميل التعديلات الغير المتشابكة من ملفات pnach. - - - + Bilinear Upscaling تكبير مع تنعيم - + Smooths out the image when upscaling the console to the screen. يُنعم الصورة عند تكبيرها عن الحجم الأصلي. - + Integer Upscaling ترقية عدد صحيح - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. قد يقلل منطقة العرض للتأكد من أن النسبة بين البكسل على شاشة الجهاز إلى البكسل في جهاز الPS2 هي عدد صحيح. قد يؤدي إلى صورة أكثر وضوحا في بعض الألعاب ثنائية الأبعاد. - + Screen Offsets إزاحة الشاشة - + Enables PCRTC Offsets which position the screen as the game requests. تمكين إزاحة PCRTC التي تضع الشاشة كطلبات اللعبة. - + Show Overscan عرض Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. يمكن إظهار منطقة المسح الزائد (overscan) مع الألعاب التي ترسم أكثر من المنطقة الآمنة من الشاشة. - + Anti-Blur مضاد الضبابية - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. تمكين الاختراقات المضادة للضبابية الداخلية. أقل دقة لتقديم PS2 ولكن ستجعل الكثير من الألعاب تبدو أقل وضوحا. - + Rendering معالجة الرسم - + Internal Resolution الدقة الداخلية - + Multiplies the render resolution by the specified factor (upscaling). يضرب دقة العرض بالعامل المحدد (ترقية). - + Mipmapping الإكساءات المصغرة Mipmapping - + Bilinear Filtering تصفية ثنائية الأسلوب - + Selects where bilinear filtering is utilized when rendering textures. يحدد المكان الذي يُستخدم فيه التصفية الثنائية عند تحميل الإكساءات. - + Trilinear Filtering فلترة ثلاثية الخط Trilinear - + Selects where trilinear filtering is utilized when rendering textures. يحدد المكان الذي يُستخدم فيه التصفية الثلاثية عند تحميل الإكساءات. - + Anisotropic Filtering تصفية متباين الخواص - + Dithering التشويش (Dithering) - + Selects the type of dithering applies when the game requests it. يحدد نوع الربط الذي ينطبق عندما تطلب اللعبة ذلك. - + Blending Accuracy دقة المزج - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. يحدد مستوى الدقة عند محاكاة أوضاع المزج غير مدعومة بواسطة API الرسومات المضيفة. - + Texture Preloading التحميل المسبق للإكساءات - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. تحميل الإكساءات كاملة إلى كرت الشاشة عند الاستخدام، بدلاً من المناطق المستخدمة فقط. يمكن أن يؤدي إلى تحسين الأداء في بعض الألعاب. - + Software Rendering Threads عدد خيوط معالجة رسم وضع Software - + Number of threads to use in addition to the main GS thread for rasterization. عدد المواضيع المراد استخدامها بالإضافة إلى الموضوع الرئيسي GS للتعويض. - + Auto Flush (Software) "الشطف" التلقائي (البرنامَج) - + Force a primitive flush when a framebuffer is also an input texture. فرض تدفق بدائي عندما يكون المخزن المؤقت للإطارات أيضًا عبارة عن إكساء إدخال. - + Edge AA (AA1) الحافَة AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). تمكين محاكاة GS's ضد الاستدعاء (AA1). - + Enables emulation of the GS's texture mipmapping. تمكين محاكاة GS's رسم خرائط الإكساء. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared مشترك - + Input Profile ملف تعريف الإدخال - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. يعرض التكوين الحالي في الزاوية اليمنى السفلى من العرض. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes إصلاح الأجهزة - + Manual Hardware Fixes إصلاحات يدوية للأجهزة - + Disables automatic hardware fixes, allowing you to set fixes manually. تعطيل إصلاحات الأجهزة التلقائية، مما يسمح لك بتعيين الإصلاحات يدوياً. - + CPU Sprite Render Size حجم موزع نبيط المعالج - + Uses software renderer to draw texture decompression-like sprites. يستخدم برنامجًا لرسم الذي يبدو و كأنه مخصص لضغط الإكساءات. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. يستخدم برنامجًا لرسم إكساءات CLUT. - + Skip Draw Start تخطي بداية السحب - + Object range to skip drawing. نطاق الكائن لتخطي الرسم. - + Skip Draw End تخطي نهاية السحب - + Auto Flush (Hardware) "الشطف" التلقائي (في وضع الهارد وير) - + CPU Framebuffer Conversion تحويل الإطار المؤقت للمعالج - + Disable Depth Conversion تعطيل محاكاة تحويل العمق - + Disable Safe Features تعطيل الميزات الآمنة - + This option disables multiple safe features. هذا الخيار يعطل ميزات آمنة متعددة. - + This option disables game-specific render fixes. هذا الخيار يعطل الإصلاحات الخاصة باللعبة. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. تحميل بيانات GS عند تقديم إطار جديد لتقليد بعض التأثيرات بدقة. - + Disable Partial Invalidation تعطيل التحقق الجزئي - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. يُزيل ذاكرة التخزين المؤقت الإكساءات بأكملها عند العثور على أية خطأ، بدلا من إزالة الخطأ بمفرده. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. يسمح لذاكرة التخزين المؤقت للإكساء بإعادة استخدام الجزء الداخلي من الإطار المؤقت السابق كإكساء مُدخل. - + Read Targets When Closing قراءة الأهداف عند الغلق - + Flushes all targets in the texture cache back to local memory when shutting down. دفع جميع الأهداف في ذاكرة التخزين المؤقت للنسيج إلى الذاكرة المحلية عند الإغلاق. - + Estimate Texture Region تقدير منطقة الإكساءات - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). يحاول تقليل حجم النُسج عندما لا تقوم الألعاب بتعيينه بنفسها (مثل ألعاب محرك Snowblind). - + GPU Palette Conversion تحويل خريطة الألوان باستخدام كرت الشاشة - + Upscaling Fixes إصلاحات تكبير الدقة - + Adjusts vertices relative to upscaling. ضبط الرؤوس بالنسبة إلى الارتقاء. - + Native Scaling Mise à l'échelle native - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite تقريب الرسوم المتحركة ثنائية الأبعاد - + Adjusts sprite coordinates. تعديل إحداثيات الكائن. - + Bilinear Upscale ترقية الصورة ثنائية الخط - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. يمكن أن ينعم النسيج بسبب التصفية الثنائية عند الترقية. على سبيل المثال وهج أشعة الشمس. - + Adjusts target texture offsets. تعديل موازنة النسيج المستهدف. - + Align Sprite محاذاة رسوم sprite - + Fixes issues with upscaling (vertical lines) in some games. يُصلح المشكلات التي تحدث مع تكبير دقة الصورة (مشكلة الخطوط العمودية) في بعض الألعاب. - + Merge Sprite دمج صورة نقطية - + Replaces multiple post-processing sprites with a larger single sprite. يستبدل كائنات متعددة ما بعد المعالجة بكائن واحد أكبر. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. يقلل من دقة GS لتجنب الفجوات بين البكسلات عند الترقية. يصلح النص على لعبة Wild Arms. - + Unscaled Palette Texture Draws رسم النُسج بدون تكبير جداول الألوان - + Can fix some broken effects which rely on pixel perfect precision. يمكن إصلاح بعض التأثيرات المكسورة التي تعتمد على دقة البكسل الكاملة. - + Texture Replacement استبدال الإكساءات - + Load Textures تحميل الإكساءات - + Loads replacement textures where available and user-provided. يحمّل النسيج البديل حيثما كان متاحا وموفرا للمستخدم. - + Asynchronous Texture Loading تحميل النُسج الغير المتزامن - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. تحميل المنسوجات البديلة على خيوط العمال، وتقليل المواد الدقيقة عند تمكين الاستبدال. - + Precache Replacements استبدال Precache - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. تحميل جميع المنسوجات البديلة إلى الذاكرة. غير ضروري مع تحميل غير متزامن. - + Replacements Directory مجلد استبدال النسيج - + Folders المجلدات - + Texture Dumping إغراق النسيج - + Dump Textures استخراج صور اللعبة - + Dump Mipmaps حفظ Mipmap - + Includes mipmaps when dumping textures. يشمل Mipmaps مع تحفيض الصورة نقطية. - + Dump FMV Textures استخراج صور فيديوهات اللعبة - + Allows texture dumping when FMVs are active. You should not enable this. يسمح باستخراج صور اللعبة بينما تعمل الفيديوهات. لا يجب عليك تشغيل هذه الميزة. - + Post-Processing فلاتر ما بعد المعالجة - + FXAA FXAA - + Enables FXAA post-processing shader. تمكين FXAA ظل ما بعد المعالجة. - + Contrast Adaptive Sharpening تباين خاصية الحدة التكيفية للصورة - + Enables FidelityFX Contrast Adaptive Sharpening. تمكين FidelityFX لتباين خاصية الحدة التكيفية للصورة. - + CAS Sharpness خاصية حدة الصورة CAS - + Determines the intensity the sharpening effect in CAS post-processing. يحدد شدة تأثير الشحذ في مرحلة ما بعد المعالجة لـ CAS. - + Filters عوامل التصفية - + Shade Boost تعزيز الظل - + Enables brightness/contrast/saturation adjustment. تمكين تعديل السطوع/التباين/التشبع. - + Shade Boost Brightness زيادة سطوع الظل - + Adjusts brightness. 50 is normal. سطوع التعديلات. 50 أمر طبيعي. - + Shade Boost Contrast تباين تعزيز الظل - + Adjusts contrast. 50 is normal. التعديلات متناقضة. 50 أمر طبيعي. - + Shade Boost Saturation تعزيز التظليل - + Adjusts saturation. 50 is normal. تشبع التعديلات. 50 أمر طبيعي. - + TV Shaders ظلال التلفزيون - + Advanced إعدادات متقدمة - + Skip Presenting Duplicate Frames تخطي عرض الإطارات المكررة - + Extended Upscaling Multipliers مضاعفات توسيع الترقية - + Displays additional, very high upscaling multipliers dependent on GPU capability. يعرض مضاعفات إضافية عالية الترقية تعتمد على قدرة وحدة معالجة الرسومات. - + Hardware Download Mode وضع تحميل الHardware - + Changes synchronization behavior for GS downloads. تغيير سلوك المزامنة لتنزيلات GS. - + Allow Exclusive Fullscreen السماح بملء الشاشة الحصري - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. تضبط لوغارتم الضغط المتعلقة بـ GS Dump. - + Disable Framebuffer Fetch تعطيل إحضار الإطار المؤقت "frame buffer" - + Prevents the usage of framebuffer fetch when supported by host GPU. يمنع استخدام جلب المخزن المؤقت عندما يكون مدعوماً من كرت الشاشة. - + Disable Shader Cache تعطيل Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. يمنع تحميل الظل وخطوط الأنابيب وحفظها على القرص. - + Disable Vertex Shader Expand تعطيل توسيع Vertex Shader - + Falls back to the CPU for expanding sprites/lines. تمكين المعالجة عبر الـ CPU لخاصية توسيع الـ sprites/lines. - + Changes when SPU samples are generated relative to system emulation. يغير متى تنشئ عينات SPU بالنسبة نظام المحاكاة. - + %d ms %d ملي ثانية - + Settings and Operations الإعدادات والعمليات - + Creates a new memory card file or folder. إنشاء ملف أو مجلد بطاقة ذاكرة جديد. - + Simulates a larger memory card by filtering saves only to the current game. محاكاة بطاقة ذاكرة أكبر عن طريق التصفية يحفظ فقط على اللعبة الحالية. - + If not set, this card will be considered unplugged. إذا لم يتم تعيين، هذه البطاقة ستعتبر غير موصولة. - + The selected memory card image will be used for this slot. سيتم استخدام صورة بطاقة الذاكرة المحددة لهذه الفتحة. - + Enable/Disable the Player LED on DualSense controllers. تمكين / تعطيل مؤشر LED للاعب على وحدات تحكم DualSense. - + Trigger تفعيل - + Toggles the macro when the button is pressed, instead of held. تفعيل الماكرو عند الضغط على الزر، بدلا من استمرار الضغط عليه. - + Savestate - Savestate + حفظ جلسة اللعبة - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} فتحة {} - + 1.25x Native (~450px) 1.25x أصلي (~450 بكسل) - + 1.5x Native (~540px) 1.5x أصلي (~540 بكسل) - + 1.75x Native (~630px) 1.75x أصلي (~630 بكسل) - + 2x Native (~720px/HD) 2x أصلي (~720 بكسل/HD) - + 2.5x Native (~900px/HD+) 2.5x أصلي (~900 بكسل/HD+) - + 3x Native (~1080px/FHD) 3x أصلي (~1080 بكسل/FHD) - + 3.5x Native (~1260px) 3.5x أصلي (~1260 بكسل) - + 4x Native (~1440px/QHD) 4x أصلي (~1440 بكسل/QHD) - + 5x Native (~1800px/QHD+) 5x أصلي (~1800 بكسل/QHD+) - + 6x Native (~2160px/4K UHD) 6x أصلي (~2160 بكسل/4K UHD) - + 7x Native (~2520px) 7x أصلي (~2520 بكسل) - + 8x Native (~2880px/5K UHD) 8x أصلي (~2880 بكسل/5K UHD) - + 9x Native (~3240px) 9x أصلي (~3240 بكسل) - + 10x Native (~3600px/6K UHD) 10x أصلي (~3600 بكسل/6K UHD) - + 11x Native (~3960px) 11x أصلي (~3960 بكسل) - + 12x Native (~4320px/8K UHD) 12x أصلي (~4320 بكسل/8K UHD) - + WebP WebP - + Aggressive عنيف - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection تغيير التحديد - + Select اختر - + Parent Directory المجلد الأم - + Enter Value أدخل القيمة - + About حول - + Toggle Fullscreen ملء الشاشة - + Navigate تصفح - + Load Global State تحميل الحالة العالمية - + Change Page تغيير الصفحة - + Return To Game العودة إلى اللعبة - + Select State اختر الحالة - + Select Game اختر لعبة - + Change View تغيير العرض - + Launch Options خيارات التشغيل - + Create Save State Backups إنشاء نسخ احتياطية لحفظ الحالة - + Show PCSX2 Version إظهار إصدار PCSX2 - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card إنشاء بطاقة ذاكرة - + Configuration التكوين - + Start Game بدء اللعبة - + Launch a game from a file, disc, or starts the console without any disc inserted. بدء لعبة من ملف أو قرص أو بدء تشغيل وحدة التحكم دون إدخال أي قرص. - + Changes settings for the application. تغيير إعدادات التطبيق. - + Return to desktop mode, or exit the application. العودة إلى وضع سطح المكتب، أو الخروج من التطبيق. - + Back الرجوع - + Return to the previous menu. عودة إلى القائمة السابقة. - + Exit PCSX2 الخروج من PCSX2 - + Completely exits the application, returning you to your desktop. يخرج تماما من التطبيق، ويعيدك إلى سطح المكتب. - + Desktop Mode وضع سطح المكتب - + Exits Big Picture mode, returning to the desktop interface. يخرج من وضع الصورة الكبيرة، ويعود إلى واجهة سطح المكتب. - + Resets all configuration to defaults (including bindings). إعادة تعيين كافة الإعدادات إلى الإعدادات الافتراضية (بما في ذلك الارتباطات). - + Replaces these settings with a previously saved input profile. يستبدل هذه الإعدادات بملف تعريف للمدخل محفوظ مسبقاً. - + Stores the current settings to an input profile. يخزن الإعدادات الحالية إلى ملف تعريف الإدخال. - + Input Sources مصادر الإدخال - + The SDL input source supports most controllers. يدعم مصدر إدخال SDL لمعظم وحدات التحكم. - + Provides vibration and LED control support over Bluetooth. يوفر الإهتزاز ودعم تحكم LED على البلوتوث. - + Allow SDL to use raw access to input devices. السماح لـ SDL باستخدام الوصول الخام إلى أجهزة الإدخال. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. يوفر مصدر Xinput الدعم لأجهزة تحكم XBox 360/XBox One/XBox. - + Multitap ضغطة متعددة - + Enables an additional three controller slots. Not supported in all games. تمكين ثلاثة فتحات إضافية ذراع التحكم غير مدعومة في جميع الألعاب. - + Attempts to map the selected port to a chosen controller. محاولات لرسم خريطة المنفذ المحدد إلى وحدة تحكم مختارة. - + Determines how much pressure is simulated when macro is active. يحدد مقدار الضغط الذي يتم محاكاته عندما يكون الماكرو نشطاً. - + Determines the pressure required to activate the macro. يحدد الضغط المطلوب لتفعيل الكلي. - + Toggle every %d frames تبديل كل إطارات %d - + Clears all bindings for this USB controller. مسح جميع الارتباطات لوحدة تحكم USB هذه. - + Data Save Locations موقع حفظ البيانات - + Show Advanced Settings إظهار الإعدادات المتقدمة - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. قد يتسبب تغيير هذه الخيارات في مشاكل في الألعاب. قم بالتعديل على مسؤوليتك الخاصة، لن يوفر فريق PCSX2 الدعم أثناء استخدام هذه الإعدادات. - + Logging تسجيل الدخول - + System Console وحدة تحكم النظام - + Writes log messages to the system console (console window/standard output). كتابة رسائل السجل إلى وحدة تحكم النظام (نافذة وحدة التحكم / الإخراج القياسي). - + File Logging تسجيل الملف - + Writes log messages to emulog.txt. كتابة رسائل تسجيل الرسائل إلى emulog.txt. - + Verbose Logging التسجيل المطول - + Writes dev log messages to log sinks. يكتب رسائل ال log إلى الـ log sinks. - + Log Timestamps سِجِل الطوابع الزمنية - + Writes timestamps alongside log messages. يكتب الطوابع الزمنية إلى جانب رسائل السجل. - + EE Console لوحة تحكم EE - + Writes debug messages from the game's EE code to the console. يكتب رسائل تصحيح الأخطاء من اللعبة's EE code إلى وحدة التحكم. - + IOP Console وحدة التحكم IOP - + Writes debug messages from the game's IOP code to the console. يكتب رسائل التصحيح من اللعبة'رمز IOP إلى وحدة التحكم. - + CDVD Verbose Reads قراءة خاصية CDVD المطولة - + Logs disc reads from games. سجلات القرص مقروء من الألعاب. - + Emotion Engine محرك الحركة - + Rounding Mode وضع التقريب - + Determines how the results of floating-point operations are rounded. Some games need specific settings. يحدد كيفية تدوير نتائج عمليات النقاط العائمة. بعض الألعاب تحتاج إلى إعدادات محددة. - + Division Rounding Mode وضع تقريب عمليات القسمة - + Determines how the results of floating-point division is rounded. Some games need specific settings. يحدد كيفية تقريب نتائج قسمة النقطة العائمة. ولكن تحتاج بعض الألعاب إلى إعدادات محددة. - + Clamping Mode وضع حد الأرقام - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. يحدد كيفية التعامل مع أرقام النقاط العائمة خارج النطاق. بعض الألعاب تحتاج إلى إعدادات محددة. - + Enable EE Recompiler تمكين التحويل البرمجي EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. يترجم كود الآلة لبرامج MIPS-IV 64-bit عند وقت التنفيذ إلى كود الآلة الذي يعمل على معالج الجهاز. - + Enable EE Cache تمكين ذاكرة التخزين المؤقت للتحويل البرمجي EE - + Enables simulation of the EE's cache. Slow. تمكين محاكاة ذاكرة التخزين المؤقت EE's. - + Enable INTC Spin Detection تمكين الكشف عن انحراف INTC - + Huge speedup for some games, with almost no compatibility side effects. تسريع كبير لبعض الألعاب، يكاد لا يكون له آثار جانبية على التوافق. - + Enable Wait Loop Detection تمكين الكشف عن حلقة الانتظار - + Moderate speedup for some games, with no known side effects. تسريع معتدل لبعض الألعاب، بدون آثار جانبية معروفة. - + Enable Fast Memory Access تمكين الوصول السريع للذاكرة - + Uses backpatching to avoid register flushing on every memory access. يستخدم الترقيع المرجعي (BackPatching) لتجنب تنظيف ذاكرة المعالج عند كل عملية وصول للذاكرة. - + Vector Units وحدات المُتجه - + VU0 Rounding Mode وضع التقريب VU0 - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. إعادة تجميع وحدة Vu الجديدة مع تحسين التوافق. موصى به. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. تسريع جيد ونسبة توافق عالية، قد يسبب أخطاء في الرسوم. - + I/O Processor معالج I/O - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics الرسومات - + Use Debug Device استخدام جهاز التصحيح - + Settings الإعدادات - + No cheats are available for this game. لا تتوفر الغش لهذه اللعبة. - + Cheat Codes رموز الغش - + No patches are available for this game. لا توجد أي تعديلات متاحة لهذه اللعبة. - + Game Patches تعديلات اللعبة - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. تنشيط الغش يمكن أن يتسبب في سلوك لا يمكن التنبؤ به، أو تحطم، أو قفل ناعم، أو كسر الألعاب المحفوظة. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. تفعيل تعديلات اللعبة يمكن أن يسبب سلوكا غريبا مثل الكراشات، أو التعليق، أو خراب حفظ اللعبة. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. استخدام التعديلات على مسؤوليتك الخاصة، فريق PCSX2 لن يقدم أي دعم للمستخدمين الذين قاموا بتفعيل تعديلات اللعبة. - + Game Fixes إصلاحات اللعبة - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. لا ينبغي تعديل إصلاحات اللعبة إلا إذا كنت على علم بما يفعله كل خيار وما يترتب على ذلك من آثار. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. من اجل العاب تيلز اوف دستني. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. مطلوب لبعض الألعاب ذات FMV المعقد. - + Skip MPEG Hack تخطي اختراق MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. يتخطى مقاطع الفيديو/FMV في الألعاب لتجنب تعليق/تجمد اللعبة. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. من المعروف أنه يؤثر على الألعاب التالية: Mana Khemia 1، Metal Saga، Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. لمعلق تحميل SOCOM 2 HUD و Spy Hunter. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State تحميل الحالة - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. يجعل وحدة العالجة المركزية (Emotion Engine) يتخطى دورات. هذا يساعد في بعض الألعاب مثل Shadow of the Colossus. لكن في معظم الأوقات يضر هذا الإعداد الأداء. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. بشكل عام، يتم تسريع تشغيل وحدات المعالجة المركزية التي تحتوي على 4 أنوية أو أكثر. وهو أمر آمن لمعظم الألعاب، ولكن بعضها غير متوافق وقد يتعطل. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes تعطيل إصلاحات العرض - + Preload Frame Data تحميل مسبق لبيانات الإطار - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X إزاحة الإكساء افقيًا - + Texture Offset Y إزاحة الإكساء عموديًا - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. جيد لمشاكل محاكاة ذاكرة التخزين المؤقت. من المعروف أنه يؤثر على الألعاب التالية: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO صياغة FIFO GIF - + Correct but slower. Known to affect the following games: Fifa Street 2. صحيح ولكن أبطأ. من المعروف أنه يؤثر على الألعاب التالية: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls - Delay VIF1 Stalls + تأخير توقيت وحدة ال (VIF1) - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. تجنب إعادة التجميع المستمرة في بعض الألعاب. من المعروف أنه يؤثر على الألعاب التالية: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync - VU Sync + مزامنة توقيت وحدة VU - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State حفظ الحالة - + Load Resume State تحميل حالة الاستئناف - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8043,2071 +8097,2076 @@ Do you want to load this save and continue? هل تريد تحميل هذا الحفظ والمتابعة؟ - + Region: المنطقة: - + Compatibility: التوافق: - + No Game Selected لم يتم إختيار لعبة - + Search Directories مجلد البحث - + Adds a new directory to the game search list. إضافة دليل جديد إلى قائمة البحث في اللعبة. - + Scanning Subdirectories البحث في المجلدات الفرعية - + Not Scanning Subdirectories عدم فحص المجلدات الفرعية - + List Settings إعدادات القوائم - + Sets which view the game list will open to. تعيين أي عرض لقائمة اللعبة سيتم فتحها. - + Determines which field the game list will be sorted by. يحدد الحقل الذي سيتم فرز قائمة اللعبة به. - + Reverses the game list sort order from the default (usually ascending to descending). يعكس ترتيب قائمة اللعبة من الافتراضي (عادة صعودا إلى نزول). - + Cover Settings إعدادات الغلاف - + Downloads covers from a user-specified URL template. أغلفة التنزيلات من قالب URL المحدد من المستخدم. - + Operations العمليات - + Selects where anisotropic filtering is utilized when rendering textures. يحدد مكان استخدام الترشيح متباين الخواص عند عرض الأنسجة. - + Use alternative method to calculate internal FPS to avoid false readings in some games. استخدم طريقة بديلة لحساب FPS الداخلية لتجنب قراءات خاطئة في بعض الألعاب. - + Identifies any new files added to the game directories. تحديد أي ملفات جديدة تضاف إلى أدلّة اللعبة. - + Forces a full rescan of all games previously identified. يفرض إعادة فحص كاملة لجميع الألعاب التي تم تحديدها مسبقا. - + Download Covers تحميل الأغلفة - + About PCSX2 حول PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 هو محاكي PlayStation 2 مجاني ومفتوح المصدر. هدفه محاكاة جهاز PlayStation 2 باستخدام مزيج من مترجمات أو معيدي بناء برامج MIPS وآلة افتراضية لادارة حالات معدات PlayStation 2 الافتراضية، مما يتيح لك لعب ألعاب PlayStation 2 على حاسوبك الخاص، بالاضافة إلى العديد من المميزات الاضافية. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 وPS2 علامات مسجلة لشركة Sony Interactive Entertainment. هذا البرنامج ليس له علاقة بشركة Sony Interactive Entertainment بأي شكل. - + When enabled and logged in, PCSX2 will scan for achievements on startup. عند تمكين وتسجيل الدخول، سيقوم PCSX2 بفحص الإنجازات عند بدء التشغيل. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. وضع "التحدي" للإنجازات يشمل تتبع لائحة المتصدرين. يُعطل مميزات حالات الحفظ والغش والحركة البطيئة. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. عرض رسائل منبثقة حول أحداث مثل فتح الإنجازات والتقدم على لائحة المتصدرين. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. تشغيل مؤثرات صوتية عند أحداث مثل فتح الإنجازات والتقدم على لائحة المتصدرين. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. عرض أيقونات في الزاوية اليمنى السفلى من الشاشة عندما يكون هناك تحدي أو إنجاز نشط. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. عند التمكين، سيتضمن PCSX2 قائمة بالإنجازات من مجموعات غير رسمية. لا يتم تتبع هذه الإنجازات بواسطة Retroieves. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. عند التمكين، سيفترض PCSX2 أن جميع الإنجازات مقفلة ولن يرسل أي إشعارات فتح إلى الخادم. - + Error خطأ - + Pauses the emulator when a controller with bindings is disconnected. يوقف المحاكي عندما يتم فصل وحدة تحكم مع الارتباطات. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. يحمل صورة القرص إلى الذاكرة RAM قبل بدء الآلة الافتراضية. - + Vertical Sync (VSync) المزامنة العمودية (VSync) - + Sync to Host Refresh Rate مزامنة مع معدل تحديث شاشة الجهاز - + Use Host VSync Timing استخدام توقيت مزامنة المضيف - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control التحكم بالصوت - + Controls the volume of the audio played on the host. يتحكم في مستوى الصوت الذي يتم تشغيله على المضيف. - + Fast Forward Volume صوت التقديم السريع - + Controls the volume of the audio played on the host when fast forwarding. يتحكم في مستوى الصوت الذي يتم تشغيله على المضيف عند التقديم السريع. - + Mute All Sound كتم الصوت - + Prevents the emulator from producing any audible sound. يمنع المحاكي من إنتاج أي صوت مسموع. - + Backend Settings إعدادات الخلفية - + Audio Backend خلفية الصوت - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion توسعة - + Determines how audio is expanded from stereo to surround for supported games. يحدد كيفية توسيع الصوت من الاستريو إلى الصوت المحيطي للألعاب المدعومة. - + Synchronization المزامنة - + Buffer Size حجم المخزون المؤقت - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency استجابة الإخراج - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. يحدد مقدار التأخير بين الصوت الذي يلتقطه API المضيف، ويتم تشغيله من خلال السماعات. - + Minimal Output Latency أدنى استجابة للإخراج - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning تثبيت الموضوع - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. يعرض الرسائل المفاجئة عند البدء، أو التقديم، أو فشل تحدي لوحة المتصدرين. - + When enabled, each session will behave as if no achievements have been unlocked. عند التفعيل، ستعمل كل جلسة كما لو لم يتم فتح أي إنجاز. - + Account حساب - + Logs out of RetroAchievements. تسجيل الخروج من الإنجازات التراجعية. - + Logs in to RetroAchievements. تسجيل الدخول إلى RetroAchievements. - + Current Game اللعبة الحالية - + An error occurred while deleting empty game settings: {} حدث خطأ أثناء حذف إعدادات اللعبة الفارغة: {} - + An error occurred while saving game settings: {} حدث خطأ أثناء حفظ إعدادات اللعبة: {} - + {} is not a valid disc image. {} ليست صورة قرص غير صالحة. - + Automatic mapping completed for {}. تم تعيين تلقائي لـ {}. - + Automatic mapping failed for {}. فشل تعيين تلقائي لـ {}. - + Game settings initialized with global settings for '{}'. تم تهيئة إعدادات اللعبة مع الإعدادات العامة ل '{}'. - + Game settings have been cleared for '{}'. تم مسح إعدادات اللعبة ل '{}'. - + {} (Current) {} (الحالية) - + {} (Folder) {} (مجلد) - + Failed to load '{}'. فشل في تحميل '{}'. - + Input profile '{}' loaded. ملف الإدخال '{}' تم تحميله. - + Input profile '{}' saved. تم حفظ ملف الإدخال '{}'. - + Failed to save input profile '{}'. فشل حفظ ملف تعريف الإدخال '{}'. - + Port {} Controller Type نوع التحكم في المنفذ {} - + Select Macro {} Binds حدد ماكرو {} ربط - + Port {} Device منفذ {} الجهاز - + Port {} Subtype المنفذ {} النوع الفرعي - + {} unlabelled patch codes will automatically activate. {} سيتم تفعيل رموز التعديل الغير مسماة تلقائيًا. - + {} unlabelled patch codes found but not enabled. {} تم العثور على رموز التعديل الغير مسماة ولكن لم يتم تفعيلها. - + This Session: {} هذه الجلسة: {} - + All Time: {} كل الوقت: {} - + Save Slot {0} حفظ الخانة {0} - + Saved {} تم الحفظ {} - + {} does not exist. {0} غير موجود. - + {} deleted. {} حذف. - + Failed to delete {}. فشل في حذف {}. - + File: {} ملف: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} المدة التي لعبتها: {} - + Last Played: {} لعبت آخر مرة: {} - + Size: {:.2f} MB الحجم: {:.2f} MB - + Left: يسار: - + Top: أعلى: - + Right: يمين: - + Bottom: أسفل: - + Summary ملخص - + Interface Settings إعدادات الواجهة - + BIOS Settings إعدادات BIOS - + Emulation Settings إعدادات المحاكاة - + Graphics Settings إعدادات الرسومات - + Audio Settings إعدادات الصوت - + Memory Card Settings إعدادات بطاقات الذاكرة - + Controller Settings إعدادات ذراع التحكم - + Hotkey Settings إعدادات مفتاح الاختصار - + Achievements Settings إعدادات الانجازات - + Folder Settings إعدادات المجلدات - + Advanced Settings الإعدادات المُتقدّمة - + Patches التعديلات - + Cheats الغش - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed سرعة 50% - + 60% Speed سرعة 60% - + 75% Speed سرعة 75% - + 100% Speed (Default) سرعة 100% (افتراضي) - + 130% Speed سرعة 130% - + 180% Speed سرعة 180% - + 300% Speed سرعة 300% - + Normal (Default) عادي (إفتراضي) - + Mild Underclock تخفيض خفيف لتردد التشغيل - + Moderate Underclock تخفيض متوسط لتردد التشغيل - + Maximum Underclock تخفيض أقصى لتردد التشغيل - + Disabled تعطيل - + 0 Frames (Hard Sync) 0 إطارات (مزامنة صلبة) - + 1 Frame إطار واحد - + 2 Frames إطارين - + 3 Frames 3 إطارات - + None لا شيء - + Extra + Preserve Sign إضافي + حفظ العلامة - + Full كامل - + Extra إضافي - + Automatic (Default) تلقائي (افتراضي) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null لا شيء - + Off إيقاف - + Bilinear (Smooth) ثنائي الخط (أملس) - + Bilinear (Sharp) ثنائي الخط (حاد) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) متكيف (الحقل العلوي أولا) - + Adaptive (Bottom Field First) متكيف (الحقل السفلي أولا) - + Native (PS2) الدقة الأصلية (PS2) - + Nearest الأقرب - + Bilinear (Forced) ثنائي الخط (إجبار) - + Bilinear (PS2) ثنائي الخط (مثل الPS2) - + Bilinear (Forced excluding sprite) ثنائي الخط (إجبار لكل الإكساءات إلا Sprites) - + Off (None) متوقف (لا شيء) - + Trilinear (PS2) ثلاثي الخط (مثل الPS2) - + Trilinear (Forced) ثلاثي الخط (إجبار) - + Scaled مُكبر - + Unscaled (Default) غير مُكبر (افتراضي) - + Minimum الحد الادنى - + Basic (Recommended) أساسي (مستحسن) - + Medium متوسط - + High عالي - + Full (Slow) كامل (بطيء) - + Maximum (Very Slow) الحد الأقصى (بطيء جدا) - + Off (Default) إيقاف (الافتراضي) - + 2x 2x - + 4x - + 8x 8x - + 16x 16x - + Partial جزئي - + Full (Hash Cache) كامل (ذاكرة التخزين المؤقت) - + Force Disabled تعطيل إجباري - + Force Enabled تفعيل إجباري - + Accurate (Recommended) الدقة (مستحسن) - + Disable Readbacks (Synchronize GS Thread) تعطيل قرائة ذاكرة vram (مزامنة خيط معالجة GS) - + Unsynchronized (Non-Deterministic) غير متزامن (غير حتمي) - + Disabled (Ignore Transfers) معطل (تجاهل عمليات النقل) - + Screen Resolution دقة الشاشة - + Internal Resolution (Aspect Uncorrected) الدقة الداخلية (النسبة غير مصححة) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy تحذير: بطاقة الذاكرة مشغولة - + Cannot show details for games which were not scanned in the game list. لا يمكن عرض تفاصيل الألعاب التي لم يتم فحصها في قائمة الألعاب. - + Pause On Controller Disconnection إيقاف عند فصل وحدة التحكم - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle اضغط للتبديل - + Deadzone المنطقة الميتة - + Full Boot تمهيد كامل - + Achievement Notifications إشعارات الإنجاز - + Leaderboard Notifications إشعارات المتصدرين - + Enable In-Game Overlays تمكين التراكبات داخل اللعبة - + Encore Mode Encore Mode - + Spectator Mode وضع المشاهد - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. تحويل الإطارات المؤقتة من نوع 4 بت و 8 بت على المعالج بدلا من كرت الشاشة. - + Removes the current card from the slot. إزالة البطاقة الحالية من الفتحة. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} إطارات - + No Deinterlacing No Deinterlacing - + Force 32bit فرض نظام 32 بت - + JPEG JPEG - + 0 (Disabled) 0 (معطل) - + 1 (64 Max Width) 1 (64 عرض أقصى) - + 2 (128 Max Width) 2 (128 عرض أقصى) - + 3 (192 Max Width) 3 (192 عرض أقصى) - + 4 (256 Max Width) 4 (256 عرض أقصى) - + 5 (320 Max Width) 5 (320 عرض أقصى) - + 6 (384 Max Width) 6 (384 عرض أقصى) - + 7 (448 Max Width) 7 (448 عرض أقصى) - + 8 (512 Max Width) 8 (512 عرض أقصى) - + 9 (576 Max Width) 9 (576 عرض أقصى) - + 10 (640 Max Width) 10 (640 عرض أقصى) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (عادي) - + 2 (Aggressive) 2 (عنيف) - + Inside Target داخل الهدف - + Merge Targets دمج الأهداف - + Normal (Vertex) عادي (Vertex) - + Special (Texture) (إكساءات) خاصة - + Special (Texture - Aggressive) خاصة (إكساءات - شديدة) - + Align To Native التقريب للدقة الاصلية - + Half نصف - + Force Bilinear فرض الصورة ثنائية الخط - + Force Nearest فرض الأقرب - + Disabled (Default) معطل (افتراضي) - + Enabled (Sprites Only) تمكين الرسوم (المتحركة فقط) - + Enabled (All Primitives) تمكين (جميع أساسيات الرسم) - + None (Default) لا شيء (افتراضي) - + Sharpen Only (Internal Resolution) زيادة الحدة فقط (الدقة الداخلية) - + Sharpen and Resize (Display Resolution) زيادة الحدة والحجم (دقة الشاشة) - + Scanline Filter فلتر Scanline - + Diagonal Filter فلتر Diagonal - + Triangular Filter الفلتر الثلاثي - + Wave Filter فلتر Wave - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed غير مضغوط - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative سلبي - + Positive إيجابي - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid شبكة الألعاب - + Game List قائمة الألعاب - + Game List Settings إعدادات قائمة اللعبة - + Type نوع - + Serial سريال - + Title عنوان - + File Title عنوان الملف - + CRC CRC - + Time Played المدة التي لعبتها - + Last Played لعبت آخر مرة - + Size الحجم - + Select Disc Image حدد صورة القرص - + Select Disc Drive حدد محرك الأقراص - + Start File بدء الملف - + Start BIOS بدء BIOS - + Start Disc بدء القرص - + Exit خروج - + Set Input Binding تعيين ربط الإدخال - + Region المنطقة - + Compatibility Rating تقييم التوافق - + Path العنوان - + Disc Path عنوان القرص - + Select Disc Path حدد عنوان القرص - + Copy Settings إنسخ الأعدادات - + Clear Settings مسح الإعدادات - + Inhibit Screensaver منع شاشة التوقف - + Enable Discord Presence تفعيل وجود ديسكورد - + Pause On Start إيقاف مؤقت عند البدء - + Pause On Focus Loss إيقاف عند فقدان التركيز - + Pause On Menu الإيقاف المؤقت على القائمة - + Confirm Shutdown تأكيد إيقاف التشغيل - + Save State On Shutdown حفظ الحالة عند إيقاف التشغيل - + Use Light Theme استخدام قالب فاتح - + Start Fullscreen بدء ملء الشاشة - + Double-Click Toggles Fullscreen تشغيل النقر المزدوج لملء الشاشة - + Hide Cursor In Fullscreen إخفاء المؤشر في ملء الشاشة - + OSD Scale حجم عارض المعلومات - + Show Messages عرض الرسائل - + Show Speed عرض السرعة - + Show FPS عرض معدل الإطارات FPS - + Show CPU Usage ‏عرض استخدام CPU - + Show GPU Usage ‏عرض استخدام كرت الشاشة - + Show Resolution عرض دقة الشاشة - + Show GS Statistics عرض إحصائيات GS - + Show Status Indicators عرض مؤشرات الحالة - + Show Settings عرض الإعدادات - + Show Inputs عرض المدخلات - + Warn About Unsafe Settings تحذير من الإعدادات غير الآمنة - + Reset Settings إعادة تعيين الإعدادات - + Change Search Directory تغيير مجلد البحث - + Fast Boot تمهيد سريع - + Output Volume مستوى الصوت - + Memory Card Directory مجلد بطاقة الذاكرة - + Folder Memory Card Filter ترشيح بطاقة الذاكرة التي على هيئة مجلد - + Create إنشاء - + Cancel إلغاء - + Load Profile تحميل ملف تعريف - + Save Profile حفظ الملف الشخصي - + Enable SDL Input Source تفعيل مصدر إدخال SDL - + SDL DualShock 4 / DualSense Enhanced Mode الوضع المُحسن لجهازي DualShock 4 و DualSense - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source تفعيل مصدر إدخال XInput - + Enable Console Port 1 Multitap تمكين وحدة التحكم في المنفذ 1 متعدد النقرات - + Enable Console Port 2 Multitap تمكين وحدة التحكم في المنفذ 2 متعدد النقرات - + Controller Port {}{} منفذ ذراع التحكم {}{} - + Controller Port {} منفذ ذراع التحكم {} - + Controller Type نوع ذراع التحكم - + Automatic Mapping تعيين تلقائي - + Controller Port {}{} Macros منفذ التحكم {}{} ماكرو - + Controller Port {} Macros منفذ التحكم {} ماكرو - + Macro Button {} زر ماكرو {} - + Buttons الأزرار - + Frequency التردد - + Pressure الضغط - + Controller Port {}{} Settings إعدادات منفذ التحكم {}{} - + Controller Port {} Settings منفذ التحكم {}{} إعدادات - + USB Port {} منفذ USB {} - + Device Type نوع الجهاز - + Device Subtype نوع الجهاز الفرعي - + {} Bindings {} الإرتباطات - + Clear Bindings مسح الارتباطات - + {} Settings {} إعدادات - + Cache Directory مجلد ذاكرة التخزين المؤقت - + Covers Directory مجلد الأغلفة - + Snapshots Directory مجلد لقطات الشاشة - + Save States Directory مجلد حالات الحفظ - + Game Settings Directory مجلد إعدادات اللعبة - + Input Profile Directory مجلد ملف تعريف الإدخال - + Cheats Directory مجلد الغش - + Patches Directory دليل التعديلات - + Texture Replacements Directory مجلد استبدال النسيج - + Video Dumping Directory مجلد الإغراق بالفيديو - + Resume Game استئناف اللعبة - + Toggle Frame Limit تفعيل/تعطيل محدد السرعة - + Game Properties خصائص اللعبة - + Achievements الإنجازات - + Save Screenshot حفظ لقطة الشاشة - + Switch To Software Renderer التبديل إلى معالج البرنامج - + Switch To Hardware Renderer التبديل إلى عارض الأجهزة - + Change Disc تغيير القرص - + Close Game إغلاق اللعبة - + Exit Without Saving الخروج بدون حفظ - + Back To Pause Menu العودة إلى القائمة إيقاف مؤقت - + Exit And Save State الخروج و حفظ الحالة - + Leaderboards لوائح المتصدرين - + Delete Save حذف الحفظ - + Close Menu إغلاق القائمة - + Delete State حذف الحالة - + Default Boot التمهيد الافتراضي - + Reset Play Time إعادة تعيين وقت التشغيل - + Add Search Directory إضافة مجلد البحث - + Open in File Browser تشغيله في المتصفح - + Disable Subdirectory Scanning تعطيل فحص الدليل الفرعي - + Enable Subdirectory Scanning تفعيل البحث في المجلد الفرعي - + Remove From List إزالة من القائمة - + Default View طريقة العرض الافتراضية - + Sort By ترتيب حسب - + Sort Reversed ترتيب معكوس - + Scan For New Games البحث عن ألعاب جديدة - + Rescan All Games إعادة فحص جميع الألعاب - + Website الموقع الإلكتروني - + Support Forums منتديات الدعم الفني - + GitHub Repository مستودع GitHub - + License الترخيص - + Close إغلاق - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements تفعيل الإنجازات - + Hardcore Mode الوضع المتشدد - + Sound Effects تأثيرات صوتية - + Test Unofficial Achievements اختبار الإنجازات غير الرسمية - + Username: {} اسم المستخدم: {} - + Login token generated on {} رمز تسجيل الدخول الذي تم إنشاؤه على {} - + Logout تسجيل الخروج - + Not Logged In لم يتم تسجيل الدخول - + Login تسجيل الدخول - + Game: {0} ({1}) اللعبة: {0} ({1}) - + Rich presence inactive or unsupported. خاصية Discord Rich Presence غير نشطة أو غير مدعومة. - + Game not loaded or no RetroAchievements available. اللعبة لم يتم تحميلها أو لا توجد إنجازات RetroAchievements متوفرة. - + Card Enabled تفعيل البطاقة - + Card Name اسم البطاقة - + Eject Card إخراج البطاقة @@ -10299,12 +10358,12 @@ Please see our official documentation for more information. capturing video - capturing video + يتم الان تسجيل الفيديو capturing audio - capturing audio + يتم الان تسجيل الصوت @@ -10370,7 +10429,7 @@ Please see our official documentation for more information. Search... - Search... + البحث... @@ -10487,7 +10546,7 @@ graphical quality, but this will increase system requirements. Skip MPEG Hack MPEG: video codec, leave as-is. FMV: Full Motion Video. Find the common used term in your language. - Skip MPEG Hack + تخطي مقاطع فيديو ال ام بي اي جي @@ -11103,32 +11162,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. سيتم تعطيل أي تعديلات مجمعة مع PCSX2 لهذه اللعبة لأن لديك تعديلات غير مسمية محملة. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs جميع CRCs - + Reload Patches إعادة تحميل التعديلات - + Show Patches For All CRCs إظهار التعديلات لجميع CRCs - + Checked تم التحقق - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. تفعيل البحث عن ملفات التعديل لجميع CRCs اللعبة. مع تفعيل هذا, التعديلات المتاحة لرمز التسلسلي اللعبة مع CRCs مختلفة سيتم أيضا تحميلها. - + There are no patches available for this game. لا توجد أي تعديلات متاحة لهذه اللعبة. @@ -11604,11 +11673,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) إيقاف (الافتراضي) @@ -11618,10 +11687,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) تلقائي (افتراضي) @@ -11688,7 +11757,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. ثنائي الخط (أملس) @@ -11754,29 +11823,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets إزاحة الشاشة - + Show Overscan إظهار Overscan - - - Enable Widescreen Patches - تفعيل تعديلات الشاشة العريضة - - - - Enable No-Interlacing Patches - تفعيل تعديلات إلغاء التشابك - - + Anti-Blur مضاد الضبابية @@ -11787,7 +11846,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset تعطيل إزاحة إطارات المسح المتداخل @@ -11797,18 +11856,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne حجم لقطة الشاشة: - + Screen Resolution دقة الشاشة - + Internal Resolution الدقة الداخلية - + PNG PNG @@ -11860,7 +11919,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) ثنائي الخط (مثل الPS2) @@ -11907,7 +11966,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) غير مُكبر (افتراضي) @@ -11923,7 +11982,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) أساسي (مستحسن) @@ -11959,7 +12018,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) كامل (تخزين للهاشات) @@ -11975,31 +12034,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion تحويل خريطة الألوان باستخدام بطاقة الرسومات - + Manual Hardware Renderer Fixes إصلاحات يدوية للمعالج - + Spin GPU During Readbacks تدوير وحدة معالجة الرسومات أثناء القراءة منه - + Spin CPU During Readbacks تدوير وحدة المعالجة المركزية أثناء القراءة @@ -12011,15 +12070,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping الإكساءات المصغرة Mipmapping - - + + Auto Flush التنظيف التلقائي @@ -12047,8 +12106,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (معطل) @@ -12105,18 +12164,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features تعطيل الميزات الآمنة - + Preload Frame Data تحميل مسبق لبيانات الإطار - + Texture Inside RT تمكين النُسج من داخل هدف الرسم @@ -12215,13 +12274,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite دمج Sprite - + Align Sprite محاذاة رسوم sprite @@ -12235,16 +12294,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - تطبيق تعديلات الشاشة العريضة - - - - Apply No-Interlacing Patches - تطبيق تعديلات إلغاء التشابك - Window Resolution (Aspect Corrected) @@ -12317,25 +12366,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation تعطيل التحقق الجزئي من المصدر - + Read Targets When Closing قراءة الأهداف عند الغلق - + Estimate Texture Region تقدير منطقة الإكساءات - + Disable Render Fixes تعطيل إصلاحات العرض @@ -12346,7 +12395,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws رسم النُسج بدون تكبير جداول الألوان @@ -12405,25 +12454,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures حفظ الإكساءات - + Dump Mipmaps حفظ الإكساءات المصغرة Mipmaps - + Dump FMV Textures حفظ إكساءات الفيديوهات FMV - + Load Textures تحميل الإكساءات @@ -12433,6 +12482,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12450,13 +12509,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures التخزين المؤقت المسبق للإكساءات @@ -12479,8 +12538,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) لا شيء (افتراضي) @@ -12501,7 +12560,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12553,7 +12612,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost تعزيز الظل @@ -12568,7 +12627,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne التباين: - + Saturation التشبع @@ -12589,50 +12648,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators عرض المؤشرات - + Show Resolution عرض دقة الشاشة - + Show Inputs عرض المدخلات - + Show GPU Usage ‏عرض استخدام كرت الشاشة - + Show Settings عرض الإعدادات - + Show FPS عرض معدل الإطارات FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12648,13 +12707,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics عرض الإحصاءات - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12665,13 +12724,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage ‏عرض استخدام CPU - + Warn About Unsafe Settings تحذير من الإعدادات غير الآمنة @@ -12697,7 +12756,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12708,43 +12767,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version إظهار إصدار PCSX2 - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12853,19 +12912,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames تخطي عرض الإطارات المكررة - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12918,7 +12977,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages عرض النسب المئوية للسرعة @@ -12928,1214 +12987,1214 @@ Swap chain: see Microsoft's Terminology Portal. تعطيل إحضار الإطار المؤقت - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. لا شيء - + 2x 2x - + 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] استخدام الإعدادات العامة [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked غير محدد - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - يقوم تلقائيا بتحميل وتطبيق تعديلات الشاشة العريضة عند بدء اللعبة. يمكن أن يسبب مشاكل. + Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - يقوم تلقائيا بتحميل وتطبيق تعديلات إلغاء التشابك عند بدء اللعبة. يمكن أن يسبب مشاكل. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. يعطل إزاحة كل النصف الأخير من كل إطار في الصورة المتداخلة مما قد يقلل ضبابية الصورة. - + Bilinear Filtering فلترة ثنائية الخط - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. تمكين الفلترة ثنائية الخط الإضافية. مما يُنعم الصورة الكلية عند عرضها على الشاشة. هذا الاختيار يصحح شكل الصورة عند عدم تناسب الأبعاد بين البكسلات. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. يمكن إزاحات وحدة PCRTC التي تعرض من الإطار الجزء الذي تطلبه اللعبة. هذا الاختيار ينفع بعض الألعاب مثل WipEout Fusion في مؤثر اهتزاز الشاشة (Screen shake effect)، لكن قد يجعل الصورة ضبابية. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. يمكن إظهار منطقة المسح الزائد (overscan) مع الألعاب التي ترسم أكثر من المنطقة الآمنة من الشاشة. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. يتحكم في مستوى دقة مزج الألوان لوحدة GS الافتراضية. <br> كلما كانت قيمة هذا الإعداد أعلى كلما كانت محاكاة مزج الألوان باستخدام المظللات أدق.<br> يرجى العلم بأن دقة مزج الألوان لعارض Direct3D ستكون أقل منها لعارض OpenGL أو Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render استخدام CPU في معالجة جدول الألوان - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. هذا الخيار يعطل الإصلاحات الخاصة باللعبة. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. بشكل افتراضي تعمل ذاكرة التخزين المؤقت للنسيج بالتحقق الجزئي. لكن لسوء الحظ ذلك مكلف جدا على وحدة المعالجة المركزية. تعمل هذه الخدعة عن طريق استبدال التحقق الجزئي بحذف كامل للنسيج لتقليل حمولة المعالج. يساعد مع ألعاب محرك Snowblind. - + Framebuffer Conversion تحويل الإطار المؤقت - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. يحول مُخزن الإطارات من نوعي 4 بت و 8 بت على وحدة المعالجة المركزية بدلا من وحدة معالجة الرسوم. هذا يساعد مع ألعاب Harry Potter و Stuntman. ملحوظة: له تأثير سلبي كبير على الأداء. - - + + Disabled تعطيل - - Remove Unsupported Settings - إزالة الإعدادات غير المدعومة - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - لديك حاليًا <strong>تفعيل تعديلات الشاشة العريضة</strong> أو <strong>تفعيل تعديلات إلغاء التشابك</strong> اعدادات مفعلة لهذه اللعبة.<br><br>لم نعد ندعم هذه الخيارات، بدلاً من ذلك <strong>يجب عليك اختيار "تعديلات" قسم، وتفعيل التعديلات التي تريدها.</strong><br><br>هل تريد إزالة هذه الخيارات من تكوين اللعبة الخاص بك الآن؟ - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. يسمح لذاكرة التخزين المؤقت للإكساء بإعادة استخدام الجزء الداخلي من الإطار المؤقت السابق كإكساء مُدخل. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. يدفع جميع الأهداف من ذاكرة التخزين المؤقت للنُسج إلى الذاكرة المحلية عند الإغلاق. يمكن أن يمنع فقدان المرئيات عند حفظ الحالة أو تبديل العارض، ولكن يمكن أن يتسبب أيضا في إفساد الرسوم. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). يحاول تقليل حجم النُسج عندما لا تقوم الألعاب بتعيينه بنفسها (مثل ألعاب محرك Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. يصلح بعض المشاكل التي تحدث عند تكبير الدقة (مثل ظهور خطوط عمودية) في ألعاب Namco مثل Ace Combat و Tekken و Soul Calibur ،... الخ. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. يمكن تحسين التباين التكيفي FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. يضبط السطوع. 50 هو الرقم الطبيعي. - + Adjusts contrast. 50 is normal. يعدل التباين. 50 هو الإعداد الطبيعي. - + Adjusts saturation. 50 is normal. يعدل التشبع. 50 هو الإعداد الطبيعي. - + Scales the size of the onscreen OSD from 50% to 500%. يغير معيار حجم الرسائل على الشاشة (OSD) ما بين 50% إلى 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. يعرض مؤشرات أيقونة OSD لوضعيات المحاكاة مثل الإيقاف، وTurbo، و تسريع اللعبة ، والحركة البطيئة. - + Displays various settings and the current values of those settings, useful for debugging. يعرض مختلف الإعدادات والقيم الحالية لتلك الإعدادات، مفيدة لتصحيح الأخطاء. - + Displays a graph showing the average frametimes. يعرض رسم بياني يظهر متوسط الإطار. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec ترميز الفيديو - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> يحدد ترميز الفيديو الذي سيتم استخدامه لالتقاط الفيديو. <b>إذا كنت غير متأكد، اتركه على الإعداد الافتراضي.<b> - + Video Format تنسيق الفيديو - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate معدل البت للفيديو - + 6000 kbps 6000 كيلوبايت - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution دقة تلقائية - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec ترميز الصوت - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate معدل البت للصوت - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen السماح بملء الشاشة الحصري - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. تجاوز استدلالات الdriver و الapos لتفعيل وضع الشاشة الكاملة الحصرية او التقليب الشاشة / مسح<br> الغاء وضع الشاشة الكاملة الحصرية يمكن ان يساعد علي اهتمام بمهام اخري ( خارج المحاكي) لكن يزيد من بطء في الأستجابة. - + 1.25x Native (~450px) 1.25x الدقة (~450px) - + 1.5x Native (~540px) 1.5x الدقة (~540px) - + 1.75x Native (~630px) 1.75x الدقة (~630px) - + 2x Native (~720px/HD) 2x الدقة (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x الدقة (~900px/HD+) - + 3x Native (~1080px/FHD) 3x الدقة (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x الدقة (1260px~) - + 4x Native (~1440px/QHD) 4x الدقة (~1440px/2K) - + 5x Native (~1800px/QHD+) 5x الدقة (~1800px/2K+) - + 6x Native (~2160px/4K UHD) 6x الدقة (~2160px/4K UHD) - + 7x Native (~2520px) 7x الدقة (~2520px) - + 8x Native (~2880px/5K UHD) 8x الدقة (~2880px/5K UHD) - + 9x Native (~3240px) 9x الدقة (~3240px) - + 10x Native (~3600px/6K UHD) 10x الدقة (~3600px/6K UHD) - + 11x Native (~3960px) 11x الدقة (~3960px) - + 12x Native (~4320px/8K UHD) 12x الدقة (~4320px/8K UHD) - + 13x Native (~4680px) 13x الدقة (~4680px) - + 14x Native (~5040px) 14x الدقة (~5040px) - + 15x Native (~5400px) 15x الدقة (~5400px) - + 16x Native (~5760px) 16x الدقة (~5760px) - + 17x Native (~6120px) 17x الدقة (~6120px) - + 18x Native (~6480px/12K UHD) 18x الدقة (~6480px/12K UHD) - + 19x Native (~6840px) 19x الدقة (~6840px) - + 20x Native (~7200px) 20x الدقة (~7200px) - + 21x Native (~7560px) 21x الدقة (~7560px) - + 22x Native (~7920px) 22x الدقة (~7920px) - + 23x Native (~8280px) 23x الدقة (~8280px) - + 24x Native (~8640px/16K UHD) 24x الدقة (~8640px/16K UHD) - + 25x Native (~9000px) 25x الدقة (~9000px) - - + + %1x Native %1x الدقة الأصلية - - - - - - - - - + + + + + + + + + Checked محدَّد - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. تمكين الاختراقات المضادة للضبابية الداخلية. أقل دقة لتقديم PS2 ولكن ستجعل الكثير من الألعاب تبدو أقل وضوحا. - + Integer Scaling التكبير المتناسق - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. قد يقلل منطقة العرض للتأكد من أن النسبة بين البكسل على شاشة الجهاز إلى البكسل في جهاز الPS2 هي عدد صحيح. قد يؤدي إلى صورة أكثر وضوحا في بعض الألعاب ثنائية الأبعاد. - + Aspect Ratio تناسب الأبعاد - + Auto Standard (4:3/3:2 Progressive) المعيار التلقائي (4:3 أو 3:2 تقدمي) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. يغير نسبة العرض المستخدمة لعرض وحدة التحكم'س إخراج إلى الشاشة. الافتراضي هو المعيار التلقائي (4:3/3:2 تقدمي) الذي يقوم تلقائياً بضبط نسبة العرض لتتوافق مع كيفية عرض اللعبة على تلفزيون نموذجي في العصر. - + Deinterlacing إلغاء التداخل - + Screenshot Size حجم لقطة الشاشة - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. يحدد الدقة التي سيتم حفظ لقطات الشاشة. تحتفظ القرارات الداخلية بالمزيد من التفاصيل على حساب حجم الملف. - + Screenshot Format صيغة لقطة الشاشة - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. يحدد التنسيق الذي سيتم استخدامه لحفظ لقطات الشاشة. JPEG ينتج ملفات أصغر، ولكن يفقد التفاصيل. - + Screenshot Quality جودة لقطة الشاشة - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. يحدد الجودة التي سيتم ضغطها على لقطات الشاشة. تحتفظ القيم الأعلى بالمزيد من التفاصيل لـ JPEG، وتقلل حجم الملف لـ PNG. - - + + 100% ٪۱۰۰ - + Vertical Stretch تمدد عمودي - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. تمدد (&lt; 100%) أو قطع (&gt; 100%) المكون العمودي للشاشة. - + Fullscreen Mode وضع الشاشة الكاملة - - - + + + Borderless Fullscreen ملء الشاشة بدون حدود - + Chooses the fullscreen resolution and frequency. اختيار دقة الشاشة الكاملة والتردد. - + Left يسار - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. تغيير عدد وحدات البكسل المقطوعة من الجانب الأيسر من الشاشة. - + Top أعلى - + Changes the number of pixels cropped from the top of the display. تغيير عدد وحدات البكسل المقطوعة من الجزء العلوي من الشاشة. - + Right يمين - + Changes the number of pixels cropped from the right side of the display. تغيير عدد وحدات البكسل المقطوعة من الجانب الأيمن من الشاشة. - + Bottom أسفل - + Changes the number of pixels cropped from the bottom of the display. يغير عدد وحدات البكسل المقطوعة من أسفل الشاشة. - - + + Native (PS2) (Default) الدقة الأصلية (PS2) (افتراضي) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. • التحكم في القرار الذي تنظم فيه الألعاب - يمكن أن تؤثر القرارات العالية على الأداء في وحدات التقييم العالمي القديمة أو الدنيا.<br>الدقة غير الأصلية قد تسبب مشاكل بسيطة في بعض الألعاب.<br>سيبقى قرار FMV دون تغيير، لأن ملفات الفيديو معروضة مسبقا. - + Texture Filtering تصفية النسخة - + Trilinear Filtering التصفية الثلاثية - + Anisotropic Filtering تصفية متباين الخواص - + Reduces texture aliasing at extreme viewing angles. يقلل من حدة أطراف الإكساءات في زوايا رؤية صعبة. - + Dithering التشويش - + Blending Accuracy دقة المزج - + Texture Preloading التحميل المسبق للإكساءات - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. تحميل الكثير من الإكساءات دفعة واحدة بدلا من دفعات صغيرة, تجنبا للتحميل الزائد اذا كان ممكنا. يساعد علي تحسين الأداء في معظم الألعاب, لكن يمكن ان يجعل بعض الألعاب أبطأ. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. عند تمكين وحدة معالجة الرسومات ( GPU), و الا ستهتم وحدة المعالجة المركزية ( CPU) بذلك, انها مقايضة بين الأثنين. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. تمكين هذا الخيار يعطيك القدرة على تغيير إصلاحات العارض وإصلاحات تكبير الدقة للعبة. لكن بتمكينك لهذا الخيار سوف يتم تعطيل الإصلاحات التلقائية لهذه اللعبة، لإعادة تفعيل الإصلاحات التلقائية قم بتعطيل هذا الخيار. - + 2 threads خيطين معالجة - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. إجبار تنظيف الرسومات الأولية (primitives) عند استخدام ذاكرة تخزين الإطار (framebuffer) كنسيج (texture) مدخل. يصلح بعد مؤثرات الفلترة مثل الظلال في ألعاب Jak وتأثير الإشعاع (radiosity) في لعبة GTA:SA. - + Enables mipmapping, which some games require to render correctly. تمكين النُسج المصغرة (mipmapping)، التي تحتاج إليها بعض الألعاب لتُعرض بشكل صحيح. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT كرت الشاشة يستهدف CLUT - + Skipdraw Range Start تخطي بداية النطاق - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. يتخطي تماما رسم الأسطح (surfaces) بداية من السطح المحدد في المربع الأيمن إلى السطح المحدد في المربع على الأيسر. - + Skipdraw Range End نهاية نطاق تخطي الرسم - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. هذا الخيار يعطل ميزات آمنة متعددة. يعطل تقديم نقطة إلغاء المقياس الدقيق و الخط الذي يمكن أن يساعد ألعاب Xenosaga. تعطيل مسح ذاكرة GS الدقيق الذي سيتم القيام به على وحدة المعالجة المركزية، وترك المعالج يتعامل معها، والذي يمكن أن يساعد قلوب المملكة. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset إزاحة نصف بكسل - + Might fix some misaligned fog, bloom, or blend effect. قد تصلح بعض التأثيرات غير المنسجمة مثل الضبابية أو التكاثر أو المزج. - + Round Sprite تقريب الرسوم المتحركة (Sprites) - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X إزاحة الإكساء افقيًا - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. إزاحة إحداثيات الإكساء ST/UV. يصلح بعض مشاكل الإكساء الغريبة وقد تصلح بعض محاذاة المعالجة أيضا. - + Texture Offsets Y إزاحة الإكساء عموديًا - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. يقلل من دقة GS لتجنب الفجوات بين البكسلات عند الترقية. يصلح النص على لعبة Wild Arms . - + Bilinear Upscale ترقية الصورة ثنائية الخط - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. يمكن أن تخفف الإكساء بسبب التصفية الثنائية عند رفع الدقة. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx زيادة الحدة المتأقلم مع التباين - + Sharpness الحدة - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. تمكين التشبع والتباين والسطوع للتعديل. قيم السطوع والتشبع والتباين هي في حالة الافتراضي 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. تطبيق خوارزمية FXAA المضادة للتحرير لتحسين الجودة البصرية للألعاب. - + Brightness السطوع - - - + + + 50 50 - + Contrast التباين - + TV Shader ظلال التلفاز - + Applies a shader which replicates the visual effects of different styles of television set. تطبيق معالج يكرر التأثيرات البصرية لمختلف أنماط جهاز التلفزيون. - + OSD Scale حجم OSD - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. يعرض إشعارات على الشاشة عندما تحدث أحداث مثل إنشاء أو تحميل حالات الحفظ، أخذ لقطات الشاشة، إلخ. - + Shows the internal frame rate of the game in the top-right corner of the display. يعرض معدل الإطار الداخلي للعبة في الزاوية العلوية اليمنى من العرض. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. يظهر سرعة المحاكاة الحالية للنظام في الزاوية العلوية اليمنى من العرض كنسبة مئوية. - + Shows the resolution of the game in the top-right corner of the display. يعرض معدل الإطار الداخلي للعبة في الزاوية العلوية اليمنى من العرض. - + Shows host's CPU utilization. يعرض المضيف' استخدام وحدة المعالجة المركزية. - + Shows host's GPU utilization. يعرض المضيف' استخدام وحدة معالجة الرسومات. - + Shows counters for internal graphical utilization, useful for debugging. يعرض العدادات لاستخدام الرسوم الداخلية، مفيدة لتصحيح الأخطاء. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. يعرض تحذيرات عند تمكين الإعدادات التي يمكن أن تكسر الألعاب. - - + + Leave It Blank اتركه فارغا - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 كيلوبايت - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. تغيير خوارزمية الضغط المستخدمة عند إنشاء مقطع GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device تمكين جهاز التصحيح - + Enables API-level validation of graphics commands. تمكين التحقق من صحة أوامر الرسومات على مستوى واجهة برمجة التطبيقات (API). - + GS Download Mode وضع التحميل GS - + Accurate دقة - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. تخطي التزامن مع موضوع GS واستضافة GPU لتنزيلات GS. يمكن أن يؤدي إلى زيادة كبيرة في سرعة الأنظمة البطيئة، على حساب العديد من آثار الرسوم البيانية المكسورة. إذا تم كسر الألعاب و تمكين هذا الخيار، الرجاء تعطيله أولاً. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. افتراضي - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14143,7 +14202,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format افتراضي @@ -14360,254 +14419,254 @@ Swap chain: see Microsoft's Terminology Portal. لم يتم العثور على حالة حفظ في الخانة {}. - - - + + - - - - + + + + - + + System النظام - + Open Pause Menu فتح قائمة الإيقاف المؤقت - + Open Achievements List فتح قائمة الانجازات - + Open Leaderboards List فتح قائمة المتصدرين - + Toggle Pause إيقاف مؤقت - + Toggle Fullscreen تغيير للشاشة الكاملة - + Toggle Frame Limit تمكين/تعطيل محدد السرعة - + Toggle Turbo / Fast Forward تبديل توربو / التقدم السريع - + Toggle Slow Motion تغيير الحركة البطيئة - + Turbo / Fast Forward (Hold) توربو / التقدم السريع (معلق) - + Increase Target Speed زيادة سرعة اللعبة - + Decrease Target Speed إنقاص سرعة اللعبة - + Increase Volume زيادة مستوى الصوت - + Decrease Volume خفض مستوى الصوت - + Toggle Mute كتم الصوت - + Frame Advance تقدم الإطار - + Shut Down Virtual Machine إيقاف تشغيل الآلة الظاهرية - + Reset Virtual Machine إعادة تعيين الآلة الظاهرية - + Toggle Input Recording Mode تبديل وضع تسجيل الإدخال - - + + Save States حالات الحفظ - + Select Previous Save Slot حدد خانة حفظ السابقة - + Select Next Save Slot حدد خانة حفظ التالية - + Save State To Selected Slot حفظ الحالة إلى خانة مختارة - + Load State From Selected Slot تحميل الحالة إلى خانة مختارة - + Save State and Select Next Slot حفظ الحالة واختيار الخانة التالية - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 حفظ الحالة إلى خانة 1 - + Load State From Slot 1 تحميل الحالة إلى خانة 1 - + Save State To Slot 2 حفظ الحالة إلى خانة 2 - + Load State From Slot 2 تحميل الحالة إلى خانة 2 - + Save State To Slot 3 حفظ الحالة إلى خانة 3 - + Load State From Slot 3 تحميل الحالة إلى خانة 3 - + Save State To Slot 4 حفظ الحالة إلى خانة 4 - + Load State From Slot 4 تحميل الحالة من خانة 4 - + Save State To Slot 5 حفظ الحالة إلى خانة 5 - + Load State From Slot 5 تحميل الحالة من خانة 5 - + Save State To Slot 6 حفظ الحالة إلى خانة 6 - + Load State From Slot 6 تحميل الحالة من خانة 6 - + Save State To Slot 7 حفظ الحالة إلى خانة 7 - + Load State From Slot 7 تحميل الحالة من خانة 7 - + Save State To Slot 8 حفظ الحالة إلى خانة 8 - + Load State From Slot 8 تحميل الحالة من خانة 8 - + Save State To Slot 9 حفظ الحالة إلى خانة 9 - + Load State From Slot 9 تحميل الحالة من خانة 9 - + Save State To Slot 10 حفظ الحالة إلى خانة 10 - + Load State From Slot 10 تحميل الحالة من خانة 10 @@ -15486,594 +15545,608 @@ Right click to clear binding النظام - - - + + Change Disc تغيير القرص - - + Load State تحميل الحالة - - Save State - حفظ الحالة - - - + S&ettings إعدادات - + &Help مساعدة - + &Debug تصحيح الأخطاء - - Switch Renderer - تبديل العارض - - - + &View عرض - + &Window Size حجم النافذة - + &Tools أدوات - - Input Recording - تسجيل الإدخال - - - + Toolbar شريط الأدوات - + Start &File... بدء الملف... - - Start &Disc... - بدء القرص... - - - + Start &BIOS بدء BIOS - + &Scan For New Games البحث عن ألعاب جديدة - + &Rescan All Games إعادة فحص جميع الألعاب - + Shut &Down إيقاف تشغيل - + Shut Down &Without Saving إيقاف تشغيل دون حفظ - + &Reset إعادة التشغيل - + &Pause إيقاف مؤقت - + E&xit خروج - + &BIOS &BIOS - - Emulation - المحاكاة - - - + &Controllers ذراع التحكم - + &Hotkeys مفاتيح الاختصار - + &Graphics الرسومات - - A&chievements - الإنجازات - - - + &Post-Processing Settings... إعدادات المعالجة اللاحقة... - - Fullscreen - شاشة كاملة - - - + Resolution Scale مقياس الدقة - + &GitHub Repository... مستودع Github... - + Support &Forums... دعم المنتديات... - + &Discord Server... خادم Discord... - + Check for &Updates... التحقق من وجود تحديثات... - + About &Qt... حول Qt... - + &About PCSX2... حول PCSX2... - + Fullscreen In Toolbar شاشة كاملة - + Change Disc... In Toolbar تغيير القرص... - + &Audio الصوت - - Game List - قائمة الألعاب - - - - Interface - واجهة المستخدم + + Global State + حالة عامة - - Add Game Directory... - إضافة مجلد ألعاب... + + &Screenshot + لقطة للشاشة - - &Settings - الإعدادات + + Start File + In Toolbar + بدء الملف - - From File... - من ملف... + + &Change Disc + &Change Disc - - From Device... - من الجهاز... + + &Load State + &Load State - - From Game List... - من قائمة اللعبة... + + Sa&ve State + Sa&ve State - - Remove Disc - إزالة القرص + + Setti&ngs + Setti&ngs - - Global State - حالة عامة + + &Switch Renderer + &Switch Renderer - - &Screenshot - لقطة للشاشة + + &Input Recording + &Input Recording - - Start File - In Toolbar - بدء الملف + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar بدء القرص - + Start BIOS In Toolbar بدء BIOS - + Shut Down In Toolbar إيقاف تشغيل - + Reset In Toolbar إعادة التشغيل - + Pause In Toolbar إيقاف مؤقت - + Load State In Toolbar تحميل الحالة - + Save State In Toolbar حفظ الحالة - + + &Emulation + &Emulation + + + Controllers In Toolbar ذراع التحكم - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar الإعدادات - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar لقطة للشاشة - + &Memory Cards بطاقات الذاكرة - + &Network && HDD الشبكة و القرص الصلب - + &Folders المجلدات - + &Toolbar شريط الأدوات - - Lock Toolbar - قفل شريط الأدوات + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - شريط الحالة + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - الحالة المطولة + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - قائمة الألعاب + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - عرض النظام + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - خصائص اللعبة + + E&nable System Console + E&nable System Console - - Game &Grid - شبكة الألعاب + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - إظهار العناوين (عرض الشبكة) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - تكبير في (عرض الشبكة) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - تكبير خارج (عرض الشبكة) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - تحديث الأغلفة (عرض الشبكة) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - فتح مجلد بطاقة الذاكرة... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - فتح مجلد البيانات... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - تمكين الرسم عن طريق CPU (وضع Software) + + &Controller Logs + &Controller Logs - - Open Debugger - فتح معالج الأخطاء + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - إعادة تحميل الغش/التعديلات + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - تمكين وحدة تحكم النظام + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - تمكين وحدة التحكم بالتصحيح + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - تمكين نافذة السجل + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - تمكين التسجيل المطول + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - تمكين تسجيل بيانات وحدة ال EE + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - تمكين تسجيل بيانات وحدة ال IOP + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - حفظ الإطار الفردي GS + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - جديد + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - اللعب + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - إيقاف + + &Status Bar + شريط الحالة - - Settings - This section refers to the Input Recording submenu. - الإعدادات + + + Game &List + قائمة الألعاب - - - Input Recording Logs - سجلات تسجيل الإدخال + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - سجلات ذراع التحكم + + &Verbose Status + &Verbose Status - - Enable &File Logging - تمكين ملف التسجيل + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + عرض النظام + + + + Game &Properties + خصائص اللعبة - - Enable CDVD Read Logging - تفعيل تسجيل قراءة CDVD + + Game &Grid + شبكة الألعاب - - Save CDVD Block Dump - حفظ كتلة CDVD + + Zoom &In (Grid View) + تكبير في (عرض الشبكة) - - Enable Log Timestamps - تمكين سِجِل الطوابع الزمنية + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + تكبير خارج (عرض الشبكة) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + تحديث الأغلفة (عرض الشبكة) + + + + Open Memory Card Directory... + فتح مجلد بطاقة الذاكرة... + + + + Input Recording Logs + سجلات تسجيل الإدخال + + + + Enable &File Logging + تمكين ملف التسجيل + + + Start Big Picture Mode بدء وضع الصورة الكبيرة - - + + Big Picture In Toolbar الصور الكبيرة - - Cover Downloader... - تحميل الغلاف... - - - - + Show Advanced Settings إظهار الإعدادات المتقدمة - - Recording Viewer - عارض التسجيل - - - - + Video Capture التقاط الفيديو - - Edit Cheats... - تحرير الغش... - - - - Edit Patches... - تحرير التعديلات... - - - + Internal Resolution الدقة الداخلية - + %1x Scale %1x Scale - + Select location to save block dump: اختر موقع لحفظ البيانات: - + Do not show again لا تظهر مرة أخرى - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16086,297 +16159,297 @@ Are you sure you want to continue? هل أنت متأكد من أنك تريد المتابعة؟ - + %1 Files (*.%2) %1 ملفات (*.%2) - + WARNING: Memory Card Busy تحذير: بطاقة الذاكرة مشغولة - + Confirm Shutdown تأكيد إيقاف التشغيل - + Are you sure you want to shut down the virtual machine? هل أنت متأكد من أنك تريد إغلاق الجهاز الافتراضي؟ - + Save State For Resume حفظ الحالة للاستئناف - - - - - - + + + + + + Error خطأ - + You must select a disc to change discs. يجب عليك تحديد قرص لتغيير الأقراص. - + Properties... خصائص... - + Set Cover Image... حدد صورة الغلاف... - + Exclude From List استبعاد من القائمة - + Reset Play Time إعادة تعيين وقت التشغيل - + Check Wiki Page تحقق من صفحة ويكي - + Default Boot التمهيد الافتراضي - + Fast Boot تمهيد سريع - + Full Boot تمهيد كامل - + Boot and Debug تشغيل و تصحيح - + Add Search Directory... إضافة مجلد البحث... - + Start File بدء الملف - + Start Disc بدء القرص - + Select Disc Image حدد صورة القرص - + Updater Error خطأ فى التحديث - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>عذراً، أنت تحاول تحديث إصدار PCSX2 الذي ليس إصدار GitHub الرسمي. لمنع التعارض، يتم تمكين التحديث التلقائي فقط على الإصدارات الرسمية.</p><p>للحصول على بناء رسمي، يرجى التحميل من الرابط أدناه:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. التحديث التلقائي غير مدعوم على المنصة الحالية. - + Confirm File Creation تأكيد إنشاء ملف - + The pnach file '%1' does not currently exist. Do you want to create it? الملف pnach '%1' غير موجود حاليا. هل تريد إنشاءه؟ - + Failed to create '%1'. فشل إنشاء '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed فشل تسجيل الإدخال - + Failed to create file: {} فشل إنشاء الملف: {} - + Input Recording Files (*.p2m2) إدخال ملفات تسجيل (*.p2m2) - + Input Playback Failed فشل تشغيل الإدخال - + Failed to open file: {} فشل فتح الملف: {} - + Paused متوقف مؤقتا - + Load State Failed فشل تحميل الحالة - + Cannot load a save state without a running VM. لا يمكن تحميل حالة حفظ بدون تشغيل VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? لا يمكن تحميل ELF الجديد بدون إعادة تعيين الآلة الظاهرية. هل تريد إعادة تعيين الآلة الظاهرية الآن؟ - + Cannot change from game to GS dump without shutting down first. لا يمكن التغيير من اللعبة إلى إغراق GS دون إغلاق أولاً. - + Failed to get window info from widget فشل الحصول على معلومات النافذة من ويدجت - + Stop Big Picture Mode إيقاف وضع الصورة الكبيرة - + Exit Big Picture In Toolbar الخروج من الصورة الكبيرة - + Game Properties خصائص اللعبة - + Game properties is unavailable for the current game. خصائص اللعبة غير متوفرة للعبة الحالية. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. تعذر العثور على أي أجهزة CD/DVD-ROM. الرجاء التأكد من أن لديك أذونات متصلة بالقرص و كافية للوصول إليه. - + Select disc drive: حدد محرك الأقراص: - + This save state does not exist. حالة الحفظ هذه غير موجودة. - + Select Cover Image حدد صورة الغلاف - + Cover Already Exists الغلاف موجود بالفعل - + A cover image for this game already exists, do you wish to replace it? صورة غلاف لهذه اللعبة موجودة مسبقا، هل ترغب في استبدالها؟ - + + - Copy Error خطأ في النسخ - + Failed to remove existing cover '%1' فشل في إزالة الغلاف الموجود '%1' - + Failed to copy '%1' to '%2' فشل نسخ '%1' إلى '%2' - + Failed to remove '%1' فشل في إزالة '%1' - - + + Confirm Reset تأكيد إعادة التعيين - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) جميع أنواع صور الغلاف (*.jpg *.jpeg *.png *.webpp) - + You must select a different file to the current cover image. يجب عليك تحديد ملف مختلف لصورة الغلاف الحالي. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16385,12 +16458,12 @@ This action cannot be undone. لا يمكن التراجع عن هذا الإجراء. - + Load Resume State تحميل حالة الاستئناف - + A resume save state was found for this game, saved at: %1. @@ -16403,89 +16476,89 @@ Do you want to load this state, or start from a fresh boot? هل تريد تحميل هذه الحالة، أو البدء من تشغيل جديد؟ - + Fresh Boot تشغيل نظيف - + Delete And Boot احذف وشغل - + Failed to delete save state file '%1'. فشل في حذف حفظ ملف الحالة '%1'. - + Load State File... تحميل ملف الحالة... - + Load From File... تحميل من ملف... - - + + Select Save State File حدد ملف حفظ الحالة - + Save States (*.p2s) حفظ الحالة (*.p2s) - + Delete Save States... حذف حفظ الحالة... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> تحذير: بطاقة الذاكرة لا تزل تكتب البيانات. سيؤدي إيقاف التشغيل الآن إلى تدمير بطاقة الذاكرة الخاصة بك. يوصى بشدة استئناف لعبتك وتركها تنتهي من كتابة البيانات إلى بطاقة الذاكرة الخاصة بك. هل تود إيقاف التشغيل على أي حال وتدمير بطاقة الذاكرة الخاصة بك؟ - + Save States (*.p2s *.p2s.backup) حفظ الحالة (*.p2s *.p2s.backup) - + Undo Load State التراجع عن تحميل الحالة - + Resume (%2) استئناف (%2) - + Load Slot %1 (%2) تحميل الخانة %1 (%2) - - + + Delete Save States حذف حفظ الحالة - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16494,42 +16567,42 @@ The saves will not be recoverable. لن تكون عمليات الحفظ قابلة للاسترداد. - + %1 save states deleted. %1 حفظ الحالات المحذوفة. - + Save To File... حفظ إلى ملف... - + Empty فارغ - + Save Slot %1 (%2) حفظ الخانة %1 (%2) - + Confirm Disc Change تأكيد تغيير القرص - + Do you want to swap discs or boot the new image (via system reset)? هل تريد تبديل الأقراص أو تشغيل الصورة الجديدة (عبر إعادة تعيين النظام)؟ - + Swap Disc تبديل القرص - + Reset إعادة تعيين @@ -16552,25 +16625,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed فشل إنشاء بطاقة الذاكرة - + Could not create the memory card: {} تعذر إنشاء بطاقة الذاكرة: {} - + Memory Card Read Failed فشل قراءة بطاقة الذاكرة - + Unable to access memory card: {} @@ -16587,28 +16660,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. تم حفظ بطاقة الذاكرة '{}' إلى وحدة التخزين. - + Failed to create memory card. The error was: {} فشل إنشاء بطاقة الذاكرة. الخطأ كان: {} - + Memory Cards reinserted. تم إعادة إدخال بطاقات الذاكرة. - + Force ejecting all Memory Cards. Reinserting in 1 second. فرض إخراج جميع بطاقات الذاكرة. إعادة الإدخال في ثانية واحدة. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17400,7 +17478,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18240,12 +18318,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. فشل في فتح {}. لا تتوفر التعديلات المدمجة للعبة. - + %n GameDB patches are active. OSD Message @@ -18258,7 +18336,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18271,7 +18349,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18284,7 +18362,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. لم يتم العثور على أي غش أو تعديل (الشاشة العريضة أو التوافق أو غير ذلك) / تفعيل. @@ -18385,47 +18463,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error خطأ - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. التحكم {} متصل. - + System paused because controller {} was disconnected. تم إيقاف النظام مؤقتًا بسبب قطع اتصال وحدة التحكم {}. - + Controller {} disconnected. التحكم {} غير متصل. - + Cancel إلغاء @@ -18558,7 +18636,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21771,42 +21849,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. فشل النسخ الاحتياطي لحفظ الحالة القديمة {}. - + Failed to save save state: {}. تعذّر حفظ لقطة الشاشة في: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game لعبة مجهولة - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} فشل التخزين المؤقت المسبق لـ CDVD: {} - + Error خطأ - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21823,272 +21901,272 @@ Please consult the FAQs and Guides for further instructions. نرجوا منك التوجة إلى صفحة الأسئلة الشائعة 'FAQs' لمزيد من التعليمات. - + Resuming state استئناف الحالة - + Boot and Debug التمهيد وتصحيح الأخطاء - + Failed to load save state فشل تحميل حالة الحفظ - + State saved to slot {}. تم حفظ الحالة في الفتحة {}. - + Failed to save save state to slot {}. فشل حفظ الحالة إلى فتحة {}. - - + + Loading state جار تحميل الحالة - + Failed to load state (Memory card is busy) فشل تحميل الحالة (بطاقة الذاكرة مشغولة) - + There is no save state in slot {}. لا توجد حالة حفظ في الفتحة {}. - + Failed to load state from slot {} (Memory card is busy) فشل في تحميل الحالة من الفتحة {} (بطاقة الذاكرة مشغولة) - + Loading state from slot {}... جاري تحميل الحالة من الفتحة {}... - + Failed to save state (Memory card is busy) فشل في حفظ الحالة (بطاقة الذاكرة مشغولة) - + Failed to save state to slot {} (Memory card is busy) فشل في حفظ الحالة إلى فتحة {} (بطاقة الذاكرة مشغولة) - + Saving state to slot {}... حفظ الحالة إلى الفتحة {}... - + Frame advancing تقدم الإطار - + Disc removed. تمت إزالة القرص. - + Disc changed to '{}'. تم تغيير القرص إلى '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} فشل فتح صورة القرص الجديدة '{}'. العودة إلى الصورة القديمة. الخطأ كان: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} فشل في العودة إلى صورة القرص القديمة. إزالة القرص. الخطأ كان: {} - + Cheats have been disabled due to achievements hardcore mode. تم تعطيل الغش بسبب وضع الانجازات الصعبة. - + Fast CDVD is enabled, this may break games. تسريع CDVD يعمل، قد يعطل بعض الألعاب. - + Cycle rate/skip is not at default, this may crash or make games run too slow. معدل الدورة/تخطي الدورة ليس في الوضع الافتراضي، هذا قد يتعطل أو يجعل الألعاب تسير ببطء شديد. - + Upscale multiplier is below native, this will break rendering. مضاعف الترقية أقل من الأصل، هذا سيكسر العرض. - + Mipmapping is disabled. This may break rendering in some games. تم تعطيل رسم الخرائط. قد يؤدي هذا إلى تعطيل العرض في بعض الألعاب. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. لم يتم تعيين تصفية النسيج إلى Bilinear (PS2). هذا سيكسر العرض في بعض الألعاب. - + No Game Running لا توجد لعبة قيد التشغيل - + Trilinear filtering is not set to automatic. This may break rendering in some games. لم يتم تعيين رسم الخرائط تلقائياً. قد يكسر هذا في بعض الألعاب. - + Blending Accuracy is below Basic, this may break effects in some games. دقة المزج أقل من الأساسية، وقد يؤدي ذلك إلى تعطيل التأثيرات في بعض الألعاب. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. لم يتم ضبط وضع تحميل الأجهزة على الدقة، قد يكسر هذا في بعض الألعاب. - + EE FPU Round Mode is not set to default, this may break some games. لم يتم تعيين وضع جولة EE FPU إلى الافتراضي، قد يؤدي هذا إلى كسر بعض الألعاب. - + EE FPU Clamp Mode is not set to default, this may break some games. لم يتم تعيين وضع مصباح EE FPU إلى الافتراضي، قد يؤدي هذا إلى كسر بعض الألعاب. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. رُقَعْ اللعبة مغلق، قد يُأًثِر هذا على بعض الألعاب. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. تعديلات التوافق غير مفعلة. التوافق مع بعض الألعاب قد يتأثر. - + Frame rate for NTSC is not default. This may break some games. معدل الإطارات لـ(NTSC) ليس بافتراضي، قد يؤدي هذا إلى تسارع بعض الألعاب. - + Frame rate for PAL is not default. This may break some games. معدل الإطارات لـ(PAL) ليس بافتراضي، قد يؤدي هذا إلى تسارع بعض الألعاب. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recpiler غير مفعل، وهذا سوف يقلل الأداء بشكل كبير. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. EE Recpiler غير مفعل، وهذا سوف يقلل الأداء بشكل كبير. - + IOP Recompiler is not enabled, this will significantly reduce performance. لم يتم تمكين موصل IOP ، وهذا سيقلل الأداء بشكل كبير. - + EE Cache is enabled, this will significantly reduce performance. تم تمكين ذاكرة التخزين المؤقت ، وهذا سيقلل الأداء بشكل كبير. - + EE Wait Loop Detection is not enabled, this may reduce performance. لم يتم تمكين الكشف عن حلقة الانتظار، وهذا قد يقلل من الأداء. - + INTC Spin Detection is not enabled, this may reduce performance. الكشف عن الدوران INTC غير مفعل، وهذا قد يقلل من الأداء. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. تم تعطيل VU1 الفوري، هذا قد يقلل من اداء الجهاز. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Hack غير مفعل، ، هذا قد يقلل من اداء الجهاز. - + GPU Palette Conversion is enabled, this may reduce performance. GPU تم تمكين تحويل باليت ، قد يقلل من الأداء. - + Texture Preloading is not Full, this may reduce performance. التحميل المسبق للنسخة ليس كاملا، هذا قد يقلل من الأداء. - + Estimate texture region is enabled, this may reduce performance. منطقة النسيج المقدرة ممكنة، وهذا قد يقلل من الأداء. - + Texture dumping is enabled, this will continually dump textures to disk. إغراق النسيج مفعل، وهذا سيؤدي إلى إغراق النسيج في القرص باستمرار. diff --git a/pcsx2-qt/Translations/pcsx2-qt_bg-BG.ts b/pcsx2-qt/Translations/pcsx2-qt_bg-BG.ts index a69d1e83050b1..3666b38b6456f 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_bg-BG.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_bg-BG.ts @@ -729,307 +729,318 @@ Leaderboard Position: {1} of {2} Use Global Setting [%1] - + Rounding Mode Rounding Mode - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Clamping Mode - - - + + + Normal (Default) Normal (Default) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Enable Recompiler - + - - - + + + - + - - - - + + + + + Checked Checked - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Cache (Slow) Enable Cache (Slow) - - - - + + + + Unchecked Unchecked - + Interpreter only, provided for diagnostic. Interpreter only, provided for diagnostic. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Uses backpatching to avoid register flushing on every memory access. - + Pause On TLB Miss Pause On TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Enable VU0 Recompiler (Micro Mode) - + Enables VU0 Recompiler. Enables VU0 Recompiler. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Enable VU1 Recompiler - + Enables VU1 Recompiler. Enables VU1 Recompiler. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. - + Enable Game Fixes Enable Game Fixes - + Automatically loads and applies fixes to known problematic games on game start. Automatically loads and applies fixes to known problematic games on game start. - + Enable Compatibility Patches Enable Compatibility Patches - + Automatically loads and applies compatibility patches to known problematic games. Automatically loads and applies compatibility patches to known problematic games. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1252,29 +1263,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Frame Rate Control - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Frame Rate: - + NTSC Frame Rate: NTSC Frame Rate: @@ -1289,7 +1300,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1334,17 +1345,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Settings - + Slot: Slot: - + Enable Enable @@ -1865,8 +1881,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automatic Updater @@ -1906,68 +1922,68 @@ Leaderboard Position: {1} of {2} Remind Me Later - - + + Updater Error Updater Error - + <h2>Changes:</h2> <h2>Changes:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - + Savestate Warning Savestate Warning - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - + Downloading %1... Downloading %1... - + No updates are currently available. Please try again later. No updates are currently available. Please try again later. - + Current Version: %1 (%2) Current Version: %1 (%2) - + New Version: %1 (%2) New Version: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... Loading... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2131,19 +2147,19 @@ Leaderboard Position: {1} of {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2233,17 +2249,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2268,7 +2284,7 @@ Leaderboard Position: {1} of {2} Unknown - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3225,29 +3241,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3258,40 +3279,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3304,12 +3328,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3318,12 +3357,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3336,13 +3375,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3350,8 +3389,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3359,26 +3398,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4002,63 +4041,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4129,17 +4168,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4791,53 +4845,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4855,48 +4909,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4917,23 +4971,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4943,72 +4997,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5035,86 +5089,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5488,81 +5542,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5696,342 +5745,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6040,1977 +6089,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8019,2071 +8073,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11071,32 +11130,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11572,11 +11641,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11586,10 +11655,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11656,7 +11725,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11722,29 +11791,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11755,7 +11814,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11765,18 +11824,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11828,7 +11887,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11875,7 +11934,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11891,7 +11950,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11927,7 +11986,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11943,31 +12002,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11979,15 +12038,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12015,8 +12074,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12073,18 +12132,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12183,13 +12242,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12203,16 +12262,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12285,25 +12334,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12314,7 +12363,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12373,25 +12422,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12401,6 +12450,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12418,13 +12477,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12447,8 +12506,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12469,7 +12528,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12521,7 +12580,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12536,7 +12595,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12557,50 +12616,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12616,13 +12675,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12633,13 +12692,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12665,7 +12724,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12676,43 +12735,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12821,19 +12880,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12886,7 +12945,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12896,1214 +12955,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14111,7 +14170,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14328,254 +14387,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15453,594 +15512,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16053,297 +16126,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16352,12 +16425,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16370,89 +16443,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16461,42 +16534,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16519,25 +16592,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16554,28 +16627,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17367,7 +17445,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18207,12 +18285,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18221,7 +18299,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18230,7 +18308,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18239,7 +18317,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18340,47 +18418,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18513,7 +18591,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21726,42 +21804,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21778,272 +21856,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_ca-ES.ts b/pcsx2-qt/Translations/pcsx2-qt_ca-ES.ts index 44ad9e6091cec..936fbb4ad857c 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_ca-ES.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_ca-ES.ts @@ -732,307 +732,318 @@ Posició en classificacions: {1} de {2} Utilitzar configuració global [%1] - + Rounding Mode Mode d'arrodoniment - - - + + + Chop/Zero (Default) Eliminar/Zero (Per defecte) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Canvia la forma que té PCSX2 de gestionar l'arrodoniment de números en emular la Floating Point Unit de l'Emotion Engine' («unitat de valors amb coma flotant», o FPU del EE). Com els càlculs del FPU de PS2 no es corresponen als estàndards internacionals, alguns jocs necessitaran un mode diferent per a fer aquests càlculs correctament. El valor predeterminat serveix per a la gran majoria de jocs. </b>Si canvies aquest ajust quan un joc no mostri problemes visibles, podries provocar inestabilitats.</b> - + Division Rounding Mode Mode d'arrodoniment de divisions - + Nearest (Default) Per proximitat (predeterminat) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determina la manera d'arrodonir els resultats d'una divisió de valors amb coma flotant. Alguns jocs necessitaran un ajust concret: <b>si canvies aquest ajust quan un joc no tingui problemes visibles, podries provocar inestabilitats.</b> - + Clamping Mode Mode de limitació - - - + + + Normal (Default) Normal (Per defecte) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Canvia la forma que té PCSX2 de gestionar la conversió de valors de coma flotant a un rang estàndard x86. El valor predeterminat serveix per a la gran majoria de jocs. <b>Si canvies aquest ajust quan un joc no mostri problemes visibles, podries provocar inestabilitats.</b> - - + + Enable Recompiler Activar Recompilador - + - - - + + + - + - - - - + + + + + Checked Activat - + + Use Save State Selector + Fes servir el selector de l'estat desat + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostar el selector de l'estat desat en canviar d'estat en comptes de mostrar una notificació. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Realitza una traducció binària «just-in-time» de codi màquina MIPS-IV de 64 bits a x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Detecció de bucles en espera - + Moderate speedup for some games, with no known side effects. Millora moderadament la velocitat d'alguns jocs, sense efectes secundaris coneguts. - + Enable Cache (Slow) Activar Caché (Lent) - - - - + + + + Unchecked Desactivat - + Interpreter only, provided for diagnostic. Només per l'intèrpret, utilitzat per finalitats de diagnòstic. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Detecció de valors INTC - + Huge speedup for some games, with almost no compatibility side effects. Augment en gran manera de velocitat en alguns jocs, amb gairebé cap efecte secundari de compatibilitat. - + Enable Fast Memory Access Activar Accés Ràpid a Memòria - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Utilitza la tècnica de «backpatching» per evitar que es buidin els registres amb cada accés a memòria. - + Pause On TLB Miss Pausa en fallada TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Quan hi hagi un error TLB, pausa la màquina virtual en comptes d'ignorar-ho i continuar. Tingui en compte que la MV es posarà en pausa al final del bloc, no de la instrucció causant de l'excepció. Per saber la direcció on hi ha hagut l'accés invàlid, accediu a la consola. - + Enable 128MB RAM (Dev Console) Activa 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposa 96MB extres de memòria a la màquina virtual. - + VU0 Rounding Mode Mode d'arrodoniment VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Canvia la forma que té PCSX2 de gestionar l'arrodoniment de números en emular la Vector Unit 0 de l'Emotion Engine («unitat vectorial 0», o VU0 del EE). El valor predeterminat serveix per a la gran majoria de jocs. <b>Si canvies aquest ajust quan un joc no mostri problemes visibles, podries provocar inestabilitats.</b> - + VU1 Rounding Mode Mode d'arrodoniment VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Canvia la forma que té PCSX2 de gestionar l'arrodoniment de números en emular la Vector Unit 1 de l'Emotion Engine («unitat vectorial 0», o VU0 del EE). El valor predeterminat serveix per a la gran majoria de jocs. <b>Si canvies aquest ajust quan un joc no mostri problemes visibles, podries provocar inestabilitats.</b> - + VU0 Clamping Mode Mode de limitació VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Canvia la forma que té PCSX2 de gestionar la conversió de valors de coma flotant a un rang estàndard x86 dins de la Vector Unit 0 de l'Emotion Engine («unitat vectorial 0», o VU0 del EE). El valor predeterminat serveix per a la gran majoria de jocs. <b>Si canvies aquest ajust quan un joc no mostri problemes visibles, podries provocar inestabilitats.</b> - + VU1 Clamping Mode Mode de limitació VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Canvia la forma que té PCSX2 de gestionar la conversió de valors de coma flotant a un rang estàndard x86 dins de la Vector Unit 1 de l'Emotion Engine («unitat vectorial 1», o VU1 del EE). El valor predeterminat serveix per a la gran majoria de jocs. <b>Si canvies aquest ajust quan un joc no mostri problemes visibles, podries provocar inestabilitats.</b> - + Enable Instant VU1 Habilitar VU1 instantània - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Executa VU1 de forma instantània. Millora lleugerament la velocitat en gran part dels jocs. És segur per la majoria de jocs, però alguns poden mostrar errors gràfics. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Activar Recompilador VU0 (Mode Micro) - + Enables VU0 Recompiler. Activa el recompilador del VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Activa el recompilador del VU1 - + Enables VU1 Recompiler. Activa el recompilador del VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Correcció de l'indicador de mVU - + Good speedup and high compatibility, may cause graphical errors. Bona acceleració i alta compatibilitat, podria causar errors gràfics. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Realitza una traducció binària «just-in-time» de codi màquina MIPS-I de 32 bits a x86. - + Enable Game Fixes Activar Correccions de Joc - + Automatically loads and applies fixes to known problematic games on game start. Carrega i aplica correccions conegudes a jocs problemàtics automàticament a l'inici. - + Enable Compatibility Patches Activar Correccions de Compatibilitat - + Automatically loads and applies compatibility patches to known problematic games. Carrega i aplica correccions de compatibilitat conegudes automàticament en iniciar un joc problemàtic. - + Savestate Compression Method Mètode de compressió dels estats desats - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determina l'algoritme que s'utilitzarà per comprimir els estats desats. - + Savestate Compression Level Nivell de compressió dels estats desats - + Medium Mig - + Determines the level to be used when compressing savestates. Determina el nivell que s'utilitzarà per comprimir els estats desats. - + Save State On Shutdown Desa l'estat en apagar - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Desa automàticament l'estat de l'emulador quan s'atura o se surt. Pots tornar directament al mateix punt en tornar a iniciar l'emulador. - + Create Save State Backups Crea còpies de seguretat dels estats desats - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Crea una còpia de seguretat d'un estat desat si ja existeix. La còpia de seguretat té l'extensió .backup. @@ -1255,29 +1266,29 @@ Posició en classificacions: {1} de {2} Crea còpies de seguretat dels estats desats - + Save State On Shutdown Desa l'estat en apagar - + Frame Rate Control Control de velocitat de fotogrames - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: Velocitat de Fotogrames PAL: - + NTSC Frame Rate: Velocitat de Fotogrames NTSC: @@ -1292,7 +1303,7 @@ Posició en classificacions: {1} de {2} Nivell de compressió: - + Compression Method: Mètode de compressió: @@ -1337,17 +1348,22 @@ Posició en classificacions: {1} de {2} Molt alt (Lent, no recomanat) - + + Use Save State Selector + Fes servir el selector de l'estat desat + + + PINE Settings Configuració PINE - + Slot: Ranura: - + Enable Habilita @@ -1868,8 +1884,8 @@ Posició en classificacions: {1} de {2} AutoUpdaterDialog - - + + Automatic Updater Actualitzador Automàtic @@ -1909,68 +1925,68 @@ Posició en classificacions: {1} de {2} Recorda-m'ho més tard - - + + Updater Error Error de l'actualitzador - + <h2>Changes:</h2> <h2>Canvis:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Advertència sobre els desats ràpids</h2><p>La instalació d'aquesta actualizació farà que els teus desats ràpids <b>deixin d'ésser compatibles</b>. Assegura't d'haver desat els teus avenços en una Memory Card abans d'instal·lar aquesta actualizació, o perdràs els esmentats avenços.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Advertència sobre la configuració</h2><p>La instal·lació d'aquesta actualizació reiniciarà la configuració del programa. Recorda que hauràs de tornar a canviar els ajustaments del programa un cop s'hagi aplicat aquesta actualizació.</p> - + Savestate Warning Advertència sobre els desats ràpids - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ADVERTÈNCIA</h1><p style='font-size:12pt;'>La instal·lació d'aquesta actualizació farà que els teus desats ràpids <b>deixin d'ésser compatibles</b>, <i>assegura't d'haver desat tots els teus avenços en les teves Memory Cards abans de continuar</i>.</p><p>¿Segur que vols continuar?</p> - + Downloading %1... Descarregant %1... - + No updates are currently available. Please try again later. Cap actualització disponible. Si us plau, torna a provar-ho més tard. - + Current Version: %1 (%2) Versió Actual: %1 (%2) - + New Version: %1 (%2) Nova Versió: %1 (%2) - + Download Size: %1 MB Mida de descàrrega: %1 MB - + Loading... Carregant... - + Failed to remove updater exe after update. Error en eliminar l'executable de l'actualitzador després de l'actualització. @@ -2134,19 +2150,19 @@ Posició en classificacions: {1} de {2} Habilitar - - + + Invalid Address Adreça invàlida - - + + Invalid Condition Condició invàlida - + Invalid Size Mida no vàlida @@ -2236,17 +2252,17 @@ Posició en classificacions: {1} de {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. El disc de joc es troba en una unitat extraïble: poden produir-se problemes de rendiment, com estirades i bloquejos. - + Saving CDVD block dump to '{}'. Desant bolcat de bloc del CDVD a «{}». - + Precaching CDVD Precarregant CDVD @@ -2271,7 +2287,7 @@ Posició en classificacions: {1} de {2} Desconegut - + Precaching is not supported for discs. Precarregant no està disponible per discs. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Reanomena el perfil + + + Delete Profile Eliminar perfil - + Mapping Settings Valors assignats - - + + Restore Defaults Restableix els valors per defecte - - - + + + Create Input Profile Crear perfil d'entrada - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Per aplicar un perfil d'entrada personalitzat a un joc, ve a les seves propietat Introdueix el nom del perfil d'entrada nou: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. Ja existeix un perfil amb el nom '%1'. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Desitges copiar totes les associacions del perfil actual al nou? Si selecciones no, es crearà un perfil en blanc. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Vols copiar les assignacions de tecles actuals de les dreceres de teclat de la configuració global al nou perfil d'entrada? - + Failed to save the new profile to '%1'. Error al desar el perfil nou en '%1'. - + Load Input Profile Carregar perfil d'entrada - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Es perdràn totes les associacions globals i les associacions del perfil carrega No es possible desfer aquesta acció. - + + Rename Input Profile + Reanomenar el perfil d'entrada + + + + Enter the new name for the input profile: + Introdueix un nom nou pel perfil d'entrada: + + + + Failed to rename '%1'. + Error en reanomenar '%1'. + + + Delete Input Profile Eliminar perfil d'entrada - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. No es possible desfer aquesta acció. - + Failed to delete '%1'. Error en eliminar '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Es perdran totes les associacions i configuracions compartides, però es conserv No és possible desfer aquesta acció. - + Global Settings Configuració Global - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ No és possible desfer aquesta acció. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ No és possible desfer aquesta acció. %2 - - + + USB Port %1 %2 Port USB%1 %2 - + Hotkeys Dreceres del teclat - + Shared "Shared" refers here to the shared input profile. Compartit - + The input profile named '%1' cannot be found. No es pot trobar el perfil d'entrada anomenat '%1'. @@ -4005,63 +4044,63 @@ Vols sobreescriure-la? Importar des d'un fitxer (.elf, .sym, etç): - + Add Afegir - + Remove Suprimiri - + Scan For Functions Escanejar per funcions - + Scan Mode: Mode d'escaneig: - + Scan ELF Escanejar ELF - + Scan Memory Escanejar memòria - + Skip Ometre - + Custom Address Range: Rang d'adreces: - + Start: Començar: - + End: Fi: - + Hash Functions Funcions Hash - + Gray Out Symbols For Overwritten Functions Deshabilita símbols de funcions sobreescrites @@ -4132,17 +4171,32 @@ Vols sobreescriure-la? Genera hashes per totes les funcions detectades, i deshabilita els símbols mostrats en el depurador de funcions que no tinguin coincidències. - + <i>No symbol sources in database.</i> <i>La base de dades no conté orígens de símbols.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Executa el joc per poder modificar la llista dels orígens dels símbols.</i> - + + Path + Camí + + + + Base Address + Adreça base + + + + Condition + Condició + + + Add Symbol File Afegeix un fitxer de símbols @@ -4794,53 +4848,53 @@ Vols sobreescriure-la? Depurador de PCSX2 - + Run Executa - + Step Into Passa a - + F11 F11 - + Step Over Pas a pas - + F10 F10 - + Step Out Surt - + Shift+F11 Majús+F11 - + Always On Top Sempre al davant - + Show this window on top Mostra aquesta finestra al davant - + Analyze Analitzar @@ -4858,48 +4912,48 @@ Vols sobreescriure-la? Desassemblador - + Copy Address Copiar l'adreça - + Copy Instruction Hex Copiar l'instrucció (en hexadecimal) - + NOP Instruction(s) Instruccions NOP - + Run to Cursor Saltar a cursor - + Follow Branch Continuar branca - + Go to in Memory View Veure en visualitzador de memòria - + Add Function Afegir una funció - - + + Rename Function Reanomenar una funció - + Remove Function Eliminar una funció @@ -4920,23 +4974,23 @@ Vols sobreescriure-la? Instrucció d'acoblament - + Function name Nom de la funció - - + + Rename Function Error Error en canviar de nom la funció - + Function name cannot be nothing. El nom de la funció no pot estar en blanc. - + No function / symbol is currently selected. No s'ha seleccionat una funció o símbol. @@ -4946,72 +5000,72 @@ Vols sobreescriure-la? Veure en el desassemblador - + Cannot Go To No es pot anar a - + Restore Function Error Error en restaurar la funció - + Unable to stub selected address. Nos'ha pogut introduir un stub a la direcció seleccionada. - + &Copy Instruction Text &Copiar instrucció en text - + Copy Function Name Copiar nom de funció - + Restore Instruction(s) Restaurar instrucció(ns) - + Asse&mble new Instruction(s) &Acoblar instrucció(ns) nova(s) - + &Jump to Cursor &Saltar a cursor - + Toggle &Breakpoint Alternar &punt d'interrupció - + &Go to Address &Anar a direcció - + Restore Function Restaurar funció - + Stub (NOP) Function Introduir stub (NOP) a la funció - + Show &Opcode Mostrar codi de &operació - + %1 NOT VALID ADDRESS %1 DIRECCIÓ INVÀLIDA @@ -5038,86 +5092,86 @@ Vols sobreescriure-la? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Espai: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Espai: %1 | Volum: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Espai: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Espai: %1 | Volum: %2% | %3 | EE: %4% | GS: %5% - + No Image Sense imatge - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Velocitat: %1% - + Game: %1 (%2) Joc: %1 (%2) - + Rich presence inactive or unsupported. El mode de Rich Presence no es troba actiu o no és compatible. - + Game not loaded or no RetroAchievements available. No s'ha carregat un joc o no té RetroAchievements disponibles. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Error en crear HTTPDownloader. - + Downloading %1... Descarregant %1... - + Download failed with HTTP status code %1. Error en descarregar, codi d'estat HTTP %1. - + Download failed: Data is empty. Error en descarregar: les dades són buides. - + Failed to write '%1'. Error en escriure '%1'. @@ -5491,81 +5545,76 @@ Vols sobreescriure-la? ExpressionParser - + Invalid memory access size %d. Mida d'accés a la memòria %d invàlid. - + Invalid memory access (unaligned). Accés invàlid a la memòria (desalineat). - - + + Token too long. Identificació molt llarga. - + Invalid number "%s". Nombre invàlid "%s". - + Invalid symbol "%s". Símbol invàlid "%s". - + Invalid operator at "%s". Operador invàlid a "%s". - + Closing parenthesis without opening one. Hi ha un parèntesis de tancament sense cap parèntesis anterior. - + Closing bracket without opening one. Tancant un parèntesis sense haver-ne obert un. - + Parenthesis not closed. Parèntesis sense tancar. - + Not enough arguments. No hi ha suficients arguments. - + Invalid memsize operator. Operador de mida de memòria invàlid. - + Division by zero. Divisió per zero. - + Modulo by zero. Mòdul per zero. - + Invalid tertiary operator. Operador terciari invàlid. - - - Invalid expression. - Expressió invàlida. - FileOperations @@ -5699,342 +5748,342 @@ URL introduïda: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. No es pot trobar cap dispositiu de CD o DVD. Comprova que has connectat correctament el lector i que tens permisos per accedir-hi. - + Use Global Setting Utilitzar configuració global - + Automatic binding failed, no devices are available. Error en l'assignació automàtica, no s'han trobat dispositius disponibles. - + Game title copied to clipboard. Títol del joc copiat al porta-retalls. - + Game serial copied to clipboard. Número de sèrie del joc copiat al porta-retalls. - + Game CRC copied to clipboard. Joc CRC copiat al porta-retalls. - + Game type copied to clipboard. Tipus de joc copiat al porta-retalls. - + Game region copied to clipboard. Regió del joc copiada al porta-retalls. - + Game compatibility copied to clipboard. S'ha copiat la compatibilitat del joc al porta-retalls. - + Game path copied to clipboard. Carpeta del joc copiada al porta-retalls. - + Controller settings reset to default. S'ha reiniciat la configuració del controlador. - + No input profiles available. No hi ha perfils d'entrada disponibles. - + Create New... Crear nou... - + Enter the name of the input profile you wish to create. Escriu el nom del perfil d'entrada que vols crear. - + Are you sure you want to restore the default settings? Any preferences will be lost. Estàs segur que vols restablir a la configuració predeterminada? Es perdran tots els canvis. - + Settings reset to defaults. Configuració reiniciada als valors per defecte. - + No save present in this slot. No hi ha estat desat en aquesta ranura. - + No save states found. No s'ha trobat cap estat desat. - + Failed to delete save state. Error en esborrar un estat desat. - + Failed to copy text to clipboard. Error al copiar al porta-retalls. - + This game has no achievements. Aquest joc no té assoliments. - + This game has no leaderboards. Aquest joc no té taules de classificació. - + Reset System Reiniciar el sistema - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? El mode extrem no s'activarà fins que es reiniciï el sistema. Vol reiniciar el sistema ara? - + Launch a game from images scanned from your game directories. Executa un joc des de les imatges escanejades de la carpeta de jocs. - + Launch a game by selecting a file/disc image. Executa un joc seleccionant un fitxer o una imatge de disc. - + Start the console without any disc inserted. Inicia la consola sense cap disc inserit. - + Start a game from a disc in your PC's DVD drive. Executa un joc des d'un disc en el teu lector de DVD. - + No Binding Sense assignar - + Setting %s binding %s. %s: configurant associacions per %s. - + Push a controller button or axis now. Pressiona ara un botó o un joystick del controlador. - + Timing out in %.0f seconds... Esperant en %.0f segons... - + Unknown Desconegut - + OK OK - + Select Device Seleccioneu un dispositiu - + Details Detalls - + Options Opcions - + Copies the current global settings to this game. Copia la configuració global actual per aquest joc. - + Clears all settings set for this game. Elimina tota configuració específica per aquest joc. - + Behaviour Comportament - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Bloqueja l'activació de l'estalvi de pantalla o que l'equip entri en suspensió quan l'emulador s'està executant. - + Shows the game you are currently playing as part of your profile on Discord. Mostra al teu perfil de Discord, el nom del joc que estàs jugant. - + Pauses the emulator when a game is started. Fer pausa a l'emulador quan s'inicia el joc. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Fer pausa a l'emulador quan es minimitza la pantalla o quan es canvia a una altra aplicació, i torna a activar l'emulador en tornar. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Fa pausa a l'emulador quan obres el menú ràpid, i torna al joc al tancar el menú. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determina si es mostrarà una finestra o no per confirmar l'aturada de l'emulador en clicar la tecla d'accés ràpid corresponent. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Desa automàticament l'estat de l'emulador quan s'atura o se surt. Pots tornar directament al mateix punt en tornar a iniciar l'emulador. - + Uses a light coloured theme instead of the default dark theme. Utilitza un tema clar en comptes d'un tema fosc. - + Game Display Visualització del joc - + Switches between full screen and windowed when the window is double-clicked. Canvia entre pantalla completa i finestra quan es fa doble clic a la finestra. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Amaga el ratolí quan l'emulador està en mode de pantalla completa. - + Determines how large the on-screen messages and monitor are. Determina la mida del missatges en pantalla en relació al monitor. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Mostra missatges en pantalla en algunes situacions, com en crear o carregar estats desats, capturar la pantalla, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Mostra la velocitat actual d'emulació del sistema a la part superior dreta de la pantalla com un percentatge. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Mostra el nombre de fotogrames de vídeo (o sincronització vertical) per segon que mostra el sistema a la part superior dreta de la pantalla. - + Shows the CPU usage based on threads in the top-right corner of the display. Mostra l'ús de la CPU basat en els fils a la part superior dreta de la pantalla. - + Shows the host's GPU usage in the top-right corner of the display. Mostra l'ús de la GPU de l'equip a la part superior dreta de la pantalla. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Mostra estadístiques sobre GS (primitives, ús de funcions) a la part superior dreta de la pantalla. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Mostra els indicadors quan s'activi el mode d'avançament ràpid, pausa o altres estats anòmals. - + Shows the current configuration in the bottom-right corner of the display. Mostra la configuració actual a la part inferior dreta de la pantalla. - + Shows the current controller state of the system in the bottom-left corner of the display. Mostra l'estat actual del controlador en el sistema en la part inferior esquerre de la pantalla. - + Displays warnings when settings are enabled which may break games. Mostrar advertències si la configuració pot causar problemes en alguns jocs. - + Resets configuration to defaults (excluding controller settings). Reinicia la configuració a la configuració predeterminada (menys la configuració del controlador). - + Changes the BIOS image used to start future sessions. Canvia la imatge de BIOS utilitzada per iniciar futures sessions. - + Automatic Automàtic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Per defecte - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automàticament canvia a pantalla completa quan s'inicia el joc. - + On-Screen Display Presentació en pantalla - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Mostra la resolució del joc a la part superior dreta de la pantalla. - + BIOS Configuration Configuració de la BIOS - + BIOS Selection Selecció de BIOS - + Options and Patches Opcions i pedaços - + Skips the intro screen, and bypasses region checks. Salta la pantalla d'introducció, i omet les comprovacions de regió. - + Speed Control Control de velocitat - + Normal Speed Velocitat normal - + Sets the speed when running without fast forwarding. Estableix la velocitat d'execució quan no es prem la tecla de càmera ràpida. - + Fast Forward Speed Velocitat de càmera ràpida - + Sets the speed when using the fast forward hotkey. Estableix la velocitat d'execució quan es prem la tecla de càmera ràpida. - + Slow Motion Speed Velocitat de càmera lenta - + Sets the speed when using the slow motion hotkey. Estableix la velocitat d'execució quan es prem la tecla de càmera lenta. - + System Settings Configuració del Sistema - + EE Cycle Rate Freqüència de cicles EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Disminueix o augmenta el rellotge de la CPU emulant Emotion Engine. - + EE Cycle Skipping Omissió de cicles del EE - + Enable MTVU (Multi-Threaded VU1) Habilitar MTVU (VU1 multifil) - + Enable Instant VU1 Habilitar instantània VU1 - + Enable Cheats Habilitar trampes - + Enables loading cheats from pnach files. Permet carregar trucs des de arxius pnach. - + Enable Host Filesystem Habilitar sistema d'arxius de l'equip - + Enables access to files from the host: namespace in the virtual machine. Activa l'accés als fitxers des de l'equip: namespace a la màquina virtual. - + Enable Fast CDVD Habilitar CDVD ràpid - + Fast disc access, less loading times. Not recommended. Accés ràpid al disc, menys temps de càrrega. No recomanat. - + Frame Pacing/Latency Control Ritme dels fotogrames / Control de latència - + Maximum Frame Latency Latència Màxima - + Sets the number of frames which can be queued. Selecciona el nombre de fotogrames que poden estar a la cua. - + Optimal Frame Pacing Ritme d'optimització de fotogrames - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Sincronitza els subprocessos del EE i del GS en finalitzar cada fotograma. Redueix la latència d'entrada, però augmenta els requisits d'entrada. - + Speeds up emulation so that the guest refresh rate matches the host. Augmenta la velocitat perquè la freqüència d'actualització de l'emulació coincideixi amb la freqüència de l'equip. - + Renderer Renderitzador - + Selects the API used to render the emulated GS. Seleccionar la API utilitzada per renderitzar l'emulació del GS. - + Synchronizes frame presentation with host refresh. Sincronitza la presentació de fotogrames amb el ritme de refresc de l'equip. - + Display Pantalla - + Aspect Ratio Relació d'aspecte - + Selects the aspect ratio to display the game content at. Selecciona la relació d'aspecte amb la qual es mostrarà el joc. - + FMV Aspect Ratio Override Reemplaçar relació d'aspecte per a vídeos FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Selecciona la relació d'aspecte a mostrar quan es detecti la reproducció d'un vídeo FMV. - + Deinterlacing Desentrellaçar - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selecciona l'algoritme utilitzat per convertir la sortida entrellaçada de PS2 en progressiva. - + Screenshot Size Mida de la captura de pantalla - + Determines the resolution at which screenshots will be saved. Determina la resolució a la qual les captures de pantalla es desen. - + Screenshot Format Format de captura de pantalla - + Selects the format which will be used to save screenshots. Selecciona el format que s'utilitza per desar les captures de pantalla. - + Screenshot Quality Qualitat de la captura de pantalla - + Selects the quality at which screenshots will be compressed. Selecciona la qualitat de compressió de les captures de pantalla. - + Vertical Stretch Estirament vertical - + Increases or decreases the virtual picture size vertically. Augmenta o disminueix la mida de la imatge virtual verticalment. - + Crop Escapça - + Crops the image, while respecting aspect ratio. Retalla la imatge, respectant la relació d'aspecte. - + %dpx %d px - - Enable Widescreen Patches - Aplicar correccions de pantalla ampla - - - - Enables loading widescreen patches from pnach files. - Permet carregar correccions de pantalla panoràmica des d'arxius pnach. - - - - Enable No-Interlacing Patches - Habilitar pedaços per desactivar l'entrellaçament - - - - Enables loading no-interlacing patches from pnach files. - Permet carregar pedaços per desactivar l'entrellaçament a partir d'arxius pnach. - - - + Bilinear Upscaling Escalat bilineal - + Smooths out the image when upscaling the console to the screen. Suavitza la imatge de la consola en escalar la imatge. - + Integer Upscaling Escalat enter - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Reomple l'àrea de visualització perquè la relació entre els píxels de l'equip i de la consola sigui un nombre enter. Pot millorar la nitidesa en alguns jocs 2D. - + Screen Offsets Desplaçaments de pantalla - + Enables PCRTC Offsets which position the screen as the game requests. Activa les compensacions del PCRTC, que posicions la pantalla segons els requeriments del joc. - + Show Overscan Mostrar Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Permet mostrar l'àrea de sobrecarregat en els jocs que facilita mostrar imatges més enllà de la pantalla. - + Anti-Blur Filtre nitidesa - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Activa les correccions antiboira. Menys precís a l'hora de renderitzar que la PS2, però farà que els jocs es vegin més nítids. - + Rendering Renderització - + Internal Resolution Resolució interna - + Multiplies the render resolution by the specified factor (upscaling). Multiplica la resolució de renderització per un valor específic (augment d'escala). - + Mipmapping Mipmapping - + Bilinear Filtering Filtre bilineal - + Selects where bilinear filtering is utilized when rendering textures. Selecciona quan el filtratge bilineal està en ús quan es renderitzen textures. - + Trilinear Filtering Filtre trilineal - + Selects where trilinear filtering is utilized when rendering textures. Selecciona com s'aplica el filtratge trilineal per renderitzar textures. - + Anisotropic Filtering Filtre anisotròpic - + Dithering Tramat - + Selects the type of dithering applies when the game requests it. Selecciona el tipus de tramat que s'aplicarà quan el joc ho necessiti. - + Blending Accuracy Precisió de la mescla - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determina el nivell de precisió en emular modes de mescla que no siguin compatibles amb la targeta gràfica de l'equip. - + Texture Preloading Precàrrega de textures - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Actualitza totes les textures a la GPU, sense limitar-se a les regions utilitzades. Pot millorar el rendiment en alguns jocs. - + Software Rendering Threads Subprocessos per al renderitzat per programari - + Number of threads to use in addition to the main GS thread for rasterization. Nombre de fils a utilitzar en addició al fil principal GS per rasteritzar. - + Auto Flush (Software) Buidat automàtic (Programari) - + Force a primitive flush when a framebuffer is also an input texture. Força un buidatge de les primitives quan la memòria intermèdia de fotogrames també sigui una textura. - + Edge AA (AA1) Vora AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Habilita l'emulació del sistema de suavitzat de les vores del GS (AA1). - + Enables emulation of the GS's texture mipmapping. Activa l'emulació del sistema de volcat de textures del GS. - + The selected input profile will be used for this game. El perfil d'entrada seleccionat serà utilitzat per aquest joc. - + Shared Compartit - + Input Profile Perfil d'entrada - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostar el selector de l'estat desat en canviar d'estat en comptes de mostrar una notificació. + + + Shows the current PCSX2 version on the top-right corner of the display. Mostra la versió actual de PCSX2 a la part superior dreta de la pantalla. - + Shows the currently active input recording status. Mostrar l'estat actual de la captura d'entrada. - + Shows the currently active video capture status. Mostrar l'estat actual de la captura de vídeo. - + Shows a visual history of frame times in the upper-left corner of the display. Mostra un historial visual de la duració dels fotogrames a la part superior esquerre de la pantalla. - + Shows the current system hardware information on the OSD. Mostra informació del maquinari actual en els missatges en pantalla. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Assigna fils d'emulació a altres nuclis de la CPU per millorar el rendiment. - + + Enable Widescreen Patches + Activa les correccions de pantalla panoràmica + + + + Enables loading widescreen patches from pnach files. + Permet carregar correccions de pantalla panoràmica des d'arxius pnach. + + + + Enable No-Interlacing Patches + Habilitar pedaços per desactivar l'entrellaçament + + + + Enables loading no-interlacing patches from pnach files. + Permet carregar pedaços per desactivar l'entrellaçament a partir d'arxius pnach. + + + Hardware Fixes Correccions de maquinari - + Manual Hardware Fixes Correcions manuals de maquinari - + Disables automatic hardware fixes, allowing you to set fixes manually. Desactiva automàticament les correccions de maquinari, permeten que es corregeixi manualment. - + CPU Sprite Render Size Mida de renderitzat de sprites a la CPU - + Uses software renderer to draw texture decompression-like sprites. Utilitza el renderitzador de programari per dibuixar textures descomprimides com sprites. - + CPU Sprite Render Level Mida de renderitzat de sprites a la CPU - + Determines filter level for CPU sprite render. Determina el nivell del filtre de renderitzat a la CPU. - + Software CLUT Render Programari de renderització CLUT - + Uses software renderer to draw texture CLUT points/sprites. Utilitza el renderitzador de programari per dibuixar els punts o sprites que utilitzin textures CLUT. - + Skip Draw Start Saltar inici de dibuix - + Object range to skip drawing. Indicar el rang d'objectes que s'ignoraran. - + Skip Draw End Ometre fi de dibuix - + Auto Flush (Hardware) Buidat automàtic (Maquinari) - + CPU Framebuffer Conversion Conversió de la memòria intermedia de fotogrames a la CPU - + Disable Depth Conversion Deshabilitar la conversió de profunditat - + Disable Safe Features Deshabilitar funcionalitats segures - + This option disables multiple safe features. Aquesta opció desactiva diferents funcionalitats segures. - + This option disables game-specific render fixes. Aquesta opció desactiva les correccions de renderitzat específiques de cada joc. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Transmet les dades del GS quan es renderitza un nou fotograma per reproduir alguns efectes amb fidelitat. - + Disable Partial Invalidation Deshabilitar invalidació parcial - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Elimina la memòria intermèdia de textures quan hi ha encreuaments, en comptes d'eliminar-la només a les zones encreuades. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Permet a la memòria cau reutilitzar com a textura d'entrada, la part inferior d'un conjunt de fotogrames. - + Read Targets When Closing Llegir objectius al tancar - + Flushes all targets in the texture cache back to local memory when shutting down. Esborra la memòria cau de textures a la memòria local en apagar la màquina virtual. - + Estimate Texture Region Calcular les regions de les textures - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Intenta reduir la mida de la textura quan els jocs no ho estableixen per si mateixos (per exemple, jocs que utilitzin el motor gràfic Snowblind). - + GPU Palette Conversion Conversió de paletes a la GPU - + Upscaling Fixes Correccions d'escalat - + Adjusts vertices relative to upscaling. Ajustar els vèrtexs en funció de l'escalat. - + Native Scaling Escalat nadiu - + Attempt to do rescaling at native resolution. Intenta redimensionar a resolució nativa. - + Round Sprite Arrodonir sprites - + Adjusts sprite coordinates. Ajustos sobre les coordenades dels sprites. - + Bilinear Upscale Escalat bilineal - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Pot suavitzar les textures en aplicar un filtre bilineal després d'escalar. Per exemple: centelleig del sol a Brave. - + Adjusts target texture offsets. Ajusta la compensació de les textures objectiu. - + Align Sprite Alinear sprites - + Fixes issues with upscaling (vertical lines) in some games. Soluciona problemes amb els augments d'escala (línies verticals) en alguns jocs. - + Merge Sprite Fusionar sprites - + Replaces multiple post-processing sprites with a larger single sprite. Canvia l'ús de fragments de sprites en el postprocessament per un únic sprite més gran. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Redueix la precisió del GS per evitar els buits entre píxels en escalar. Corregeix el text en els jocs Wild Arms. - + Unscaled Palette Texture Draws Dibuixar textures de les paletes sense escalar - + Can fix some broken effects which rely on pixel perfect precision. Pot solucionar alguns problemes en jocs que necessitin precisió exacta. - + Texture Replacement Reemplaçament de textures - + Load Textures Carregar textures - + Loads replacement textures where available and user-provided. Carrega textures de recanvi si estan disponibles. - + Asynchronous Texture Loading Càrrega de textures asincrònica - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carrega les textures en un subprocés de treball, redueix els tirons en activar els canvis de textures. - + Precache Replacements Reemplaçar precàrregues - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Precarrega totes les textures personalitzades en memòria. No és necessari si la càrrega asincrònica està activada. - + Replacements Directory Directori de recanvis - + Folders Carpetes - + Texture Dumping Abocant textures - + Dump Textures Abocar textures - + Dump Mipmaps Volcar «mipmaps» - + Includes mipmaps when dumping textures. Incloure mipmaps si s'aboquen les textures. - + Dump FMV Textures Abocar textures FMV - + Allows texture dumping when FMVs are active. You should not enable this. Permet l'abocament de textures durant la reproducció de vídeos FMV. No es recomana activar aquest opció. - + Post-Processing Postprocessament - + FXAA FXAA - + Enables FXAA post-processing shader. Activa l'ombrejador de postprocessat FXAA. - + Contrast Adaptive Sharpening Realçament per contrast adaptatiu (CAS) - + Enables FidelityFX Contrast Adaptive Sharpening. Activa el realçament per contrast adaptatiu FidelityFX. - + CAS Sharpness Nitidesa CAS - + Determines the intensity the sharpening effect in CAS post-processing. Determina la intensitat de l'efecte de realçat en el postprocessament CAS. - + Filters Filtres - + Shade Boost Millora del to - + Enables brightness/contrast/saturation adjustment. Activa l'ajustament de brillantor/contrast/saturació. - + Shade Boost Brightness Millorar la brillantor - + Adjusts brightness. 50 is normal. Ajustar brillantor. 50 és normal. - + Shade Boost Contrast Millorar contrast - + Adjusts contrast. 50 is normal. Ajusta el contrast. 50 és normal. - + Shade Boost Saturation Millorar la saturació - + Adjusts saturation. 50 is normal. Ajustar saturació. 50 és normal. - + TV Shaders TV Shaders - + Advanced Avançat - + Skip Presenting Duplicate Frames Ometre fotogrames duplicats - + Extended Upscaling Multipliers Estendre multiplicadors d'escalat - + Displays additional, very high upscaling multipliers dependent on GPU capability. Mostra multiplicadors d'escalat més alts que depenen de les prestacions de la GPU. - + Hardware Download Mode Mode de descàrrega de maquinari - + Changes synchronization behavior for GS downloads. Canvia el comportament de la sincronització de les descàrregues del GS. - + Allow Exclusive Fullscreen Permetre pantalla completa exclusivament - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Sobreescriu l'heurística del controlador per activar el mode de pantalla completa exclusiva, gir directe o escaneig. - + Override Texture Barriers Invalidar barreres de textures - + Forces texture barrier functionality to the specified value. Força la funcionalitat de les barreres de les textures a un valor específic. - + GS Dump Compression Compressió dels abocats del GS - + Sets the compression algorithm for GS dumps. Selecciona l'algoritme de compressió per abocaments del GS. - + Disable Framebuffer Fetch Deshabilitar accés a la memòria intermèdia de fotogrames - + Prevents the usage of framebuffer fetch when supported by host GPU. Impedeix l'accés de la memòria intermèdia de fotogrames si la GPU és compatible amb aquesta característica. - + Disable Shader Cache Desactivar la memòria intermèdia de shaders - + Prevents the loading and saving of shaders/pipelines to disk. Impedeix que es carreguin o es desin els ombrejadors al disc. - + Disable Vertex Shader Expand Deshabilitar l'expansió dels sombrejadors de vèrtexs - + Falls back to the CPU for expanding sprites/lines. Utilitza la CPU com a suport per l'expansió de sprites/línies. - + Changes when SPU samples are generated relative to system emulation. Canvia el moment en què es generen les mostres de la SPU amb relació a l'emulació del sistema. - + %d ms %d ms - + Settings and Operations Configuració i operacions - + Creates a new memory card file or folder. Crea un nou fitxer o carpeta de targeta de memòria. - + Simulates a larger memory card by filtering saves only to the current game. Simula una targeta de memòria més gran, filtrant només estats desats pel joc actual. - + If not set, this card will be considered unplugged. En desactivar aquí, aquesta targeta es considerarà desconnectada. - + The selected memory card image will be used for this slot. Selecciona la targeta de memòria que s'utilitzarà en aquesta ranura. - + Enable/Disable the Player LED on DualSense controllers. Activa/Desactiva el llum LED de jugador dels controladors DualSense. - + Trigger Disparador - + Toggles the macro when the button is pressed, instead of held. Activa la macro en polsar el botó en compte de mantenir-lo polsat. - + Savestate Estatdesat - + Compression Method Mètode de compressió - + Sets the compression algorithm for savestate. Establex l'algoritme de compressió dels estats desats. - + Compression Level Nivell de compressió - + Sets the compression level for savestate. Estableix el nivell de compressió dels estats desats. - + Version: %s Versió: %s - + {:%H:%M} {:%H:%M} - + Slot {} Ranura {} - + 1.25x Native (~450px) 1.25x Natiu (~450 px) - + 1.5x Native (~540px) 1.5x Natiu (~540 px) - + 1.75x Native (~630px) 1.75x Natiu (~630 px) - + 2x Native (~720px/HD) 2x Natiu (~720 px/HD) - + 2.5x Native (~900px/HD+) 2.5x Natiu (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Natiu (~1080 px/FHD) - + 3.5x Native (~1260px) 3.5x Natiu (~1260 px) - + 4x Native (~1440px/QHD) 4x Natiu (~1440 px/QHD) - + 5x Native (~1800px/QHD+) 5x Natiu (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Natiu (~2160 px/4K UHD) - + 7x Native (~2520px) 7x Natiu(~2520 px) - + 8x Native (~2880px/5K UHD) 8x Natiu (~2880 px/5K UHD) - + 9x Native (~3240px) 9x Natiu(~3240 px) - + 10x Native (~3600px/6K UHD) 10x Natiu (~3600px/6K UHD) - + 11x Native (~3960px) 11x Natiu (~3960 px) - + 12x Native (~4320px/8K UHD) 12x Natiu (~4320px/8K UHD) - + WebP WebP - + Aggressive Agressiu - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Baix (Ràpid) - + Medium (Recommended) Mig (Recomanat) - + Very High (Slow, Not Recommended) Molt alt (Lent, no recomanat) - + Change Selection Canviar selecció - + Select Seleccionar - + Parent Directory Carpeta principal - + Enter Value Introduïu el valor - + About En quant a - + Toggle Fullscreen Commuta la pantalla completa - + Navigate Navegar - + Load Global State Carrega estat global - + Change Page Canvia la pàgina - + Return To Game Tornar al joc - + Select State Seleccionar estat - + Select Game Seleccionar joc - + Change View Canvia la visualització - + Launch Options Opcions d'Inici - + Create Save State Backups Crear còpies de seguretat dels estats desats - + Show PCSX2 Version Mostrar versió de PCSX2 - + Show Input Recording Status Mostrar l'estat de la gravació d'entrada - + Show Video Capture Status Mostrar estat de la captura de vídeo - + Show Frame Times Mostrar duració de fotogrames - + Show Hardware Info Mostrar informació del maquinari - + Create Memory Card Crear targeta de memòria - + Configuration Configuració - + Start Game Iniciar Joc - + Launch a game from a file, disc, or starts the console without any disc inserted. Executa un joc des d'un fitxer, disc, o inicia la consola sense que hi hagi cap disc inserit. - + Changes settings for the application. Canvia la configuració per l'aplicació. - + Return to desktop mode, or exit the application. Torna al mode escriptori, o bé, surt de l'aplicació. - + Back Torna - + Return to the previous menu. Retorna al menú previ. - + Exit PCSX2 Sortir de PCSX2 - + Completely exits the application, returning you to your desktop. Surt completament de l'aplicació, tornant a l'escriptori. - + Desktop Mode Mode escriptori - + Exits Big Picture mode, returning to the desktop interface. Surt del mode Big Picture, tornant a la interfície d'escriptori. - + Resets all configuration to defaults (including bindings). Reinicia totes les configuracions als valors predeterminats (incloent-hi les assignacions). - + Replaces these settings with a previously saved input profile. Reemplaça aquesta configuració amb el perfil anteriorment desat. - + Stores the current settings to an input profile. Desa la configuració actual en un perfil d'entrada. - + Input Sources Fonts d'entrada - + The SDL input source supports most controllers. La font d'entrada SDL admet la majoria dels controladors. - + Provides vibration and LED control support over Bluetooth. Proveeix vibració i control sobre el llum LED quan s'utilitza Bluetooth. - + Allow SDL to use raw access to input devices. Permet a SDL accedir a les dades sense processar dels dispositius d'entrada. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. La font XInput dona suport per controladors Xbox 360/Xbox One/Xbox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Habilita tres ports de controlador extres. No és compatible en tots els jocs. - + Attempts to map the selected port to a chosen controller. Intenta assignar a un port o a un controlador concret. - + Determines how much pressure is simulated when macro is active. Determina quanta pressió simulada quan s'activa una macro. - + Determines the pressure required to activate the macro. Determina la pressió necessària per activar la macro. - + Toggle every %d frames Alternar entre %d fotogrames - + Clears all bindings for this USB controller. Neteja totes les assignacions per aquest controlador USB. - + Data Save Locations Ubicació de les dades desades - + Show Advanced Settings Mostra opcions avançades - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Canviar aquestes opcions pot causar que el joc deixi de ser funcional. Modificar sota el seu propi risc. L'equip de PCSX2 no proveirà suport de configuracions si s'han modificat aquestes mateixes. - + Logging S'està iniciant la sessió - + System Console Consola de sistema - + Writes log messages to the system console (console window/standard output). Escriu missatges del registre a la consola del sistema (finestra del sistema/sortida estàndard). - + File Logging Registre en arxiu - + Writes log messages to emulog.txt. Escriu missatges de registre a emulog.txt. - + Verbose Logging Registre més detallat - + Writes dev log messages to log sinks. Escriu missatges de registre pels desenvolupadors en el registre. - + Log Timestamps Marques de temps en els registres - + Writes timestamps alongside log messages. Escriu marques de temps al costat dels missatges de registre. - + EE Console Consola EE - + Writes debug messages from the game's EE code to the console. Escriu missatges de depuració des del joc al codi EE de la consola. - + IOP Console Consola IOP - + Writes debug messages from the game's IOP code to the console. Escriu missatges de depuració des del joc al codi IOP de la consola. - + CDVD Verbose Reads Lectures detallades del CDVD - + Logs disc reads from games. Registra les lesctures a disc dels jocs. - + Emotion Engine Emotion Engine - + Rounding Mode Mode d'arrodoniment - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determina com s'arrodoneix el resultat de les operacions en punt flotant. Alguns jocs necessiten valors específics. - + Division Rounding Mode Mode d'arrodoniment de divisions - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determina com s'arrodoneix el resultat de les divisions en punt flotant. Alguns jocs necessiten valors específics. - + Clamping Mode Mode de limitació - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determina com es gestionaran els valors en punt flotant que estiguin fora del llindar. Alguns jocs necessiten un valor concret. - + Enable EE Recompiler Activar el recompilador del EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Realitza una traducció binària en temps real de codi màquina MIPS-IV de 64 bits a codi natiu. - + Enable EE Cache Habilitar memòria intermèdia EE - + Enables simulation of the EE's cache. Slow. Habilita la simulació de la memòria intermèdia EE. Lent. - + Enable INTC Spin Detection Detecció de valors INTC - + Huge speedup for some games, with almost no compatibility side effects. Millora extraordinària per alguns jocs sense quasi cap efecte advers en la compatibilitat. - + Enable Wait Loop Detection Detecció de bucles en espera - + Moderate speedup for some games, with no known side effects. Millora moderadament per alguns jocs i no es coneixen efectes secundaris. - + Enable Fast Memory Access Habilitar accés de la memòria ràpida - + Uses backpatching to avoid register flushing on every memory access. Utilitza la tècnica backpatching per evitar que es buidin els registres en cada accés a la memòria. - + Vector Units Unitats vectorials - + VU0 Rounding Mode Mode d'arrodoniment VU0 - + VU0 Clamping Mode Mode de limitació de VU0 - + VU1 Rounding Mode Mode d'arrodoniment VU1 - + VU1 Clamping Mode Mode de limitació de VU1 - + Enable VU0 Recompiler (Micro Mode) Activar Recompilador VU0 (Mode Micro) - + New Vector Unit recompiler with much improved compatibility. Recommended. Un nou compilador de les Vector Units amb una compatibilitat millorada. Opció recomanada. - + Enable VU1 Recompiler Activa el recompilador del VU1 - + Enable VU Flag Optimization Habilitar l'optimització dels indicadors de les VU - + Good speedup and high compatibility, may cause graphical errors. Millora bastant la velocitat i és compatible amb gran part dels jocs, però pot provocar alguns errors gràfics. - + I/O Processor Processador E/S - + Enable IOP Recompiler Activar el recompilador del IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Realitza una traducció binària en temps real de codi màquina MIPS-I de 32 bits a codi natiu. - + Graphics Gràfics - + Use Debug Device Utilitzar dispositiu de depuració - + Settings Configuració - + No cheats are available for this game. No hi ha trucs disponibles per aquest joc. - + Cheat Codes Codis de truc - + No patches are available for this game. No hi ha pedaços disponibles per aquest joc. - + Game Patches Pedaços dels jocs - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activar trucs pot causar comportaments estranys, sortides de l'emulador, bloquejos o estats desats trencats. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activar correccions al joc pot causar comportaments estranys, sortides de l'emulador, bloquejos o estats desats trencats. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Utilitza les correccions sota la teva responsabilitat, l'equip de PCSX2 no dona suport als usuaris que han activat correccions als jocs. - + Game Fixes Correccions del joc - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Les correccions del joc no haurien de canviar-se si no saps perfectament que fa cada opció i quines conseqüències té. - + FPU Multiply Hack Correcció de multiplicació de FPU - + For Tales of Destiny. Per a Tales of Destiny. - + Preload TLB Hack Correcció de precàrrega del TLB - + Needed for some games with complex FMV rendering. Necessari per a certs jocs amb renderitzacions FMV complexes. - + Skip MPEG Hack Saltar correcció MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. Salta vídeos/FMV en els jocs per evitar es pengi o bloquegi l'ordinador. - + OPH Flag Hack Correcció de l'indicador OPH - + EE Timing Hack Correcció de la sincronització del EE - + Instant DMA Hack Correcció de DMA instantani - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Afecta als següent jocs: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Per la interfície SOCOM 2 i els bloquejos en carregar en Spy Hunter. - + VU Add Hack Correcció de les sumes de les VU - + Full VU0 Synchronization Sincronització VU0 total - + Forces tight VU0 sync on every COP2 instruction. Forçar una sincronització estricta de la VU0 per cada instrucció COP2. - + VU Overflow Hack Correcció de desbordament de les VU - + To check for possible float overflows (Superman Returns). Comprovar els possibles desbordaments en valors de coma flotant (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Utilitzar sincronització precisa per VU XGKicks (més lent). - + Load State Carrega un estat - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Fes que l'emulador Emotion Engine se salti cicles. Ajuda a un grup petit de jocs com SOTC: En la majoria de casos és dolent pel rendiment. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Acostuma a accelerar CPU amb 4 o més nuclis. És segur per la majoria de jocs, però alguns són incompatibles i podrien bloquejar-se. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Executa VU1 de manera instantània. Dona un augment petit de la velocitat en alguns jocs. És segur que la major part dels jocs, però uns pocs jocs poden presentar errors gràfics. - + Disable the support of depth buffers in the texture cache. Desactiva el suport per memòries intermèdies en les textures. - + Disable Render Fixes Desactivar correccions de renderitzat - + Preload Frame Data Precarrega dades del fotograma - + Texture Inside RT Textures dins de RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. En activar aquesta opció, la GPU convertirà les textures en mapes de colors. Si no, ho farà la CPU. Compensa la GPU i la CPU. - + Half Pixel Offset Desplaçament de mig píxel - + Texture Offset X Compensació de textura X - + Texture Offset Y Compensació de textura Y - + Dumps replaceable textures to disk. Will reduce performance. Aboca les textures al disc. El rendiment es redueix. - + Applies a shader which replicates the visual effects of different styles of television set. Aplica un ombrejador que simula els efectes visuals de diferents estils d'aparells de televisió. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Omet els fotogrames que no canvien en els jocs a 25/30 fotogrames per segon. Pot millorar la velocitat, però també pot augmentar el retard en l'entrada o empitjorar el ritme de fotogrames per segon. - + Enables API-level validation of graphics commands. Habilita la validació a nivell de llibreria API de les comandes de gràfics. - + Use Software Renderer For FMVs Utilitzar renderitzadors de programari per FMVs - + To avoid TLB miss on Goemon. Per evitar errors del TLB en els jocs de Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Correcció de sincronització d'ús general. Afecta els següents jocs: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Ideal per a problemes d'emulació en memòria cau. Afecta els següents jocs: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Afecta els següents jocs: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emular FIFO del GIF - + Correct but slower. Known to affect the following games: Fifa Street 2. Més correcte, però més lent. Afecta als següents jocs: Fifa Street 2. - + DMA Busy Hack Correcció de la saturació de DMA - + Delay VIF1 Stalls Retard en les parades VIF1 - + Emulate VIF FIFO Emular FIFO del VIF - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simula les lectures avançades FIFO del V1F1. Afecta els següents jocs: Test Drive Unlimited, Transformers. - + VU I Bit Hack Correcció del primer bit de les VU - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Evita la recompilació constant en alguns jocs. Afecta els següents jocs: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Per jocs de Tri-Ace: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Executa en segon pla. Evita problemes de sincronització en llegir o escriure en els registres de les VU. - + VU XGKick Sync Sincronització de XGKick de les VU - + Force Blit Internal FPS Detection Forçar la detecció interna de fotogrames per segon amb el Blit - + Save State Desa l'estat - + Load Resume State Carregar l'estat de reinici - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Vols carregar aquest estat desat? - + Region: Regió: - + Compatibility: Compatibilitat: - + No Game Selected Cap joc seleccionat - + Search Directories Directori de cerques - + Adds a new directory to the game search list. Afegeix un nou directori a la llista de cerques. - + Scanning Subdirectories Escanejant subdirectoris - + Not Scanning Subdirectories No escanegis subdirectoris - + List Settings Configuració de la llista - + Sets which view the game list will open to. Selecciona la vista inicial de la llista de jocs. - + Determines which field the game list will be sorted by. Determina per quin camp s'ordena la llista de jocs. - + Reverses the game list sort order from the default (usually ascending to descending). Inverteix l'ordre predeterminat de la llista de jocs (normalment d'ascendent a descendent). - + Cover Settings Opcions de les caràtules - + Downloads covers from a user-specified URL template. Descarrega caràtules utilitzant una plantilla URL especificada per l'usuari. - + Operations Operacions - + Selects where anisotropic filtering is utilized when rendering textures. Selecciona com s'aplicarà el filtratge anisotròpic per a renderitzar textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Utilitza un mètode alternatiu per calcular els fotogrames per segon intern i evitar falses lectures en alguns jocs. - + Identifies any new files added to the game directories. Identifica qualsevol nou arxiu afegit a les carpetes de jocs. - + Forces a full rescan of all games previously identified. Forçar un escaneig complet de tots els jocs prèviament identificats. - + Download Covers Descarregar caràtules - + About PCSX2 Sobre PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 és un emulador de PlayStation 2 (PS2) gratuït i de codi obert. El seu propòsit és emular el maquinari de la PS2', fent ús d'una combinació de MIPS, Intèrprets de CPU, compiladors i una Màquina Virtual que gestiona els estats del maquinari i la memòria del sistema PS2. Això et permet jugar jocs per PS2 en el teu ordinador, amb moltes funcions i beneficis addicionals. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 i PS2 són marques comercials registrades de Sony Interactive Entertainment. Aquesta aplicació no està afiliada en cap manera amb Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Si està activada i amb la sessió iniciada, PCSX2 escanejarà assoliments al iniciar. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. El mode "Repte" per assoliments, incloent-hi el seguiment de la taula de classificació. Deshabilita desar l'estat, les trampes i les funcions de desacceleració. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Mostra missatges emergents en certes situacions, com en desbloquejar assoliments i enviar puntuacions a les taules de classificació. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Reprodueix efectes de so en certes situacions, com en desbloquejar assoliments i enviar puntuacions a les taules de classificació. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Mostra icones a la part inferior dret de la pantalla quan s'ha aconseguit un assoliment. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. En activar aquesta opció. PCSX2 mostrarà assoliments de col·leccions no oficials. Tingui present que RetroAchievements no fa un seguiment d'aquests assoliments, per tant, es desbloquejaran constantment. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. En activar aquesta opció, PCSX2 assumirà que tots els assoliments estan bloquejats i no enviarà cap senyal de desbloqueig al servidor. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Fes pausa a l'emulador quan un controlador amb assignacions es desconnecta. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Crea una còpia de seguretat d'un estat desat si ja existeix. La copia de seguretat té l'extensió .backup - + Enable CDVD Precaching Habilitar precàrrega CDVD - + Loads the disc image into RAM before starting the virtual machine. Carrega la imatge de disc a la memòria RAM abans d'iniciar la màquina virtual. - + Vertical Sync (VSync) Sincronització vertical (VSync) - + Sync to Host Refresh Rate Sincronitzar amb la freqüència de l'equip - + Use Host VSync Timing Utilitzar rellotge de l'equip per VSync - + Disables PCSX2's internal frame timing, and uses host vsync instead. Deshabilita el rellotge intern de fotogrames de PCSX2, i utilitza la sincronització vertical de l'equip. - + Disable Mailbox Presentation Deshabilitar presentació de la bústia de correu - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Força l'ús de FIFO per sobre de la presentació Mailbox, és a dir, memòria intermèdia de doble entrada en comptes de triple. Acostuma a empitjorar el ritme de fotogrames. - + Audio Control Control d'àudio - + Controls the volume of the audio played on the host. Controla el volum de l'àudio que reprodueixi l'equip. - + Fast Forward Volume Volum durant l'avanç ràpid - + Controls the volume of the audio played on the host when fast forwarding. Controla el volum de l'àudio que reprodueixi l'equip quan utilitzis l'avanç ràpid. - + Mute All Sound Silencia tot l'àudio - + Prevents the emulator from producing any audible sound. Impedeix a l'emulador que emeti qualsevol so. - + Backend Settings Paràmetres del backend - + Audio Backend Mòdul d'àudio - + The audio backend determines how frames produced by the emulator are submitted to the host. El mòdul d'àudio determina com s'enviaran a l'equip els fotogrames produïts per l'emulador. - + Expansion Expansió - + Determines how audio is expanded from stereo to surround for supported games. Determina la forma d'expandir l'àudio estèreo a àudio envoltant en els jocs que siguin compatibles. - + Synchronization Sincronització - + Buffer Size Mida de la memòria intermèdia - + Determines the amount of audio buffered before being pulled by the host API. Determina la quantitat d'àudio que s'emmagatzema en una memòria intermèdia abans que l'invoqui l'API de l'equip. - + Output Latency Latència de la sortida - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determina la latència entre l'àudio invocat per l'API de l'equip i l'àudio enviat als altaveus. - + Minimal Output Latency Latència de sortida mínima - + When enabled, the minimum supported output latency will be used for the host API. Quan està activat, s'utilitzarà la latència mínima que admeti l'equip. - + Thread Pinning Fixació de fils - + Force Even Sprite Position Forçar posicionament de sprites a nombres parells - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Mostra missatges emergents en activar, enviar o fracassar un desafiament d'una taula de classificació. - + When enabled, each session will behave as if no achievements have been unlocked. Quan està actiu, cada sessió es comportarà com si no haguessis desbloquejat cap assoliment. - + Account Compte - + Logs out of RetroAchievements. Tancar la sessió de RetroAchievements. - + Logs in to RetroAchievements. Iniciar sessió a RetroAchievements. - + Current Game Joc actual - + An error occurred while deleting empty game settings: {} Ha ocorregut un error en eliminar uns ajustaments del joc en blanc {} - + An error occurred while saving game settings: {} Ha ocorregut un error en desar la configuració del joc: {} - + {} is not a valid disc image. {} no és una imatge de disc vàlida. - + Automatic mapping completed for {}. Assignació automàtica completada per {}. - + Automatic mapping failed for {}. Error en l'assignació automàtica de {}. - + Game settings initialized with global settings for '{}'. La configuració del joc s'ha iniciat amb la configuració global '{}'. - + Game settings have been cleared for '{}'. Els paràmetres de jocs han sigut esborrats per '{}'. - + {} (Current) {} (Actual) - + {} (Folder) {} (Carpeta) - + Failed to load '{}'. Error al carregar '{}'. - + Input profile '{}' loaded. S'ha carregat el perfil d'entrada '{}'. - + Input profile '{}' saved. S'ha desat el perfil d'entrada '{}'. - + Failed to save input profile '{}'. Error en desar el perfil nou en '{}'. - + Port {} Controller Type Tipus de controlador del port {} - + Select Macro {} Binds Seleccionar assignacions de la macro {} - + Port {} Device Dispositiu del port {} - + Port {} Subtype Port del subtipus {} - + {} unlabelled patch codes will automatically activate. S'activaran automàticament els codis de pedaços sense etiquetar. - + {} unlabelled patch codes found but not enabled. S'han trobat {} codis de pedaços, per no han sigut activats. - + This Session: {} Aquesta sessió: {} - + All Time: {} Temps total: {} - + Save Slot {0} Desa a la ranura {0} - + Saved {} Desat {} - + {} does not exist. {} no existeix. - + {} deleted. {} esborrar. - + Failed to delete {}. Error en eliminar {}. - + File: {} Arxiu: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Temps jugat: {} - + Last Played: {} Darrera partida: {} - + Size: {:.2f} MB Mida: {:.2f} MB - + Left: Esquerra: - + Top: Superior: - + Right: Dreta: - + Bottom: Inferior: - + Summary Resum - + Interface Settings Opcions de la interfície - + BIOS Settings Configuració BIOS - + Emulation Settings Opcions de l'emulació - + Graphics Settings Configuració de gràfics - + Audio Settings Configuració d'àudio - + Memory Card Settings Propietats de les targetes de memòria - + Controller Settings Opcions dels controladors - + Hotkey Settings Opcions de les tecles de drecera - + Achievements Settings Configuració dels assoliments - + Folder Settings Opcions de les carpetes - + Advanced Settings Configuració avançada - + Patches Pegats - + Cheats Trucs - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 fps (NTSC) / 5 fps (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed Velocitat 50% - + 60% Speed Velocitat 60% - + 75% Speed Velocitat 75% - + 100% Speed (Default) Velocitat 100% (Per defecte) - + 130% Speed Velocitat 130% - + 180% Speed Velocitat 180% - + 300% Speed Velocitat 300% - + Normal (Default) Normal (Per defecte) - + Mild Underclock Disminuir lleugerament la velocitat - + Moderate Underclock Disminuir moderadament la velocitat - + Maximum Underclock Disminuir la velocitat al màxim - + Disabled Deshabilitat - + 0 Frames (Hard Sync) 0 fotogrames (sincronització forçada) - + 1 Frame 1 Fotograma - + 2 Frames 2 Fotogrames - + 3 Frames 3 Fotogrames - + None Cap - + Extra + Preserve Sign Extra + Preservar signatura - + Full Complet - + Extra Extra - + Automatic (Default) Automàtic (per defecte) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Programari - + Null Nul - + Off Desactivat - + Bilinear (Smooth) Bilineal (Suavitzat) - + Bilinear (Sharp) Bilineal (Realçat) - + Weave (Top Field First, Sawtooth) Entrellaçament (meitat superior primer, dents de serra) - + Weave (Bottom Field First, Sawtooth) Entrellaçament (meitat inferior primer, dents de serra) - + Bob (Top Field First) Bob (Camp superior primer) - + Bob (Bottom Field First) Bob (Camp inferior primer) - + Blend (Top Field First, Half FPS) Mescla (Meitat superior primer, FPS a la meitat) - + Blend (Bottom Field First, Half FPS) Mescla (meitat inferior primer, FPS a la meitat) - + Adaptive (Top Field First) Teixit (Camp superior primer) - + Adaptive (Bottom Field First) Adaptatiu (Meitat inferior primer) - + Native (PS2) Nadiu (PS2) - + Nearest Més proper - + Bilinear (Forced) Bilineal (Forçat) - + Bilinear (PS2) Bilineal (PS2) - + Bilinear (Forced excluding sprite) Bilineal (Forçat excepte pels sprites) - + Off (None) Apagat (No) - + Trilinear (PS2) Trilineal (PS2) - + Trilinear (Forced) Bilineal (Forçat) - + Scaled Escalat - + Unscaled (Default) Sense escalar (Per defecte) - + Minimum Mínim - + Basic (Recommended) Bàsic (Recomanat) - + Medium Mig - + High Alt - + Full (Slow) Complet (Lent) - + Maximum (Very Slow) Màxim (Molt lent) - + Off (Default) Desactivat (Per defecte) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Parcial - + Full (Hash Cache) Complet (Memòria intermèdia de hash) - + Force Disabled Forçar desactivat - + Force Enabled Forçar activat - + Accurate (Recommended) Acurat (Recomanat) - + Disable Readbacks (Synchronize GS Thread) Deshabilitar lectures de retorn (sincronitzar fils GS) - + Unsynchronized (Non-Deterministic) Dessincronitzat (No determinista) - + Disabled (Ignore Transfers) Deshabilitat (Ignorar les transferències) - + Screen Resolution Resolució de pantalla - + Internal Resolution (Aspect Uncorrected) Resolució interna (sense correcció d'aspecte) - + Load/Save State Carregar/Desar Estat - + WARNING: Memory Card Busy ATENCIÓ: Targeta de memòria en ús - + Cannot show details for games which were not scanned in the game list. No es poden mostrar els detalls per jocs que no es trobin a la llista de jocs. - + Pause On Controller Disconnection Fer pausa si es desconnectar el controlador - + + Use Save State Selector + Fes servir el selector de l'estat desat + + + SDL DualSense Player LED Llums de jugador del controlador DualSense - + Press To Toggle Prémer per alternar - + Deadzone Zona morta - + Full Boot Arrancada complerta - + Achievement Notifications Notificacions d'assoliments - + Leaderboard Notifications Notificacions de les taules de classificació - + Enable In-Game Overlays Activar superposicions dins del joc - + Encore Mode Mode bis - + Spectator Mode Mode Espectador - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Converteix la memòria intermèdia dels fotogrames de 4 i 8 bits a la CPU, no a la GPU. - + Removes the current card from the slot. Extreu la targeta actual de la ranura. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determina la freqüència a la qual la macro alternarà els botons on i off (també conegut com a tir automàtic). - + {} Frames {} Fotogrames - + No Deinterlacing No desentrellaçar - + Force 32bit Forçar 32 bits - + JPEG JPEG - + 0 (Disabled) 0 (Desactivat) - + 1 (64 Max Width) 1 (64 Amplada Màxim) - + 2 (128 Max Width) 2 (128 Amplada Màxima) - + 3 (192 Max Width) 3 (192 Amplada Màxima) - + 4 (256 Max Width) 4 (256 Amplada Màxima) - + 5 (320 Max Width) 5 (320 Amplada Màxima) - + 6 (384 Max Width) 6 (384 Amplada Màxima) - + 7 (448 Max Width) 7 (448 Amplada Màxima) - + 8 (512 Max Width) 8 (512 Amplada Màxima) - + 9 (576 Max Width) 9 (576 Amplada Màxima) - + 10 (640 Max Width) 10 (640 Amplada Màxima) - + Sprites Only Només sprites - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Sprites fusionats/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Agressiu) - + Inside Target Dins de l'objectiu - + Merge Targets Fusionar objectius - + Normal (Vertex) Normal (Vèrtex) - + Special (Texture) Especial (Textura) - + Special (Texture - Aggressive) Especial (Textures, agressiu) - + Align To Native Alinear a la resolució nativa - + Half Meitat - + Force Bilinear Forçar bilineal - + Force Nearest Forçar proper - + Disabled (Default) Desactivat (per defecte) - + Enabled (Sprites Only) Habilitat (Només sprites) - + Enabled (All Primitives) Habilitat (Totes les primitives) - + None (Default) Cap (Per defecte) - + Sharpen Only (Internal Resolution) Només realçar (Resolució interna) - + Sharpen and Resize (Display Resolution) Realçar i redimensionar (resolució vista) - + Scanline Filter Filtre Scanline - + Diagonal Filter Filtre diagonal - + Triangular Filter Filtre triangular - + Wave Filter Filtre d'ones - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Sense comprimir - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negatiu - + Positive Positiu - + Chop/Zero (Default) Eliminar/Zero (Per defecte) - + Game Grid Quadrícula de Jocs - + Game List Llista de jocs - + Game List Settings Configuració de la llista de jocs - + Type Tipus - + Serial Número de sèrie - + Title Títol - + File Title Títol del fitxer - + CRC CRC - + Time Played Temps jugat - + Last Played Darrera partida - + Size Mida - + Select Disc Image Seleccionar imatge de disc - + Select Disc Drive Seleccionar disc dur - + Start File Inicia un fitxer - + Start BIOS Inicia el BIOS - + Start Disc Inicia un disc - + Exit Surt - + Set Input Binding Establir assignació d'entrada - + Region Regió - + Compatibility Rating Valoració de la compatibilitat - + Path Ruta - + Disc Path Ruta al disc - + Select Disc Path Seleccionar direcció del disc - + Copy Settings Copiar configuració - + Clear Settings Esborrar configuració - + Inhibit Screensaver Desactiva estalvi de pantalla - + Enable Discord Presence Habilitar la presència a Discord - + Pause On Start Fer pausa al començar - + Pause On Focus Loss Fer pausa en perdre el focus - + Pause On Menu Pausar al entrar al menú - + Confirm Shutdown Confirmeu l'apagament - + Save State On Shutdown Desa l'estat en apagar - + Use Light Theme Utilitzar el tema clar - + Start Fullscreen Començar en pantalla completa - + Double-Click Toggles Fullscreen Doble click alterna la pantalla completa - + Hide Cursor In Fullscreen Amagar el cursor en pantalla completa - + OSD Scale Escala OSD - + Show Messages Mostrar missatges - + Show Speed Mostra velocitat - + Show FPS Mostrar FPS - + Show CPU Usage Mostrar l'ús de la CPU - + Show GPU Usage Mostrar l'ús de la GPU - + Show Resolution Mostrar resolució - + Show GS Statistics Mostra Estadístiques GS - + Show Status Indicators Mostrar els indicadors d'estat - + Show Settings Mostrar configuració - + Show Inputs Mostrar entrades - + Warn About Unsafe Settings Avisar sobre configuració no segura - + Reset Settings Reiniciar la configuració - + Change Search Directory Canviar el directori de cerca - + Fast Boot Arrancada ràpida - + Output Volume Volum de sortida - + Memory Card Directory Carpeta de la targeta de memòria - + Folder Memory Card Filter Filtrar carpetes en les targetes de memòria - + Create Crear - + Cancel Cancel·lar - + Load Profile Carregar perfil - + Save Profile Desar el perfil - + Enable SDL Input Source Habilitar l'origen d'entrada SDL - + SDL DualShock 4 / DualSense Enhanced Mode Mode millorat per a DualShock 4/DualSense - + SDL Raw Input Entrada sense processar SDL - + Enable XInput Input Source Habilitar oriden d'entrada XInput - + Enable Console Port 1 Multitap Activar multitap en el port del controlador 1 - + Enable Console Port 2 Multitap Activar multitap en el port del controlador 2 - + Controller Port {}{} Port del comandament {}{} - + Controller Port {} Port del comandament {} - + Controller Type Tipus de controlador - + Automatic Mapping Assignació automàtica - + Controller Port {}{} Macros Macros del port del controlador {} - + Controller Port {} Macros Macros del port del controlador {} - + Macro Button {} Botons de macro {} - + Buttons Botons - + Frequency Freqüència - + Pressure Pressió - + Controller Port {}{} Settings Configuració del port del controlador {} - + Controller Port {} Settings Configuració del port del controlador {} - + USB Port {} Port USB {} - + Device Type Tipus de dispositiu - + Device Subtype Subtipus de dispositiu - + {} Bindings {} Assignacions - + Clear Bindings Esborrar assignacions - + {} Settings {} Paràmetres - + Cache Directory Directori de memòria cau - + Covers Directory Carpeta de caràtules - + Snapshots Directory Carpeta de captures de pantalla - + Save States Directory Carpeta dels estats desats - + Game Settings Directory Directori de configuracions dels jocs - + Input Profile Directory Directori dels perfils d'entrada - + Cheats Directory Carpeta de trucs - + Patches Directory Carpeta de pedaços - + Texture Replacements Directory Directori de recanvis de les textures - + Video Dumping Directory Carpeta d'abocats de vídeo - + Resume Game Continua la partida - + Toggle Frame Limit Alternar límit de fotogrames - + Game Properties Propietats del joc - + Achievements Assoliments - + Save Screenshot Desar captura de pantalla - + Switch To Software Renderer Canviar al renderitzador de programari - + Switch To Hardware Renderer Canviar al renderitzador de maquinari - + Change Disc Canvia el disc - + Close Game Tanca el joc - + Exit Without Saving Sortir sense desar - + Back To Pause Menu Tornar al menú de pausa - + Exit And Save State Sortir i desar estat - + Leaderboards Taules de classificació - + Delete Save Esborra la partida - + Close Menu Tanca el menú - + Delete State Esborrar estat - + Default Boot Arrencada predeterminada - + Reset Play Time Reiniciar temps de joc - + Add Search Directory Afegir directori de cerques - + Open in File Browser Obrir en l'explorador d'arxius - + Disable Subdirectory Scanning Deshabilitar cerca en els subdirectoris - + Enable Subdirectory Scanning Habilitar escaneig dels subdirectoris - + Remove From List Eliminar de la llista - + Default View Vista predeterminada - + Sort By Ordenar per - + Sort Reversed Invertir ordre - + Scan For New Games Cerca jocs nous - + Rescan All Games Torna a cercar tots els jocs - + Website Pàgina web - + Support Forums Fòrums de suport - + GitHub Repository Repositori de GitHub - + License Llicència - + Close Tancar - + RAIntegration is being used instead of the built-in achievements implementation. S'està utilitzant RAIntegration en comptes de la implementació nativa d'assoliments. - + Enable Achievements Habilitar Assoliments - + Hardcore Mode Mode extrem - + Sound Effects Efectes de so - + Test Unofficial Achievements Provar assoliments no oficials - + Username: {} Nom d'usuari: {} - + Login token generated on {} Data de creació del token a {} - + Logout Tancar la sessió - + Not Logged In No s'ha iniciat sessió - + Login Iniciar sessió - + Game: {0} ({1}) Joc: {0} ({1}) - + Rich presence inactive or unsupported. El mode de Rich Presence no es troba actiu o no és compatible. - + Game not loaded or no RetroAchievements available. No es pot carregar el joc o no hi ha RetroAchievements disponibles. - + Card Enabled Targeta de memòria activada - + Card Name Nom de la targeta de memòria - + Eject Card Expulsa la targeta de memòria @@ -11072,32 +11131,42 @@ Escanejar de manera contínua tarda més temps, però trobarà jocs en les subca Es deshabiliten totes les correccions de PCSX2 per aquest joc, perquè has carregat correccions sense etiquetar. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Les correccions de pantalla panoràmica estan actualment<span style=" font-weight:600;">HABILITADES</span> de manera global.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Les correccions d'entrellaçament estan actualment<span style=" font-weight:600;">HABILITADES</span> de manera global.</p></body></html> + + + All CRCs Tots els CRC - + Reload Patches Recarregar pedaços - + Show Patches For All CRCs Mostrar correccions per tots els CRC - + Checked Activat - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Permet buscar arxius de correccions per totes les sumes de comprovació CRC del joc. En activar aquesta opció, també es carregaran les correccions disponibles amb el mateix número de sèrie que el joc, però que tinguin CRC diferents. - + There are no patches available for this game. No hi ha pedaços disponibles per aquest joc. @@ -11573,11 +11642,11 @@ Escanejar de manera contínua tarda més temps, però trobarà jocs en les subca - - - - - + + + + + Off (Default) Desactivat (Per defecte) @@ -11587,10 +11656,10 @@ Escanejar de manera contínua tarda més temps, però trobarà jocs en les subca - - - - + + + + Automatic (Default) Automàtic (per defecte) @@ -11657,7 +11726,7 @@ Escanejar de manera contínua tarda més temps, però trobarà jocs en les subca - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilineal (Suavitzat) @@ -11723,29 +11792,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Desplaçaments de pantalla - + Show Overscan Mostrar sobreescaneig - - - Enable Widescreen Patches - Activar correccions de pantalla panoràmica - - - - Enable No-Interlacing Patches - Habilitar pedaços per desactivar l'entrellaçament - - + Anti-Blur Filtre nitidesa @@ -11756,7 +11815,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Deshabilitar la compensació d'entrellaçament @@ -11766,18 +11825,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Mida de la captura de pantalla: - + Screen Resolution Resolució de pantalla - + Internal Resolution Resolució interna - + PNG PNG @@ -11829,7 +11888,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilineal (PS2) @@ -11876,7 +11935,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Sense escalar (Per defecte) @@ -11892,7 +11951,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Bàsic (Recomanat) @@ -11928,7 +11987,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Complet (Memòria intermèdia de hash) @@ -11944,31 +12003,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Deshabilitar la conversió de profunditat - + GPU Palette Conversion Conversió de paletes a la GPU - + Manual Hardware Renderer Fixes Correccions manuals al renderitzador de programari - + Spin GPU During Readbacks Mantenir la GPU en funcionament al provar - + Spin CPU During Readbacks Mantenir la CPU en funcionament al provar @@ -11980,15 +12039,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Buidatge automàtic @@ -12016,8 +12075,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Desactivat) @@ -12074,18 +12133,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Deshabilitar funcionalitats segures - + Preload Frame Data Precarrega dades del fotograma - + Texture Inside RT Textures dins de RT @@ -12184,13 +12243,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Fusionar sprites - + Align Sprite Alinear sprite @@ -12204,16 +12263,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No desentrellaçar - - - Apply Widescreen Patches - Aplicar correccions de pantalla ampla - - - - Apply No-Interlacing Patches - Aplicar pedaços desentrellaçats - Window Resolution (Aspect Corrected) @@ -12286,25 +12335,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Deshabilitar invalidació parcial d'origen - + Read Targets When Closing Llegir objectius al tancar - + Estimate Texture Region Calcular les regions de les textures - + Disable Render Fixes Desactivar correccions de renderitzat @@ -12315,7 +12364,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Dibuixar textures de les paletes sense escalar @@ -12374,25 +12423,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Abocar textures - + Dump Mipmaps Volcar «mipmaps» - + Dump FMV Textures Abocar textures FMV - + Load Textures Carregar textures @@ -12402,6 +12451,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Natiu (10:7) + + + Apply Widescreen Patches + Aplicar correccions de pantalla ampla + + + + Apply No-Interlacing Patches + Aplicar pedaços desentrellaçats + Native Scaling @@ -12419,13 +12478,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Forçar posicionament de sprites a nombres parells - + Precache Textures Precarregar textures @@ -12448,8 +12507,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Cap (Per defecte) @@ -12470,7 +12529,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12522,7 +12581,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Millora del to @@ -12537,7 +12596,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturació @@ -12558,50 +12617,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Mostrar indicadors - + Show Resolution Mostrar resolució - + Show Inputs Mostrar entrades - + Show GPU Usage Mostrar l'ús de la GPU - + Show Settings Mostrar configuració - + Show FPS Mostrar FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Deshabilitar presentació de la bústia de correu - + Extended Upscaling Multipliers Estendre multiplicadors d'escalat @@ -12617,13 +12676,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Mostra Estadístiques - + Asynchronous Texture Loading Càrrega de textures asincrònica @@ -12634,13 +12693,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Mostrar l'ús de la CPU - + Warn About Unsafe Settings Avisar sobre configuració no segura @@ -12666,7 +12725,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Esquerre (Per defecte) @@ -12677,43 +12736,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Dreta (Per defecte) - + Show Frame Times Mostrar duració de fotogrames - + Show PCSX2 Version Mostrar versió de PCSX2 - + Show Hardware Info Mostrar informació del maquinari - + Show Input Recording Status Mostrar l'estat de la gravació d'entrada - + Show Video Capture Status Mostrar estat de la captura de vídeo - + Show VPS Mostra VPS @@ -12822,19 +12881,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Ometre fotogrames duplicats - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12887,7 +12946,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Mostrar percentatges de velocitat @@ -12897,1214 +12956,1214 @@ Swap chain: see Microsoft's Terminology Portal. Deshabilitar accés a la memòria intermèdia de fotogrames - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metall - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Programari - + Null Null here means that this is a graphics backend that will show nothing. Nul - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Utilitzar configuració global [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Desactivat - + + Enable Widescreen Patches + Activa les correccions de pantalla panoràmica + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Carrega i aplica les correccions de pantalla panoràmica automàticament. Pot provocar problemes. - + + Enable No-Interlacing Patches + Habilitar pedaços per desactivar l'entrellaçament + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Carrega i aplica les correccions de desentrellaçament automàticament. Pot provocar problemes. - + Disables interlacing offset which may reduce blurring in some situations. Desactiva la compensació de l'entrellaçament, pot augmentar la nitidesa en alguns casos. - + Bilinear Filtering Filtre bilineal - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Activa el filtre de postprocessament bilineal. Suavitza la imatge completa en mostrar-la en pantalla. Corregeix la col·locació entre píxels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Activa les compensacions PCRTC que posiciona la pantalla de joc amb les especificacions de cada joc. És útil per alguns jocs, com WipEout Fusion i l'efecte de tremolor de la imatge, però pot fer que la imatge perdi nitidesa. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Permet mostrar l'àrea de sobrecarregat en els jocs que facilita mostrar imatges més enllà de la pantalla. - + FMV Aspect Ratio Override Reemplaçar relació d'aspecte per a vídeos FMV - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determina el mètode de desentrellaçament que farà servir la imatge de la consola emulada. L'ajustament automàtic hauria de servir per a la majoria de jocs, però si veus tremolors a la imatge, prova un altre dels ajustaments disponibles. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Controla el grau de precisió de l'emulació de la unitat de mescles del GS.<br> Amb un valor alt, més mescles s'emularan en l'ombrejador amb precisió i pot millorar la velocitat.<br> Cal tenir en compte que les mescles en Direct3D tenen menys capacitat que a OpenGl/Vulkan. - + Software Rendering Threads Subprocessos per al renderitzat per programari - + CPU Sprite Render Size Mida de renderitzat de sprites a la CPU - + Software CLUT Render Programari de renderització CLUT - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Prova de detectar si un joc fa servir paletes de colors pròpies i les renderitza a la GPU amb un mètode especial. - + This option disables game-specific render fixes. Aquesta opció desactiva les correccions de renderitzat específiques de cada joc. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Per defecte, la memòria intermèdia de textures gestiona les invalidacions parcials. Però, això consumeix molts recursos de la CPU. Aquesta correcció substitueix la invalidació parcial per una eliminació total de textures per reduir la càrrega de la CPU. Pot ajudar a jocs que fan servir el motor Snowblind. - + Framebuffer Conversion Conversió de la memòria intermèdia de fotogrames - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Converteix la memòria intermèdia de fotogrames de 4 bits i 8 bits a la CPU en comptes de la GPU. Pot ajudar als jocs de Harry Potter i a Stuntman. Afecta de manera significativa al rendiment. - - + + Disabled Deshabilitat - - Remove Unsupported Settings - Eliminar configuració no compatible - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Ara mateix tens activades les correccions de pantalla panoràmica o les correccions de desentrellaçament en aquest joc. Ja no donem suport a aquestes opcions. Et recomanem que vagis a la secció de correccions i activis les que necessites. Vols esborrar aquestes opcions de la configuració del teu joc? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Sobreescriu la relació d'aspecte dels vídeos FMV. Si està desactivada, la relació d'aspecte tindrà el mateix valor que a la configuració global. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Activa els mapes MIP, que són necessaris per a alguns jocs per renderitzar-se correctament. Els mapes MIP utilitzen alternativament imatges a baixa resolució quan es troben a certa distància per minimitzar el processament i evitar errors visuals. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Canvia l'algoritme de filtratge amb el qual es mostraran les textures.<br> Més proper: No mesclarà els colors.<br> Bilineal (Forçat): Mesclarà els colors per eliminar les vores entre píxels de colors diferents, encara que el joc ordeni a la PS2 que no ho faci.<br> Bilineal (PS2): Filtrarà totes les superfícies que el joc li indiqui a la PS2.<br> Bilineal (Forçat excloent sprites): Aplicarà el filtre a totes les superfícies, excepte als sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Redueix la borrositat de textures grans quan s'apliquen a superfícies petites i amb gran inclinació. Per fer-ho, es mostregen els colors dels dos mapes MIP més propers.És necessari activar els mapes MIP.<br> Desactivat: desactiva aquesta funció.<br> Trilineal (PS2): Aplica el filtratge trilineal a totes les superfícies que el joc ordeni a la PS2.<br> Trilineal (Forçat): Aplica el filtratge trilineal a totes les superfícies sense distinció. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Redueix el bandat entre colors i millora la profunditat de color.<br> Desactivat: Desactiva el tramat.<br> Escalat: efecte de tramat apte per escalats.<br> Sense escalar: Efecte de tramat natiu, que no augmenta la mida dels quadrats en escalar la imatge.<br> Forçar 32 bits: Tracta tots els renderizats com si fossin de 32 bits per no tenir bandats ni tramats. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Envia tasques sense utilitat a la CPU mentre no està treballant per evitar que entri en el mode d'estalvi d'energia. Pot millorar el rendiment durant les tasques de la CPU, però augmentarà significativament el consum d'energia. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Envia tasques sense utilitat a la GPU mentre no està treballant per evitar que entri en el mode d'estalvi d'energia. Pot millorar el rendiment durant les tasques de la GPU, però augmentarà significativament el consum d'energia. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Nombre de fils renderitzant: 0 per un únic fil, 2 o més per diversos fils (1 per depuració). Es recomana de 2 a 4 fils, amb més fils és probable que l'emulació es torni lenta. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Desactiva el suport per a la memòria temporal de textures. Aquesta opció pot provocar defectes visuals i només és útil per tasques de depuració. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Permet a la memòria cau reutilitzar com a textura d'entrada, la part inferior d'un conjunt de fotogrames. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Buida tots els objectius de la memòria intermèdia de textures a la memòria local en apagar la màquina virtual. Pot evitar que es perdin alguns elements visuals en desats ràpids o en canviar de renderitzador, però també pot provocar corrupció dels gràfics. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Intenta reduir la mida de la textura quan els jocs no ho estableixen per si mateixos (per exemple, jocs que utilitzin el motor gràfic Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Corregeix errors amb l'escalat (línies verticals) en els jocs de Namco com Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Aboca les textures al disc. El rendiment es redueix. - + Includes mipmaps when dumping textures. Incloure mipmaps si s'aboquen les textures. - + Allows texture dumping when FMVs are active. You should not enable this. Permet l'abocament de textures durant la reproducció de vídeos FMV. No es recomana activar aquest opció. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carrega les textures en un subprocés de treball, redueix els tirons en activar els canvis de textures. - + Loads replacement textures where available and user-provided. Carrega textures de recanvi si estan disponibles. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Precarrega totes les textures personalitzades en memòria. No és necessari si la càrrega asincrònica està activada. - + Enables FidelityFX Contrast Adaptive Sharpening. Activa el realçament per contrast adaptatiu FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. Determina la intensitat de l'efecte de realçat en el postprocessament CAS. - + Adjusts brightness. 50 is normal. Ajustar brillantor. 50 és normal. - + Adjusts contrast. 50 is normal. Ajusta el contrast. 50 és normal. - + Adjusts saturation. 50 is normal. Ajustar saturació. 50 és normal. - + Scales the size of the onscreen OSD from 50% to 500%. Escala la mida dels missatges en pantalla de 50% a 500%. - + OSD Messages Position Posició de missatges en pantalla - + OSD Statistics Position Posició de les estadístiques en pantalla - + Shows a variety of on-screen performance data points as selected by the user. Mostrar en pantalla informació sobre diverses funcions de dades sobre el rendiment seleccionades per l'usuari. - + Shows the vsync rate of the emulator in the top-right corner of the display. Mostra la taxa de sincronització vertial a la part superior dreta de la pantalla. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Mostra indicadors en forma d'icones en pantalla pels estats d'emulació com la pausa, el mode turbo, l'avançament ràpid i la càmera lenta. - + Displays various settings and the current values of those settings, useful for debugging. Mostra diferents configuracions i els seus valors actuals. Útil per fase depuració. - + Displays a graph showing the average frametimes. Mostra un gràfic amb la duració mitjana dels fotogrames. - + Shows the current system hardware information on the OSD. Mostra informació del maquinari actual en els missatges en pantalla. - + Video Codec Còdec de vídeo - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Seleccionar quin còdec de vídeo s'utilitza per a la captura de vídeo <b>Si no estàs segur, deixa-ho per defecte.<b> - + Video Format Forma de vídeo - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selecciona el format de vídeo que s'utilitzarà per a la captura de vídeo. Si per casualitat el còdec no és compatible amb el format, s'utilitzarà el primer que hi hagi disponible. <b>Si no estàs segur, deixa-ho en predeterminat.<b> - + Video Bitrate Taxa de bits del vídeo - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Selecciona la taxa de bits de vídeo s'utilitzarà. Les taxes de bites altes porten a una millor qualitat de vídeo però resulten en fitxers més grans. - + Automatic Resolution Resolució automàtica - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Quan està activada, la captura de vídeo serà la mateixa que la resolució interna del joc en execució.<br><br><b>Sigues caut en fer servir aquesta opció, sobretot en escalar per sobre la resolució interna (per sobre de 4x) perquè pot resultar en fitxers molt grans i sobrecarregar el teu equip.</b> - + Enable Extra Video Arguments Habilitar configuració extra de vídeo - + Allows you to pass arguments to the selected video codec. Permet passar arguments al còdec de vídeo seleccionat. - + Extra Video Arguments Configuració extra de vídeo - + Audio Codec Còdec d'àudio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Seleccionar quin còdec d'àudio s'utilitza per a la captura de vídeo <b>Si no estàs segur, deixa-ho per defecte.<b> - + Audio Bitrate Taxa de bits d'àudio - + Enable Extra Audio Arguments Habilitar configuració extra d'àudio - + Allows you to pass arguments to the selected audio codec. Permet passar arguments al còdec d'àudio seleccionat. - + Extra Audio Arguments Configuració extra d'àudio - + Allow Exclusive Fullscreen Permetre pantalla completa exclusivament - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Sobreescriu l'heurística del controlador per activar el mode de pantalla completa exclusiva per abocaments directes. En desactivar la pantalla completa exclusiva, el canvi de tasques i superposicions pot anar més fluid a costa d'augmentar la latència d'entrada. - + 1.25x Native (~450px) 1.25x Natiu (~450 px) - + 1.5x Native (~540px) 1.5x Natiu (~540 px) - + 1.75x Native (~630px) 1.75x Natiu (~630 px) - + 2x Native (~720px/HD) 2x Natiu (~720 px/HD) - + 2.5x Native (~900px/HD+) 2.5x Natiu (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Natiu (~1080 px/FHD) - + 3.5x Native (~1260px) 3.5x Natiu (~1260 px) - + 4x Native (~1440px/QHD) 4x Natiu (~1440 px/QHD) - + 5x Native (~1800px/QHD+) 5x Natiu (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Natiu (~2160 px/4K UHD) - + 7x Native (~2520px) 7x Natiu (~2520 px) - + 8x Native (~2880px/5K UHD) 8x Natiu (~2880 px/5K UHD) - + 9x Native (~3240px) 9x Natiu (~3240 px) - + 10x Native (~3600px/6K UHD) 10x Natiu (~3600px/6K UHD) - + 11x Native (~3960px) 11x Natiu (~3960 px) - + 12x Native (~4320px/8K UHD) 12x Natiu (~4320px/8K UHD) - + 13x Native (~4680px) 13x Natiu (~4680 px) - + 14x Native (~5040px) 14x Natiu (~5040 px) - + 15x Native (~5400px) 15x Natiu (~5400 px) - + 16x Native (~5760px) 16x Natiu (~5760 px) - + 17x Native (~6120px) 17x Natiu (~6120 px) - + 18x Native (~6480px/12K UHD) 18x Natiu (~6480px/12K UHD) - + 19x Native (~6840px) 19x Natiu (~6840 px) - + 20x Native (~7200px) 20x Natiu (~7200 px) - + 21x Native (~7560px) 21x Natiu (~7560 px) - + 22x Native (~7920px) 22x Natiu (~7920 px) - + 23x Native (~8280px) 23x Natiu (~8280 px) - + 24x Native (~8640px/16K UHD) 24x Natiu (~8640px/16K UHD) - + 25x Native (~9000px) 25x Natiu (~9000 px) - - + + %1x Native %1x Natiu - - - - - - - - - + + + + + + + + + Checked Activat - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Activa les correccions antiboira. Menys precís a l'hora de renderitzar que la PS2, però farà que els jocs es vegin més nítids. - + Integer Scaling Escalat enter - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Reomple l'àrea de visualització perquè la relació entre els píxels de l'equip i de la consola sigui un nombre enter. Pot millorar la nitidesa en alguns jocs 2D. - + Aspect Ratio Relació d'aspecte - + Auto Standard (4:3/3:2 Progressive) Estàndard automàtic (4:3/3:2 Progressiu) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Canvia la relació d'aspecte amb la qual es mostra la imatge de sortida en pantalla. El valor predeterminat és Estàndard Automàtic (4:3/3:2 Progressiu) el qual ajustarà automàticament la relació d'aspecte a la que tenien els jocs en un televisor de l'època. - + Deinterlacing Desentrellaçar - + Screenshot Size Mida de la captura de pantalla - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Especifica a quina resolució es desen les captures de pantalla. Les resolucions internes guarden més detalls a canvi de fitxers més grans. - + Screenshot Format Format de captura de pantalla - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selecciona el format amb el qual es desaran les captures de pantalla. JPEG produeix arxius més petits, però amb menys detall. - + Screenshot Quality Qualitat de la captura de pantalla - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selecciona la qualitat en la qual seran comprimides les captures de pantalla. Valors alts preserven més detalls per imatges JPEG, i redueixen mida de les imatges per PNG. - - + + 100% 100% - + Vertical Stretch Estirament vertical - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Estira (&lt; 100%) o estreny (&lt; 100%) la component vertical de la pantalla. - + Fullscreen Mode Mode de Pantalla completa - - - + + + Borderless Fullscreen Pantalla completa sense vores - + Chooses the fullscreen resolution and frequency. Escollir la resolució i la freqüència de la pantalla completa. - + Left Esquerra - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Canvia el nombre de píxels retallats des de la part esquerre de la pantalla. - + Top Superior - + Changes the number of pixels cropped from the top of the display. Canvia el nombre de píxels retallats des de la part superior de la pantalla. - + Right Dreta - + Changes the number of pixels cropped from the right side of the display. Canvia el nombre de píxels retallats des de la part dreta de la pantalla. - + Bottom Sota - + Changes the number of pixels cropped from the bottom of the display. Canvia el nombre de píxels retallats des de la part inferior de la pantalla. - - + + Native (PS2) (Default) Natiu (PS2) (Per defecte) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Controla la resolució a la qual són renderitzats els jocs. Resolucions altes poden tenir impacte negatiu en targetes gràfiques més antigues o de baixa potència. Resolució no natives poden causar errors gràfics en alguns jocs. La resolució dels vídeos FMV es mantindrà igual, ja que aquests ja estan renderitzats. - + Texture Filtering Filtratge de textures - + Trilinear Filtering Filtre trilineal - + Anisotropic Filtering Filtre anisotròpic - + Reduces texture aliasing at extreme viewing angles. Redueix l'efecte de distorsió espacial en les textures vistes des d'angles extrems. - + Dithering Tramat - + Blending Accuracy Precisió de la mescla - + Texture Preloading Precàrrega de textures - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Carrega les textures senceres en comptes de fer-ho en petites parts, evitant carregar la mateixa part si és possible. Millora el rendiment en alguns jocs, però una petita part dels jocs anirà més lenta. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. En activar aquesta opció, la GPU convertirà les textures en mapes de colors. Si no, ho farà la CPU. Compensa la GPU i la CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Activant aquesta opció, et dona la possibilitat de canviar les correccions del renderitzador i d'escalat en els jocs. Però, si actives aquesta opció, es desactivaran els ajustaments automàtics. Pots reactivar els ajustaments automàtics, desactivant aquesta opció. - + 2 threads 2 fils - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Força un buidatge de primitives quan una memòria intermèdia de fotogrames sigui també un textura d'entrada. Corregeix alguns errors com les ombres a la saga Jak i la radiositat a GTA:SA. - + Enables mipmapping, which some games require to render correctly. Activa els mapes MIP, necessaris perquè funcionen correctament alguns jocs. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. El renderitzat dels sprites es farà a la CPU si la seva mida no supera aquest valor. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Prova de detectar si un joc fa servir paletes de colors pròpies i les renderitza amb programari en comptes de la GPU. - + GPU Target CLUT Gestió de CLUT a la GPU - + Skipdraw Range Start Inici del rang de «skipdraw» - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Omet el dibuixat de superfícies des de la superfície indicada al quadre esquerre fins a la superfície indicada al quadre dret. - + Skipdraw Range End Fi del rang de «skipdraw» - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Aquesta opció desactiva moltes funcionalitats de seguretat. Desactivar el renderitzat precís de punts i línies sense escalar, pot ajudar a jocs de Xenosaga. Desactivar la neteja precisa de memòria del GS a la CPU perquè ho faci la GPU, pot ajudar a jocs de Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Transmet les dades del GS quan es renderitza un nou fotograma per reproduir alguns efectes amb fidelitat. - + Half Pixel Offset Desplaçament de mig píxel - + Might fix some misaligned fog, bloom, or blend effect. Pot corregir alguns efectes de boira, claror o mescles que no estan alineats. - + Round Sprite Arrodonir sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corregeix el mostreig de textures 2D en escalar. Corregeix les línies en sprites en jocs com Ar tonelico en escalar. L'opció Half és només per sprites plans, l'opció Ful és per tots els sprites. - + Texture Offsets X Compensació de textura X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Corregeix les coordenades de les textures ST/UV. Soluciona alguns problemes en textures i pot ser que també corregeixi l'alineació en el postprocessat. - + Texture Offsets Y Compensació de textura Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Redueix la precisió del GS per evitar els buits entre píxels en escalar. Corregeix el text en els jocs Wild Arms. - + Bilinear Upscale Escalat bilineal - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Pot suavitzar les textures en aplicar un filtre bilineal després d'escalar. Per exemple: centelleig del sol a Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Substitueix l'ús de diferents fragments d'sprites amb postprocessament per un sol sprite més gran. Redueix l'aparició de línies en escalar. - + Force palette texture draws to render at native resolution. Força que la paleta de textures es renderitzin a resolució nativa. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Realçament per contrast adaptatiu (CAS) - + Sharpness Nitidesa - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Activa l'ajustament de saturació, contrast i brillantor. Els valors predeterminats per tots tres és 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Aplica l'algoritme de suavitzat de vores per millorar la qualitat visual dels jocs. - + Brightness Brillantor - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Aplica un ombrejador que simula els efectes visuals de diferents estils d'aparells de televisió. - + OSD Scale Escala OSD - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Mostra missatges en pantalla en algunes situacions, com en crear o carregar estats desats, capturar la pantalla, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Mostra la taxa interna de fotogrames del joc en la part superior dreta de la pantalla. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Mostra la velocitat actual d'emulació del sistema a la part superior dreta de la pantalla com un percentatge. - + Shows the resolution of the game in the top-right corner of the display. Mostra la resolució del joc a la part superior dreta de la pantalla. - + Shows host's CPU utilization. Mostrar l'ús de la CPU de l'equip. - + Shows host's GPU utilization. Mostrar l'ús de la GPU de l'equip. - + Shows counters for internal graphical utilization, useful for debugging. Mostra comptadors per l'ús intern de la targeta gràfica, útil per la depuració. - + Shows the current controller state of the system in the bottom-left corner of the display. Mostra l'estat actual del controlador en el sistema en la part inferior esquerre de la pantalla. - + Shows the current PCSX2 version on the top-right corner of the display. Mostra la versió actual de PCSX2 a la part superior dreta de la pantalla. - + Shows the currently active video capture status. Mostrar l'estat actual de la captura de vídeo. - + Shows the currently active input recording status. Mostrar l'estat actual de la captura d'entrada. - + Displays warnings when settings are enabled which may break games. Mostrar advertències si la configuració pot causar problemes en alguns jocs. - - + + Leave It Blank Deixa-ho en blanc - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Paràmetres enviats al còdec de vídeo seleccionat.<br><b>Has d'utilitzar '=' per separar cada element del seu valor i ':' per separar dos parells d'elements.</b><br>Per exemple: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Determina la taxa de bits d'àudio utilitzada. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Paràmetres enviats al còdec d'àudio seleccionat.<br><b>Has d'utilitzar '=' per separar cada element del seu valor i ':' per separar dos parells d'elements.</b><br>Per exemple: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression Compressió dels abocats del GS - + Change the compression algorithm used when creating a GS dump. Canvia l'algoritme de compressió que s'utilitzarà per a l'abocament del GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Quan es faci servir el renderitzador de Direct3D 11, s'utilitzarà el model de presentació per a BLIT en comptes de girar la imatge. Acostuma a produir un pitjor rendiment, però pot ser necessari per a certes aplicacions tipus streaming o per desbloquejar les velocitats de fotogrames en alguns equips. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detecta quan es troben fotogrames inactius en jocs a 25/30 fotogrames per segon i omet la seva presentació. El fotograma continuarà renderitzant, però la GPU té més temps per acabar-lo (això NO és ometre fotogrames). Pot suavitzar les fluctuacions en la presentació dels fotogrames quan la CPU i la GPU estàn sent utilitzades al màxim, però farà que el ritme de fotogrames sigui més irregular i pot augmentar la latència de la senyal d'entrada. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Mostra multiplicadors d'escalat més alts que depenen de les prestacions de la GPU. - + Enable Debug Device Activar dispositiu de depuració - + Enables API-level validation of graphics commands. Habilita la validació a nivell de llibreria API de les comandes de gràfics. - + GS Download Mode Mode de descàrrega del GS - + Accurate Precís - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Omet la sincronització de les descàrregues del GS entre el subprocés del GS i la GPU de l'equip. Pot augmentar significativament la velocitat en els sistemes més lents a costa de provocar errors gràfics. Si els jocs contenen errors gràfics amb aquesta opció activada, et recomanem que la desactivis abans que res. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Per defecte - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Força l'ús de FIFO per sobre de la presentació Mailbox, és a dir, memòria intermèdia de doble entrada en comptes de triple. Acostuma a empitjorar el ritme de fotogrames. @@ -14112,7 +14171,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Per defecte @@ -14329,254 +14388,254 @@ Swap chain: see Microsoft's Terminology Portal. No s'ha trobat l'estat desat a la ranura {}. - - - + + - - - - + + + + - + + System Sistema - + Open Pause Menu Obrir menú de pausa - + Open Achievements List Obrir la llista d'assoliments - + Open Leaderboards List Obrir la llista de les taules de classificació - + Toggle Pause Activat/Desactivar silenci - + Toggle Fullscreen Commuta la pantalla completa - + Toggle Frame Limit Alternar límit de fotogrames - + Toggle Turbo / Fast Forward Alternar turbo / avançament ràpid - + Toggle Slow Motion Alternar càmera lenta - + Turbo / Fast Forward (Hold) Turbo / Avançament ràpid (Pressionar) - + Increase Target Speed Augmentar la velocitat de l'objectiu - + Decrease Target Speed Disminuir la velocitat de l'objectiu - + Increase Volume Augmenta el volum - + Decrease Volume Disminueix el volum - + Toggle Mute Activat/Desactivar silenci - + Frame Advance Avançar fotograma - + Shut Down Virtual Machine Apagar la màquina virtual - + Reset Virtual Machine Reiniciar màquina virtual - + Toggle Input Recording Mode Alternar mode de gravació d'entrada - - + + Save States Desa l'estat - + Select Previous Save Slot Seleccionar l'anterior ranura de memòria - + Select Next Save Slot Seleccionar la següent ranura de memòria - + Save State To Selected Slot Desa l'estat a la ranura seleccionada - + Load State From Selected Slot Carrega l'estat de la ranura seleccionada - + Save State and Select Next Slot Desa l'estat i selecciona la següent ranura - + Select Next Slot and Save State Selecciona la ranura següent i desa l'estat - + Save State To Slot 1 Desar estat a la ranura 1 - + Load State From Slot 1 Carregar estat de la ranura 1 - + Save State To Slot 2 Desar estat a la ranura 2 - + Load State From Slot 2 Carregar estat de la ranura 2 - + Save State To Slot 3 Desar estat a la ranura 3 - + Load State From Slot 3 Carregar estat de la ranura 3 - + Save State To Slot 4 Desar estat a la ranura 4 - + Load State From Slot 4 Carregar estat de la ranura 4 - + Save State To Slot 5 Desar estat a la ranura 5 - + Load State From Slot 5 Carregar estat de la ranura 5 - + Save State To Slot 6 Desar estat a la ranura 6 - + Load State From Slot 6 Carregar estat de la ranura 6 - + Save State To Slot 7 Desar estat a la ranura 7 - + Load State From Slot 7 Carregar estat de la ranura 7 - + Save State To Slot 8 Desar estat a la ranura 8 - + Load State From Slot 8 Carregar estat de la ranura 8 - + Save State To Slot 9 Desar estat a la ranura 9 - + Load State From Slot 9 Carregar estat de la ranura 9 - + Save State To Slot 10 Desar estat a la ranura 10 - + Load State From Slot 10 Carregar estat de la ranura 10 @@ -15454,594 +15513,608 @@ Clica al botó dret del ratolí per eliminar assignació &Sistema - - - + + Change Disc Canvia el disc - - + Load State Carrega un estat - - Save State - Desa l'estat - - - + S&ettings P&aràmetres - + &Help &Ajuda - + &Debug &Depurar - - Switch Renderer - Canviar renderitzador - - - + &View &Visualitza - + &Window Size &Mida de la finestra - + &Tools &Eines - - Input Recording - Gravar l'entrada - - - + Toolbar Barra d'eines - + Start &File... Inicia un &fitxer... - - Start &Disc... - Inicia un &disc... - - - + Start &BIOS Inicia el &BIOS - + &Scan For New Games Cerca jocs nous - + &Rescan All Games &Torna a cercar tots els jocs - + Shut &Down Apaga - + Shut Down &Without Saving Apaga &sense desar - + &Reset &Reinicia - + &Pause &Pausa - + E&xit S&urt - + &BIOS &BIOS - - Emulation - Emulació - - - + &Controllers &Comandaments - + &Hotkeys &Tecles de drecera - + &Graphics &Gràfics - - A&chievements - Asso&liments - - - + &Post-Processing Settings... Configuració del &Postprocessament... - - Fullscreen - Pantalla completa - - - + Resolution Scale Escala de resolució - + &GitHub Repository... &Repositori GitHub... - + Support &Forums... Fòrums de &suport... - + &Discord Server... Servidor de &Discord... - + Check for &Updates... &Comprova si hi ha actualitzacions... - + About &Qt... Sobre &Qt... - + &About PCSX2... &Sobre PCSX2... - + Fullscreen In Toolbar Pantalla completa - + Change Disc... In Toolbar Canvia el disc... - + &Audio &So - - Game List - Llista de jocs - - - - Interface - Interfície + + Global State + Estat global - - Add Game Directory... - Afegeix un camí... + + &Screenshot + &Captura de pantalla - - &Settings - &Configuració + + Start File + In Toolbar + Inicia un fitxer - - From File... - Des d'un fitxer... + + &Change Disc + Canviar el disc - - From Device... - Des d'un dispositiu... + + &Load State + Carregar l'estat - - From Game List... - Des de la llista... + + Sa&ve State + Desar l'estat - - Remove Disc - Treu el disc + + Setti&ngs + Configuració - - Global State - Estat global + + &Switch Renderer + Alternar el renderitzador - - &Screenshot - &Captura de pantalla + + &Input Recording + Gravar l'entrada - - Start File - In Toolbar - Inicia un fitxer + + Start D&isc... + Inicia un disc... - + Start Disc In Toolbar Inicia un disc - + Start BIOS In Toolbar Inicia el BIOS - + Shut Down In Toolbar Apaga - + Reset In Toolbar Reinicia - + Pause In Toolbar Pausa - + Load State In Toolbar Carrega un estat - + Save State In Toolbar Desa l'estat - + + &Emulation + Emulació + + + Controllers In Toolbar Comandaments - + + Achie&vements + Assoliments + + + + &Fullscreen + Pantalla completa + + + + &Interface + Interfície + + + + Add Game &Directory... + Afegir carpeta de jocs... + + + Settings In Toolbar Paràmetres - + + &From File... + Des del fitxer... + + + + From &Device... + Des del dispositiu... + + + + From &Game List... + Des de la llista de jocs... + + + + &Remove Disc + Treu el disc + + + Screenshot In Toolbar Captura de pantalla - + &Memory Cards Targetes de memòria - + &Network && HDD &Xarxa i disc dur - + &Folders &Carpetes - + &Toolbar &Barra d'eines - - Lock Toolbar - Bloquejar barra de tasques + + Show Titl&es (Grid View) + Mostra els títols (Vísta en quadrícula) - - &Status Bar - &Barra d'estat + + &Open Data Directory... + Obre la carpeta de dades... - - Verbose Status - Estat detallat + + &Toggle Software Rendering + Alternar el programari de renderització - - Game &List - Llista de jocs + + &Open Debugger + Obre el depurador - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Mostrar &sistema + + &Reload Cheats/Patches + Recarrega els Trucs/Pedaços - - Game &Properties - Propietats del &joc + + E&nable System Console + Haibilitar la consola del sistema - - Game &Grid - Quadrícula de Jocs + + Enable &Debug Console + Habilitar la consola de depuració - - Show Titles (Grid View) - Mostrar títols (Vista en quadrícula) + + Enable &Log Window + Habilitar la finestra de registre - - Zoom &In (Grid View) - Ampliar mida (Vista de quadrícula) + + Enable &Verbose Logging + Habilitar el registre detallat - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Habilitar la consola de regsitre del EE - - Zoom &Out (Grid View) - Disminuir mida (Vista de quadrícula) + + Enable &IOP Console Logging + Habilitar la consola de registre del IOP - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Desar diversos fotogrames del GS - - Refresh &Covers (Grid View) - Refresca les caràtules (Visualització en graella) + + &New + This section refers to the Input Recording submenu. + Nou - - Open Memory Card Directory... - Obrir carpeta de la targeta de memòria... + + &Play + This section refers to the Input Recording submenu. + Reprodueix - - Open Data Directory... - Obrir carpeta de dades... + + &Stop + This section refers to the Input Recording submenu. + Aturar - - Toggle Software Rendering - Alternar programari de renderització + + &Controller Logs + Registres del controlador - - Open Debugger - Obre depurador + + &Input Recording Logs + Registres de gravació d'entrada - - Reload Cheats/Patches - Recarregar Trucs/Pedaçs + + Enable &CDVD Read Logging + Habilitar registres de lectures del CDVD - - Enable System Console - Habilitar la consola de depuració + + Save CDVD &Block Dump + Desar abocats del bloc del CDVD - - Enable Debug Console - Habilitar la consola de depuració + + &Enable Log Timestamps + Habilitar les marques de temps en els registres - - Enable Log Window - Activar finestra de registre + + Start Big Picture &Mode + Inicia el mode Big Picture - - Enable Verbose Logging - Habilitar el registre detallat + + &Cover Downloader... + Descarregar les caràtules... - - Enable EE Console Logging - Habilitar la consola de registre del EE + + &Show Advanced Settings + Mostra les opcions avançades - - Enable IOP Console Logging - Habilitar consola de registre del IOP + + &Recording Viewer + Visualitzador de gravacions - - Save Single Frame GS Dump - Desar diversos fotogrames del GS + + &Video Capture + Captura de vídeo - - New - This section refers to the Input Recording submenu. - Nou + + &Edit Cheats... + Editar els trucs... - - Play - This section refers to the Input Recording submenu. - Reprodueix + + Edit &Patches... + Editar els pedaços... - - Stop - This section refers to the Input Recording submenu. - Atura + + &Status Bar + &Barra d'estat - - Settings - This section refers to the Input Recording submenu. - Paràmetres + + + Game &List + Llista de jocs - - - Input Recording Logs - Registres de gravació d'entrada + + Loc&k Toolbar + Bloquejar la barra de tasques - - Controller Logs - Registres del controlador + + &Verbose Status + Estat detallat - - Enable &File Logging - Habilitar el registre en arxiu + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Mostrar &sistema - - Enable CDVD Read Logging - Habilitar registres de lectures del CDVD + + Game &Properties + Propietats del &joc - - Save CDVD Block Dump - Desar abocat del bloc del CDVD + + Game &Grid + Quadrícula de Jocs - - Enable Log Timestamps - Habilitar les marques de temps en els registres + + Zoom &In (Grid View) + Ampliar mida (Vista de quadrícula) - - + + Ctrl++ + Ctrl++ + + + + Zoom &Out (Grid View) + Disminuir mida (Vista de quadrícula) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresca les caràtules (Visualització en graella) + + + + Open Memory Card Directory... + Obrir carpeta de la targeta de memòria... + + + + Input Recording Logs + Registres de gravació d'entrada + + + + Enable &File Logging + Habilitar el registre en arxiu + + + Start Big Picture Mode Inicia el mode Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Baixar caràtules... - - - - + Show Advanced Settings Mostra opcions avançades - - Recording Viewer - Visualitzador de gravacions - - - - + Video Capture Captura de vídeo - - Edit Cheats... - Editar trucs... - - - - Edit Patches... - Editar pedaços... - - - + Internal Resolution Resolució interna - + %1x Scale %1x Escala - + Select location to save block dump: Seleccionar ubicació per desar l'abocament del bloc: - + Do not show again No ho tornis a mostrar - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16054,297 +16127,297 @@ L'equip de PCSX2 no donarà suport si canvies aquesta configuració. Estàs segur que vols continuar? - + %1 Files (*.%2) %1 Arxius (*.%2) - + WARNING: Memory Card Busy ATENCIÓ: Targeta de memòria en ús - + Confirm Shutdown Confirmeu l'apagament - + Are you sure you want to shut down the virtual machine? Segur que vols apagar la màquina virtual? - + Save State For Resume Desa l'estat per més endavant - - - - - - + + + + + + Error Error - + You must select a disc to change discs. Has de seleccionar un disc per poder canviar de disc. - + Properties... Propietats... - + Set Cover Image... Estableix caràtula del joc... - + Exclude From List Excloure de la llista - + Reset Play Time Reiniciar temps de joc - + Check Wiki Page Comprova pàgina wiki - + Default Boot Arrencada predeterminada - + Fast Boot Arrencada ràpida - + Full Boot Arrencada complerta - + Boot and Debug Inicia i depura - + Add Search Directory... Afegir directori de cerques... - + Start File Inicia un fitxer - + Start Disc Inicia un disc - + Select Disc Image Seleccionar imatge de disc - + Updater Error Error d’actualització - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Estàs intentant actualitzats PCSX2 a una versió que no es troba oficialment a PCSX2. Per evitar incompatibilitats, el gestor d'actualitzacions només està activat per compilacions oficials.</p><p>Per baixar una compilació oficial, visita el següent enllaç:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. L'actualització automàtica no funciona en aquest sistema operatiu. - + Confirm File Creation Confirmar la creació del fitxer - + The pnach file '%1' does not currently exist. Do you want to create it? L'arxiu pnach '%1' no existeix. Vols crear-lo? - + Failed to create '%1'. Error al crear '%1'. - + Theme Change Canviar el tema - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Canviar el tema, tancarà la finestra de depuració. Qualsevol canvi no desat es perdrà. Estàs segur que vols continuar? - + Input Recording Failed Error en la gravació d'entrada - + Failed to create file: {} No s'ha pogut crear el fitxer: {} - + Input Recording Files (*.p2m2) Arxius de gravació d'entrada (*.p2m2) - + Input Playback Failed Error en la reproducció d'entrada - + Failed to open file: {} Error en obrir el fitxer: {} - + Paused En pausa - + Load State Failed Error al carregar estat - + Cannot load a save state without a running VM. No es pot carregar l'estat desat sense una VM en funcionament. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? No es pot carregar el nou ELF sense reiniciar la màquina virtual. Vols reiniciar-la ara? - + Cannot change from game to GS dump without shutting down first. No es pot canviar d'un joc a un abocament del GS sense apagar primer la màquina virtual. - + Failed to get window info from widget Error en obtenir informació de la finestra a través del widget - + Stop Big Picture Mode Atura el mode Big Picture - + Exit Big Picture In Toolbar Sortir mode Big Picture - + Game Properties Propietats del joc - + Game properties is unavailable for the current game. Les propietats del joc no estan disponibles pel joc actual. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. No es pot trobar cap dispositiu de CD o DVD. Comprova que has connectat correctament el lector i que tens permisos per accedir-hi. - + Select disc drive: Seleccionar disc dur: - + This save state does not exist. Aquest estat desat no existeix. - + Select Cover Image Seleccionar caràtula del joc - + Cover Already Exists La caràtula ja existeix - + A cover image for this game already exists, do you wish to replace it? Ja existeix una caràtula per aquest joc, la vols substituir? - + + - Copy Error Error de còpia - + Failed to remove existing cover '%1' Error en eliminar la caràtula actual '%1' - + Failed to copy '%1' to '%2' Error al copiar '%1' to '%2' - + Failed to remove '%1' Error en eliminar '%1' - - + + Confirm Reset Confirmar reinici - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Tots els tipus d'imatge de caràtula (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Has de seleccionar un arxiu diferent per la caràtula actual. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16353,12 +16426,12 @@ This action cannot be undone. Aquesta acció no es pot desfer. - + Load Resume State Carregar l'estat de reinici - + A resume save state was found for this game, saved at: %1. @@ -16371,89 +16444,89 @@ Do you want to load this state, or start from a fresh boot? Vols carregar aquest estat, o vols començar un inici nou? - + Fresh Boot Arrencada nova - + Delete And Boot Esborrar i iniciar - + Failed to delete save state file '%1'. Error en eliminar arxiu de desat ràpid '%1'. - + Load State File... Carregar arxiu de desat... - + Load From File... Carrega des d'un fitxer... - - + + Select Save State File Seleccionar arxiu de desat ràpid - + Save States (*.p2s) Desar estats (*.p2s) - + Delete Save States... Suprimeix les captures d'estat... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Tots els tipus de fitxers (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Imatges d'una sola pista RAW (*.bin *.iso);;Fulls Cue (*.cue);;Fitxer descriptor de mèdia (*.mdf);;Imatges MAME CHD (*.chd);;Imatges CSO (*.cso);;Imatges ZSO (*.zso);;Imatges GZ (*.gz);;Executables ELF (*-elf);; Executables (*.irx);;Abocats GS (*.gs, *gs.xz, *.gs.zst);;Abocats Dump (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Tots els tipus de fitxer (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Imatges RAW de una pista (*.bin *.iso);;Fulls Cue(*.cue);;Fitxer descriptor mèdia (*.mdf);;Imatges MAME CHD(*.chd);;Imatges CSO (*.cso);;Imatges ZSO (*.zso);;Imatges GZ (*.gz);; Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> Avís: La targeta de memòria encara està escrivint dades. Apagar l'emulador ara DESTRUIRÀ DE FORMA IRREVERSIBLE LA TARGETA DE MEMÒRIA. Et recomanem fortament que tornis a la partida i així la targeta de memòria pugui acabar la feina.Estàs segur que vols apagar ara i DESTRUIR DE FORMA IRREVERSIBLE LA TARGETA DE MEMÒRIA? - + Save States (*.p2s *.p2s.backup) Desa estat (*.p2s *.p2s.backup) - + Undo Load State Desfés la càrrega de l'estat - + Resume (%2) Continuar (%2) - + Load Slot %1 (%2) Carrega la ranura %1 (%2) - - + + Delete Save States Suprimeix les captures d'estat - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16462,42 +16535,42 @@ The saves will not be recoverable. Els estats desats no es podran recuperar. - + %1 save states deleted. %1 estat de desat ha sigut eliminat. - + Save To File... Desa en un fitxer... - + Empty Buit - + Save Slot %1 (%2) Desa a la ranura %1 (%2) - + Confirm Disc Change Confirmar canvi disc - + Do you want to swap discs or boot the new image (via system reset)? Vols canviar el disc o iniciar des d'una nova imatge (amb el reinici del sistema)? - + Swap Disc Inicia un disc - + Reset Reiniciar @@ -16520,25 +16593,25 @@ Els estats desats no es podran recuperar. MemoryCard - - + + Memory Card Creation Failed Error en la creació de la targeta de memòria - + Could not create the memory card: {} No es pot crear la targeta de memòria: {} - + Memory Card Read Failed Error en la lectura de la targeta de memòria - + Unable to access memory card: {} @@ -16555,28 +16628,33 @@ Tanca qualsevol execució de PCSX2, o reinicia l'equip. - - + + Memory Card '{}' was saved to storage. La targeta de memòria '{}' ha sigut emmagatzemada. - + Failed to create memory card. The error was: {} Error en crear la targeta de memòria. L'error ha sigut: {} - + Memory Cards reinserted. Targetes de memòria inserides. - + Force ejecting all Memory Cards. Reinserting in 1 second. Força l'ejecció de totes les targetes de memòria. Reinserint-les en 1 segon. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + La consola virtual no s'ha desat a la targeta de memòria des de fa una estona. No es recomana fer servir els desats ràpids com a substituts dels desats de dins de joc. + MemoryCardConvertDialog @@ -17368,7 +17446,7 @@ Aquesta acció no es pot desfer, i es perdrà qualsevol partida desada que hi ha Veure en visualitzador de memòria - + Cannot Go To No es pot anar a @@ -18208,12 +18286,12 @@ Expulsant {3} i reemplaçant-lo per {2}. Patch - + Failed to open {}. Built-in game patches are not available. Error en obrir {}. Els pedaços de joc integrats no estan disponibles. - + %n GameDB patches are active. OSD Message @@ -18222,7 +18300,7 @@ Expulsant {3} i reemplaçant-lo per {2}. - + %n game patches are active. OSD Message @@ -18231,7 +18309,7 @@ Expulsant {3} i reemplaçant-lo per {2}. - + %n cheat patches are active. OSD Message @@ -18240,7 +18318,7 @@ Expulsant {3} i reemplaçant-lo per {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No s'han trobat trucs ni pedaços (pantalla panoràmica, compatibilitat o altres). @@ -18341,47 +18419,47 @@ Expulsant {3} i reemplaçant-lo per {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Sessió iniciada com %1 (%2 punts, en mode normal: %3 punts). %4 missatges sense llegir. - - + + Error Error - + An error occurred while deleting empty game settings: {} Ha ocorregut un error en eliminar uns ajustaments del joc en blanc {} - + An error occurred while saving game settings: {} Ha ocorregut un error en desar la configuració del joc: {} - + Controller {} connected. Controlador {} no connectat. - + System paused because controller {} was disconnected. Sistema pausat perquè el controlador {} està desconnectat. - + Controller {} disconnected. Controlador {} desconnectat. - + Cancel Cancel·lar @@ -18514,7 +18592,7 @@ Expulsant {3} i reemplaçant-lo per {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21728,42 +21806,42 @@ Escanejar de manera contínua tarda més temps, però trobarà jocs en les subca VMManager - + Failed to back up old save state {}. Error en intentar recuperar un estat desat {}. - + Failed to save save state: {}. Error en desar l'estat: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Joc desconegut - + CDVD precaching was cancelled. S'ha cancel·lat la precàrrega del CDVD. - + CDVD precaching failed: {} Error al precarregar el CDVD: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21780,271 +21858,271 @@ Un cop hagis abocat una imatge de la BIOS, has de guardar-la a la carpeta Bios ( Per més intruccinos, pots consultar la pàgina de preguntes freqüents (FAQ) i les guíes. - + Resuming state Reprenent estat - + Boot and Debug Inicia i depura - + Failed to load save state Error en carregar estat desat - + State saved to slot {}. Estat desat a la ranura {}. - + Failed to save save state to slot {}. Error en fer desat ràpid a la ranura {}. - - + + Loading state Carregant estat - + Failed to load state (Memory card is busy) Error en carregar l'estat (La targeta de memòria està ocupada) - + There is no save state in slot {}. No hi ha cap estat desat a la ranura {}. - + Failed to load state from slot {} (Memory card is busy) Error en carregar l'estat de la ranura {} (La targeta de memòria està en ús) - + Loading state from slot {}... Carregant estat de la ranura {}... - + Failed to save state (Memory card is busy) Error en carregar l'estat (La targeta de memòria està ocupada) - + Failed to save state to slot {} (Memory card is busy) Error en desar estat a la ranura {} (La targeta de memòria està plena) - + Saving state to slot {}... Desant estat a la ranua {}... - + Frame advancing Avançar fotograma - + Disc removed. Disc extret. - + Disc changed to '{}'. Disc canviat a '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Error en obrir un nou disc d'imatge '{}'. Retornant a la imatge anterior. L'error ha sigut: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Error en canviar la imatge de disc antic. Extraient disc. L'error ha sigut: {} - + Cheats have been disabled due to achievements hardcore mode. S'ha desactivat els trucs a causa que el mode difícil d'assoliments està activat. - + Fast CDVD is enabled, this may break games. El mode CDVD està habilitat, això pot provocar errors en alguns jocs. - + Cycle rate/skip is not at default, this may crash or make games run too slow. La freqüència o l'omissió de cicles no està en els valors predeterminats: pot provocar errors o que els jocs s'emulin a baixa velocitat. - + Upscale multiplier is below native, this will break rendering. El valor d'escala està per sota del valor natiu: fallarà el renderitzat. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping està desactivat. Pot fallar el renderitzat en alguns jocs. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. El renderitzador no està fixat a automàtic. Això pot causar problemes de rendiment i errors gràfics. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. El filtre de textures no està configurat com Bilineal (PS2). Pot fallar el renderitzat en alguns jocs. - + No Game Running Cap joc executant-se - + Trilinear filtering is not set to automatic. This may break rendering in some games. El filtre trilineal no està configurat en automàtic. Pot provocar errors de renderització en alguns jocs. - + Blending Accuracy is below Basic, this may break effects in some games. La precisió de la mescla està configurada per sota del nivell bàsic: alguns efectes dels jocs poden fallar. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. El mode de descàrrega de jocs no està configurat com a precís, pot fallar el renderitzat en alguns jocs. - + EE FPU Round Mode is not set to default, this may break some games. El mode d'arrodoniment de EE FPU no està configurat en el seu valor predeterminat. - + EE FPU Clamp Mode is not set to default, this may break some games. El mode de limitació de EE FPU no està configurat en el seu valor predeterminat, poden fallar alguns jocs. - + VU0 Round Mode is not set to default, this may break some games. El mode d'arrodoniment de la VU0 no està configurat al seu valor predeterminat: poden fallar alguns jocs. - + VU1 Round Mode is not set to default, this may break some games. El mode de limitació de les VU1 no està configurat en el seu valor predeterminat: poden fallar alguns jocs. - + VU Clamp Mode is not set to default, this may break some games. El mode de limitació de les VU no està configurat en el seu valor predeterminat: poden fallar alguns jocs. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM està activat. La compatibilitat amb alguns jocs es pot veure afectada. - + Game Fixes are not enabled. Compatibility with some games may be affected. Les correccions dels jocs no estan activades. Pot afectar la compatibilitat amb alguns jocs. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Les correccions dels jocs no estan activades. Pot afectar la compatibilitat amb alguns jocs. - + Frame rate for NTSC is not default. This may break some games. La velocitat de fotogrames NTSC no té un valor predeterminat: poden fallar alguns jocs. - + Frame rate for PAL is not default. This may break some games. La velocitat de fotogrames PAL no té un valor predeterminat: poden fallar alguns jocs. - + EE Recompiler is not enabled, this will significantly reduce performance. El compilador del EE no està activat: pot reduir significativament el rendiment. - + VU0 Recompiler is not enabled, this will significantly reduce performance. El compilador VU0 no està activat, pot reduir significativament el rendiment. - + VU1 Recompiler is not enabled, this will significantly reduce performance. El compilador VU1 no està activat, pot reduir significativament el rendiment. - + IOP Recompiler is not enabled, this will significantly reduce performance. El compilador IOP no està activat, pot reduir significativament el rendiment. - + EE Cache is enabled, this will significantly reduce performance. La Caché EE està activada, això reduirà el rendiment significativament. - + EE Wait Loop Detection is not enabled, this may reduce performance. La detecció de bucles EE Wait no està activada, pot reduir el rendiment. - + INTC Spin Detection is not enabled, this may reduce performance. La detecció de bucles INTC no està activada: pot reduir el rendiment. - + Fastmem is not enabled, this will reduce performance. Memòria ràpida no està activada, això redueix la velocitat d'emulació. - + Instant VU1 is disabled, this may reduce performance. La instantània VU1 està desactivada, això podria reduir la velocitat d'emulació. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack no està activat, això redueix la velocitat d'emulació. - + GPU Palette Conversion is enabled, this may reduce performance. La conversió de paletes a la GPU està activada: es pot reduir el rendiment. - + Texture Preloading is not Full, this may reduce performance. La precàrrega de textures no està completa, això pot reduir el rendiment. - + Estimate texture region is enabled, this may reduce performance. El càlcul de regions de textures està activat: pot reduir el rendiment. - + Texture dumping is enabled, this will continually dump textures to disk. L'abocament de textures està activat, es volcaran de manera contínua. diff --git a/pcsx2-qt/Translations/pcsx2-qt_cs-CZ.ts b/pcsx2-qt/Translations/pcsx2-qt_cs-CZ.ts index 5918bbd9d0468..b5a98f6c1720d 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_cs-CZ.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_cs-CZ.ts @@ -47,7 +47,7 @@ Third-Party Licenses - + Licence třetích stran @@ -354,10 +354,10 @@ Přihlašovací token vygenerován na: %n seconds - - %n seconds - %n seconds - %n seconds + + %n sekunda + %n sekundy + %n sekund %n sekund/y @@ -459,11 +459,11 @@ Přihlašovací token vygenerován %2. %n points Mastery popup - + + %n bod + %n body + %n bodů %n bodů - %n points - %n points - %n points @@ -553,7 +553,7 @@ Nepřečtené zprávy: {2} Leaderboard Download Failed - Leaderboard Download Failed + Stahování žebříčku selhalo @@ -742,307 +742,318 @@ Pozice v žebříčku: {1} z {2} Použít Globální Nastavení [%1] - + Rounding Mode Režím Zaokrouhlovaní - - - + + + Chop/Zero (Default) Chop/Zero (výchozí) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Změní způsob zaokrouhlování PCSX2 při emulaci Emotion Engine's plovoucím bodem (EE FPU). Vzhledem k tomu, že různé FPU, které jsou v PS2, nejsou v souladu s mezinárodními standardy, některé hry mohou potřebovat různé režimy, aby se matematika správně vyrovnala. Standardní hodnota se řídí převážnou většinou her, <b>upravením tohoto nastavení, když hra nemá viditelný problém, může způsobit nestabilitu.</b> - + Division Rounding Mode Režim zaokrouhlování divizí - + Nearest (Default) Nejbližší (výchozí) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Určuje způsob zaokrouhlování výsledků dělby s pohyblivou řádovou čárkou. Některé hry vyžadují specifické nastavení; <b>upravující toto nastavení, pokud hra nemá viditelný problém, může způsobit nestabilitu.</b> - + Clamping Mode Režim upínání - - - + + + Normal (Default) Normální (Výchozí) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Změní způsob, jakým PCSX2 ovládá ovládání plováků ve standardním rozsahu x86. Standardní hodnota se řídí převážnou většinou her, <b>změna tohoto nastavení, když hra nemá viditelný problém, může způsobit nestabilitu.</b> - - + + Enable Recompiler Povolit Rekompilátor - + - - - + + + - + - - - - + + + + + Checked Zaškrtnuto - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Provede just-in-time binární překlad 64-bitového MIPS-I strojového kódu do x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Detekce smyčky čekání - + Moderate speedup for some games, with no known side effects. Mírné zrychlení pro některé hry, bez známých vedlejších efektů. - + Enable Cache (Slow) Povolit Vyrovnávací Paměť (Pomalé) - - - - + + + + Unchecked Nezaškrtnuto - + Interpreter only, provided for diagnostic. Jenom interpreter, určeno pro diagnostiku. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Detekce mezery INTC - + Huge speedup for some games, with almost no compatibility side effects. Obrovské zrychlení pro některé hry, téměř bez vedlejších efektů kompatibility. - + Enable Fast Memory Access Povolit Rychlý Přístup k Paměti - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Používá backpatching k tomu, aby se zabránilo plombování při každém přístupu k paměti. - + Pause On TLB Miss Pozastavit na TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Prokazuje virtuální počítač v případě selhání TLB, místo aby jej ignoroval a pokračoval. Poznamenejte si, že VM se pozastaví po skončení bloku, ne na pokyn, který způsobil výjimku. Pro zobrazení adresy, kde došlo k neplatnému přístupu, se podívejte do konzoly. - + Enable 128MB RAM (Dev Console) Povolit 128MB RAM (Vývojářská konzole) - + Exposes an additional 96MB of memory to the virtual machine. Vystavuje dalších 96MB paměti virtuálnímu počítači. - + VU0 Rounding Mode Režím Zaokrouhlovaní VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Změní způsob zaokrouhlování PCSX2 při emulaci Emotion Engine's vektor 0 (EE VU0). Standardní hodnota se řídí převážnou většinou her, <b>upravením tohoto nastavení, pokud hra nemá viditelný problém, způsobí problémy se stabilitou nebo pády.</b> - + VU1 Rounding Mode Režím Zaokrouhlovaní VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Změní způsob zaokrouhlování PCSX2 při emulaci Emotion Engine's vektor 1 (EE VU1). Standardní hodnota se řídí převážnou většinou her, <b>upravením tohoto nastavení, pokud hra nemá viditelný problém, způsobí problémy se stabilitou nebo pády.</b> - + VU0 Clamping Mode Režím Zaokrouhlovaní VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Změní způsob, jakým PCSX2 ovládá plováky ve standardním rozsahu x86 v Emotion Engine's vektor 0 (EE VU0). Standardní hodnota se řídí převážnou většinou her, <b>upravením tohoto nastavení, když hra nemá viditelný problém, může způsobit nestabilitu.</b> - + VU1 Clamping Mode Režím Zaokrouhlovaní VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Změní způsob, jakým PCSX2 ovládá plováky ve standardním rozsahu x86 v Emotion Engine's vektor 1 (EE VU1). Standardní hodnota se řídí převážnou většinou her, <b>upravením tohoto nastavení, když hra nemá viditelný problém, může způsobit nestabilitu.</b> - + Enable Instant VU1 Povolit Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Spustí VU1 okamžitě. Poskytuje mírné zlepšení rychlosti ve většině her. Je to bezpečné pro většinu her, ale některé hry můžou vykazovat grafické chyby. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Povolit Rekompilátor VU0 (Mikro Režim) - + Enables VU0 Recompiler. Povolí Rekompilátor VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Povolit Rekompilátor VU1 - + Enables VU1 Recompiler. Povolí Rekompilátor VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Hack mVU značky - + Good speedup and high compatibility, may cause graphical errors. Dobré zrychlení a vysoká kompatibilita, múže způsobit grafické chyby. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Provede just-in-time binární překlad 32-bitového MIPS-I strojového kódu do x86. - + Enable Game Fixes Zapnout opravy her - + Automatically loads and applies fixes to known problematic games on game start. Automaticky načte a použije opravy u problematických her při jejich spuštění. - + Enable Compatibility Patches Zapnout záplaty kompatibility - + Automatically loads and applies compatibility patches to known problematic games. Automaticky načte a aplikuje opravy kompatibility na známé problematické hry. - + Savestate Compression Method - Savestate Compression Method + Metoda komprese uložených pozic - + Zstandard - Zstandard + Zstandard - + Determines the algorithm to be used when compressing savestates. - Determines the algorithm to be used when compressing savestates. + Určuje algoritmus, který bude použit při kompresi uložených pozic. - + Savestate Compression Level - Savestate Compression Level + Úroveň komprese uložených pozic - + Medium - Medium + Střední - + Determines the level to be used when compressing savestates. - Determines the level to be used when compressing savestates. + Určuje úroveň použitou při kompresi uložených pozic. - + Save State On Shutdown - Save State On Shutdown + Uložit pozici při vypnutí - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + Automaticky uloží stav emulátoru při vypnutí nebo ukončení aplikace. Příště pak můžete pokračovat přímo z místa, kde jste skončili. - + Create Save State Backups - Create Save State Backups + Vytvořit zálohy uložených pozic - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1262,102 +1273,107 @@ Pozice v žebříčku: {1} z {2} Create Save State Backups - Create Save State Backups + Vytvořit zálohy uložených pozic - + Save State On Shutdown - Save State On Shutdown + Uložit pozici při vypnutí - + Frame Rate Control Ovládání snímkovací frekvence - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL snímkovací frekvence: - + NTSC Frame Rate: NTSC snímkovací frekvence: Savestate Settings - Savestate Settings + Nastavení uložených pozic Compression Level: - Compression Level: + Úroveň komprese: - + Compression Method: - Compression Method: + Metoda komprese: Uncompressed - Uncompressed + Nekomprimované Deflate64 - Deflate64 + Deflate64 Zstandard - Zstandard + Zstandard LZMA2 - LZMA2 + LZMA2 Low (Fast) - Low (Fast) + Nízká (rychlé) Medium (Recommended) - Medium (Recommended) + Střední (doporučeno) High - High + Vysoká Very High (Slow, Not Recommended) - Very High (Slow, Not Recommended) + Velmi vysoká (pomalé, nedoporučeno) + + + + Use Save State Selector + Use Save State Selector - + PINE Settings Nastavení PINE - + Slot: Sloty: - + Enable Zapnout @@ -1372,22 +1388,22 @@ Pozice v žebříčku: {1} z {2} Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. - Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + Změny zde provedené nebudou uloženy. Upravte je v globálním nastavení nebo nastavení pro jednotlivé hry, aby vaše změny nabyly účinnosti pro budoucí průběhy analýzy. Close dialog after analysis has started - Close dialog after analysis has started + Zavřít dialogové okno po zahájení analýzy Analyze - Analyze + Analyzovat Close - Close + Zavřít @@ -1878,15 +1894,15 @@ Pozice v žebříčku: {1} z {2} AutoUpdaterDialog - - + + Automatic Updater Automatické aktualizace Update Available - Je k dispozici aktualizace + Aktualizace je k dispozici @@ -1919,68 +1935,68 @@ Pozice v žebříčku: {1} z {2} Připomenout později - - + + Updater Error Chyba aktualizace - + <h2>Changes:</h2> <h2>Změny:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Upozornění</h2><p>Instalace této aktualizace způsobí to, že vaše Save Staty se stanou<b>Nekompatibilními</b>. Ujistěte se prosím, že jste si uložili hru na Paměťovou Kartu před instalovaním této aktualizace. Pokud tak neučiníte, ztratíte postup.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Varovaní ohledně Nastavení</h2><p>Instalace této aktualizace obnoví výchozí konfigurace programu. Berte prosím na vědomí, že budete muset překonfigurovat své nastavení po aktualizaci.</p> - + Savestate Warning - Varovaní ohledně Save Statů + Varování o uložených pozicích - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>VAROVÁNÍ</h1><p style='font-size:12pt;'>Instalace této aktualizace učiní vaše <b>Save Staty nekompatibilními</b>, <i>Ujistěte se, že před pokračováním</i>uložíte veškerý svůj postup do paměťových karet.</p><p>Přejete si pokračovat?</p> - + Downloading %1... Stahování %1... - + No updates are currently available. Please try again later. Nejsou k dispozici žádné aktualizace. Zkuste to prosím později. - + Current Version: %1 (%2) Současná verze: %1 (%2) - + New Version: %1 (%2) Nová verze: %1 (%2) - + Download Size: %1 MB Velikost stahování: %1 MB - + Loading... Načítání... - + Failed to remove updater exe after update. Nepodařilo se odstranit aktualizační exe soubor po aktualizaci. @@ -2144,21 +2160,21 @@ Pozice v žebříčku: {1} z {2} Zapnout - - + + Invalid Address - Invalid Address + Neplatná adresa - - + + Invalid Condition - Invalid Condition + Neplatná podmínka - + Invalid Size - Invalid Size + Neplatná velikost @@ -2246,17 +2262,17 @@ Pozice v žebříčku: {1} z {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - Umístění herního disku je na vyjímatelném disku, mohou nastat problémy s výkonem, jako je rozjíždění a zmrazování. + Herní disk je umístěn na vyměnitelné jednotce, mohou nastat problémy s výkonem, jako je trhání a zmrazování obrazu. - + Saving CDVD block dump to '{}'. Ukládání dumpu CDVD bloku do '{}'. - + Precaching CDVD Precaching CDVD @@ -2281,7 +2297,7 @@ Pozice v žebříčku: {1} z {2} Neznámý - + Precaching is not supported for discs. Precaching není pro disky podporován. @@ -2659,7 +2675,7 @@ Pozice v žebříčku: {1} z {2} Face Buttons - Face Buttons + Akční tlačítka @@ -2747,7 +2763,7 @@ Pozice v žebříčku: {1} z {2} Face Buttons - Face Buttons + Akční tlačítka @@ -3238,29 +3254,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Odstranit profil - + Mapping Settings Nastavení mapování - - + + Restore Defaults Obnovit výchozí nastavení - - - + + + Create Input Profile Vytvořit vstupní profil - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3271,40 +3292,43 @@ Chcete-li na hru použít vlastní vstupní profil, přejděte na jeho vlastnost Zadejte název nového vstupního profilu: - - - - + + + + + + Error Chyba - + + A profile with the name '%1' already exists. Profil s názvem '%1' již existuje. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Chcete zkopírovat všechny vazby z aktuálně vybraného profilu do nového profilu? Výběrem Ne se vytvoří zcela prázdný profil. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Chcete zkopírovat současné vazby klávesy z globálního nastavení do nového vstupního profilu? - + Failed to save the new profile to '%1'. Nepodařilo se uložit nový profil do '%1'. - + Load Input Profile Načíst vstupní profil - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3317,12 +3341,27 @@ Všechny současné globální vazby budou odstraněny a načteny vazby profilu. Nelze vrátit zpět tuto akci. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Odstranit vstupní profil - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3331,12 +3370,12 @@ You cannot undo this action. Tuto akci nelze vrátit zpět. - + Failed to delete '%1'. Nepodařilo se odstranit '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3349,13 +3388,13 @@ Všechny sdílené mapování a konfigurace budou ztraceny, ale vaše vstupní p Tuto akci nelze vrátit zpět. - + Global Settings Obecné nastavení - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3363,8 +3402,8 @@ Tuto akci nelze vrátit zpět. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3372,26 +3411,26 @@ Tuto akci nelze vrátit zpět. %2 - - + + USB Port %1 %2 Port USB %1 %2 - + Hotkeys Klávesové zkratky - + Shared "Shared" refers here to the shared input profile. Sdílené - + The input profile named '%1' cannot be found. Vstupní profil s názvem '%1' nebyl nalezen. @@ -3416,12 +3455,12 @@ Tuto akci nelze vrátit zpět. By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. - By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. + Ve výchozím nastavení budou stažené obálky uloženy pod sériovým číslem hry, aby se zajistilo, že obálky zůstanou kompatibilní se změnami v GameDB a aby tituly s regionálními variantami nebyly v rozporu. Pokud tohle není žádoucí, můžete níže zaškrtnout políčko "Použít titul pro název souboru". Use Title File Names - Use Title File Names + Použít titul pro název souboru @@ -3983,98 +4022,98 @@ Chcete jej přepsat? Import Symbols - Import Symbols + Importovat symboly Import From ELF - Import From ELF + Importovat z ELF Demangle Symbols - Demangle Symbols + Opravit symboly Demangle Parameters - Demangle Parameters + Opravit parametry Import Default .sym File - Import Default .sym File + Importovat výchozí .sym soubor Import from file (.elf, .sym, etc): - Import from file (.elf, .sym, etc): + Importovat ze souboru (.elf, .sym, atd.): - + Add - Add + Přidat - + Remove - Remove + Odebrat - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions - Gray Out Symbols For Overwritten Functions + Znevýraznit symboly pro přepsané funkce @@ -4089,22 +4128,22 @@ Chcete jej přepsat? Automatically delete symbols that were generated by any previous analysis runs. - Automatically delete symbols that were generated by any previous analysis runs. + Automaticky odstranit symboly, které byly vygenerovány předchozími analýzami. Import symbol tables stored in the game's boot ELF. - Import symbol tables stored in the game's boot ELF. + Importovat tabulky symbolů uložené v bootovacím ELF souboru hry. Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. - Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. + Importovat symboly ze souboru .sym se stejným názvem jako nahraný ISO soubor na disku, pokud takový soubor existuje. Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. - Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + Provést demangle C++ symbolů během importu, aby byly funkce a globální názvy proměnných zobrazené v debuggeru čitelnější. @@ -4142,19 +4181,34 @@ Chcete jej přepsat? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> - <i>No symbol sources in database.</i> + <i>Žádné zdroje symbolů v databázi.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File - Add Symbol File + Přidat soubor symbolů @@ -4804,53 +4858,53 @@ Chcete jej přepsat? Debugger PCSX2 - + Run Spustit - + Step Into Vkročit - + F11 F11 - + Step Over Překročit - + F10 F10 - + Step Out Vykročit - + Shift+F11 Shift+F11 - + Always On Top Vždy navrchu - + Show this window on top Zobrazit toto okno nahoře - + Analyze Analyze @@ -4868,48 +4922,48 @@ Chcete jej přepsat? Demontáž - + Copy Address Kopírovat adresu - + Copy Instruction Hex Kopírovat instrukci (hex) - + NOP Instruction(s) Instrukce NOP - + Run to Cursor Spustit ke kurzoru - + Follow Branch Sledovat větev - + Go to in Memory View Přejít do Zobrazení paměti - + Add Function Přidat funkci - - + + Rename Function Přejmenovat funkci - + Remove Function Odstranit funkci @@ -4930,23 +4984,23 @@ Chcete jej přepsat? Instrukce sestavení - + Function name Název funkce - - + + Rename Function Error Chyba přejmenování funkce - + Function name cannot be nothing. Název funkce nemůže být prázdné. - + No function / symbol is currently selected. Aktuálně není vybrána žádná funkce / symbol. @@ -4956,72 +5010,72 @@ Chcete jej přepsat? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Chyba obnovení funkce - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Kopírovat instrukci (text) - + Copy Function Name Kopírovat název funkce - + Restore Instruction(s) Obnovit instrukce - + Asse&mble new Instruction(s) Sest&avit nové instrukce - + &Jump to Cursor &Přejít na kurzor - + Toggle &Breakpoint Přepnout &bod přerušení - + &Go to Address &Přejít na adresu - + Restore Function Obnovit funkci - + Stub (NOP) Function Funkce stub (NOP) - + Show &Opcode Zobrazit &operační kód - + %1 NOT VALID ADDRESS %1 NEPLATNÁ ADRESA @@ -5048,86 +5102,86 @@ Chcete jej přepsat? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3 % | VU: %4 % | GS: %5 % + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3 % | GS: %4 % + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Bez obrázku - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Hra: %1 (%2) - + Rich presence inactive or unsupported. Rich Presence neaktivní nebo nepodporovaná. - + Game not loaded or no RetroAchievements available. Hra není načtena nebo nejsou k dispozici žádné RetroAchievementy. - - - - + + + + Error Chyba - + Failed to create HTTPDownloader. Nepodařilo se vytvořit HTTPDownloader. - + Downloading %1... Stahování %1... - + Download failed with HTTP status code %1. Stahování selhalo se stavovým kódem HTTP %1. - + Download failed: Data is empty. Stahování selhalo: Data jsou prázdná. - + Failed to write '%1'. Nepodařilo se zapsat '%1'. @@ -5501,81 +5555,76 @@ Chcete jej přepsat? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5709,342 +5758,342 @@ Tato URL byla: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Nebyla nalezena žádná CD/DVD-ROM zařízení. Ujistěte se, že máte připojenou jednotku a dostatečná oprávnění pro přístup. - + Use Global Setting Použít globální nastavení - + Automatic binding failed, no devices are available. Automatické mapování selhalo, nejsou k dispozici žádná zařízení. - + Game title copied to clipboard. Název hry zkopírován do schránky. - + Game serial copied to clipboard. Sériové číslo hry zkopírováno do schránky. - + Game CRC copied to clipboard. CRC kód hry zkopírován do schránky. - + Game type copied to clipboard. Typ hry zkopírován do schránky. - + Game region copied to clipboard. Region hry zkopírován do schránky. - + Game compatibility copied to clipboard. Kompatibilita hry zkopírována do schránky. - + Game path copied to clipboard. Cesta ke hře byla zkopírována do schránky. - + Controller settings reset to default. Nastavení ovladače obnoveno do výchozího stavu. - + No input profiles available. Žádné vstupní profily nejsou k dispozici. - + Create New... Vytvořit nový... - + Enter the name of the input profile you wish to create. Zadejte název vstupního profilu, který chcete vytvořit. - + Are you sure you want to restore the default settings? Any preferences will be lost. Opravdu chcete obnovit výchozí nastavení? Veškeré preference budou ztraceny. - + Settings reset to defaults. Nastavení obnoveno do výchozího stavu. - + No save present in this slot. V tomto slotu není žádná uložená položka. - + No save states found. Nebyly nalezeny žádné uložené pozice. - + Failed to delete save state. Nepodařilo se odstranit uloženou pozici. - + Failed to copy text to clipboard. Nepodařilo se zkopírovat text do schránky. - + This game has no achievements. Tato hra nemá žádné achievementy. - + This game has no leaderboards. Tato hra nemá žádné žebříčky. - + Reset System Resetovat systém - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore režim nebude povolen dokud systém nebude restartován. Chcete nyní restartovat systém? - + Launch a game from images scanned from your game directories. Spustit hru z obrázků naskenovaných z vašich herních adresářů. - + Launch a game by selecting a file/disc image. Spustit hru výběrem souboru/obrazu disku. - + Start the console without any disc inserted. Spustit konzoli bez vloženého disku. - + Start a game from a disc in your PC's DVD drive. Spustit hru z disku v DVD jednotce vašeho počítače. - + No Binding - No Binding + Nepřiřazeno - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Časový limit vyprší za %.0f sekund... - + Unknown Neznámé - + OK OK - + Select Device Vybrat zařízení - + Details Podrobnosti - + Options Možnosti - + Copies the current global settings to this game. Zkopíruje aktuální globální nastavení do této hry. - + Clears all settings set for this game. Vymaže všechna zvolená nastavení pro tuto hru. - + Behaviour Chování - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Zabrání aktivace spořiče obrazovky a režimu spánku v hostitelském systému, když je spuštěna emulace. - + Shows the game you are currently playing as part of your profile on Discord. Zobrazí hru, kterou právě hrajete jako součást vašeho profilu na Discordu. - + Pauses the emulator when a game is started. Pozastaví emulátor při spuštění hry. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pozastaví emulátor, když minimalizujete okno nebo přepnete na jinou aplikaci, a znova jej spustí když se vrátíte. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pozastaví emulátor, když otevřete rychlé menu, a po jeho zavření obnoví chod. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Určuje, zda bude zobrazena výzva k potvrzení vypnutí emulátoru/hry po stisknutí klávesové zkratky. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automaticky uloží stav emulátoru při vypnutí nebo ukončení aplikace. Příště pak můžete pokračovat přímo z místa, kde jste skončili. - + Uses a light coloured theme instead of the default dark theme. Použije světlý barevný motiv namísto výchozího tmavého motivu. - + Game Display Zobrazení hry - + Switches between full screen and windowed when the window is double-clicked. Dvojité kliknutí na okno přepíná zobrazení přes celou obrazovku anebo v okně. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Skryje ukazatel/kurzor myši, když je emulátor v režimu celé obrazovky. - + Determines how large the on-screen messages and monitor are. Určuje, jak velká je obrazovka a zpávy na ní zobrazené. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Zobrazí zprávy na obrazovce, když dojde k událostem, jako je vytvoření/načtení uložených pozic, pořízení snímků obrazovky atd. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Zobrazí aktuální rychlost emulace systému v pravém horním rohu displeje v procentech. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Zobrazí počet video snímků (neboli v-syncs) zobrazených systémem za sekundu v pravém horním rohu displeje. - + Shows the CPU usage based on threads in the top-right corner of the display. Zobrazí vytížení procesoru na základě vláken v pravém horním rohu displeje. - + Shows the host's GPU usage in the top-right corner of the display. Zobrazí vytížení GPU hostitele v pravém horním rohu displeje. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Zobrazí statistiky o GS (geometrická primitiva, draw calls) v pravém horním rohu displeje. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Zobrazí indikátory, pokud je aktivní rychlé přetáčení, pozastavení a další abnormální stavy. - + Shows the current configuration in the bottom-right corner of the display. Zobrazí aktuální konfiguraci v pravém dolním rohu displeje. - + Shows the current controller state of the system in the bottom-left corner of the display. Zobrazí aktuální stav ovladače systému v levém dolním rohu displeje. - + Displays warnings when settings are enabled which may break games. Zobrazí varování, pokud jsou povolena nastavení, která mohou porouchat hry. - + Resets configuration to defaults (excluding controller settings). Resetuje konfiguraci na výchozí hodnoty (kromě nastavení ovladačů). - + Changes the BIOS image used to start future sessions. Změní obraz BIOSu, který bude použit při příštím spuštění. - + Automatic Automaticky - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Výchozí - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6053,1977 +6102,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automaticky přepne do režimu celé obrazovky při spuštění hry. - + On-Screen Display Zobrazení na obrazovce - + %d%% %d %% - + Shows the resolution of the game in the top-right corner of the display. Zobrazí rozlišení hry v pravém horním rohu displeje. - + BIOS Configuration Konfigurace BIOSu - + BIOS Selection Výběr BIOSu - + Options and Patches Možnosti a patche - + Skips the intro screen, and bypasses region checks. Přeskočí úvodní obrazovku a obejde ověřování regionu. - + Speed Control Ovládání rychlosti - + Normal Speed Normální rychlost - + Sets the speed when running without fast forwarding. Nastaví rychlost při běhu bez rychlého přetáčení. - + Fast Forward Speed Rychlost rychlého přetáčení - + Sets the speed when using the fast forward hotkey. Nastaví rychlost při používání klávesy rychlého přetáčení. - + Slow Motion Speed Rychlost zpomaleného pohybu - + Sets the speed when using the slow motion hotkey. Nastaví rychlost při používání klávesy zpomalení. - + System Settings Systémová nastavení - + EE Cycle Rate Poměr EE cyklů - + Underclocks or overclocks the emulated Emotion Engine CPU. Podtaktuje nebo přetaktuje emulovaný procesor Emotion Engine. - + EE Cycle Skipping Přeskakování EE cyklů - + Enable MTVU (Multi-Threaded VU1) Povolit MTVU (vícevláknové VU1) - + Enable Instant VU1 Povolit okamžité VU1 - + Enable Cheats Povolit cheaty - + Enables loading cheats from pnach files. Umožňuje načítání cheatů ze souborů pnach. - + Enable Host Filesystem Povolit systém hostitelských souborů - + Enables access to files from the host: namespace in the virtual machine. Umožňuje přístup k souborům z hostitele: jmenný prostor ve virtuálním počítači. - + Enable Fast CDVD Povolit rychlé CDVD - + Fast disc access, less loading times. Not recommended. Rychlé čtení disku, méně načítání. Nedoporučeno. - + Frame Pacing/Latency Control Ovládání odezvy/časování snímků - + Maximum Frame Latency Maximální zpoždění snímku - + Sets the number of frames which can be queued. Nastaví počet snímků, které mohou být zařazeny do fronty. - + Optimal Frame Pacing Optimální tempo snímků - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronizovat vlákna EE a GS po každém snímku. Nejnižší latence vstupu, ale zvyšuje systémové požadavky. - + Speeds up emulation so that the guest refresh rate matches the host. Urychlí emulaci tak, aby se obnovovací frekvence hosta shodovala s hostitelem. - + Renderer Renderer - + Selects the API used to render the emulated GS. Vybere jakou API použít k renderování emulovaného GS. - + Synchronizes frame presentation with host refresh. Synchronizuje prezentování snímků s obnovovácí frekvencí hostitele. - + Display Obrazovka - + Aspect Ratio Poměr stran - + Selects the aspect ratio to display the game content at. Vybere poměr stran pro zobrazení herního obsahu. - + FMV Aspect Ratio Override - FMV Aspect Ratio Override + Přepsání poměru stran FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Vybere jaký poměr stran má být zobrazen, pokud je detekováno, že se přehrává FMV. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Vybere jaký algoritmus bude použit k převodu prokládaného videa PS2 na progresivní. - + Screenshot Size Velikost snímku obrazovky - + Determines the resolution at which screenshots will be saved. Určuje v jakém rozlišení budou uloženy snímky obrazovky. - + Screenshot Format Formát snímku obrazovky - + Selects the format which will be used to save screenshots. Vybere jaký formát bude použit pro ukládání snímků obrazovky. - + Screenshot Quality Kvalita snímku obrazovky - + Selects the quality at which screenshots will be compressed. Vybere v jaké kvalitě budou snímky obrazovky komprimovány. - + Vertical Stretch Vertikální roztažení - + Increases or decreases the virtual picture size vertically. Roztahuje nebo smršťuje virtuální obraz po svislé ose. - + Crop Oříznutí - + Crops the image, while respecting aspect ratio. Ořízne obraz a zachová poměr stran. - + %dpx - %dpx - - - - Enable Widescreen Patches - Povolit širokoúhlé záplaty - - - - Enables loading widescreen patches from pnach files. - Umožňuje načítání širokoúhlých záplatů ze souborů pnach. - - - - Enable No-Interlacing Patches - Povolit záplaty bez prokládání - - - - Enables loading no-interlacing patches from pnach files. - Umožňuje načítání záplatů bez prokládání ze souborů pnach. + %dpx - + Bilinear Upscaling Bilineární škálování - + Smooths out the image when upscaling the console to the screen. Vyhladí obraz při škálování konzole na obrazovku. - + Integer Upscaling Celočíselné škálování - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Přidá odsazení do zobrazovací oblasti, aby se zajistilo, že poměr mezi pixely na hostiteli a pixely v konzoli je celé číslo. Výsledkem může být ostřejší obraz v některých 2D hrách. - + Screen Offsets Posunutí obrazovky - + Enables PCRTC Offsets which position the screen as the game requests. Umožňuje posuny PCRTC, které umístí obrazovku podle požadavků hry. - + Show Overscan Zobrazit přesah - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Umožňuje zobrazit overscan oblast her, která vykresluje víc než jen bezpečnou oblast obrazovky. - + Anti-Blur Anti-rozmazání - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Umožňuje interní hacky proti rozmazání. Méně přesné na renderování PS2, ale mnoho her bude vypadat méně rozmazaně. - + Rendering Renderování - + Internal Resolution Interní rozlišení - + Multiplies the render resolution by the specified factor (upscaling). Vynásobí rozlišení renderování zadaným faktorem (upscaling). - + Mipmapping Mipmapování - + Bilinear Filtering Bilineární filtrování - + Selects where bilinear filtering is utilized when rendering textures. Vybere, kde se při renderování textur použije bilineární filtrování. - + Trilinear Filtering Trilineární filtrování - + Selects where trilinear filtering is utilized when rendering textures. Vybere, kde se při renderování textur použije trilineární filtrování. - + Anisotropic Filtering Anizotropní filtrování - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Vybere jakou metodu ditheringu použít, když o to hra požádá. - + Blending Accuracy Přesnost prolínání - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Určuje úroveň přesnosti při emulaci režimů prolnutí, které nejsou podporovány hostitelským grafickým rozhraním. - + Texture Preloading Přednačítání textur - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Nahrává textury do grafické karty, aby byly používány v celku a ne jen její části. Může zlepšit výkon v některých hrách. - + Software Rendering Threads Vlákna softwarového renderování - + Number of threads to use in addition to the main GS thread for rasterization. Počet vláken, která mají být použita pro rasterizaci společně s hlavním vláknem GS. - + Auto Flush (Software) Automatické splachování (software) - + Force a primitive flush when a framebuffer is also an input texture. Vynutit spláchnutí primitiv, pokud framebuffer je také vstupní texturou. - + Edge AA (AA1) Vyhlazování hran (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Umožňuje emulaci vyhlazování hran v GS (AA1). - + Enables emulation of the GS's texture mipmapping. Umožňuje emulaci mipmapování textur GS. - + The selected input profile will be used for this game. - The selected input profile will be used for this game. + Vybraný vstupní profil bude použit pro tuto hru. - + Shared - Shared + Sdílený - + Input Profile - Input Profile + Vstupní profil - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Zobrazí aktuální verzi PCSX2 v pravém horním rohu displeje. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Zobrazí vizuální historii časů snímků v levém horním rohu displeje. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Opravy hardwaru - + Manual Hardware Fixes Ruční opravy hardwaru - + Disables automatic hardware fixes, allowing you to set fixes manually. Zakáže automatické opravy hardwaru, což vám umožní nastavit opravy ručně. - + CPU Sprite Render Size Velikost renderování sprite procesoru - + Uses software renderer to draw texture decompression-like sprites. Používá softwarový renderer k vykreslování spritů podobných dekompresi textur. - + CPU Sprite Render Level Úroveň renderování sprite procesoru - + Determines filter level for CPU sprite render. Určuje úroveň filtru pro renderování sprite procesoru. - + Software CLUT Render Render softwaru CLUT - + Uses software renderer to draw texture CLUT points/sprites. Používá softwarový renderer k vykreslování texturních bodů/spritů CLUT. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Zakázat bezpečné funkce - + This option disables multiple safe features. Tato možnost zakáže několik bezpečných funkcí. - + This option disables game-specific render fixes. Tato možnost zakáže opravy renderování specifické pro danou hru. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Při renderování nového snímku nahraje data GS, aby přesně reprodukoval některé efekty. - + Disable Partial Invalidation Zakázat částečnou neplatnost - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Odstraní položky mezipaměti textur, pokud existuje jakýkoli průsečík, nikoli pouze protínající se oblasti. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Odhadnout oblast textury - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Pokusí se zmenšit velikost textury, když si ji hry nenastaví samy (např. Snowblind hry). - + GPU Palette Conversion Převod palety grafické karty - + Upscaling Fixes Opravy škálování - + Adjusts vertices relative to upscaling. Upraví vrcholy vzhledem ke škálování. - + Native Scaling Nativní škálování - + Attempt to do rescaling at native resolution. Pokusit se provést změnu měřítka v nativním rozlišení. - + Round Sprite Kulatý sprite - + Adjusts sprite coordinates. Upraví souřadnice spritů. - + Bilinear Upscale Bilineární škálování - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Dokáže vyhladit textury díky bilineárnímu filtrování při škálování. Např. sluneční záře v Brave: The Search for Spirit Dancer. - + Adjusts target texture offsets. Upraví posunutí cílových textur. - + Align Sprite Zarovnat sprite - + Fixes issues with upscaling (vertical lines) in some games. Opravuje problémy se škálováním (svislé čáry) v některých hrách. - + Merge Sprite Sloučit sprite - + Replaces multiple post-processing sprites with a larger single sprite. Nahradí několik post-processing spritů jedním velkým spritem. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Sníží přesnost GS, aby se zabránilo mezerám mezi pixely při škálování. Opraví text ve hrách Wild Arms. - + Unscaled Palette Texture Draws Vykreslování textur neškálované palety - + Can fix some broken effects which rely on pixel perfect precision. Může opravit některé pokažené efekty, které spoléhají na dokonalou přesnost pixelů. - + Texture Replacement Nahrazení textur - + Load Textures Načíst textury - + Loads replacement textures where available and user-provided. Načte náhradní textury, pokud jsou dostupné a poskytnuté uživatelem. - + Asynchronous Texture Loading Asynchronní načítání textur - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Načte náhradní textury na worker vláknu a omezí microstutter, když jsou náhrady povoleny. - + Precache Replacements Náhrady precache - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Předběžně nahraje všechny náhradní textury do paměti. Není nutné při asynchronním načítání. - + Replacements Directory Adresář náhrad - + Folders Složky - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filtry - + Shade Boost Zvýšení odstínu - + Enables brightness/contrast/saturation adjustment. Umožňuje úpravu jasu/kontrastu/sytosti. - + Shade Boost Brightness Zvýšení jasu odstínu - + Adjusts brightness. 50 is normal. Upraví jas. 50 je normální. - + Shade Boost Contrast Zvýšení kontrastu odstínu - + Adjusts contrast. 50 is normal. Upraví kontrast. 50 je normální. - + Shade Boost Saturation Zvýšení sytosti odstínu - + Adjusts saturation. 50 is normal. Upraví sytost. 50 je normální. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames - Skip Presenting Duplicate Frames + Přeskočit zobrazování duplikovaných snímků - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Zobrazuje další, velmi vysoké multiplikátory škálování závislé na schopnosti grafické karty. - + Hardware Download Mode Režim hardwarového stahování - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Zabraňuje načítání a ukládání shaderů/řetězců na disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Nastavení a operace - + Creates a new memory card file or folder. Vytvoří nový soubor nebo složku paměťové karty. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Přepne makro, když je tlačítko stisknuto, nikoli podrženo. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version - Show PCSX2 Version + Zobrazit verzi PCSX2 - + Show Input Recording Status - Show Input Recording Status + Zobrazit stav nahrávání vstupů - + Show Video Capture Status - Show Video Capture Status + Zobrazit stav záznamu videa - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. - Exits Big Picture mode, returning to the desktop interface. + Ukončí režim Big Picture a vrátí se do desktopového rozhraní. - + Resets all configuration to defaults (including bindings). - Resets all configuration to defaults (including bindings). + Obnoví všechny konfigurace na výchozí nastavení (včetně přiřazení). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Přepnout každých %d snímků - + Clears all bindings for this USB controller. - Clears all bindings for this USB controller. + Vymaže všechna přiřazení pro tento USB ovladač. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Zapisuje zprávy protokolu do konzole systému (okno konzole/standardní výstup). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Určuje, jak jsou výsledky operací s plovoucí desetinnou čárkou zaokrouhleny. Některé hry vyžadují specifická nastavení. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Povolit Rekompilátor EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Povolit mezipaměť EE - + Enables simulation of the EE's cache. Slow. Umožňuje simulaci mezipaměti EE. Pomalé. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Obrovské zrychlení pro některé hry, téměř bez vedlejších efektů kompatibility. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vektorové jednotky - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Povolit Rekompilátor VU0 (Mikro Režim) - + New Vector Unit recompiler with much improved compatibility. Recommended. Nový rekompilátor vektorových jednotek s mnohem lepší kompatibilitou. Doporučeno. - + Enable VU1 Recompiler Povolit Rekompilátor VU1 - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Dobré zrychlení a vysoká kompatibilita, múže způsobit grafické chyby. - + I/O Processor I/O Processor - + Enable IOP Recompiler Povolit Rekompilátor IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Grafika - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Aktivace cheatů může způsobit nepředvídatelné chování, pády, soft-locky nebo nefunkční uložené hry. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Aktivace záplatů her může způsobit nepředvídatelné chování, pády, soft-locky nebo nefunkční uložené hry. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Opravy her - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + Tohle má známý dopad na následující hry: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Použít přesné načasování pro VU XGKicks (pomalejší). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Přiměje emulovaný Emotion Engine přeskakovat cykly. Pomáhá malé podskupině her, jako je SOTC. Většinu času je to pro výkon škodlivé. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Obecně zrychlení na procesorech se 4 nebo více jádry. Bezpečné pro většinu her, ale některé jsou nekompatibilní a mohou přestat reagovat. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Spustí VU1 okamžitě. Poskytuje mírné zlepšení rychlosti ve většině her. Je to bezpečné pro většinu her, ale některé hry můžou vykazovat grafické chyby. - + Disable the support of depth buffers in the texture cache. Zakázat podporu vyrovnávací paměti hloubky v mezipaměti textur. - + Disable Render Fixes Zakázat opravy renderování - + Preload Frame Data Přednačíst data snímků - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Pokud je povoleno, grafická karta převede textury s barevnou mapou, jinak to udělá procesor. Je to kompromis mezi grafickou kartou a procesorem. - + Half Pixel Offset Poloviční posun pixelu - + Texture Offset X Posun textury X - + Texture Offset Y Posun textury Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Použije shader, který replikuje vizuální efekty různých stylů televizorů. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Přeskočí zobrazení snímků, které se ve 25/30 fps hrách nemění. Může zlepšit rychlost, ale zvýšit vstupní zpoždění/zhoršit tempo snímků. - + Enables API-level validation of graphics commands. Umožňuje ověření grafických příkazů na úrovni API. - + Use Software Renderer For FMVs Použít softwarový renderer pro FMV - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Dobré pro problémy s emulací mezipaměti. Je známo, že ovlivňuje následující hry: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Správné, ale pomalejší. Je známo, že ovlivňuje následující hry: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + Zabrání neustálé rekompilaci v některých hrách. Tohle má známý dopad na následující hry: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8032,2073 +8086,2078 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: - Region: + Region: - + Compatibility: Kompatibilita: - + No Game Selected - No Game Selected + Žádná hra není vybrána - + Search Directories Vyhledávací adresáře - + Adds a new directory to the game search list. Přidá nový adresář do seznamu hledání her. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Změní pořadí seznamu her z výchozího (obvykle vzestupného na sestupné). - + Cover Settings Nastavení obalu - + Downloads covers from a user-specified URL template. Stáhne obaly z uživatelem zadané šablony URL. - + Operations Operace - + Selects where anisotropic filtering is utilized when rendering textures. Vybere, kde se při renderování textur použije anizotropní filtrování. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Použijte alternativní metodu pro výpočet interních FPS, abyste se vyhnuli falešným hodnotám v některých hrách. - + Identifies any new files added to the game directories. Identifikuje všechny nové soubory přidané do adresářů her. - + Forces a full rescan of all games previously identified. Vynutí úplné opětovné prohledání všech dříve identifikovaných her. - + Download Covers Stáhnout obaly - + About PCSX2 O PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 je free a open-source emulátor PlayStation 2 (PS2). Jeho účelem je napodobit hardware PS2 pomocí kombinace MIPS CPU interpretátorů, recompilátorů a virtuálního stroje, která spravuje hardwarové stavy a systémovou paměť PS2. To vám umožní hrát PS2 hry na Vašem PC s mnoha dalšími funkcemi a výhodami. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 a PS2 jsou registrované obchodní značky Sony Interactive Entertainment. Tato aplikace není žádným způsobem spojena se Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. PCSX2 vyhledá achievementy při načtení hry, pokud je tato možnost povolená a jste přihlášení. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Režim výzvy" pro úspěchy, včetně sledování žebříčků. Zakáže funkce save state, cheatů a zpomalení. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Zobrazí popup zprávy o událostech, jako odemknutí achievementů a příspěvky do žebříčku. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Přehrává zvukové efekty pro události, jako je odemknutí achievementú a přidávání žebříčků. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Zobrazí ikony v pravém dolním rohu obrazovky, když je aktivní výzva/primární úspěch. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Pokud je povoleno, PCSX2 zobrazí achievementy z neoficiálních sad. Tyto achievementy nejsou sledovány RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Pokud je tato možnost povolená, bude PCSX2 předpokládat, že jsou všechny achievementy zamknuté a nebude odesílat žádné upozornění o odemčení na server. - + Error Chyba - + Pauses the emulator when a controller with bindings is disconnected. - Pauses the emulator when a controller with bindings is disconnected. + Pozastaví emulátor, pokud je odpojen ovladač s přiřazenými tlačítky. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Povolit CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertikální synchronizace (VSync) - + Sync to Host Refresh Rate Synchronizovat s obnovovací frekvencí hostitele - + Use Host VSync Timing Použít časování hostitelské VSync - + Disables PCSX2's internal frame timing, and uses host vsync instead. Zakáže interní časování snímků PCSX2 a místo toho použije hostitelské VSync. - + Disable Mailbox Presentation Zakázat prezentaci poštovní schránky - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control - Audio Control + Ovládání zvuku - + Controls the volume of the audio played on the host. - Controls the volume of the audio played on the host. + Ovládá hlasitost přehrávaného zvuku na hostitelském systému. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Zabraňuje emulátoru vytvářet jakéhokoli zvuku. - + Backend Settings Nastavení backendu - + Audio Backend Backend zvuku - + The audio backend determines how frames produced by the emulator are submitted to the host. Backend zvuku určuje, jak jsou snímky vytvořené emulátorem odeslány hostiteli. - + Expansion Rozšíření - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronizace - + Buffer Size Velikost vyrovnávací paměti - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Zobrazí vyskakovací zprávy při spuštění, odeslání nebo selhání výzvy žebříčku. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} - Time Played: {} + Odehraný čas: {} - + Last Played: {} - Last Played: {} + Naposledy hráno: {} - + Size: {:.2f} MB - Size: {:.2f} MB + Velikost: {:.2f} MB - + Left: - Left: + Vlevo: - + Top: - Top: + Nahoře: - + Right: - Right: + Vpravo: - + Bottom: - Bottom: + Dole: - + Summary - Summary + Shrnutí - + Interface Settings Nastavení rozhraní - + BIOS Settings Nastavení BIOSu - + Emulation Settings Nastavení emulace - + Graphics Settings Nastavení grafiky - + Audio Settings Nastavení zvuku - + Memory Card Settings Nastavení paměťové karty - + Controller Settings Nastavení ovladače - + Hotkey Settings Nastavení klávesových zkratek - + Achievements Settings - Achievements Settings + Nastavení achievementů - + Folder Settings Nastavení složky - + Advanced Settings Pokročilá nastavení - + Patches Záplaty - + Cheats Cheaty - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2 % [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10 % [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25 % [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50 % [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75 % [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90 % [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100 % [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110 % [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120 % [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150 % [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175 % [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200 % [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300 % [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400 % [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500 % [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000 % [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock - Mild Underclock + Mírné podtaktování - + Moderate Underclock - Moderate Underclock + Střední podtaktování - + Maximum Underclock - Maximum Underclock + Maximální podtaktování - + Disabled Disabled - + 0 Frames (Hard Sync) - 0 Frames (Hard Sync) + 0 snímků (pevná synchronizace) - + 1 Frame - 1 Frame + 1 snímek - + 2 Frames - 2 Frames + 2 snímky - + 3 Frames - 3 Frames + 3 snímky - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 - Direct3D 11 + Direct3D 11 - + Direct3D 12 - Direct3D 12 + Direct3D 12 - + OpenGL - OpenGL + OpenGL - + Vulkan - Vulkan + Vulkan - + Metal - Metal + Metal - + Software Software - + Null - Null + Null - + Off Off - + Bilinear (Smooth) Bilineární (hladké) - + Bilinear (Sharp) Bilineární (ostré) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Prolínat (nejprve horní pole, polovina FPS) - + Blend (Bottom Field First, Half FPS) Prolínat (nejprve dolní pole, polovina FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Nativní (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilineární (vynucené) - + Bilinear (PS2) Bilineární (PS2) - + Bilinear (Forced excluding sprite) Bilineární (vynucené kromě sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum - Minimum + Minimum - + Basic (Recommended) Základní (doporučeno) - + Medium - Medium + Střední - + High - High + Vysoká - + Full (Slow) - Full (Slow) + Plná (pomalé) - + Maximum (Very Slow) - Maximum (Very Slow) + Maximum (velmi pomalé) - + Off (Default) - Off (Default) + Vypnuto (výchozí) - + 2x - 2x + 2x - + 4x - 4x + 4x - + 8x - 8x + 8x - + 16x - 16x + 16x - + Partial - Partial + Částečné - + Full (Hash Cache) - Full (Hash Cache) + Úplné (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Přesné (doporučeno) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Nelze zobrazit podrobnosti o hrách, které nebyly naskenovány v seznamu her. - + Pause On Controller Disconnection - Pause On Controller Disconnection + Pozastavit při odpojení ovladače - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Stiskněte pro přepnutí - + Deadzone - Deadzone + Mrtvá zóna - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays - Enable In-Game Overlays + Povolit překrytí ve hře - + Encore Mode - Encore Mode + Režim Encore - + Spectator Mode - Spectator Mode + Režim diváka - + PNG - PNG + PNG - + - - - + - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Určuje frekvenci, při které bude makro zapínat a vypínat tlačítka (tzv. automatické spouštění). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Pouze sprity - + Sprites/Triangles Sprity/trojúhelníky - + Blended Sprites/Triangles Prolínané sprity/trojúhelníky - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Zarovnat do nativního - + Half Half - + Force Bilinear Vynutit bilineární - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) - PS2 (8MB) + PS2 (8MB) - + PS2 (16MB) - PS2 (16MB) + PS2 (16MB) - + PS2 (32MB) - PS2 (32MB) + PS2 (32MB) - + PS2 (64MB) - PS2 (64MB) + PS2 (64MB) - + PS1 - PS1 + PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid - Game Grid + Herní mřížka - + Game List - Game List + Herní seznam - + Game List Settings Game List Settings - + Type - Type + Typ - + Serial - Serial + Sériové číslo - + Title - Title + Název - + File Title - File Title + Název souboru - + CRC CRC - + Time Played - Time Played + Odehraný čas - + Last Played - Last Played + Naposledy hráno - + Size - Size + Velikost - + Select Disc Image - Select Disc Image + Vybrat obraz disku - + Select Disc Drive - Select Disc Drive + Vybrat diskovou jednotku - + Start File - Start File + Spustit soubor - + Start BIOS - Start BIOS + Spustit BIOS - + Start Disc - Start Disc + Spustit disk - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Hodnocení kompatibility - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown - Confirm Shutdown + Potvrdit vypnutí - + Save State On Shutdown - Save State On Shutdown + Uložit pozici při vypnutí - + Use Light Theme - Use Light Theme + Použít světlý motiv - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Změnit vyhledávací adresář - + Fast Boot Fast Boot - + Output Volume - Output Volume + Výstupní hlasitost - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Adresář mezipaměti - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Vlastnosti hry - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Přepnout na softwarový renderer - + Switch To Hardware Renderer Přepnout na hardwarový renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time - Reset Play Time + Resetovat odehraný čas - + Add Search Directory Přidat vyhledávací adresář - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games - Scan For New Games + Vyhledat nové hry - + Rescan All Games - Rescan All Games + Znova načíst všechny hry - + Website - Website + Webová stránka - + Support Forums - Support Forums + Fórum podpory - + GitHub Repository - GitHub Repository + GitHub repozitář - + License - License + Licence - + Close - Close + Zavřít - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements - Enable Achievements + Povolit achievementy - + Hardcore Mode Hardcore Mode - + Sound Effects - Sound Effects + Zvukové efekty - + Test Unofficial Achievements - Test Unofficial Achievements + Testovat neoficiální achievementy - + Username: {} - Username: {} + Uživatelské jméno: {} - + Login token generated on {} Login token generated on {} - + Logout - Logout + Odhlásit - + Not Logged In - Not Logged In + Nepřihlášen - + Login - Login + Přihlásit - + Game: {0} ({1}) - Game: {0} ({1}) + Hra: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name - Card Name + Název karty - + Eject Card - Eject Card + Vysunout kartu @@ -10423,7 +10482,7 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. No tracks provided. - No tracks provided. + Nejsou k dispozici žádné stopy. @@ -10433,7 +10492,7 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. Data track number does not match data track in database. - Data track number does not match data track in database. + Číslo datové stopy neodpovídá datové stopě v databázi. @@ -10532,7 +10591,7 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. Emulate VIF FIFO VIF = VU (Vector Unit) Interface. Leave as-is.\nFIFO = First-In-First-Out, a type of buffer. Leave as-is. - Emulate VIF FIFO + Emulovat GIF FIFO @@ -10778,17 +10837,17 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. Never - Never + Nikdy Today - Today + Dnes Yesterday - Yesterday + Včera @@ -10814,28 +10873,28 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. %n hours - - %n hours - %n hours - %n hours - %n hours + + %n hodina + %n hodiny + %n hodin + %n hodin %n minutes - - %n minutes - %n minutes - %n minutes - %n minutes + + %n minuta + %n minuty + %n minut + %n minut Downloading cover for {0} [{1}]... - Downloading cover for {0} [{1}]... + Stahování obalu pro {0} [{1}]... @@ -10843,22 +10902,22 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. Type - Type + Typ Code - Code + Kód Title - Title + Název File Title - File Title + Název souboru @@ -10868,22 +10927,22 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. Time Played - Time Played + Odehraný čas Last Played - Last Played + Naposledy hráno Size - Size + Velikost Region - Region + Region @@ -10906,14 +10965,14 @@ grafickou kvalitu, ale zvýší se tím systémové požadavky. Add... - Add... + Přidat... Remove - Remove + Odebrat @@ -11026,17 +11085,17 @@ Scanning recursively takes more time, but will identify files in subdirectories. All Types - All Types + Všechny typy All Regions - All Regions + Všechny regiony Search... - Search... + Hledat... @@ -11088,32 +11147,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11123,7 +11192,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Title: - Title: + Název: @@ -11140,236 +11209,236 @@ Scanning recursively takes more time, but will identify files in subdirectories. Sorting Title: Name for use in sorting (e.g. "XXX, The" for a game called "The XXX") - Sorting Title: + Třídící název: English Title: - English Title: + Anglický název: Path: - Path: + Cesta: Serial: - Serial: + Sériové číslo: Check Wiki - Check Wiki + Přejít na wiki CRC: - CRC: + CRC: Type: - Type: + Typ: PS2 Disc - PS2 Disc + PS2 disk PS1 Disc - PS1 Disc + PS1 disk ELF (PS2 Executable) - ELF (PS2 Executable) + ELF (Spustitelný soubor PS2) Region: - Region: + Region: NTSC-B (Brazil) Leave the code as-is, translate the country's name. - NTSC-B (Brazil) + NTSC-B (Brazílie) NTSC-C (China) Leave the code as-is, translate the country's name. - NTSC-C (China) + NTSC-C (Čína) NTSC-HK (Hong Kong) Leave the code as-is, translate the country's name. - NTSC-HK (Hong Kong) + NTSC-HK (Hongkong) NTSC-J (Japan) Leave the code as-is, translate the country's name. - NTSC-J (Japan) + NTSC-J (Japonsko) NTSC-K (Korea) Leave the code as-is, translate the country's name. - NTSC-K (Korea) + NTSC-K (Korea) NTSC-T (Taiwan) Leave the code as-is, translate the country's name. - NTSC-T (Taiwan) + NTSC-T (Tchaj-wan) NTSC-U (US) Leave the code as-is, translate the country's name. - NTSC-U (US) + NTSC-U (USA) Other - Other + Ostatní PAL-A (Australia) Leave the code as-is, translate the country's name. - PAL-A (Australia) + PAL-A (Austrálie) PAL-AF (South Africa) Leave the code as-is, translate the country's name. - PAL-AF (South Africa) + PAL-AF (Jihoafrická republika) PAL-AU (Austria) Leave the code as-is, translate the country's name. - PAL-AU (Austria) + PAL-AU (Rakousko) PAL-BE (Belgium) Leave the code as-is, translate the country's name. - PAL-BE (Belgium) + PAL-BE (Belgie) PAL-E (Europe/Australia) Leave the code as-is, translate the country's name. - PAL-E (Europe/Australia) + PAL-E (Evropa/Austrálie) PAL-F (France) Leave the code as-is, translate the country's name. - PAL-F (France) + PAL-F (Francie) PAL-FI (Finland) Leave the code as-is, translate the country's name. - PAL-FI (Finland) + PAL-FI (Finsko) PAL-G (Germany) Leave the code as-is, translate the country's name. - PAL-G (Germany) + PAL-G (Německo) PAL-GR (Greece) Leave the code as-is, translate the country's name. - PAL-GR (Greece) + PAL-GR (Řecko) PAL-I (Italy) Leave the code as-is, translate the country's name. - PAL-I (Italy) + PAL-I (Itálie) PAL-IN (India) Leave the code as-is, translate the country's name. - PAL-IN (India) + PAL-IN (Indie) PAL-M (Europe/Australia) Leave the code as-is, translate the country's name. - PAL-M (Europe/Australia) + PAL-M (Evropa/Austrálie) PAL-NL (Netherlands) Leave the code as-is, translate the country's name. - PAL-NL (Netherlands) + PAL-NL (Nizozemsko) PAL-NO (Norway) Leave the code as-is, translate the country's name. - PAL-NO (Norway) + PAL-NO (Norsko) PAL-P (Portugal) Leave the code as-is, translate the country's name. - PAL-P (Portugal) + PAL-P (Portugalsko) PAL-PL (Poland) Leave the code as-is, translate the country's name. - PAL-PL (Poland) + PAL-PL (Polsko) PAL-R (Russia) Leave the code as-is, translate the country's name. - PAL-R (Russia) + PAL-R (Rusko) PAL-S (Spain) Leave the code as-is, translate the country's name. - PAL-S (Spain) + PAL-S (Španělsko) PAL-SC (Scandinavia) Leave the code as-is, translate the country's name. - PAL-SC (Scandinavia) + PAL-SC (Skandinávie) PAL-SW (Sweden) Leave the code as-is, translate the country's name. - PAL-SW (Sweden) + PAL-SW (Švédsko) PAL-SWI (Switzerland) Leave the code as-is, translate the country's name. - PAL-SWI (Switzerland) + PAL-SWI (Švýcarsko) PAL-UK (United Kingdom) Leave the code as-is, translate the country's name. - PAL-UK (United Kingdom) + PAL-UK (Spojené království) @@ -11379,7 +11448,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Input Profile: - Input Profile: + Vstupní profil: @@ -11390,12 +11459,12 @@ Scanning recursively takes more time, but will identify files in subdirectories. Disc Path: - Disc Path: + Cesta k disku: Browse... - Browse... + Procházet... @@ -11405,34 +11474,34 @@ Scanning recursively takes more time, but will identify files in subdirectories. Verify - Verify + Ověřit Search on Redump.org... - Search on Redump.org... + Hledat na Redump.org... %0%1 First arg is a GameList compat; second is a string with space followed by star rating OR empty if Unknown compat - %0%1 + %0%1 %0%1 First arg is filled-in stars for game compatibility; second is empty stars; should be swapped for RTL languages - %0%1 + %0%1 Select Disc Path - Select Disc Path + Vybrat cestu k disku Game is not a CD/DVD. - Game is not a CD/DVD. + Hra není CD/DVD. @@ -11589,11 +11658,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11603,10 +11672,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11673,7 +11742,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilineární (hladké) @@ -11739,29 +11808,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Posunutí obrazovky - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Povolit širokoúhlé záplaty - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11772,7 +11831,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Zakázat posun prokládání @@ -11782,18 +11841,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11845,7 +11904,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilineární (PS2) @@ -11892,7 +11951,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11908,7 +11967,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Základní (doporučeno) @@ -11944,7 +12003,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11960,31 +12019,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Ruční opravy hardwarového rendereru - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11996,15 +12055,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12032,8 +12091,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12090,18 +12149,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12200,13 +12259,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12220,16 +12279,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Použít širokoúhlé záplaty - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12302,25 +12351,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Zakázat opravy renderování @@ -12331,7 +12380,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12390,25 +12439,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12418,6 +12467,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12435,13 +12494,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12464,8 +12523,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12486,7 +12545,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12538,7 +12597,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12553,7 +12612,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12574,50 +12633,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12633,13 +12692,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12650,13 +12709,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12682,7 +12741,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12693,43 +12752,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12838,19 +12897,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12903,7 +12962,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12913,1214 +12972,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Použít globální nastavení [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Zakáže posun prokládání, které může v některých situacích snížit rozmazání. - + Bilinear Filtering Bilineární filtrování - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Umožňuje bilineární filtr následného zpracování. Vyhlazuje celkový obraz tak, jak je zobrazen na obrazovce. Opravuje umístění mezi pixely. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Umožňuje posuny PCRTC, které umístí obrazovku podle požadavků hry. Užitečné pro některé hry, jako je WipEout Fusion pro svůj efekt zatřešení obrazovky, ale může způsobit rozmazání obrazu. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Ovládejte úroveň přesnosti emulace jednotky prolínání GS.<br> Čím vyšší je nastavení, tím přesněji je prolínání v shaderu emulována a tím vyšší bude postih za rychlost.<br> Pamatujte, že prolínání Direct3D má ve srovnání s OpenGL/Vulkan sníženou schopnost. - + Software Rendering Threads Vlákna softwarového renderování - + CPU Sprite Render Size Velikost renderování sprite procesoru - + Software CLUT Render Render softwaru CLUT - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. Tato možnost zakáže opravy renderování specifické pro danou hru. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Zobrazí různá nastavení a aktuální hodnoty těchto nastavení, užitečné pro ladění. - + Displays a graph showing the average frametimes. Zobrazí graf zobrazující průměrné časy snímků. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Umožňuje interní hacky proti rozmazání. Méně přesné na renderování PS2, ale mnoho her bude vypadat méně rozmazaně. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Přidá odsazení do zobrazovací oblasti, aby se zajistilo, že poměr mezi pixely na hostiteli a pixely v konzoli je celé číslo. Výsledkem může být ostřejší obraz v některých 2D hrách. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Automaticky standardní (4:3/3:2 progresivní) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Změní poměr stran použitý k zobrazení výstupu konzole na obrazovku. Výchozí je Automaticky standardní (4:3/3:2 progresivní), který automaticky upraví poměr stran tak, aby odpovídal tomu, jak by se hra zobrazovala na typické televizi té doby. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anizotropní filtrování - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Přesnost prolínání - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Při renderování nového snímku nahraje data GS, aby přesně reprodukoval některé efekty. - + Half Pixel Offset Poloviční posun pixelu - + Might fix some misaligned fog, bloom, or blend effect. Může opravit špatně nastavenou mlhu, bloom nebo efekt prolnutí. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Posuny textury X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Posun pro souřadnice textury ST/UV. Opravuje některé podivné problémy s texturou a může také opravit některé zarovnání po zpracování. - + Texture Offsets Y Posuny textury Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilineární škálování - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Dokáže vyhladit textury díky bilineárnímu filtrování při škálování. Např. sluneční záře v Brave: The Search for Spirit Dancer. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Použije shader, který replikuje vizuální efekty různých stylů televizorů. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Zobrazí zprávy na obrazovce, když dojde k událostem, jako je vytvoření/načtení uložených pozic, pořízení snímků obrazovky atd. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Zobrazí aktuální rychlost emulace systému v pravém horním rohu displeje v procentech. - + Shows the resolution of the game in the top-right corner of the display. Zobrazí rozlišení hry v pravém horním rohu displeje. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Zobrazí aktuální stav ovladače systému v levém dolním rohu displeje. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Zobrazí varování, pokud jsou povolena nastavení, která mohou porouchat hry. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parametry předané vybranému kodeku zvuku.<br><b>Musíte použít '=' pro oddělení klíče od hodnoty a ':' pro oddělení dvou dvojic od sebe.</b><br>Například: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Zobrazuje další, velmi vysoké multiplikátory škálování závislé na schopnosti grafické karty. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Umožňuje ověření grafických příkazů na úrovni API. - + GS Download Mode GS Download Mode - + Accurate Přesné - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14128,7 +14187,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14345,254 +14404,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15018,43 +15077,43 @@ Right click to clear binding Behaviour - Behaviour + Chování Pause On Focus Loss - Pause On Focus Loss + Pozastavit při ztrátě zaměření Inhibit Screensaver - Inhibit Screensaver + Zakázat spořič obrazovky Pause On Start - Pause On Start + Pozastavit při spuštění Confirm Shutdown - Confirm Shutdown + Potvrdit vypnutí Enable Discord Presence - Enable Discord Presence + Povolit Discord Presence Pause On Controller Disconnection - Pause On Controller Disconnection + Pozastavit při odpojení ovladače @@ -15065,25 +15124,25 @@ Right click to clear binding Start Fullscreen - Start Fullscreen + Spustit na celou obrazovku Double-Click Toggles Fullscreen - Double-Click Toggles Fullscreen + Dvojklik přepíná na celou obrazovku Render To Separate Window - Render To Separate Window + Renderovat do samostatného okna Hide Main Window When Running - Hide Main Window When Running + Skrýt hlavní okno při spuštění @@ -15095,143 +15154,143 @@ Right click to clear binding Hide Cursor In Fullscreen - Hide Cursor In Fullscreen + Skrýt kurzor v režimu celé obrazovky Preferences - Preferences + Preference Language: - Language: + Jazyk: Theme: - Theme: + Motiv: Automatic Updater - Automatic Updater + Automatické aktualizace Update Channel: - Update Channel: + Aktualizační kanál: Current Version: - Current Version: + Současná verze: Enable Automatic Update Check - Enable Automatic Update Check + Povolit automatické vyhledávání aktualizací Check for Updates... - Check for Updates... + Vyhledat aktualizace... Native - Native + Původní Classic Windows Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Classic Windows + Klasický Windows Dark Fusion (Gray) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Dark Fusion (Gray) [Dark] + Temná fúze (Šedá) [Tmavý] Dark Fusion (Blue) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Dark Fusion (Blue) [Dark] + Temná fúze (Modrá) [Tmavý] Grey Matter (Gray) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Grey Matter (Gray) [Dark] + Šedá hmota (Šedá) [Tmavý] Untouched Lagoon (Grayish Green/-Blue ) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Untouched Lagoon (Grayish Green/-Blue ) [Light] + Nedotčená laguna (Šedozelená/-modrá ) [Světlý] Baby Pastel (Pink) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Baby Pastel (Pink) [Light] + Baby pastelová (Růžová) [Světlý] Pizza Time! (Brown-ish/Creamy White) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Pizza Time! (Brown-ish/Creamy White) [Light] + Čas na pizzu! (Nahnědlá/krémově bílá) [Světlý] PCSX2 (White/Blue) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - PCSX2 (White/Blue) [Light] + PCSX2 (Bílá/modrá) [Světlý] Scarlet Devil (Red/Purple) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Scarlet Devil (Red/Purple) [Dark] + Šarlatový ďábel (Červená/fialová) [Tmavý] Violet Angel (Blue/Purple) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Violet Angel (Blue/Purple) [Dark] + Fialový anděl (Modrá/fialová) [Tmavý] Cobalt Sky (Blue) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Cobalt Sky (Blue) [Dark] + Kobaltové nebe (Modrá) [Tmavý] Ruby (Black/Red) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Ruby (Black/Red) [Dark] + Rubín (Černá/červená) [Tmavý] Sapphire (Black/Blue) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Sapphire (Black/Blue) [Dark] + Safír (Černá/modrá) [Tmavý] Emerald (Black/Green) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Emerald (Black/Green) [Dark] + Smaragd (Černá/zelená) [Tmavý] Custom.qss [Drop in PCSX2 Folder] "Custom.qss" must be kept as-is. - Custom.qss [Drop in PCSX2 Folder] + Vlastní.qss [Vložte do složky PCSX2] @@ -15239,23 +15298,23 @@ Right click to clear binding Checked - Checked + Zaškrtnuto Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. - Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. + Automaticky vyhledává aktualizace programu při spuštění. Aktualizace mohou být odloženy na později nebo zcela přeskočeny. %1 (%2) Variable %1 shows the version number and variable %2 shows a timestamp. - %1 (%2) + %1 (%2) Prevents the screen saver from activating and the host from sleeping while emulation is running. - Prevents the screen saver from activating and the host from sleeping while emulation is running. + Zabrání aktivaci spořiče obrazovky a režimu spánku v hostitelském systému, když je spuštěna emulace. @@ -15265,12 +15324,12 @@ Right click to clear binding Pauses the emulator when a controller with bindings is disconnected. - Pauses the emulator when a controller with bindings is disconnected. + Pozastaví emulátor, pokud je odpojen ovladač s přiřazenými tlačítky. Allows switching in and out of fullscreen mode by double-clicking the game window. - Allows switching in and out of fullscreen mode by double-clicking the game window. + Umožňuje přepnout z/na režim celé obrazovky dvojitým kliknutím na herní okno. @@ -15288,52 +15347,52 @@ Right click to clear binding Unchecked - Unchecked + Nezaškrtnuto Fusion [Light/Dark] - Fusion [Light/Dark] + Fúze [Světlý/Tmavý] Pauses the emulator when a game is started. - Pauses the emulator when a game is started. + Pozastaví emulátor při spuštění hry. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + Pozastaví emulátor, když minimalizujete okno nebo přepnete na jinou aplikaci, a znova jej spustí když se vrátíte. Automatically switches to fullscreen mode when a game is started. - Automatically switches to fullscreen mode when a game is started. + Automaticky přepne do režimu celé obrazovky při spuštění hry. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + Skryje ukazatel/kurzor myši, když je emulátor v režimu celé obrazovky. Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. - Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. + Zobrazí hru v samostatném okně namísto hlavního okna. Pokud není zaškrtnuto, hra bude překrývat sekci se seznamem her. Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. - Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. + Skryje hlavní okno (se seznamem her), když je spuštěna hra. Vyžaduje mít povoleno 'Renderovat do samostatného okna'. Shows the game you are currently playing as part of your profile in Discord. - Shows the game you are currently playing as part of your profile in Discord. + Zobrazí hru, kterou právě hrajete jako součást vašeho profilu na Discordu. System Language [Default] - System Language [Default] + Systémový jazyk [Výchozí] @@ -15464,1014 +15523,1028 @@ Right click to clear binding PCSX2 - PCSX2 + PCSX2 &System - &System + &Systém - - - + + Change Disc - Change Disc + Vyměnit disk - - + Load State - Load State - - - - Save State - Save State + Načíst pozici - + S&ettings - S&ettings + &Nastavení - + &Help - &Help + &Pomoc - + &Debug - &Debug - - - - Switch Renderer - Switch Renderer + &Debugovat - + &View - &View + &Zobrazit - + &Window Size - &Window Size + &Velikost okna - + &Tools - &Tools + Ná&stroje - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... - Start &File... - - - - Start &Disc... - Start &Disc... + Spustit &soubor... - + Start &BIOS - Start &BIOS + Spustit &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down - Shut &Down + &Vypnout - + Shut Down &Without Saving - Shut Down &Without Saving + Vypnout &bez uložení - + &Reset - &Reset + &Resetovat - + &Pause - &Pause + &Pozastavit - + E&xit - E&xit + &Ukončit - + &BIOS - &BIOS - - - - Emulation - Emulation + &BIOS - + &Controllers - &Controllers + &Ovladače - + &Hotkeys - &Hotkeys + &Klávesové zkratky - + &Graphics - &Graphics + &Grafika - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... - Support &Forums... + &Fórum podpory... - + &Discord Server... - &Discord Server... + &Discord server... - + Check for &Updates... - Check for &Updates... + Vyhledat &aktualizace... - + About &Qt... - About &Qt... + O &Qt... - + &About PCSX2... - &About PCSX2... + &O PCSX2... - + Fullscreen In Toolbar - Fullscreen + Celá obrazovka - + Change Disc... In Toolbar - Change Disc... + Vyměnit disk - + &Audio - &Audio - - - - Game List - Game List + &Zvuk - - Interface - Interface + + Global State + Globální stav - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Snímek obrazovky - - &Settings - &Settings + + Start File + In Toolbar + Spustit soubor - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar - Start Disc + Spustit disk - + Start BIOS In Toolbar - Start BIOS + Spustit BIOS - + Shut Down In Toolbar - Shut Down + Vypnout - + Reset In Toolbar - Reset + Resetovat - + Pause In Toolbar - Pause + Pozastavit - + Load State In Toolbar - Load State + Načíst pozici - + Save State In Toolbar - Save State + Uložit pozici - + + &Emulation + &Emulation + + + Controllers In Toolbar - Controllers + Ovladače - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar - Settings + Nastavení + + + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... - + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar - Screenshot + Snímek - + &Memory Cards - &Memory Cards + &Paměťové karty - + &Network && HDD - &Network && HDD + &Síť && HDD - + &Folders - &Folders + &Složky - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Vlastnosti &hry + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Přepnout softwarové renderování + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Herní &seznam - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Vlastnosti &hry - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Herní &mřížka - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + &Přiblížit (mřížkové zobrazení) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - - Start Big Picture Mode - Start Big Picture Mode + + Zoom &Out (Grid View) + &Oddálit (mřížkové zobrazení) - - - Big Picture - In Toolbar - Big Picture + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) - - Cover Downloader... - Cover Downloader... + + Open Memory Card Directory... + Otevřít adresář paměťových karet... - - - Show Advanced Settings - Show Advanced Settings + + Input Recording Logs + Input Recording Logs - - Recording Viewer - Recording Viewer + + Enable &File Logging + Enable &File Logging - - - Video Capture - Video Capture + + Start Big Picture Mode + Start Big Picture Mode + + + + + Big Picture + In Toolbar + Big Picture - - Edit Cheats... - Edit Cheats... + + Show Advanced Settings + Show Advanced Settings - - Edit Patches... - Edit Patches... + + Video Capture + Záznam videa - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again - Do not show again + Příště nezobrazovat - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. Are you sure you want to continue? - Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. + Změna pokročilých nastavení může mít nepředvídatelné účinky na hry, včetně grafických závad, zmrazení a dokonce i poškození uložených souborů. Nedoporučujeme měnit pokročilá nastavení, pokud nevíte, co děláte a neznáte důsledky změny jednotlivých nastavení. -The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. +Tým PCSX2 neposkytne žádnou podporu pro konfigurace, které upravují tato nastavení, jste odkázáni sami na sebe. -Are you sure you want to continue? +Jste si jisti, že chcete pokračovat? - + %1 Files (*.%2) - %1 Files (*.%2) + %1 soubory (*.%2) - + WARNING: Memory Card Busy - WARNING: Memory Card Busy + VAROVÁNÍ: Paměťová karta zaneprázdněna - + Confirm Shutdown - Confirm Shutdown + Potvrdit vypnutí - + Are you sure you want to shut down the virtual machine? - Are you sure you want to shut down the virtual machine? + Opravdu chcete vypnout virtuální stroj? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. - You must select a disc to change discs. + Pro výměnu disků musíte vybrat disk. - + Properties... - Properties... + Vlastnosti... - + Set Cover Image... - Set Cover Image... + Přiřadit obrázek obálky... - + Exclude From List - Exclude From List + Vyloučit ze seznamu - + Reset Play Time - Reset Play Time + Resetovat odehraný čas - + Check Wiki Page - Check Wiki Page + Přejít na wiki stránku - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Přidat vyhledávací adresář... - + Start File - Start File + Spustit soubor - + Start Disc - Start Disc + Spustit disk - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. - Automatic updating is not supported on the current platform. + Automatická aktualizace není na aktuální platformě podporována. - + Confirm File Creation - Confirm File Creation + Potvrdit vytvoření souboru - + The pnach file '%1' does not currently exist. Do you want to create it? - The pnach file '%1' does not currently exist. Do you want to create it? + Soubor pnach '%1' v současné době neexistuje. Chcete jej vytvořit? - + Failed to create '%1'. - Failed to create '%1'. + Nepodařilo se vytvořit '%1'. - + Theme Change - Theme Change + Změna motivu - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? + Změna motivu zavře okno debuggeru. Všechna neuložená data budou ztracena. Chcete pokračovat? - + Input Recording Failed - Input Recording Failed + Záznam vstupů selhal - + Failed to create file: {} - Failed to create file: {} + Nepodařilo se vytvořit soubor: {} - + Input Recording Files (*.p2m2) - Input Recording Files (*.p2m2) + Soubory nahrávání vstupů (*.p2m2) - + Input Playback Failed - Input Playback Failed + Přehrávání vstupů selhalo - + Failed to open file: {} - Failed to open file: {} + Nepodařilo se otevřít soubor: {} - + Paused - Paused + Pozastaveno - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. - Cannot load a save state without a running VM. + Nelze načíst uloženou pozici bez spuštěného virt. stroje. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? + Nový ELF nelze nahrát bez resetování virtuálního stroje. Chcete nyní resetovat virtuální stroj? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget - Failed to get window info from widget + Nepodařilo se získat informace o okně z widgetu - + Stop Big Picture Mode - Stop Big Picture Mode + Zastavit režim Big Picture - + Exit Big Picture In Toolbar - Exit Big Picture + Ukončit Big Picture - + Game Properties Vlastnosti hry - + Game properties is unavailable for the current game. Vlastnosti hry nejsou pro aktuální hru k dispozici. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + Nebyla nalezena žádná CD/DVD-ROM zařízení. Ujistěte se, že máte připojenou jednotku a dostatečná oprávnění pro přístup. - + Select disc drive: - Select disc drive: + Vybrat diskovou jednotku: - + This save state does not exist. - This save state does not exist. + Tato uložená pozice neexistuje. - + Select Cover Image - Select Cover Image + Vybrat obrázek obálky - + Cover Already Exists - Cover Already Exists + Obálka již existuje - + A cover image for this game already exists, do you wish to replace it? - A cover image for this game already exists, do you wish to replace it? + Obrázek obálky pro tuto hru již existuje, přejete si jej nahradit? - + + - Copy Error - Copy Error + Chyba při kopírování - + Failed to remove existing cover '%1' - Failed to remove existing cover '%1' + Nepodařilo se odstranit existující obálku '%1' - + Failed to copy '%1' to '%2' - Failed to copy '%1' to '%2' + Nepodařilo se zkopírovat '%1' do '%2' - + Failed to remove '%1' - Failed to remove '%1' + Nepodařilo se odstranit '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) - All Cover Image Types (*.jpg *.jpeg *.png *.webp) + Všechny typy obrázkových souborů (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. - Are you sure you want to reset the play time for '%1'? + Opravdu chcete resetovat odehraný čas pro '%1' -This action cannot be undone. +Tuto akci nelze vrátit zpět. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. Do you want to load this state, or start from a fresh boot? - A resume save state was found for this game, saved at: + Pro tuto hru byla nalezena uložená pozice pro pokračování, uložena v: %1. -Do you want to load this state, or start from a fresh boot? +Chcete načíst tuto pozici, nebo spustit od začátku? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. - Failed to delete save state file '%1'. + Nepodařilo se odstranit soubor uložené pozice '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16480,49 +16553,49 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change - Confirm Disc Change + Potvrdit výměnu disku - + Do you want to swap discs or boot the new image (via system reset)? - Do you want to swap discs or boot the new image (via system reset)? + Chcete vyměnit disky nebo spustit nový obraz disku (pomocí resetování systému)? - + Swap Disc - Swap Disc + Vyměnit disk - + Reset - Reset + Resetovat Missing Font File - Missing Font File + Chybějící soubor písma @@ -16532,31 +16605,31 @@ The saves will not be recoverable. Downloading Files - Downloading Files + Stahování souborů MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16573,28 +16646,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -16833,12 +16911,12 @@ Close any other instances of PCSX2, or restart your computer. Yes - Yes + Ano No - No + Ne @@ -16846,48 +16924,48 @@ Close any other instances of PCSX2, or restart your computer. Memory Card Slots - Memory Card Slots + Sloty pro paměťové karty Memory Cards - Memory Cards + Paměťové karty Folder: - Folder: + Složka: Browse... - Browse... + Procházet... Open... - Open... + Otevřít... Reset - Reset + Resetovat Name - Name + Název Type - Type + Typ Formatted - Formatted + Zformátována @@ -17386,7 +17464,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18226,12 +18304,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18253,7 +18331,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18264,7 +18342,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18365,47 +18443,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18538,7 +18616,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18794,42 +18872,42 @@ Do you want to create this directory? <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Nastavení rozhraní</strong><hr>Tyto možnosti řídí jak software vypadá a funguje.<br><br>Najeďte myší na možnost pro další informace, Shift+Kolečko pro posouvání tohoto panelu. <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Nastavení BIOSu</strong><hr>Zde nakonfigurujte svůj BIOS.<br><br>Najeďte myší na možnost pro zobrazení dalších informací, použijte Shift+Kolečko pro posouvání tohoto panelu. <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Nastavení emulace</strong><hr>Tyto možnosti řídí konfiguraci tempa snímků a herního nastavení.<br><br>Najeďte myší na možnost pro zobrazení dalších informací, použijte Shift+Kolečko pro posouvání tohoto panelu. <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Nastavení grafiky</strong><hr>Tyto možnosti řídí konfiguraci grafického výstupu.<br><br>Najeďte myší na možnost pro zobrazení dalších informací, použijte Shift+Kolečko pro posouvání tohoto panelu. <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Nastavení zvuku</strong><hr>Tyto možnosti řídí zvukový výstup konzole.<br><br>Najeďte myší na možnost pro zobrazení dalších informací, použijte Shift+Kolečko pro posouvání tohoto panelu. <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Nastavení paměťové karty</strong><hr>Zde si vytvořte a nakonfigurujte paměťové karty.<br><br>Najeďte myší na možnost pro zobrazení dalších informací, použijte Shift+Kolečko pro posouvání tohoto panelu. <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Nastavení sítě a HDD</strong><hr>Tyto možnosti řídí síťové připojení a interní úložiště na pevném disku konzole.<br><br>Najeďte myší na možnost pro zobrazení dalších informací, použijte Shift+Kolečko pro posouvání tohoto panelu. <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Pokročilá nastavení</strong><hr>Tohle jsou pokročilé možnosti řídící konfiguraci simulované konzole.<br><br>Najeďte myší na možnost pro zobrazení dalších informací, použijte Shift+Kolečko pro posouvání tohoto panelu. @@ -20993,7 +21071,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Face Buttons - Face Buttons + Akční tlačítka @@ -21153,7 +21231,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Face Buttons - Face Buttons + Akční tlačítka @@ -21566,7 +21644,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Face Buttons - Face Buttons + Akční tlačítka @@ -21659,7 +21737,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Face Buttons - Face Buttons + Akční tlačítka @@ -21751,42 +21829,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching byl zrušen. - + CDVD precaching failed: {} CDVD precaching selhal: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21803,272 +21881,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Multiplikátor škálování je pod nativní, to naruší renderování. - + Mipmapping is disabled. This may break rendering in some games. Mipmapování je zakázáno. To v některých hrách může narušit renderování. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Filtrování textur není nastaveno na Bilineární (PS2). To v některých hrách naruší renderování. - + No Game Running Žádná hra není spuštěna - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilineární filtrování není nastaveno na automatické. To v některých hrách může narušit renderování. - + Blending Accuracy is below Basic, this may break effects in some games. Přesnost prolínání je pod Základní, to v některých hrách může narušit efekty. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Režim hardwarového stahování není nastaven na Přesné, to v některých hrách může narušit renderování. - + EE FPU Round Mode is not set to default, this may break some games. Režim zaokrouhlování EE FPU není nastaven na výchozí, to může narušit některé hry. - + EE FPU Clamp Mode is not set to default, this may break some games. Režim upínání EE FPU není nastaven na výchozí, to může narušit některé hry. - + VU0 Round Mode is not set to default, this may break some games. Režim zaokrouhlování VU0 není nastaven na výchozí, to může narušit některé hry. - + VU1 Round Mode is not set to default, this may break some games. Režim zaokrouhlování VU1 není nastaven na výchozí, to může narušit některé hry. - + VU Clamp Mode is not set to default, this may break some games. Režim upínání VU není nastaven na výchozí, to může narušit některé hry. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM je povolena. Kompatibilita s některými hrami může být ovlivněna. - + Game Fixes are not enabled. Compatibility with some games may be affected. Opravy her nejsou povoleny. Kompatibilita s některými hrami může být ovlivněna. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Záplaty kompatibility nejsou povoleny. Kompatibilita s některými hrami může být ovlivněna. - + Frame rate for NTSC is not default. This may break some games. Snímková frekvence pro NTSC není výchozí. To může narušit některé hry. - + Frame rate for PAL is not default. This may break some games. Snímková frekvence pro PAL není výchozí. To může narušit některé hry. - + EE Recompiler is not enabled, this will significantly reduce performance. Rekompilátor EE není povolen, což výrazně sníží výkon. - + VU0 Recompiler is not enabled, this will significantly reduce performance. Rekompilátor VU0 není povolen, což výrazně sníží výkon. - + VU1 Recompiler is not enabled, this will significantly reduce performance. Rekompilátor VU1 není povolen, což výrazně sníží výkon. - + IOP Recompiler is not enabled, this will significantly reduce performance. Rekompilátor IOP není povolen, což výrazně sníží výkon. - + EE Cache is enabled, this will significantly reduce performance. Mezipaměť EE je povolen, což výrazně sníží výkon. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_da-DK.ts b/pcsx2-qt/Translations/pcsx2-qt_da-DK.ts index fbf392a1145cd..35945597d94d0 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_da-DK.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_da-DK.ts @@ -732,307 +732,318 @@ Leaderboard Position: {1} of {2} Use Global Setting [%1] - + Rounding Mode Rounding Mode - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Clamping Mode - - - + + + Normal (Default) Normal (Default) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Enable Recompiler - + - - - + + + - + - - - - + + + + + Checked Checked - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Cache (Slow) Enable Cache (Slow) - - - - + + + + Unchecked Unchecked - + Interpreter only, provided for diagnostic. Interpreter only, provided for diagnostic. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Uses backpatching to avoid register flushing on every memory access. - + Pause On TLB Miss Pause On TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Enable VU0 Recompiler (Micro Mode) - + Enables VU0 Recompiler. Enables VU0 Recompiler. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Enable VU1 Recompiler - + Enables VU1 Recompiler. Enables VU1 Recompiler. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. - + Enable Game Fixes Enable Game Fixes - + Automatically loads and applies fixes to known problematic games on game start. Automatically loads and applies fixes to known problematic games on game start. - + Enable Compatibility Patches Enable Compatibility Patches - + Automatically loads and applies compatibility patches to known problematic games. Automatically loads and applies compatibility patches to known problematic games. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1255,29 +1266,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Frame Rate Control - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Frame Rate: - + NTSC Frame Rate: NTSC Frame Rate: @@ -1292,7 +1303,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1337,17 +1348,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Settings - + Slot: Slot: - + Enable Aktivér @@ -1868,8 +1884,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automatiske opdateringer @@ -1909,68 +1925,68 @@ Leaderboard Position: {1} of {2} Mind mig om det senere - - + + Updater Error Opdateringsfejl - + <h2>Changes:</h2> <h2>Changes:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - + Savestate Warning Savestate Warning - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - + Downloading %1... Henter %1... - + No updates are currently available. Please try again later. No updates are currently available. Please try again later. - + Current Version: %1 (%2) Current Version: %1 (%2) - + New Version: %1 (%2) New Version: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... Loading... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2134,19 +2150,19 @@ Leaderboard Position: {1} of {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2236,17 +2252,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2271,7 +2287,7 @@ Leaderboard Position: {1} of {2} Unknown - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4005,63 +4044,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4132,17 +4171,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4794,53 +4848,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4858,48 +4912,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4920,23 +4974,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5699,342 +5748,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11074,32 +11133,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11575,11 +11644,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11589,10 +11658,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11659,7 +11728,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11725,29 +11794,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11758,7 +11817,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11768,18 +11827,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11831,7 +11890,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11878,7 +11937,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11894,7 +11953,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11930,7 +11989,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11946,31 +12005,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11982,15 +12041,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12018,8 +12077,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12076,18 +12135,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12186,13 +12245,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12206,16 +12265,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12288,25 +12337,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12317,7 +12366,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12376,25 +12425,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12404,6 +12453,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12421,13 +12480,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12450,8 +12509,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12472,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12524,7 +12583,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12539,7 +12598,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12560,50 +12619,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12619,13 +12678,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12636,13 +12695,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12668,7 +12727,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12679,43 +12738,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12824,19 +12883,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12889,7 +12948,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12899,1214 +12958,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14114,7 +14173,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14331,254 +14390,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15456,594 +15515,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16056,297 +16129,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16355,12 +16428,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16373,89 +16446,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16464,42 +16537,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16522,25 +16595,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16557,28 +16630,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17370,7 +17448,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18210,12 +18288,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18224,7 +18302,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18343,47 +18421,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18516,7 +18594,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21729,42 +21807,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21781,272 +21859,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_de-DE.ts b/pcsx2-qt/Translations/pcsx2-qt_de-DE.ts index 593b3d1af2f6b..e21d2a38df92b 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_de-DE.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_de-DE.ts @@ -732,307 +732,318 @@ Ranglisten Position: {1} von {2} Globale Einstellung verwenden [%1] - + Rounding Mode Rundungsmodus - - - + + + Chop/Zero (Default) Chop/Zero (Standard) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändert die Art und Weise, wie PCSX2 runden kann, während die Emotion Engine Floating Point Unit (EE FPU) emuliert. Da die verschiedenen FPUs in der PS2 internationalen Standards nicht entsprechen, kann es sein, dass einige Spiele verschiedene Modi benötigen, um die Berechnung richtig zu machen. Der Standardwert bewältigt die überwiegende Mehrheit der Spiele, <b>diese Einstellung zu modifizieren, wenn ein Spiel kein sichtbares Problem hat, kann zu Instabilität führen.</b> - + Division Rounding Mode Division Rundungsmodus - + Nearest (Default) Nearest (Standard) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Berechnet wie die Ergebnisse der Fließkomma-Berechnung gerundet werden. Einige Spiele benötigen eine spezifische Einstellung; <b>Das Ändern dieser Einstellung, wenn es keine sichtbare Einschränkung gibt, kann zu Instabilität führen.</b> - + Clamping Mode Clamping Modus - - - + + + Normal (Default) Normal (Standard) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändert die Handhabung von PCSX2 Floats in einem Standard-x86-Bereich. Der Standardwert bewältigt die überwiegende Mehrheit der Spiele; <b>diese Einstellung zu ändern, wenn ein Spiel kein sichtbares Problem hat, kann zu Instabilität führen.</b> - - + + Enable Recompiler Recompiler aktivieren - + - - - + + + - + - - - - + + + + + Checked Aktiviert - + + Use Save State Selector + Save-State Auswahl verwenden + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Zeigt beim Wechseln von Slots statt der Benachrichtigungsblase eine Save-State Auswahl für den Speicherstatus an. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Führt eine zeitnahe Binärübersetzung von 64-Bit-MIPS-IV-Maschinencode nach x86 durch. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Erkennung von Warteschleifen - + Moderate speedup for some games, with no known side effects. Leichte Beschleunigung bei einigen Spielen, ohne bekannte Nebenwirkungen. - + Enable Cache (Slow) Cache aktivieren (langsam) - - - - + + + + Unchecked Deaktiviert - + Interpreter only, provided for diagnostic. Nur Interpreter, zur Diagnostik. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin-Erkennung - + Huge speedup for some games, with almost no compatibility side effects. Erheblicher Geschwindigkeitszuwachs für einige Spiele, fast ohne Kompatibilitätsnebenwirkungen. - + Enable Fast Memory Access Schnellen Speicherzugriff aktivieren - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Verwendet Backpatching, um zu vermeiden, dass bei jedem Speicherzugriff eine Registry gesäubert wird. - + Pause On TLB Miss Bei TLB Fehlern pausieren - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pausiert die virtuelle Maschine, wenn ein TLB fehlschlägt, anstatt sie zu ignorieren und fortzufahren. Beachten Sie, dass die VM nach dem Ende des Blocks pausiert, nicht nach der Anweisung, die die Ausnahme verursachte. Rufen Sie die Konsole auf, um die Adresse zu sehen, an der der ungültige Zugriff stattgefunden hat. - + Enable 128MB RAM (Dev Console) 128 MB Ram aktivieren (Entwickler Konsole) - + Exposes an additional 96MB of memory to the virtual machine. Stellt der virtuellen Maschine einen zusätzlichen Speicher von 96MB zur Verfügung. - + VU0 Rounding Mode VU1 Rundungsmodus - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Ändert wie PCSX2 beim Emulieren der Vector Unit 0 (EE VU0) der Emotion Engine mit rounding umgeht. Der Standardwert behandelt die überwiegende Mehrheit der Spiele; <b>diese Einstellung zu ändern, wenn ein Spiel kein sichtbares Problem hat, wird Stabilitätsprobleme verursachen und/oder abstürzen.</b> - + VU1 Rounding Mode VU1 Rundungsmodus - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Ändert wie PCSX2 beim Emulieren der Vector Unit 1 (EE VU1) der Emotion Engine mit rounding umgeht. Der Standardwert behandelt die überwiegende Mehrheit der Spiele; <b>diese Einstellung zu ändern, wenn ein Spiel kein sichtbares Problem hat, wird Stabilitätsprobleme verursachen und/oder abstürzen.</b> - + VU0 Clamping Mode VU0 Clamping Modus - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändert die Art und Weise, wie PCSX2 Floats in einem Standard x86-Bereich in der Emotion Engine's Vector Unit 0 (EE VU0) handhabt. Der Standardwert behandelt die überwiegende Mehrheit der Spiele; <b>diese Einstellung zu ändern, wenn ein Spiel kein sichtbares Problem hat, kann zu Instabilität führen.</b> - + VU1 Clamping Mode VU1 Clamping Modus - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändert die Handhabung von PCSX2 Floats in einem Standard x86-Bereich in der Emotion Engine Vector Unit 1 (EE VU1). Der Standardwert bewältigt die überwiegende Mehrheit der Spiele; <b>diese Einstellung zu ändern, wenn ein Spiel kein sichtbares Problem hat, kann zu Instabilität führen.</b> - + Enable Instant VU1 Instant VU1 aktivieren - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Startet VU1 sofort. Bietet eine mäßige Geschwindigkeitsverbesserung in den meisten Spielen. Für die meisten Spiele geeignet, aber bei einigen kann es zu Grafikfehlern kommen. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. VU0 Recompiler (Micro Modus) aktivieren - + Enables VU0 Recompiler. VU0 Recompiler aktivieren. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. VU1 Recompiler aktivieren - + Enables VU1 Recompiler. VU1 Recompiler aktivieren. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flaggenhack - + Good speedup and high compatibility, may cause graphical errors. Schnelle Beschleunigung und hohe Kompatibilität, kann grafische Fehler verursachen. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Führt eine zeitnahe Binärübersetzung von 32-Bit-MIPS-IV-Maschinencode nach x86 durch. - + Enable Game Fixes Game Fixes aktivieren - + Automatically loads and applies fixes to known problematic games on game start. Lädt und wendet beim Spielstart automatisch Korrekturen für bekannte problematische Spiele an. - + Enable Compatibility Patches Kompatibilitäts-Patches aktivieren - + Automatically loads and applies compatibility patches to known problematic games. Lädt automatisch Kompatibilitätspatches für bekannte problematische Spiele und wendet sie an. - + Savestate Compression Method Savestate Komprimierungsmethode - + Zstandard ZStandard - + Determines the algorithm to be used when compressing savestates. Bestimmt den Algorithmus, der fürs Komprimieren von Savestates verwendet werden soll. - + Savestate Compression Level Savestate Kompressionslevel - + Medium Mittel - + Determines the level to be used when compressing savestates. Bestimmt das Level, das beim Komprimieren von Savestates verwendet werden soll. - + Save State On Shutdown Savestate beim Herunterfahren erstellen - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Speichert den Emulator-Status beim Herunterfahren oder Beenden automatisch. Du kannst beim nächsten Starten dort fortfahren, wo du das letzte Mal aufgehört hast. - + Create Save State Backups Save-State Backup erstellen - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Erstellt eine Sicherungskopie eines Savestate, falls dieser bereits existiert wenn der Save erstellt wird. Die Sicherungskopie hat eine .backup Endung. @@ -1255,29 +1266,29 @@ Ranglisten Position: {1} von {2} SaveState Backup erstellen - + Save State On Shutdown Savestate beim Herunterfahren erstellen - + Frame Rate Control Bildraten-Steuerung - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. Hz - + PAL Frame Rate: PAL-Frame Rate: - + NTSC Frame Rate: NTSC-Bildfrequenz: @@ -1292,7 +1303,7 @@ Ranglisten Position: {1} von {2} Kompressionslevel: - + Compression Method: Kompressionsverfahren: @@ -1337,17 +1348,22 @@ Ranglisten Position: {1} von {2} Sehr hoch (langsam, nicht empfohlen) - + + Use Save State Selector + Save-State Auswahl verwenden + + + PINE Settings PINE-Einstellungen - + Slot: Slot: - + Enable Aktivieren @@ -1868,8 +1884,8 @@ Ranglisten Position: {1} von {2} AutoUpdaterDialog - - + + Automatic Updater Automatische Updates @@ -1909,68 +1925,68 @@ Ranglisten Position: {1} von {2} Später erinnern - - + + Updater Error Fehler beim Aktualisieren - + <h2>Changes:</h2> <h2>Änderungen:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warnung:</h2><p>Durch das Installieren dieses Updates werden deine Save States <b>inkompatibel</b>. Bitte stelle sicher, dass deine Spiele vor der Installation dieses Updates auf einer Memory Card gespeichert wurden oder du verlierst jedweden Fortschritt.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Einstellungswarnung</h2><p>Die Installation dieses Updates wird deine Programmkonfiguration zurücksetzen. Bitte beachte, dass du nach dieser Aktualisierung deine Einstellungen neu konfigurieren musst.</p> - + Savestate Warning Savestate Warnung - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - <h1>WARNUNG</h1><p style='font-size:12pt;'> Das Installieren dieses Updates wird deine <b>Save States inkompatibel machen</b>, <i>. Stelle sicher, dass der Fortschritt auf einer Memory Card gespeichert wird, bevor du damit fortfährst</i>. </p><p>Möchtest du fortfahren?</p> + <h1>WARNUNG</h1><p style='font-size:12pt;'>Das Installieren dieses Updates wird deine <b>Save States inkompatibel machen</b>, <i>Stelle sicher, dass der Fortschritt auf einer Memory Card gespeichert wird, bevor du</i>fortfährst.</p><p>Möchtest du fortfahren?</p> - + Downloading %1... %1 wird heruntergeladen... - + No updates are currently available. Please try again later. Derzeit sind keine Updates verfügbar. Bitte versuche es später erneut. - + Current Version: %1 (%2) Aktuelle Version: %1 (%2) - + New Version: %1 (%2) Neue Version: %1 (%2) - + Download Size: %1 MB Downloadgröße: %1 MB - + Loading... Lädt ... - + Failed to remove updater exe after update. Fehler beim Entfernen der Updater exe nach dem Update. @@ -2134,19 +2150,19 @@ Ranglisten Position: {1} von {2} Aktivieren - - + + Invalid Address Ungültige Adresse - - + + Invalid Condition Ungültige Bedingung - + Invalid Size Ungültige Größe @@ -2236,17 +2252,17 @@ Ranglisten Position: {1} von {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Der Speicherort der Spiele Disk befindet sich auf einem Wechseldatenträger, Performance-Probleme wie Aussetzer und Einfrieren können auftreten. - + Saving CDVD block dump to '{}'. Speichere CDVD-Block-Dump in '{}'. - + Precaching CDVD CDVD Precaching @@ -2271,7 +2287,7 @@ Ranglisten Position: {1} von {2} Unbekannt - + Precaching is not supported for discs. Precaching wird für Disks nicht unterstützt. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Profil umbenennen + + + Delete Profile Profil löschen - + Mapping Settings Tastenbelegungsoptionen - - + + Restore Defaults Standardeinstellungen wiederherstellen - - - + + + Create Input Profile Eingabe Profil erstellen - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Um ein eigenes Eingabeprofil bei einem Spiel zu nutzen, gehe zu in die Eigenscha Gebe den Namen für das neue Eingabeprofil ein: - - - - + + + + + + Error Fehler - + + A profile with the name '%1' already exists. Ein Profil mit dem Namen '%1' existiert bereits. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Möchtest du alle Tastenbelegungen aus dem aktuell ausgewählten Profil in das neue Profil kopieren? Wenn du "Nein" wählst, wird ein komplett leeres Profil erzeugt. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Möchtest du die aktuellen Hotkey-Zuordnungen aus globalen Einstellungen in das neue Eingabeprofil kopieren? - + Failed to save the new profile to '%1'. Speichern des neuen Profils in '%1' fehlgeschlagen. - + Load Input Profile Eingabeprofil laden - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Alle aktuellen globalen Tastenbelegungen werden entfernt und die Profilzuweisung Diese Aktion kann nicht rückgängig gemacht werden. - + + Rename Input Profile + Eingabeprofil umbenennen + + + + Enter the new name for the input profile: + Namen für neues Eingabe-Profil eingeben: + + + + Failed to rename '%1'. + Umbenennen von '%1' fehlgeschlagen. + + + Delete Input Profile Eingabeprofil löschen - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. Sie können diese Aktion nicht rückgängig machen. - + Failed to delete '%1'. Löschen von '%1' fehlgeschlagen. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Alle freigegebenen Belegungen und Einstellungen gehen verloren, aber deine Einga Dies kann nicht rückgängig gemacht werden. - + Global Settings Globale Einstellungen - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ Dies kann nicht rückgängig gemacht werden. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ Dies kann nicht rückgängig gemacht werden. %2 - - + + USB Port %1 %2 USB Anschluss %1 %2 - + Hotkeys Tastenkürzel - + Shared "Shared" refers here to the shared input profile. Teilen - + The input profile named '%1' cannot be found. Das Eingabeprofil mit dem Namen '%1' konnte nicht gefunden werden. @@ -3485,12 +3524,12 @@ Dies kann nicht rückgängig gemacht werden. Globals - Globals + Globals Locals - Locals + Locals @@ -3985,13 +4024,13 @@ Möchtest du es überschreiben? Demangle Symbols - Demangle Symbols + Symbole entwirren Demangle Parameters - Demangle Parameters + Parameter entwirren @@ -4005,63 +4044,63 @@ Möchtest du es überschreiben? Importieren aus Datei (.elf, .sym, etc): - + Add Hinzufügen - + Remove Entfernen - + Scan For Functions Nach Funktionen scannen - + Scan Mode: Scanmodus: - + Scan ELF Scanne ELF - + Scan Memory Speicher scannen - + Skip Überspringen - + Custom Address Range: Benutzerdefinierter Adressbereich: - + Start: Start: - + End: Ende: - + Hash Functions Hash-Funktionen - + Gray Out Symbols For Overwritten Functions Ausgegraute Symbole für überschriebene Funktionen @@ -4094,12 +4133,12 @@ Möchtest du es überschreiben? Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. - Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + C++ Symbole während des Importprozesses entwirren, so dass die Funktion und die globalen Variablennamen im Debugger lesbarer sind. Include parameter lists in demangled function names. - Include parameter lists in demangled function names. + Parameterlisten in entwirrte Funktionsnamen einschließen. @@ -4124,25 +4163,40 @@ Möchtest du es überschreiben? Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). - Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). + Ob Funktionen aus dem angegebenen Adressbereich (ausgewählt) oder aus dem ELF-Segment mit dem Einstiegspunkt gesucht werden sollen (Nicht ausgewählt). Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. + Erzeuge Hashes für alle erkannten Funktionen und ausgrauen von Symbolen im Debugger für nicht mehr passende Funktionen. - + <i>No symbol sources in database.</i> - <i>No symbol sources in database.</i> + <i>Keine Symbolquellen in der Datenbank.</i> - + <i>Start this game to modify the symbol sources list.</i> - <i>Start this game to modify the symbol sources list.</i> + <i>Starte dieses Spiel, um die Liste der Symbolquellen zu modifizieren.</i> + + + + Path + Pfad - + + Base Address + Basisadresse + + + + Condition + Bedingung + + + Add Symbol File Symboldatei hinzufügen @@ -4256,7 +4310,7 @@ Möchtest du es überschreiben? Trace Logging - Trace Logging + Ablaufprotokoll @@ -4272,53 +4326,53 @@ Möchtest du es überschreiben? DMA Control - DMA Control + DMA Steuerung SPR / MFIFO - SPR / MFIFO + SPR / MFIFO VIF - VIF + VIF COP1 (FPU) - COP1 (FPU) + COP1 (FPU) MSKPATH3 - MSKPATH3 + MSKPATH3 Cache - Cache + Cache GIF - GIF + GIF R5900 - R5900 + R5900 COP0 - COP0 + COP0 HW Regs (MMIO) - HW Regs (MMIO) + HW Regs (MMIO) @@ -4329,33 +4383,33 @@ Möchtest du es überschreiben? SIF - SIF + SIF COP2 (VU0 Macro) - COP2 (VU0 Macro) + COP2 (VU0 Macro) VIFCodes - VIFCodes + VIFCodes Memory - Memory + Speicher Unknown MMIO - Unknown MMIO + Unbekannte MMIO IPU - IPU + IPU @@ -4367,47 +4421,47 @@ Möchtest du es überschreiben? DMA Registers - DMA Registers + DMA Register GIFTags - GIFTags + GIFTags IOP - IOP + IOP CDVD - CDVD + CDVD R3000A - R3000A + R3000A Memcards - Memcards + Memory Cards Pad - Pad + Pad MDEC - MDEC + MDEC COP2 (GPU) - COP2 (GPU) + COP2 (GPU) @@ -4432,12 +4486,12 @@ Möchtest du es überschreiben? Hook IRX module loading/unloading and generate symbols for exported functions on the fly. - Hook IRX module loading/unloading and generate symbols for exported functions on the fly. + Das Hook IRX-Modul lädt und entlädt und generiert Symbole für exportierte Funktionen im Handumdrehen. Enable Trace Logging - Enable Trace Logging + Ablaufprotokollierung aktivieren @@ -4474,12 +4528,12 @@ Möchtest du es überschreiben? Unchecked - Unchecked + Nicht ausgewählt Globally enable / disable trace logging. - Globally enable / disable trace logging. + Aktiviere / Deaktiviere allgemeine Trace-Protokollierung. @@ -4489,7 +4543,7 @@ Möchtest du es überschreiben? Log SYSCALL and DECI2 activity. - Log SYSCALL and DECI2 activity. + SYSCALL und DECI2 Aktivitäten protokollieren. @@ -4499,7 +4553,7 @@ Möchtest du es überschreiben? Log memory access to unknown or unmapped EE memory. - Log memory access to unknown or unmapped EE memory. + Speicherzugriff auf unbekannten oder nicht zugeordneten EE-Speicher protokollieren. @@ -4509,7 +4563,7 @@ Möchtest du es überschreiben? Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. - Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. + R5900 Kernanweisungen protokollieren (ohne COPs). Erfordert eine Änderung der PCSX2-Quelle und die Aktivierung des Interpreters. @@ -4519,7 +4573,7 @@ Möchtest du es überschreiben? Log COP0 (MMU, CPU status, etc) instructions. - Log COP0 (MMU, CPU status, etc) instructions. + COP0 (MMU, CPU-Status, etc.) Anweisungen protokollieren. @@ -4529,7 +4583,7 @@ Möchtest du es überschreiben? Log COP1 (FPU) instructions. - Log COP1 (FPU) instructions. + COP1 (FPU) Anweisungen protokollieren. @@ -4539,7 +4593,7 @@ Möchtest du es überschreiben? Log COP2 (VU0 Macro mode) instructions. - Log COP2 (VU0 Macro mode) instructions. + COP2 (VU0 Makro-Modus) Anweisungen protokollieren. @@ -4554,24 +4608,24 @@ Möchtest du es überschreiben? EE Known MMIO - EE Known MMIO + EE bekannte MMIO Log known MMIO accesses. - Log known MMIO accesses. + Bekannte MMIO-Zugriffe protokollieren. EE Unknown MMIO - EE Unknown MMIO + EE unbekannte MMIO Log unknown or unimplemented MMIO accesses. - Log unknown or unimplemented MMIO accesses. + Unbekannte oder nicht implementierte MMIO-Zugriffe protokollieren. @@ -4582,57 +4636,57 @@ Möchtest du es überschreiben? Log DMA-related MMIO accesses. - Log DMA-related MMIO accesses. + DMA-bezogene MMIO Zugriffe protokollieren. EE IPU - EE IPU + EE IPU Log IPU activity; MMIO, decoding operations, DMA status, etc. - Log IPU activity; MMIO, decoding operations, DMA status, etc. + IPU-Aktivität protokollieren; MMIO, Dekodierungsoperationen, DMA-Status usw. EE GIF Tags - EE GIF Tags + EE GIF Tags Log GIFtag parsing activity. - Log GIFtag parsing activity. + GIFtag Parsing-Aktivität protokollieren. EE VIF Codes - EE VIF Codes + EE VIF Codes Log VIFcode processing; command, tag style, interrupts. - Log VIFcode processing; command, tag style, interrupts. + VIFcode Verarbeitung protokollieren; Befehl, Tag-Stil, Interrupts. EE MSKPATH3 - EE MSKPATH3 + EE MSKPATH3 Log Path3 Masking processing. - Log Path3 Masking processing. + Path3 Maskierungsverarbeitung protokollieren. EE MFIFO - EE MFIFO + EE MFIFO Log Scratchpad MFIFO activity. - Log Scratchpad MFIFO activity. + Scratchpad MFIFO Aktivitäten protokollieren. @@ -4643,7 +4697,7 @@ Möchtest du es überschreiben? Log DMA transfer activity. Stalls, bus right arbitration, etc. - Log DMA transfer activity. Stalls, bus right arbitration, etc. + DMA Transferaktivitäten protokollieren. Verzögerungen, BUS-Rechte Zuweisungen etc. @@ -4653,137 +4707,137 @@ Möchtest du es überschreiben? Log all EE counters events and some counter register activity. - Log all EE counters events and some counter register activity. + Alle EE-Zählerereignisse und einige Zählerregistrierungsaktivitäten protokollieren. EE VIF - EE VIF + EE VIF Log various VIF and VIFcode processing data. - Log various VIF and VIFcode processing data. + Verschiedene VIF und VIFCode Verarbeitungsdaten protokollieren. EE GIF - EE GIF + EE GIF Log various GIF and GIFtag parsing data. - Log various GIF and GIFtag parsing data. + Verschiedene GIF- und GIFtag-Parsing-Daten protokollieren. IOP BIOS - IOP BIOS + IOP BIOS Log SYSCALL and IRX activity. - Log SYSCALL and IRX activity. + SYSCALL und IRX-Aktivitäten protokollieren. IOP Memcards - IOP Memcards + IOP Memory Cards Log memory card activity. Reads, Writes, erases, etc. - Log memory card activity. Reads, Writes, erases, etc. + Memory Card-Aktivität protokollieren. Lesen, Schreiben, Löschen, usw. IOP R3000A - IOP R3000A + IOP R3000A Log R3000A core instructions (excluding COPs). - Log R3000A core instructions (excluding COPs). + R3000A Core Anweisungen (ohne COPs) protokollieren. IOP COP2 - IOP COP2 + IOP COP2 Log IOP GPU co-processor instructions. - Log IOP GPU co-processor instructions. + IOP GPU Anweisungen für Co-Prozessoren protokollieren. IOP Known MMIO - IOP Known MMIO + IOP bekannte MMIO IOP Unknown MMIO - IOP Unknown MMIO + IOP unbekannte MMIO IOP DMA Registers - IOP DMA Registers + IOP DMA Register IOP PAD - IOP PAD + IOP PAD Log PAD activity. - Log PAD activity. + PAD-Aktivität protokollieren. IOP DMA Controller - IOP DMA Controller + IOP DMA-Controller IOP Counters - IOP Counters + IOP Zähler Log all IOP counters events and some counter register activity. - Log all IOP counters events and some counter register activity. + Alle IOP-Zählerereignisse und einige Zählerregistrierungsaktivitäten protokollieren. IOP CDVD - IOP CDVD + IOP CDVD Log CDVD hardware activity. - Log CDVD hardware activity. + CDVD Hardwareaktivität protokollieren. IOP MDEC - IOP MDEC + IOP MDEC Log Motion (FMV) Decoder hardware unit activity. - Log Motion (FMV) Decoder hardware unit activity. + Motion (FMV) Decoder Hardware-Einheit Aktivität protokollieren. EE SIF - EE SIF + EE SIF Log SIF (EE <-> IOP) activity. - Log SIF (EE <-> IOP) activity. + SIF (EE <-> IOP) Aktivität protokollieren. @@ -4794,53 +4848,53 @@ Möchtest du es überschreiben? PCSX2 Debugger - + Run Ausführen - + Step Into Einzel Instruktion ausführen und dann pausieren - + F11 F11 - + Step Over Nächster Schritt - + F10 F10 - + Step Out Ausführen bis Rücksprung - + Shift+F11 Shift+F11 - + Always On Top Immer im Vordergrund - + Show this window on top Dieses Fenster im Vordergrund anzeigen - + Analyze Analysiere @@ -4858,48 +4912,48 @@ Möchtest du es überschreiben? Demontage - + Copy Address Adresse kopieren - + Copy Instruction Hex Hex Befehl kopieren - + NOP Instruction(s) Nop Instruktion - + Run to Cursor Ausführen bis zum Cursor - + Follow Branch Branch folgen - + Go to in Memory View Gehe zu in Speicheransicht - + Add Function Funktion hinzufügen - - + + Rename Function Funktion umbenennen - + Remove Function Funktion entfernen @@ -4920,23 +4974,23 @@ Möchtest du es überschreiben? Befehlssatz Erweiterungen - + Function name Funktionsname - - + + Rename Function Error Funktionsfehler umbenennen - + Function name cannot be nothing. Funktionsname darf nicht leer sein. - + No function / symbol is currently selected. Keine Funktion / Symbol ist derzeit ausgewählt. @@ -4946,72 +5000,72 @@ Möchtest du es überschreiben? Gehe zu Disassembly - + Cannot Go To Kann nicht gehen zu - + Restore Function Error Funktionsfehler wiederherstellen - + Unable to stub selected address. Ausgewählte Adresse kann nicht belegt werden. - + &Copy Instruction Text &Instruktionstext kopieren - + Copy Function Name Funktionsname kopieren - + Restore Instruction(s) Anleitung(en) wiederherstellen - + Asse&mble new Instruction(s) &Neue Anleitung(en) anlegen - + &Jump to Cursor &Zum Cursor springen - + Toggle &Breakpoint &Haltepunkt umschalten - + &Go to Address &Gehe zu Adresse - + Restore Function Funktion wiederherstellen - + Stub (NOP) Function Stub (NOP) Funktion - + Show &Opcode &Opcode anzeigen - + %1 NOT VALID ADDRESS %1 unzulässige Adresse @@ -5038,86 +5092,86 @@ Möchtest du es überschreiben? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Kein Bild - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Geschwindigkeit: %1% - + Game: %1 (%2) Spiel: %1 (%2) - + Rich presence inactive or unsupported. Rich-Präsenz inaktiv oder nicht unterstützt. - + Game not loaded or no RetroAchievements available. Spiel nicht geladen oder keine RetroAchievements verfügbar. - - - - + + + + Error Error - + Failed to create HTTPDownloader. HTTPDownloader konnte nicht erstellt werden. - + Downloading %1... Wird heruntergeladen %1... - + Download failed with HTTP status code %1. Download fehlgeschlagen mit dem HTTP-Statuscode %1. - + Download failed: Data is empty. Download fehlgeschlagen: Daten sind leer. - + Failed to write '%1'. Fehler beim Schreiben '%1'. @@ -5491,80 +5545,75 @@ Möchtest du es überschreiben? ExpressionParser - + Invalid memory access size %d. - Invalid memory access size %d. + Ungültige Speicherzugriffsgröße %d. - + Invalid memory access (unaligned). - Invalid memory access (unaligned). + Ungültiger Speicherzugriff (unangeglichen). - - + + Token too long. Token zu lang. - + Invalid number "%s". Ungültige Nummer "%s". - + Invalid symbol "%s". Ungültiges Symbol "%s". - + Invalid operator at "%s". - Invalid operator at "%s". + Ungültiger Operator bei "%s". - + Closing parenthesis without opening one. - Closing parenthesis without opening one. + Schließende Klammer ohne öffnende Klammer. - + Closing bracket without opening one. - Closing bracket without opening one. + Schließende eckige Klammer ohne öffnende eckige Klammer. - + Parenthesis not closed. Klammer nicht geschlossen. - + Not enough arguments. - Not enough arguments. + Nicht genügend Argumente. - + Invalid memsize operator. - Invalid memsize operator. + Ungültiger Speichergrößen-Operator. - + Division by zero. Division durch Null. - + Modulo by zero. - Modulo by zero. + Modulo durch Null. - + Invalid tertiary operator. - Invalid tertiary operator. - - - - Invalid expression. - Invalid expression. + Ungültiger tertiärer Operator. @@ -5699,342 +5748,342 @@ Die URL war: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Es konnten keine CD/DVD-ROM-Geräte gefunden werden. Bitte stelle sicher, dass du ein Laufwerk angeschlossen hast und ausreichende Rechte um darauf zuzugreifen. - + Use Global Setting Globale Einstellung verwenden - + Automatic binding failed, no devices are available. Automatische Bindung fehlgeschlagen, keine Geräte verfügbar. - + Game title copied to clipboard. Spieltitel in die Zwischenablage kopiert. - + Game serial copied to clipboard. Spiel-Seriennummer in die Zwischenablage kopiert. - + Game CRC copied to clipboard. Spiel-CRC in die Zwischenablage kopiert. - + Game type copied to clipboard. Spieltyp in die Zwischenablage kopiert. - + Game region copied to clipboard. Spielregion in die Zwischenablage kopiert. - + Game compatibility copied to clipboard. Spielkompatibilität in die Zwischenablage kopiert. - + Game path copied to clipboard. Spielpfad in Zwischenablage kopiert. - + Controller settings reset to default. Controller-Einstellungen auf Standard zurückgesetzt. - + No input profiles available. Keine Eingabeprofile verfügbar. - + Create New... Neu erstellen... - + Enter the name of the input profile you wish to create. Gib der Tastenbelegung einen Namen. - + Are you sure you want to restore the default settings? Any preferences will be lost. Willst du die Standardeinstellungen wirklich wiederherstellen? Jegliche Präferenzen gehen verloren. - + Settings reset to defaults. Einstellungen auf Standard zurückgesetzt. - + No save present in this slot. Kein Speicherstand auf diesem Speicherplatz vorhanden. - + No save states found. Keine save states gefunden. - + Failed to delete save state. Löschen des Savestate fehlgeschlagen. - + Failed to copy text to clipboard. Kopieren des Textes in die Zwischenablage fehlgeschlagen. - + This game has no achievements. Dieses Spiel hat keine Erfolge. - + This game has no leaderboards. Dieses Spiel hat keine Ranglisten. - + Reset System System zurücksetzen - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore-Modus wird erst aktiviert, wenn das System zurückgesetzt wird. Möchtest du das System jetzt zurücksetzen? - + Launch a game from images scanned from your game directories. Spiel vom einem Image starten welches aus dem gescannten Spielordner stammt. - + Launch a game by selecting a file/disc image. Ein Spiel starten indem man die Datei bzw. das Disk image anklickt. - + Start the console without any disc inserted. Die Konsole starten ohne das eine Disk eingelegt ist. - + Start a game from a disc in your PC's DVD drive. Ein Spiel von Disk welches im DVD Laufwerk eingelegt ist starten. - + No Binding Keine Zuordnung - + Setting %s binding %s. Einstellung der %sTastenbelegung%s. - + Push a controller button or axis now. Drücke jetzt eine Controller-Taste und/oder bewege einen Stick. - + Timing out in %.0f seconds... Zeitüberschreitung in %.0f Sekunden... - + Unknown Unbekannt - + OK OK - + Select Device Gerät auswählen - + Details Details - + Options Einstellungen - + Copies the current global settings to this game. Kopiert die aktuellen globalen Einstellungen für dieses Spiel. - + Clears all settings set for this game. Löscht alle Einstellungen für dieses Spiel. - + Behaviour Verhalten - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Verhindert das sich der Bildschirmschoner und/oder Energiesparen sich während der Emulation aktivieren. - + Shows the game you are currently playing as part of your profile on Discord. Zeigt das Spiel, das du gerade spielst als Teil deines Profils in Discord an. - + Pauses the emulator when a game is started. Pausiert den Emulator, wenn ein Spiel gestartet wird. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pausiert den Emulator, wenn du das Fenster minimierst oder zu einer anderen Anwendung wechselst. Wechselt man zurück zum Emulator, läuft dieser weiter. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pausiert den Emulator, wenn du das Schnellmenü öffnest und lässt ihn weiterlaufen beim Schließen des Menüs. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Legt fest, ob gefragt werden soll ob man sich sicher ist das man den Emulator/das Spiel schließen möchte, wenn man den Hotkey gedrückt hat. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Speichert den Emulator-Status beim Herunterfahren oder Beenden automatisch. Du kannst beim nächsten Starten dort fortfahren, wo du das letzte Mal aufgehört hast. - + Uses a light coloured theme instead of the default dark theme. Verwendet ein hellgefärbtes Theme statt des dunklen Standard-Themes. - + Game Display Spiel Anzeige - + Switches between full screen and windowed when the window is double-clicked. Wechselt zwischen Vollbild- und Fenstermodus, bei Doppelklick auf das Fenster. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Versteckt den Mauszeiger/Cursor, wenn der Emulator im Vollbildmodus ist. - + Determines how large the on-screen messages and monitor are. Legt fest, wie groß die Nachrichten und die Anzeige auf dem Bildschirm sind. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Zeigt Nachrichten auf dem Bildschirm an, wenn Ereignisse auftreten, wie zum Beispiel das Erstellen/Laden von Zuständen, Screenshots usw. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Zeigt die aktuelle Emulationsgeschwindigkeit des Systems in der oberen rechten Ecke des Displays in Prozent an. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Zeigt die Anzahl der Videobilder (oder v-syncs) an, die pro Sekunde vom System angezeigt werden, in der rechten oberen Ecke des Displays an. - + Shows the CPU usage based on threads in the top-right corner of the display. Zeigt die CPU-Auslastung basierend auf den Threads in der rechten oberen Ecke des Bildschirms. - + Shows the host's GPU usage in the top-right corner of the display. Zeigt die CPU-Auslastung des Hosts in der rechten oberen Ecke des Bildschirms. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Zeigt Statistiken über GS (primitive, draw calls) in der oberen rechten Ecke des Displays an. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Zeigt an wenn Vorspulen, Pausieren oder andere besondere Zustände aktiv sind. - + Shows the current configuration in the bottom-right corner of the display. Zeigt die aktuelle Konfiguration in der unteren rechten Ecke des Displays an. - + Shows the current controller state of the system in the bottom-left corner of the display. Zeigt den aktuellen Controller-Status des Systems in der linken unteren Ecke des Bildschirms an. - + Displays warnings when settings are enabled which may break games. Zeigt Warnungen an, wenn Einstellungen aktiviert sind, die Spiele unspielbar machen können. - + Resets configuration to defaults (excluding controller settings). Setzt die Konfiguration auf Standardwerte zurück (außer Controller-Einstellungen). - + Changes the BIOS image used to start future sessions. Ändert das BIOS-Image, mit dem zukünftige Sitzungen gestartet werden. - + Automatic Automatisch - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Standard - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Wechselt automatisch in den Vollbildmodus, wenn ein Spiel gestartet wird. - + On-Screen Display Bildschirmanzeige - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Zeigt die Auflösung des Spiels in der rechten oberen Ecke des Bildschirms an. - + BIOS Configuration BIOS Konfiguration - + BIOS Selection BIOS-Auswahl - + Options and Patches Optionen und Patches - + Skips the intro screen, and bypasses region checks. Überspringt den Intro Bildschirm und umgeht die Regionsprüfung. - + Speed Control Geschwindigkeitskontrolle - + Normal Speed Normale Geschwindigkeit - + Sets the speed when running without fast forwarding. Setzt die Geschwindigkeit beim Ausführen ohne schnellen Vorlauf. - + Fast Forward Speed Vorspul Geschwindigkeit - + Sets the speed when using the fast forward hotkey. Legt die Geschwindigkeit fest, wenn du die Vorspul-Taste drückst. - + Slow Motion Speed Zeitlupen Geschwindigkeit - + Sets the speed when using the slow motion hotkey. Legt die Geschwindigkeit fest, wenn du die Zeitlupen-Taste drückst. - + System Settings Systemeinstellungen - + EE Cycle Rate EE Zyklusrate - + Underclocks or overclocks the emulated Emotion Engine CPU. Unter- oder übertaktet die emulierte Emotion Engine CPU. - + EE Cycle Skipping EE-Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) MTVU (Multi-Threaded VU1) aktivieren - + Enable Instant VU1 Instant VU1 aktivieren - + Enable Cheats Cheats aktivieren - + Enables loading cheats from pnach files. Aktiviert das Laden von Cheats aus .pnach-Dateien. - + Enable Host Filesystem Host-Dateisystem aktivieren - + Enables access to files from the host: namespace in the virtual machine. Aktiviert den Zugriff auf Dateien vom Host: Namespace in der virtuellen Maschine. - + Enable Fast CDVD Fast CDVD aktivieren - + Fast disc access, less loading times. Not recommended. Schneller Disc Zugriff, geringere Ladezeiten. Nicht empfohlen. - + Frame Pacing/Latency Control Frame Pacing / Latenzkontrolle - + Maximum Frame Latency Maximale Bild Latenz - + Sets the number of frames which can be queued. Legt die Anzahl der Frames fest, die in der Warteschlange stehen können. - + Optimal Frame Pacing Optimales Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronisiert EE und GS Threads nach jedem Frame. Niedrigste Eingabeverzögerung, aber erhöht die Systemanforderungen. - + Speeds up emulation so that the guest refresh rate matches the host. Beschleunigt Emulation, sodass die Gast-Aktualisierungsrate mit dem Host übereinstimmt. - + Renderer Renderer - + Selects the API used to render the emulated GS. Wählt die API aus, die zum Rendern des emulierten GS verwendet wird. - + Synchronizes frame presentation with host refresh. Synchronisiert Frame-Präsentation mit Host-Aktualisierung. - + Display Display - + Aspect Ratio Seitenverhältnis - + Selects the aspect ratio to display the game content at. Wählt das Seitenverhältnis aus, mit dem das Spiel angezeigt wird. - + FMV Aspect Ratio Override FMV Seitenverhältnis überschreiben - + Selects the aspect ratio for display when a FMV is detected as playing. Wählt das Seitenverhältnis aus, wenn erkannt wird das ein FMV abgespielt wird. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Wählt den Algorithmus aus, der verwendet wird, um die PS2-Ausgabe von interlace in progressiv zu konvertieren. - + Screenshot Size Screenshot-Größe - + Determines the resolution at which screenshots will be saved. Bestimmt die Auflösung, in der Screenshots gespeichert werden. - + Screenshot Format Screenshot-Format - + Selects the format which will be used to save screenshots. Wählt das Format aus, das zum Speichern von Screenshots verwendet wird. - + Screenshot Quality Screenshot-Qualität - + Selects the quality at which screenshots will be compressed. Wählt die Qualität aus, in der Screenshots komprimiert werden. - + Vertical Stretch Vertikale Streckung - + Increases or decreases the virtual picture size vertically. Erhöht oder verringert die virtuelle vertikale Bildgröße. - + Crop Zuschneiden - + Crops the image, while respecting aspect ratio. Schneidet das Bild zu, unter Berücksichtigung des Seitenverhältnisses. - + %dpx %dpx - - Enable Widescreen Patches - Breitbild Patches aktivieren - - - - Enables loading widescreen patches from pnach files. - Aktiviert das Laden von Deinterlacing Patches aus Pnach Dateien. - - - - Enable No-Interlacing Patches - Deinterlacing-Patches aktivieren - - - - Enables loading no-interlacing patches from pnach files. - Aktiviert das Laden von Deinterlacing Patches aus Pnach Dateien. - - - + Bilinear Upscaling Bilineares Hochskalieren - + Smooths out the image when upscaling the console to the screen. Glättet das Bild beim Hochskalieren der Konsole auf den Bildschirm. - + Integer Upscaling Ganzzahl-Hochskalierung - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Fügt dem Anzeigebereich Polster hinzu, um sicherzustellen, dass das Verhältnis zwischen Pixeln auf dem Host zu Pixel in der Konsole eine Ganzzahl (Integer) ist. Dies kann zu einem schärferen Bild in einigen 2D-Spielen führen. - + Screen Offsets Bildschirm-Versatz - + Enables PCRTC Offsets which position the screen as the game requests. Aktiviert PCRTC Offsets welche den Bildschirm gemäß Spielanfrage positionieren. - + Show Overscan Overscan anzeigen - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Aktiviert die Option, den Overscan Bereich bei Spielen anzuzeigen, welche mehr als den sicheren Bereich des Bildschirms anzeigt. - + Anti-Blur Anti-Bewegungunschärfe - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Aktiviert interne Anti-Bewegungsunschärfe-Hacks. Weniger übereinstimmend wie PS2 das Rendering händelt, aber viele Spiele werden weniger verschwommen aussehen. - + Rendering Rendering - + Internal Resolution Interne Auflösung - + Multiplies the render resolution by the specified factor (upscaling). Multipliziert die Renderauflösung mit dem angegebenen Faktor (Hochskalierung). - + Mipmapping Mipmapping - + Bilinear Filtering Bilineare Filterung - + Selects where bilinear filtering is utilized when rendering textures. Wählt, wo bilineare Filterung verwendet wird, wenn Texturen dargestellt werden. - + Trilinear Filtering Trilineare Filterung - + Selects where trilinear filtering is utilized when rendering textures. Wählt, wo die trilineare Filterung beim Rendern von Texturen verwendet wird. - + Anisotropic Filtering Anisotropische Filterung - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Wählt die Art des Dithering aus, wenn das Spiel es anfordert. - + Blending Accuracy Blending Genauigkeit - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Bestimmt die Genauigkeitsstufe, wenn Überlagerungsmodi emuliert werden, die von der Host-Grafik-API nicht unterstützt werden. - + Texture Preloading Textur vorab laden - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Lädt vollständige Texturen bei der Verwendung in die GPU und nicht nur die genutzten Regionen. Kann die Leistung in einigen Spielen verbessern. - + Software Rendering Threads Software-Rendering-Threads - + Number of threads to use in addition to the main GS thread for rasterization. Anzahl der zu verwendenden Threads zusätzlich zum GS-Thread zur Rasterung. - + Auto Flush (Software) Auto-Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Erzwingt einen primitiven Flush wenn ein Framebuffer auch eine Input-Textur ist. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Aktiviert Emulation der GS Kantenglättung (AA1). - + Enables emulation of the GS's texture mipmapping. Aktiviert Emulation des GS-Textur Mipmapping. - + The selected input profile will be used for this game. Das ausgewählte Eingabeprofil wird für dieses Spiel verwendet. - + Shared Geteilt - + Input Profile Eingabeprofil - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Zeigt beim Wechseln von Slots statt der Benachrichtigungsblase eine Save-State Auswahl für den Speicherstatus an. + + + Shows the current PCSX2 version on the top-right corner of the display. Zeigt die aktuelle PCSX2-Version in der oberen rechten Ecke des Displays an. - + Shows the currently active input recording status. Zeigt den aktuellen Status der Eingabeaufnahme an. - + Shows the currently active video capture status. Zeigt den aktuellen Videoaufnahme-Status. - + Shows a visual history of frame times in the upper-left corner of the display. Zeigt ein Histogramm der Frametimes in der oberen linken Ecke des Displays an. - + Shows the current system hardware information on the OSD. Zeigt die aktuellen Hardware-Informationen des Systems im OSD an. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Setzt Emulations-Threads fest auf echte CPU-Kerne (anstatt Hyperthreading/SMT Kerne), um eventuell die Performance/Frametimes zu verbessern bzw. Schwankungen zu verringern. - + + Enable Widescreen Patches + Breitbild Patches aktivieren + + + + Enables loading widescreen patches from pnach files. + Aktiviert das Laden von Breitbild Patches von Pnach Dateien. + + + + Enable No-Interlacing Patches + De-Interlacing-Patches aktivieren + + + + Enables loading no-interlacing patches from pnach files. + Aktiviert das Laden von De-Interlacing Patches von Pnach Dateien. + + + Hardware Fixes Hardware-Fixes - + Manual Hardware Fixes Manuelle Hardware-Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Deaktiviert automatische Hardware-Korrekturen, sodass Sie Fehler manuell korrigieren können. - + CPU Sprite Render Size CPU Sprite Rendergröße - + Uses software renderer to draw texture decompression-like sprites. Verwendet Software-Renderer um Textur-Dekompressions-ähnliche Sprites zu zeichnen. - + CPU Sprite Render Level CPU-Sprite Render-Level - + Determines filter level for CPU sprite render. Bestimmt die Filterebene für CPU-Sprite-Render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Benutzt Software-Renderer um Textur CLUT Punkte/Sprites zu zeichnen. - + Skip Draw Start Draw Start überspringen - + Object range to skip drawing. Objektbereich zum Zeichnen überspringen. - + Skip Draw End Draw Ende überspringen - + Auto Flush (Hardware) Auto-Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer-Konvertierung - + Disable Depth Conversion Tiefenkonvertierung Deaktivieren - + Disable Safe Features Sichere Funktionen deaktivieren - + This option disables multiple safe features. Mit dieser Einstellung werden mehrere Sicherheitsfunktionen deaktiviert. - + This option disables game-specific render fixes. Diese Einstellung deaktiviert spiel-spezifische Render-Korrekturen. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Lädt GS-Daten hoch, wenn ein neuer Frame gerendert wird, um einige Effekte genau zu reproduzieren. - + Disable Partial Invalidation Teilweise Ungültigkeit deaktivieren - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Entfernt Textur-Cache-Einträge, wenn es irgendeine Überschneidung gibt, und nicht nur die überschnittenen Bereiche. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Ermöglicht es dem Textur-Cache, den inneren Teil eines früheren Framebuffers als Eingabetextur wiederzuverwenden. - + Read Targets When Closing Liest Ziele beim Schließen - + Flushes all targets in the texture cache back to local memory when shutting down. Leert beim Herunterfahren alle Ziele im Textur-Cache zurück in den lokalen Speicher. - + Estimate Texture Region Schätzung der Textur-Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Versucht, die Texturgröße zu reduzieren, wenn die Spiele sie nicht selbst festlegen (z.B. Snowblind-Spiele). - + GPU Palette Conversion GPU Paletten Konvertierung - + Upscaling Fixes Hochskalierungs Fixes - + Adjusts vertices relative to upscaling. Passt Scheitelpunkte relativ zur Hochskalierung an. - + Native Scaling Native Skalierung - + Attempt to do rescaling at native resolution. Versuch bei nativer Auflösung umzukalkulieren. - + Round Sprite Runder Sprite - + Adjusts sprite coordinates. Ändert die Sprite-Koordinaten. - + Bilinear Upscale Bilineare Hochskalierung - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Kann Texturen glätten, da sie beim Hochskalieren bilinear gefiltert werden. Z. B. Brave Sonnenblendung. - + Adjusts target texture offsets. Passt die Textur-Offsets an. - + Align Sprite Sprite ausrichten - + Fixes issues with upscaling (vertical lines) in some games. Behebt Probleme mit Upscaling (vertikale Zeilen) in einigen Spielen. - + Merge Sprite Sprite zusammenführen - + Replaces multiple post-processing sprites with a larger single sprite. Ersetzt mehrere Nachbearbeitungs-Sprites durch ein größeres einzelnes Sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Verringert die GS-Präzision, um Lücken zwischen Pixeln beim Hochskalieren zu vermeiden. Korrigiert den Text in Wild Arms-Spielen. - + Unscaled Palette Texture Draws Unskalierte Paletten-Textur Draws - + Can fix some broken effects which rely on pixel perfect precision. Kann einige defekte Effekte beheben, die auf perfekte Pixelgenauigkeit angewiesen sind. - + Texture Replacement Textur Ersatz - + Load Textures Texturen laden - + Loads replacement textures where available and user-provided. Lädt Ersatztexturen, sofern vorhanden und vom Benutzer bereitgestellt. - + Asynchronous Texture Loading Asynchrones Laden von Texturen - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Lädt Ersatztexturen auf einem Worker-Thread, wodurch Mikrostottern reduziert wird, wenn Ersatztexturen aktiviert sind. - + Precache Replacements Precache-Ersatz - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Lädt alle Ersatztexturen in den Speicher vor. Nicht notwendig bei asynchronem Laden. - + Replacements Directory Ersetzungs-Verzeichnis - + Folders Ordner - + Texture Dumping Textur Dumping - + Dump Textures Texturen dumpen - + Dump Mipmaps Mipmaps dumpen - + Includes mipmaps when dumping textures. Schließt Mipmaps beim Dumping von Texturen ein. - + Dump FMV Textures FMV-Texturen dumpen - + Allows texture dumping when FMVs are active. You should not enable this. Erlaubt Textur-Dumping, wenn FMVs aktiv sind. Sie sollten dies nicht aktivieren. - + Post-Processing Nachbearbeitung - + FXAA FXAA - + Enables FXAA post-processing shader. Aktiviert den FXAA-Nachbearbeitungs-Shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Aktiviert FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS-Schärfe - + Determines the intensity the sharpening effect in CAS post-processing. Bestimmt die Intensität der Schärfe der CAS-Nachbearbeitung. - + Filters Filter - + Shade Boost Schattierungs Boost - + Enables brightness/contrast/saturation adjustment. Ermöglicht die Anpassung von Helligkeit/Kontrast/Sättigung. - + Shade Boost Brightness Shade Boost Helligkeit - + Adjusts brightness. 50 is normal. Helligkeit einstellen. 50 ist normal. - + Shade Boost Contrast Shade Boost Kontrast - + Adjusts contrast. 50 is normal. Kontrast anpassen. 50 ist normal. - + Shade Boost Saturation Shade Boost Sättigung - + Adjusts saturation. 50 is normal. Sättigung anpassen. 50 ist normal. - + TV Shaders TV-Shader - + Advanced Erweitert - + Skip Presenting Duplicate Frames Überspringe Darstellung Doppelter Frames - + Extended Upscaling Multipliers Erweiterte Upscaling-Multiplikatoren - + Displays additional, very high upscaling multipliers dependent on GPU capability. Zeigt zusätzliche Hochskalierungs-Multiplikatoren an, die von der GPU-Fähigkeit abhängig sind. - + Hardware Download Mode Hardware-Download-Modus - + Changes synchronization behavior for GS downloads. Ändert das Synchronisationsverhalten für GS-Downloads. - + Allow Exclusive Fullscreen Erlaubt exklusiven Vollbildschirm - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Überschreibt die Heuristik des Treibers's um exklusives Vollbild oder direktes Flip/Scanout zu aktivieren. - + Override Texture Barriers Texturbarrieren Überschreiben - + Forces texture barrier functionality to the specified value. Erzwingt die Funktionalität der Texturbarrieren auf den angegebenen Wert. - + GS Dump Compression GS Dump Komprimierung - + Sets the compression algorithm for GS dumps. Legt den Komprimierungsalgorithmus für GS-Dumps fest. - + Disable Framebuffer Fetch Framebuffer-Abruf deaktivieren - + Prevents the usage of framebuffer fetch when supported by host GPU. Verhindert die Verwendung von Framebuffer Fetch, wenn dies von der Host-GPU unterstützt wird. - + Disable Shader Cache Shader Cache deaktivieren - + Prevents the loading and saving of shaders/pipelines to disk. Verhindert das Laden und Speichern von Shadern/Pipelines auf der Festplatte. - + Disable Vertex Shader Expand Expandierung des Vertex-Shaders deaktivieren - + Falls back to the CPU for expanding sprites/lines. Greift auf die CPU zurück, um Sprites/Zeilen zu erweitern. - + Changes when SPU samples are generated relative to system emulation. Ändert, wann SPU-Samples im Verhältnis zur Systememulation erzeugt werden. - + %d ms %d ms - + Settings and Operations Einstellungen und Betrieb - + Creates a new memory card file or folder. Erstellt eine neue Memory Card-datei oder einen Ordner. - + Simulates a larger memory card by filtering saves only to the current game. Simuliert eine größere Memory Card, indem für nur das aktuelle Spiel gefiltert wird. - + If not set, this card will be considered unplugged. Falls nicht gesetzt wird diese Karte als nicht eingesteckt angesehen. - + The selected memory card image will be used for this slot. Das ausgewählte Memory Card Abbild wird für diesen Slot verwendet. - + Enable/Disable the Player LED on DualSense controllers. Aktiviere/Deaktiviere die Spieler-LED in DualSense-Controllern. - + Trigger Auslöser - + Toggles the macro when the button is pressed, instead of held. Schaltet das Makro um, wenn der Knopf gedrückt wird, anstatt gehalten. - + Savestate Savestate - + Compression Method Komprimierungsmethode - + Sets the compression algorithm for savestate. Setzt den Komprimierungsalgorithmus für den Savestate fest. - + Compression Level Kompressionslevel - + Sets the compression level for savestate. Setzt den Komprimierungslevel für den Savestate fest. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Steckplatz {} - + 1.25x Native (~450px) 1.25x Nativ (~450px) - + 1.5x Native (~540px) 1,5x Nativ (~540px) - + 1.75x Native (~630px) 1,75x Nativ (~630px) - + 2x Native (~720px/HD) 2x Nativ (~720px/HD) - + 2.5x Native (~900px/HD+) 2,5x Nativ (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Nativ (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Nativ (~1260px) - + 4x Native (~1440px/QHD) 4x Nativ (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Nativ (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6 x Nativ (~2160px/4K UHD) - + 7x Native (~2520px) 7x Nativ (~2520px) - + 8x Native (~2880px/5K UHD) 8x Nativ (~2880px/5K UHD) - + 9x Native (~3240px) 9x Nativ (~3240px) - + 10x Native (~3600px/6K UHD) 10x Nativ (~3600px/6K UHD) - + 11x Native (~3960px) 11x Nativ (~3960px) - + 12x Native (~4320px/8K UHD) 12x Nativ (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressiv - + Deflate64 Deflate64 - + Zstandard ZStandard - + LZMA2 LZMA2 - + Low (Fast) Niedrig (Schnell) - + Medium (Recommended) Mittel (empfohlen) - + Very High (Slow, Not Recommended) Sehr hoch (langsam, nicht empfohlen) - + Change Selection Auswahl ändern - + Select Wähle - + Parent Directory Übergeordnetes Verzeichnis - + Enter Value Wert eingeben - + About Über - + Toggle Fullscreen Vollbild umschalten - + Navigate Navigieren - + Load Global State Globalen Status laden - + Change Page Seite ändern - + Return To Game Zurück zum Spiel - + Select State Status auswählen - + Select Game Spiel auswählen - + Change View Ansicht ändern - + Launch Options Startoptionen - + Create Save State Backups Save-State Backup erstellen - + Show PCSX2 Version Zeige PCSX2-Version - + Show Input Recording Status Eingabeaufzeichnungsstatus anzeigen - + Show Video Capture Status Videoaufnahme-Status anzeigen - + Show Frame Times Frametimes anzeigen - + Show Hardware Info Hardware-Info anzeigen - + Create Memory Card Memory Card erstellen - + Configuration Konfiguration - + Start Game Spiel starten - + Launch a game from a file, disc, or starts the console without any disc inserted. Starte ein Spiel von einer Datei, einer Disk oder starte die Konsole ohne Disk eingelegt. - + Changes settings for the application. Ändert Einstellungen für die Anwendung. - + Return to desktop mode, or exit the application. Zurück zum Desktop-Modus, oder beendet die Anwendung. - + Back Zurück - + Return to the previous menu. Zurück zum vorherigen Menü. - + Exit PCSX2 PCSX2 beenden - + Completely exits the application, returning you to your desktop. Beendet die Anwendung vollständig, und kehrt auf den Desktop zurück. - + Desktop Mode Desktopmodus - + Exits Big Picture mode, returning to the desktop interface. Beendet den Big Picture Modus und kehrt zur Desktopansicht zurück. - + Resets all configuration to defaults (including bindings). Setzt alle Einstellungen auf die Standardeinstellungen (einschließlich der Bindungen) zurück. - + Replaces these settings with a previously saved input profile. Ersetzt diese Einstellungen durch ein zuvor gespeichertes Eingabeprofil. - + Stores the current settings to an input profile. Speichert die aktuellen Einstellungen in einem Eingabeprofil. - + Input Sources Eingabequelle - + The SDL input source supports most controllers. Die SDL Eingangsquelle unterstützt die meisten Controller. - + Provides vibration and LED control support over Bluetooth. Unterstützt Vibrations- und LED-Steuerung über Bluetooth. - + Allow SDL to use raw access to input devices. SDL erlauben, Rohzugriff auf Eingabegeräte zu verwenden. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Die XInput-Quelle bietet Unterstützung für XBox 360/XBox One/XBox Controller. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Ermöglicht zusätzliche drei Controller-Slots. Nicht in allen Spielen unterstützt. - + Attempts to map the selected port to a chosen controller. Versucht, den ausgewählten Steckplatz einem ausgewählten Controller zuzuordnen. - + Determines how much pressure is simulated when macro is active. Legt fest, wie viel Druck simuliert wird, wenn Makro aktiv ist. - + Determines the pressure required to activate the macro. Bestimmt den Druck, der benötigt wird, um das Makro zu aktivieren. - + Toggle every %d frames Alle %d Frames umschalten - + Clears all bindings for this USB controller. Löscht alle Zuordnungen für diesen USB-Controller. - + Data Save Locations Datenspeicherorte - + Show Advanced Settings Erweiterte Einstellungen anzeigen - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Das Ändern dieser Optionen kann dazu führen, dass Spiele nicht mehr funktionieren. Die Änderung erfolgt auf eigene Gefahr. Das PCSX2-Team bietet keinen Support für Konfigurationen, bei denen diese Einstellungen geändert wurden. - + Logging Protokollierung - + System Console Systemkonsole - + Writes log messages to the system console (console window/standard output). Schreibt Logmeldungen in die Systemkonsole (Konsolenfenster/Standardausgabe). - + File Logging Datei-Protokollierung - + Writes log messages to emulog.txt. Schreibt Logmeldungen in emulog.txt. - + Verbose Logging Ausführliche Protokollierung - + Writes dev log messages to log sinks. Schreibt Entwicklerprotokollnachrichten in die Protokollausgabe. - + Log Timestamps Protokoll-Zeitmarken - + Writes timestamps alongside log messages. Schreibt Zeitstempel neben Log-Nachrichten. - + EE Console EE-Konsole - + Writes debug messages from the game's EE code to the console. Gibt Debug-Nachrichten des EE Codes des Spiels in der Konsole aus. - + IOP Console IOP-Konsole - + Writes debug messages from the game's IOP code to the console. Gibt Debug-Nachrichten des IOP Codes des Spiels in der Konsole aus. - + CDVD Verbose Reads Ausführlicher CDVD Lesemodus - + Logs disc reads from games. Protokolliert Disc-lesungen aus Spielen. - + Emotion Engine Emotion Engine - + Rounding Mode Rundungsmodus - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Bestimmt, wie die Ergebnisse der Floating-point Operationen gerundet werden. Einige Spiele benötigen spezielle Einstellungen. - + Division Rounding Mode Division Rundungsmodus - + Determines how the results of floating-point division is rounded. Some games need specific settings. Bestimmt, wie die Ergebnisse der Gleitkommazahl gerundet werden. Einige Spiele benötigen spezielle Einstellungen. - + Clamping Mode Clamping Modus - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Legt fest, wie floating point zahlen, die außerhalb des Bereichs liegen, behandelt werden. Einige Spiele benötigen spezielle Einstellungen. - + Enable EE Recompiler EE Recompiler Aktivieren - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Führt eine Just-in-Time-Binärübersetzung von 64-Bit-MIPS-IV-Maschinencode in nativen Code durch. - + Enable EE Cache EE-Cache aktivieren - + Enables simulation of the EE's cache. Slow. Aktiviert die Simulation des EE-Caches. Langsam. - + Enable INTC Spin Detection INTC Spin-Erkennung aktivieren - + Huge speedup for some games, with almost no compatibility side effects. Erheblicher Geschwindigkeitszuwachs für einige Spiele, fast ohne Kompatibilitätsnebenwirkungen. - + Enable Wait Loop Detection Aktiviere Warteschleifenerkennung - + Moderate speedup for some games, with no known side effects. Leichte Beschleunigung bei einigen Spielen, ohne bekannte Nebenwirkungen. - + Enable Fast Memory Access Schnellen Speicherzugriff aktivieren - + Uses backpatching to avoid register flushing on every memory access. Verwendet Backpatching, um eine Register-Leerung zu verhindern, bei jedem Speicherzugriff. - + Vector Units Vektoreinheiten - + VU0 Rounding Mode VU0 Rundungsmodus - + VU0 Clamping Mode VU0 Clamping Modus - + VU1 Rounding Mode VU1 Rundungsmodus - + VU1 Clamping Mode VU1 Clamping Modus - + Enable VU0 Recompiler (Micro Mode) VU0 Recompiler (Micro Modus) aktivieren - + New Vector Unit recompiler with much improved compatibility. Recommended. Neuer Vector Unit Recompiler mit deutlich verbesserter Kompatibilität. Empfohlen. - + Enable VU1 Recompiler VU1 Recompiler aktivieren - + Enable VU Flag Optimization Aktiviere VU Flag Optimierung - + Good speedup and high compatibility, may cause graphical errors. Gute Beschleunigung und hohe Kompatibilität, kann grafische Fehler verursachen. - + I/O Processor I/O-Prozessor - + Enable IOP Recompiler IOP Recompiler aktivieren - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Führt just-in-time (JIT) Binärübersetzung von 32-bit MIPS-I Maschinencode zu nativem Code durch. - + Graphics Grafik - + Use Debug Device Debug-Gerät verwenden - + Settings Einstellungen - + No cheats are available for this game. Keine Cheats verfügbar für dieses Spiel. - + Cheat Codes Cheat Codes - + No patches are available for this game. Keine Patches verfügbar für dieses Spiel. - + Game Patches Spiel-Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Cheats zu aktivieren kann unvorhersehbares Verhalten hervorrufen, für Crashes und Softlocks sorgen sowie Spielstände korrumpieren. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Patches zu aktivieren kann unvorhersehbares Verhalten hervorrufen, für Crashes und Softlocks sorgen sowie Spielstände korrumpieren. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Benutze Patches auf eigenes Risiko, das PCSX2-Team bietet keine Unterstützung für Benutzer, die Spielpatches aktiviert haben. - + Game Fixes Spiel-Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Spiel-Fixes sollten nicht modifiziert werden, es sei denn, du weißt genau, was jede Option tut und welche Auswirkungen das hat. - + FPU Multiply Hack FPU Multiplikation Hack - + For Tales of Destiny. Für "Tales of Destiny". - + Preload TLB Hack TLB-Hack vorab laden - + Needed for some games with complex FMV rendering. Wird gebraucht bei einigen Spielen die FMV´s komplexer rendern. - + Skip MPEG Hack MPEG Hack überspringen - + Skips videos/FMVs in games to avoid game hanging/freezes. Überspringt Videos/FMVs in Spielen, um ein Hängenbleiben/Einfrieren des Spiels zu vermeiden. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Sofortiger DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Betroffene Spiele, die bekannt sind: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Wenn sich SOCOM 2 HUD oder Spy Hunter beim Laden aufhängen. - + VU Add Hack VU Addition Hack - + Full VU0 Synchronization Volle VU0 Synchronisierung - + Forces tight VU0 sync on every COP2 instruction. Zwingt enge VU0 Synchronisierung bei jeder COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). Auf mögliche float overflows prüfen (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Genaues Timing für VU XGKicks benutzen (langsamer). - + Load State Savestate laden - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Lässt die Emulierte Emotion Engine Zyklen überspringen. Hilft bei einer kleinen Auswahl an Spielen wie Shadow of the Colossus. Meist verschlechtert es aber die Leistung. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Gibt generell einen ein Geschwindigkeitszuwachs auf CPUs mit 4 oder mehr Kernen. Für die meisten Spiele geeignet, einige sind jedoch nicht kompatibel und können sich aufhängen. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Startet VU1 sofort. Bietet eine mittelmässige Geschwindigkeitsverbesserung in den meisten Spielen. Für die meisten Spiele geeignet, aber bei einigen kann es zu Grafikfehlern kommen. - + Disable the support of depth buffers in the texture cache. Deaktivieren Sie die Unterstützung von Tiefenpuffern im Textur-Cache. - + Disable Render Fixes Render-Korrekturen deaktivieren - + Preload Frame Data Frame-Daten vorladen - + Texture Inside RT Textur innerhalb RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Wenn aktiviert, konvertiert die GPU Colormap-Texturen, andernfalls wird die CPU es tun. Es handelt sich um einen Ausgleich zwischen GPU und CPU. - + Half Pixel Offset Halbpixel-Versatz - + Texture Offset X Texturversatz X - + Texture Offset Y Texturversatz Y - + Dumps replaceable textures to disk. Will reduce performance. Speichert austauschbare Texturen auf der Festplatte. Reduziert die Leistung. - + Applies a shader which replicates the visual effects of different styles of television set. Wendet einen Shader an, der die visuellen Effekte verschiedener Arten von Fernsehgeräten nachbildet. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Überspringt die Anzeige von Frames, die sich in Spielen mit 25/30 Bildern pro Sekunde nicht ändern. Kann die Geschwindigkeit verbessern, aber die Eingabeverzögerung erhöhen/das Frame-Tempo verschlechtern. - + Enables API-level validation of graphics commands. Ermöglicht die Validierung von Grafikbefehlen auf API-Ebene. - + Use Software Renderer For FMVs Software-Renderer für FMVs Verwenden - + To avoid TLB miss on Goemon. Um einen TLB-Fehler bei Goemon zu vermeiden. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Allzweck-Timing-Hack. Bekannt dafür, folgende Spiele zu beeinflussen: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Gut für Cache-Emulationsprobleme. Bekannt dafür, folgende Spiele zu beeinflussen: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Bekannt dafür, folgende Spiele zu beeinflussen: Bleach Blade Battlers, Growlanser II und III, Wizardry. - + Emulate GIF FIFO GIF FIFO emulieren - + Correct but slower. Known to affect the following games: Fifa Street 2. Korrekt aber langsamer. Bekannt dafür, folgende Spiele zu beeinflussen: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Verzögerung von VIF1-Störungen - + Emulate VIF FIFO VIF FIFO emulieren - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulieren Sie das Vorauslesen des VIF1-FIFO. Betrifft bekanntermaßen folgende Spiele: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Vermeidet die ständige Neukompilierung in einigen Spielen. Bekannt dafür, folgende Spiele zu beeinflussen: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Für Tri-Ace Spiele: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Lauf hinterher. Um Synchronisierungsprobleme beim Lesen oder Schreiben von VU-Registern zu vermeiden. - + VU XGKick Sync VU XGKick-Synchronisierung - + Force Blit Internal FPS Detection Erzwinge die interne FPS-Erkennung von Blit - + Save State Savestate erstellen - + Load Resume State Fortsetzungsstatus laden - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Möchten Sie diesen laden und fortfahren? - + Region: Region: - + Compatibility: Kompatibilität: - + No Game Selected Kein Spiel ausgewählt - + Search Directories Verzeichnisse durchsuchen - + Adds a new directory to the game search list. Fügt der Spielsuche ein neues Verzeichnis hinzu. - + Scanning Subdirectories "Unterverzeichnisse durchsuchen" - + Not Scanning Subdirectories Unterverzeichnisse nicht durchsuchen - + List Settings Listeneinstellungen - + Sets which view the game list will open to. Legt fest, in welcher Ansicht die Spieleliste geöffnet wird. - + Determines which field the game list will be sorted by. Legt fest, nach welchem Feld die Spielliste sortiert wird. - + Reverses the game list sort order from the default (usually ascending to descending). Kehrt die Sortierung der Spiele um. (Normalerweise aufsteigend bis absteigend). - + Cover Settings Cover-Einstellungen - + Downloads covers from a user-specified URL template. Lädt Covers von einer benutzerdefinierten URL-Vorlage herunter. - + Operations Operationen - + Selects where anisotropic filtering is utilized when rendering textures. Wählt wo die Anisotropische Filterung angewendet wird, wenn Texturen gerendert werden. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Eine alternative Methode nutzen um die internen Fps zu berechnen, um falsch ausgelesene Werte in manchen Spielen zu vermeiden. - + Identifies any new files added to the game directories. Identifiziert alle neuen Dateien, die zu den Spielverzeichnissen hinzugefügt wurden. - + Forces a full rescan of all games previously identified. Erzwingt eine vollständige Neueinlesung aller zuvor identifizierten Spiele. - + Download Covers Cover herunterladen - + About PCSX2 Über PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 ist ein freier PlayStation 2 (PS2) Open-Source-Emulator. Sein Zweck ist es, die PS2-Hardware zu emulieren mithilfe einer Kombination aus MIPS-CPU-Interpetern, Recompilern sowie einer virtuellen Maschiene, welche die Hardware-Zustände und den PS2-Systemspeicher verwaltet. So können PS2-Spiele auf dem PC gespielt werden, mit weiteren zusätzlichen Funktionen und Vorteilen. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 und PS2 sind eingetragene Marken von Sony Interactive Entertainment. Diese Anwendung ist in keinster Weise mit Sony Interactive Entertainment verbunden. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Wenn aktiviert und angemeldet, wird PCSX2 nach Errungenschaften suchen, während das Spiel geladen wird. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" Modus für Errungenschaften, einschließlich Ranglisten Tracking. Deaktiviert Savestates, Cheats und Zeitlupen Funktionen. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Zeigt Popup-Meldungen bei Ereignissen wie der Freischaltung von Erfolgen und der Teilnahme an der Rangliste an. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Spielt Soundeffekte für Ereignisse wie das Freischalten von Errungenschaften und die Teilnahme an der Rangliste ab. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Zeigt Symbole in der unteren rechten Ecke des Bildschirms an, wenn eine Herausforderung/eine Errungenschaft aktiv ist. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Wenn aktiviert, listet PCSX2 Errungenschaften von inoffiziellen Sets auf. Diese Errungenschaften werden nicht von RetroAchievements aufgezeichnet. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Wenn aktiviert, geht PCSX2 davon aus, dass alle Errungenschaften gesperrt sind und wird keine Nachrichten an den Server senden das Errungenschaften freigeschaltet wurden. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pausiert den Emulator, wenn ein Controller mit Tastenzuordnungen getrennt wird. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Erstellt eine Sicherungskopie eines Savestate, falls dieser bereits existiert wenn der Save erstellt wird. Die Sicherungskopie hat eine .backup Endung - + Enable CDVD Precaching CDVD Precaching aktivieren - + Loads the disc image into RAM before starting the virtual machine. Lädt das Disk-Image in den RAM, bevor die virtuelle Maschine gestartet wird. - + Vertical Sync (VSync) Vertikale Synchronisation (VSync) - + Sync to Host Refresh Rate Mit Host Aktualisierungsrate Synchronisieren - + Use Host VSync Timing Host VSync Timing verwenden - + Disables PCSX2's internal frame timing, and uses host vsync instead. Deaktiviert das interne Frame Timing von PCSX2 und verwendet stattdessen den Host vsync. - + Disable Mailbox Presentation Mailbox-Präsentation deaktivieren - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Erzwingt den Einsatz von FIFO über Mailbox-Präsentation, d.h. doppeltes Puffern statt dreifacher Pufferung. Dies führt in der Regel zu schlechteren Frame Pacing. - + Audio Control Audiosteuerung - + Controls the volume of the audio played on the host. Steuert die Lautstärke des auf dem Host abgespielten Audios. - + Fast Forward Volume Vorspullautstärke - + Controls the volume of the audio played on the host when fast forwarding. Steuert die Lautstärke des auf dem Host abgespielten Audios, wenn vorgespult wird. - + Mute All Sound Alle Töne stummschalten - + Prevents the emulator from producing any audible sound. Verhindert, dass der Emulator hörbaren Sound produziert. - + Backend Settings Backend-Einstellungen - + Audio Backend Audio-Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. Das Audio-Backend legt fest, wie die Frames die vom Emulator erzeugt werden, dem Host übermittelt werden. - + Expansion Erweiterung - + Determines how audio is expanded from stereo to surround for supported games. Legt fest, wie Audio von Stereo bis Surround für unterstützte Spiele erweitert wird. - + Synchronization Synchronisierung - + Buffer Size Puffergröße - + Determines the amount of audio buffered before being pulled by the host API. Bestimmt die Menge des gepufferten Audios, bevor sie von der Host-API angefordert wird. - + Output Latency Ausgabe-Latenz - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Legt fest, wie viel Latenz zwischen dem Audio, das von der Host-API abgeholt wird, und der Lautsprecher-Wiedergabe ist. - + Minimal Output Latency Minimale Ausgabe-Latenz - + When enabled, the minimum supported output latency will be used for the host API. Wenn aktiviert, wird die minimale Latenz der Ausgabe für die Host-API verwendet. - + Thread Pinning Thread-Pinning - + Force Even Sprite Position Erzwinge Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Zeigt Popup-Meldungen an, wenn eine Bestenlisten-Herausforderung gestartet, eingereicht oder nicht bestanden wird. - + When enabled, each session will behave as if no achievements have been unlocked. Wenn diese Option aktiviert ist, verhält sich jede Sitzung so, als ob keine Erfolge freigeschaltet worden wären. - + Account Konto - + Logs out of RetroAchievements. Meldet dich bei RetroAchievements ab. - + Logs in to RetroAchievements. Meldet sich bei RetroAchievements an. - + Current Game Derzeitiges Spiel - + An error occurred while deleting empty game settings: {} Ein Fehler trat auf beim Löschen der leeren Spieleinstellungen: {} - + An error occurred while saving game settings: {} Ein Fehler ist während dem Speichern der Spieleinstellungen aufgetreten: {} - + {} is not a valid disc image. {} ist kein gültiges Disc Image. - + Automatic mapping completed for {}. Automatische Zuordnung abgeschlossen für {}. - + Automatic mapping failed for {}. Automatische Zuordnung fehlgeschlagen für {}. - + Game settings initialized with global settings for '{}'. Die Spieleinstellungen wurden mit globalen Einstellungen für '{}' initialisiert. - + Game settings have been cleared for '{}'. Spieleinstellungen wurden für '{}' gelöscht. - + {} (Current) {} (Aktuell) - + {} (Folder) {} (Ordner) - + Failed to load '{}'. Laden von '{}' fehlgeschlagen. - + Input profile '{}' loaded. Eingabeprofil '{}' geladen. - + Input profile '{}' saved. Eingabeprofil '{}' gespeichert. - + Failed to save input profile '{}'. Fehler beim Speichern des Eingabeprofils '{}'. - + Port {} Controller Type Steckplatz {} Controller Typ - + Select Macro {} Binds Wähle Makro {} Zuordnungen - + Port {} Device Steckplatz {} Gerät - + Port {} Subtype Steckplatz {} Untertyp - + {} unlabelled patch codes will automatically activate. {} unbeschriftete Patch Codes werden automatisch aktiviert. - + {} unlabelled patch codes found but not enabled. {} unbeschriftete Patch codes gefunden, aber nicht aktiviert. - + This Session: {} Diese Session: {} - + All Time: {} Gesamtzeit: {} - + Save Slot {0} Speicherplatz {0} - + Saved {} {} gespeichert - + {} does not exist. {} existiert nicht. - + {} deleted. {} gelöscht. - + Failed to delete {}. Löschen von {} fehlgeschlagen. - + File: {} Datei: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Spielzeit: {} - + Last Played: {} Zuletzt gespielt: {} - + Size: {:.2f} MB Größe: {:.2f} MB - + Left: Links: - + Top: Oben: - + Right: Rechts: - + Bottom: Unten: - + Summary Zusammenfassung - + Interface Settings Oberflächen-Einstellungen - + BIOS Settings BIOS-Einstellungen - + Emulation Settings Emulationseinstellungen - + Graphics Settings Grafikeinstellungen - + Audio Settings Audio-Einstellungen - + Memory Card Settings Memory Card-Einstellungen - + Controller Settings Controller Einstellungen - + Hotkey Settings Tastaturkürzel Einstellungen - + Achievements Settings Errungenschaften Einstellungen - + Folder Settings Ordnereinstellungen - + Advanced Settings Erweiterte Einstellungen - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Geschwindigkeit - + 60% Speed 60% Geschwindigkeit - + 75% Speed 75% Geschwindigkeit - + 100% Speed (Default) 100% Geschwindigkeit (Standard) - + 130% Speed 130% Geschwindigkeit - + 180% Speed 180% Geschwindigkeit - + 300% Speed 300% Geschwindigkeit - + Normal (Default) Normal (Standard) - + Mild Underclock Leichte Untertaktung - + Moderate Underclock Moderate Untertaktung - + Maximum Underclock Maximale Untertaktung - + Disabled Deaktiviert - + 0 Frames (Hard Sync) 0 Frames (Harter Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None Keine - + Extra + Preserve Sign Extra + Vorzeichen behalten - + Full Voll - + Extra Extra - + Automatic (Default) Automatisch (Standard) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Aus - + Bilinear (Smooth) Bilinear (Glatt) - + Bilinear (Sharp) Bilinear (Scharf) - + Weave (Top Field First, Sawtooth) Weave (oberes Feld zuerst, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (unteres Feld zuerst, Sawtooth) - + Bob (Top Field First) Bob (oberes Feld zuerst) - + Bob (Bottom Field First) Bob (unteres Feld zuerst) - + Blend (Top Field First, Half FPS) Blend (Oberes Feld zuerst, halbe FPS) - + Blend (Bottom Field First, Half FPS) Blend (Unteres Feld zuerst, halbe FPS) - + Adaptive (Top Field First) Adaptiv (Oberes Feld zuerst) - + Adaptive (Bottom Field First) Adaptiv (Unteres Feld zuerst) - + Native (PS2) Nativ (PS2) - + Nearest Nächste - + Bilinear (Forced) Bilinear (Erzwungen) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Erzwungen, Außer Sprite) - + Off (None) Aus (Kein) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Erzwungen) - + Scaled Angepasst - + Unscaled (Default) Unskaliert (Standard) - + Minimum Minimum - + Basic (Recommended) Basic (empfohlen) - + Medium Mittel - + High Hoch - + Full (Slow) Voll (langsam) - + Maximum (Very Slow) Maximum (sehr langsam) - + Off (Default) Aus (Standard) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Teilweise - + Full (Hash Cache) Voll (Hash Cache) - + Force Disabled Erzwinge deaktiviert - + Force Enabled Erzwinge aktiviert - + Accurate (Recommended) Genau (empfohlen) - + Disable Readbacks (Synchronize GS Thread) Readbacks deaktivieren (GS Thread synchronisieren) - + Unsynchronized (Non-Deterministic) Unsynchronisiert (nicht deterministisch) - + Disabled (Ignore Transfers) Deaktiviert (Übertragungen ignorieren) - + Screen Resolution Bildschirmauflösung - + Internal Resolution (Aspect Uncorrected) Interne Auflösung (Seitenverhältnis unkorrigiert) - + Load/Save State Lade/Speichere Status - + WARNING: Memory Card Busy WARNUNG: Speicherkarte beschäftigt - + Cannot show details for games which were not scanned in the game list. Für Spiele, die nicht in der Spieleliste gescannt wurden, können keine Details angezeigt werden. - + Pause On Controller Disconnection Wenn der Controller die Verbindung verliert pausieren - + + Use Save State Selector + Save-State Auswahl verwenden + + + SDL DualSense Player LED SDL DualSense Spieler LED - + Press To Toggle Zum Umschalten drücken - + Deadzone Deadzone - + Full Boot Vollständiger Bootvorgang - + Achievement Notifications Leistungsbenachrichtigungen - + Leaderboard Notifications Bestenlisten-Benachrichtigungen - + Enable In-Game Overlays In-Game Overlays aktivieren - + Encore Mode Encore-Modus - + Spectator Mode Zuschauer Modus - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Konvertiere 4-Bit und 8-Bit Framebuffer auf der CPU anstatt der GPU. - + Removes the current card from the slot. Entfernt die aktuelle Karte aus dem Slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Bestimmt die Häufigkeit, mit der das Makro die Tasten ein- und ausschaltet (aka Auto-Feuer). - + {} Frames {} Bilder - + No Deinterlacing Kein Deinterlacing - + Force 32bit 32bit erzwingen - + JPEG JPEG - + 0 (Disabled) 0 (deaktiviert) - + 1 (64 Max Width) 1 (64 Max. Breite) - + 2 (128 Max Width) 2 (128 Max. Breite) - + 3 (192 Max Width) 3 (192 Max. Breite) - + 4 (256 Max Width) 4 (256 Max. Breite) - + 5 (320 Max Width) 5 (320 Max. Breite) - + 6 (384 Max Width) 6 (384 Max. Breite) - + 7 (448 Max Width) 7 (448 Max. Breite) - + 8 (512 Max Width) 8 (512 Max. Breite) - + 9 (576 Max Width) 9 (576 Max. Breite) - + 10 (640 Max Width) 10 (640 Max. Breite) - + Sprites Only Nur Sprites - + Sprites/Triangles Sprites/Dreiecke - + Blended Sprites/Triangles Vermischte Sprites/Dreiecke - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressiv) - + Inside Target Innerhalb des Ziels - + Merge Targets Ziele zusammenführen - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Spezial (Textur) - + Special (Texture - Aggressive) Spezial (Textur - Aggressiv) - + Align To Native An Nativ ausrichten - + Half Halb - + Force Bilinear Erzwinge Bilinear - + Force Nearest Erzwinge nächstgelegene - + Disabled (Default) Deaktiviert (Standard) - + Enabled (Sprites Only) Aktiviert (nur Sprites) - + Enabled (All Primitives) Aktiviert (alle Primitive) - + None (Default) Keine (Standard) - + Sharpen Only (Internal Resolution) Nur schärfen (Interne Auflösung) - + Sharpen and Resize (Display Resolution) Schärfen und Größe ändern (Bildschirmauflösung) - + Scanline Filter Scanline-Filter - + Diagonal Filter Diagonalfilter - + Triangular Filter Triangular Filter - + Wave Filter Wellenfilter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Unkomprimiert - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negativ - + Positive Positiv - + Chop/Zero (Default) Chop/Zero (Standard) - + Game Grid Spiel-Raster - + Game List Spieleliste - + Game List Settings Spielelisten-Einstellungen - + Type Typ - + Serial Seriennummer - + Title Titel - + File Title Dateiname - + CRC CRC - + Time Played Gespielte Zeit - + Last Played Zuletzt gespielt - + Size Dateigröße - + Select Disc Image Disc-Abbild auswählen - + Select Disc Drive Disc Laufwerk auswählen - + Start File Datei starten - + Start BIOS BIOS starten - + Start Disc Disc starten - + Exit Beenden - + Set Input Binding Eingabebindung festlegen - + Region Region - + Compatibility Rating Kompatibilitäts-Bewertung - + Path Pfad - + Disc Path Disc Pfad - + Select Disc Path Disc Pfad auswählen - + Copy Settings Einstellungen Kopieren - + Clear Settings Einstellungen löschen - + Inhibit Screensaver Bildschirmschoner blockieren - + Enable Discord Presence Aktiviere die Statusanzeige für Discord - + Pause On Start Beim Start pausieren - + Pause On Focus Loss Pause bei Fokusverlust - + Pause On Menu Pause bei Menü - + Confirm Shutdown Herunterfahren bestätigen - + Save State On Shutdown Savestate beim Herunterfahren erstellen - + Use Light Theme Benutze das helle Thema - + Start Fullscreen Im Vollbildmodus starten - + Double-Click Toggles Fullscreen Doppelklick schaltet Vollbild um - + Hide Cursor In Fullscreen Cursor im Vollbild ausblenden - + OSD Scale OSD-Skalierung - + Show Messages Nachrichten anzeigen - + Show Speed Geschwindigkeit anzeigen - + Show FPS FPS Anzeigen - + Show CPU Usage CPU-Auslastung anzeigen - + Show GPU Usage GPU-Auslastung anzeigen - + Show Resolution Auflösung anzeigen - + Show GS Statistics Zeige GS-Statistiken - + Show Status Indicators Statusindikatoren anzeigen - + Show Settings Einstellungen anzeigen - + Show Inputs Eingaben anzeigen - + Warn About Unsafe Settings Vor unsicheren Einstellungen warnen - + Reset Settings Einstellungen zurücksetzen - + Change Search Directory Suchverzeichnis auswählen - + Fast Boot Schnellstart - + Output Volume Ausgabelautstärke - + Memory Card Directory Speicherkarten-Verzeichnis - + Folder Memory Card Filter Ordner Memorycard-Filter - + Create Erstellen - + Cancel Abbrechen - + Load Profile Profil laden - + Save Profile Profil speichern - + Enable SDL Input Source SDL-Eingangsquelle aktivieren - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / Erweiterter DualSense Modus - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source XInput-Eingabequelle aktivieren - + Enable Console Port 1 Multitap Multitap an Steckplatz 1 der Konsole aktivieren - + Enable Console Port 2 Multitap Multitap an Steckplatz 2 der Konsole aktivieren - + Controller Port {}{} Controller Steckplatz {}{} - + Controller Port {} Controller Steckplatz {} - + Controller Type Controller-Typ - + Automatic Mapping Automatisches Zuordnen - + Controller Port {}{} Macros Controller Steckplatz {}{} Makros - + Controller Port {} Macros Controller Steckplatz {} Makros - + Macro Button {} Makro-Taste {} - + Buttons Tasten - + Frequency Frequenz - + Pressure Druck - + Controller Port {}{} Settings Controller-Steckplatz {}{} Einstellungen - + Controller Port {} Settings Controller-Steckplatz {} Einstellungen - + USB Port {} USB Anschluss {} - + Device Type Geräte-Typ - + Device Subtype Geräteunterart - + {} Bindings {} Belegung - + Clear Bindings Belegung verwerfen - + {} Settings {} Einstellungen - + Cache Directory Cache-Verzeichnis - + Covers Directory Cover-Verzeichnis - + Snapshots Directory Snapshot-Verzeichnis - + Save States Directory Save State Verzeichnis - + Game Settings Directory Spieleinstellungen Verzeichnis - + Input Profile Directory Eingabeprofil-Verzeichnis - + Cheats Directory Cheats Verzeichnis - + Patches Directory Patch-Verzeichnis - + Texture Replacements Directory Verzeichnis für Texturersatz - + Video Dumping Directory Video-Dumping-Verzeichnis - + Resume Game Spiel fortsetzen - + Toggle Frame Limit Frame Limiter umschalten - + Game Properties Spieleigenschaften - + Achievements Errungenschaften - + Save Screenshot Screenshot speichern - + Switch To Software Renderer Zum Software-Renderer wechseln - + Switch To Hardware Renderer Zum Hardware-Renderer wechseln - + Change Disc Disc wechseln - + Close Game Spiel beenden - + Exit Without Saving Beenden ohne Speichern - + Back To Pause Menu Zurück zum Pause-Menü - + Exit And Save State Beenden und Status Speichern - + Leaderboards Ranglisten - + Delete Save Spielstand löschen - + Close Menu Menü schließen - + Delete State Status löschen - + Default Boot Standard-Boot - + Reset Play Time Spielzeit zurücksetzen - + Add Search Directory Suchverzeichnis hinzufügen - + Open in File Browser Im Dateimanager öffnen - + Disable Subdirectory Scanning Unterverzeichnissuche deaktivieren - + Enable Subdirectory Scanning Unterverzeichnissuche aktivieren - + Remove From List Aus Liste entfernen - + Default View Standardansicht - + Sort By Sortieren nach - + Sort Reversed Umgekehrt sortieren - + Scan For New Games Nach neuen Spielen suchen - + Rescan All Games Alle Spiele erneut scannen - + Website Webseite - + Support Forums Supportforen - + GitHub Repository GitHub-Repository - + License Lizenz - + Close Schließen - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration wird anstelle der integrierten Implementierung von Errungenschaften verwendet. - + Enable Achievements Errungenschaften aktivieren - + Hardcore Mode Hardcore Modus - + Sound Effects Sound-Effekte - + Test Unofficial Achievements Teste inoffizielle Errungenschaften - + Username: {} Benutzername: {} - + Login token generated on {} Login-Token generiert am {} - + Logout Abmelden - + Not Logged In Nicht eingeloggt - + Login Anmelden - + Game: {0} ({1}) Spiel: {0} ({1}) - + Rich presence inactive or unsupported. Rich-Präsenz inaktiv oder nicht unterstützt. - + Game not loaded or no RetroAchievements available. Spiel nicht geladen oder keine RetroAchievements verfügbar. - + Card Enabled Speicherkarte Aktiv - + Card Name Speicherkarten Name - + Eject Card Speicherkarte auswerfen @@ -11072,32 +11131,42 @@ Das Scannen braucht mehr Zeit, aber es wird Dateien in Unterverzeichnissen erken Alle Patches, die für dieses Spiel mit PCSX2 gebündelt sind, werden deaktiviert, da du keine Patches mit Label geladen hast. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Breitbild-Patches sind derzeit <span style=" font-weight:600;">Global</span>aktiviert.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing-Patches sind derzeit <span style=" font-weight:600;">Global</span> aktiviert</p></body></html> + + + All CRCs Alle CRCs - + Reload Patches Patches erneut laden - + Show Patches For All CRCs Patches für alle CRCs anzeigen - + Checked Aktiviert - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Schaltet das Scannen nach Patch Dateien für alle Prüfsummen (CRC) des Spiels um. Wenn diese Option aktiviert ist, werden auch Patches mit abweichender Prüfsumme, die für dieses Spiel verfügbar sind, geladen. - + There are no patches available for this game. Für dieses Spiel sind keine Patches verfügbar. @@ -11573,11 +11642,11 @@ Das Scannen braucht mehr Zeit, aber es wird Dateien in Unterverzeichnissen erken - - - - - + + + + + Off (Default) Aus (Standard) @@ -11587,10 +11656,10 @@ Das Scannen braucht mehr Zeit, aber es wird Dateien in Unterverzeichnissen erken - - - - + + + + Automatic (Default) Automatisch (Voreinstellung) @@ -11657,7 +11726,7 @@ Das Scannen braucht mehr Zeit, aber es wird Dateien in Unterverzeichnissen erken - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Weichgezeichnet) @@ -11723,29 +11792,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Bildschirm-Versatz - + Show Overscan Overscan anzeigen - - - Enable Widescreen Patches - Breitbild Patches aktivieren - - - - Enable No-Interlacing Patches - Deinterlacing Patches aktivieren - - + Anti-Blur Anti-Bewegungsunschärfe-Hack @@ -11756,7 +11815,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Interlace-Offset deaktivieren @@ -11766,18 +11825,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot-Größe: - + Screen Resolution Bildschirmauflösung - + Internal Resolution Interne Auflösung - + PNG PNG @@ -11829,7 +11888,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11876,7 +11935,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unskaliert (Standard) @@ -11892,7 +11951,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (empfohlen) @@ -11928,7 +11987,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Voll (Hash Cache) @@ -11944,31 +12003,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Tiefenkonvertierung Deaktivieren - + GPU Palette Conversion GPU-Palette Konvertierung - + Manual Hardware Renderer Fixes Manuelle Hardware-Renderer Fixes - + Spin GPU During Readbacks GPU-Spin während der Lesungen - + Spin CPU During Readbacks CPU-Spin während der Lesungen @@ -11980,15 +12039,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto-Flush @@ -12016,8 +12075,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (deaktiviert) @@ -12074,18 +12133,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Safe Features deaktivieren - + Preload Frame Data Frame-Daten vorladen - + Texture Inside RT Texture Inside RT @@ -12184,13 +12243,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Sprite zusammenführen - + Align Sprite Sprite ausrichten @@ -12204,16 +12263,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Kein Deinterlacing - - - Apply Widescreen Patches - Breitbild Patches anwenden - - - - Apply No-Interlacing Patches - Deinterlacing Patches anwenden - Window Resolution (Aspect Corrected) @@ -12286,25 +12335,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Partielle Quellen-Invalidierung deaktivieren - + Read Targets When Closing Lese Ziele beim Schließen - + Estimate Texture Region Geschätzte Textur Region - + Disable Render Fixes Render-Korrekturen deaktivieren @@ -12315,7 +12364,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unskalierte Palettentextur Zeichnungen @@ -12374,25 +12423,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Texturen dumpen - + Dump Mipmaps Mipmaps dumpen - + Dump FMV Textures FMV-Texturen dumpen - + Load Textures Texturen laden @@ -12402,6 +12451,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Nativ (10:7) + + + Apply Widescreen Patches + Breitbild Patches anwenden + + + + Apply No-Interlacing Patches + No-Interlacing Patches anwenden + Native Scaling @@ -12419,15 +12478,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Erzwinge Sprite Position - + Precache Textures - Precache Texturen + Texturen vorab laden @@ -12448,8 +12507,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Aus (Standard) @@ -12470,7 +12529,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12522,7 +12581,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Schattierungs Boost @@ -12537,7 +12596,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontrast: - + Saturation Sättigung @@ -12558,50 +12617,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Indikatoren anzeigen - + Show Resolution Auflösung anzeigen - + Show Inputs Eingaben anzeigen - + Show GPU Usage GPU-Auslastung anzeigen - + Show Settings Einstellungen anzeigen - + Show FPS FPS Anzeigen - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Mailbox-Präsentation deaktivieren - + Extended Upscaling Multipliers Erweiterte Upscaling-Multiplikatoren @@ -12617,13 +12676,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Statistiken anzeigen - + Asynchronous Texture Loading Asynchrones Laden von Texturen @@ -12634,13 +12693,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage CPU-Auslastung anzeigen - + Warn About Unsafe Settings Vor unsicheren Einstellungen warnen @@ -12666,7 +12725,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Links (Standard) @@ -12677,43 +12736,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Rechts (Standard) - + Show Frame Times Frame-Zeiten anzeigen - + Show PCSX2 Version PCSX2-Version anzeigen - + Show Hardware Info Hardware-Info anzeigen - + Show Input Recording Status Eingabeaufzeichnungsstatus anzeigen - + Show Video Capture Status Videoaufnahme-Status anzeigen - + Show VPS VPS Anzeigen @@ -12822,19 +12881,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Überspringe Darstellung Doppelter Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12887,7 +12946,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Geschwindigkeit in Prozent anzeigen @@ -12897,1214 +12956,1214 @@ Swap chain: see Microsoft's Terminology Portal. Framebuffer-Abruf deaktivieren - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Globale Einstellung verwenden [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Deaktiviert - + + Enable Widescreen Patches + Breitbild Patches aktivieren + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Lädt automatisch Widescreen-Patches beim Spielstart. Kann Probleme verursachen. + Lädt und aktiviert automatisch Breitbild Patches beim Spielstart. Kann Probleme verursachen. + + + + Enable No-Interlacing Patches + No-Interlacing Patches aktivieren - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Lädt automatisch Deinterlacing-Patches beim Spielstart. Kann Probleme verursachen. + Lädt und aktiviert automatisch No-Interlacing Patches beim Spielstart. Kann Probleme verursachen. - + Disables interlacing offset which may reduce blurring in some situations. Deaktiviert den Interlacing-Versatz, was die Verwischung in einigen Situationen reduzieren kann. - + Bilinear Filtering Bilineare Filterung - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Aktiviert bilineare Nachbearbeitungsfilter. Glättet das Gesamtbild, während es auf dem Bildschirm angezeigt wird. Korrigiert die Positionierung zwischen Pixeln. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Aktiviert PCRTC Offsets welche den Bildschirm gemäß Spielanfrage positionieren. Nützlich für einige Spiele wie WipEout Fusion für seinen Bildschirm schüttel Effekt, kann aber ein verschwommenes Bild verursachen. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Aktiviert die Option, den Overscan Bereich bei Spielen anzuzeigen, welche mehr als den sicheren Bereich des Bildschirms anzeigt. - + FMV Aspect Ratio Override FMV Seitenverhältnis überschreiben - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Bestimmt die Deinterlacing-Methode, die auf dem Interlaced´ten Bildschirm der emulierten Konsole verwendet werden soll. "Automatisch" sollte in der Lage sein, die meisten Spiele korrekt zu Deinterlace´n, aber wenn sichtbar wackelige Grafiken zu sehen sind, versuche eine der anderen verfügbaren Optionen. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Kontrolliert den Genauigkeitsgrad der GS überblendungseinheit der Emulation.<br> Je höher die Einstellung, desto mehr überblendungen werden im Shader akkurat Emuliert und desto größer wird die Geschwindigkeitseinbuße sein.<br> Beachten Sie, dass Direct3D's fähigkeit zu überblenden reduziert ist im Vergleich zu OpenGL/Vulkan. - + Software Rendering Threads Software-Rendering-Threads - + CPU Sprite Render Size CPU Sprite Rendergröße - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Versucht zu erkennen, wenn ein Spiel seine eigene Farbpalette nutzt, um es dann mit der GPU auf spezielle Weise zu rendern. - + This option disables game-specific render fixes. Diese Option deaktiviert spielspezifische Renderfixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Standardmäßig behandelt der Textur-Cache partielle Invalidationen. Leider ist es sehr kostspielig dies CPU-weise zu berechnen. Dieser Hack ersetzt die partielle Invalidierung durch eine vollständige Löschung der Textur, um die CPU-Last zu reduzieren. Er hilft bei den Snowblind-Engine-Spielen. - + Framebuffer Conversion Framebuffer-Konvertierung - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Konvertiert 4-bit und 8-bit Framebuffer auf der CPU anstelle der GPU. Hilft bei Harry Potter und Stuntman Spielen. Hat einen großen Einfluss auf die Leistung. - - + + Disabled Deaktiviert - - Remove Unsupported Settings - Nicht unterstützte Einstellungen entfernen - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Du hast zur Zeit die <strong>Breitbild-Patches</strong> oder <strong> kein Interlacing-Patches</strong> Optionen für dieses Spiel aktiviert.<br><br>Wir unterstützen diese Optionen nicht mehr, stattdessen <strong>solltest du den Abschnitt "Patches" auswählen und die Patches explizit aktivieren.</strong><br><br>Möchtest du diese Optionen jetzt aus der Spielkonfiguration entfernen? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Überschreibt das full-motion-video (FMV) Seitenverhältnis. Wenn deaktiviert, wird das FMV Seitenverhältnis von den allgemeinen Seitenverhältniseinstellung übernommen. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Aktiviert Mipmapping, das bei einigen Spielen benötigt wird um korrekt zu rendern. Mipmapping verwendet stufenweise niedriger aufgelöste Texturen in weiteren Entfernungen, um die Verarbeitungslast zu reduzieren und visuelle Artefakte zu vermeiden. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Ändert den Filteralgorithmus, um Texturen den Oberflächen zuzuordnen.<br> Nearest: Versucht nicht Farben zu überblenden/vermischen. <br> Bilinear (Erzwungen): Vermischt Farben, um harte Kanten zwischen verschieden farbigen Pixeln zu entfernen, auch wenn das Spiel der PS2 sagt das es dies nicht tun soll.<br> Bilinear (PS2): Wird Filter auf alle Oberflächen anwenden, die ein Spiel dem PS2 anweist zu filtern.<br> Bilinear (Erzwungen außer für Sprites): Wird Filter auf alle Oberflächen anwenden, auch wenn das Spiel der PS2 dies nicht zugewiesen hat, außer für Sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduziert die Unschärfe von großen Texturen, die auf kleinen, steil gewinkelten Oberflächen angewendet werden, indem die Farben der beiden nächsten Mipmaps abgebildet werden. Benötigt Mipmapping 'ein'.<br> Aus: Deaktiviert die Funktion.<br> Trilinear (PS2): Verwendet Trilinearfilterung auf alle Oberflächen, die ein Spiel die PS2 anweist.<br> Trilinear (Erzwungen): Wendet die Trilinearfilterung auf alle Oberflächen an, auch wenn das Spiel der PS2 das nicht angewiesen hat. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduziert das Banding (ungewollt harte Farbverläufe) zwischen den Farben und verbessert die wahrgenommene Farbtiefe. <br> Aus: Deaktiviert jedwedes Dithering.<br> Skaliert: Hochskalierend / Höchster Dithering-Effekt.<br> Unskaliert: Natives Dithering / Niedrigster Dithering Effekt vergrößert die Quadrate beim Hochskalieren nicht.<br> Erzwinge 32bit: Behandle alle Ziehungen, als ob sie 32bit wären, um Banding und Dithering zu vermeiden. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Führt nutzlose Arbeit auf der CPU aus während der Rücklesung, um zu verhindern, dass sie in Energiesparmodus geht. Kann die Leistung verbessern, aber mit einem signifikanten Anstieg des Stromverbrauchs. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Übermittelt nutzlose Aufgaben an die GPU während des zurück Lesens, um zu verhindern, dass sie in den Energiesparmodus wechselt. Kann die Leistung verbessern, aber mit einem signifikanten Anstieg des Stromverbrauchs. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Anzahl der Render-Threads: 0 für einzelnen Thread, 2 oder mehr für Multithread (1 ist für Debugging). 2 bis 4 Threads werden empfohlen. Mehr als 4 Threads sind wahrscheinlich langsamer statt schneller. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Deaktiviert die Unterstützung von Tiefenpuffern im Textur-Cache. Wird wahrscheinlich verschiedene Fehler erzeugen und ist nur zum Debuggen nützlich. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Erlaubt dem Textur-Cache den inneren Teil eines vorherigen Framebuffers als Eingabetextur wiederzuverwenden. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Leert alle Ziele im Textur-Cache beim Herunterfahren zurück in den lokalen Speicher. Kann verlorene Grafiken beim Speichern von Zuständen oder beim Umschalten von Rendern verhindern, kann aber auch zu einer grafischen Beschädigung führen. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Versuche die Texturgröße zu reduzieren, wenn Spiele sie nicht selbst setzen (z.B. Snowblind-Spiele). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Behebt Probleme mit Upscaling (vertikale Linien) in Namco-Spielen wie Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Speichert austauschbare Texturen auf der Festplatte. Reduziert die Leistung. - + Includes mipmaps when dumping textures. Schließt Mipmaps beim Dumping von Texturen ein. - + Allows texture dumping when FMVs are active. You should not enable this. Ermöglicht Textur-Dumping, wenn FMVs aktiv sind. Sie sollten dies nicht aktivieren. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Lädt Ersatztexturen in einen Arbeitsthread und reduziert so Mikroruckeln, wenn Ersetzungen aktiviert sind. - + Loads replacement textures where available and user-provided. Lädt Ersatztexturen, sofern verfügbar und vom Benutzer bereitgestellt. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Lädt alle Ersatztexturen vorab in den Speicher. Bei asynchronem Laden nicht erforderlich. - + Enables FidelityFX Contrast Adaptive Sharpening. Aktiviert FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Bestimmt die Intensität des Schärfungseffekts bei der CAS-Nachbearbeitung. - + Adjusts brightness. 50 is normal. Passt die Helligkeit an. 50 ist normal. - + Adjusts contrast. 50 is normal. Passt den Kontrast an. 50 ist normal. - + Adjusts saturation. 50 is normal. Passt die Sättigung an. 50 ist normal. - + Scales the size of the onscreen OSD from 50% to 500%. Skaliert die Größe der OSD auf dem Bildschirm von 50% bis 500%. - + OSD Messages Position OSD Nachrichten - Position - + OSD Statistics Position OSD Statistik - Position - + Shows a variety of on-screen performance data points as selected by the user. Zeigt eine Reihe von Performance-Datenpunkten auf dem Bildschirm an, wie vom Benutzer ausgewählt. - + Shows the vsync rate of the emulator in the top-right corner of the display. Zeigt die Vsync-Rate des Emulators in der oberen rechten Ecke des Displays an. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Zeigt OSD-Icon-Indikatoren für Emulationszustände wie Pause, Turbo, Zeitraffer und Zeitlupe. - + Displays various settings and the current values of those settings, useful for debugging. Zeigt verschiedene Einstellungen und die aktuellen Werte dieser Einstellungen an, nützlich zum Debuggen. - + Displays a graph showing the average frametimes. Zeigt ein Diagramm an, das die durchschnittlichen Frame-Zeiten zeigt. - + Shows the current system hardware information on the OSD. Zeigt die aktuellen Hardware-Informationen des Systems im OSD an. - + Video Codec Video-Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Wählt, welcher Video-Codec für die Videoaufnahme verwendet werden soll. <b>Wenn unsicher, auf Standard belassen.<b> - + Video Format Videoformat - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Wählt, welches Format für die Videoaufnahme verwendet werden soll. Falls der Codec das Format nicht unterstützt, wird das erste verfügbare Format verwendet. <b>Wenn unsicher, auf Standardeinstellung belassen.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Legt die zu verwendende Video-Bitrate fest. Größere Bitrate liefert in der Regel eine bessere Videoqualität auf Kosten einer größeren Dateigröße. - + Automatic Resolution Automatische Auflösung - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Wenn diese Option aktiviert ist, folgt die Auflösung der Videoaufnahme der internen Auflösung des laufenden Spiels.<br><br><b> Sei vorsichtig, wenn diese Einstellung verwendet wird, insbesondere beim hochskalieren, da eine höhere interne Auflösung (oberhalb von 4x) zu einer sehr großen Videoaufnahme führen kann, welche zu Systemüberlastung führen kann.</b> - + Enable Extra Video Arguments Zusätzliche Video-Argumente aktivieren - + Allows you to pass arguments to the selected video codec. Erlaubt es Ihnen, Argumente an den ausgewählten Video-Codec zu übergeben. - + Extra Video Arguments Zusätzliche Video-Argumente - + Audio Codec Audio-Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Wählt, welcher Audio-Codec für die Videoaufnahme verwendet werden soll. <b>Wenn unsicher, auf Standard belassen.<b> - + Audio Bitrate Audiobitrate - + Enable Extra Audio Arguments Zusätzliche Audio Argumente aktivieren - + Allows you to pass arguments to the selected audio codec. Erlaubt es Ihnen, Argumente an den ausgewählten Audio-Codec zu übergeben. - + Extra Audio Arguments Zusätzliche Audio-Argumente - + Allow Exclusive Fullscreen Exklusiven Vollbildmodus verwenden - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Überschreibt die Heuristik des Treibers's um exklusiven Vollbildmodus oder direkten Flip/Scanout zu aktivieren.<br> Das Ausschalten von exklusivem Vollbildmodus ermöglicht es auf andere Aufgaben (Fenster) zu wechseln und auch sie zu überlagern, aber es erhöht die Eingabelatenz. - + 1.25x Native (~450px) 1.25x Nativ (~450px) - + 1.5x Native (~540px) 1,5x Nativ (~540px) - + 1.75x Native (~630px) 1,75x Nativ (~630px) - + 2x Native (~720px/HD) 2x Nativ (~720px/HD) - + 2.5x Native (~900px/HD+) 2,5x Nativ (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Nativ (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Nativ (~1260px) - + 4x Native (~1440px/QHD) 4x Nativ (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Nativ (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6 x Nativ (~2160px/4K UHD) - + 7x Native (~2520px) 7x Nativ (~2520px) - + 8x Native (~2880px/5K UHD) 8x Nativ (~2880px/5K UHD) - + 9x Native (~3240px) 9x Nativ (~3240px) - + 10x Native (~3600px/6K UHD) 10x Nativ (~3600px/6K UHD) - + 11x Native (~3960px) 11x Nativ (~3960px) - + 12x Native (~4320px/8K UHD) 12x Nativ (~4320px/8K UHD) - + 13x Native (~4680px) 13x Nativ (~4680px) - + 14x Native (~5040px) 14x Nativ (~5040px) - + 15x Native (~5400px) 15x Nativ (~5400px) - + 16x Native (~5760px) 16x Nativ (~5760px) - + 17x Native (~6120px) 17x Nativ (~6120px) - + 18x Native (~6480px/12K UHD) 18x Nativ (~6480px/12K UHD) - + 19x Native (~6840px) 19x Nativ (~6840px) - + 20x Native (~7200px) 20x Nativ (~7200px) - + 21x Native (~7560px) 21x Nativ (~7560px) - + 22x Native (~7920px) 22x Nativ (~7920px) - + 23x Native (~8280px) 23x Nativ (~8280px) - + 24x Native (~8640px/16K UHD) 24x Nativ (~8640px/16K UHD) - + 25x Native (~9000px) 25x Nativ (~9000px) - - + + %1x Native %1x Nativ - - - - - - - - - + + + + + + + + + Checked Aktiviert - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Aktiviert interne Anti-Bewegungsunschärfe-Hacks. Weniger übereinstimmend wie PS2 das Rendering händelt, aber viele Spiele werden weniger verschwommen aussehen. - + Integer Scaling Pixelgenaue Bildskalierung - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Fügt dem Anzeigebereich Polster hinzu, um sicherzustellen, dass das Verhältnis zwischen Pixeln auf dem Host zu Pixel in der Konsole eine Ganzzahlzahl ist. Kann zu einem schärferen Bild in einigen 2D-Spielen führen. - + Aspect Ratio Seitenverhältnis - + Auto Standard (4:3/3:2 Progressive) Auto-Standard (4:3 Interlaced / 3:2 Progressiv) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Ändert das Seitenverhältnis für die Ausgabe der Konsole auf dem Bildschirm. Die Standardeinstellung ist Auto Standard (4:3/3:2 Progressive), der das Seitenverhältnis automatisch so einstellt, wie ein Spiel auf einem typischen Fernseher der Ära dargestellt wird. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot-Größe - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Bestimmt die Auflösung, in der Screenshots gespeichert werden. Interne Auflösungen bewahren mehr Details auf Kosten der Dateigröße. - + Screenshot Format Screenshot-Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Wählt das Format aus, das zum Speichern von Screenshots verwendet wird. JPEG erzeugt kleinere Dateien, aber vermindert die Qualität. - + Screenshot Quality Screenshot-Qualität - - + + 50% 50 % - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Wählt die Qualität aus, in der Screenshots komprimiert werden. Höhere Werte bewahren mehr Details für JPEG und reduzieren die Dateigröße für PNG. - - + + 100% 100% - + Vertical Stretch Vertikale Streckung - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Streckt (&lt; 100%) oder Schrumpft (&gt; 100%) die vertikale Komponente des Displays. - + Fullscreen Mode Vollbildmodus - - - + + + Borderless Fullscreen Randloser Vollbildmodus - + Chooses the fullscreen resolution and frequency. Wählt die Vollbildauflösung und Frequenz aus. - + Left Links - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Ändert die Anzahl der von der linken Seite der Anzeige zugeschnittenen Pixel. - + Top Oben - + Changes the number of pixels cropped from the top of the display. Ändert die Anzahl der von der oberen Seite der Anzeige zugeschnittenen Pixel. - + Right Rechts - + Changes the number of pixels cropped from the right side of the display. Ändert die Anzahl der von der rechten Seite der Anzeige zugeschnittenen Pixel. - + Bottom Unten - + Changes the number of pixels cropped from the bottom of the display. Ändert die Anzahl der von der unteren Seite der Anzeige zugeschnittenen Pixel. - - + + Native (PS2) (Default) Nativ (PS2) (Standard) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Wählen Sie die Auflösung bei der Spiele dargestellt werden. Hohe Auflösungen können die Leistung älterer oder schwächeren GPUs beeinflussen.<br>Nicht-native Auflösung kann kleinere grafische Probleme in einigen Spielen verursachen.<br>Die FMV-Auflösung bleibt unverändert, da die Videodateien vorgerendert werden. - + Texture Filtering Textur-Filterung - + Trilinear Filtering Trilineare Filterung - + Anisotropic Filtering Anisotropische Filterung - + Reduces texture aliasing at extreme viewing angles. Reduziert Texturaliasing bei extremen Blickwinkeln. - + Dithering Dithering - + Blending Accuracy Blending Genauigkeit - + Texture Preloading Textur vorab laden - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Lädt ganze Texturen auf einmal statt kleiner Stücke und vermeidet überflüssige Uploads wenn möglich. Verbessert die Leistung in den meisten Spielen, kann aber eine kleine Auswahl verlangsamen. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Wenn aktiviert, konvertiert die GPU Colormap-Texturen, andernfalls wird die CPU es tun. Es handelt sich um einen Ausgleich zwischen GPU und CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Wenn Sie diese Option aktivieren, können Sie die Renderer und Upscaling-Fixes für Ihre Spiele ändern. Wenn Sie diese Option aktivieren, werden Sie AUTOMATISCHE EINSTELLUNGEN DEAKTIVIEREN und Sie können die automatischen Einstellungen durch Deaktivieren dieser Option wieder aktivieren. - + 2 threads 2 Threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Erzwinge einen primitiven Flush, wenn ein Framebuffer auch eine Eingabetextur ist. Behebt einige Verarbeitungseffekte wie die Schatten in der Jak-Serie und Radiosität in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Aktiviert Mipmapping, das bei manchen Spielen Vorraussetzung ist um korrekt dargestellt zu werden. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. Die maximale Speicherbreite, die dem CPU-Sprite Renderer die Aktivierung erlaubt. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Versucht, zu erkennen, wenn ein Spiel seine eigene Farbpalette nutzt um dann mit Software statt der GPU zu rendern. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Startbereich des Skipdraw - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Überspringt die Zeichnungsflächen die in der linken Box angegeben sind und wendet die im Feld rechts angegebenen Oberflächen an. - + Skipdraw Range End Endbereich des Skipdraw - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Diese Option deaktiviert mehrere Sicherheitsfeatures. Deaktiviert die akkurate Darstellung von Unskalierten Point and Line Rendering, was Xenosaga Spielen helfen kann. Deaktiviert die exakte GS Memory Clearing auf der CPU und lässt die GPU damit umgehen, was Kingdom Hearts Spielen helfen kann. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Lädt GS-Daten beim Rendern eines neuen Frames hoch, um einige Effekte akkurat zu reproduzieren. - + Half Pixel Offset Halb-Pixel-Versatz - + Might fix some misaligned fog, bloom, or blend effect. Könnte einen falsch ausgerichteten Nebel, Bloom oder Überblendungseffekt reparieren. - + Round Sprite Runder Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Korrigiert das Sampling von 2D Sprite-Texturen beim Hochskalieren. Behebt Linien in Sprites von Spielen wie Ar tonelico beim Hochskalieren. Die halb Option ist für flache Sprites, Voll ist für alle Sprites. - + Texture Offsets X Texturversatz X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset für die ST/UV-Texturkoordinaten. Behebt einige merkwürdige Texturprobleme und könnte Post Processing Ausgleichungen beheben. - + Texture Offsets Y Texturversatz Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Reduziert die GS-Präzision, um Lücken zwischen den Pixeln beim Hochskalieren zu vermeiden. Behebt den Text bei Wild Arms Spielen. - + Bilinear Upscale Bilineares Hochskalieren - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Kann Texturen glätten, da beim Hochskalieren bilinear gefiltert wird. z.B. Sonnen glänzen. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Ersetzt vom Post-Processing gesetzte Pflastersprites durch ein einzelnes Fettes Sprite. Es reduziert verschiedene Hochskalierungslinien. - + Force palette texture draws to render at native resolution. Erzwingt die Texturpalette mit der nativen Auflösung zu rendern. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Adaptive Schärfung des Kontrasts - + Sharpness Schärfe - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Ermöglicht die Anpassung von Sättigung, Kontrast und Helligkeit. Helligkeitswerte, Sättigung und Kontrast sind standardmäßig 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Verwendet den Anti-Aliasing-Algorithmus FXAA, um die visuelle Qualität von Spielen zu verbessern. - + Brightness Helligkeit - - - + + + 50 50 - + Contrast Kontrast - + TV Shader TV-Shader - + Applies a shader which replicates the visual effects of different styles of television set. Verwendet einen Shader, der die visuellen Effekte verschiedener Fernsehgeräte repliziert. - + OSD Scale OSD-Skalierung - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Zeigt Nachrichten auf dem Bildschirm an, wenn Ereignisse auftreten, wie zum Beispiel das Erstellen/Laden von Zuständen, Screenshots usw. - + Shows the internal frame rate of the game in the top-right corner of the display. Zeigt die interne Bildrate des Spiels in der rechten oberen Ecke des Displays an. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Zeigt die aktuelle Emulationsgeschwindigkeit des Systems in der oberen rechten Ecke des Displays als Prozentsatz an. - + Shows the resolution of the game in the top-right corner of the display. Zeigt die Auflösung des Spiels in der rechten oberen Ecke des Bildschirms an. - + Shows host's CPU utilization. Zeigt die CPU-Auslastung des Hosts's an. - + Shows host's GPU utilization. Zeigt die CPU-Auslastung des Hosts's an. - + Shows counters for internal graphical utilization, useful for debugging. Zeigt Zähler für die interne grafische Nutzung, nützlich zum Debuggen. - + Shows the current controller state of the system in the bottom-left corner of the display. Zeigt den aktuellen Controller-Status des Systems in der linken unteren Ecke des Bildschirms an. - + Shows the current PCSX2 version on the top-right corner of the display. Zeigt die aktuelle PCSX2-Version in der oberen rechten Ecke des Displays an. - + Shows the currently active video capture status. Zeigt den akutellen Status der Eingabeaufnahme an. - + Shows the currently active input recording status. Zeigt den aktuellen Status der Eingabeaufnahme an. - + Displays warnings when settings are enabled which may break games. Zeigt Warnungen an, wenn Einstellungen aktiviert sind, die Spiele unspielbar machen können. - - + + Leave It Blank Leer lassen - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameter werden an den ausgewählten Video-Codec übergeben.<br><b>Du musst '=' verwenden, um den Schlüssel vom Wert zu trennen, und ':' , um zwei Paare voneinander zu trennen.</b><br>Zum Beispiel: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Legt die verwendete Audio-Bitrate fest. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameter, die an den ausgewählten Audio-Codec übergeben werden.<br><b>Du musst '=' verwenden, um den Schlüssel vom Wert zu trennen, und ':' , um zwei Paare voneinander zu trennen.</b><br>Zum Beispiel: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Komprimierung - + Change the compression algorithm used when creating a GS dump. Ändert den Komprimierungsalgorithmus bei der Erstellung eines GS-Dumps. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Verwendet bei Verwendung des Direct3D 11 Renderers ein blit-Präsentationsmodell anstatt zu drehen. Dies führt in der Regel zu einer langsameren Performance, kann aber für einige Streaming-Anwendungen erforderlich sein, oder um Framerate auf einigen Systemen freizuschalten. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Erkennt, wann inaktive Frames in 25/30fps Spielen dargestellt werden und überspringt die Darstellung dieser Frames. Das Frame wird immer noch gerendert, es bedeutet lediglich, dass die GPU mehr Zeit hat, diese zu vervollständigen (dies ist KEIN frame skipping). Kann Frametime schwankungen glätten, wenn die CPU/GPU nahezu maximal Ausgelastet sind, aber macht Frame pacing inkonsistenter und kann die Eingabeverzögerung erhöhen. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Zeigt zusätzliche Hochskalierungs-Multiplikatoren an, die von der GPU-Fähigkeit abhängig sind. - + Enable Debug Device Debug-Gerät aktivieren - + Enables API-level validation of graphics commands. Aktiviert die Validierung von Grafik-Befehlen auf API-Ebene. - + GS Download Mode GS Download-Modus - + Accurate Genau - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Überspringt die Synchronisierung mit dem GS-Thread und dem Host GPU für GS-Downloads. Kann zu einem großen Geschwindigkeitsanstieg auf langsameren Systemen führen, auf Kosten vieler zerstörter grafischer Effekte. Wenn Spiele defekt sind und Sie diese Option aktiviert haben, deaktivieren Sie sie bitte zuerst. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Standard - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Erzwingt den Einsatz von FIFO über Mailbox-Präsentation, d.h. doppeltes Puffern statt dreifacher Pufferung. Dies führt in der Regel zu schlechteren Frame Pacing. @@ -14112,7 +14171,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Standard @@ -14329,254 +14388,254 @@ Swap chain: see Microsoft's Terminology Portal. Kein Status in Slot {} gefunden. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Pausenmenü öffnen - + Open Achievements List Errungenschafts-Liste öffnen - + Open Leaderboards List Rangliste öffnen - + Toggle Pause Pause umschalten - + Toggle Fullscreen Vollbildmodus umschalten - + Toggle Frame Limit Frame Limiter umschalten - + Toggle Turbo / Fast Forward Turbo / Schnellen Vorlauf umschalten - + Toggle Slow Motion Zeitlupe umschalten - + Turbo / Fast Forward (Hold) Turbo / Zeitraffer (Halten) - + Increase Target Speed Zielgeschwindigkeit erhöhen - + Decrease Target Speed Zielgeschwindigkeit verringern - + Increase Volume Lautstärke erhöhen - + Decrease Volume Lautstärke verringern - + Toggle Mute Stummschaltung umschalten - + Frame Advance Einzelbildvorlauf - + Shut Down Virtual Machine Virtuelle Maschine herunterfahren - + Reset Virtual Machine Virtuelle Maschine zurücksetzen - + Toggle Input Recording Mode Eingabe-Aufnahme-Modus-Hotkey - - + + Save States Save States - + Select Previous Save Slot Vorherigen Speicher-Slot auswählen - + Select Next Save Slot Nächsten Speicher-Slot auswählen - + Save State To Selected Slot Status in ausgewähltem Slot speichern - + Load State From Selected Slot Status von ausgewähltem Slot laden - + Save State and Select Next Slot Savestate speichern und nächsten Slot auswählen - + Select Next Slot and Save State Wählt den nächsten Slot und speichert den Status - + Save State To Slot 1 Status in Slot 1 speichern - + Load State From Slot 1 Lade Status von Slot 1 - + Save State To Slot 2 Status in Slot 2 speichern - + Load State From Slot 2 Lade Status von Slot 2 - + Save State To Slot 3 Status in Slot 3 speichern - + Load State From Slot 3 Lade Status von Slot 3 - + Save State To Slot 4 Status in Slot 4 speichern - + Load State From Slot 4 Lade Status von Slot 4 - + Save State To Slot 5 Status in Slot 5 speichern - + Load State From Slot 5 Lade Status von Slot 5 - + Save State To Slot 6 Status in Slot 6 speichern - + Load State From Slot 6 Lade Status von Slot 6 - + Save State To Slot 7 Status in Slot 7 speichern - + Load State From Slot 7 Lade Status von Slot 7 - + Save State To Slot 8 Status in Slot 8 speichern - + Load State From Slot 8 Lade Status von Slot 8 - + Save State To Slot 9 Status in Slot 9 speichern - + Load State From Slot 9 Lade Status von Slot 9 - + Save State To Slot 10 Status in Slot 10 speichern - + Load State From Slot 10 Lade Status von Slot 10 @@ -15454,594 +15513,608 @@ Rechtsklick um die Zuordnung zu löschen &System - - - + + Change Disc Disc wechseln - - + Load State Lade Status - - Save State - Status speichern - - - + S&ettings &Einstellungen - + &Help &Hilfe - + &Debug &Debuggen - - Switch Renderer - Renderer wechseln - - - + &View &Ansicht - + &Window Size &Fenstergröße - + &Tools &Werkzeuge - - Input Recording - Eingabeaufzeichnung - - - + Toolbar Werkzeugleiste - + Start &File... Starte &Datei... - - Start &Disc... - Starte &Disc... - - - + Start &BIOS Starte &BIOS - + &Scan For New Games &Nach neuen Spielen suchen - + &Rescan All Games &Alle Spiele erneut durchsuchen - + Shut &Down &Herunterfahren - + Shut Down &Without Saving Herunterfahren &ohne Speichern - + &Reset &Zurücksetzen - + &Pause &Pause - + E&xit &Beenden - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controller - + &Hotkeys &Tastenkürzel - + &Graphics &Grafik - - A&chievements - Errungenschaften - - - + &Post-Processing Settings... &Nachbearbeitungseinstellungen... - - Fullscreen - Vollbild - - - + Resolution Scale Auflösungsskalierung - + &GitHub Repository... &GitHub-Repository... - + Support &Forums... Support &Forum... - + &Discord Server... &Discord Server... - + Check for &Updates... Nach &Updates suchen... - + About &Qt... Über &Qt... - + &About PCSX2... &Über PCSX2... - + Fullscreen In Toolbar Vollbild - + Change Disc... In Toolbar Disc wechseln... - + &Audio &Audio - - Game List - Spieleliste - - - - Interface - Benutzeroberfläche + + Global State + Globaler Zustand - - Add Game Directory... - Spielverzeichnis hinzufügen... + + &Screenshot + &Screenshot - - &Settings - &Einstellungen + + Start File + In Toolbar + Datei starten - - From File... - Aus Datei... + + &Change Disc + &Disc wechseln - - From Device... - Von Gerät... + + &Load State + &Lade Status - - From Game List... - Von der Spielliste... + + Sa&ve State + &Status speichern - - Remove Disc - Disc entfernen + + Setti&ngs + Ei&nstellungen - - Global State - Globaler Zustand + + &Switch Renderer + &Renderer wechseln - - &Screenshot - &Screenshot + + &Input Recording + &Eingabeaufzeichnung - - Start File - In Toolbar - Datei starten + + Start D&isc... + D&isc starten... - + Start Disc In Toolbar Disc starten - + Start BIOS In Toolbar BIOS starten - + Shut Down In Toolbar Herunterfahren - + Reset In Toolbar Zurücksetzen - + Pause In Toolbar Pause - + Load State In Toolbar Lade Status - + Save State In Toolbar Status speichern - + + &Emulation + &Emulation + + + Controllers In Toolbar Controller - + + Achie&vements + &Errungenschaften + + + + &Fullscreen + &Vollbild + + + + &Interface + &Benutzeroberfläche + + + + Add Game &Directory... + Spiel&verzeichnis hinzufügen... + + + Settings In Toolbar Einstellungen - + + &From File... + &Aus Datei... + + + + From &Device... + Von &Gerät... + + + + From &Game List... + Von &Spielliste... + + + + &Remove Disc + &Disc entfernen + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Netzwerk && Festplatte - + &Folders &Ordner - + &Toolbar &Symbolleiste - - Lock Toolbar - Werkzeugleiste sperren + + Show Titl&es (Grid View) + Tit&el anzeigen (Raster-Ansicht) - - &Status Bar - &Statusleiste + + &Open Data Directory... + &Datenverzeichnis öffnen... - - Verbose Status - Ausführlicher Status + + &Toggle Software Rendering + &Software Rendering umschalten - - Game &List - Spieleliste + + &Open Debugger + &Debugger öffnen - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Anzeige + + &Reload Cheats/Patches + &Cheats/Patches neu laden - - Game &Properties - Spiel-&Eigenschaften + + E&nable System Console + Systemko&nsole aktivieren - - Game &Grid - Spiel-&Raster + + Enable &Debug Console + &Debug Konsole aktivieren - - Show Titles (Grid View) - Titel anzeigen (Raster-Ansicht) + + Enable &Log Window + &Logfenster aktivieren - - Zoom &In (Grid View) - &Vergrössern (Raster-Ansicht) + + Enable &Verbose Logging + Ausführliche Protokollierung akti&vieren - - Ctrl++ - Strg++ + + Enable EE Console &Logging + EE-Konso&len-Protokollierung aktivieren - - Zoom &Out (Grid View) - &Verkleinern (Raster-Ansicht) + + Enable &IOP Console Logging + &IOP Konsolen-Protokollierung aktivieren - - Ctrl+- - Strg+- + + Save Single Frame &GS Dump + Einzelbild-&GS-Dump speichern - - Refresh &Covers (Grid View) - &Cover aktualisieren (Raster-Ansicht) + + &New + This section refers to the Input Recording submenu. + &Neu - - Open Memory Card Directory... - Memory Card-Verzeichnis öffnen... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Datenverzeichnis öffnen... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Software Rendering umschalten + + &Controller Logs + &Controller Logs - - Open Debugger - Debugger öffnen + + &Input Recording Logs + Eingabeaufze&ichnung-Logs - - Reload Cheats/Patches - Cheats/Patches neu laden + + Enable &CDVD Read Logging + &CDVD Leseprotokollierung aktivieren - - Enable System Console - Systemkonsole aktivieren + + Save CDVD &Block Dump + CDVD &Block Dump speichern - - Enable Debug Console - Debug Konsole aktivieren + + &Enable Log Timestamps + Zeitst&empel Protokoll aktivieren - - Enable Log Window - Log Fenster aktivieren + + Start Big Picture &Mode + Big Picture &Mode starten - - Enable Verbose Logging - Ausführliche Protokollierung aktivieren + + &Cover Downloader... + &Cover-Downloader... - - Enable EE Console Logging - EE-Konsolen-Protokollierung aktivieren + + &Show Advanced Settings + Erweiterte Ein&stellungen anzeigen - - Enable IOP Console Logging - IOP Konsolen-Protokollierung aktivieren + + &Recording Viewer + Aufzeichnungsbet&rachter - - Save Single Frame GS Dump - Einzelbild-GS-Dump speichern + + &Video Capture + &Videoaufnahme - - New - This section refers to the Input Recording submenu. - Neu + + &Edit Cheats... + &Cheats bearbeiten... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + &Patches bearbeiten... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Statusleiste - - Settings - This section refers to the Input Recording submenu. - Einstellungen + + + Game &List + Spieleliste - - - Input Recording Logs - Eingabeaufzeichnung-Logs + + Loc&k Toolbar + Werkzeugleiste sperren - - Controller Logs - Controller Logs + + &Verbose Status + &Ausführlicher Status - - Enable &File Logging - &Dateiprotokollierung aktivieren + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Anzeige - - Enable CDVD Read Logging - CDVD Leseprotokollierung aktivieren + + Game &Properties + Spiel-&Eigenschaften - - Save CDVD Block Dump - CDVD Block Dump speichern + + Game &Grid + Spiel-&Raster - - Enable Log Timestamps - Zeitstempel Protokoll aktivieren + + Zoom &In (Grid View) + &Vergrössern (Raster-Ansicht) - - + + Ctrl++ + Strg++ + + + + Zoom &Out (Grid View) + &Verkleinern (Raster-Ansicht) + + + + Ctrl+- + Strg+- + + + + Refresh &Covers (Grid View) + &Cover aktualisieren (Raster-Ansicht) + + + + Open Memory Card Directory... + Memory Card-Verzeichnis öffnen... + + + + Input Recording Logs + Eingabeaufzeichnung-Logs + + + + Enable &File Logging + &Dateiprotokollierung aktivieren + + + Start Big Picture Mode Big Picture Mode starten - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover-Downloader... - - - - + Show Advanced Settings Erweiterte Einstellungen anzeigen - - Recording Viewer - Aufzeichnungsbetrachter - - - - + Video Capture Videoaufnahme - - Edit Cheats... - Cheats bearbeiten... - - - - Edit Patches... - Patches bearbeiten... - - - + Internal Resolution Interne Auflösung - + %1x Scale %1x Skalierung - + Select location to save block dump: Wählen Sie einen Speicherort zum Speichern des Blockdumps: - + Do not show again Nicht erneut anzeigen - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16054,297 +16127,297 @@ Das PCSX2-Team wird keine Unterstützung für Konfigurationen bereitstellen, in Sind Sie sicher, dass Sie fortfahren möchten? - + %1 Files (*.%2) %1 Dateien (*.%2) - + WARNING: Memory Card Busy WARNUNG: Speicherkarte beschäftigt - + Confirm Shutdown Beenden bestätigen - + Are you sure you want to shut down the virtual machine? Sind Sie sicher, dass Sie die virtuelle Maschine herunterfahren möchten? - + Save State For Resume Status zum Fortsetzen speichern - - - - - - + + + + + + Error Fehler - + You must select a disc to change discs. Sie müssen eine Disc auswählen, um die Disc zu wechseln. - + Properties... Eigenschaften... - + Set Cover Image... Cover-Bild festlegen... - + Exclude From List Von der Liste ausschließen - + Reset Play Time Spielzeit zurücksetzen - + Check Wiki Page Wiki-Seite überprüfen - + Default Boot Standard-Boot - + Fast Boot Schnellstart - + Full Boot Vollständiger Start - + Boot and Debug Starten und Debuggen - + Add Search Directory... Suchverzeichnis hinzufügen... - + Start File Datei starten - + Start Disc Disc starten - + Select Disc Image Disc-Abbild auswählen - + Updater Error Fehler beim Aktualisieren - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, du versucht eine PCSX2-Version zu aktualisieren, die keine offizielle GitHub Version ist. Um Inkompatibilitäten zu vermeiden, ist der Auto-Updater eingestell nur offizielle Builds runterzuladen.</p><p>Um eine offizielle Version zu erhalten, lade dir bitte unter folgendem Link herunter:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatische Aktualisierung wird auf der aktuellen Plattform nicht unterstützt. - + Confirm File Creation Bestätige Dateierstellung - + The pnach file '%1' does not currently exist. Do you want to create it? Die pnach Datei '%1' existiert derzeit nicht. Möchten Sie sie erstellen? - + Failed to create '%1'. Fehler beim Erstellen '%1'. - + Theme Change Thema ändern - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Das Ändern des Themas schließt das Debugger-Fenster. Alle ungespeicherten Daten gehen verloren. Möchtest du fortfahren? - + Input Recording Failed Eingabeaufnahme fehlgeschlagen - + Failed to create file: {} Erstellen der Datei fehlgeschlagen: {} - + Input Recording Files (*.p2m2) Aufnahme-Dateien (*.p2m2) - + Input Playback Failed Eingabewiedergabe fehlgeschlagen - + Failed to open file: {} Fehler beim Öffnen der Datei: {} - + Paused Pausiert - + Load State Failed Status Laden Fehlgeschlagen - + Cannot load a save state without a running VM. Ein Speicherstatus kann ohne laufende virtuelle Maschine nicht geladen werden. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Die neue ELF kann nicht geladen werden, ohne die virtuelle Maschine zurückzusetzen. Möchten Sie die virtuelle Maschine jetzt zurücksetzen? - + Cannot change from game to GS dump without shutting down first. Kann nicht vom Spiel zu GS Dump wechseln, ohne vorher herunterzufahren. - + Failed to get window info from widget Fehler beim Abrufen der Fensterinformation vom Widget - + Stop Big Picture Mode Big Picture Mode stoppen - + Exit Big Picture In Toolbar Big Picture Modus Beenden - + Game Properties Spiel-Eigenschaften - + Game properties is unavailable for the current game. Spiel-Eigenschaften sind für das aktuelle Spiel nicht verfügbar. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Es konnten keine CD/DVD-ROM-Geräte gefunden werden. Bitte stellen Sie sicher, dass Sie ein Laufwerk angeschlossen haben und ausreichende Zugriffsrechte haben. - + Select disc drive: Disc Laufwerk auswählen: - + This save state does not exist. Dieser Speicher-Status existiert nicht. - + Select Cover Image Cover-Bild festlegen - + Cover Already Exists Cover existiert bereits - + A cover image for this game already exists, do you wish to replace it? Ein Cover-Bild für dieses Spiel existiert bereits, wollen Sie es ersetzen? - + + - Copy Error Fehler beim Kopieren - + Failed to remove existing cover '%1' Entfernen des bestehenden Covers '%1' fehlgeschlagen - + Failed to copy '%1' to '%2' Fehler beim Kopieren von '%1' nach '%2' - + Failed to remove '%1' Löschen von '%1' fehlgeschlagen - - + + Confirm Reset Zurücksetzen bestätigen - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Alle Cover-Bildtypen (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Sie müssen eine andere Datei als das aktuelle Coverbild auswählen. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16353,12 +16426,12 @@ This action cannot be undone. Diese Aktion kann nicht rückgängig gemacht werden. - + Load Resume State Fortsetzungsstatus laden - + A resume save state was found for this game, saved at: %1. @@ -16371,89 +16444,89 @@ Do you want to load this state, or start from a fresh boot? Möchten Sie diesen Status laden oder einen Neustart vornehmen? - + Fresh Boot Frischer Start - + Delete And Boot Löschen und Booten - + Failed to delete save state file '%1'. Fehler beim Löschen der Status-Datei '%1'. - + Load State File... Lade Status... - + Load From File... Aus Datei laden... - - + + Select Save State File Statusdatei auswählen - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Save States löschen... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Alle Dateitypen (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Alle Dateitypen (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNUNG: Deine Memory Card wird immer noch mit Daten beschrieben. Das Herunterfahren wird <b>DIE MEMORY CARD IRREVERSIBEL ZERSTÖREN</b>. Es wird dringend empfohlen, zum Spiel zurückzukehren und den Schreibvorgang auf der Memory Card fertigstellen zu lassen. <br><br>Möchtest du trotzdem herunterfahren und <b>DEINE MEMORY CARD IRREVERSIBEL ZERSTÖREN?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Laden des Savestate rückgängig machen - + Resume (%2) Fortfahren (%2) - + Load Slot %1 (%2) Lade Slot %1 (%2) - - + + Delete Save States Save States löschen - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16462,42 +16535,42 @@ The saves will not be recoverable. Die Speicherstände werden nicht wiederherstellbar sein. - + %1 save states deleted. %1 save state(s) gelöscht. - + Save To File... In Datei speichern... - + Empty Leer - + Save Slot %1 (%2) Speicherplatz %1 (%2) - + Confirm Disc Change Disc-Wechsel bestätigen - + Do you want to swap discs or boot the new image (via system reset)? Möchten Sie die Discs austauschen oder das neue Image booten (via System-Reset)? - + Swap Disc Disc wechseln - + Reset Zurücksetzen @@ -16520,25 +16593,25 @@ Die Speicherstände werden nicht wiederherstellbar sein. MemoryCard - - + + Memory Card Creation Failed Memory Card Erstellung fehlgeschlagen - + Could not create the memory card: {} Konnte die Memory Card nicht erstellen: {} - + Memory Card Read Failed Lesen der Memory Card fehlgeschlagen - + Unable to access memory card: {} @@ -16555,28 +16628,33 @@ Schließe alle anderen Instanzen von PCSX2 oder starte den Computer neu. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' wurde gespeichert. - + Failed to create memory card. The error was: {} Fehler beim Erstellen der Memory Card. Der Fehler war: {} - + Memory Cards reinserted. Speicherkarten wurden wieder eingelegt. - + Force ejecting all Memory Cards. Reinserting in 1 second. Erzwinge das Auswerfen aller Memory Cards. Wiedereinführung in 1 Sekunde. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + Die virtuelle Konsole hat eine ganze Zeit nicht auf deiner Speicherkarte gespeichert. Savestates sollten nicht anstelle von ingame-Speichern verwendet werden. + MemoryCardConvertDialog @@ -17368,7 +17446,7 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Gehe zur Speicheransicht - + Cannot Go To Kann nicht gehen zu @@ -17500,7 +17578,7 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Cannot determine stack frame size of selected function. - Cannot determine stack frame size of selected function. + Die Größe des Stapelrahmens der ausgewählten Funktion kann nicht ermittelt werden. @@ -17534,7 +17612,7 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Cannot determine stack frame size of selected function. - Cannot determine stack frame size of selected function. + Die Größe des Stapelrahmens der ausgewählten Funktion kann nicht ermittelt werden. @@ -17578,7 +17656,7 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Stack Pointer Offset - Stack Pointer Offset + Stack Pointer Offset @@ -17623,7 +17701,7 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Stack - Stack + Stapel @@ -17638,12 +17716,12 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Fill space (%1 bytes) - Fill space (%1 bytes) + Leerzeichen füllen (%1 Bytes) Fill space (no next symbol) - Fill space (no next symbol) + Leerzeichen füllen (kein nächstes Symbol) @@ -17653,7 +17731,7 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Fill space - Fill space + Raum füllen @@ -17668,7 +17746,7 @@ Diese Aktion kann nicht rückgängig gemacht werden und Sie verlieren alle Speic Address is not aligned. - Address is not aligned. + Die Adresse ist nicht angepaßt. @@ -18122,7 +18200,7 @@ Ejecting {3} and replacing it with {2}. Sets the dial deadzone. Inputs below this value will not be sent to the PS2. - Sets the dial deadzone. Inputs below this value will not be sent to the PS2. + Legt die Tote Zone der Wählscheibe fest. Eingaben unter diesem Wert, werden nicht an die PS2 gesendet. @@ -18132,7 +18210,7 @@ Ejecting {3} and replacing it with {2}. Sets the dial scaling factor. - Sets the dial scaling factor. + Legt den Faktor der Wählskalierung fest. @@ -18187,7 +18265,7 @@ Ejecting {3} and replacing it with {2}. Sets the twist deadzone. Inputs below this value will not be sent to the PS2. - Sets the twist deadzone. Inputs below this value will not be sent to the PS2. + Legt die Tote Zone der Wählscheibe fest. Eingaben unter diesem Wert, werden nicht an die PS2 gesendet. @@ -18197,7 +18275,7 @@ Ejecting {3} and replacing it with {2}. Sets the twist scaling factor. - Sets the twist scaling factor. + Legt den Faktor der Drehskalierung fest. @@ -18208,12 +18286,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Konnte {} nicht öffnen. Integrierte Spielpatches sind nicht verfügbar. - + %n GameDB patches are active. OSD Message @@ -18222,7 +18300,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18231,7 +18309,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18240,7 +18318,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Keine Cheats oder Patches (Breitbild, Kompatibilität oder andere) wurden gefunden / aktiviert. @@ -18279,7 +18357,7 @@ Ejecting {3} and replacing it with {2}. Invalid array subscript. - Invalid array subscript. + Ungültiger Array-Unterindex. @@ -18341,47 +18419,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Eingeloggt als %1 (%2 pkte, Softcore: %3 pkte). %4 ungelesene Nachrichten. - - + + Error Fehler - + An error occurred while deleting empty game settings: {} Ein Fehler trat auf beim Löschen der leeren Spieleinstellungen: {} - + An error occurred while saving game settings: {} Ein Fehler ist während dem Speichern der Spieleinstellungen aufgetreten: {} - + Controller {} connected. Controller {} angeschlossen. - + System paused because controller {} was disconnected. System pausiert, weil Controller {} getrennt wurde. - + Controller {} disconnected. Controller {} wurde getrennt. - + Cancel Abbrechen @@ -18514,7 +18592,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -19216,7 +19294,7 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi Liveness - Liveness + Liveness @@ -19237,7 +19315,7 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi Form - Form + Form @@ -19282,7 +19360,7 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi Copy Mangled Name - Copy Mangled Name + Entwirrter Name kopieren @@ -19298,47 +19376,47 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi Go to in Disassembly - Go to in Disassembly + Gehe zu Disassembly Go to in Memory View - Go to in Memory View + In Speicheransicht anzeigen Show Size Column - Show Size Column + Zeige Größenspalte Group by Module - Group by Module + Nach Modul gruppieren Group by Section - Group by Section + Nach Abschnitt gruppieren Group by Source File - Group by Source File + Nach Quelldatei gruppieren Sort by if type is known - Sort by if type is known + Sortieren nach ob Typ bekannt ist Reset children - Reset children + Untergeordnete Elemente zurücksetzen Change type temporarily - Change type temporarily + Typ temporär ändern @@ -19374,7 +19452,7 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi That node cannot have a type. - That node cannot have a type. + Dieser Knoten darf keinen Typ haben. @@ -20189,12 +20267,12 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi Workaround for Intermittent FFB Loss - Workaround for Intermittent FFB Loss + Problemumgehung für kurzzeitigen FFB Verlust Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. - Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. + Umgeht Fehler in der Firmware einiger Lenkräder, die zu kurzen Unterbrechungen des Lenkwiderstands führen. Lass es deaktiviert, wenn du es nicht benötigst, da es negative Nebenwirkungen bei vielen Lenkrädern erzeugt. @@ -20765,17 +20843,17 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi Accel X - Accel X + X Beschleunigung Accel Y - Accel Y + Y Beschleunigung Accel Z - Accel Z + Z Beschleunigung @@ -21727,42 +21805,42 @@ Das Scannen braucht mehr Zeit, wird aber Dateien in Unterverzeichnissen identifi VMManager - + Failed to back up old save state {}. Fehler beim Sichern des alten Status {}. - + Failed to save save state: {}. Speichern des Save state fehlgeschlagen. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unbekanntes Spiel - + CDVD precaching was cancelled. CDVD Precaching wurde abgebrochen. - + CDVD precaching failed: {} CDVD Precaching fehlgeschlagen: {} - + Error Fehler - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21779,272 +21857,272 @@ Nach dem Extrahieren sollte dieses BIOS-Abbild im Ordner bios im Datenverzeichni Bitte lesen Sie die FAQs und Anleitungen für weitere Anweisungen. - + Resuming state Status fortsetzen - + Boot and Debug Booten und Debuggen - + Failed to load save state Fehler beim Laden des Save State - + State saved to slot {}. Status in Slot {} gespeichert. - + Failed to save save state to slot {}. Fehler beim Speichern des Status in Slot {}. - - + + Loading state Lade-Status - + Failed to load state (Memory card is busy) Fehler beim Laden des Savestates (Memory Card ist beschäftigt) - + There is no save state in slot {}. Es gibt keinen Speicherstatus in Slot {}. - + Failed to load state from slot {} (Memory card is busy) Fehler beim Laden des Savestate von Slot {} (Speicherkarte ist beschäftigtt) - + Loading state from slot {}... Lade Status von Slot {}... - + Failed to save state (Memory card is busy) Fehler beim Speichern des Savestate (Speicherkarte beschäftigt) - + Failed to save state to slot {} (Memory card is busy) Fehler beim Speichern des Savestate in Slot {} (Speicherkarte ist beschäftigt) - + Saving state to slot {}... Speichere Status in Slot {}... - + Frame advancing Bildvorlauf - + Disc removed. Disc entfernt. - + Disc changed to '{}'. Disc geändert zu '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Fehler beim Öffnen des neuen Disc-Image '{}'. Kehre zum alten Image zurück. Fehlermeldung: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Fehler beim Zurückwechseln auf das alte Disc-Image. Disc wird entfernt. Fehlermeldung: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats wurden aufgrund des Hardcore-Modus deaktiviert. - + Fast CDVD is enabled, this may break games. Fast CDVD ist aktiviert, dies kann Spiele unspielbar machen. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Zyklusrate/Überspringen ist nicht auf dem Standardwert, dies kann zum Absturz führen oder zu langsam laufen. - + Upscale multiplier is below native, this will break rendering. Hochskalierungs-Multiplikator ist unterhalb Nativ, dies wird die Darstellung beeinträchtigen. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping ist deaktiviert. Dies kann die Darstellung in einigen Spielen beeinträchtigen. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. - Renderer is not set to Automatic. This may cause performance problems and graphical issues. + Renderer ist nicht auf Automatisch gesetzt. Dies kann Performance-Probleme und grafische Probleme verursachen. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texturfilterung ist nicht auf Bilinear (PS2) gesetzt. Dies wird die Darstellung in einigen Spielen beeinträchtigen. - + No Game Running Kein Spiel wird ausgeführt - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilineares Filtern ist nicht auf Automatisch gesetzt. Dies kann die Darstellung in einigen Spielen beeinträchtigen. - + Blending Accuracy is below Basic, this may break effects in some games. Die Blending Genauigkeit liegt unter Basic, dies kann die Effekte in einigen Spielen beeinträchtigen. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware-Download-Modus ist nicht auf Genau gesetzt, dies kann die Darstellung in einigen Spielen beeinträchtigen. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Rundungsmodus ist nicht auf Standard gesetzt, dies kann einige Spiele unspielbar machen. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Modus ist nicht auf Standard gesetzt, dies kann einige Spiele unspielbar machen. - + VU0 Round Mode is not set to default, this may break some games. VU0 Rundungsmodus ist nicht auf Standard gesetzt, dies kann einige Spiele unspielbar machen. - + VU1 Round Mode is not set to default, this may break some games. VU1 Rundungsmodus ist nicht auf Standard gesetzt, dies kann einige Spiele unspielbar machen. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Modus ist nicht auf Standard gesetzt, dies kann einige Spiele unspielbar machen. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM ist aktiviert. Kompatibilität mit einigen Spielen kann beeinträchtigt sein. - + Game Fixes are not enabled. Compatibility with some games may be affected. Spielfixes sind nicht aktiviert. Kompatibilität mit einigen Spielen kann beeinträchtigt werden. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Kompatibilitäts-Patches sind nicht aktiviert. Kompatibilität mit einigen Spielen kann beeinträchtigt sein. - + Frame rate for NTSC is not default. This may break some games. Die Bildrate für NTSC ist nicht standardmäßig. Dies kann einige Spiele beeinträchtigen. - + Frame rate for PAL is not default. This may break some games. Die Bildrate für PAL ist nicht standardmäßig. Dies kann einige Spiele beeinträchtigen. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler ist nicht aktiviert, dies verringert die Leistung erheblich. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler ist nicht aktiviert, dies verringert die Leistung erheblich. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler ist nicht aktiviert, dies verringert die Leistung erheblich. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler ist nicht aktiviert, dies verringert die Leistung erheblich. - + EE Cache is enabled, this will significantly reduce performance. EE-Cache ist aktiviert, dies verringert die Leistung erheblich. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection ist nicht aktiviert, dies kann die Leistung verringern. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection ist nicht aktiviert, was die Leistung verringern könnte. - + Fastmem is not enabled, this will reduce performance. Fastmem ist nicht aktiviert, dies verringert die Performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 ist deaktiviert, dies kann die Leistung verringern. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag-Hack ist nicht aktiviert, dies kann die Leistung mindern. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Konvertierung ist aktiviert, dies kann die Leistung mindern. - + Texture Preloading is not Full, this may reduce performance. Texturvorladung ist nicht voll, dies kann die Leistung verringern. - + Estimate texture region is enabled, this may reduce performance. Geschätzte Textur-Region ist aktiviert, dies kann die Leistung verringern. - + Texture dumping is enabled, this will continually dump textures to disk. Textur-Dumping ist aktiviert, wodurch die Texturen kontinuierlich auf der Festplatte abgelegt werden. diff --git a/pcsx2-qt/Translations/pcsx2-qt_el-GR.ts b/pcsx2-qt/Translations/pcsx2-qt_el-GR.ts index 9b854f6af15af..fc08454262e9d 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_el-GR.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_el-GR.ts @@ -732,307 +732,318 @@ Leaderboard Position: {1} of {2} Χρήση Γενικής Ρύθμισης [%1] - + Rounding Mode Λειτουργία Στρογγυλοποίησης - - - + + + Chop/Zero (Default) Στρογγύλεμα προς τα κάτω (προεπιλογή) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Αλλάζει τον τρόπο με τον οποίο το PCSX2 χειρίζεται τη στρογγυλοποίηση ενώ εξομοιώνει τη μονάδα κινητής υποδιαστολής (EE FPU) της Emotion Engine. Επειδή οι διάφορες FPU στο PS2 δεν συμμορφώνονται με τα διεθνή πρότυπα, ορισμένα παιχνίδια μπορεί να χρειάζονται διαφορετικές λειτουργίες για να κάνουν σωστά τα μαθηματικά. Η προεπιλεγμένη τιμή χειρίζεται τη συντριπτική πλειοψηφία των παιχνιδιών. Η τροποποίηση αυτής της ρύθμισης όταν ένα παιχνίδι δεν έχει ορατό πρόβλημα μπορεί να προκαλέσει αστάθεια - + Division Rounding Mode Λειτουργία Στρογγυλοποίησης τμήματος - + Nearest (Default) Πλησιέστερο (Προεπιλογή) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Καθορίζει πώς στρογγυλοποιούνται τα αποτελέσματα της διαίρεσης κινητής υποδιαστολής. Ορισμένα παιχνίδια χρειάζονται συγκεκριμένες ρυθμίσεις. Η τροποποίηση αυτής της ρύθμισης όταν ένα παιχνίδι δεν έχει ορατό πρόβλημα μπορεί να προκαλέσει αστάθεια - + Clamping Mode Λειτουργία Περιορισμού Εύρους - - - + + + Normal (Default) Κανονικό (προεπιλογή) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Αλλάζει τον τρόπο με τον οποίο χειρίζεται το PCSX2, τους πλωτήρες σε τυπικό εύρος x86. Η προεπιλεγμένη τιμή χειρίζεται τη συντριπτική πλειοψηφία των παιχνιδιών. Η τροποποίηση αυτής της ρύθμισης όταν ένα παιχνίδι δεν έχει ορατό πρόβλημα μπορεί να προκαλέσει αστάθεια. - - + + Enable Recompiler Ενεργοποίηση Recompiler - + - - - + + + - + - - - - + + + + + Checked Επιλεγμένο - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Εκτελεί μετάφραση δυαδικού κώδικα MIPS-IV 64-bit σε x86 σε πραγματικό χρόνο. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Αναμονή Ανίχνευσης Βρόχου - + Moderate speedup for some games, with no known side effects. Μέτρια επιτάχυνση για ορισμένα παιχνίδια, χωρίς γνωστές παρενέργειες. - + Enable Cache (Slow) Ενεργοποίηση Προσωρινής Μνήμης (Αργή) - - - - + + + + Unchecked Αποεπιλεγμένο - + Interpreter only, provided for diagnostic. Διερμηνέας μόνο, για διαγνωστικούς λόγους. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Ανίχνευση αδράνειας INTC - + Huge speedup for some games, with almost no compatibility side effects. Τεράστια επιτάχυνση για μερικά παιχνίδια, με σχεδόν καμία παρενέργεια συμβατότητας. - + Enable Fast Memory Access Ενεργοποίηση Γρήγορης Πρόσβασης Μνήμης - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Χρησιμοποιεί backpatching για να αποφύγει την έκπλυση του μητρώου σε κάθε πρόσβαση μνήμης. - + Pause On TLB Miss Παύση σε TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Παύει την εικονική μηχανή όταν εμφανίζεται μια αστοχία TLB, αντί να την αγνοεί και να συνεχίζει. Σημειώστε ότι το VM θα παύσει μετά το τέλος του μπλοκ, και όχι στις οδηγίες που προκάλεσαν την εξαίρεση. Ανατρέξτε στην κονσόλα για να δείτε τη διεύθυνση όπου συνέβη η μη έγκυρη πρόσβαση. - + Enable 128MB RAM (Dev Console) Ενεργοποίηση RAM 128MB (Κονσόλα προγραμματιστή) - + Exposes an additional 96MB of memory to the virtual machine. Εκθέτει επιπλέον 96MB μνήμης στο εικονικό μηχάνημα. - + VU0 Rounding Mode Λειτουργία Στρογγυλοποίησης VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Αλλάζει τον τρόπο με τον οποίο το PCSX2 χειρίζεται τη στρογγυλοποίηση ενώ εξομοιώνει τη μονάδα διανύσματος 0 του Emotion Engine' (EE VU0). Η προεπιλεγμένη τιμή χειρίζεται τη συντριπτική πλειοψηφία των παιχνιδιών. <b>Η τροποποίηση αυτής της ρύθμισης όταν ένα παιχνίδι δεν έχει ορατό πρόβλημα θα προκαλέσει προβλήματα σταθερότητας ή/και σφάλματα.</b> - + VU1 Rounding Mode Λειτουργία Στρογγυλοποίησης VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Αλλάζει τον τρόπο με τον οποίο το PCSX2 χειρίζεται τη στρογγυλοποίηση ενώ εξομοιώνει τη μονάδα διανύσματος 1 του Emotion Engine' (EE VU1). Η προεπιλεγμένη τιμή χειρίζεται τη συντριπτική πλειοψηφία των παιχνιδιών. <b>Η τροποποίηση αυτής της ρύθμισης όταν ένα παιχνίδι δεν έχει ορατό πρόβλημα θα προκαλέσει προβλήματα σταθερότητας ή/και σφάλματα.</b> - + VU0 Clamping Mode Λειτουργία Περιορισμού Εύρους VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Αλλάζει τον τρόπο με τον οποίο το PCSX2 χειρίζεται τη διατήρηση των πλωτών σε τυπικό εύρος x86 στη διανυσματική μονάδα 0 του Emotion Engine' (EE VU0). Η προεπιλεγμένη τιμή χειρίζεται τη συντριπτική πλειοψηφία των παιχνιδιών. <b>η τροποποίηση αυτής της ρύθμισης όταν ένα παιχνίδι δεν έχει ορατό πρόβλημα μπορεί να προκαλέσει αστάθεια.</b> - + VU1 Clamping Mode Λειτουργία Περιορισμού Εύρους VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Αλλάζει τον τρόπο με τον οποίο το PCSX2 χειρίζεται τη διατήρηση των πλωτών σε ένα τυπικό εύρος x86 στη διανυσματική μονάδα 1 του Emotion Engine' (EE VU1). Η προεπιλεγμένη τιμή χειρίζεται τη συντριπτική πλειοψηφία των παιχνιδιών. <b>η τροποποίηση αυτής της ρύθμισης όταν ένα παιχνίδι δεν έχει ορατό πρόβλημα μπορεί να προκαλέσει αστάθεια.</b> - + Enable Instant VU1 Ενεργοποίηση Άμεσου Vu1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Εκτελεί το VU1 αμέσως. Παρέχει μια μέτρια βελτίωση της ταχύτητας στα περισσότερα παιχνίδια. Ασφαλές για τα περισσότερα παιχνίδια, αλλά μερικά παιχνίδια μπορεί να παρουσιάζουν γραφικά σφάλματα. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Ενεργοποίηση VU0 Recompiler (Micro Mode) - + Enables VU0 Recompiler. Ενεργοποιεί ανασύνταξη VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Ενεργοποιεί ανασύνταξη VU1 - + Enables VU1 Recompiler. Ενεργοποιεί ανασύνταξη VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Παράκαμψη ελέγχου mVU - + Good speedup and high compatibility, may cause graphical errors. Καλή επιτάχυνση απόδοσης και υψηλή συμβατότητα, μπορεί να προκαλέσει γραφικά σφάλματα. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Πραγματοποιεί σε πραγματικό χρόνο μετάφραση του 32-bit MIPS-I κώδικα σε x86. - + Enable Game Fixes Ενεργοποίηση Διορθώσεων Παιχνιδιού - + Automatically loads and applies fixes to known problematic games on game start. Φορτώνει αυτόματα και εφαρμόζει διορθώσεις σε γνωστά προβληματικά παιχνίδια κατά την εκκίνηση του παιχνιδιού. - + Enable Compatibility Patches Ενεργοποίηση Διορθώσεων Συμβατότητας - + Automatically loads and applies compatibility patches to known problematic games. Φορτώνει αυτόματα και εφαρμόζει διορθώσεις συμβατότητας σε γνωστά προβληματικά παιχνίδια. - + Savestate Compression Method Μέθοδος Συμπίεσης Αποθηκευμένων Καταστάσεων - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Καθορίζει τον αλγόριθμο που θα χρησιμοποιηθεί κατά τη συμπίεση των αποθηκευμένων καταστάσεων. - + Savestate Compression Level Επίπεδο Συμπίεσης Αποθηκευμένων Καταστάσεων - + Medium Μεσαίο - + Determines the level to be used when compressing savestates. Καθορίζει το επίπεδο που θα χρησιμοποιηθεί κατά τη συμπίεση των αποθηκευμένων καταστάσεων. - + Save State On Shutdown Αποθήκευση Κατάστασης Κατά Την Απενεργοποίηση - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Αποθηκεύει αυτόματα την κατάσταση του εξομοιωτή κατά την απενεργοποίηση ή την έξοδο. Στη συνέχεια, μπορείτε να συνεχίσετε την επόμενη φορά απευθείας από εκεί που σταματήσατε. - + Create Save State Backups Δημιουργία Αντιγράφων Ασφαλείας Αποθηκευμένων Καταστάσεων - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Δημιουργεί ένα αντίγραφο ασφαλείας μιας κατάστασης αποθήκευσης εάν υπάρχει ήδη κατά τη δημιουργία της αποθήκευσης. Το αντίγραφο ασφαλείας έχει επίθημα .backup. @@ -1255,29 +1266,29 @@ Leaderboard Position: {1} of {2} Δημιουργία Αντιγράφων Ασφαλείας Αποθηκευμένων Καταστάσεων - + Save State On Shutdown Αποθήκευση Κατάστασης Κατά Την Απενεργοποίηση - + Frame Rate Control Έλεγχος Ρυθμού Καρέ - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: Ρυθμός Ανανέωσης Καρέ PAL: - + NTSC Frame Rate: Ρυθμός Ανανέωσης Καρέ NTSC: @@ -1292,7 +1303,7 @@ Leaderboard Position: {1} of {2} Επίπεδο Συμπίεσης - + Compression Method: Μέθοδος Συμπίεσης @@ -1337,17 +1348,22 @@ Leaderboard Position: {1} of {2} Πολύ Υψηλή (Αργό, Δεν Συνιστάται) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings Ρυθμίσεις Π.Λ.Π. - + Slot: Θέση: - + Enable Ενεργοποίηση @@ -1868,8 +1884,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Αυτόματες Ενημερωτής @@ -1909,68 +1925,68 @@ Leaderboard Position: {1} of {2} Υπενθύμιση Αργότερα - - + + Updater Error Σφάλμα Ενημέρωσης - + <h2>Changes:</h2> <h2>Αλλαγές:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Προειδοποίηση Αποθήκευσης Κατάστασης</h2><p>Η εγκατάσταση αυτής της ενημέρωσης θα καταστήσει την αποθήκευση σας <b>μη συμβατή</b>. Βεβαιωθείτε ότι έχετε αποθηκεύσει τα παιχνίδια σας σε μια κάρτα μνήμης προτού εγκαταστήσετε αυτήν την ενημέρωση, διαφορετικά θα χάσετε την πρόοδό σας.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Προειδοποίηση Ρυθμίσεων</h2><p>Η εγκατάσταση αυτής της ενημέρωσης θα επαναφέρει τις ρυθμίσεις του προγράμματός σας. Λάβετε υπόψη ότι θα πρέπει να επαναδιαμορφώσετε τις ρυθμίσεις σας μετά από αυτήν την ενημέρωση.</p> - + Savestate Warning Προειδοποίηση Savestate - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ΠΡΟΕΙΔΟΠΟΙΗΣΗ</h1><p style='font-size:12pt;'>Η εγκατάσταση αυτής της ενημέρωσης θα κάνει <b>της αποθηκεύσεις καταστάσεων μη συμβατές</b>, <i>βεβαιωθείτε ότι έχετε αποθηκεύσει οποιαδήποτε πρόοδο στις κάρτες μνήμης σας πριν συνεχίσετε</i>.</p><p>Θέλετε να συνεχίσετε;</p> - + Downloading %1... Λήψη %1... - + No updates are currently available. Please try again later. Δεν υπάρχουν διαθέσιμες ενημερώσεις. Παρακαλώ προσπαθήστε ξανά αργότερα. - + Current Version: %1 (%2) Τρέχουσα Έκδοση: %1 (%2) - + New Version: %1 (%2) Νέα Έκδοση: %1 (%2) - + Download Size: %1 MB Μέγεθος Λήψης: %1 MB - + Loading... Φόρτωση... - + Failed to remove updater exe after update. Αποτυχία κατάργησης exe ενημέρωσης μετά την ενημέρωση. @@ -2134,19 +2150,19 @@ Leaderboard Position: {1} of {2} Ενεργοποίηση - - + + Invalid Address Μη Έγκυρη Διεύθυνση - - + + Invalid Condition Μη Έγκυρη Κατάσταση - + Invalid Size Μη Έγκυρο Μέγεθος @@ -2236,17 +2252,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Η θέση του δίσκου παιχνιδιού είναι σε μια αφαιρούμενη μονάδα, υπάρχει πιθανότητα προβλημάτων απόδοσης όπως κόλληματα. - + Saving CDVD block dump to '{}'. Αποθήκευση αρχείου απορρίψεων CDVD σε '{}'. - + Precaching CDVD Προσωρινή Αποθήκευση CDVD @@ -2271,7 +2287,7 @@ Leaderboard Position: {1} of {2} Άγνωστο - + Precaching is not supported for discs. Η προγραφή δεν υποστηρίζεται για δίσκους. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Διαγραφή Προφίλ - + Mapping Settings Ρυθμίσεις Αντιστοίχησης - - + + Restore Defaults Επαναφορά Προεπιλογών - - - + + + Create Input Profile Δημιουργία Προφίλ Εισόδου - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Enter the name for the new input profile: Εισάγετε το όνομα του νέου προφίλ εισόδου: - - - - + + + + + + Error Σφάλμα - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4005,63 +4044,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4132,17 +4171,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4794,53 +4848,53 @@ Do you want to overwrite? Αποσφαλματωτής PCSX2 - + Run Εκτέλεση - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Πάντα σε πρώτο πλάνο - + Show this window on top Εμφάνιση αυτού του παραθύρου στην κορυφή - + Analyze Analyze @@ -4858,48 +4912,48 @@ Do you want to overwrite? Αποσυναρμολόγηση - + Copy Address Αντιγραφή διεύθυνσης - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4920,23 +4974,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 ΜΗ ΕΓΚΥΡΗ ΔΙΕΥΘΥΝΣΗ @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Θύρα: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Θύρα: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Θέση: %1 | Ένταση: %2% | %3% EE: %4% | GS: %5% - + No Image Καμία Εικόνα - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Ταχύτητα: %1% - + Game: %1 (%2) Παιχνίδι: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Το παιχνίδι δεν φορτώθηκε ή δεν υπάρχουν RetroAεπιτεύγματα διαθέσιμα. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5699,342 +5748,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Δεν βρέθηκαν συσκευές CD/DVD-ROM. Παρακαλώ βεβαιωθείτε ότι έχετε συνδεδεμένη μονάδα δίσκου και επαρκή δικαιώματα πρόσβασης σε αυτήν. - + Use Global Setting Χρήση Γενικής Ρύθμισης - + Automatic binding failed, no devices are available. Η αυτόματη σύνδεση απέτυχε, δεν υπάρχουν διαθέσιμες συσκευές. - + Game title copied to clipboard. Ο τίτλος του παιχνιδιού αντιγράφηκε στο πρόχειρο. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Ο τύπος παιχνιδιού αντιγράφηκε στο πρόχειρο. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Η διαδρομή παιχνιδιού αντιγράφηκε στο πρόχειρο. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. Δεν υπάρχουν διαθέσιμα προφίλ εισόδου. - + Create New... Δημιουργία Νέου... - + Enter the name of the input profile you wish to create. Εισάγετε το όνομα του προφίλ εισόδου που θέλετε να δημιουργήσετε. - + Are you sure you want to restore the default settings? Any preferences will be lost. Είστε βέβαιοι ότι θέλετε να επαναφέρετε τις προεπιλεγμένες ρυθμίσεις? Οποιεσδήποτε προτιμήσεις θα χαθούν. - + Settings reset to defaults. Οι ρυθμίσεις επαναφέρθηκαν στις προεπιλογές. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Η αντιγραφή στο πρόχειρο απέτυχε. - + This game has no achievements. Αυτό το παιχνίδι δεν έχει επιτεύγματα. - + This game has no leaderboards. Αυτό το παιχνίδι δεν έχει πίνακες κατάταξης. - + Reset System Επανεκκίνηση Συστήματος - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Η λειτουργία Hardcore δεν θα ενεργοποιηθεί μέχρι να γίνει επανεκκίνηση του συστήματος. Θέλετε να επανεκκινήσετε το σύστημα τώρα; - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Ξεκινήστε την κονσόλα χωρίς εισαγωγή δίσκου. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Άγνωστο - + OK ΟΚ - + Select Device Επιλογή Συσκευής - + Details Λεπτομέρειες - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Καθαρίζει όλες τις ρυθμίσεις που έχουν οριστεί για αυτό το παιχνίδι. - + Behaviour Συμπεριφορά - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Αποτρέπει την ενεργοποίηση της προφύλαξης οθόνης και τον υπολογιστή να τεθεί σε αναστολή κατά την λειτουργία εξομοίωσης. - + Shows the game you are currently playing as part of your profile on Discord. Εμφανίζει το παιχνίδι που παίζετε αυτή τη στιγμή στο προφίλ σας στο Discord. - + Pauses the emulator when a game is started. Παύση του εξομοιωτή κατά την εκκίνηση του παιχνιδιού. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Παύση του εξομοιωτή όταν ελαχιστοποιείτε το παράθυρο ή μεταβείτε σε άλλη εφαρμογή και συνέχιση κατά την επαναφορά του παραθύρου. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Παύση του εξομοιωτή όταν ανοίγετε το γρήγορο μενού και συνέχιση όταν το κλείσετε. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Καθορίζει αν θα εμφανίζεται μια ερώτηση που θα επιβεβαιώνει το κλείσιμο του εξομοιωτή/ παιχνιδιού όταν πατηθεί η συντόμευση πληκτρολογίου. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Αποθηκεύει αυτόματα την κατάσταση εξομοιωτή κατά την ενεργοποίηση ή την έξοδο. Μπορείτε στη συνέχεια να συνεχίσετε απευθείας από εκεί που σταματήσατε την επόμενη φορά. - + Uses a light coloured theme instead of the default dark theme. Χρησιμοποιεί ένα ανοιχτόχρωμο θέμα αντί για το προεπιλεγμένο σκούρο θέμα. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Κρύβει το δείκτη του ποντικιού/δρομέα όταν ο εξομοιωτής είναι σε λειτουργία πλήρους οθόνης. - + Determines how large the on-screen messages and monitor are. Καθορίζει πόσο μεγάλα είναι τα μηνύματα και οι πληροφορίες στην οθόνη. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Εμφανίζει την τρέχουσα κατάσταση του χειριστηρίου στην κάτω αριστερή γωνία της οθόνης. - + Displays warnings when settings are enabled which may break games. Εμφανίζει προειδοποιήσεις όταν είναι ενεργοποιημένες ρυθμίσεις μπορούν να σπάσουν παιχνίδια. - + Resets configuration to defaults (excluding controller settings). Επαναφέρει τις ρύθμισης παραμέτρων στις προεπιλογές (εκτός των ρυθμίσεων χειριστηρίου). - + Changes the BIOS image used to start future sessions. Αλλάζει την εικόνα BIOS που χρησιμοποιείται για την έναρξη μελλοντικών συνεδριών. - + Automatic Αυτόματο - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Προεπιλογή - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration Ρυθμίσεις BIOS - + BIOS Selection Επιλογή BIOS - + Options and Patches Επιλογές και διορθώσεις - + Skips the intro screen, and bypasses region checks. Παραλείπει την εισαγωγική οθόνη και παρακάμπτει τους ελέγχους γεωγραφικής περιοχής. - + Speed Control Έλεγχος Tαχύτητας - + Normal Speed Κανονική Ταχύτητα - + Sets the speed when running without fast forwarding. Ορίζει την ταχύτητα όταν εκτελείται χωρίς γρήγορη προώθηση. - + Fast Forward Speed Ταχύτητα Γρήγορης Προώθησης - + Sets the speed when using the fast forward hotkey. Ορίζει την ταχύτητα όταν χρησιμοποιείτε την συντόμευση γρήγορης προώθησης. - + Slow Motion Speed Ταχύτητα Αργής Κίνησης - + Sets the speed when using the slow motion hotkey. Ορίζει την ταχύτητα όταν χρησιμοποιείτε την συντόμευση αργής κίνησης. - + System Settings Ρυθμίσεις Συστήματος - + EE Cycle Rate Ρυθμός Κύκλων EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Υποχρονισμός ή υπερχρονισμός του προσομοιωμένου Emotion Engine. - + EE Cycle Skipping Παράκαμψη Κύκλων EE - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Ενεργοποίηση Cheats - + Enables loading cheats from pnach files. Επιτρέπει τη φόρτωση cheats από αρχεία pnach. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Ενεργοποίηση Γρήγορου CDVD - + Fast disc access, less loading times. Not recommended. Γρήγορη πρόσβαση στο δίσκο, λιγότεροι χρόνοι φόρτωσης. Δεν συνιστάται. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Οθόνη - + Aspect Ratio Αναλογία Διαστάσεων - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Μέγεθος Στιγμιότυπου Οθόνης - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Μορφή Στιγμιότυπου Οθόνης - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Ποιότητα Στιγμιότυπου Οθόνης - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Περικοπή - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Ακέραια Ανακλιμάκωση - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Αντιθόλωμα - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Επιτρέπει τα hack αντιθολώματος. Λιγότερο ακριβής απόδοση απεικόνισης PS2, αλλά θα κάνει πολλά παιχνίδια να φαίνονται λιγότερο θολά. - + Rendering Rendering - + Internal Resolution Εσωτερική Ανάλυση - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Διγραμμικό Φιλτράρισμα - + Selects where bilinear filtering is utilized when rendering textures. Επιλέγει όπου χρησιμοποιείται το διγραμμικό φιλτράρισμα κατά την απόδοση υφών. - + Trilinear Filtering Τριγραμμικό Φιλτράρισμα - + Selects where trilinear filtering is utilized when rendering textures. Επιλέγει όπου χρησιμοποιείται το τριγραμμικό φιλτράρισμα κατά την απόδοση υφών. - + Anisotropic Filtering Ανισοτροπικό φιλτράρισμα - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Προφόρτωση Υφών - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Φορτώνει όλες τις υφές στην κάρτα γραφικών κατά τη χρήση, αντί μόνο των περιοχών που χρησιμοποιούνται. Μπορεί να βελτιώσει την απόδοση σε ορισμένα παιχνίδια. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Ενεργοποιεί την εξομοίωση της εξομάλυνσης Edge AA (AA1) του GS. - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Διορθώσεις Υλικού - + Manual Hardware Fixes Χειροκίνητες Διορθώσεις Υλικού - + Disables automatic hardware fixes, allowing you to set fixes manually. Απενεργοποιεί τις αυτόματες διορθώσεις υλικού, επιτρέποντάς σας να ορίσετε διορθώσεις χειροκίνητα. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Ρυθμίζει τις κορυφές σε σχέση με την κλιμάκωση. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Μειώνει την ακρίβεια του GS για την αποφυγή κενών μεταξύ εικονοστοιχείων κατά την αναβάθμιση. Διορθώνει το κείμενο στους τίτλους Wild Arms. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Αντικατάσταση Υφών - + Load Textures Φόρτωση Υφών - + Loads replacement textures where available and user-provided. Αντικαθιστά υφές όπου είναι διαθέσιμες και ο παρέχονται από τον χρήστη. - + Asynchronous Texture Loading Ασύγχρονη Φόρτωση Υφών - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Φορτώνει τις υφές αντικατάστασης σε ένα νήμα εργασιών, μειώνοντας τα μικροκολλήματα όταν είναι ενεργοποιημένη η αντικατάσταση υφών. - + Precache Replacements Προφόρτωση Υφών Αντικατάστασης - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Προφορτώνει όλες τις υφές αντικατάστασης στη μνήμη. Δεν είναι απαραίτητο με την ασύγχρονη φόρτωση. - + Replacements Directory Φάκελος Υφών Αντικαταστάσης - + Folders Φάκελοι - + Texture Dumping Εξαγωγή Υφών - + Dump Textures Εξαγωγή Υφών - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Μετα-επεξεργασία - + FXAA FXAA - + Enables FXAA post-processing shader. Ενεργοποιεί τη μετα-επεξεργασία FXAA. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Φίλτρα - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Δημιουργεί ένα νέο αρχείο ή φάκελο καρτών μνήμης. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Καταγραφή - + System Console Κονσόλα Συστήματος - + Writes log messages to the system console (console window/standard output). Γράφει μηνύματα καταγραφής στην κονσόλα συστήματος (παράθυρο κονσόλας/τυπική έξοδο). - + File Logging Καταγραφή Αρχείων - + Writes log messages to emulog.txt. Γράφει μηνύματα καταγραφής στο emulog.txt. - + Verbose Logging Λεπτομερής καταγραφή - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Καταγραφή Χρονοσημάνσεων - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Γραφικά - + Use Debug Device Use Debug Device - + Settings Ρυθμίσεις - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Φόρτωση κατάστασης - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Περιοχή: - + Compatibility: Συμβατότητα: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 Σχετικά Με Pcx2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. Τα σήματα PlayStation 2 και PS2 είναι καταχωρημένα στην Sony Interactive Entertainment. Αυτή η εφαρμογή δεν συνδέεται με κανέναν τρόπο με την Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Όταν είναι ενεργοποιημένο και συνδεδεμένο, το PCSX2 θα σαρώνει για επιτεύγματα κατά την εκκίνηση. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Εμφανίζει αναδυόμενα μηνύματα σε γεγονότα, όπως ξεκλείδωμα επιτευγμάτων και υποβολές πίνακα κατάταξης. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Παίζει ηχητικά εφέ για γεγονότα όπως το ξεκλείδωμα επιτευγμάτων και υποβολές στους πίνακες κατάταξης. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Εμφανίζει εικονίδια στην κάτω δεξιά γωνία της οθόνης όταν μια πρόκληση είναι ενεργή. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. Όταν ενεργοποιηθεί, κάθε συνεδρία θα συμπεριφέρεται σαν να μην έχει ξεκλειδωθεί κανένα επίτευγμα. - + Account Λογαριασμός - + Logs out of RetroAchievements. Αποσύνδεση από RetroAchievements. - + Logs in to RetroAchievements. Σύνδεση στο RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Αποθηκεύτηκε {} - + {} does not exist. {} does not exist. - + {} deleted. {} διαγράφηκε. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Ρυθμίσεις Διεπαφής - + BIOS Settings Ρυθμίσεις BIOS - + Emulation Settings Ρυθμίσεις εξομοιωτή - + Graphics Settings Ρυθμίσεις γραφικών - + Audio Settings Ρυθμίσεις Ήχου - + Memory Card Settings Ρυθμίσεις Κάρτας Μνήμης - + Controller Settings Ρυθμίσεις χειριστηρίου - + Hotkey Settings Ρυθμίσεις Πλήκτρου Συντόμευσης - + Achievements Settings Ρυθμίσεις Επιτευγμάτων - + Folder Settings Ρυθμίσεις φακέλων - + Advanced Settings Ρυθμίσεις για προχωρημένους - + Patches Διορθώσεις - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Ταχύτητα - + 60% Speed 60% Ταχύτητα - + 75% Speed 75% Ταχύτητα - + 100% Speed (Default) 100% Ταχύτητα (Προεπιλογή) - + 130% Speed 130% Ταχύτητα - + 180% Speed 180% Ταχύτητα - + 300% Speed 300% Ταχύτητα - + Normal (Default) Κανονικό (προεπιλογή) - + Mild Underclock Μικρός Υποχρονισμός - + Moderate Underclock Μέτριος Υποχρονισμός - + Maximum Underclock Μέγιστος Υποχρονισμός - + Disabled Απενεργοποιημένο - + 0 Frames (Hard Sync) 0 Καρέ (Συγχρονισμός) - + 1 Frame 1 Καρέ - + 2 Frames 2 Καρέ - + 3 Frames 3 Καρέ - + None Καμία - + Extra + Preserve Sign Έξτρα + Διατήρηση Πρόσημου - + Full Πλήρης - + Extra Έξτρα - + Automatic (Default) Αυτόματο (Προεπιλογή) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Λογισμικό - + Null Κανένα - + Off Ανενεργό - + Bilinear (Smooth) Διγραμμική (Απαλό) - + Bilinear (Sharp) Διγραμμική (Οξύ) - + Weave (Top Field First, Sawtooth) Πλέξη (Πάνω Πεδίο Πρώτα, οδοντωτά) - + Weave (Bottom Field First, Sawtooth) Βάρος (Κάτω Πεδίο Πρώτα, Πριόνι) - + Bob (Top Field First) Bob (Πρώτα Το Πεδίο) - + Bob (Bottom Field First) Bob (Κάτω Πεδίο Πρώτα) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Πλησιέστερο - + Bilinear (Forced) Διγραμμικό (εξαναγκασμένο) - + Bilinear (PS2) Διγραμμικό (PS2) - + Bilinear (Forced excluding sprite) Διγραμμικό (αναγκαστική εξαίρεση sprite) - + Off (None) Ανενεργό (κανένα) - + Trilinear (PS2) Τριγραμμικό (PS2) - + Trilinear (Forced) Τριγραμμικό (εξαναγκασμένο) - + Scaled Κλιμάκωση - + Unscaled (Default) Χωρίς Κλιμάκωση (Προεπιλογή) - + Minimum Ελάχιστο - + Basic (Recommended) Βασικό (συνιστάται) - + Medium Μεσαία - + High Υψηλό - + Full (Slow) Πλήρης (Αργό) - + Maximum (Very Slow) Μέγιστο (Πολύ Αργό) - + Off (Default) Ανενεργό (Προεπιλογή) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Πλήρης (Hash Cache) - + Force Disabled Αναγκαστική απενεργοποίηση - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Ανάλυση Οθόνης - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Ειδικό (Υφή - εξαναγκασμένο) - + Align To Native Στοίχιση Στο Εγγενές - + Half Μισό - + Force Bilinear Εξαναγκασμός Διγραμμικού - + Force Nearest Εξαναγκασμός Κοντινότερου - + Disabled (Default) Απενεργοποιημένο (Προεπιλογή) - + Enabled (Sprites Only) Ενεργοποιημένο (Μόνο Για Sprites) - + Enabled (All Primitives) Ενεργοποιημένο (Όλα Τα Πρωτεύοντα) - + None (Default) Κανένα (Προεπιλογή) - + Sharpen Only (Internal Resolution) Όξυνση Μόνο (Εσωτερική Ανάλυση) - + Sharpen and Resize (Display Resolution) Όξυνση και αλλαγή μεγέθους (ανάλυση οθόνης) - + Scanline Filter Scanline Filter - + Diagonal Filter Διαγώνιο Φίλτρο - + Triangular Filter Τριγωνικό Φίλτρο - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Γρήγορη φόρτωση - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Ρυθμίσεις - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Πίνακες κατάταξης - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Ιστοσελίδα - + Support Forums Φόρουμ υποστήριξης - + GitHub Repository Αποθετήριο GitHub - + License Άδεια Χρήσης - + Close Κλείσιμο - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Ενεργοποίηση Επιτευγμάτων - + Hardcore Mode Λειτουργία Hardcore - + Sound Effects Ηχητικά εφέ - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Όνομα Χρήστη: {} - + Login token generated on {} Login token generated on {} - + Logout Αποσύνδεση - + Not Logged In Δεν είστε συνδεδεμένοι - + Login Σύνδεση - + Game: {0} ({1}) Παιχνίδι: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11074,32 +11133,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11575,11 +11644,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11589,10 +11658,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11659,7 +11728,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11725,29 +11794,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11758,7 +11817,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11768,18 +11827,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Ανάλυση Οθόνης - + Internal Resolution Εσωτερική Ανάλυση - + PNG PNG @@ -11831,7 +11890,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11878,7 +11937,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11894,7 +11953,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11930,7 +11989,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11946,31 +12005,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11982,15 +12041,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12018,8 +12077,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12076,18 +12135,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12186,13 +12245,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12206,16 +12265,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12288,25 +12337,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12317,7 +12366,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12376,25 +12425,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12404,6 +12453,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12421,13 +12480,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12450,8 +12509,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12472,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12524,7 +12583,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12539,7 +12598,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12560,50 +12619,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12619,13 +12678,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12636,13 +12695,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12668,7 +12727,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12679,43 +12738,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12824,19 +12883,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12889,7 +12948,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12899,1214 +12958,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Λογισμικό - + Null Null here means that this is a graphics backend that will show nothing. Κανένα - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Χρήση Γενικής Ρύθμισης [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Διγραμμικό Φιλτράρισμα - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14114,7 +14173,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14331,254 +14390,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System Σύστημα - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Άνοιγμα Λίστας Πινάκων Κατάταξης - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Αποθήκευση Κατάστασης Στην Επιλεγμένη Υποδοχή - + Load State From Selected Slot Φόρτωση Κατάστασης Από Επιλεγμένη Υποδοχή - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Αποθήκευση Κατάστασης Στην Υποδοχή 1 - + Load State From Slot 1 Φόρτωση Κατάσταση Από Την Υποδοχή 1 - + Save State To Slot 2 Αποθήκευση Κατάστασης Στην Υποδοχή 2 - + Load State From Slot 2 Φόρτωση Κατάσταση Από Την Υποδοχή 2 - + Save State To Slot 3 Αποθήκευση Κατάστασης Στην Υποδοχή 3 - + Load State From Slot 3 Φόρτωση Κατάσταση Από Την Υποδοχή 3 - + Save State To Slot 4 Αποθήκευση Κατάστασης Στην Υποδοχή 4 - + Load State From Slot 4 Φόρτωση Κατάσταση Από Την Υποδοχή 4 - + Save State To Slot 5 Αποθήκευση Κατάστασης Στην Υποδοχή 5 - + Load State From Slot 5 Φόρτωση Κατάσταση Από Την Υποδοχή 5 - + Save State To Slot 6 Αποθήκευση Κατάστασης Στην Υποδοχή 6 - + Load State From Slot 6 Φόρτωση Κατάσταση Από Την Υποδοχή 6 - + Save State To Slot 7 Αποθήκευση Κατάστασης Στην Υποδοχή 7 - + Load State From Slot 7 Φόρτωση Κατάσταση Από Την Υποδοχή 7 - + Save State To Slot 8 Αποθήκευση Κατάστασης Στην Υποδοχή 8 - + Load State From Slot 8 Φόρτωση Κατάσταση Από Την Υποδοχή 8 - + Save State To Slot 9 Αποθήκευση Κατάστασης Στην Υποδοχή 9 - + Load State From Slot 9 Φόρτωση Κατάσταση Από Την Υποδοχή 9 - + Save State To Slot 10 Αποθήκευση Κατάστασης Στην Υποδοχή 10 - + Load State From Slot 10 Φόρτωση Κατάσταση Από Την Υποδοχή 10 @@ -15456,594 +15515,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Χειριστήρια - + &Hotkeys &Πλήκτρα συντόμευσης - + &Graphics &Γραφικά - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Πλήρης Οθόνη - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &Αποθετήριο GitHub... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Πλήρης Οθόνη - + Change Disc... In Toolbar Change Disc... - + &Audio &Ήχος - - Game List - Λίστα Παιχνιδιών - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Προσθήκη Καταλόγου Παιχνιδιού... + + &Screenshot + &Screenshot - - &Settings - &Ρυθμίσεις + + Start File + In Toolbar + Start File - - From File... - Από αρχείο... + + &Change Disc + &Change Disc - - From Device... - Από Τη Συσκευή... + + &Load State + &Load State - - From Game List... - Από Τη Λίστα Παιχνιδιών... + + Sa&ve State + Sa&ve State - - Remove Disc - Αφαίρεση Δίσκου + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Έναρξη BIOS - + Shut Down In Toolbar Τερματισμός λειτουργίας - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Φόρτωση κατάστασης - + Save State In Toolbar Αποθήκευση Κατάστασης - + + &Emulation + &Emulation + + + Controllers In Toolbar Χειριστήρια - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Ρυθμίσεις - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Στιγμιότυπο οθόνης - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Ρυθμίσεις + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16056,297 +16129,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Σφάλμα - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16355,12 +16428,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16373,89 +16446,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16464,42 +16537,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16522,25 +16595,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16557,28 +16630,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17370,7 +17448,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18210,12 +18288,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18224,7 +18302,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18343,47 +18421,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18516,7 +18594,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21729,42 +21807,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Άγνωστο Παιχνίδι - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Σφάλμα - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21781,272 +21859,272 @@ Please consult the FAQs and Guides for further instructions. Συμβουλευτείτε τις Συχνές Ερωτήσεις και τους Οδηγούς για περαιτέρω οδηγίες. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Ο δίσκος αφαιρέθηκε. - + Disc changed to '{}'. Ο δίσκος άλλαξε σε '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Τα cheat έχουν απενεργοποιηθεί λόγω της λειτουργίας hardcore επιτευγμάτων. - + Fast CDVD is enabled, this may break games. Το γρήγορο CDVD είναι ενεργοποιημένο, αυτό μπορεί να κάνει παιχνίδια να μην λειτουργούν. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Ο πολλαπλασιαστής ανάλυσης είναι κάτω από την εγγενή ανάλυση του PS2, αυτό θα δημιουργήσει προβλήματα προβολής. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Το φιλτράρισμα υφών δεν έχει οριστεί σε Διγραμμικό (PS2). Αυτό θα προκαλέσει προβλήματα προβολής σε μερικά παιχνίδια. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Το τριγραμμικό φιλτράρισμα δεν είναι ρυθμισμένο σε αυτόματο. Ενδέχεται να προκαλέσει προβλήματα προβολής σε μερικά παιχνίδια. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_en.ts b/pcsx2-qt/Translations/pcsx2-qt_en.ts index d7301c28a1101..f93ce40b02224 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_en.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_en.ts @@ -513,23 +513,23 @@ Unread messages: {2} - + Active Challenge Achievements - + (Hardcore Mode) - + You have unlocked all achievements and earned {} points! - - + + Leaderboard Download Failed @@ -571,134 +571,134 @@ Leaderboard Position: {1} of {2} - + You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. - + Unknown - + Locked - + Unlocked - + Unsupported - + Unofficial - + Recently Unlocked - + Active Challenges - + Almost There - + {} points - + {} point - + XXX points - + Unlocked: {} - + This game has {} leaderboards. - + Submitting scores is disabled because hardcore mode is off. Leaderboards are read-only. - + Show Best - + Show Nearby - + Rank - + Name - + Time - + Score - + Value - + Date Submitted - + Downloading leaderboard data, please wait... - - + + Loading... - + This game has no achievements. @@ -3229,29 +3229,34 @@ Not Configured/Buttons configured - Delete Profile + Rename Profile - Mapping Settings + Delete Profile - + Mapping Settings + + + + + Restore Defaults - - - + + + Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3259,40 +3264,43 @@ Enter the name for the new input profile: - - - - + + + + + + Error - + + A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. - + Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3301,24 +3309,39 @@ You cannot undo this action. - + + Rename Input Profile + + + + + Enter the new name for the input profile: + + + + + Failed to rename '%1'. + + + + Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. - + Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3327,46 +3350,46 @@ You cannot undo this action. - + Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. - - + + USB Port %1 %2 - + Hotkeys - + Shared "Shared" refers here to the shared input profile. - + The input profile named '%1' cannot be found. @@ -4886,18 +4909,18 @@ Do you want to overwrite? - + Add Function - + Rename Function - + Remove Function @@ -4994,22 +5017,27 @@ Do you want to overwrite? - + + Go to PC on Pause + + + + Restore Function - + Stub (NOP) Function - + Show &Opcode - + %1 NOT VALID ADDRESS @@ -5138,7 +5166,7 @@ Do you want to overwrite? - + Enable Cheats @@ -5159,25 +5187,25 @@ Do you want to overwrite? - + Enable Host Filesystem - + Enable Fast CDVD - + Enable CDVD Precaching - + Enable Thread Pinning @@ -5188,7 +5216,7 @@ Do you want to overwrite? - + Disabled @@ -5229,7 +5257,7 @@ Do you want to overwrite? - + 100% (Normal Speed) @@ -5266,221 +5294,249 @@ Do you want to overwrite? - + Use Host VSync Timing - + Sync to Host Refresh Rate - + Optimal Frame Pacing - + Vertical Sync (VSync) - + + + Real-Time Clock + + + + + + Manually Set Real-Time Clock + + + + Use Global Setting [%1] - + Normal Speed - + Sets the target emulation speed. It is not guaranteed that this speed will be reached, and if not, the emulator will run as fast as it can manage. - - + + User Preference - + Checked - + Higher values may increase internal framerate in games, but will increase CPU requirements substantially. Lower values will reduce the CPU load allowing lightweight games to run full speed on weaker CPUs. - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. SOTC = Shadow of the Colossus. A game's title, should not be translated unless an official translation exists. - - - - - + + - - + + + + + + Unchecked - + Fast disc access, less loading times. Check HDLoader compatibility lists for known games that have issues with this. - + Automatically loads and applies cheats on game start. - + Allows games and homebrew to access files / folders directly on the host computer. - + Fast-Forward Speed The "User Preference" string will appear after the text "Recommended Value:" - + 100% - + Sets the fast-forward speed. This speed will be used when the fast-forward hotkey is pressed/toggled. - + Slow-Motion Speed The "User Preference" string will appear after the text "Recommended Value:" - + Sets the slow-motion speed. This speed will be used when the slow-motion hotkey is pressed/toggled. - + EE Cycle Rate - + EE Cycle Skip - + Sets the priority for specific threads in a specific order ignoring the system scheduler. May help CPUs with big (P) and little (E) cores (e.g. Intel 12th or newer generation CPUs from Intel or other vendors such as AMD). P-Core = Performance Core, E-Core = Efficiency Core. See if Intel has official translations for these terms. - + Enable Multithreaded VU1 (MTVU1) - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Loads the disc image into RAM before starting the virtual machine. Can reduce stutter on systems with hard drives that have long wake times, but significantly increases boot times. - + Sets the VSync queue size to 0, making every frame be completed and presented by the GS before input is polled and the next frame begins. Using this setting can reduce input lag at the cost of measurably higher CPU and GPU requirements. - + Maximum Frame Latency - + 2 Frames - + Sets the maximum number of frames that can be queued up to the GS, before the CPU thread will wait for one of them to complete before continuing. Higher values can assist with smoothing out irregular frame times, but add additional input lag. - + Speeds up emulation so that the guest refresh rate matches the host. This results in the smoothest animations possible, at the cost of potentially increasing the emulation speed by less than 1%. Sync to Host Refresh Rate will not take effect if the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays should disable this option. - + Enable this option to match PCSX2's refresh rate with your current monitor or screen. VSync is automatically disabled when it is not possible (eg. running at non-100% speed). - + When synchronizing with the host refresh rate, this option disable's PCSX2's internal frame timing, and uses the host instead. Can result in smoother frame pacing, <strong>but at the cost of increased input latency</strong>. - + + Manually set a real-time clock to use for the virtual PlayStation 2 instead of using your OS' system clock. + + + + + Current date and time + + + + + Real-time clock (RTC) used by the virtual PlayStation 2. Date format is the same as the one used by your OS. This time is only applied upon booting the PS2; changing it while in-game will have no effect. NOTE: This assumes you have your PS2 set to the default timezone of GMT+0 and default DST of Summer Time. Some games require an RTC date/time set after their release date. + + + + Use Global Setting [%1%] - + %1% [%2 FPS (NTSC) / %3 FPS (PAL)] - + Unlimited Every case that uses this particular string seems to refer to speeds: Normal Speed/Fast Forward Speed/Slow Motion Speed. - + Custom Every case that uses this particular string seems to refer to speeds: Normal Speed/Fast Forward Speed/Slow Motion Speed. - - + + Custom [%1% / %2 FPS (NTSC) / %3 FPS (PAL)] - + Custom Speed - + Enter Custom Speed @@ -5687,4378 +5743,4398 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting - + Automatic binding failed, no devices are available. - + Game title copied to clipboard. - + Game serial copied to clipboard. - + Game CRC copied to clipboard. - + Game type copied to clipboard. - + Game region copied to clipboard. - + Game compatibility copied to clipboard. - + Game path copied to clipboard. - + Controller settings reset to default. - + No input profiles available. - + Create New... - + Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. - + No save present in this slot. - + No save states found. - + Failed to delete save state. - + Failed to copy text to clipboard. - + This game has no achievements. - + This game has no leaderboards. - + Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. - + No Binding - + Setting %s binding %s. - + Push a controller button or axis now. - + Timing out in %.0f seconds... - + Unknown - + OK - + Select Device - + Details - + Options - + Copies the current global settings to this game. - + Clears all settings set for this game. - + Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. - + Game Display - + Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. - + Automatic - + {0}/{1}/{2}/{3} - + Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. - + On-Screen Display - + %d%% - + Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration - + BIOS Selection - + Options and Patches - + Skips the intro screen, and bypasses region checks. - + Speed Control - + Normal Speed - + Sets the speed when running without fast forwarding. - + Fast Forward Speed - + Sets the speed when using the fast forward hotkey. - + Slow Motion Speed - + Sets the speed when using the slow motion hotkey. - + System Settings - + EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 - + Enable Cheats - + Enables loading cheats from pnach files. - + Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control - + Maximum Frame Latency - + Sets the number of frames which can be queued. - + Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. - + Renderer - + Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. - + Display - + Aspect Ratio - + Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size - + Determines the resolution at which screenshots will be saved. - + Screenshot Format - + Selects the format which will be used to save screenshots. - + Screenshot Quality - + Selects the quality at which screenshots will be compressed. - + Vertical Stretch - + Increases or decreases the virtual picture size vertically. - + Crop - + Crops the image, while respecting aspect ratio. - + %dpx - + Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. - + Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering - + Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping - + Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering - + Dithering - + Selects the type of dithering applies when the game requests it. - + Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. - + Shared - + Input Profile - + Show a save state selector UI when switching slots instead of showing a notification bubble. - + Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. - + Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + + + + + Enables loading widescreen patches from pnach files. + + + + + Enable No-Interlacing Patches + + + + + Enables loading no-interlacing patches from pnach files. + + + + Hardware Fixes - + Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level - + Determines filter level for CPU sprite render. - + Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start - + Object range to skip drawing. - + Skip Draw End - + Auto Flush (Hardware) - + CPU Framebuffer Conversion - + Disable Depth Conversion - + Disable Safe Features - + This option disables multiple safe features. - + This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion - + Upscaling Fixes - + Adjusts vertices relative to upscaling. - + Native Scaling - + Attempt to do rescaling at native resolution. - + Round Sprite - + Adjusts sprite coordinates. - + Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. - + Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement - + Load Textures - + Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory - + Folders - + Texture Dumping - + Dump Textures - + Dump Mipmaps - + Includes mipmaps when dumping textures. - + Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing - + FXAA - + Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. - + Filters - + Shade Boost - + Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness - + Adjusts brightness. 50 is normal. - + Shade Boost Contrast - + Adjusts contrast. 50 is normal. - + Shade Boost Saturation - + Adjusts saturation. 50 is normal. - + TV Shaders - + Advanced - + Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode - + Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers - + Forces texture barrier functionality to the specified value. - + GS Dump Compression - + Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. - + %d ms - + Settings and Operations - + Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. - + Trigger - + Toggles the macro when the button is pressed, instead of held. - + Savestate - + Compression Method - + Sets the compression algorithm for savestate. - + Compression Level - + Sets the compression level for savestate. - + Version: %s - + {:%H:%M} - + Slot {} - + 1.25x Native (~450px) - + 1.5x Native (~540px) - + 1.75x Native (~630px) - + 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) - + WebP - + Aggressive - + Deflate64 - + Zstandard - + LZMA2 - + Low (Fast) - + Medium (Recommended) - + Very High (Slow, Not Recommended) - + Change Selection - + Select - + Parent Directory - + Enter Value - + About - + Toggle Fullscreen - + Navigate - + Load Global State - + Change Page - + Return To Game - + Select State - + Select Game - + Change View - + Launch Options - + Create Save State Backups - + Show PCSX2 Version - + Show Input Recording Status - + Show Video Capture Status - + Show Frame Times - + Show Hardware Info - + Create Memory Card - + Configuration - + Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. - + Return to desktop mode, or exit the application. - + Back - + Return to the previous menu. - + Exit PCSX2 - + Completely exits the application, returning you to your desktop. - + Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. - + Input Sources - + The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap - + Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. - + Toggle every %d frames - + Clears all bindings for this USB controller. - + Data Save Locations - + Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging - + System Console - + Writes log messages to the system console (console window/standard output). - + File Logging - + Writes log messages to emulog.txt. - + Verbose Logging - + Writes dev log messages to log sinks. - + Log Timestamps - + Writes timestamps alongside log messages. - + EE Console - + Writes debug messages from the game's EE code to the console. - + IOP Console - + Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads - + Logs disc reads from games. - + Emotion Engine - + Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache - + Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. - + Vector Units - + VU0 Rounding Mode - + VU0 Clamping Mode - + VU1 Rounding Mode - + VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler - + Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. - + I/O Processor - + Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics - + Use Debug Device - + Settings - + No cheats are available for this game. - + Cheat Codes - + No patches are available for this game. - + Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack - + For Tales of Destiny. - + Preload TLB Hack - + Needed for some games with complex FMV rendering. - + Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack - + EE Timing Hack - + Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack - + Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack - + To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). - + Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. - + Disable Render Fixes - + Preload Frame Data - + Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset - + Texture Offset X - + Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack - + Delay VIF1 Stalls - + Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync - + Force Blit Internal FPS Detection - + Save State - + Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? - + Region: - + Compatibility: - + No Game Selected - + Search Directories - + Adds a new directory to the game search list. - + Scanning Subdirectories - + Not Scanning Subdirectories - + List Settings - + Sets which view the game list will open to. - + Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings - + Downloads covers from a user-specified URL template. - + Operations - + Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. - + Download Covers - + About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error - + Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) - + Sync to Host Refresh Rate - + Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control - + Controls the volume of the audio played on the host. - + Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound - + Prevents the emulator from producing any audible sound. - + Backend Settings - + Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion - + Determines how audio is expanded from stereo to surround for supported games. - + Synchronization - + Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. - + Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning - + Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. - + Account - + Logs out of RetroAchievements. - + Logs in to RetroAchievements. - + Current Game - + An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} - + {} is not a valid disc image. - + Automatic mapping completed for {}. - + Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. - + {} (Current) - + {} (Folder) - + Failed to load '{}'. - + Input profile '{}' loaded. - + Input profile '{}' saved. - + Failed to save input profile '{}'. - + Port {} Controller Type - + Select Macro {} Binds - + Port {} Device - + Port {} Subtype - + {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. - + This Session: {} - + All Time: {} - + Save Slot {0} - + Saved {} - + {} does not exist. - + {} deleted. - + Failed to delete {}. - + File: {} - + CRC: {:08X} - + Time Played: {} - + Last Played: {} - + Size: {:.2f} MB - + Left: - + Top: - + Right: - + Bottom: - + Summary - + Interface Settings - + BIOS Settings - + Emulation Settings - + Graphics Settings - + Audio Settings - + Memory Card Settings - + Controller Settings - + Hotkey Settings - + Achievements Settings - + Folder Settings - + Advanced Settings - + Patches - + Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed - + 60% Speed - + 75% Speed - + 100% Speed (Default) - + 130% Speed - + 180% Speed - + 300% Speed - + Normal (Default) - + Mild Underclock - + Moderate Underclock - + Maximum Underclock - + Disabled - + 0 Frames (Hard Sync) - + 1 Frame - + 2 Frames - + 3 Frames - + None - + Extra + Preserve Sign - + Full - + Extra - + Automatic (Default) - + Direct3D 11 - + Direct3D 12 - + OpenGL - + Vulkan - + Metal - + Software - + Null - + Off - + Bilinear (Smooth) - + Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) - + Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) - + Adaptive (Bottom Field First) - + Native (PS2) - + Nearest - + Bilinear (Forced) - + Bilinear (PS2) - + Bilinear (Forced excluding sprite) - + Off (None) - + Trilinear (PS2) - + Trilinear (Forced) - + Scaled - + Unscaled (Default) - + Minimum - + Basic (Recommended) - + Medium - + High - + Full (Slow) - + Maximum (Very Slow) - + Off (Default) - + 2x - + 4x - + 8x - + 16x - + Partial - + Full (Hash Cache) - + Force Disabled - + Force Enabled - + Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) - + Screen Resolution - + Internal Resolution (Aspect Uncorrected) - + Load/Save State - + WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection - + Use Save State Selector - + SDL DualSense Player LED - + Press To Toggle - + Deadzone - + Full Boot - + Achievement Notifications - + Leaderboard Notifications - + Enable In-Game Overlays - + Encore Mode - + Spectator Mode - + PNG - + - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames - + No Deinterlacing - + Force 32bit - + JPEG - + 0 (Disabled) - + 1 (64 Max Width) - + 2 (128 Max Width) - + 3 (192 Max Width) - + 4 (256 Max Width) - + 5 (320 Max Width) - + 6 (384 Max Width) - + 7 (448 Max Width) - + 8 (512 Max Width) - + 9 (576 Max Width) - + 10 (640 Max Width) - + Sprites Only - + Sprites/Triangles - + Blended Sprites/Triangles - + 1 (Normal) - + 2 (Aggressive) - + Inside Target - + Merge Targets - + Normal (Vertex) - + Special (Texture) - + Special (Texture - Aggressive) - + Align To Native - + Half - + Force Bilinear - + Force Nearest - + Disabled (Default) - + Enabled (Sprites Only) - + Enabled (All Primitives) - + None (Default) - + Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) - + Scanline Filter - + Diagonal Filter - + Triangular Filter - + Wave Filter - + Lottes CRT - + 4xRGSS - + NxAGSS - + Uncompressed - + LZMA (xz) - + Zstandard (zst) - + PS2 (8MB) - + PS2 (16MB) - + PS2 (32MB) - + PS2 (64MB) - + PS1 - + Negative - + Positive - + Chop/Zero (Default) - + Game Grid - + Game List - + Game List Settings - + Type - + Serial - + Title - + File Title - + CRC - + Time Played - + Last Played - + Size - + Select Disc Image - + Select Disc Drive - + Start File - + Start BIOS - + Start Disc - + Exit - + Set Input Binding - + Region - + Compatibility Rating - + Path - + Disc Path - + Select Disc Path - + Copy Settings - + Clear Settings - + Inhibit Screensaver - + Enable Discord Presence - + Pause On Start - + Pause On Focus Loss - + Pause On Menu - + Confirm Shutdown - + Save State On Shutdown - + Use Light Theme - + Start Fullscreen - + Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen - + OSD Scale - + Show Messages - + Show Speed - + Show FPS - + Show CPU Usage - + Show GPU Usage - + Show Resolution - + Show GS Statistics - + Show Status Indicators - + Show Settings - + Show Inputs - + Warn About Unsafe Settings - + Reset Settings - + Change Search Directory - + Fast Boot - + Output Volume - + Memory Card Directory - + Folder Memory Card Filter - + Create - + Cancel - + Load Profile - + Save Profile - + Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input - + Enable XInput Input Source - + Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap - + Controller Port {}{} - + Controller Port {} - + Controller Type - + Automatic Mapping - + Controller Port {}{} Macros - + Controller Port {} Macros - + Macro Button {} - + Buttons - + Frequency - + Pressure - + Controller Port {}{} Settings - + Controller Port {} Settings - + USB Port {} - + Device Type - + Device Subtype - + {} Bindings - + Clear Bindings - + {} Settings - + Cache Directory - + Covers Directory - + Snapshots Directory - + Save States Directory - + Game Settings Directory - + Input Profile Directory - + Cheats Directory - + Patches Directory - + Texture Replacements Directory - + Video Dumping Directory - + Resume Game - + Toggle Frame Limit - + Game Properties - + Achievements - + Save Screenshot - + Switch To Software Renderer - + Switch To Hardware Renderer - + Change Disc - + Close Game - + Exit Without Saving - + Back To Pause Menu - + Exit And Save State - + Leaderboards - + Delete Save - + Close Menu - + Delete State - + Default Boot - + Reset Play Time - + Add Search Directory - + Open in File Browser - + Disable Subdirectory Scanning - + Enable Subdirectory Scanning - + Remove From List - + Default View - + Sort By - + Sort Reversed - + Scan For New Games - + Rescan All Games - + Website - + Support Forums - + GitHub Repository - + License - + Close - + RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements - + Hardcore Mode - + Sound Effects - + Test Unofficial Achievements - + Username: {} - + Login token generated on {} - + Logout - + Not Logged In - + Login - + Game: {0} ({1}) - + Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. - + Card Enabled - + Card Name - + Eject Card @@ -10201,12 +10277,12 @@ To use the Vulkan renderer, you should remove this app package. - Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. + Failed to create D3D11 device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. - The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. + The Direct3D11 renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. Do not request support, please upgrade your hardware/drivers first. @@ -10331,22 +10407,22 @@ Please see our official documentation for more information. - + Show Cheats For All CRCs - + Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + %1 unlabelled patch codes will automatically activate. @@ -11025,32 +11101,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - All CRCs + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + All CRCs + + + + Reload Patches - + Show Patches For All CRCs - + Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. @@ -11362,99 +11448,99 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Select Disc Path - + Game is not a CD/DVD. - + Track list unavailable while virtual machine is running. - + # - + Mode - + Start - + Sectors - + Size - + MD5 - + Status - - - - + + + + %1 - + <not computed> - + Error - + Cannot verify image while a game is running. - + One or more tracks is missing. - + Verified as %1 [%2] (Version %3). - + Verified as %1 [%2]. @@ -11524,26 +11610,26 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - - - + + + + + + + Off (Default) - - - - - - - - + + + + + + + + Automatic (Default) @@ -11602,15 +11688,15 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - + + + None - + Bilinear (Smooth) Smooth: Refers to the texture clarity. @@ -11629,8 +11715,8 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - + + % Percentage sign that shows next to a value. You might want to add a space before if your language requires it. ---------- @@ -11675,20 +11761,20 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Screen Offsets - - + + Show Overscan - + Anti-Blur @@ -11699,7 +11785,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset @@ -11709,18 +11795,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Resolution - + Internal Resolution - + PNG @@ -11735,405 +11821,405 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Rendering - + Internal Resolution: - - + + Off - - + + Texture Filtering: - - + + Nearest - - + + Bilinear (Forced) - - - + + + Bilinear (PS2) - - + + Bilinear (Forced excluding sprite) - + Trilinear Filtering: - + Off (None) - + Trilinear (PS2) - + Trilinear (Forced) - + Anisotropic Filtering: - + Dithering: - + Scaled - - + + Unscaled (Default) - + Blending Accuracy: - + Minimum - - + + Basic (Recommended) - + Medium - + High - + Full (Slow) - + Maximum (Very Slow) - + Texture Preloading: - + Partial - - + + Full (Hash Cache) - + Software Rendering Threads: - + Skip Draw Range: - - + + Disable Depth Conversion - - + + GPU Palette Conversion - - + + Manual Hardware Renderer Fixes - - + + Spin GPU During Readbacks - - + + Spin CPU During Readbacks - + threads - - - - + + + + Mipmapping - - - + + + Auto Flush - + Hardware Fixes - + Force Disabled - + Force Enabled - + CPU Sprite Render Size: - - - - - + + + + + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) - + 2 (128 Max Width) - + 3 (192 Max Width) - + 4 (256 Max Width) - + 5 (320 Max Width) - + 6 (384 Max Width) - + 7 (448 Max Width) - + 8 (512 Max Width) - + 9 (576 Max Width) - + 10 (640 Max Width) - - + + Disable Safe Features - - + + Preload Frame Data - + Texture Inside RT - + 1 (Normal) - + 2 (Aggressive) - + Software CLUT Render: - + GPU Target CLUT: CLUT: Color Look Up Table, often referred to as a palette in non-PS2 things. GPU Target CLUT: GPU handling of when a game uses data from a render target as a CLUT. - - - + + + Disabled (Default) - + Enabled (Exact Match) - + Enabled (Check Inside Target) - + Upscaling Fixes - + Half Pixel Offset: - + Normal (Vertex) - + Special (Texture) - + Special (Texture - Aggressive) - + Round Sprite: - + Half - + Full - + Texture Offsets: - + X: - + Y: - - + + Merge Sprite - - + + Align Sprite @@ -12168,164 +12254,164 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force 32bit - + Sprites Only - + Sprites/Triangles - + Blended Sprites/Triangles - + Auto Flush: - + Enabled (Sprites Only) - + Enabled (All Primitives) - + Texture Inside RT: - + Inside Target - + Merge Targets - - + + Disable Partial Source Invalidation - - + + Read Targets When Closing - - + + Estimate Texture Region - - + + Disable Render Fixes - + Align To Native - - + + Unscaled Palette Texture Draws - + Bilinear Dirty Upscale: - + Force Bilinear - + Force Nearest - + Texture Replacement - + Search Directory - - + + Browse... - - + + Open... - - + + Reset - + PCSX2 will dump and load texture replacements from this directory. - + Options - - + + Dump Textures - - + + Dump Mipmaps - - + + Dump FMV Textures - - + + Load Textures @@ -12336,438 +12422,448 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + + Apply Widescreen Patches + + + + + Apply No-Interlacing Patches + + + + Native Scaling - + Normal - + Aggressive - - + + Force Even Sprite Position - - + + Precache Textures - + Post-Processing - + Sharpening/Anti-Aliasing - + Contrast Adaptive Sharpening: You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx - - - - + + + + None (Default) - + Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) - + Sharpness: - - + + FXAA - + Filters - + TV Shader: - + Scanline Filter - + Diagonal Filter - + Triangular Filter - + Wave Filter - + Lottes CRT Lottes = Timothy Lottes, the creator of the shader filter. Leave as-is. CRT= Cathode Ray Tube, an old type of television technology. - + 4xRGSS downsampling (4x Rotated Grid SuperSampling) - + NxAGSS downsampling (Nx Automatic Grid SuperSampling) - - + + Shade Boost - + Brightness: - + Contrast: - + Saturation - + OSD - + On-Screen Display - + OSD Scale: - - + + Show Indicators - - + + Show Resolution - - + + Show Inputs - - + + Show GPU Usage - - + + Show Settings - - + + Show FPS - - + + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. - - + + Extended Upscaling Multipliers - + Disable Shader Cache - + Disable Vertex Shader Expand - - + + Show Statistics - - + + Asynchronous Texture Loading - + Saturation: - - + + Show CPU Usage - - + + Warn About Unsafe Settings - + Recording - + Video Dumping Directory - + Capture Setup - + OSD Messages Position: - - + + Left (Default) - + OSD Performance Position: - - + + Right (Default) - - + + Show Frame Times - - + + Show PCSX2 Version - - + + Show Hardware Info - - + + Show Input Recording Status - - + + Show Video Capture Status - - + + Show VPS - + capture - + Container: - - + + Codec: - - + + Extra Arguments - + Capture Audio - + Format: - + Resolution: - + x - + Auto - + Capture Video - + Advanced Advanced here refers to the advanced graphics options. - + Advanced Options - + Hardware Download Mode: - + Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) - + GS Dump Compression: - + Uncompressed - + LZMA (xz) - - + + Zstandard (zst) - - + + Skip Presenting Duplicate Frames - - + + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12776,1256 +12872,1268 @@ Swap chain: see Microsoft's Terminology Portal. - - + + Bitrate: - - + + kbps Unit that will appear next to a number. Alter the space or whatever is needed before the text depending on your language. - + Allow Exclusive Fullscreen: - + Disallowed - + Allowed - + Debugging Options - + Override Texture Barriers: - + Use Debug Device - - + + Show Speed Percentages - + Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. - + Direct3D 12 Graphics backend/engine type. Leave as-is. - + OpenGL Graphics backend/engine type. Leave as-is. - + Vulkan Graphics backend/engine type. Leave as-is. - + Metal Graphics backend/engine type. Leave as-is. - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. - + Null Null here means that this is a graphics backend that will show nothing. - + 2x - + 4x - + 8x - - 16x + + 16x + + + + + + + + Use Global Setting [%1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unchecked + + + + + Enable Widescreen Patches - - - - - Use Global Setting [%1] + + Automatically loads and applies widescreen patches on game start. Can cause issues. - - You previously had the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled.<br><br>We no longer provide these options, instead <strong>you should go to the "Patches" section on the per-game settings, and explicitly enable the patches that you want.</strong><br><br>Do you want to remove these options from your configuration now? + + Enable No-Interlacing Patches - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unchecked + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads - + CPU Sprite Render Size - + Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - - + + Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled - - Remove Unsupported Settings - - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. - + Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position - + OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. - + Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate - + 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. - + Extra Video Arguments - + Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate - + Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments - + Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) - + 1.5x Native (~540px) - + 1.75x Native (~630px) - + 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) - + 14x Native (~5040px) - + 15x Native (~5400px) - + 16x Native (~5760px) - + 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) - + 20x Native (~7200px) - + 21x Native (~7560px) - + 22x Native (~7920px) - + 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) - - + + %1x Native - - - - - - - - - + + + + + + + + + Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing - + Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality - - + + 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% - + Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode - - - + + + Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. - - + + Left - - - - + + + + 0px - + Changes the number of pixels cropped from the left side of the display. - + Top - + Changes the number of pixels cropped from the top of the display. - - + + Right - + Changes the number of pixels cropped from the right side of the display. - + Bottom - + Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering - + Trilinear Filtering - + Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. - + Dithering - + Blending Accuracy - + Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT - + Skipdraw Range Start - - - - + + + + 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. - + Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. - + Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx - + Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness - - - + + + 50 - + Contrast - + TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. - + Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. - + Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. - - + + Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. - + 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression - + Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device - + Enables API-level validation of graphics commands. - + GS Download Mode - + Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14033,7 +14141,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format @@ -14502,7 +14610,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Save slot {0} selected ({1}). @@ -14510,78 +14618,63 @@ Swap chain: see Microsoft's Terminology Portal. ImGuiOverlays - + {} Recording Input - + {} Replaying - - Input Recording Active: {} - - - - - Frame: {}/{} ({}) - - - - - Undo Count: {} - - - - + Saved at {0:%H:%M} on {0:%a} {0:%Y/%m/%d}. - + Save state selector is unavailable without a valid game serial. - + Load - + Save - + Select Previous - + Select Next - + Close Menu - - + + Save Slot {0} - + No save present in this slot. - + no save yet @@ -14691,40 +14784,55 @@ Right click to clear binding InputRecording - + Started new input recording - + Savestate load failed for input recording - + Savestate load failed for input recording, unsupported version? - + Replaying input recording - + Input recording stopped - + Unable to stop input recording - + Congratulations, you've been playing for far too long and thus have reached the limit of input recording! Stopping recording now... + + + Input Recording Active: {} + + + + + Frame: {}/{} ({}) + + + + + Undo Count: {} + + InputRecordingControls @@ -15370,13 +15478,13 @@ Right click to clear binding - - + + Change Disc - + Load State @@ -15929,13 +16037,13 @@ Right click to clear binding - + Start Big Picture Mode - + Big Picture In Toolbar @@ -16006,11 +16114,11 @@ Are you sure you want to continue? - - - - - + + + + + Error @@ -16025,264 +16133,264 @@ Are you sure you want to continue? - + Set Cover Image... - + Exclude From List - + Reset Play Time - + Check Wiki Page - + Default Boot - + Fast Boot - + Full Boot - + Boot and Debug - + Add Search Directory... - + Start File - + Start Disc - + Select Disc Image - + Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. - + Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. - + Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed - + Failed to create file: {} - + Input Recording Files (*.p2m2) - + Input Playback Failed - + Failed to open file: {} - + Paused - + Load State Failed - + Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget - + Stop Big Picture Mode - + Exit Big Picture In Toolbar - + Game Properties - + Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: - + This save state does not exist. - + Select Cover Image - + Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? - - - - + + + + Copy Error - + Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' - + Failed to remove '%1' - - + + Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. - + Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16291,43 +16399,43 @@ Do you want to load this state, or start from a fresh boot? - + Fresh Boot - + Delete And Boot - + Failed to delete save state file '%1'. - + Load State File... - + Load From File... - - + + Select Save State File - + Save States (*.p2s) - + Delete Save States... @@ -16347,75 +16455,75 @@ Do you want to load this state, or start from a fresh boot? - + Save States (*.p2s *.p2s.backup) - + Undo Load State - + Resume (%2) - + Load Slot %1 (%2) - - + + Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. - + %1 save states deleted. - + Save To File... - + Empty - + Save Slot %1 (%2) - + Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc - + Reset @@ -16438,24 +16546,24 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed - + Could not create the memory card: {} - + Memory Card Read Failed - + Unable to access memory card: {} @@ -16466,13 +16574,13 @@ Close any other instances of PCSX2, or restart your computer. - + Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} @@ -16489,7 +16597,8 @@ Close any other instances of PCSX2, or restart your computer. - The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card in a long time. +Savestates should not be used in place of in-game saves. @@ -18120,12 +18229,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18134,7 +18243,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18143,7 +18252,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18152,7 +18261,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18423,7 +18532,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18451,25 +18560,25 @@ If you have any unsaved progress on this save state, you can download the compat SettingWidgetBinder - - - + + + Reset - - + + Default: - + Confirm Folder - + The chosen directory does not currently exist: %1 @@ -18478,17 +18587,17 @@ Do you want to create this directory? - + Error - + Folder path cannot be empty. - + Select folder for %1 @@ -18496,20 +18605,20 @@ Do you want to create this directory? SettingsDialog - + Use Global Setting [Enabled] THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Enabled]: the text must be translated. - + Use Global Setting [Disabled] THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Disabled]: the text must be translated. - - + + Use Global Setting [%1] @@ -20533,7 +20642,8 @@ Scanning recursively takes more time, but will identify files in subdirectories. - Apply a multiplier to the turntable + Apply a sensitivity multiplier to turntable rotation. +Xbox 360 turntables require a 256x multiplier, most other turntables can use the default 1x multiplier. @@ -21613,42 +21723,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. - + Failed to save save state: {}. - + PS2 BIOS ({}) - + Unknown Game - + CDVD precaching was cancelled. - + CDVD precaching failed: {} - + Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21659,270 +21769,270 @@ Please consult the FAQs and Guides for further instructions. - + Resuming state - + Boot and Debug - + Failed to load save state - + State saved to slot {}. - + Failed to save save state to slot {}. - - + + Loading state - + Failed to load state (Memory card is busy) - + There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... - + Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... - + Frame advancing - + Disc removed. - + Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_es-419.ts b/pcsx2-qt/Translations/pcsx2-qt_es-419.ts index a150487f7527f..ee6fedebba77b 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_es-419.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_es-419.ts @@ -354,9 +354,9 @@ Token de acceso generado en: %n seconds - + + %n segundos %n segundos - %n seconds @@ -409,18 +409,18 @@ Token de acceso generado el %2. You have unlocked {} of %n achievements Achievement popup - + + Desbloqueaste {} de %n logros Desbloqueaste {} de %n logros - You have unlocked {} of %n achievements and earned {} of %n points Achievement popup - + + y ganaste {} de %n punto y ganaste {} de %n puntos - and earned {} of %n points @@ -442,18 +442,18 @@ Token de acceso generado el %2. %n achievements Mastery popup - + + %n logros %n logros - %n achievements %n points Mastery popup - + + %n puntos %n puntos - %n points @@ -732,307 +732,318 @@ Posición en el Marcador: {1} de {2} Utilizar configuración global [%1] - + Rounding Mode Modo de redondeo - - - + + + Chop/Zero (Default) Eliminar/cero (predeterminado) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia el como PCSX2 maneja el redondear mientras emula la Unidad de Coma Flotante del Emotion Engine (UCF EE). Ya que las distintas UCF en la PS2 no cumplen con los estándares internacionales, algunos juegos necesitarían distintos modos para hacer sus calculos correctamente. El valor por defecto maneja la mayoria de los juegos; <b>modificar esta opción cuando un juego no tiene un problema notable puede causar inestabilidad.</b> - + Division Rounding Mode Modo de redondeo de divisiones - + Nearest (Default) Por proximidad (predeterminado) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determina como son redondeados los resultados de una división de valores de punto flotante. Algunos juegos necesitan ajustes específicos; <b>modificar este ajuste cuando un juego no tiene un problema visible puede causar inestabilidad.</b> - + Clamping Mode Modo de limitación - - - + + + Normal (Default) Normal (predeterminado) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia la forma que tiene PCSX2 de gestionar la conversión de valores de coma flotante a un rango estándar x86. El valor predeterminado sirve para la gran mayoría de juegos. <b>Si cambias este ajuste cuando un juego no muestre problemas visibles, podrías provocar inestabilidades.</b> - - + + Enable Recompiler Activar recompilador - + - - - + + + - + - - - - + + + + + Checked Marcado - + + Use Save State Selector + Usar selector de estado guardado + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostrar la IU de un selector de estado guardado al cambiar de ranuras en lugar de mostrar una burbuja de notificación. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Realiza una traducción binaria «just-in-time» del código máquina MIPS-IV de 64 bits a x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Detección de bucles en espera - + Moderate speedup for some games, with no known side effects. Mejora moderadamente la velocidad de algunos juegos sin efectos secundarios conocidos. - + Enable Cache (Slow) Activar caché (lenta) - - - - + + + + Unchecked Desmarcado - + Interpreter only, provided for diagnostic. Solo para el intérprete, utilizado con fines de diagnósticos. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Detección de valores de INTC - + Huge speedup for some games, with almost no compatibility side effects. Mejora en gran medida la velocidad de algunos juegos sin casi ningún efecto secundario en la compatibilidad. - + Enable Fast Memory Access Activar acceso rápido a memoria - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Utiliza la técnica de «backpatching» (retroparcheado) para evitar que se vacíen los registros con cada acceso a memoria. - + Pause On TLB Miss Pausar al fallar el TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pausa la máquina virtual cuando una pérdida del TLB ocurre, en vez de ignorarla y continuar. Ten en cuenta que la MV se pausará luego del fin del bloque, no en la instrucción que haya causado la excepción. Consulte la consola para ver la dirección en la que se produjo el acceso no válido. - + Enable 128MB RAM (Dev Console) Habilitar 128MB de RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Expone 96MB adicionales de memoria a la máquina virtual. - + VU0 Rounding Mode Modo de redondeo del VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Cambia la forma en que PCSX2 maneja el redondeo mientras emula Emotion Engine's Vector Unit 0 (EE VU0). El valor predeterminado maneja la gran mayoría de juegos; <b>modificar esta configuración cuando un juego no tiene un problema visible causará problemas de estabilidad y/o fallas.</b> - + VU1 Rounding Mode Modo de redondeo del VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Modifica cómo PCSX2 redondea los números cuando imita la Unidad Vectorial 1 (EE VU1) del Emotion Engine's. La opción por defecto funciona para casi todos los juegos; <b>si cambias esto sin que haya un problema evidente, el emulador se puede poner lento o dejar de funcionar.</b> - + VU0 Clamping Mode Modo de limitación del VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia el cómo PCSX2 maneja el mantenimiento de operaciones en coma flotante en un rango estándar x86 en el Vector Unit 0 del Emotion Engine ( EE VU0). El valor predeterminado funciona en la gran mayoría de juegos; <b> modificar este ajuste cuando un juego no tiene problemas visibles puede causar inestabilidad.</b> - + VU1 Clamping Mode Modo de limitación del VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia el cómo PCSX2 maneja el mantenimiento de operaciones en coma flotante en un rango estándar x86 en el Vector Unit 1 del Emotion Engine ( EE VU1). El valor predeterminado funciona en la gran mayoría de juegos; <b> modificar este ajuste cuando un juego no tiene problemas visibles puede causar inestabilidad.</b> - + Enable Instant VU1 Activar VU1 Instantánea - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Ejecuta VU1 Instantáneamente. Da una leve mejora en la velocidad de la mayoria de juegos. Segura para casi todos los juegos, pero algunos juegos podrían mostrar errores graficos. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Activar recompilador del VU0 (modo micro) - + Enables VU0 Recompiler. Activa el recompilador del VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Activar recompilador del VU1 - + Enables VU1 Recompiler. Activa el recompilador del VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Hack de indicador mVU - + Good speedup and high compatibility, may cause graphical errors. Mejora bastante la velocidad y tiene una alta compatibilidad, pero podría provocar errores gráficos. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Realiza una traducción binaria «just-in-time» del código máquina MIPS-I de 32 bits a x86. - + Enable Game Fixes Activar correcciones para juegos - + Automatically loads and applies fixes to known problematic games on game start. Carga y aplica automáticamente arreglos para juegos problemáticos conocidos al iniciarlos. - + Enable Compatibility Patches Activar parches de compatibilidad - + Automatically loads and applies compatibility patches to known problematic games. Carga y aplica automáticamente parches de compatibilidad a juegos problemáticos conocidos. - + Savestate Compression Method Método de compresión de estado guardado - + Zstandard Zestandar - + Determines the algorithm to be used when compressing savestates. Determina el algoritmo a ser usado cuando se comprimen los estados guardados. - + Savestate Compression Level Nivel de compresión de estado guardado - + Medium Media - + Determines the level to be used when compressing savestates. Determina el nivel a ser usado cuando se comprimen los estados guardados. - + Save State On Shutdown Guardar estado al apagar - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Guarda automáticamente el estado del emulador al apagar o salir. así puedes continuar directamente desde donde lo dejaste la próxima vez. - + Create Save State Backups Crear respaldos de estados guardados - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Crea una copia de respaldo de un estado guardado si este ya existe cuando es creado. La copia de respaldo tiene la extensión .backup. @@ -1255,29 +1266,29 @@ Posición en el Marcador: {1} de {2} Crear respaldos de estados guardados - + Save State On Shutdown Guardar estado al apagar - + Frame Rate Control Control de velocidad de fotogramas - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so.   hz - + PAL Frame Rate: Velocidad de fotogramas PAL: - + NTSC Frame Rate: Velocidad de fotogramas NTSC: @@ -1292,7 +1303,7 @@ Posición en el Marcador: {1} de {2} Nivel de compresión: - + Compression Method: Método de compresión: @@ -1337,17 +1348,22 @@ Posición en el Marcador: {1} de {2} Muy alta (lenta, no recomendada) - + + Use Save State Selector + Usar selector de estado guardado + + + PINE Settings Ajustes de PINE - + Slot: Puerto: - + Enable Activar @@ -1362,12 +1378,12 @@ Posición en el Marcador: {1} de {2} Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. - Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + No se guardarán los cambios que hagas aquí. Para que los cambios se apliquen en el futuro, cambia estos ajustes en la configuración global o en la configuración para cada juego. Close dialog after analysis has started - Close dialog after analysis has started + Cerrar el diálogo una vez iniciado el análisis @@ -1390,7 +1406,7 @@ Posición en el Marcador: {1} de {2} Circular Wrap: - Circular Wrap: + Envolvente: @@ -1401,7 +1417,7 @@ Posición en el Marcador: {1} de {2} Shift: - Shift: + Dimensión: @@ -1447,17 +1463,17 @@ Posición en el Marcador: {1} de {2} Low Cutoff: - Low Cutoff: + Límite bajo: High Cutoff: - High Cutoff: + Límite alto: <html><head/><body><p><span style=" font-weight:700;">Audio Expansion Settings</span><br/>These settings fine-tune the behavior of the FreeSurround-based channel expander.</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Audio Expansion Settings</span><br/>These settings fine-tune the behavior of the FreeSurround-based channel expander.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Ajustes de expansión de audio</span><br/>Estos parámetros afinan el comportamiento del expansor de canales basado en FreeSurround.</p></body></html> @@ -1487,7 +1503,7 @@ Posición en el Marcador: {1} de {2} Stretch Settings - Stretch Settings + Ajustes de ampliación @@ -1497,12 +1513,12 @@ Posición en el Marcador: {1} de {2} Maximum latency: 0 frames (0.00ms) - Maximum latency: 0 frames (0.00ms) + Latencia máxima: 0 fotogramas (0.00ms) Backend: - Backend: + Backend: @@ -1529,7 +1545,7 @@ Posición en el Marcador: {1} de {2} Fast Forward Volume: - Fast Forward Volume: + Volumen de avance rápido: @@ -1644,12 +1660,12 @@ Posición en el Marcador: {1} de {2} Audio Backend - Audio Backend + Backend de audio The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. - The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. + El backend de audio determina cómo se envían los fotogramas producidos por el emulador al anfitrión. Cubeb proporciona la menor latencia, si encuentra problemas, pruebe el backend de SDL. El backend null deshabilita toda salida de audio del host. @@ -1677,12 +1693,12 @@ Posición en el Marcador: {1} de {2} Fast Forward Volume - Fast Forward Volume + Volumen durante avance rápido Controls the volume of the audio played on the host when fast forwarding. - Controls the volume of the audio played on the host when fast forwarding. + Controla el volumen del audio que se reproduzca en el equipo cuando utilices el avance rápido. @@ -1692,7 +1708,7 @@ Posición en el Marcador: {1} de {2} Prevents the emulator from producing any audible sound. - Prevents the emulator from producing any audible sound. + Impide que el emulador reprodusca sonidos molestos de cualquier tipo. @@ -1712,12 +1728,12 @@ Posición en el Marcador: {1} de {2} These settings fine-tune the behavior of the FreeSurround-based channel expander. - These settings fine-tune the behavior of the FreeSurround-based channel expander. + Estos parámetros afinan el comportamiento del expansor de canales basado en FreeSurround. These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed. - These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed. + Estas configuraciones ajustan el comportamiento del estirador de tiempo de audio SoundTouch cuando se ejecuta a una velocidad diferente al 100%. @@ -1729,32 +1745,32 @@ Posición en el Marcador: {1} de {2} Reset Fast Forward Volume - Reset Fast Forward Volume + **Restablecer volumen de avance rápido** Unknown Device "%1" - Unknown Device "%1" + Dispositivo desconocido "%1" Maximum Latency: %1 ms (%2 ms buffer + %3 ms expand + %4 ms output) - Maximum Latency: %1 ms (%2 ms buffer + %3 ms expand + %4 ms output) + Latencia máxima: %1 ms (%2 ms de búfer + %3 ms de expansión + %4 ms de salida) Maximum Latency: %1 ms (%2 ms buffer + %3 ms output) - Maximum Latency: %1 ms (%2 ms buffer + %3 ms output) + Latencia máxima: %1 ms (%2 ms de búfer + %3 ms de salida) Maximum Latency: %1 ms (%2 ms expand, minimum output latency unknown) - Maximum Latency: %1 ms (%2 ms expand, minimum output latency unknown) + Latencia máxima: %1 ms (%2 ms de expansión, latencia mínima de salida desconocida) Maximum Latency: %1 ms (minimum output latency unknown) - Maximum Latency: %1 ms (minimum output latency unknown) + Latencia máxima: %1 ms (latencia mínima de salida desconocida) @@ -1816,12 +1832,12 @@ Posición en el Marcador: {1} de {2} Audio Stretch Settings - Audio Stretch Settings + Configuraciones de estiramiento de audio Sequence Length: - Sequence Length: + Longitud de secuencia: @@ -1831,7 +1847,7 @@ Posición en el Marcador: {1} de {2} Seekwindow Size: - Seekwindow Size: + Tamaño de intervalo de búsqueda: @@ -1841,7 +1857,7 @@ Posición en el Marcador: {1} de {2} Overlap: - Overlap: + Overlap: @@ -1851,25 +1867,25 @@ Posición en el Marcador: {1} de {2} <html><head/><body><p><span style=" font-weight:700;">Audio Stretch Settings</span><br/>These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed.</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Audio Stretch Settings</span><br/>These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Configuración de Estiramiento de Audio</span><br/>Esta configuración afina el funcionamiento del estirador de duración de audio de SoundTouch cuando se esta emulando a una velocidad fuera del 100%.</p></body></html> Use Quickseek - Use Quickseek + Usar búsqueda rápida Use Anti-Aliasing Filter - Use Anti-Aliasing Filter + Usar filtro de Anti-Aliasing AutoUpdaterDialog - - + + Automatic Updater Actualizador automático @@ -1909,70 +1925,70 @@ Posición en el Marcador: {1} de {2} Recordar más tarde - - + + Updater Error Error del actualizador - + <h2>Changes:</h2> <h2>Cambios:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Advertencia sobre los guardados rápidos</h2><p>La instalación de esta actualización hará que tus guardados rápidos <b>dejen de ser compatibles</b>. Asegúrate de haber guardado tus avances en una Memory Card antes de instalar esta actualización, o perderás dichos avances.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Advertencia sobre la configuración</h2><p>La instalación de esta actualización reiniciará la configuración del programa. Recuerda que tendrás que volver a cambiar los ajustes del programa una vez se haya aplicado esta actualización.</p> - + Savestate Warning Advertencia sobre los guardados rápidos - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ADVERTENCIA</h1><p style='font-size:12pt;'>La instalación de esta actualización hará que tus guardados rápidos <b>dejen de ser compatibles</b>, <i>asegúrate de haber guardado todos tus avances en tus Memory Cards antes de continuar</i>.</p><p>¿Seguro que quieres continuar?</p> - + Downloading %1... Descargando %1... - + No updates are currently available. Please try again later. No hay actualizaciones disponibles en este momento. Inténtalo de nuevo más tarde. - + Current Version: %1 (%2) Versión actual: %1 (%2) - + New Version: %1 (%2) Versión más reciente: %1 (%2) - + Download Size: %1 MB Tamaño de descarga %1 MB - + Loading... Cargando... - + Failed to remove updater exe after update. - Failed to remove updater exe after update. + No se pudo eliminar - remover el archivo updater exe después de la actualización. @@ -2134,19 +2150,19 @@ Posición en el Marcador: {1} de {2} Activar - - + + Invalid Address Dirección inválida - - + + Invalid Condition Condición inválida - + Invalid Size Tamaño inválido @@ -2224,7 +2240,7 @@ Posición en el Marcador: {1} de {2} HITS Warning: limited space available. Abbreviate if needed. - HITS + EJECUCIONES @@ -2236,17 +2252,17 @@ Posición en el Marcador: {1} de {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. El juego se encuentra en una unidad extraible, pueden producirse problemas de rendimiento. - + Saving CDVD block dump to '{}'. - Saving CDVD block dump to '{}'. + Guardando el volcado de bloque de CDVD en '{}'. - + Precaching CDVD Precacheo de CDVD @@ -2271,24 +2287,24 @@ Posición en el Marcador: {1} de {2} Desconocido - + Precaching is not supported for discs. El precacheo no está soportado para discos. Precaching {}... - Precaching {}... + Precachando {}... Precaching is not supported for this file format. - Precaching is not supported for this file format. + El prealmacenamiento en caché no es compatible con este formato de archivo. Required memory ({}GB) is the above the maximum allowed ({}GB). - Required memory ({}GB) is the above the maximum allowed ({}GB). + La memoria requerida ({} GB) supera a la máxima permitida ({} GB). @@ -2531,7 +2547,7 @@ Posición en el Marcador: {1} de {2} PushButton - PushButton + Pulsador @@ -2576,7 +2592,7 @@ Posición en el Marcador: {1} de {2} Whammy Bar - Whammy Bar + Barra de trémolo @@ -2649,7 +2665,7 @@ Posición en el Marcador: {1} de {2} Face Buttons - Face Buttons + Botones de acción @@ -2679,12 +2695,12 @@ Posición en el Marcador: {1} de {2} Dial Left - Dial Left + Girar dial a la izquierda Dial Right - Dial Right + Girar dial a la derecha @@ -2717,7 +2733,7 @@ Posición en el Marcador: {1} de {2} Large Motor - Large Motor + Motor Grande @@ -2737,7 +2753,7 @@ Posición en el Marcador: {1} de {2} Face Buttons - Face Buttons + Botones Frontales @@ -2767,12 +2783,12 @@ Posición en el Marcador: {1} de {2} Twist Left - Twist Left + Girar a la izquierda Twist Right - Twist Right + Girar a la derecha @@ -2913,7 +2929,7 @@ Posición en el Marcador: {1} de {2} Use Per-Profile Hotkeys - Use Per-Profile Hotkeys + Usar Teclas de Acceso Rapido por Perfil @@ -3056,7 +3072,7 @@ Posición en el Marcador: {1} de {2} Select the trigger to activate this macro. This can be a single button, or combination of buttons (chord). Shift-click for multiple triggers. - Select the trigger to activate this macro. This can be a single button, or combination of buttons (chord). Shift-click for multiple triggers. + Selecciona el gatillante que active este macro. Este puede ser un simple botón, o una combinación de botones (set de acciones). Pulsa el botón mientras mantienes la tecla Shift para asignar varios gatillantes. @@ -3076,12 +3092,12 @@ Posición en el Marcador: {1} de {2} Macro will toggle every N frames. - Macro will toggle every N frames. + El macro alternará cada N fotogramas. Set... - Set... + Establece... @@ -3092,7 +3108,7 @@ Posición en el Marcador: {1} de {2} %1% - %1% + %1% @@ -3107,12 +3123,12 @@ Posición en el Marcador: {1} de {2} Macro will not repeat. - Macro will not repeat. + El macro no se repetirá. Macro will toggle buttons every %1 frames. - Macro will toggle buttons every %1 frames. + El macro alternará botones cada %1 fotogramas. @@ -3144,7 +3160,7 @@ Not Configured/Buttons configured <html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Configuración de Mapeo de Control</span><br/>Esta configuración ajusta el funcionamiento al mapear mandos físicos respecto a los mandos emulados.</p></body></html> @@ -3154,7 +3170,7 @@ Not Configured/Buttons configured <html><head/><body><p>Some third party controllers incorrectly flag their analog sticks as inverted on the positive component, but not negative.</p><p>As a result, the analog stick will be &quot;stuck on&quot; even while resting at neutral position. </p><p>Enabling this setting will tell PCSX2 to ignore inversion flags when creating mappings, allowing such controllers to function normally.</p></body></html> - <html><head/><body><p>Some third party controllers incorrectly flag their analog sticks as inverted on the positive component, but not negative.</p><p>As a result, the analog stick will be &quot;stuck on&quot; even while resting at neutral position. </p><p>Enabling this setting will tell PCSX2 to ignore inversion flags when creating mappings, allowing such controllers to function normally.</p></body></html> + <html><head/><body><p>Algunos mandos de terceros incorrectamente indican a sus sticks analógicos como invertidos en el componente positivo, pero no en el negativo.</p><p>Como resultado, el stick analógico estará &quot;atascado&quot; incluso al estar en posición neutral. </p><p>Activar esta opción le dirá a PCSX2 que ignore los indicadores de inversión al crear mappings, permitiendo que dichos controles funcionen normalmente.</p></body></html> @@ -3186,7 +3202,7 @@ Not Configured/Buttons configured <html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Configuración de Mapeo de Mouse</span><br/>Esta configuración ajusta el funcionamiento al mapear un mouse al mando emulado.</p></body></html> @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Renombrar perfíl + + + Delete Profile Borrar perfil - + Mapping Settings Ajustes de mapeo - - + + Restore Defaults Restaurar predeterminados - - - + + + Create Input Profile Crear perfil de entrada - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Para aplicar un perfil de entrada personalizado a un juego, ve a sus Propiedades Introduce el nombre del nuevo perfil de entrada: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. Un perfil con el nombre '%1' ya existe. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. + ¿Quieres copiar todas las asociaciones del perfil actualmente seleccionado al nuevo perfil? Seleccionar No creará un perfil completamente vacío. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Fallo al guardar el nuevo perfil en '%1'. - + Load Input Profile Cargar perfil de entrada - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Todas las asignaciones globales serán removidas y se cargaran las asignaciones No puedes deshacer esta acción. - + + Rename Input Profile + Renombrar perfíl de entrada + + + + Enter the new name for the input profile: + Ingresa el nuevo nombre para el perfíl de entrada: + + + + Failed to rename '%1'. + Fallo al renombrar '%1'. + + + Delete Input Profile Borrar perfil de entrada - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. No puedes deshacer esta acción. - + Failed to delete '%1'. Fallo al borrar '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Todas las asignaciones y configuraciones compartidas se perderán, pero se conse No puede deshacer esta acción. - + Global Settings Ajustes globales - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ No puede deshacer esta acción. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ No puede deshacer esta acción. %2 - - + + USB Port %1 %2 Puerto USB %1 %2 - + Hotkeys Teclas de acceso rápido - + Shared "Shared" refers here to the shared input profile. Compartido - + The input profile named '%1' cannot be found. No se ha encontrado el perfil de entrada llamado '%1'. @@ -3406,12 +3445,12 @@ No puede deshacer esta acción. By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. - By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. + Por defecto, las caratulas descargadas serán guardadas con el número serial del juego para asegurar que las caratulas no rompan con los cambios de GameDB y para que los títulos con múltiples regiones no tengan conflictos. Si no deseas esto, puedes chequear la opción "Usar Títulos de Nombres de Archivos" encontrada abajo. Use Title File Names - Use Title File Names + Usar Títulos de Nombres de Archivos @@ -4005,63 +4044,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Agregar - + Remove Remover - + Scan For Functions Escanear por funciones - + Scan Mode: Modo de escaneo: - + Scan ELF Escanear ELF - + Scan Memory Escanear memoria - + Skip Omitir - + Custom Address Range: Custom Address Range: - + Start: Inicio: - + End: Fin: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4084,7 +4123,7 @@ Do you want to overwrite? Import symbol tables stored in the game's boot ELF. - Import symbol tables stored in the game's boot ELF. + . @@ -4132,17 +4171,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Ruta + + + + Base Address + Dirección Base + + + + Condition + Condición + + + Add Symbol File Add Symbol File @@ -4794,53 +4848,53 @@ Do you want to overwrite? Depurador de PCSX2 - + Run Ejecutar - + Step Into Entrar - + F11 F11 - + Step Over Pasar sobre - + F10 F10 - + Step Out Salir - + Shift+F11 Mayús+F11 - + Always On Top Siempre encima - + Show this window on top Mostrar esta ventana encima - + Analyze Analyze @@ -4858,48 +4912,48 @@ Do you want to overwrite? Desensamblador - + Copy Address Copiar dirección - + Copy Instruction Hex Copiar Hex de instrucción - + NOP Instruction(s) Instrucción(ones) NOP - + Run to Cursor Ejecutar a cursor - + Follow Branch Seguir rama - + Go to in Memory View Ir al visualizador de memoria - + Add Function Añadir función - - + + Rename Function Renombrar función - + Remove Function Quitar función @@ -4920,23 +4974,23 @@ Do you want to overwrite? Instrucción de ensablador - + Function name Nombre de función - - + + Rename Function Error Error al renombrar la función - + Function name cannot be nothing. Nombre de función no puede estar vacío. - + No function / symbol is currently selected. No hay función / simbolo seleccionado actualmente. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Ir a Desensamblar - + Cannot Go To No se puede ir a - + Restore Function Error Error al restaurar función - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copiar nombre de función - + Restore Instruction(s) Restaurar instrucción(es) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restaurar función - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NO ES UNA DIRECCIÓN VALIDA @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Ranura: %1 | Volumen: %2% | %3 |EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Ranura: %1 | Volumen: %2% | %3 | EE: %4% | GS: %5% - + No Image Sin imagen - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Velocidad: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Juego no cargado o no hay RetroLogros disponibles. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Error al crear HTTPDownloader. - + Downloading %1... Descargando %1... - + Download failed with HTTP status code %1. Descarga fallida con código de estado HTTP %1. - + Download failed: Data is empty. Descarga fallida: Datos vacios. - + Failed to write '%1'. Error al crear '%1'. @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Tamaño de acceso de memoria %d inválido. - + Invalid memory access (unaligned). Tamaño de acceso de memoria inválido (desalineado). - - + + Token too long. Ficha muy larga. - + Invalid number "%s". Número inválido "%s". - + Invalid symbol "%s". Símbolo inválido "%s". - + Invalid operator at "%s". Operador inválido en "%s". - + Closing parenthesis without opening one. Cerrando paréntesis sin abrir uno. - + Closing bracket without opening one. Cerrando corchete sin abrir uno. - + Parenthesis not closed. Paréntesis no cerrado. - + Not enough arguments. No hay suficientes argumentos. - + Invalid memsize operator. Operador de memsize inválido. - + Division by zero. División por cero. - + Modulo by zero. Módulo por cero. - + Invalid tertiary operator. Operador terciario inválido. - - - Invalid expression. - Expresión inválida. - FileOperations @@ -5699,342 +5748,342 @@ La URL era: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. No se pudo encontrar ningún dispositivo de CD/DVD-ROM. Por favor asegúrese de tener un lector conectado y suficientes permisos para acceder a el. - + Use Global Setting Utilizar configuración global - + Automatic binding failed, no devices are available. Error en la asignación automática: no hay dispositivos disponibles. - + Game title copied to clipboard. Título del juego copiado al portapapeles. - + Game serial copied to clipboard. Número de serie del juego copiado al portapapeles. - + Game CRC copied to clipboard. CRC del juego copiado al portapapeles. - + Game type copied to clipboard. Tipo del juego copiado al portapapeles. - + Game region copied to clipboard. Región del juego copiada al portapapeles. - + Game compatibility copied to clipboard. Compatibilidad del juego copiada al portapapeles. - + Game path copied to clipboard. Ruta del juego copiada al portapapeles. - + Controller settings reset to default. Configuración del control reiniciada a sus valores predeterminados. - + No input profiles available. No hay perfiles de entrada disponibles. - + Create New... Crear nuevo... - + Enter the name of the input profile you wish to create. Introduce el nombre del perfil de entrada que desees crear. - + Are you sure you want to restore the default settings? Any preferences will be lost. ¿Seguro que deseas restaurar los ajustes predeterminados? Se perderán todas tus preferencias. - + Settings reset to defaults. Ajustes restablecidos a sus valores predeterminados. - + No save present in this slot. No save present in this slot. - + No save states found. No se encontraron guardados rápidos. - + Failed to delete save state. Error al eliminar el guardado rápido. - + Failed to copy text to clipboard. Fallo al copiar el texto al portapapeles. - + This game has no achievements. Este juego no tiene logros. - + This game has no leaderboards. Este juego no tiene tablas de clasificación. - + Reset System Restablecer sistema - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Lanza un juego de las imágenes escaneadas desde tus directorios de juego. - + Launch a game by selecting a file/disc image. Lanza un juego seleccionando una imagen de archivo/disco. - + Start the console without any disc inserted. Inicia la consola sin ningún disco insertado. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Oprima un botón o eje ahora. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK Aceptar - + Select Device Select Device - + Details Detalles - + Options Opciones - + Copies the current global settings to this game. Copia la configuración global actual a este juego. - + Clears all settings set for this game. Elimina los ajustes establecidos para este juego. - + Behaviour Comportamiento - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Evita que el salvapantallas se active y que el equipo entre en suspensión cuando el emulador está corriendo. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pausa el emulador cuando minimizas la ventana o cambias a otra aplicacion y se despausa cuando regresas a éste. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pausa el emulador al abrir el menú rápido y lo reanuda al cerrarlo. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determina si se mostrará un mensaje para confirmar el apagado del emulador/juego al pulsar el atajo de teclado. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Crea un guardado rápido automáticamente al apagar o salir del emulador. Así podrás reanudar desde donde lo dejaste la próxima vez. - + Uses a light coloured theme instead of the default dark theme. Utiliza un tema de color claro en lugar del tema oscuro predeterminado. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Oculta el puntero/cursor del ratón cuando el emulador está en pantalla completa. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Muestra el uso de la CPU basado en hilos en la esquina superior derecha de la pantalla. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Muestra el estado actual del control del sistema en la esquina inferior izquierda de la pantalla. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Restablece la configuración por defecto (excluyendo los ajustes del control). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration Configuracion del BIOS - + BIOS Selection Selección de BIOS - + Options and Patches Opciones y parches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Disminuye o aumenta el reloj del CPU emulado Emotion Engine. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Habilitar MTVU (VU1 Multihilo) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Activar cheats - + Enables loading cheats from pnach files. Permite cargar cheats de archivos ".pnach". - + Enable Host Filesystem Activar sistema de archivos del host - + Enables access to files from the host: namespace in the virtual machine. Activa el acceso a los archivos desde el host: namespace en la máquina virtual. - + Enable Fast CDVD Activar CDVD rápido - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Latencia máxima de fotogramas - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderizador - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Relación de aspecto - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Desentrelazado - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Tamaño de capturas de pantalla - + Determines the resolution at which screenshots will be saved. Determina la resolución en la que se guardarán las capturas de pantalla. - + Screenshot Format Formato de captura de pantalla - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Calidad de captura de pantalla - + Selects the quality at which screenshots will be compressed. Selecciona la calidad a la que serán comprimidas las capturas de pantalla. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Recortar - + Crops the image, while respecting aspect ratio. Recorta la imagen, respetando la relación de aspecto. - + %dpx %dpx - - Enable Widescreen Patches - Activar parches Widescreen - - - - Enables loading widescreen patches from pnach files. - Permite cargar parches widescreen de archivos ".pnach". - - - - Enable No-Interlacing Patches - Activar parches "No-Interlacing" - - - - Enables loading no-interlacing patches from pnach files. - Permite activar parches "No-Interlacing" de archivos ".pnach". - - - + Bilinear Upscaling Escalado bilinear - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Desenfoque - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Renderizado - + Internal Resolution Resolución interna - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Filtrado bilineal - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Filtrado trilineal - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Filtrado anisotrópico - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostrar la IU de un selector de estado guardado al cambiar de ranuras en lugar de mostrar una burbuja de notificación. + + + Shows the current PCSX2 version on the top-right corner of the display. Muestra la versión actual de PCSX2 en la esquina superior derecha de la pantalla. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Habilitar parches de pantalla ancha + + + + Enables loading widescreen patches from pnach files. + Habilitar cargar parches de pantalla ancha desde archivos pnach. + + + + Enable No-Interlacing Patches + Habilitar parches de desentrelazado + + + + Enables loading no-interlacing patches from pnach files. + Habilitar cargar parches de desentrelazado desde archivos pnach. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Deshabilitar conversión de profundidad - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Escalado nativo - + Attempt to do rescaling at native resolution. Intento de reescalar a resolución nativa. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Escalado bilineal - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Cargar texturas - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carga texturas de reemplazo en un subproceso de trabajo, lo que reducirá los tirones/trabas al activar los reemplazos. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Volcar texturas - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Procesamiento - + FXAA FXAA - + Enables FXAA post-processing shader. Activa el sombreador de posprocesado FXAA. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filtros - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Ajusta el brillo. 50 es normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Ajusta el contraste. El valor 50 es lo normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Ajusta la saturación. 50 es normal. - + TV Shaders TV Shaders - + Advanced Avanzado - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Desactiva la caché de sombreadores - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Ajustes y operaciones - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Activa/Desactiva las luces de indicador de jugador en los controles DualSense. - + Trigger Disparador - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Estado guardado - + Compression Method Método de compresión - + Sets the compression algorithm for savestate. Establece el algoritmo de compresión para el estado guardado. - + Compression Level Nivel de compresión - + Sets the compression level for savestate. Establece el nivel de compresión para el estado guardado. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Ranura {} - + 1.25x Native (~450px) Nativa ×1.25 (~450px) - + 1.5x Native (~540px) Nativa ×1.5 (~540px) - + 1.75x Native (~630px) Nativa ×1.75 (~630px) - + 2x Native (~720px/HD) Nativa ×2 (~720px/HD) - + 2.5x Native (~900px/HD+) Nativa ×2.5 (~900px/HD+) - + 3x Native (~1080px/FHD) Nativa ×3 (~1080px/FHD) - + 3.5x Native (~1260px) Nativa ×3,5 (~1260px) - + 4x Native (~1440px/QHD) Nativa ×4 (~1440px/QHD) - + 5x Native (~1800px/QHD+) Nativa ×5 (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) Nativa ×6 (~2160px/4K UHD) - + 7x Native (~2520px) Nativa ×7 (~2520px) - + 8x Native (~2880px/5K UHD) Nativa ×8 (~2880px/5K UHD) - + 9x Native (~3240px) Nativa ×9 (~3240px) - + 10x Native (~3600px/6K UHD) Nativa ×10 (~3600px/6K UHD) - + 11x Native (~3960px) Nativa ×11 (~3960px) - + 12x Native (~4320px/8K UHD) Nativa ×12 (~4320px/8K UHD) - + WebP WebP - + Aggressive Agresiva - + Deflate64 Deflación64 - + Zstandard Zestandar - + LZMA2 LZMA2 - + Low (Fast) Baja (rápida) - + Medium (Recommended) Media (Recomendada) - + Very High (Slow, Not Recommended) Muy alta (lenta, no recomendada) - + Change Selection Cambiar la selección - + Select Seleccionar - + Parent Directory Directorio principal - + Enter Value Ingresar valor - + About Acerca de - + Toggle Fullscreen Alternar pantalla completa - + Navigate Navegar - + Load Global State Cargar estado global - + Change Page Cambiar página - + Return To Game Volver al juego - + Select State Seleccionar estado - + Select Game Seleccionar juego - + Change View Cambiar vista - + Launch Options Opciones de lanzamiento - + Create Save State Backups Crear copias de seguridad de guardados rápidos - + Show PCSX2 Version Mostrar versión de PCSX2 - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Crear Memory Card - + Configuration Configuración - + Start Game Iniciar juego - + Launch a game from a file, disc, or starts the console without any disc inserted. Lanza un juego desde un archivo, disco o inicia la consola sin insertar ningún disco. - + Changes settings for the application. Cambia los ajustes para la aplicación. - + Return to desktop mode, or exit the application. Regresar al modo de escritorio o salir de la aplicación. - + Back Volver - + Return to the previous menu. Volver al menú previo. - + Exit PCSX2 Salir de PCSX2 - + Completely exits the application, returning you to your desktop. Salir completamente de la aplicación, regresando al escritorio. - + Desktop Mode Modo de escritorio - + Exits Big Picture mode, returning to the desktop interface. Salir del modo Big Picture, regresando a la interfaz de escritorio. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. La fuente de entrada SDL soporta la mayoría de controles. - + Provides vibration and LED control support over Bluetooth. Proporciona soporte para la vibración y control del LED a través del Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. La fuente XInput proporciona compatibilidad para los controles de Xbox 360/Xbox One/Xbox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Habilita tres puertos de control adicionales. No compatible en todos los juegos. - + Attempts to map the selected port to a chosen controller. Intenta mapear el puerto seleccionado a un control elegido. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Alternar cada %d fotogramas - + Clears all bindings for this USB controller. Limpia todas las asignaciones para este control USB. - + Data Save Locations Ubicaciones de datos guardados - + Show Advanced Settings Mostrar Ajustes Avanzados - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Cambiar estas opciones pueden causar que los juegos dejen de funcionar. Modificar bajo su propio riesgo, el equipo de PCSX2 no dará soporte para configuraciones con estos ajustes cambiados. - + Logging Logging - + System Console Consola del sistema - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Escribe mensajes de registro en emulog.txt. - + Verbose Logging Registro detallado - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Gráficos - + Use Debug Device Use Debug Device - + Settings Ajustes - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Parches de juego - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. La activación de parches de juego puede causar comportamientos impredecibles, cuelgues, soft-locks o romper partidas guardadas. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Utiliza los parches bajo tu propio riesgo, el equipo de PCSX2 no dará soporte a usuarios que activen los parches de juego. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Necesario para algunos juegos con renderizado de FMV complejo. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Cargar guardado rápido - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Guardado rápido - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Región: - + Compatibility: Compatibilidad: - + No Game Selected No Game Selected - + Search Directories Directorios de búsqueda - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Ajustes de carátulas - + Downloads covers from a user-specified URL template. Descarga las carátulas de una plantilla de URL especificada por el usuario. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selecciona dónde es utilizado el filtrado anisotrópico al renderizar texturas. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Descargar carátulas - + About PCSX2 Acerca de PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 es un emulador de PlayStation 2 (PS2) gratuito y de código abierto. Su propósito es emular el hardware de PS2 usando una combinación de intérpretes y recompiladores de la CPU MIPS y una máquina virtual que gestiona los estados del hardware y la memoria del sistema de PS2. Esto te permite jugar juegos de PS2 en tu PC con muchas características y beneficios adicionales. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Cuando está activado y con sesión iniciada, PCSX2 buscará logros al iniciar. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pausa el emulador cuando un control con enlaces es desconectado. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Habilitar precacheo de CDVD - + Loads the disc image into RAM before starting the virtual machine. Carga la imagen del disco en la RAM antes de encender la máquina virtual. - + Vertical Sync (VSync) Sincronización vertical (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Control de audio - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Volumen del avance rápido - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Silenciar todo sonido - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansión - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Sincronización - + Buffer Size Tamaño de búfer - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Latencia de salida - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Latencia de salida mínima - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Cuenta - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Juego actual - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Última partida: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Resumen - + Interface Settings Interface Settings - + BIOS Settings Ajustes de BIOS - + Emulation Settings Ajustes de emulación - + Graphics Settings Ajustes de gráficos - + Audio Settings Ajustes de audio - + Memory Card Settings Ajustes de Memory Card - + Controller Settings Ajustes del control - + Hotkey Settings Ajustes de atajos - + Achievements Settings Ajustes de logros - + Folder Settings Ajustes de carpeta - + Advanced Settings Ajustes avanzados - + Patches Parches - + Cheats Trucos - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Desactivado - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Parcial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Cargar/Guardar estado - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pausar al desconectar el control - + + Use Save State Selector + Usar selector de estado guardado + + + SDL DualSense Player LED Luces de indicador de jugador del DualSense SDL - + Press To Toggle Presionar para alternar - + Deadzone Deadzone - + Full Boot Arranque completo - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Modo espectador - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Forzar 32 bits - + JPEG JPEG - + 0 (Disabled) 0 (Desactivado) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Sin comprimir - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16 MB) - + PS2 (32MB) PS2 (32 MB) - + PS2 (64MB) PS2 (64 MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Lista de juegos - + Game List Settings Game List Settings - + Type Tipo - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Tiempo jugado - + Last Played Última partida - + Size Size - + Select Disc Image Seleccionar imagen de disco - + Select Disc Drive Select Disc Drive - + Start File Iniciar archivo - + Start BIOS Iniciar BIOS - + Start Disc Iniciar disco - + Exit Salir - + Set Input Binding Set Input Binding - + Region Región - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copiar ajustes - + Clear Settings Limpiar ajustes - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pausar al iniciar - + Pause On Focus Loss Pausar al perder el foco - + Pause On Menu Pausar al entrar al menú - + Confirm Shutdown Confirmar apagado - + Save State On Shutdown Crear guardado rápido al apagar - + Use Light Theme Usar tema claro - + Start Fullscreen Iniciar en pantalla completa - + Double-Click Toggles Fullscreen Doble clic alterna pantalla completa - + Hide Cursor In Fullscreen Ocultar cursor en pantalla completa - + OSD Scale OSD Scale - + Show Messages Mostrar mensajes - + Show Speed Mostrar velocidad - + Show FPS Mostrar FPS - + Show CPU Usage Mostrar uso de la CPU - + Show GPU Usage Mostrar uso de la GPU - + Show Resolution Mostrar resolución - + Show GS Statistics Show GS Statistics - + Show Status Indicators Mostrar indicadores de estado - + Show Settings Mostrar ajustes - + Show Inputs Mostrar entradas - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Restablecer ajustes - + Change Search Directory Cambiar directorio de búsqueda - + Fast Boot Arranque rápido - + Output Volume Volumen de salida - + Memory Card Directory Directorio de Memory Card - + Folder Memory Card Filter Folder Memory Card Filter - + Create Crear - + Cancel Cancelar - + Load Profile Cargar perfil - + Save Profile Guardar perfil - + Enable SDL Input Source Activar fuente de entrada SDL - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Puerto de control {}{} - + Controller Port {} Puerto de control {} - + Controller Type Tipo de control - + Automatic Mapping Asignación automática - + Controller Port {}{} Macros Macros de Puerto de control {}{} - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Botones - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Ajustes del puerto de control {}{} - + Controller Port {} Settings Ajustes del puerto de control {} - + USB Port {} Conector USB {} - + Device Type Tipo de dispositivo - + Device Subtype Subtipo de dispositivo - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Directorio de la caché - + Covers Directory Directorio de carátulas - + Snapshots Directory Directorio de capturas de imagen - + Save States Directory Directorio de guardados rápidos - + Game Settings Directory Directorio de ajustes de juegos - + Input Profile Directory Directorio de perfiles de entrada - + Cheats Directory Directorio de trucos - + Patches Directory Directorio de parches - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Reanudar juego - + Toggle Frame Limit Alternar limitador de fotogramas - + Game Properties Propiedades del juego - + Achievements Logros - + Save Screenshot Guardar captura de pantalla - + Switch To Software Renderer Cambiar a renderizador por software - + Switch To Hardware Renderer Cambiar a renderizador por hardware - + Change Disc Cambiar disco - + Close Game Cerrar juego - + Exit Without Saving Salir sin guardar - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Salir y crear guardado rápido - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Arranque predeterminado - + Reset Play Time Restablecer tiempo jugado - + Add Search Directory Añadir directorio de búsqueda - + Open in File Browser Abrir en el explorador de archivos - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Eliminar de la lista - + Default View Vista por defecto - + Sort By Ordenar por - + Sort Reversed Sort Reversed - + Scan For New Games Escanear juegos nuevos - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Foros de soporte - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Activar logros - + Hardcore Mode Hardcore Mode - + Sound Effects Efectos de sonido - + Test Unofficial Achievements Probar logros no oficiales - + Username: {} Nombre de usuario: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Juego no cargado o no hay RetroLogros disponibles. - + Card Enabled Card Enabled - + Card Name Nombre de Memory Card - + Eject Card Expulsar Memory Card @@ -11073,32 +11132,42 @@ Escanear recursivamente toma más tiempo pero identificará archivos en subdirec Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs Todos los CRCs - + Reload Patches Recargar parches - + Show Patches For All CRCs Mostrar parches para todos los CRCs - + Checked Marcado - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. No hay parches disponibles para este juego. @@ -11574,11 +11643,11 @@ Escanear recursivamente toma más tiempo pero identificará archivos en subdirec - - - - - + + + + + Off (Default) Off (Default) @@ -11588,10 +11657,10 @@ Escanear recursivamente toma más tiempo pero identificará archivos en subdirec - - - - + + + + Automatic (Default) Automatic (Default) @@ -11658,7 +11727,7 @@ Escanear recursivamente toma más tiempo pero identificará archivos en subdirec - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11724,29 +11793,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11757,7 +11816,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11767,18 +11826,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Tamaño de captura de pantalla: - + Screen Resolution Screen Resolution - + Internal Resolution Resolución Interna - + PNG PNG @@ -11830,7 +11889,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11877,7 +11936,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11893,7 +11952,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11929,7 +11988,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11945,31 +12004,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11981,15 +12040,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12017,8 +12076,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Desactivado) @@ -12075,18 +12134,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12185,13 +12244,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12205,16 +12264,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Aplicar parches de pantalla ancha - - - - Apply No-Interlacing Patches - Aplicar parches de no entrelazado - Window Resolution (Aspect Corrected) @@ -12287,25 +12336,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12316,7 +12365,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12375,25 +12424,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Cargar texturas @@ -12403,6 +12452,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Nativa (10:7) + + + Apply Widescreen Patches + Aplicar parches de pantalla ancha + + + + Apply No-Interlacing Patches + Aplicar parches de desentrelazado + Native Scaling @@ -12420,13 +12479,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12449,8 +12508,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12471,7 +12530,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12523,7 +12582,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12538,7 +12597,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contraste: - + Saturation Saturación @@ -12559,50 +12618,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Mostrar resolución - + Show Inputs Mostrar entradas - + Show GPU Usage Mostrar uso de la GPU - + Show Settings Mostrar ajustes - + Show FPS Mostrar FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12618,13 +12677,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Mostrar estadísticas - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12635,13 +12694,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Mostrar uso de la CPU - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12667,7 +12726,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Izquierda (predeterminada) @@ -12678,43 +12737,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Mostrar versión de PCSX2 - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Mostrar VPS @@ -12823,19 +12882,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12888,7 +12947,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12898,1214 +12957,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Habilitar parches de pantalla ancha + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Automatically loads and applies widescreen patches on game start. Can cause issues. + Carga automáticamente y aplica parches de pantalla ancha al iniciar el juego. Puede causar problemas. + + + + Enable No-Interlacing Patches + Habilitar parches de desentrelazado - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Automatically loads and applies no-interlacing patches on game start. Can cause issues. + Carga automáticamente y aplica parches de desentrelazado al iniciar el juego. Puede causar problemas. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remover ajustes no soportados - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Soluciona problemas al escalar la imagen (líneas verticales) en juegos de Namco, tales como Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carga texturas de reemplazo en un subproceso de trabajo, lo que reducirá los tirones/trabas al activar los reemplazos. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Ajusta el brillo. Un valor de 50 es lo normal. - + Adjusts contrast. 50 is normal. Ajusta el contraste. Un valor de 50 es lo normal. - + Adjusts saturation. 50 is normal. Ajusta la saturación. Un valor de 50 es lo normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Muestra la tasa de vsync del emulador en la esquina superior derecha de la pantalla. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Formato de video - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Códec de audio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Permitir pantalla completa exclusiva - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Marcado - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Relación de aspecto - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Tamaño de captura de pantalla - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Formato de captura de pantalla - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Calidad de captura de pantalla - - + + 50% 50 % - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Modo pantalla completa - - - + + + Borderless Fullscreen Pantalla completa sin bordes - + Chooses the fullscreen resolution and frequency. Elige la resolucion y frecuencia de pantalla completa. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Predeterminado - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14113,7 +14172,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Predeterminado @@ -14330,254 +14389,254 @@ Swap chain: see Microsoft's Terminology Portal. No se ha encontrado un guardado rápido en la ranura {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Abrir menú de pausa - + Open Achievements List Abrir lista de logros - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Alternar pausa - + Toggle Fullscreen Alternar pantalla completa - + Toggle Frame Limit Alternar limitador de fotogramas - + Toggle Turbo / Fast Forward Alternar turbo/avance rápido - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Alternar silencio - + Frame Advance Frame Advance - + Shut Down Virtual Machine Apagar maquina virtual - + Reset Virtual Machine Reiniciar maquina virtual - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Guardados rápidos - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Crear guardado rápido en la ranura seleccionada - + Load State From Selected Slot Cargar guardado rápido de la ranura seleccionada - + Save State and Select Next Slot Crear guardado rápido y seleccionar la ranura siguiente - + Select Next Slot and Save State Seleccionar siguiente ranura y guardar estado - + Save State To Slot 1 Crear guardado rápido en la ranura 1 - + Load State From Slot 1 Cargar estado desde ranura 1 - + Save State To Slot 2 Crear guardado rápido en la ranura 2 - + Load State From Slot 2 Cargar guardado rápido de la ranura 2 - + Save State To Slot 3 Crear guardado rápido en la ranura 3 - + Load State From Slot 3 Cargar guardado rápido de la ranura 3 - + Save State To Slot 4 Crear guardado rápido en la ranura 4 - + Load State From Slot 4 Cargar guardado rápido de la ranura 4 - + Save State To Slot 5 Crear guardado rápido en la ranura 5 - + Load State From Slot 5 Cargar guardado rápido de la ranura 5 - + Save State To Slot 6 Crear guardado rápido en la ranura 6 - + Load State From Slot 6 Cargar guardado rápido de la ranura 6 - + Save State To Slot 7 Crear guardado rápido en la ranura 7 - + Load State From Slot 7 Cargar guardado rápido de la ranura 7 - + Save State To Slot 8 Crear guardado rápido en la ranura 8 - + Load State From Slot 8 Cargar guardado rápido de la ranura 8 - + Save State To Slot 9 Crear guardado rápido en la ranura 9 - + Load State From Slot 9 Cargar guardado rápido de la ranura 9 - + Save State To Slot 10 Crear guardado rápido en la ranura 10 - + Load State From Slot 10 Cargar guardado rápido de la ranura 10 @@ -15455,594 +15514,608 @@ Right click to clear binding &Sistema - - - + + Change Disc Cambiar disco - - + Load State Cargar guardado rápido - - Save State - Guardado rápido - - - + S&ettings A&justes - + &Help &Ayuda - + &Debug &Debug - - Switch Renderer - Cambiar renderizador - - - + &View &Vista - + &Window Size &Tamaño de la ventana - + &Tools &Herramientas - - Input Recording - Grabar entrada - - - + Toolbar Barra de herramientas - + Start &File... Iniciar &archivo... - - Start &Disc... - Iniciar &disco... - - - + Start &BIOS Iniciar &BIOS - + &Scan For New Games &Escanear juegos nuevos - + &Rescan All Games &Reescanear todos los juegos - + Shut &Down A&pagar - + Shut Down &Without Saving Apagar &sin guardar - + &Reset &Reiniciar - + &Pause &Pausar - + E&xit S&alir - + &BIOS &BIOS - - Emulation - Emulación - - - + &Controllers &Controles - + &Hotkeys &Atajos de teclado - + &Graphics &Gráficos - - A&chievements - L&ogros - - - + &Post-Processing Settings... &Ajustes de posprocesado... - - Fullscreen - Pantalla completa - - - + Resolution Scale Escala de resolución - + &GitHub Repository... Repositorio de &GitHub... - + Support &Forums... &Foros de soporte... - + &Discord Server... Servidor de &Discord... - + Check for &Updates... Buscar &actualizaciones... - + About &Qt... Acerca de &Qt... - + &About PCSX2... Acerca de PCSX2... - + Fullscreen In Toolbar Pantalla completa - + Change Disc... In Toolbar Cambiar disco... - + &Audio &Audio - - Game List - Lista de juegos - - - - Interface - Interfaz + + Global State + Global State - - Add Game Directory... - Añadir directorio de juegos... + + &Screenshot + &Captura de pantalla - - &Settings - &Ajustes + + Start File + In Toolbar + Iniciar archivo - - From File... - From File... + + &Change Disc + &Cambiar disco - - From Device... - From Device... + + &Load State + &Cargar estado - - From Game List... - From Game List... + + Sa&ve State + &Guardar estado - - Remove Disc - Extraer disco + + Setti&ngs + &Ajustes - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Captura de pantalla + + &Input Recording + &Input Recording - - Start File - In Toolbar - Iniciar archivo + + Start D&isc... + Iniciar &disco... - + Start Disc In Toolbar Iniciar disco - + Start BIOS In Toolbar Iniciar BIOS - + Shut Down In Toolbar Apagar - + Reset In Toolbar Reinciar - + Pause In Toolbar Pausar - + Load State In Toolbar Cargar guardado rápido - + Save State In Toolbar Guardado rápido - + + &Emulation + &Emulación + + + Controllers In Toolbar Controles - + + Achie&vements + &Logros + + + + &Fullscreen + &Pantalla completa + + + + &Interface + &Interfaz + + + + Add Game &Directory... + Agregar &directorio de juegos... + + + Settings In Toolbar Ajustes - + + &From File... + &Desde archivo... + + + + From &Device... + Desde &dispositivo... + + + + From &Game List... + Desde &lista de juegos... + + + + &Remove Disc + &Remover disco + + + Screenshot In Toolbar Captura de pantalla - + &Memory Cards &Memory Cards - + &Network && HDD &Red y HDD - + &Folders &Carpetas - + &Toolbar &Barra de herramientas - - Lock Toolbar - Bloquear barra de herramientas + + Show Titl&es (Grid View) + Mostrar &títulos (vista de grilla) - - &Status Bar - Barra de &estado + + &Open Data Directory... + &Abrir directorio de datos... - - Verbose Status - Estado detallado + + &Toggle Software Rendering + &Alternar renderizado por software - - Game &List - &Lista de juegos + + &Open Debugger + &Abrir depurador - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Mostrar &sistema + + &Reload Cheats/Patches + &Recargar trucos/parches - - Game &Properties - &Propiedades del juego + + E&nable System Console + Habilitar consola del sistema - - Game &Grid - &Cuadrícula de juegos + + Enable &Debug Console + Habilitar consola de &depuración - - Show Titles (Grid View) - Mostrar títulos (vista en cuadrícula) + + Enable &Log Window + Habilitar ventana de &registro - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Habilitar registro &detallado - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Actualizar &carátulas (vista en cuadrícula) + + &New + This section refers to the Input Recording submenu. + &Nueva - - Open Memory Card Directory... - Abrir directorio de Memory Card... + + &Play + This section refers to the Input Recording submenu. + &Reproducir - - Open Data Directory... - Abrir directorio de datos... + + &Stop + This section refers to the Input Recording submenu. + &Detener - - Toggle Software Rendering - Alternar renderizado por software + + &Controller Logs + &Controller Logs - - Open Debugger - Abrir depurador + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Recargar trucos/parches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Activar consola de depuración + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Activar ventana de registro + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Habilitar registro detallado + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Captura de video - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Editar trucos... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Editar &parches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + Barra de &estado - - Settings - This section refers to the Input Recording submenu. - Ajustes + + + Game &List + &Lista de juegos - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + &Bloquear barra de herramientas - - Controller Logs - Controller Logs + + &Verbose Status + &Estado detallado - - Enable &File Logging - Habilitar registro en &archivo + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Mostrar &sistema + + + + Game &Properties + &Propiedades del juego - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + &Cuadrícula de juegos - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Actualizar &carátulas (vista en cuadrícula) + + + + Open Memory Card Directory... + Abrir directorio de Memory Card... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Habilitar registro en &archivo + + + Start Big Picture Mode Iniciar modo Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Descargador de carátulas... - - - - + Show Advanced Settings Mostrar ajustes avanzados - - Recording Viewer - Recording Viewer - - - - + Video Capture Capturar vídeo - - Edit Cheats... - Editar trucos... - - - - Edit Patches... - Editar parches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16055,297 +16128,297 @@ El equipo de PCSX2 no dará soporte técnico alguno a cualquier configuración q ¿Seguro que quieres continuar? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirmar apagado - + Are you sure you want to shut down the virtual machine? ¿Seguro que quieres apagar la máquina virtual? - + Save State For Resume Crear un guardado rápido para continuar más tarde - - - - - - + + + + + + Error Error - + You must select a disc to change discs. Debes seleccionar un disco para cambiar discos. - + Properties... Propiedades... - + Set Cover Image... Establecer imagen de carátula... - + Exclude From List Excluir de la lista - + Reset Play Time Restablecer tiempo jugado - + Check Wiki Page Chequear página de la Wiki - + Default Boot Arranque predeterminado - + Fast Boot Arranque rápido - + Full Boot Arranque completo - + Boot and Debug Arranque y depuración - + Add Search Directory... Añadir directorio de búsqueda... - + Start File Iniciar archivo - + Start Disc Iniciar disco - + Select Disc Image Seleccionar imagen de disco - + Updater Error Error del actualizador - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Lo sentimos, estás intentando actualizar una versión de PCSX2 que no es una publicación oficial de GitHub. Para evitar incompatibilidades, el actualizador automático sólo está habilitado en compilaciones oficiales.</p><p>Para obtener una compilación oficial, por favor descargue desde el siguiente enlace:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. La actualización automática no es compatible con esta plataforma. - + Confirm File Creation Confirmar creación de archivo - + The pnach file '%1' does not currently exist. Do you want to create it? El archivo pnach '%1' no existe. ¿Desea crearlo? - + Failed to create '%1'. Error al crear '%1'. - + Theme Change Cambiar tema - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Cambiar el tema cerrará la ventana del depurador. Cualquier dato no guardado se perderá. ¿Quieres continuar? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Fallo al crear archivo: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Fallo al abrir archivo: {} - + Paused Pausado - + Load State Failed Error al cargar el guardado rápido - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Detener modo Big Picture - + Exit Big Picture In Toolbar Salir del Big Picture - + Game Properties Propiedades del juego - + Game properties is unavailable for the current game. Las propiedades del juego no están disponibles para el juego actual. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. Este guardado rápido no existe. - + Select Cover Image Seleccionar imagen de carátula - + Cover Already Exists La carátula ya existe - + A cover image for this game already exists, do you wish to replace it? Ya existe una imagen de carátula para este juego, ¿deseas reemplazarla? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Error al eliminar la carátula existente '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Fallo al eliminar '%1' - - + + Confirm Reset Confirmar reinicio - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Todos los tipos de imagen de carátula (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Debes seleccionar un archivo distinto a la imagen actual de la carátula. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16354,12 +16427,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16372,89 +16445,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Arranque fresco - + Delete And Boot Eliminar y arrancar - + Failed to delete save state file '%1'. Error al eliminar el archivo de guardado rápido '%1'. - + Load State File... Cargar archivo de guardado rápido... - + Load From File... Load From File... - - + + Select Save State File Seleccionar archivo de guardado rápido - + Save States (*.p2s) Guardados rápidos (*.p2s) - + Delete Save States... Eliminar guardados rápidos... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Guardados rápidos (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Eliminar guardados rápidos - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16463,42 +16536,42 @@ The saves will not be recoverable. Los guardados no serán recuperables. - + %1 save states deleted. %1 guardado rápido eliminado. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirmar cambio de disco - + Do you want to swap discs or boot the new image (via system reset)? ¿Deseas cambiar de discos o arrancar la nueva imagen (a través del reinicio del sistema)? - + Swap Disc Cambiar disco - + Reset Reiniciar @@ -16521,25 +16594,25 @@ Los guardados no serán recuperables. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} No se pudo crear la tarjeta de memoria: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16556,28 +16629,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + La consola virtual no ha guardado a tu tarjeta de memoria desde hacer algún tiempo. Los estados guardados no deberían ser usados en lugar de los guardados en juego. + MemoryCardConvertDialog @@ -17369,7 +17447,7 @@ This action cannot be reversed, and you will lose any saves on the card.Ir al visualizador de memoria - + Cannot Go To No se puede ir a @@ -18209,12 +18287,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18223,7 +18301,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18232,7 +18310,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18241,7 +18319,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18342,47 +18420,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Control {} conectado. - + System paused because controller {} was disconnected. Sistema pausado porque el control {} fue desconectado. - + Controller {} disconnected. Control {} desconectado. - + Cancel Cancelar @@ -18515,7 +18593,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21728,42 +21806,42 @@ Escanear recursivamente toma más tiempo pero identificará archivos en subdirec VMManager - + Failed to back up old save state {}. Error al crear la copia de seguridad del guardado rápido antiguo {}. - + Failed to save save state: {}. Error al crear el guardado rápido: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Juego desconocido - + CDVD precaching was cancelled. El precacheo de CDVD fue cancelado. - + CDVD precaching failed: {} Precacheo de CDVD fallido: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21780,272 +21858,272 @@ Una vez descargada, esta imagen del BIOS debe colocarse en la carpeta BIOS dentr Por favor consulte las preguntas frecuentes y las guías para obtener más instrucciones. - + Resuming state Reanudando estado - + Boot and Debug Arranque y depuración - + Failed to load save state Error al cargar el guardado rápido - + State saved to slot {}. Crear guardado rápido en la ranura {}. - + Failed to save save state to slot {}. Error al crear el guardado rápido en la ranura {}. - - + + Loading state Cargando estado - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. No hay un guardado rápido en la ranura {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Cargando estado desde la ranura {}... - + Failed to save state (Memory card is busy) Error al crear el guardado rápido (Memory Card ocupada) - + Failed to save state to slot {} (Memory card is busy) Error al crear el guardado rápido en la ranura {0} (Memory Card ocupada) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Avance de cuadros - + Disc removed. Disc removed. - + Disc changed to '{}'. Disco cambiado a '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running Ningún juego en ejecución - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB de RAM activados. La compatibilidad con algunos juegos puede resultar afectada. - + Game Fixes are not enabled. Compatibility with some games may be affected. Las arreglos de juego están activados. La compatibilidad con algunos juegos puede resultar afectada. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Los parches de compatibilidad no están activados. La compatibilidad con algunos juegos puede resultar afectada. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. El volcado de texturas está habilitado, esto volcará continuamente las texturas al disco. diff --git a/pcsx2-qt/Translations/pcsx2-qt_es-ES.ts b/pcsx2-qt/Translations/pcsx2-qt_es-ES.ts index 1100b586589c8..55399e423a2c7 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_es-ES.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_es-ES.ts @@ -732,307 +732,318 @@ Posición en tabla: {1} de {2} Utilizar configuración global [%1] - + Rounding Mode Modo de redondeo - - - + + + Chop/Zero (Default) Eliminar/cero (predeterminado) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia la forma que tiene PCSX2 de gestionar el redondeo de números al emular la Floating Point Unit del Emotion Engine («unidad de valores con coma flotante», o FPU del EE). Como los cálculos del FPU de PS2 no se corresponden a los estándares internacionales, algunos juegos necesitarán un modo distinto para hacer dichos cálculos correctamente. El valor predeterminado sirve para la gran mayoría de juegos. <b>Si cambias este ajuste cuando un juego no muestre problemas visibles, podrías provocar inestabilidades.</b> - + Division Rounding Mode Modo de redondeo de divisiones - + Nearest (Default) Por proximidad (predeterminado) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determina la forma de redondear los resultados de una división de valores con coma flotante. Algunos juegos necesitarán un ajuste concreto: <b>si cambias este ajuste cuando un juego no tenga problemas visibles, podrías provocar inestabilidades.</b> - + Clamping Mode Modo de limitación - - - + + + Normal (Default) Normal (predeterminado) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia la forma que tiene PCSX2 de gestionar la conversión de valores de coma flotante a un rango estándar x86. El valor predeterminado sirve para la gran mayoría de juegos. <b>Si cambias este ajuste cuando un juego no muestre problemas visibles, podrías provocar inestabilidades.</b> - - + + Enable Recompiler Habilitar recompilador - + - - - + + + - + - - - - + + + + + Checked activado - + + Use Save State Selector + Usar selector de guardados rápidos + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Al cambiar de espacio de guardado rápido, mostrar una ventana de selección en vez de una notificación. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Realiza una traducción binaria «just-in-time» del código máquina MIPS-IV de 64 bits a x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Detección de bucles de espera - + Moderate speedup for some games, with no known side effects. Mejora moderadamente la velocidad de algunos juegos sin efectos secundarios conocidos. - + Enable Cache (Slow) Habilitar caché (lento) - - - - + + + + Unchecked desactivado - + Interpreter only, provided for diagnostic. Solo para el intérprete, utilizado con fines de diagnósticos. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Detección de bucles en el INTC - + Huge speedup for some games, with almost no compatibility side effects. Mejora en gran medida la velocidad de algunos juegos sin tener casi ningún efecto secundario en la compatibilidad. - + Enable Fast Memory Access Habilitar acceso rápido a memoria - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Utiliza la técnica de «backpatching» (retroparcheado) para evitar que se vacíen los registros con cada acceso a memoria. - + Pause On TLB Miss Pausar al fallar el TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Cuando haya un fallo de ejecución del TLB, se pausará la máquina virtual en lugar de ignorar el error y continuar. Ten en cuenta que se parará al final del bloque, no en la instrucción que provoque la excepción. Para saber cuál es la dirección donde ha tenido lugar el acceso inválido, ve a la consola. - + Enable 128MB RAM (Dev Console) Habilitar 128 MB de RAM (consola de desarrollo) - + Exposes an additional 96MB of memory to the virtual machine. Expone 96 MB adicionales de memoria a la máquina virtual. - + VU0 Rounding Mode Modo de redondeo de la VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Cambia la forma que tiene PCSX2 de gestionar el redondeo de números al emular la Vector Unit 0 del Emotion Engine («unidad vectorial 0», o VU0 del EE). El valor predeterminado sirve para la gran mayoría de juegos. <b>Si cambias este ajuste cuando un juego no muestre problemas visibles, podrías provocar inestabilidades.</b> - + VU1 Rounding Mode Modo de redondeo de la VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Cambia la forma que tiene PCSX2 de gestionar el redondeo de números al emular la Vector Unit 1 del Emotion Engine («unidad vectorial 1», o VU1 del EE). El valor predeterminado sirve para la gran mayoría de juegos. <b>Si cambias este ajuste cuando un juego no muestre problemas visibles, podrías provocar inestabilidades.</b> - + VU0 Clamping Mode Modo de limitación de la VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia la forma que tiene PCSX2 de gestionar la conversión de valores de coma flotante a un rango estándar x86 dentro de la Vector Unit 0 del Emotion Engine («unidad vectorial 0», o VU0 del EE). El valor predeterminado sirve para la gran mayoría de juegos. <b>Si cambias este ajuste cuando un juego no muestre problemas visibles, podrías provocar inestabilidades.</b> - + VU1 Clamping Mode Modo de limitación de la VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia la forma que tiene PCSX2 de gestionar la conversión de valores de coma flotante a un rango estándar x86 dentro de la Vector Unit 1 del Emotion Engine («unidad vectorial 1», o VU1 del EE). El valor predeterminado sirve para la gran mayoría de juegos. <b>Si cambias este ajuste cuando un juego no muestre problemas visibles, podrías provocar inestabilidades.</b> - + Enable Instant VU1 Habilitar VU1 instantánea - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Ejecuta la VU1 de forma instantánea. Mejora levemente la velocidad en la mayoría de juegos. Es una opción segura para casi todos, pero algunos podrían mostrar errores gráficos. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Habilitar recompilador de la VU0 (modo micro) - + Enables VU0 Recompiler. Habilita el recompilador de la VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Habilitar recompilador de la VU1 - + Enables VU1 Recompiler. Habilita el recompilador de la VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Corrección del indicador de mVU - + Good speedup and high compatibility, may cause graphical errors. Mejora bastante la velocidad y tiene una alta compatibilidad, pero podría provocar errores gráficos. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Realiza una traducción binaria «just-in-time» del código máquina MIPS-I de 32 bits a x86. - + Enable Game Fixes Habilitar correcciones para juegos - + Automatically loads and applies fixes to known problematic games on game start. Carga y aplica automáticamente correcciones al iniciar cualquier juego conocido por dar problemas. - + Enable Compatibility Patches Habilitar parches de compatibilidad - + Automatically loads and applies compatibility patches to known problematic games. Carga y aplica automáticamente parches de compatibilidad a cualquier juego conocido por dar problemas. - + Savestate Compression Method Método de compresión de guardados rápidos - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determina el algoritmo que se utilizará para comprimir los guardados rápidos. - + Savestate Compression Level Nivel de compresión de guardados rápidos - + Medium Medio - + Determines the level to be used when compressing savestates. Determina el nivel que se utilizará para comprimir los guardados rápidos. - + Save State On Shutdown Crear guardado rápido al apagar - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Crea un guardado rápido automático de la emulación al apagar la misma o al salir del emulador. Así podrás reanudar tu partida justo donde la dejaste. - + Create Save State Backups Crear copias de seguridad de guardados rápidos - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Si ya existe un guardado rápido, guardará una copia de seguridad del anterior al crear uno nuevo. Esta copia de seguridad tendrá el sufijo .backup. @@ -1255,29 +1266,29 @@ Posición en tabla: {1} de {2} Crear copias de seguridad de guardados rápidos - + Save State On Shutdown Crear guardado rápido al apagar - + Frame Rate Control Control de velocidad de fotogramas - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so.  Hz - + PAL Frame Rate: Velocidad de fotogramas PAL: - + NTSC Frame Rate: Velocidad de fotogramas NTSC: @@ -1292,7 +1303,7 @@ Posición en tabla: {1} de {2} Nivel de compresión: - + Compression Method: Método de compresión: @@ -1337,17 +1348,22 @@ Posición en tabla: {1} de {2} Muy alto (lento, no recomendado) - + + Use Save State Selector + Usar selector de guardados rápidos + + + PINE Settings Ajustes de PINE - + Slot: «Slot»: - + Enable Habilitar @@ -1868,8 +1884,8 @@ Posición en tabla: {1} de {2} AutoUpdaterDialog - - + + Automatic Updater Actualizador automático @@ -1909,68 +1925,68 @@ Posición en tabla: {1} de {2} Recordar más tarde - - + + Updater Error Error del actualizador - + <h2>Changes:</h2> <h2>Cambios:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Advertencia sobre los guardados rápidos</h2><p>La instalación de esta actualización hará que tus guardados rápidos <b>dejen de ser compatibles</b>. Asegúrate de haber guardado tus avances en una Memory Card antes de instalar esta actualización, o perderás dichos avances.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Advertencia sobre la configuración</h2><p>La instalación de esta actualización reiniciará la configuración del programa. Recuerda que tendrás que volver a cambiar los ajustes del programa una vez se haya aplicado esta actualización.</p> - + Savestate Warning Advertencia sobre los guardados rápidos - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ADVERTENCIA</h1><p style='font-size:12pt;'>La instalación de esta actualización hará que tus guardados rápidos <b>dejen de ser compatibles</b>, <i>asegúrate de haber guardado todos tus avances en tus Memory Cards antes de continuar</i>.</p><p>¿Seguro que quieres continuar?</p> - + Downloading %1... Descargando %1... - + No updates are currently available. Please try again later. No hay actualizaciones disponibles. Inténtalo de nuevo más tarde. - + Current Version: %1 (%2) Versión actual: %1 (%2) - + New Version: %1 (%2) Versión más reciente: %1 (%2) - + Download Size: %1 MB Tamaño de descarga: %1 MB - + Loading... Cargando... - + Failed to remove updater exe after update. Error al eliminar el ejecutable del actualizador tras la actualización. @@ -2134,19 +2150,19 @@ Posición en tabla: {1} de {2} Habilitar - - + + Invalid Address Dirección no válida - - + + Invalid Condition Condición no válida - + Invalid Size Tamaño no válido @@ -2236,17 +2252,17 @@ Posición en tabla: {1} de {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. El disco de juego se encuentra en una unidad extraíble: pueden producirse problemas de rendimiento, como pueden ser tirones y cuelgues. - + Saving CDVD block dump to '{}'. Guardando volcado de bloque del CDVD en «{}». - + Precaching CDVD Precacheando CDVD @@ -2271,7 +2287,7 @@ Posición en tabla: {1} de {2} Desconocido - + Precaching is not supported for discs. No es posible precachear discos. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Renombrar perfil + + + Delete Profile Eliminar perfil - + Mapping Settings Ajustes de asignación - - + + Restore Defaults Restaurar valores predeterminados - - - + + + Create Input Profile Crear perfil de entrada - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Para aplicar un perfil de entrada personalizado a un juego, ve a sus propiedades Introduce el nombre del perfil de entrada nuevo: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. Ya existe un perfil con el nombre «%1». - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. ¿Deseas copiar todas las asociaciones del perfil actual al nuevo? Si seleccionas No, se creará un perfil en blanco. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? ¿Deseas copiar las asignaciones actuales de las teclas de acceso rápido que hay en la configuración global al perfil de entrada nuevo? - + Failed to save the new profile to '%1'. Error al guardar el perfil nuevo en «%1». - + Load Input Profile Cargar perfil de entrada - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Se perderán todas las asociaciones globales y las asociaciones del perfil carga No es posible deshacer esta acción. - + + Rename Input Profile + Renombrar perfil de entrada + + + + Enter the new name for the input profile: + Introduce el nombre nuevo del perfil de entrada: + + + + Failed to rename '%1'. + Error al renombrar «%1». + + + Delete Input Profile Eliminar perfil de entrada - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. No es posible deshacer esta acción. - + Failed to delete '%1'. Error al eliminar «%1». - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Se perderán todas las asociaciones y configuraciones compartidas, pero se conse No es posible deshacer esta acción. - + Global Settings Ajustes globales - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ No es posible deshacer esta acción. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ No es posible deshacer esta acción. %2 - - + + USB Port %1 %2 Puerto USB %1 %2 - + Hotkeys Teclas de acceso rápido - + Shared "Shared" refers here to the shared input profile. Compartido - + The input profile named '%1' cannot be found. No se ha podido encontrar el perfil de entrada «%1». @@ -4005,63 +4044,63 @@ Do you want to overwrite? Importar desde archivo (.elf, .sym., etc.): - + Add Añadir - + Remove Quitar - + Scan For Functions Buscar funciones - + Scan Mode: Modo de búsqueda: - + Scan ELF Buscar en archivo ELF - + Scan Memory Buscar en memoria - + Skip Omitir - + Custom Address Range: Rango de direcciones personalizado: - + Start: Inicio: - + End: Fin: - + Hash Functions Buscar funciones idénticas mediante «hashes» - + Gray Out Symbols For Overwritten Functions Deshabilitar símbolos de funciones sobrescritas @@ -4132,17 +4171,32 @@ Do you want to overwrite? Genera sumas de comprobación («hashes») para todas las funciones detectadas y deshabilita los símbolos que se muestren en el depurador de aquellas funciones que no tengan coincidencias. - + <i>No symbol sources in database.</i> <i>La base de datos no contiene orígenes de símbolos.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Ejecuta el juego para poder modificar la lista de orígenes de símbolos.</i> - + + Path + Ruta + + + + Base Address + Dirección base + + + + Condition + Condición + + + Add Symbol File Añadir archivo de símbolos @@ -4794,53 +4848,53 @@ Do you want to overwrite? Depurador de PCSX2 - + Run Ejecutar - + Step Into Paso a paso - + F11 F11 - + Step Over Paso a paso por - + F10 F10 - + Step Out Salir - + Shift+F11 Mayús+F11 - + Always On Top Siempre visible - + Show this window on top Muestra esta ventana por encima de las demás - + Analyze Analizar @@ -4858,48 +4912,48 @@ Do you want to overwrite? Desensamblador - + Copy Address Copiar dirección - + Copy Instruction Hex Copiar instrucción (en hexadecimal) - + NOP Instruction(s) Introducir NOP en instrucción(ones) - + Run to Cursor Ejecutar hasta cursor - + Follow Branch Seguir rama - + Go to in Memory View Ver en visualizador de memoria - + Add Function Añadir función - - + + Rename Function Renombrar función - + Remove Function Eliminar función @@ -4920,23 +4974,23 @@ Do you want to overwrite? Instrucción de ensamblador - + Function name Nombre de función - - + + Rename Function Error Error al renombrar la función - + Function name cannot be nothing. El nombre de la función no puede estar en blanco. - + No function / symbol is currently selected. No se ha seleccionado una función o símbolo. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Ver en desensamblador - + Cannot Go To No se puede ir a esta dirección - + Restore Function Error Error al restaurar la función - + Unable to stub selected address. No se ha podido introducir un «stub» en la dirección seleccionada. - + &Copy Instruction Text &Copiar instrucción (en texto) - + Copy Function Name Copiar nombre de función - + Restore Instruction(s) Restaurar instrucción(ones) - + Asse&mble new Instruction(s) &Ensamblar instrucción(ones) nueva(s) - + &Jump to Cursor &Saltar a cursor - + Toggle &Breakpoint Alternar &punto de interrupción - + &Go to Address &Ir a dirección - + Restore Function Restaurar función - + Stub (NOP) Function Introducir «stub» (NOP) en función - + Show &Opcode Mostrar código de &operación - + %1 NOT VALID ADDRESS %1 DIRECCIÓN INVÁLIDA @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Espacio: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Espacio: %1 | Volumen: %2 % | %3 | EE: %4 % | VU: %5 % | GS: %6 % - - Slot: %1 | %2 | EE: %3% | GS: %4% - Espacio: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Espacio: %1 | Volumen: %2 % | %3 | EE: %4 % | GS: %5 % - + No Image Sin imagen - + %1x%2 %1 × %2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Velocidad: %1 % - + Game: %1 (%2) Juego: %1 (%2) - + Rich presence inactive or unsupported. El modo de «Rich Presence» no se encuentra activo o no es compatible. - + Game not loaded or no RetroAchievements available. No se ha cargado un juego o no tiene RetroAchievements disponibles. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Error al crear HTTPDownloader. - + Downloading %1... Descargando %1... - + Download failed with HTTP status code %1. Error al descargar, código de estado HTTP %1. - + Download failed: Data is empty. Error al descargar: los datos están vacíos. - + Failed to write '%1'. Error al escribir «%1». @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Tamaño de acceso de memoria %d no válido. - + Invalid memory access (unaligned). Tamaño de acceso de memoria no válido (no está alineado). - - + + Token too long. Token demasiado largo. - + Invalid number "%s". El número «%s» no es válido. - + Invalid symbol "%s". El símbolo «%s» no es válido. - + Invalid operator at "%s". Operador no válido en «%s». - + Closing parenthesis without opening one. Hay un paréntesis de cierre sin el de apertura. - + Closing bracket without opening one. Hay un corchete de cierre sin el de apertura. - + Parenthesis not closed. Paréntesis sin cerrar. - + Not enough arguments. No hay suficientes argumentos. - + Invalid memsize operator. Operador de memsize no válido. - + Division by zero. División por cero. - + Modulo by zero. Módulo por cero. - + Invalid tertiary operator. Operador terciario no válido. - - - Invalid expression. - Expresión no válida. - FileOperations @@ -5699,342 +5748,342 @@ URL introducida: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. No se han podido encontrar dispositivos de CD/DVD-ROM. Asegúrate de tener una unidad conectada y los permisos necesarios para poder acceder a la misma. - + Use Global Setting Utilizar configuración global - + Automatic binding failed, no devices are available. Error durante la asignación automática: no hay dispositivos disponibles. - + Game title copied to clipboard. Título del juego copiado al portapapeles. - + Game serial copied to clipboard. Número de serie del juego copiado al portapapeles. - + Game CRC copied to clipboard. CRC del juego copiado al portapapeles. - + Game type copied to clipboard. Tipo del juego copiado al portapapeles. - + Game region copied to clipboard. Región del juego copiada al portapapeles. - + Game compatibility copied to clipboard. Compatibilidad del juego copiada al portapapeles. - + Game path copied to clipboard. Ruta del juego copiada al portapapeles. - + Controller settings reset to default. Configuración de mandos restablecida a sus valores predeterminados. - + No input profiles available. No hay perfiles de entrada disponibles. - + Create New... Crear nuevo... - + Enter the name of the input profile you wish to create. Introduce el nombre del perfil de entrada que deseas crear. - + Are you sure you want to restore the default settings? Any preferences will be lost. ¿Seguro que deseas restaurar la configuración predeterminada? Se perderán todas tus preferencias. - + Settings reset to defaults. Configuración restablecida a sus valores predeterminados. - + No save present in this slot. No hay un guardado en este espacio. - + No save states found. No se han encontrado guardados rápidos. - + Failed to delete save state. Error al eliminar el guardado rápido. - + Failed to copy text to clipboard. Error al copiar el texto al portapapeles. - + This game has no achievements. Este juego no tiene logros. - + This game has no leaderboards. Este juego no tiene tablas de clasificación. - + Reset System Reiniciar el sistema - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? El modo «hardcore» no se activará hasta que se reinicie el sistema. ¿Deseas reiniciar ahora? - + Launch a game from images scanned from your game directories. Ejecuta un juego que esté entre las imágenes encontradas en tus directorios de juegos. - + Launch a game by selecting a file/disc image. Ejecuta un juego seleccionando un archivo o imagen de disco. - + Start the console without any disc inserted. Inicia la consola sin introducir un disco. - + Start a game from a disc in your PC's DVD drive. Inicia un juego desde la unidad de DVD de tu equipo. - + No Binding Sin asignar - + Setting %s binding %s. %s: configurando asociación para «%s». - + Push a controller button or axis now. Pulsa un botón o eje del mando. - + Timing out in %.0f seconds... Esperando %.0f segundos... - + Unknown Elemento desconocido - + OK Aceptar - + Select Device Seleccionar dispositivo - + Details Detalles - + Options Opciones - + Copies the current global settings to this game. Copia la configuración global actual a este juego. - + Clears all settings set for this game. Elimina toda la configuración establecida específicamente para este juego. - + Behaviour Comportamiento - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Evita que el salvapantallas se active o que el equipo entre en suspensión cuando se esté ejecutando una emulación. - + Shows the game you are currently playing as part of your profile on Discord. Muestra en tu perfil de Discord el nombre del juego al que estés jugando. - + Pauses the emulator when a game is started. Pausa el emulador en cuanto se ejecute un juego. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pausa el emulador al minimizar la ventana o cambiar a otra aplicación. La emulación se reanudará al volver a PCSX2. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pausa el emulador al abrir el menú rápido y lo reanuda al cerrarlo. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determina si se mostrará una ventana o no para confirmar el apagado del emulador/juego tras pulsar la tecla de acceso rápido correspondiente. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Crea un guardado rápido automático de la emulación al apagar la misma o al salir del emulador. Así podrás reanudar tu partida justo donde la dejaste. - + Uses a light coloured theme instead of the default dark theme. Utiliza un tema de color claro en lugar del tema oscuro predeterminado. - + Game Display Visualización del juego - + Switches between full screen and windowed when the window is double-clicked. Cambia entre los modos a pantalla completa y de ventana al hacer doble clic en la última. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Oculta el puntero/cursor del ratón cuando el emulador pase al modo a pantalla completa. - + Determines how large the on-screen messages and monitor are. Determina el tamaño de los mensajes en pantalla en relación con el monitor. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Muestra mensajes en pantalla en ciertas situaciones, como la creación o carga de guardados rápidos, al capturar la pantalla, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Muestra la velocidad de emulación actual del sistema en la esquina superior derecha de la imagen, en forma de porcentaje. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Muestra el número de fotogramas de vídeo (o «v-syncs») mostrados por segundo por el sistema en la esquina superior derecha de la imagen. - + Shows the CPU usage based on threads in the top-right corner of the display. Muestra el uso de la CPU según sus subprocesos en la esquina superior derecha de la imagen. - + Shows the host's GPU usage in the top-right corner of the display. Muestra el uso de la GPU del equipo en la esquina superior derecha de la imagen. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Muestra estadísticas del GS (primitivos, llamadas de dibujado/«draw calls») en la esquina superior derecha de la imagen. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Muestra indicadores cuando se active el avance rápido, la pausa y otros estados anómalos. - + Shows the current configuration in the bottom-right corner of the display. Muestra la configuración actual en la esquina inferior derecha de la imagen. - + Shows the current controller state of the system in the bottom-left corner of the display. Muestra el estado actual del mando del sistema en la esquina inferior izquierda de la imagen. - + Displays warnings when settings are enabled which may break games. Muestra advertencias cuando se activen ajustes que puedan romper los juegos. - + Resets configuration to defaults (excluding controller settings). Restablece la configuración a los valores predeterminados (excluyendo la configuración de los mandos). - + Changes the BIOS image used to start future sessions. Cambia la imagen de la BIOS que se utilizará en las sesiones futuras. - + Automatic Valor automático - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Predeterminado - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Cambia automáticamente al modo a pantalla completa cuando se ejecute un juego. - + On-Screen Display Presentación en pantalla - + %d%% %d %% - + Shows the resolution of the game in the top-right corner of the display. Muestra la resolución del juego en la esquina superior derecha de la imagen. - + BIOS Configuration Configuración de la BIOS - + BIOS Selection Selección de BIOS - + Options and Patches Opciones y parches - + Skips the intro screen, and bypasses region checks. Omite la pantalla de introducción y las comprobaciones de región. - + Speed Control Control de velocidad - + Normal Speed Velocidad normal - + Sets the speed when running without fast forwarding. Establece la velocidad de ejecución cuando no se utilice el avance rápido. - + Fast Forward Speed Velocidad de avance rápido - + Sets the speed when using the fast forward hotkey. Establece la velocidad de ejecución al pulsar la tecla de avance rápido. - + Slow Motion Speed Velocidad a cámara lenta - + Sets the speed when using the slow motion hotkey. Establece la velocidad de ejecución al pulsar la tecla de cámara lenta. - + System Settings Ajustes del sistema - + EE Cycle Rate Frecuencia de ciclos del EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Acelera o frena la velocidad de la CPU emulada del Emotion Engine. - + EE Cycle Skipping Omisión de ciclos del EE - + Enable MTVU (Multi-Threaded VU1) Habilitar MTVU (VU1 multihilo) - + Enable Instant VU1 Habilitar VU1 instantánea - + Enable Cheats Habilitar trucos - + Enables loading cheats from pnach files. Permite cargar trucos de archivos .pnach. - + Enable Host Filesystem Habilitar sistema de archivos del equipo - + Enables access to files from the host: namespace in the virtual machine. Activa el acceso a archivos desde el espacio de nombres «host:» en la máquina virtual. - + Enable Fast CDVD Habilitar CDVD rápido - + Fast disc access, less loading times. Not recommended. Accede más rápido al disco, reduciendo los tiempos de carga. Opción no recomendable. - + Frame Pacing/Latency Control Ritmo de fotogramas/Control de latencia - + Maximum Frame Latency Latencia máxima de fotogramas - + Sets the number of frames which can be queued. Establece el número de fotogramas que pueden ser puestos en cola. - + Optimal Frame Pacing Ritmo de fotogramas óptimo - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Sincroniza los subprocesos del EE y del GS al acabar cada fotograma. Reduce la latencia de entrada, pero aumenta los requisitos del sistema. - + Speeds up emulation so that the guest refresh rate matches the host. Acelera la emulación para que la frecuencia de actualización de la emulación coincida con la del equipo. - + Renderer Renderizador - + Selects the API used to render the emulated GS. Selecciona la API que se utilizará para renderizar el GS emulado. - + Synchronizes frame presentation with host refresh. Sincroniza la presentación de cada fotograma con la frecuencia de actualización del equipo. - + Display Imagen - + Aspect Ratio Relación de aspecto - + Selects the aspect ratio to display the game content at. Selecciona la relación de aspecto con la que se mostrará el contenido de los juegos. - + FMV Aspect Ratio Override Reemplazar relación de aspecto para vídeos FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Selecciona la relación de aspecto que tendrá la imagen cuando se detecte la reproducción de un vídeo FMV. - + Deinterlacing Desentrelazado - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selecciona el algoritmo que se utilizará para convertir la imagen entrelazada de PS2 en progresiva. - + Screenshot Size Tamaño de capturas de pantalla - + Determines the resolution at which screenshots will be saved. Determina la resolución con la que se guardarán las capturas de pantalla. - + Screenshot Format Formato de capturas de pantalla - + Selects the format which will be used to save screenshots. Selecciona el formato que se utilizará para guardar las capturas de pantalla. - + Screenshot Quality Calidad de capturas de pantalla - + Selects the quality at which screenshots will be compressed. Selecciona la calidad con la que se comprimirán las capturas de pantalla. - + Vertical Stretch Estiramiento vertical - + Increases or decreases the virtual picture size vertically. Aumenta o disminuye verticalmente el tamaño de la imagen virtual. - + Crop Recortar - + Crops the image, while respecting aspect ratio. Recorta la imagen preservando la relación de aspecto. - + %dpx %d px - - Enable Widescreen Patches - Habilitar parches de imagen panorámica - - - - Enables loading widescreen patches from pnach files. - Permite cargar parches de imagen panorámica a partir de archivos .pnach. - - - - Enable No-Interlacing Patches - Habilitar parches para desactivar el entrelazado - - - - Enables loading no-interlacing patches from pnach files. - Permite cargar parches para desactivar el entrelazado a partir de archivos .pnach. - - - + Bilinear Upscaling Escalado bilineal - + Smooths out the image when upscaling the console to the screen. Suaviza la imagen de la consola al escalar la imagen. - + Integer Upscaling Escalado por números enteros - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Rellena el área de visualización para que la relación entre píxeles del equipo y de la consola sea un número entero. Podría mejorar la nitidez en algunos juegos 2D. - + Screen Offsets Compensación de imagen - + Enables PCRTC Offsets which position the screen as the game requests. Activa las compensaciones del PCRTC, que posicionan la pantalla según lo requiera el juego. - + Show Overscan Mostrar área de sobrebarrido - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Permite mostrar el área de sobrebarrido para aquellos juegos que muestran imágenes más allá del área segura de la pantalla. - + Anti-Blur Filtro antiborrosidad - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Activa las correcciones internas antiborrosidad. Es menos fiel al renderizado original de PS2, pero hará que muchos juegos parezcan menos borrosos. - + Rendering Renderizado - + Internal Resolution Resolución interna - + Multiplies the render resolution by the specified factor (upscaling). Multiplica la resolución de renderizado por el factor especificado para escalarla. - + Mipmapping «Mipmapping» - + Bilinear Filtering Filtrado bilineal - + Selects where bilinear filtering is utilized when rendering textures. Selecciona cómo se aplicará el filtrado bilineal para renderizar texturas. - + Trilinear Filtering Filtrado trilineal - + Selects where trilinear filtering is utilized when rendering textures. Selecciona cómo se aplicará el filtrado trilineal para renderizar texturas. - + Anisotropic Filtering Filtrado anisotrópico - + Dithering Tramado - + Selects the type of dithering applies when the game requests it. Selecciona el tipo de tramado que se aplicará cuando lo requiera un juego. - + Blending Accuracy Precisión de mezcla - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determina la precisión al emular modos de mezcla que no sean compatibles con la API gráfica del equipo. - + Texture Preloading Precarga de texturas - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Envía las texturas completas a la GPU en cuanto sean utilizadas, sin limitarse a las regiones utilizadas. Podría mejorar el rendimiento en algunos juegos. - + Software Rendering Threads Subprocesos para el renderizado por software - + Number of threads to use in addition to the main GS thread for rasterization. El número de subprocesos que se utilizarán a la vez que el subproceso principal del GS para la rasterización. - + Auto Flush (Software) Vaciado automático (software) - + Force a primitive flush when a framebuffer is also an input texture. Fuerza un vaciado de primitivos cuando un búfer de fotogramas sea también una textura de entrada. - + Edge AA (AA1) Suavizado de bordes (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Activa la emulación del sistema de suavizado de bordes del GS (AA1). - + Enables emulation of the GS's texture mipmapping. Activa la emulación del sistema de «mipmapping» de texturas del GS. - + The selected input profile will be used for this game. El perfil de entrada que se utilizará para este juego. - + Shared Compartido - + Input Profile Perfil de entrada - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Al cambiar de espacio de guardado rápido, mostrar una ventana de selección en vez de una notificación. + + + Shows the current PCSX2 version on the top-right corner of the display. Muestra la versión actual de PCSX2 en la esquina superior derecha de la imagen. - + Shows the currently active input recording status. Muestra el estado actual de la grabación de entrada. - + Shows the currently active video capture status. Muestra el estado actual de la captura de vídeo. - + Shows a visual history of frame times in the upper-left corner of the display. Muestra un historial visual de duraciones de fotogramas en la esquina superior izquierda de la imagen. - + Shows the current system hardware information on the OSD. Muestra la información sobre el hardware actual del sistema en pantalla. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Asigna hilos de la emulación a otros núcleos de la CPU, lo que podría mejorar el rendimiento o reducir la variación de la duración de fotogramas. - + + Enable Widescreen Patches + Habilitar parches de imagen panorámica + + + + Enables loading widescreen patches from pnach files. + Permite cargar parches de imagen panorámica a partir de archivos .pnach. + + + + Enable No-Interlacing Patches + Habilitar parches para desactivar el entrelazado + + + + Enables loading no-interlacing patches from pnach files. + Permite cargar parches para desactivar el entrelazado a partir de archivos .pnach. + + + Hardware Fixes Correcciones para hardware - + Manual Hardware Fixes Correcciones manuales para el renderizador por hardware - + Disables automatic hardware fixes, allowing you to set fixes manually. Desactiva las correcciones automáticas para el renderizador por hardware, permitiéndote configurarlas manualmente. - + CPU Sprite Render Size Tamaño del renderizado de sprites en CPU - + Uses software renderer to draw texture decompression-like sprites. Utiliza el renderizador por software para aquellos dibujados que puedan ser utilizados en la descompresión de texturas. - + CPU Sprite Render Level Nivel del renderizado de sprites en CPU - + Determines filter level for CPU sprite render. Determina el nivel del filtro del renderizado de sprites en la CPU. - + Software CLUT Render Renderizado de CLUT por software - + Uses software renderer to draw texture CLUT points/sprites. Utiliza el renderizador por software para dibujar los puntos/sprites que utilicen los CLUT de las texturas. - + Skip Draw Start Inicio de omisión de dibujado - + Object range to skip drawing. Indica el rango de objetos que se omitirán. - + Skip Draw End Fin de omisión de dibujado - + Auto Flush (Hardware) Vaciado automático (hardware) - + CPU Framebuffer Conversion Conversión del búfer de fotogramas en la CPU - + Disable Depth Conversion Deshabilitar conversión de profundidad - + Disable Safe Features Deshabilitar funcionalidades seguras - + This option disables multiple safe features. Esta opción desactiva varias funcionalidades seguras. - + This option disables game-specific render fixes. Esta opción desactiva las correcciones de renderizado específicas para cada juego. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Transmite los datos del GS al renderizar un fotograma nuevo para poder reproducir algunos efectos fielmente. - + Disable Partial Invalidation Deshabilitar invalidación parcial - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Elimina las entradas de la caché de texturas en cuanto ocurra alguna intersección en vez de eliminar solo las zonas donde haya intersecciones. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Permite a la caché de texturas reutilizar como textura de entrada la parte interior de un búfer de fotogramas anterior. - + Read Targets When Closing Leer objetivos al cerrar - + Flushes all targets in the texture cache back to local memory when shutting down. Vacía todos los objetivos de la caché de texturas en la memoria local al apagar la máquina virtual. - + Estimate Texture Region Calcular regiones de texturas - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Intenta reducir el tamaño de las texturas cuando los juegos no lo establezcan por sí mismos (por ejemplo, los juegos que utilicen el motor gráfico Snowblind). - + GPU Palette Conversion Conversión de paletas en la GPU - + Upscaling Fixes Correcciones para escalado - + Adjusts vertices relative to upscaling. Ajusta los vértices en función del factor de escalado. - + Native Scaling Escalado nativo - + Attempt to do rescaling at native resolution. - Intenta reescalar a resolución nativa. + Intenta reescalar a la resolución nativa. - + Round Sprite Redondear sprites - + Adjusts sprite coordinates. Ajusta las coordenadas de los sprites. - + Bilinear Upscale Escalado bilineal - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Podría suavizar las texturas al aplicarles un filtro bilineal tras escalarlas. P. ej.: destellos del sol en Brave. - + Adjusts target texture offsets. Ajusta la compensación de las texturas objetivo. - + Align Sprite Alinear sprites - + Fixes issues with upscaling (vertical lines) in some games. Soluciona problemas al escalar la imagen (líneas verticales) en ciertos juegos. - + Merge Sprite Fusionar sprites - + Replaces multiple post-processing sprites with a larger single sprite. Reemplaza el uso de varios fragmentos de sprites con fines de posprocesado por un único sprite más grande. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Reduce la precisión del GS para evitar vacíos entre píxeles al escalar la imagen. Corrige el texto en los juegos de Wild Arms. - + Unscaled Palette Texture Draws Dibujar texturas de paletas sin escalarlas - + Can fix some broken effects which rely on pixel perfect precision. Puede corregir algunos efectos rotos que requieran de una precisión exacta. - + Texture Replacement Reemplazo de texturas - + Load Textures Cargar texturas - + Loads replacement textures where available and user-provided. Carga texturas de reemplazo si están disponibles. - + Asynchronous Texture Loading Carga de texturas asincrónica - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carga las texturas de reemplazo en un subproceso de trabajo, lo que reducirá los tirones al activar los reemplazos. - + Precache Replacements Precachear reemplazos - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Precarga en la memoria todas las texturas de reemplazo. No es necesario activar esta opción al usar la carga asincrónica. - + Replacements Directory Directorio de reemplazos - + Folders Carpetas - + Texture Dumping Volcado de texturas - + Dump Textures Volcar texturas - + Dump Mipmaps Volcar «mipmaps» - + Includes mipmaps when dumping textures. Vuelca las texturas con sus «mipmaps». - + Dump FMV Textures Volcar texturas de vídeos FMV - + Allows texture dumping when FMVs are active. You should not enable this. Habilita el volcado de texturas durante la reproducción de vídeos FMV. No se recomienda activar esta opción. - + Post-Processing Posprocesado - + FXAA FXAA - + Enables FXAA post-processing shader. Activa el sombreador de posprocesado FXAA (Fast approXimate Anti-Aliasing). - + Contrast Adaptive Sharpening Realce por contraste adaptativo (CAS) - + Enables FidelityFX Contrast Adaptive Sharpening. Habilita el realce por contraste adaptativo FidelityFX. - + CAS Sharpness Realzado del CAS - + Determines the intensity the sharpening effect in CAS post-processing. Determina la intensidad del efecto de realzado del posprocesado CAS. - + Filters Filtros - + Shade Boost Mejora del tono - + Enables brightness/contrast/saturation adjustment. Permite ajustar el brillo, el contraste y la saturación. - + Shade Boost Brightness Mejorar brillo - + Adjusts brightness. 50 is normal. Ajusta el brillo. Un valor de 50 es lo normal. - + Shade Boost Contrast Mejorar contraste - + Adjusts contrast. 50 is normal. Ajusta el contraste. Un valor de 50 es lo normal. - + Shade Boost Saturation Mejorar saturación - + Adjusts saturation. 50 is normal. Ajusta la saturación. Un valor de 50 es lo normal. - + TV Shaders Sombreadores de TV - + Advanced Avanzados - + Skip Presenting Duplicate Frames Omitir fotogramas duplicados - + Extended Upscaling Multipliers Extender multiplicadores de escalado - + Displays additional, very high upscaling multipliers dependent on GPU capability. Muestra multiplicadores de escalado más elevados que dependerán de las prestaciones de la GPU. - + Hardware Download Mode Modo de descarga de hardware - + Changes synchronization behavior for GS downloads. Cambia el comportamiento de la sincronización en las descargas del GS. - + Allow Exclusive Fullscreen Pantalla completa exclusiva - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Reemplaza la heurística del controlador para activar el modo de pantalla completa exclusiva o para volteados/«scanout» directos. - + Override Texture Barriers Invalidar barreras de texturas - + Forces texture barrier functionality to the specified value. Fuerza la funcionalidad de las barreras de texturas al valor especificado. - + GS Dump Compression Compresión de volcados del GS - + Sets the compression algorithm for GS dumps. Establece el algoritmo de compresión para los volcados del GS. - + Disable Framebuffer Fetch Deshabilitar acceso al búfer de fotogramas - + Prevents the usage of framebuffer fetch when supported by host GPU. Desactiva el acceso al búfer de fotogramas si la GPU del equipo es compatible con esta característica. - + Disable Shader Cache Deshabilitar caché de sombreadores - + Prevents the loading and saving of shaders/pipelines to disk. Impide la carga y almacenamiento de sombreadores/canalizaciones al disco. - + Disable Vertex Shader Expand Deshabilitar expansión de sombreadores de vértices - + Falls back to the CPU for expanding sprites/lines. Utiliza la CPU como respaldo para la expansión de sprites/líneas. - + Changes when SPU samples are generated relative to system emulation. Cambia el momento en el que se generarán las muestras de la SPU con relación a la emulación del sistema. - + %d ms %d ms - + Settings and Operations Ajustes y operaciones - + Creates a new memory card file or folder. Crea un nuevo archivo o carpeta de Memory Card. - + Simulates a larger memory card by filtering saves only to the current game. Simula que la Memory Card tiene más espacio filtrando los datos guardados para mostrar solo los del juego actual. - + If not set, this card will be considered unplugged. Al desactivar esta opción, esta Memory Card se considerará desconectada. - + The selected memory card image will be used for this slot. La Memory Card que se utilizará para esta ranura. - + Enable/Disable the Player LED on DualSense controllers. Activa o desactiva el indicador de jugador en los mandos DualSense. - + Trigger Desencadenador - + Toggles the macro when the button is pressed, instead of held. Activa la macro al pulsar el botón en vez de al mantenerlo pulsado. - + Savestate Guardados rápidos - + Compression Method Método de compresión - + Sets the compression algorithm for savestate. Establece el algoritmo de compresión para los guardados rápidos. - + Compression Level Nivel de compresión - + Sets the compression level for savestate. Establece el nivel de compresión para los guardados rápidos. - + Version: %s Versión: %s - + {:%H:%M} {:%H:%M} - + Slot {} Ranura {} - + 1.25x Native (~450px) Nativa ×1,25 (~450 px) - + 1.5x Native (~540px) Nativa ×1,5 (~540 px) - + 1.75x Native (~630px) Nativa ×1,75 (~630 px) - + 2x Native (~720px/HD) Nativa ×2 (~720 px/HD) - + 2.5x Native (~900px/HD+) Nativa ×2,5 (~900 px/HD+) - + 3x Native (~1080px/FHD) Nativa ×3 (~1080 px/FHD) - + 3.5x Native (~1260px) Nativa ×3,5 (~1260 px) - + 4x Native (~1440px/QHD) Nativa ×4 (~1440 px/QHD) - + 5x Native (~1800px/QHD+) Nativa ×5 (~1800 px/QHD+) - + 6x Native (~2160px/4K UHD) Nativa ×6 (~2160 px/4K UHD) - + 7x Native (~2520px) Nativa ×7 (~2520 px) - + 8x Native (~2880px/5K UHD) Nativa ×8 (~2880 px/5K UHD) - + 9x Native (~3240px) Nativa ×9 (~3240 px) - + 10x Native (~3600px/6K UHD) Nativa ×10 (~3600 px/6K UHD) - + 11x Native (~3960px) Nativa ×11 (~3960 px) - + 12x Native (~4320px/8K UHD) Nativa ×12 (~4320 px/8K UHD) - + WebP WebP - + Aggressive Agresivo - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Bajo (rápido) - + Medium (Recommended) Medio (recomendado) - + Very High (Slow, Not Recommended) Muy alto (lento, no recomendado) - + Change Selection Cambiar la selección - + Select Seleccionar - + Parent Directory Directorio superior - + Enter Value Introducir valor - + About Acerca de - + Toggle Fullscreen Alternar pantalla completa - + Navigate Desplazar - + Load Global State Cargar guardado global - + Change Page Cambiar página - + Return To Game Volver a la partida - + Select State Seleccionar guardado - + Select Game Seleccionar juego - + Change View Cambiar vista - + Launch Options Opciones de ejecución - + Create Save State Backups Crear copias de seguridad de guardados rápidos - + Show PCSX2 Version Mostrar versión de PCSX2 - + Show Input Recording Status Mostrar estado de grabación de entrada - + Show Video Capture Status Mostrar estado de captura de vídeo - + Show Frame Times Mostrar duraciones de fotogramas - + Show Hardware Info Mostrar información de hardware - + Create Memory Card Crear Memory Card - + Configuration Configuración - + Start Game Ejecutar juego - + Launch a game from a file, disc, or starts the console without any disc inserted. Ejecuta un juego de un archivo, un disco o arranca la consola sin introducir un disco. - + Changes settings for the application. Cambia la configuración de la aplicación. - + Return to desktop mode, or exit the application. Vuelve al modo para escritorios o cierra la aplicación. - + Back Volver - + Return to the previous menu. Vuelve al menú anterior. - + Exit PCSX2 Salir de PCSX2 - + Completely exits the application, returning you to your desktop. Cierra por completo la aplicación y te devuelve al escritorio. - + Desktop Mode Modo escritorio - + Exits Big Picture mode, returning to the desktop interface. Cierra el modo Big Picture y vuelve a la interfaz para escritorios. - + Resets all configuration to defaults (including bindings). Restablece toda la configuración a sus valores predeterminados (incluyendo las asignaciones). - + Replaces these settings with a previously saved input profile. Reemplaza esta configuración por la de un perfil de entrada existente. - + Stores the current settings to an input profile. Guarda la configuración actual a un perfil de entrada. - + Input Sources Orígenes de entrada - + The SDL input source supports most controllers. El origen de entrada SDL es compatible con la mayoría de mandos. - + Provides vibration and LED control support over Bluetooth. Ofrece soporte para vibración y control de luces led a través de Bluetooth. - + Allow SDL to use raw access to input devices. Permite que SDL pueda acceder a los datos sin procesar de los dispositivos de entrada. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. El origen XInput ofrece compatibilidad para los mandos de Xbox 360/Xbox One/Xbox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Habilita tres puertos de mando adicionales. El multitap no es compatible con todos los juegos. - + Attempts to map the selected port to a chosen controller. Intenta asignar los controles de este puerto a un mando o control. - + Determines how much pressure is simulated when macro is active. Determina la cantidad de presión que se simulará cuando se active la macro. - + Determines the pressure required to activate the macro. Determina la presión necesaria para activar la macro. - + Toggle every %d frames Alternar cada %d fotograma(s) - + Clears all bindings for this USB controller. Borra todas las asignaciones para este mando USB. - + Data Save Locations Ubicaciones de datos guardados - + Show Advanced Settings Mostrar ajustes avanzados - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Cambiar estas opciones puede provocar que los juegos dejen de funcionar. El equipo de PCSX2 no te dará soporte técnico si has cambiado estos ajustes. - + Logging Registros - + System Console Consola del sistema - + Writes log messages to the system console (console window/standard output). Escribe mensajes de registro en la consola del sistema (ventana de consola/salida estándar). - + File Logging Registro en archivo - + Writes log messages to emulog.txt. Escribe los mensajes del registro en el archivo emulog.txt. - + Verbose Logging Registro detallado - + Writes dev log messages to log sinks. Escribe mensajes de registro de desarrollo en los receptores de registro. - + Log Timestamps Marcas de tiempo en los registros - + Writes timestamps alongside log messages. Escribe marcas de tiempo junto con los mensajes de registro. - + EE Console Consola del EE - + Writes debug messages from the game's EE code to the console. Escribe mensajes de depuración del código EE del juego a la consola. - + IOP Console Consola del IOP - + Writes debug messages from the game's IOP code to the console. Escribe mensajes de depuración del código IOP del juego a la consola. - + CDVD Verbose Reads Lecturas detalladas del CDVD - + Logs disc reads from games. Registra las lecturas a disco de los juegos. - + Emotion Engine Emotion Engine - + Rounding Mode Modo de redondeo - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determina cómo se redondearán los resultados de las operaciones de coma flotante. Algunos juegos necesitan un ajuste concreto. - + Division Rounding Mode Modo de redondeo de divisiones - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determina cómo se redondearán las divisiones de valores con coma flotante. Algunos juegos necesitan un ajuste concreto. - + Clamping Mode Modo de limitación - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determina cómo se gestionarán los números de coma flotante que estén fuera de rango. Algunos juegos necesitan un ajuste concreto. - + Enable EE Recompiler Habilitar recompilador del EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Realiza una traducción binaria «just-in-time» del código máquina MIPS-IV de 64 bits a código nativo. - + Enable EE Cache Habilitar caché del EE - + Enables simulation of the EE's cache. Slow. Permite simular la caché del EE. Lento. - + Enable INTC Spin Detection Detección de bucles en el INTC - + Huge speedup for some games, with almost no compatibility side effects. Mejora en gran medida la velocidad de algunos juegos sin tener casi ningún efecto secundario en la compatibilidad. - + Enable Wait Loop Detection Detección de bucles de espera - + Moderate speedup for some games, with no known side effects. Mejora moderadamente la velocidad de algunos juegos sin efectos secundarios conocidos. - + Enable Fast Memory Access Habilitar acceso rápido a memoria - + Uses backpatching to avoid register flushing on every memory access. Utiliza la técnica de «backpatching» (retroparcheado) para evitar que se vacíen los registros con cada acceso a memoria. - + Vector Units Vector Units (unidades vectoriales, VU) - + VU0 Rounding Mode Modo de redondeo de la VU0 - + VU0 Clamping Mode Modo de limitación de la VU0 - + VU1 Rounding Mode Modo de redondeo de la VU1 - + VU1 Clamping Mode Modo de limitación de la VU1 - + Enable VU0 Recompiler (Micro Mode) Habilitar recompilador de la VU0 (modo micro) - + New Vector Unit recompiler with much improved compatibility. Recommended. Un nuevo recompilador de las Vector Units con una compatibilidad muy mejorada. Opción recomendada. - + Enable VU1 Recompiler Habilitar recompilador de la VU1 - + Enable VU Flag Optimization Habilitar optimización de indicadores de las VU - + Good speedup and high compatibility, may cause graphical errors. Mejora bastante la velocidad y tiene una alta compatibilidad, pero podría provocar errores gráficos. - + I/O Processor Procesador de E/S - + Enable IOP Recompiler Habilitar recompilador del IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Realiza una traducción binaria «just-in-time» del código máquina MIPS-I de 32 bits a código nativo. - + Graphics Gráficos - + Use Debug Device Utilizar dispositivo de depuración - + Settings Ajustes - + No cheats are available for this game. No hay trucos disponibles para este juego. - + Cheat Codes Códigos de trucos - + No patches are available for this game. No hay parches disponibles para este juego. - + Game Patches Parches de juego - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Los trucos pueden provocar comportamientos impredecibles, cuelgues, bloqueos por software o dañar tus partidas. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Los parches pueden provocar comportamientos impredecibles, cuelgues, bloqueos por software o dañar tus partidas. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Utiliza los parches bajo tu propia responsabilidad: el equipo de PCSX2 no dará soporte a quienes utilicen parches de juegos. - + Game Fixes Correcciones para juegos - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Estas correcciones no deberían cambiarse si no sabes perfectamente qué hace cada opción y sus consecuencias. - + FPU Multiply Hack Corrección de multiplicaciones de la FPU - + For Tales of Destiny. Para Tales of Destiny. - + Preload TLB Hack Corrección de precarga del TLB - + Needed for some games with complex FMV rendering. Necesario para algunos juegos que renderizan los vídeos FMV de una forma compleja. - + Skip MPEG Hack Corrección para omitir el formato MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. Omite los vídeos o FMV de los juegos para evitar cuelgues o bloqueos. - + OPH Flag Hack Corrección del indicador OPH - + EE Timing Hack Corrección de sincronización del EE - + Instant DMA Hack Corrección de DMA instantáneo - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Afecta a los siguientes juegos: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Para la interfaz de SOCOM 2 y los cuelgues al cargar en Spy Hunter. - + VU Add Hack Corrección de sumas de las VU - + Full VU0 Synchronization Sincronización total de la VU0 - + Forces tight VU0 sync on every COP2 instruction. Fuerza una sincronización estricta de la VU0 por cada instrucción COP2. - + VU Overflow Hack Corrección de desbordamiento de las VU - + To check for possible float overflows (Superman Returns). Comprueba los posibles desbordamientos en los valores de coma flotante (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Utiliza una sincronización precisa para los XGKicks de las VU (más lenta). - + Load State Cargar guardado rápido - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Omite ciclos de procesamiento del Emotion Engine emulado. Ayuda a pocos juegos, como SOTC. En la mayoría de los casos es perjudicial para el rendimiento. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Suele mejorar la velocidad en CPU con cuatro o más núcleos. Una opción segura para la mayoría de juegos, pero algunos son incompatibles y podrían quedarse colgados. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Ejecuta la VU1 de forma instantánea. Mejora levemente la velocidad en la mayoría de juegos. Una opción casi segura, pero algunos juegos podrían mostrar errores gráficos. - + Disable the support of depth buffers in the texture cache. Desactiva el soporte de los búferes de profundidad en la caché de texturas. - + Disable Render Fixes Deshabilitar correcciones de renderizado - + Preload Frame Data Precargar datos de fotograma - + Texture Inside RT Texturas dentro de RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Al activar esta opción, la GPU convertirá las texturas con mapas de colores. En caso contrario, lo hará la CPU. Compensa la GPU y la CPU. - + Half Pixel Offset Compensación de medio píxel - + Texture Offset X Compensación X de texturas - + Texture Offset Y Compensación Y de texturas - + Dumps replaceable textures to disk. Will reduce performance. Vuelca las texturas reemplazables al disco. El rendimiento se reducirá. - + Applies a shader which replicates the visual effects of different styles of television set. Aplica un sombreador que reproduce los efectos visuales de varios tipos de televisores. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Omite los fotogramas que no cambien en juegos a 25/30 FPS. Puede mejorar la velocidad, pero también aumentar el retraso de entrada o empeorar el ritmo de fotogramas. - + Enables API-level validation of graphics commands. Activa una validación a nivel de API de los comandos de gráficos. - + Use Software Renderer For FMVs Utilizar el renderizador por software para los vídeos FMV - + To avoid TLB miss on Goemon. Para evitar los fallos del TLB en los juegos de Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Corrección de sincronización de uso general. Afecta a los siguientes juegos: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Ideal para problemas de emulación de caché. Afecta a los siguientes juegos: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Afecta a los siguientes juegos: Bleach Blade Battlers, Growlanser II y III, Wizardry. - + Emulate GIF FIFO Emular FIFO del GIF - + Correct but slower. Known to affect the following games: Fifa Street 2. Más correcto, pero más lento. Afecta a los siguientes juegos: Fifa Street 2. - + DMA Busy Hack Corrección para DMA saturado - + Delay VIF1 Stalls Retrasar paralizaciones de la VIF1 - + Emulate VIF FIFO Emular FIFO de la VIF - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simula las lecturas adelantadas FIFO de la VIF1. Afecta a los siguientes juegos: Test Drive Unlimited, Transformers. - + VU I Bit Hack Corrección del bit I de las VU - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Evita la recompilación constante de algunos juegos. Afecta a los siguientes: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Para juegos de Tri-Ace: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync Sincronizar las VU - + Run behind. To avoid sync problems when reading or writing VU registers. Para evitar problemas de sincronización al leer o escribir en los registros de las VU. - + VU XGKick Sync Sincronizar XGKicks de las VU - + Force Blit Internal FPS Detection Forzar detección interna de FPS mediante el BLIT - + Save State Crear guardado rápido - + Load Resume State Cargar guardado de continuación - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? ¿Deseas cargar este guardado rápido? - + Region: Región: - + Compatibility: Compatibilidad: - + No Game Selected No se ha seleccionado un juego - + Search Directories Directorios de búsqueda - + Adds a new directory to the game search list. Añade un directorio nuevo a la lista de búsqueda de juegos. - + Scanning Subdirectories Búsqueda en subdirectorios activada - + Not Scanning Subdirectories Búsqueda en subdirectorios desactivada - + List Settings Ajustes de la lista - + Sets which view the game list will open to. Establece la vista inicial de la lista de juegos. - + Determines which field the game list will be sorted by. Determina el campo que se utilizará para ordenar la lista de juegos. - + Reverses the game list sort order from the default (usually ascending to descending). Invierte el orden predeterminado de la lista de juegos (normalmente de ascendente a descendente). - + Cover Settings Ajustes de carátulas - + Downloads covers from a user-specified URL template. Descarga las carátulas de un modelo de URL especificado por el usuario. - + Operations Operaciones - + Selects where anisotropic filtering is utilized when rendering textures. Selecciona cómo se aplicará el filtrado anisotrópico para renderizar texturas. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Utiliza un método alternativo para calcular los FPS internos y evitar falsas lecturas en algunos juegos. - + Identifies any new files added to the game directories. Identifica cualquier archivo nuevo que se haya añadido a los directorios de juegos. - + Forces a full rescan of all games previously identified. Fuerza una búsqueda completa de todos los juegos ya identificados. - + Download Covers Descargar carátulas - + About PCSX2 Acerca de PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 es un emulador de PlayStation 2 (PS2) gratuito y de código abierto, cuyo fin es emular el hardware de PS2 mediante una combinación de intérpretes y recompiladores de la CPU MIPS y una máquina virtual que gestiona los estados del hardware y la memoria del sistema de PS2. De esta forma puedes ejecutar juegos de PS2 en tu PC con todo tipo de prestaciones y beneficios adicionales. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 y PS2 son marcas registradas de Sony Interactive Entertainment. Esta aplicación no está afiliada de ninguna forma con Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Al activar esta opción y una vez hayas iniciado sesión, PCSX2 buscará logros al arrancar. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. El modo más desafiante, que incluye un seguimiento de las tablas de clasificación. Desactiva las características de guardado rápido, trucos y ralentización. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Muestra mensajes emergentes en ciertas situaciones, como el desbloqueo de logros y el envío de puntuaciones a las tablas. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Reproduce efectos de sonido en ciertas situaciones, como el desbloqueo de logros y el envío de puntuaciones a las tablas. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Muestra iconos en la esquina inferior derecha de la pantalla cuando haya un logro activo o un desafío. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Al activar esta opción, PCSX2 mostrará los logros de colecciones no oficiales. RetroAchievements no hará un seguimiento de estos logros. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Al activar esta opción, PCSX2 asumirá que todos los logros están bloqueados y no enviará notificaciones de desbloqueo al servidor. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pausa el emulador cuando se desconecte un mando que tenga asignaciones. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Crea una copia de seguridad de un guardado rápido si este ya existe. La copia de seguridad incluye el sufijo .backup. - + Enable CDVD Precaching Habilitar precacheado de CDVD - + Loads the disc image into RAM before starting the virtual machine. Carga la imagen del disco en la memoria RAM antes de ejecutar la máquina virtual. - + Vertical Sync (VSync) Sincronización vertical («VSync») - + Sync to Host Refresh Rate Sincronizar con la frecuencia de actualización del equipo - + Use Host VSync Timing Usar temporización del equipo para VSync - + Disables PCSX2's internal frame timing, and uses host vsync instead. Desactiva la temporización de fotogramas interna de PCSX2 para utilizar la del equipo en la sincronización vertical. - + Disable Mailbox Presentation Deshabilitar presentación «mailbox» - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Fuerza la presentación FIFO en vez de la tipo «mailbox», es decir: búfer doble en vez de triple. Suele producir un ritmo de fotogramas peor. - + Audio Control Control de audio - + Controls the volume of the audio played on the host. Controla el volumen del audio que se reproduzca en el equipo. - + Fast Forward Volume Volumen durante avance rápido - + Controls the volume of the audio played on the host when fast forwarding. Controla el volumen del audio que se reproduzca en el equipo cuando utilices el avance rápido. - + Mute All Sound Silenciar todo - + Prevents the emulator from producing any audible sound. Impide que el emulador produzca sonidos de cualquier tipo. - + Backend Settings Ajustes del «back-end» - + Audio Backend «Back-end» de audio - + The audio backend determines how frames produced by the emulator are submitted to the host. El «back-end» de audio determina cómo se enviarán al equipo los fotogramas de audio producidos por el emulador. - + Expansion Expansión - + Determines how audio is expanded from stereo to surround for supported games. Determina la forma de expandir el audio de estéreo a surround/envolvente en aquellos juegos que sean compatibles. - + Synchronization Sincronización - + Buffer Size Tamaño de búfer - + Determines the amount of audio buffered before being pulled by the host API. Determina la cantidad de audio que se almacenará en un búfer antes de que lo invoque la API del equipo. - + Output Latency Latencia de salida - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determina la cantidad de latencia que hay entre que el audio es captado por la API del equipo y es reproducido por los altavoces. - + Minimal Output Latency Latencia mínima de salida - + When enabled, the minimum supported output latency will be used for the host API. Al activar esta opción, se utilizará la latencia mínima de salida que admita la API del equipo. - + Thread Pinning Prefijado de subprocesos - + Force Even Sprite Position Forzar posicionado de sprites a números pares - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Muestra mensajes emergentes al activar, enviar o fracasar un desafío de una tabla de clasificación. - + When enabled, each session will behave as if no achievements have been unlocked. Al activar esta opción, cada sesión de juego se comportará como si no se hubiesen desbloqueado logros. - + Account Cuenta - + Logs out of RetroAchievements. Cierra la sesión de RetroAchievements. - + Logs in to RetroAchievements. Inicia sesión en RetroAchievements. - + Current Game Juego actual - + An error occurred while deleting empty game settings: {} Se ha producido un error al eliminar unos ajustes del juego en blanco: {} - + An error occurred while saving game settings: {} Se ha producido un error al guardar los ajustes del juego: {} - + {} is not a valid disc image. {} no es una imagen de disco válida. - + Automatic mapping completed for {}. Asignación automática de {} finalizada. - + Automatic mapping failed for {}. Error en la asignación automática de {}. - + Game settings initialized with global settings for '{}'. Ajustes del juego «{}» creados con la configuración global. - + Game settings have been cleared for '{}'. Ajustes del juego «{}» borrados. - + {} (Current) {} (actual) - + {} (Folder) {} (carpeta) - + Failed to load '{}'. Error al cargar «{}». - + Input profile '{}' loaded. Perfil de entrada «{}» cargado. - + Input profile '{}' saved. Perfil de entrada «{}» guardado. - + Failed to save input profile '{}'. Error al guardar el perfil de entrada «{}». - + Port {} Controller Type Tipo de mando del puerto {} - + Select Macro {} Binds Seleccionar asignaciones de la macro {} - + Port {} Device Dispositivo del puerto {} - + Port {} Subtype Subtipo del puerto {} - + {} unlabelled patch codes will automatically activate. Se activará(n) automáticamente {} código(s) de parches sin etiquetar. - + {} unlabelled patch codes found but not enabled. Se ha(n) encontrado {} código(s) de parches, pero no ha(n) sido activado(s). - + This Session: {} Esta sesión: {} - + All Time: {} Tiempo total: {} - + Save Slot {0} Espacio de guardado {0} - + Saved {} Fecha: {} - + {} does not exist. {} no existe. - + {} deleted. Se ha eliminado: {}. - + Failed to delete {}. Error al eliminar {}. - + File: {} Archivo: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Tiempo jugado: {} - + Last Played: {} Última partida: {} - + Size: {:.2f} MB Tamaño: {:.2f} MB - + Left: Izda.: - + Top: Arriba: - + Right: Dcha.: - + Bottom: Abajo: - + Summary Resumen - + Interface Settings Ajustes de la interfaz - + BIOS Settings Ajustes de BIOS - + Emulation Settings Ajustes de emulación - + Graphics Settings Ajustes de gráficos - + Audio Settings Ajustes de audio - + Memory Card Settings Ajustes de Memory Cards - + Controller Settings Ajustes de mandos - + Hotkey Settings Ajustes de teclas de acceso rápido - + Achievements Settings Ajustes de logros - + Folder Settings Ajustes de carpetas - + Advanced Settings Ajustes avanzados - + Patches Parches - + Cheats Trucos - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2 % [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10 % [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25 % [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50 % [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75 % [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90 % [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100 % [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110 % [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120 % [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150 % [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175 % [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200 % [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300 % [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400 % [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500 % [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000 % [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed Velocidad al 50 % - + 60% Speed Velocidad al 60 % - + 75% Speed Velocidad al 75 % - + 100% Speed (Default) Velocidad al 100 % (predeterminada) - + 130% Speed Velocidad al 130 % - + 180% Speed Velocidad al 180 % - + 300% Speed Velocidad al 300 % - + Normal (Default) Normal (valor predeterminado) - + Mild Underclock Bajar ligeramente la velocidad - + Moderate Underclock Bajar moderadamente la velocidad - + Maximum Underclock Bajada máxima de velocidad - + Disabled Opción desactivada - + 0 Frames (Hard Sync) 0 fotogramas (sincronización forzada) - + 1 Frame 1 fotograma - + 2 Frames 2 fotogramas - + 3 Frames 3 fotogramas - + None No hacer nada - + Extra + Preserve Sign Extra + conservar signo - + Full Todo - + Extra Extra - + Automatic (Default) Ajuste automático (predeterminado) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Nulo - + Off No - + Bilinear (Smooth) Bilineal (suavizado) - + Bilinear (Sharp) Bilineal (realzado) - + Weave (Top Field First, Sawtooth) «Weave» (campo superior, muestra dientes de sierra) - + Weave (Bottom Field First, Sawtooth) «Weave» (campo inferior, muestra dientes de sierra) - + Bob (Top Field First) Bob (empezando por el campo superior) - + Bob (Bottom Field First) Bob (empezando por el campo inferior) - + Blend (Top Field First, Half FPS) Fusión («Blend», campo superior, FPS a la mitad) - + Blend (Bottom Field First, Half FPS) Fusión («Blend», campo inferior, FPS a la mitad) - + Adaptive (Top Field First) Adaptativo (empezando por el campo superior) - + Adaptive (Bottom Field First) Adaptativo (empezando por el campo inferior) - + Native (PS2) Nativa (PS2) - + Nearest Vecino más cercano - + Bilinear (Forced) Bilineal (forzado) - + Bilinear (PS2) Bilineal (estilo PS2) - + Bilinear (Forced excluding sprite) Bilineal (forzado salvo a sprites) - + Off (None) Desactivar filtro trilineal - + Trilinear (PS2) Trilineal (estilo PS2) - + Trilinear (Forced) Trilineal (forzado) - + Scaled A escala - + Unscaled (Default) Sin escalar (predeterminado) - + Minimum Mínima - + Basic (Recommended) Básica (recomendada) - + Medium Media - + High Alta - + Full (Slow) Completa (lenta) - + Maximum (Very Slow) Máxima (muy lenta) - + Off (Default) No cambiar (predeterminado) - + 2x x2 - + 4x x4 - + 8x x8 - + 16x x16 - + Partial Parcial - + Full (Hash Cache) Completa (caché con «hashes») - + Force Disabled Forzar desactivación - + Force Enabled Forzar activación - + Accurate (Recommended) Preciso (recomendado) - + Disable Readbacks (Synchronize GS Thread) Deshabilitar cotejado (sincronizar el subproceso del GS) - + Unsynchronized (Non-Deterministic) Sin sincronizar (no determinista) - + Disabled (Ignore Transfers) Desactivado (ignorar las transferencias) - + Screen Resolution Resolución de pantalla - + Internal Resolution (Aspect Uncorrected) Resolución interna (sin corregir el aspecto) - + Load/Save State Cargar/Guardar - + WARNING: Memory Card Busy ADVERTENCIA: Memory Card ocupada - + Cannot show details for games which were not scanned in the game list. No se pueden mostrar detalles para aquellos juegos que no se encuentren en la lista de juegos. - + Pause On Controller Disconnection Pausar al desconectarse un mando - + + Use Save State Selector + Usar selector de guardados rápidos + + + SDL DualSense Player LED Indicadores de jugador para DualSense mediante SDL - + Press To Toggle Pulsar para alternar - + Deadzone Zona muerta - + Full Boot Arranque completo - + Achievement Notifications Notificaciones de logros - + Leaderboard Notifications Notificaciones de tablas de clasificación - + Enable In-Game Overlays Superposiciones dentro del juego - + Encore Mode Modo «encore» (de nueva partida) - + Spectator Mode Modo espectador - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convierte los búferes de fotogramas de 4 y 8 bits en la CPU, no en la GPU. - + Removes the current card from the slot. Extrae la Memory Card actual de la ranura. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determina la frecuencia con la que la macro activará y desactivará los botones (autodisparo/«autofire»). - + {} Frames {} fotogramas - + No Deinterlacing No desentrelazar - + Force 32bit Forzar 32 bits - + JPEG JPEG - + 0 (Disabled) 0 (desactivar) - + 1 (64 Max Width) 1 (ancho máximo de 64) - + 2 (128 Max Width) 2 (ancho máximo de 128) - + 3 (192 Max Width) 3 (ancho máximo de 192) - + 4 (256 Max Width) 4 (ancho máximo de 256) - + 5 (320 Max Width) 5 (ancho máximo de 320) - + 6 (384 Max Width) 6 (ancho máximo de 384) - + 7 (448 Max Width) 7 (ancho máximo de 448) - + 8 (512 Max Width) 8 (ancho máximo de 512) - + 9 (576 Max Width) 9 (ancho máximo de 576) - + 10 (640 Max Width) 10 (ancho máximo de 640) - + Sprites Only Solo sprites - + Sprites/Triangles Sprites/Triángulos - + Blended Sprites/Triangles Sprites fusionados/Triángulos - + 1 (Normal) 1 (normal) - + 2 (Aggressive) 2 (agresivo) - + Inside Target Dentro del objetivo - + Merge Targets Fusionar objetivos - + Normal (Vertex) Normal (vértices) - + Special (Texture) Especial (texturas) - + Special (Texture - Aggressive) Especial (texturas, agresivo) - + Align To Native Alinear a resolución nativa - + Half Medio píxel - + Force Bilinear Forzar bilineal - + Force Nearest Forzar vecino más cercano - + Disabled (Default) Opción desactivada (predeterminado) - + Enabled (Sprites Only) Activada (solo sprites) - + Enabled (All Primitives) Activada (todos los primitivos) - + None (Default) No (predeterminado) - + Sharpen Only (Internal Resolution) Solo realzar (mediante resolución interna) - + Sharpen and Resize (Display Resolution) Realzar y redimensionar (resolución de visualización) - + Scanline Filter Filtro de líneas de exploración - + Diagonal Filter Filtro diagonal - + Triangular Filter Filtro triangular - + Wave Filter Filtro ondulado - + Lottes CRT CRT de Lottes - + 4xRGSS RGSSx4 - + NxAGSS AGSSxN - + Uncompressed Sin comprimir - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8 MB) - + PS2 (16MB) PS2 (16 MB) - + PS2 (32MB) PS2 (32 MB) - + PS2 (64MB) PS2 (64 MB) - + PS1 PS1 - + Negative Negativo - + Positive Positivo - + Chop/Zero (Default) Eliminar/cero (predeterminado) - + Game Grid Cuadrícula de juegos - + Game List Lista de juegos - + Game List Settings Ajustes de la lista de juegos - + Type Tipo - + Serial N.º de serie - + Title Título - + File Title Título del archivo - + CRC CRC - + Time Played Tiempo jugado - + Last Played Última partida - + Size Tamaño - + Select Disc Image Seleccionar imagen de disco - + Select Disc Drive Seleccionar unidad de disco - + Start File Ejecutar archivo - + Start BIOS Ejecutar BIOS - + Start Disc Ejecutar disco - + Exit Salir - + Set Input Binding Establecer asignación de entrada - + Region Región - + Compatibility Rating Valoración de compatibilidad - + Path Ruta - + Disc Path Ruta del disco - + Select Disc Path Seleccionar ruta del disco - + Copy Settings Copiar configuración - + Clear Settings Borrar configuración - + Inhibit Screensaver Desactivar salvapantallas - + Enable Discord Presence Habilitar presencia en Discord - + Pause On Start Pausar nada más iniciar - + Pause On Focus Loss Pausar al pasar a segundo plano - + Pause On Menu Pausar al entrar en el menú - + Confirm Shutdown Confirmar apagado - + Save State On Shutdown Crear guardado rápido al apagar - + Use Light Theme Usar tema claro - + Start Fullscreen Iniciar a pantalla completa - + Double-Click Toggles Fullscreen Hacer doble clic para pantalla completa - + Hide Cursor In Fullscreen Ocultar cursor en pantalla completa - + OSD Scale Escala de presentación en pantalla - + Show Messages Mostrar mensajes - + Show Speed Mostrar velocidad - + Show FPS Mostrar FPS - + Show CPU Usage Mostrar uso de la CPU - + Show GPU Usage Mostrar uso de la GPU - + Show Resolution Mostrar resolución - + Show GS Statistics Mostrar estadísticas del GS - + Show Status Indicators Mostrar indicadores de estado - + Show Settings Mostrar ajustes - + Show Inputs Mostrar entradas - + Warn About Unsafe Settings Advertir de ajustes que no sean seguros - + Reset Settings Reiniciar ajustes - + Change Search Directory Cambiar directorio de búsqueda - + Fast Boot Arranque rápido - + Output Volume Volumen de salida - + Memory Card Directory Directorio de Memory Cards - + Folder Memory Card Filter Filtrar carpetas de Memory Card - + Create Crear - + Cancel Cancelar - + Load Profile Cargar perfil - + Save Profile Guardar perfil - + Enable SDL Input Source Habilitar origen de entrada SDL - + SDL DualShock 4 / DualSense Enhanced Mode Modo SDL mejorado para DualShock 4/DualSense - + SDL Raw Input Entrada sin procesar SDL - + Enable XInput Input Source Habilitar origen de entrada XInput - + Enable Console Port 1 Multitap Habilitar multitap en el puerto de mando 1 - + Enable Console Port 2 Multitap Habilitar multitap en el puerto de mando 2 - + Controller Port {}{} Puerto de mando {}{} - + Controller Port {} Puerto de mando {} - + Controller Type Tipo de mando - + Automatic Mapping Asignación automática - + Controller Port {}{} Macros Macros del puerto de mando {}{} - + Controller Port {} Macros Macros del puerto de mando {} - + Macro Button {} Botones de macro {} - + Buttons Botones - + Frequency Frecuencia - + Pressure Presión - + Controller Port {}{} Settings Ajustes del puerto de mando {}{} - + Controller Port {} Settings Ajustes del puerto de mando {} - + USB Port {} Puerto USB {} - + Device Type Tipo de dispositivo - + Device Subtype Subtipo de dispositivo - + {} Bindings Asignaciones de {} - + Clear Bindings Borrar asignaciones - + {} Settings Ajustes de {} - + Cache Directory Directorio de la caché - + Covers Directory Directorio de carátulas - + Snapshots Directory Directorio de capturas de imagen - + Save States Directory Directorio de guardados rápidos - + Game Settings Directory Directorio de ajustes de juegos - + Input Profile Directory Directorio de perfiles de entrada - + Cheats Directory Directorio de trucos - + Patches Directory Directorio de parches - + Texture Replacements Directory Directorio de texturas de reemplazo - + Video Dumping Directory Directorio de volcado de vídeos - + Resume Game Continuar partida - + Toggle Frame Limit Alternar limitador de fotogramas - + Game Properties Propiedades del juego - + Achievements Logros - + Save Screenshot Guardar captura de pantalla - + Switch To Software Renderer Cambiar a renderizador por software - + Switch To Hardware Renderer Cambiar a renderizador por hardware - + Change Disc Cambiar disco - + Close Game Cerrar juego - + Exit Without Saving Salir sin guardar - + Back To Pause Menu Volver al menú de pausa - + Exit And Save State Salir y hacer un guardado rápido - + Leaderboards Tablas de clasificación - + Delete Save Eliminar guardado rápido - + Close Menu Cerrar menú - + Delete State Eliminar guardado rápido - + Default Boot Arranque predeterminado - + Reset Play Time Restablecer tiempo jugado - + Add Search Directory Añadir directorio de búsqueda - + Open in File Browser Abrir en el explorador de archivos - + Disable Subdirectory Scanning Deshabilitar búsqueda en subdirectorios - + Enable Subdirectory Scanning Habilitar búsqueda en subdirectorios - + Remove From List Quitar de la lista - + Default View Vista predeterminada - + Sort By Orden - + Sort Reversed Invertir orden - + Scan For New Games Buscar juegos nuevos - + Rescan All Games Volver a buscar todos los juegos - + Website Página web - + Support Forums Foros para asistencia técnica - + GitHub Repository Repositorio de GitHub - + License Licencia - + Close Cerrar - + RAIntegration is being used instead of the built-in achievements implementation. Se está utilizando RAIntegration en vez de la implementación nativa de logros. - + Enable Achievements Habilitar logros - + Hardcore Mode Modo «hardcore» - + Sound Effects Efectos de sonido - + Test Unofficial Achievements Probar logros no oficiales - + Username: {} Usuario: {} - + Login token generated on {} Fecha de creación del token de acceso: {} - + Logout Cerrar sesión - + Not Logged In No se ha iniciado sesión - + Login Iniciar sesión - + Game: {0} ({1}) Juego: {0} ({1}) - + Rich presence inactive or unsupported. El modo de «Rich Presence» no se encuentra activo o no está soportado. - + Game not loaded or no RetroAchievements available. No se ha cargado un juego o no tiene RetroAchievements disponibles. - + Card Enabled Activar Memory Card - + Card Name Nombre de Memory Card - + Eject Card Expulsar Memory Card @@ -11073,32 +11132,42 @@ La búsqueda recursiva llevará más tiempo, pero identificará todo archivo que Se van a desactivar todos los parches incluidos en PCSX2 para este juego, ya que has cargado parches sin etiquetar. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Los parches de imagen panorámica están <span style=" font-weight:600;">ACTIVADOS</span> de forma global.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Los parches para desactivar el entrelazado están <span style=" font-weight:600;">ACTIVADOS</span> de forma global.</p></body></html> + + + All CRCs Todos los CRC - + Reload Patches Recargar parches - + Show Patches For All CRCs Mostrar parches para todos los CRC - + Checked activado - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Permite buscar archivos de parches para todas las sumas de comprobación CRC del juego. Al activar esta opción, también se cargarán los parches que haya disponibles para el mismo número de serie del juego, pero con CRC distintos. - + There are no patches available for this game. No hay parches disponibles para este juego. @@ -11574,11 +11643,11 @@ La búsqueda recursiva llevará más tiempo, pero identificará todo archivo que - - - - - + + + + + Off (Default) No cambiar (predeterminado) @@ -11588,10 +11657,10 @@ La búsqueda recursiva llevará más tiempo, pero identificará todo archivo que - - - - + + + + Automatic (Default) Ajuste automático (predeterminado) @@ -11658,7 +11727,7 @@ La búsqueda recursiva llevará más tiempo, pero identificará todo archivo que - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilineal (suavizado) @@ -11724,29 +11793,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Compensación de imagen - + Show Overscan Mostrar área de sobrebarrido - - - Enable Widescreen Patches - Habilitar parches de imagen panorámica - - - - Enable No-Interlacing Patches - Habilitar parches para desactivar el entrelazado - - + Anti-Blur Filtro antiborrosidad @@ -11757,7 +11816,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Deshabilitar compensación de entrelazado @@ -11767,18 +11826,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Tamaño de capturas de pantalla: - + Screen Resolution resolución de pantalla - + Internal Resolution Resolución interna - + PNG PNG @@ -11830,7 +11889,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilineal (estilo PS2) @@ -11877,7 +11936,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Sin escalar (predeterminado) @@ -11893,7 +11952,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Básica (recomendada) @@ -11929,7 +11988,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Completa (caché con «hashes») @@ -11945,31 +12004,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Deshabilitar conversión de profundidad - + GPU Palette Conversion Conversión de paletas en la GPU - + Manual Hardware Renderer Fixes Correcciones manuales para el renderizador por hardware - + Spin GPU During Readbacks Mantener la GPU en marcha al cotejar - + Spin CPU During Readbacks Mantener la CPU en marcha al cotejar @@ -11981,15 +12040,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping «Mipmapping» - - + + Auto Flush Vaciado automático @@ -12017,8 +12076,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (desactivar) @@ -12075,18 +12134,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Deshabilitar funcionalidades seguras - + Preload Frame Data Precargar datos de fotograma - + Texture Inside RT Texturas dentro de RT @@ -12185,13 +12244,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Fusionar sprites - + Align Sprite Alinear sprites @@ -12205,16 +12264,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No desentrelazar - - - Apply Widescreen Patches - Aplicar parches de imagen panorámica - - - - Apply No-Interlacing Patches - Aplicar parches para desactivar el entrelazado - Window Resolution (Aspect Corrected) @@ -12287,25 +12336,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Deshabilitar invalidación parcial de origen - + Read Targets When Closing Leer objetivos al cerrar - + Estimate Texture Region Calcular regiones de texturas - + Disable Render Fixes Deshabilitar correcciones de renderizado @@ -12316,7 +12365,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Dibujar texturas de paletas sin escalarlas @@ -12375,25 +12424,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Volcar texturas - + Dump Mipmaps Volcar «mipmaps» - + Dump FMV Textures Volcar texturas de vídeos FMV - + Load Textures Cargar texturas @@ -12403,6 +12452,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Nativa (10:7) + + + Apply Widescreen Patches + Aplicar parches de imagen panorámica + + + + Apply No-Interlacing Patches + Aplicar parches para desactivar el entrelazado + Native Scaling @@ -12420,13 +12479,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Forzar posicionado de sprites a números pares - + Precache Textures Precachear texturas @@ -12449,8 +12508,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) No (predeterminado) @@ -12471,7 +12530,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12523,7 +12582,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Mejora del tono @@ -12538,7 +12597,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contraste: - + Saturation Saturación @@ -12559,50 +12618,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Mostrar indicadores - + Show Resolution Mostrar resolución - + Show Inputs Mostrar entradas - + Show GPU Usage Mostrar uso de la GPU - + Show Settings Mostrar ajustes - + Show FPS Mostrar FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Deshabilitar presentación «mailbox» - + Extended Upscaling Multipliers Extender multiplicadores de escalado @@ -12618,13 +12677,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Mostrar estadísticas - + Asynchronous Texture Loading Carga de texturas asincrónica @@ -12635,13 +12694,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Mostrar uso de la CPU - + Warn About Unsafe Settings Advertir de ajustes que no sean seguros @@ -12667,7 +12726,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Izquierda (predeterminada) @@ -12678,43 +12737,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Derecha (predeterminada) - + Show Frame Times Mostrar duraciones de fotogramas - + Show PCSX2 Version Mostrar versión de PCSX2 - + Show Hardware Info Mostrar información de hardware - + Show Input Recording Status Mostrar estado de grabación de entrada - + Show Video Capture Status Mostrar estado de captura de vídeo - + Show VPS Mostrar VPS @@ -12823,19 +12882,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Omitir fotogramas duplicados - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12888,7 +12947,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Mostrar porcentajes de velocidad @@ -12898,1214 +12957,1214 @@ Swap chain: see Microsoft's Terminology Portal. Deshabilitar acceso al búfer de fotogramas - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Nulo - + 2x x2 - + 4x x4 - + 8x x8 - + 16x x16 - - - - + + + + Use Global Setting [%1] Utilizar configuración global [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked desactivado - + + Enable Widescreen Patches + Habilitar parches de imagen panorámica + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Carga y aplica automáticamente los parches de imagen panorámica al iniciar el juego. Podría provocar problemas. - + + Enable No-Interlacing Patches + Habilitar parches para desactivar el entrelazado + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Carga y aplica automáticamente los parches para desactivar el entrelazado al iniciar el juego. Podría causar problemas. - + Disables interlacing offset which may reduce blurring in some situations. Desactiva la compensación del entrelazado, lo que podría reducir la borrosidad en algunos casos. - + Bilinear Filtering Filtrado bilineal - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Activa el filtro de posprocesado lineal. Suaviza la imagen completa al mostrarla en pantalla. Corrige la colocación entre píxeles. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Activa las compensaciones del PCRTC, que posicionan la pantalla según lo requiera el juego. Útil para algunos juegos, como WipEout Fusion y su efecto de temblor de imagen, pero podría hacer que la imagen se muestre borrosa. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Permite mostrar el área de sobrebarrido para aquellos juegos que dibujan más allá del área segura de la pantalla. - + FMV Aspect Ratio Override Reemplazar relación de aspecto para vídeos FMV - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determina el método con el que se desentrelazará la imagen de la consola emulada. El ajuste automático debería desentrelazar correctamente casi todos los juegos, pero si ves que la imagen tiene temblores, prueba otro de los ajustes disponibles. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Controla el grado de precisión de la emulación de la unidad de mezclas del GS.<br> Cuanto más elevado sea el ajuste, más mezclas se emularán en el sombreador con precisión y más repercutirá en la velocidad.<br> Ten en cuenta que las mezclas en Direct3D tienen una capacidad reducida respecto a OpenGL/Vulkan. - + Software Rendering Threads Subprocesos para el renderizado por software - + CPU Sprite Render Size Tamaño render. sprites en CPU - + Software CLUT Render Renderizado de CLUT por software - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Intenta detectar si un juego dibuja paletas de colores propias y las renderiza en la GPU con un método especial. - + This option disables game-specific render fixes. Esta opción desactiva las correcciones de renderizado específicas para el juego. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. La caché de texturas gestiona las invalidaciones parciales de forma predeterminada. Por desgracia, esto consume muchos recursos de la CPU. Esta corrección sustituye la invalidación parcial por una eliminación total de texturas para reducir la carga de la CPU. Ayudará en los juegos que usen el motor Snowblind. - + Framebuffer Conversion Conversión del búfer de fotogramas - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convierte el búfer de fotogramas de 4 bits y 8 bits en la CPU en vez de en la GPU. Ayuda a los juegos de Harry Potter y a Stuntman. Afecta significativamente al rendimiento. - - + + Disabled desactivada - - Remove Unsupported Settings - Eliminar ajustes no compatibles - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Tienes activadas las opciones de <strong>Habilitar parches para pantallas panorámicas</strong> o <strong>Habilitar parches de compatibilidad</strong> en este juego.<br><br>Ya no damos soporte a estas opciones. En su lugar, <strong>deberías ir a la sección de "Parches" y activar los parches que quieras utilizar.</strong><br><br>¿Deseas eliminar estas opciones de tu configuración del juego? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Reemplaza la relación de aspecto para los vídeos FMV. Si desactivas esta opción, la relación de aspecto de los vídeos FMV será la misma que la configurada en el ajuste general de relación de aspecto. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Habilita el «mipmapping», que necesitan algunos juegos para renderizarse correctamente. El «mipmapping» utiliza texturas alternativas con resoluciones más bajas cuando se encuentran a cierta distancia para minimizar la carga de procesamiento y evitar artefactos visuales. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Cambia el algoritmo de filtrado con el que se mostrarán las texturas de las superficies.<br> Vecino más cercano: no mezclará los colores.<br> Bilineal (forzado): mezclará los colores para quitar los bordes entre píxeles con colores diferentes, aunque el juego ordene a la PS2 que no lo haga.<br> Bilineal (PS2): filtrará todas las superficies que el juego indique a la PS2 que se deben filtrar.<br> Bilineal (forzado salvo a sprites): filtrará todas las superficies, aunque el juego ordene a la PS2 que no lo haga, excepto los sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduce la borrosidad de las texturas de gran tamaño que se muestren en superficies pequeñas y con una gran inclinación. Para ello se muestrearán los colores de los dos «mipmaps» más próximos. Es necesario activar el «Mipmapping».<br>Desactivar: desactiva esta función.<br>Trilineal (PS2): aplica el filtrado trilineal a todas las superficies que el juego ordene a la PS2.<br>Trilineal (forzado): aplica el filtrado trilineal a todas las superficies, aunque el juego ordene a la PS2 lo contrario. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduce el bandeado entre colores y mejora la profundidad de colores percibida.<br> Desactivado: desactiva el tramado.<br> A escala: efecto de tramado apto para escalados/más alto.<br> Sin escalar: efecto de tramado nativo/más bajo, que no aumenta el tamaño de los cuadrados al escalar la imagen.<br> Forzar 32 bits: tratar todos los dibujados como si fuesen de 32 bits para evitar bandeados y tramados. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Envía tareas inútiles a la CPU mientras está cotejando para evitar que entre en un modo de ahorro de energía. Podría mejorar el rendimiento durante las tareas de cotejado, pero aumentará significativamente el consumo de energía. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Envía tareas inútiles a la GPU mientras está cotejando para evitar que entre en un modo de ahorro de energía. Podría mejorar el rendimiento durante las tareas de cotejado, pero aumentará significativamente el consumo de energía. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. El número de hilos destinados a renderizar: 0 significa usar un solo hilo, 2 o más usar varios hilos (1 es para fines de depuración). Se recomienda usar entre 2 y 4 hilos, con más hilos es probable que la emulación se vuelva más lenta. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Desactiva el soporte de los búferes de profundidad en la caché de texturas. Esta opción probablemente provocará defectos visuales y solo es útil para tareas de depuración. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Permite a la caché de texturas reutilizar como textura de entrada la parte interior de un búfer de fotogramas anterior. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Vacía todos los objetivos de la caché de texturas en la memoria local al apagar la máquina virtual. Puede evitar que se pierdan elementos visuales al hacer guardados rápidos o al cambiar de renderizador, pero también puede provocar corrupción gráfica. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Intenta reducir el tamaño de las texturas cuando los juegos no lo establezcan por sí mismos (por ejemplo, los juegos que utilicen el motor gráfico Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Soluciona problemas al escalar la imagen (líneas verticales) en juegos de Namco, tales como Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Vuelca las texturas reemplazables al disco. El rendimiento se reducirá. - + Includes mipmaps when dumping textures. Vuelca las texturas con sus «mipmaps». - + Allows texture dumping when FMVs are active. You should not enable this. Habilita el volcado de texturas durante la reproducción de vídeos FMV. No se recomienda activar esta opción. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carga las texturas de reemplazo en un subproceso de trabajo, lo que reducirá los tirones al activar los reemplazos. - + Loads replacement textures where available and user-provided. Carga texturas de reemplazo si están disponibles. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Precarga en la memoria todas las texturas de reemplazo. No es necesario activar esta opción al usar la carga asincrónica. - + Enables FidelityFX Contrast Adaptive Sharpening. Habilita el realce por contraste adaptativo (CAS) FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. Determina la intensidad del efecto de realzado del posprocesado CAS. - + Adjusts brightness. 50 is normal. Ajusta el brillo. Un valor de 50 es lo normal. - + Adjusts contrast. 50 is normal. Ajusta el contraste. Un valor de 50 es lo normal. - + Adjusts saturation. 50 is normal. Ajusta la saturación. Un valor de 50 es lo normal. - + Scales the size of the onscreen OSD from 50% to 500%. Cambia la escala de los mensajes en pantalla de entre un 50 % a un 500 %. - + OSD Messages Position Posición de mensajes en pantalla - + OSD Statistics Position Posición de estadísticas en pantalla - + Shows a variety of on-screen performance data points as selected by the user. Muestra en pantalla varios datos sobre el rendimiento basados en la selección del usuario. - + Shows the vsync rate of the emulator in the top-right corner of the display. Muestra la frecuencia de sincronizaciones verticales («vsync») del emulador en la esquina superior derecha de la imagen. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Muestra indicadores con forma de iconos en pantalla para los estados de emulación, como la pausa, el modo turbo, el avance rápido y la cámara lenta. - + Displays various settings and the current values of those settings, useful for debugging. Muestra varios ajustes y los valores actuales de los mismos. Ideal para depurar. - + Displays a graph showing the average frametimes. Muestra un gráfico con la duración media de los fotogramas. - + Shows the current system hardware information on the OSD. Muestra información sobre el hardware actual del sistema en pantalla. - + Video Codec Códec de vídeo - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selecciona el códec de vídeo que se utilizará durante la captura de vídeo. <b>Si tienes dudas, deja el valor predeterminado.<b> - + Video Format Formato de vídeo - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selecciona el formato de vídeo que se utilizará para capturar vídeo. Si por algún casual el códec no es compatible con este formato, se utilizará el primero que haya disponible. <b>Si tienes dudas, deja el valor predeterminado.<b> - + Video Bitrate Tasa de bits de vídeo - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Determina la tasa de bits de vídeo. Una tasa más alta suele dar una calidad de vídeo mejor, a costa de aumentar el tamaño del archivo resultante. - + Automatic Resolution Resolución automática - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Al activar esta opción, la resolución de la captura de vídeo será siempre la resolución interna de cada juego.<br><br><b>Ten cuidado al utilizar esta opción, sobre todo si escalas la imagen, ya que una resolución interna muy alta (por encima de x4) puede disparar el tamaño de la captura de vídeo y sobrecargar tu equipo.</b> - + Enable Extra Video Arguments Habilitar argumentos adicionales de vídeo - + Allows you to pass arguments to the selected video codec. Permite transmitir argumentos al códec de vídeo seleccionado. - + Extra Video Arguments Argumentos adicionales de vídeo - + Audio Codec Códec de audio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selecciona el códec de audio que se utilizará durante la captura de vídeo. <b>Si tienes dudas, deja el valor predeterminado.<b> - + Audio Bitrate Tasa de bits de audio - + Enable Extra Audio Arguments Habilitar argumentos adicionales de audio - + Allows you to pass arguments to the selected audio codec. Permite transmitir argumentos al códec de audio seleccionado. - + Extra Audio Arguments Argumentos adicionales de audio - + Allow Exclusive Fullscreen Pantalla completa exclusiva - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Reemplaza la heurística del controlador para activar el modo de pantalla completa exclusiva o para volteados/«scanout» directos.<br>Al desactivar la pantalla completa exclusiva, el cambio de tareas y las superposiciones podrían ir de forma más fluida a costa de aumentar la latencia de entrada. - + 1.25x Native (~450px) Nativa ×1,25 (~450 px) - + 1.5x Native (~540px) Nativa ×1,5 (~540 px) - + 1.75x Native (~630px) Nativa ×1,75 (~630 px) - + 2x Native (~720px/HD) Nativa ×2 (~720 px/HD) - + 2.5x Native (~900px/HD+) Nativa ×2,5 (~900 px/HD+) - + 3x Native (~1080px/FHD) Nativa ×3 (~1080 px/FHD) - + 3.5x Native (~1260px) Nativa ×3,5 (~1260 px) - + 4x Native (~1440px/QHD) Nativa ×4 (~1440 px/QHD) - + 5x Native (~1800px/QHD+) Nativa ×5 (~1800 px/QHD+) - + 6x Native (~2160px/4K UHD) Nativa ×6 (~2160 px/4K UHD) - + 7x Native (~2520px) Nativa ×7 (~2520 px) - + 8x Native (~2880px/5K UHD) Nativa ×8 (~2880 px/5K UHD) - + 9x Native (~3240px) Nativa ×9 (~3240 px) - + 10x Native (~3600px/6K UHD) Nativa ×10 (~3600 px/6K UHD) - + 11x Native (~3960px) Nativa ×11 (~3960 px) - + 12x Native (~4320px/8K UHD) Nativa ×12 (~4320 px/8K UHD) - + 13x Native (~4680px) Nativa ×13 (~4680 px) - + 14x Native (~5040px) Nativa ×14 (~5040 px) - + 15x Native (~5400px) Nativa ×15 (~5400 px) - + 16x Native (~5760px) Nativa ×16 (~5760 px) - + 17x Native (~6120px) Nativa ×17 (~6120 px) - + 18x Native (~6480px/12K UHD) Nativa ×18 (~6480 px/12K UHD) - + 19x Native (~6840px) Nativa ×19 (~6840 px) - + 20x Native (~7200px) Nativa ×20 (~7200 px) - + 21x Native (~7560px) Nativa ×21 (~7560 px) - + 22x Native (~7920px) Nativa ×22 (~7920 px) - + 23x Native (~8280px) Nativa ×23 (~8280 px) - + 24x Native (~8640px/16K UHD) Nativa ×24 (~8640 px/16K UHD) - + 25x Native (~9000px) Nativa ×25 (~9000 px) - - + + %1x Native Nativa ×%1 - - - - - - - - - + + + + + + + + + Checked activado - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Activa las correcciones internas antiborrosidad. Es menos fiel al renderizado original de PS2, pero hará que muchos juegos parezcan menos borrosos. - + Integer Scaling Escalado por números enteros - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Rellena el área de visualización para que la relación entre píxeles mostrados en el equipo y píxeles de la consola sea un número entero. Podría producir una imagen más nítida en algunos juegos 2D. - + Aspect Ratio Relación de aspecto - + Auto Standard (4:3/3:2 Progressive) Estándar automática (4:3/3:2 progresivo) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Cambia la relación de aspecto con la que se mostrará en pantalla la salida de imagen de la consola. El valor predeterminado es «Estándar automático (4:3/3:2 progresivo)», el cual ajustará automáticamente la relación de aspecto a la que tendrían los juegos en un televisor de la época. - + Deinterlacing Desentrelazado - + Screenshot Size Tamaño de capturas de pantalla - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determina la resolución con la que se guardarán las capturas de pantalla. Las resoluciones internas conservan más detalles a costa de aumentar el tamaño de los archivos. - + Screenshot Format Formato de capturas de pantalla - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selecciona el formato que se utilizará para guardar las capturas de pantalla. JPEG produce archivos más pequeños, pero pierde detalles. - + Screenshot Quality Calidad de capturas de pantalla - - + + 50% 50 % - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selecciona la calidad con la que se comprimirán las capturas de pantalla. Un valor más alto preservará más detalles en el formato JPEG y reducirá el tamaño de archivo en el formato PNG. - - + + 100% 100 % - + Vertical Stretch Estiramiento vertical - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Estira (&lt; 100 %) o aplasta (&gt; 100 %) el componente vertical de la pantalla. - + Fullscreen Mode Modo a pantalla completa - - - + + + Borderless Fullscreen Pantalla completa sin bordes - + Chooses the fullscreen resolution and frequency. Selecciona la resolución y frecuencia del modo a pantalla completa. - + Left Izquierda - - - - + + + + 0px 0 px - + Changes the number of pixels cropped from the left side of the display. Cambia el número de píxeles recortados de la parte izquierda de la pantalla. - + Top Arriba - + Changes the number of pixels cropped from the top of the display. Cambia el número de píxeles recortados de la parte superior de la pantalla. - + Right Derecha - + Changes the number of pixels cropped from the right side of the display. Cambia el número de píxeles recortados de la parte derecha de la pantalla. - + Bottom Abajo - + Changes the number of pixels cropped from the bottom of the display. Cambia el número de píxeles recortados de la parte inferior de la pantalla. - - + + Native (PS2) (Default) Nativa (PS2, predeterminada) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Controla la resolución con la que se renderizarán los juegos. Una resolución elevada puede afectar al rendimiento en GPU antiguas o de gama baja.<br>Una resolución que no sea nativa podría provocar defectos gráficos menores en algunos juegos.<br>La resolución de los vídeos FMV se mantendrá intacta, ya que estos han sido prerenderizados. - + Texture Filtering Filtrado de texturas - + Trilinear Filtering Filtrado trilineal - + Anisotropic Filtering Filtrado anisotrópico - + Reduces texture aliasing at extreme viewing angles. Reduce el efecto de «aliasing» (distorsión) espacial en texturas vistas desde ángulos extremos. - + Dithering Tramado - + Blending Accuracy Precisión de mezcla - + Texture Preloading Precarga de texturas - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Envía texturas enteras de un golpe en vez de fragmentos pequeños, evitando transmitir materiales redundantes cuando sea posible. Mejora el rendimiento en la mayoría de juegos, pero una pequeña cantidad de los mismos podría ir más lento. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Al activar esta opción, la GPU convertirá las texturas con mapas de colores, en caso contrario, lo hará la CPU. Sirve para compensar GPU con CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Al activar esta opción podrás cambiar las correcciones del renderizador y de escalado en tus juegos. Sin embargo, SI ACTIVAS esta opción, DESACTIVARÁS LOS AJUSTES AUTOMÁTICOS. Podrás reactivar los ajustes automáticos desactivando esta opción. - + 2 threads 2 subprocesos - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Fuerza un vaciado de primitivos cuando un búfer de fotogramas sea también una textura de entrada. Corrige algunos efectos de procesado, como las sombras de la saga Jak y la radiosidad en GTA:SA. - + Enables mipmapping, which some games require to render correctly. Activa los mapas MIP, necesarios para que algunos juegos se rendericen correctamente. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. El renderizado de los sprites se hará en la CPU si su tamaño en memoria no supera este valor. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Intenta detectar si un juego dibuja paletas de colores propias y las renderiza por software en vez de hacerlo en la GPU. - + GPU Target CLUT Gestión de CLUT en la GPU - + Skipdraw Range Start Inicio del rango de «skipdraw» - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Omite el dibujado de superficies desde la superficie indicada en el cuadro izquierdo hasta la indicada en el cuadro derecho. - + Skipdraw Range End Fin del rango de «skipdraw» - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Esta opción desactiva varias funcionalidades seguras: desactiva el renderizado preciso de puntos y líneas sin escalado, lo que puede ayudar a los juegos de Xenosaga, y el limpiado preciso de la memoria del GS en la CPU para que lo haga la GPU, lo que puede ayudar a los juegos de Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Transmite los datos del GS al renderizar un fotograma nuevo para poder reproducir algunos efectos fielmente. - + Half Pixel Offset Compensación de medio píxel - + Might fix some misaligned fog, bloom, or blend effect. Podría corregir efectos de niebla, resplandor o mezclas que no estén alineados. - + Round Sprite Redondear sprites - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrige el muestreo de las texturas de sprites 2D al escalar la imagen. Arregla las líneas sobrantes en los sprites de juegos como Ar tonelico al escalar la imagen. La mitad afecta solo los sprites planos, Completo afecta a todos los sprites. - + Texture Offsets X Compensación X de texturas - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Compensa las coordenadas de texturas ST/UV. Corrige algunos problemas inusuales en texturas y tal vez también corrija problemas de alineación en el posprocesado. - + Texture Offsets Y Compensación Y de texturas - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Reduce la precisión del GS para evitar vacíos entre píxeles al escalar la imagen. Corrige el texto en los juegos de Wild Arms. - + Bilinear Upscale Escalado bilineal - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Podría suavizar las texturas al aplicarles un filtro bilineal tras escalarlas. P. ej.: destellos del sol en Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Reemplaza el uso de varios fragmentos de sprites con fines de posprocesado por un único sprite más grande. Reduce la aparición de líneas al escalar la imagen. - + Force palette texture draws to render at native resolution. Fuerza que las paletas de texturas se rendericen a resolución nativa. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Realce por contraste adaptativo (CAS) - + Sharpness Realzado - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Permite ajustar la saturación, el contraste y el brillo. El valor predeterminado del brillo, saturación y contraste es de 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Aplica el algoritmo de suavizado de bordes FXAA (Fast approXimate Anti-Aliasing) para mejorar la calidad visual de los juegos. - + Brightness Brillo - - - + + + 50 50 - + Contrast Contraste - + TV Shader Sombreador de TV - + Applies a shader which replicates the visual effects of different styles of television set. Aplica un sombreador que reproduce los efectos visuales de varios tipos de televisores. - + OSD Scale Escala de la presentación - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Muestra mensajes en pantalla en ciertas situaciones, como la creación o carga de guardados rápidos, al capturar la pantalla, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Muestra la velocidad de fotogramas interna del juego en la esquina superior derecha de la imagen. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Muestra la velocidad de emulación actual del sistema en la esquina superior derecha de la imagen, en forma de porcentaje. - + Shows the resolution of the game in the top-right corner of the display. Muestra la resolución del juego en la esquina superior derecha de la imagen. - + Shows host's CPU utilization. Muestra el uso de la CPU del equipo. - + Shows host's GPU utilization. Muestra el uso de la GPU del equipo. - + Shows counters for internal graphical utilization, useful for debugging. Muestra contadores sobre el uso gráfico interno, útiles para fines de depuración. - + Shows the current controller state of the system in the bottom-left corner of the display. Muestra el estado actual del mando del sistema en la esquina inferior izquierda de la imagen. - + Shows the current PCSX2 version on the top-right corner of the display. Muestra la versión actual de PCSX2 en la esquina superior derecha de la imagen. - + Shows the currently active video capture status. Muestra el estado actual de la captura de vídeo. - + Shows the currently active input recording status. Muestra el estado actual de la grabación de entrada. - + Displays warnings when settings are enabled which may break games. Muestra advertencias cuando se activen ajustes que puedan romper los juegos. - - + + Leave It Blank dejar en blanco - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Los parámetros enviados al códec de vídeo seleccionado.<br><b>Debes utilizar «=» para separar cada elemento de su valor y «:» para separar cada pareja de elementos.</b><br>Ejemplo: «crf = 21 : preset = veryfast» - + Sets the audio bitrate to be used. Determina la tasa de bits de audio. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Los parámetros enviados al códec de audio seleccionado.<br><b>Debes utilizar «=» para separar cada elemento de su valor y «:» para separar cada pareja de elementos.</b><br>Ejemplo: «compression_level = 4 : joint_stereo = 1» - + GS Dump Compression Compresión de volcados del GS - + Change the compression algorithm used when creating a GS dump. Cambia el algoritmo de compresión que se utilizará al crear un volcado GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Cuando se utilice el renderizador de Direct3D 11, este utilizará un modelo de presentación por BLIT en vez de voltear la imagen. Suele producir un rendimiento más lento, pero podría ser necesario para utilizar ciertas aplicaciones de «streaming» o para desbloquear las velocidades de fotogramas en algunos equipos. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detecta cuándo se van a presentar fotogramas inactivos en juegos a 25/30 FPS y omite su presentación. El fotograma seguirá renderizándose, pero la GPU tendrá más tiempo para completarlo (esto NO ES omitir fotogramas). Puede suavizar las fluctuaciones en las duraciones de fotogramas cuando la CPU y la GPU estén siendo utilizadas al máximo, pero hará que el ritmo de fotogramas sea más inconsistente y puede aumentar el retraso de la señal de entrada. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Muestra multiplicadores de escalado más elevados que dependerán de las prestaciones de la GPU. - + Enable Debug Device Habilitar dispositivo de depuración - + Enables API-level validation of graphics commands. Activa una validación a nivel de API de los comandos de gráficos. - + GS Download Mode Modo de descarga del GS - + Accurate Preciso - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Deja de sincronizar las descargas del GS entre el subproceso del GS y la GPU del equipo. Podría aumentar significativamente la velocidad en sistemas más lentos a costa de romper muchos efectos gráficos. Si los juegos se muestran mal y tienes esta opción activada, te recomendamos que la desactives antes de nada. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Predeterminado - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Fuerza la presentación FIFO en vez de la tipo «mailbox», es decir: búfer doble en vez de triple. Suele producir un ritmo de fotogramas peor. @@ -14113,7 +14172,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Predeterminado @@ -14330,254 +14389,254 @@ Swap chain: see Microsoft's Terminology Portal. No se ha encontrado un guardado rápido en el espacio {}. - - - + + - - - - + + + + - + + System Sistema - + Open Pause Menu Abrir menú de pausa - + Open Achievements List Abrir lista de logros - + Open Leaderboards List Abrir lista de tablas de clasificación - + Toggle Pause Alternar pausa - + Toggle Fullscreen Alternar pantalla completa - + Toggle Frame Limit Alternar limitador de fotogramas - + Toggle Turbo / Fast Forward Alternar turbo/avance rápido - + Toggle Slow Motion Alternar cámara lenta - + Turbo / Fast Forward (Hold) Turbo/Avance rápido (mantener) - + Increase Target Speed Aumentar velocidad objetivo - + Decrease Target Speed Reducir velocidad objetivo - + Increase Volume Subir volumen - + Decrease Volume Bajar volumen - + Toggle Mute Alternar silencio de audio - + Frame Advance Avanzar fotograma - + Shut Down Virtual Machine Apagar máquina virtual - + Reset Virtual Machine Reiniciar máquina virtual - + Toggle Input Recording Mode Alternar modo de grabación de entrada - - + + Save States Guardados rápidos - + Select Previous Save Slot Seleccionar espacio de guardado anterior - + Select Next Save Slot Seleccionar espacio de guardado siguiente - + Save State To Selected Slot Crear guardado rápido en el espacio seleccionado - + Load State From Selected Slot Cargar guardado rápido del espacio seleccionado - + Save State and Select Next Slot Crear guardado rápido y seleccionar el espacio siguiente - + Select Next Slot and Save State Seleccionar el espacio siguiente y crear guardado rápido - + Save State To Slot 1 Crear guardado rápido en el espacio 1 - + Load State From Slot 1 Cargar guardado rápido del espacio 1 - + Save State To Slot 2 Crear guardado rápido en el espacio 2 - + Load State From Slot 2 Cargar guardado rápido del espacio 2 - + Save State To Slot 3 Crear guardado rápido en el espacio 3 - + Load State From Slot 3 Cargar guardado rápido del espacio 3 - + Save State To Slot 4 Crear guardado rápido en el espacio 4 - + Load State From Slot 4 Cargar guardado rápido del espacio 4 - + Save State To Slot 5 Crear guardado rápido en el espacio 5 - + Load State From Slot 5 Cargar guardado rápido del espacio 5 - + Save State To Slot 6 Crear guardado rápido en el espacio 6 - + Load State From Slot 6 Cargar guardado rápido del espacio 6 - + Save State To Slot 7 Crear guardado rápido en el espacio 7 - + Load State From Slot 7 Cargar guardado rápido del espacio 7 - + Save State To Slot 8 Crear guardado rápido en el espacio 8 - + Load State From Slot 8 Cargar guardado rápido del espacio 8 - + Save State To Slot 9 Crear guardado rápido en el espacio 9 - + Load State From Slot 9 Cargar guardado rápido del espacio 9 - + Save State To Slot 10 Crear guardado rápido en el espacio 10 - + Load State From Slot 10 Cargar guardado rápido del espacio 10 @@ -15455,594 +15514,608 @@ Clic derecho: eliminar asignación &Sistema - - - + + Change Disc Cambiar disco - - + Load State Cargar guardado rápido - - Save State - Guardado rápido - - - + S&ettings - &Ajustes + A&justes - + &Help A&yuda - + &Debug &Depuración - - Switch Renderer - Cambiar renderizador - - - + &View &Vista - + &Window Size Tamaño de &ventana - + &Tools &Herramientas - - Input Recording - Grabación de entrada - - - + Toolbar Barra de herramientas - + Start &File... - Ejecutar a&rchivo... + Ejecutar arc&hivo... - - Start &Disc... - Ejecutar &disco... - - - + Start &BIOS - Ejecutar &BIOS + Ejecutar BI&OS - + &Scan For New Games B&uscar juegos nuevos - + &Rescan All Games &Volver a buscar todos los juegos - + Shut &Down - Apa&gar + &Apagar - + Shut Down &Without Saving - Apagar &sin guardar + Apagar s&in guardar - + &Reset &Reiniciar - + &Pause &Pausar - + E&xit &Salir - + &BIOS &BIOS - - Emulation - Emulación - - - + &Controllers - Man&dos + Ma&ndos - + &Hotkeys &Teclas de acceso rápido - + &Graphics &Gráficos - - A&chievements - &Logros - - - + &Post-Processing Settings... Ajustes de &posprocesado... - - Fullscreen - Pantalla completa - - - + Resolution Scale Escala de resolución - + &GitHub Repository... Repositorio de &GitHub... - + Support &Forums... &Foros para asistencia técnica (en inglés)... - + &Discord Server... Servidor de &Discord... - + Check for &Updates... Buscar actuali&zaciones... - + About &Qt... Acerca de &Qt... - + &About PCSX2... &Acerca de PCSX2... - + Fullscreen In Toolbar - Pant. completa + P. completa - + Change Disc... In Toolbar Cambiar disco... - + &Audio &Audio - - Game List - Lista de juegos - - - - Interface - Interfaz + + Global State + Guardado global - - Add Game Directory... - Añadir directorio de juegos... + + &Screenshot + Cap&turar pantalla - - &Settings - &Ajustes + + Start File + In Toolbar + Archivo - - From File... - Buscar archivo... + + &Change Disc + Ca&mbiar disco - - From Device... - Buscar dispositivo... + + &Load State + &Carga rápida - - From Game List... - Buscar en la lista de juegos... + + Sa&ve State + &Guardado rápido - - Remove Disc - Quitar disco + + Setti&ngs + A&justes - - Global State - Guardado global + + &Switch Renderer + Cambiar &renderizador - - &Screenshot - &Capturar pantalla + + &Input Recording + &Grabación de entrada - - Start File - In Toolbar - Archivo + + Start D&isc... + Ejecutar &disco... - + Start Disc In Toolbar Disco - + Start BIOS In Toolbar BIOS - + Shut Down In Toolbar Apagar - + Reset In Toolbar Reiniciar - + Pause In Toolbar Pausar - + Load State In Toolbar Carga rápida - + Save State In Toolbar Guard. rápido - + + &Emulation + &Emulación + + + Controllers In Toolbar Mandos - + + Achie&vements + &Logros + + + + &Fullscreen + &Pantalla completa + + + + &Interface + &Interfaz + + + + Add Game &Directory... + Añadir &directorio de juegos... + + + Settings In Toolbar Ajustes - + + &From File... + &Buscar archivo... + + + + From &Device... + Buscar &dispositivo... + + + + From &Game List... + Buscar en la &lista de juegos... + + + + &Remove Disc + &Quitar disco + + + Screenshot In Toolbar Capt. pantalla - + &Memory Cards &Memory Cards - + &Network && HDD &Red y disco duro - + &Folders &Carpetas - + &Toolbar Barra de &herramientas - - Lock Toolbar - Bloquear barra de herramientas + + Show Titl&es (Grid View) + Mostrar &títulos (cuadrícula) - - &Status Bar - Barra de &estado + + &Open Data Directory... + &Abrir directorio de datos... - - Verbose Status - Estado detallado + + &Toggle Software Rendering + Al&ternar renderizador por software - - Game &List - &Lista de juegos + + &Open Debugger + Abrir &depurador - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Mostrar &sistema + + &Reload Cheats/Patches + &Recargar trucos/parches - - Game &Properties - &Propiedades del juego + + E&nable System Console + Habilitar &consola del sistema - - Game &Grid - &Cuadrícula de juegos + + Enable &Debug Console + Habilitar con&sola de desarrollador - - Show Titles (Grid View) - Mostrar títulos (cuadrícula) + + Enable &Log Window + Habilitar &ventana de registro - - Zoom &In (Grid View) - A&mpliar tamaño (cuadrícula) + + Enable &Verbose Logging + Habilitar regi&stro detallado - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Habilitar consola de registro del &EE - - Zoom &Out (Grid View) - &Reducir tamaño (cuadrícula) + + Enable &IOP Console Logging + Habilitar consola de registro del &IOP - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Guardar volcado de un &fotograma del GS - - Refresh &Covers (Grid View) - &Actualizar carátulas (cuadrícula) + + &New + This section refers to the Input Recording submenu. + &Nueva - - Open Memory Card Directory... - Abrir directorio de Memory Cards... + + &Play + This section refers to the Input Recording submenu. + &Reproducir - - Open Data Directory... - Abrir directorio de datos... + + &Stop + This section refers to the Input Recording submenu. + &Detener - - Toggle Software Rendering - Alternar renderizador por software + + &Controller Logs + Registros de &mandos - - Open Debugger - Abrir depurador + + &Input Recording Logs + Registros de &grabaciones de entrada - - Reload Cheats/Patches - Recargar trucos/parches + + Enable &CDVD Read Logging + Habilitar registros de lecturas del &CDVD - - Enable System Console - Habilitar consola del sistema + + Save CDVD &Block Dump + Guardar volcado de &bloque del CDVD - - Enable Debug Console - Habilitar consola de depuración + + &Enable Log Timestamps + Activar &marcas de tiempo en los registros - - Enable Log Window - Habilitar ventana de registro + + Start Big Picture &Mode + Iniciar modo &Big Picture - - Enable Verbose Logging - Habilitar registro detallado + + &Cover Downloader... + &Descargador de carátulas... - - Enable EE Console Logging - Habilitar consola de registro del EE + + &Show Advanced Settings + Mostrar ajustes a&vanzados - - Enable IOP Console Logging - Habilitar consola de registro del IOP + + &Recording Viewer + &Visualizador de grabaciones - - Save Single Frame GS Dump - Guardar volcado de un fotograma del GS + + &Video Capture + Capturar &vídeo - - New - This section refers to the Input Recording submenu. - Nueva + + &Edit Cheats... + &Editar trucos... - - Play - This section refers to the Input Recording submenu. - Reproducir + + Edit &Patches... + Editar &parches... - - Stop - This section refers to the Input Recording submenu. - Detener + + &Status Bar + Barra de &estado - - Settings - This section refers to the Input Recording submenu. - Ajustes + + + Game &List + Lista de &juegos - - - Input Recording Logs - Registros de grabaciones de entrada + + Loc&k Toolbar + Blo&quear barra de herramientas - - Controller Logs - Registros de mandos + + &Verbose Status + Estado &detallado - - Enable &File Logging - Habilitar registro en &archivo + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Mostrar &sistema + + + + Game &Properties + &Propiedades del juego - - Enable CDVD Read Logging - Habilitar registros de lecturas del CDVD + + Game &Grid + &Cuadrícula de juegos - - Save CDVD Block Dump - Guardar volcado de bloque del CDVD + + Zoom &In (Grid View) + &Ampliar tamaño (cuadrícula) - - Enable Log Timestamps - Habilitar marcas de tiempo en los registros + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + &Reducir tamaño (cuadrícula) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + &Actualizar carátulas (cuadrícula) + + + + Open Memory Card Directory... + Abrir directorio de Memory Cards... + + + + Input Recording Logs + Registros de grabaciones de entrada + + + + Enable &File Logging + Habilitar registro en arc&hivo + + + Start Big Picture Mode Iniciar modo Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Descargador de carátulas... - - - - + Show Advanced Settings Mostrar ajustes avanzados - - Recording Viewer - Visualizador de grabaciones - - - - + Video Capture Capturar vídeo - - Edit Cheats... - Editar trucos... - - - - Edit Patches... - Editar parches... - - - + Internal Resolution Resolución interna - + %1x Scale Escala ×%1 - + Select location to save block dump: Seleccionar dónde se guardará el volcado de bloque: - + Do not show again No volver a mostrar - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16055,297 +16128,297 @@ El equipo de PCSX2 no dará soporte técnico alguno a cualquier configuración q ¿Seguro que quieres continuar? - + %1 Files (*.%2) Archivos %1 (*.%2) - + WARNING: Memory Card Busy ADVERTENCIA: Memory Card ocupada - + Confirm Shutdown Confirmar apagado - + Are you sure you want to shut down the virtual machine? ¿Seguro que quieres apagar la máquina virtual? - + Save State For Resume Crear un guardado para continuar más tarde - - - - - - + + + + + + Error Error - + You must select a disc to change discs. Es necesario seleccionar un disco para poder cambiar de disco. - + Properties... Propiedades... - + Set Cover Image... Establecer imagen de carátula... - + Exclude From List Excluir de la lista - + Reset Play Time Restablecer tiempo jugado - + Check Wiki Page Comprobar página de la wiki - + Default Boot Arranque predeterminado - + Fast Boot Arranque rápido - + Full Boot Arranque completo - + Boot and Debug Arrancar con depurador - + Add Search Directory... Añadir directorio de búsqueda... - + Start File Ejecutar archivo - + Start Disc Ejecutar disco - + Select Disc Image Seleccionar imagen de disco - + Updater Error Error del actualizador - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Lamentablemente, estás intentando actualizar una versión de PCSX2 que no es una versión oficial de GitHub. El actualizador automático solo está activado en las compilaciones oficiales para evitar incompatibilidades.</p><p>Si deseas conseguir una compilación oficial, te rogamos que la descargues del siguiente enlace:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Las actualizaciones automáticas no son compatibles con esta plataforma. - + Confirm File Creation Confirmar creación de archivo - + The pnach file '%1' does not currently exist. Do you want to create it? No existe el archivo pnach «%1». ¿Deseas crearlo? - + Failed to create '%1'. Error al crear «%1». - + Theme Change Cambiar tema - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Si cambias de tema, se cerrará la ventana del depurador. Se perderán todos los datos sin guardar. ¿Deseas continuar? - + Input Recording Failed Error en la grabación de entrada - + Failed to create file: {} Error al crear el archivo: {} - + Input Recording Files (*.p2m2) Archivos de grabaciones de entrada (*.p2m2) - + Input Playback Failed Error en la reproducción de entrada - + Failed to open file: {} Error al abrir el archivo: {} - + Paused En pausa - + Load State Failed Error al cargar el guardado rápido - + Cannot load a save state without a running VM. No se puede crear un guardado rápido si no se está ejecutando una VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? No se puede cargar el ELF nuevo sin reiniciar la máquina virtual. ¿Deseas reiniciarla ahora? - + Cannot change from game to GS dump without shutting down first. No se puede cambiar de un juego a un volcado del GS sin apagar la máquina virtual primero. - + Failed to get window info from widget Error al obtener la información de la ventana a partir del widget - + Stop Big Picture Mode Detener modo Big Picture - + Exit Big Picture In Toolbar Salir de Big Picture - + Game Properties Propiedades del juego - + Game properties is unavailable for the current game. No hay propiedades disponibles para el juego actual. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. No se han podido encontrar dispositivos de CD/DVD-ROM. Asegúrate de tener una unidad conectada y los permisos necesarios para poder acceder a la misma. - + Select disc drive: Seleccionar unidad de disco: - + This save state does not exist. Este guardado rápido no existe. - + Select Cover Image Seleccionar imagen de carátula - + Cover Already Exists La carátula ya existe - + A cover image for this game already exists, do you wish to replace it? Ya existe una imagen de carátula para este juego, ¿deseas reemplazarla? - + + - Copy Error Error de copiado - + Failed to remove existing cover '%1' Error al eliminar la carátula existente «%1» - + Failed to copy '%1' to '%2' Error al copiar «%1» a «%2» - + Failed to remove '%1' Error al eliminar «%1». - - + + Confirm Reset Confirmar reinicio - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Todos los tipos de imágenes de carátula (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Debes seleccionar un archivo que no sea la imagen actual de la carátula. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16354,12 +16427,12 @@ This action cannot be undone. Esta acción no se puede deshacer. - + Load Resume State Cargar guardado de continuación - + A resume save state was found for this game, saved at: %1. @@ -16372,89 +16445,89 @@ Do you want to load this state, or start from a fresh boot? ¿Deseas cargar este guardado rápido o empezar desde el principio? - + Fresh Boot Empezar de cero - + Delete And Boot Eliminar y empezar - + Failed to delete save state file '%1'. Error al eliminar el archivo de guardado rápido «%1». - + Load State File... Cargar archivo de guardado rápido... - + Load From File... Cargar archivo... - - + + Select Save State File Seleccionar archivo de guardado rápido - + Save States (*.p2s) Archivos de guardado rápido (*.p2s) - + Delete Save States... Eliminar guardados rápidos... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Todos los tipos de archivo (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Imágenes RAW de una sola pista (*.bin *.iso);;Archivo CUE (*.cue);;Archivo de Media Descriptor (*.mdf);;Imágenes CHD de MAME (*.chd);;Imágenes CSO (*.cso);;Imágenes ZSO (*.zso);;Imágenes GZ (*.gz);;Ejecutables ELF (*.elf);;Ejecutables IRX (*.irx);;Volcados del GS (*.gs *.gs.xz *.gs.zst);;Volcados de bloque (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Todos los tipos de archivo (*.bin *.iso *.cue *.chd *.cso *.zso *.gz *.dump);;Imágenes RAW de una sola pista (*.bin *.iso);;Archivo CUE (*.cue);;Archivo de Media Descriptor (*.mdf);;Imágenes CHD de MAME (*.chd);;Imágenes CSO (*.cso);;Imágenes ZSO (*.zso);;Imágenes GZ (*.gz);;Volcados de bloque (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> ADVERTENCIA: la Memory Card todavía está escribiendo datos. Si apagas ahora, <b>DESTRUIRÁS DE FORMA IRREVERSIBLE TU MEMORY CARD.</b> Se recomienda encarecidamente que reanudes la partida y dejes que termine de escribir datos en tu Memory Card.<br><br>¿Deseas apagar de todos modos y <b>DESTRUIR DE FORMA IRREVERSIBLE TU MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Archivos de guardado rápido (*.p2s *.p2s.backup) - + Undo Load State Deshacer carga de guardado rápido - + Resume (%2) Continuación (%2) - + Load Slot %1 (%2) Cargar espacio %1 (%2) - - + + Delete Save States Eliminar guardados rápidos - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16463,42 +16536,42 @@ The saves will not be recoverable. Si continúas, no podrás recuperarlos. - + %1 save states deleted. Guardados rápidos eliminados: %1. - + Save To File... Guardar en archivo... - + Empty Vacío - + Save Slot %1 (%2) Espacio de guardado %1 (%2) - + Confirm Disc Change Confirmar cambio de disco - + Do you want to swap discs or boot the new image (via system reset)? ¿Desas cambiar de disco o ejecutar la imagen nueva (reiniciando el sistema)? - + Swap Disc Cambiar de disco - + Reset Reiniciar @@ -16521,25 +16594,25 @@ Si continúas, no podrás recuperarlos. MemoryCard - - + + Memory Card Creation Failed Error al crear la Memory Card - + Could not create the memory card: {} No se ha podido crear la Memory Card: {} - + Memory Card Read Failed Error al leer la Memory Card - + Unable to access memory card: {} @@ -16556,28 +16629,33 @@ Cierra cualquier otra instancia de PCSX2 o reinicia tu equipo. - - + + Memory Card '{}' was saved to storage. Memory Card «{}» guardada en almacenamiento. - + Failed to create memory card. The error was: {} Error al crear la Memory Card. Mensaje de error: {} - + Memory Cards reinserted. Memory Cards reinsertadas. - + Force ejecting all Memory Cards. Reinserting in 1 second. Forzando la expulsión de todas las Memory Cards. Reintroduciendo en 1 segundo. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + Hace tiempo que la consola virtual no ha guardado en tus Memory Cards. No se recomienda usar los guardados rápidos como sustitutos de los guardados dentro del juego. + MemoryCardConvertDialog @@ -17369,7 +17447,7 @@ Esta acción no se puede deshacer y perderás cualquier partida guardada que ten Ver en visualizador de memoria - + Cannot Go To No se puede ir a esta dirección @@ -18209,12 +18287,12 @@ Expulsando {3} para sustituirlo por {2}. Patch - + Failed to open {}. Built-in game patches are not available. Error al abrir {}. Los parches de juego integrados no están disponibles. - + %n GameDB patches are active. OSD Message @@ -18223,7 +18301,7 @@ Expulsando {3} para sustituirlo por {2}. - + %n game patches are active. OSD Message @@ -18232,7 +18310,7 @@ Expulsando {3} para sustituirlo por {2}. - + %n cheat patches are active. OSD Message @@ -18241,7 +18319,7 @@ Expulsando {3} para sustituirlo por {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No se han encontrado o activado trucos o parches (de imagen panorámica, compatibilidad u otros). @@ -18342,47 +18420,47 @@ Expulsando {3} para sustituirlo por {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: sesión iniciada como %1 (%2 pts., %3 pts. en modo normal). %4 mensajes sin leer. - - + + Error Error - + An error occurred while deleting empty game settings: {} Se ha producido un error al eliminar unos ajustes del juego en blanco: {} - + An error occurred while saving game settings: {} Se ha producido un error al guardar los ajustes del juego: {} - + Controller {} connected. Mando {} conectado. - + System paused because controller {} was disconnected. Se ha pausado el sistema porque el mando {} se ha desconectado. - + Controller {} disconnected. Mando {} desconectado. - + Cancel Cancelar @@ -18515,7 +18593,7 @@ Expulsando {3} para sustituirlo por {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -20195,7 +20273,7 @@ La búsqueda recursiva lleva más tiempo, pero identificará los archivos que se Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. - Un remedio para corregir defectos en el firmware de algunos volantes que provocan interrupciones breves en la fuerza transmitida. Deja esta opción desactivada a menos que la necesites, ya que tiene efectos secundarios en muchos volantes. + Un remedio para evitar que el firmware de algunos volantes provoque interrupciones breves en la fuerza transmitida. Deja esta opción desactivada a menos que la necesites, ya que tiene efectos secundarios en muchos volantes. @@ -21728,42 +21806,42 @@ La búsqueda recursiva lleva más tiempo, pero identificará los archivos que se VMManager - + Failed to back up old save state {}. Error al crear la copia de seguridad del guardado rápido antiguo {}. - + Failed to save save state: {}. Error al crear el guardado rápido {}. - + PS2 BIOS ({}) BIOS de PS2 ({}) - + Unknown Game Juego desconocido - + CDVD precaching was cancelled. Precacheado de CDVD cancelado. - + CDVD precaching failed: {} Error al precachear CDVD: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21780,272 +21858,272 @@ Una vez hayas volcado una imagen de la BIOS, deberás guardarla en la carpeta « Para más instrucciones, consulta las páginas de preguntas frecuentes («FAQ») y las guías. - + Resuming state guardados rápidos de continuación - + Boot and Debug Arrancar con depurador - + Failed to load save state Error al cargar el guardado rápido - + State saved to slot {}. Guardado rápido creado en el espacio {}. - + Failed to save save state to slot {}. Error al crear el guardado rápido en el espacio {}. - - + + Loading state carga de guardados rápidos - + Failed to load state (Memory card is busy) Error al cargar el guardado rápido (Memory Card ocupada) - + There is no save state in slot {}. No hay un guardado rápido en el espacio {}. - + Failed to load state from slot {} (Memory card is busy) Error al cargar el guardado rápido de la ranura {0} (Memory Card ocupada) - + Loading state from slot {}... Cargando guardado rápido del espacio {}... - + Failed to save state (Memory card is busy) Error al crear el guardado rápido (Memory Card ocupada) - + Failed to save state to slot {} (Memory card is busy) Error al crear el guardado rápido de la ranura {0} (Memory Card ocupada) - + Saving state to slot {}... Creando guardado rápido en el espacio {}... - + Frame advancing avance de fotogramas - + Disc removed. Disco extraído. - + Disc changed to '{}'. Disco cambiado a «{}». - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Error al abrir la nueva imagen de disco «{}». Cambiando a la imagen antigua. Mensaje de error: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Error al cambiar a la imagen del disco antiguo. Extrayendo disco. Mensaje de error: {} - + Cheats have been disabled due to achievements hardcore mode. Se han desactivado los trucos porque el modo de logros «hardcore» está activado. - + Fast CDVD is enabled, this may break games. CDVD rápido activado: podrían romperse los juegos. - + Cycle rate/skip is not at default, this may crash or make games run too slow. La frecuencia o la omisión de ciclos no están en sus valores predeterminados: podría haber cuelgues o los juegos podrían ir muy lentos. - + Upscale multiplier is below native, this will break rendering. El multiplicador de escala está por debajo del valor nativo: el renderizado fallará. - + Mipmapping is disabled. This may break rendering in some games. El «mipmapping» está desactivado. Podría fallar el renderizado de algunos juegos. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. - El renderizador no está configurado en Automático. Podría haber problemas de rendimiento y defectos gráficos. + El renderizador no está configurado en automático. Podría haber problemas de rendimiento y defectos gráficos. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. El filtrado de texturas no está configurado como bilineal (PS2). Fallará el renderizado de algunos juegos. - + No Game Running No se está ejecutando un juego - + Trilinear filtering is not set to automatic. This may break rendering in some games. El filtro trilineal no está configurado en automático. Podría fallar el renderizado de algunos juegos. - + Blending Accuracy is below Basic, this may break effects in some games. La precisión de mezcla está configurada a un nivel por debajo del básico: podrían fallar los efectos de algunos juegos. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. El modo de descarga de hardware no está configurado como preciso: podría fallar el renderizado en algunos juegos. - + EE FPU Round Mode is not set to default, this may break some games. El modo de redondeo de la FPU del EE no está configurado con su valor predeterminado: podrían fallar algunos juegos. - + EE FPU Clamp Mode is not set to default, this may break some games. El modo de limitación de la FPU del EE no está configurado con su valor predeterminado: podrían fallar algunos juegos. - + VU0 Round Mode is not set to default, this may break some games. El modo de redondeo de la VU0 no está configurado con su valor predeterminado: podrían fallar algunos juegos. - + VU1 Round Mode is not set to default, this may break some games. El modo de redondeo de la VU1 no está configurado con su valor predeterminado: podrían fallar algunos juegos. - + VU Clamp Mode is not set to default, this may break some games. El modo de limitación de las VU no está configurado con su valor predeterminado: podrían fallar algunos juegos. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128 MB de RAM activados. La compatibilidad con algunos juegos podría verse afectada. - + Game Fixes are not enabled. Compatibility with some games may be affected. Las correcciones para juegos no están activadas. La compatibilidad con algunos juegos podría verse afectada. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Los parches de compatibilidad no están activados. La compatibilidad con algunos juegos podría verse afectada. - + Frame rate for NTSC is not default. This may break some games. La velocidad de fotogramas NTSC no tiene su valor predeterminado: podrían fallar algunos juegos. - + Frame rate for PAL is not default. This may break some games. La velocidad de fotogramas PAL no tiene su valor predeterminado: podrían fallar algunos juegos. - + EE Recompiler is not enabled, this will significantly reduce performance. El recompilador del EE no está activado: el rendimiento se reducirá significativamente. - + VU0 Recompiler is not enabled, this will significantly reduce performance. El recompilador de la VU0 no está activado: el rendimiento se reducirá significativamente. - + VU1 Recompiler is not enabled, this will significantly reduce performance. El recompilador de la VU1 no está activado: el rendimiento se reducirá significativamente. - + IOP Recompiler is not enabled, this will significantly reduce performance. El recompilador del IOP no está activado: el rendimiento se reducirá significativamente. - + EE Cache is enabled, this will significantly reduce performance. La caché del EE está activada: el rendimiento se reducirá significativamente. - + EE Wait Loop Detection is not enabled, this may reduce performance. La detección de bucles de espera en el EE no está activada: el rendimiento podría reducirse. - + INTC Spin Detection is not enabled, this may reduce performance. La detección de bucles en el INTC no está activada: el rendimiento podría reducirse. - + Fastmem is not enabled, this will reduce performance. Fastmem no está activado: el rendimiento se reducirá. - + Instant VU1 is disabled, this may reduce performance. La VU1 instantánea está desactivada: el rendimiento podría reducirse. - + mVU Flag Hack is not enabled, this may reduce performance. La corrección del indicador de mVU no está activada: el rendimiento podría reducirse. - + GPU Palette Conversion is enabled, this may reduce performance. La conversión de paletas en la GPU está activada: el rendimiento podría reducirse. - + Texture Preloading is not Full, this may reduce performance. La precarga de texturas no está configurada como completa: el rendimiento podría reducirse. - + Estimate texture region is enabled, this may reduce performance. El cálculo de regiones de texturas está activado: el rendimiento podría reducirse. - + Texture dumping is enabled, this will continually dump textures to disk. El volcado de texturas está activado, se volcarán continuamente texturas al disco. diff --git a/pcsx2-qt/Translations/pcsx2-qt_fa-IR.ts b/pcsx2-qt/Translations/pcsx2-qt_fa-IR.ts index 0c6fa9ff2e794..23be68552bd4d 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_fa-IR.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_fa-IR.ts @@ -732,307 +732,318 @@ Leaderboard Position: {1} of {2} از تنظیمات عمومی [%1] استفاده کنید - + Rounding Mode حالت گرد کردن - - - + + + Chop/Zero (Default) خورد کردن یا صفر (پیش‌فرض) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> نحوه گرد کردن PCSX2 هنگامی که واحد نقطه شناور (EE FPU) از Emotion Engine شبیه سازی میشود را تغییر میدهد. به این علت که FPU های متفاوت در PS2 با استاندارد های بین المللی ناسازگار هستند، برخی از بازی ها ممکن است برای انجام صحیح محاسبات ریاضی به حالت های دیگری نیاز داشته باشند. مقدار پیش فرض اکثریت بازی ها را کنترل میکند;<b> تغییر دادن این تنظیمات زمانی که یک بازی مشکلات قابل مشاهده ندارد میتواند باعث بی ثباتی و ایجاد مشکلات شود.</b> - + Division Rounding Mode حالت گرد کردن تقسیم - + Nearest (Default) نزدیک‌ترین (پیش‌فرض) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode حالت محدود کردن - - - + + + Normal (Default) معمولی (پیش‌فرض) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> نحوه کنترل نگه داشتن شناور ها را در محدوده استاندارد x86 توسط PCSX2 را تغییر میدهد. مقدار پیش‌فرض تعداد گسترده ای از بازی ها را کنترل میکند.<b>تغییر دادن این تنظیمات وقتی یک بازی مشکلات قابل مشاهده ای ندارن میتواند باعث بی ثباتی شود.</b> - - + + Enable Recompiler فعال کردن مفسیر - + - - - + + + - + - - - - + + + + + Checked فعال شده - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. ترجمه باینری به‌موقع کد ماشین MIPS-IV 64 بیتی را به x86 انجام می‌دهد. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). تشخیص حلقه انتظار - + Moderate speedup for some games, with no known side effects. افزایش سرعت متوسط ​​برای برخی بازی‌ها، بدون عوارض جانبی شناخته شده. - + Enable Cache (Slow) فعال کردن حافظه پنهان (کند) - - - - + + + + Unchecked فعال نشده - + Interpreter only, provided for diagnostic. فقط مترجم، برای تشخیص ایرادات استفاده شود. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. تشخیص چرخش INTC - + Huge speedup for some games, with almost no compatibility side effects. افزایش سرعت بسیار زیاد برای برخی بازی ها، تقریباً بدون عوارض جانبی سازگاری. - + Enable Fast Memory Access فعال کردن دسترسی سریع به حافظه - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) از بک‌پچ کردن برای جلوگیری از فلاشینگ ثبات در هر دسترسی به حافظه استفاده می‌کند. - + Pause On TLB Miss مکث کردن در TLB هنگام خطا - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. به جای اینکه آن را نادیده بگیرد و ادامه دهد، هنگامی که خطای TLB رخ می دهد، ماشین مجازی را متوقف می کند. توجه داشته باشید که ماشین مجازی پس از پایان بلوک مکث می کند، نه بر اساس دستورالعملی که باعث خطا شده است. برای مشاهده آدرسی که در آن دسترسی نامعتبر رخ داده است، به کنسول مراجعه کنید. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode حالت گرد کردن VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> نحوه کنترل گرد کردن زمانی که Vector Unit 0 (EE VU0) انجین Emotion Engine توسط PCSX2 شبیه سازی میشود را تغییر میدهد. تنظیمات پیش‌فرض تعداد گسترده ای از بازی ها را کنترل میکند. <b>تغییر دادن این تنظیمات زمانی که یک بازی مشکلات قابله مشاهده ای ندارد میتواند مشکلات ثبات و یا کرش کردن شود.</b> - + VU1 Rounding Mode حالت گرد کردن VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> نحوه کنترل گرد کردن زمانی که Vector Unit 1 (EE VU1) انجین Emotion Engine توسط PCSX2 شبیه سازی میشود را تغییر میدهد. تنظیمات پیش‌فرض تعداد گسترده ای از بازی ها را کنترل میکند. <b>تغییر دادن این تنظیمات زمانی که یک بازی مشکلات قابله مشاهده ای ندارد میتواند مشکلات ثبات و یا کرش کردن شود.</b> - + VU0 Clamping Mode حالت محدود کردن VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> نحوه نگه داشتن شناورها در محدوده استاندارد x86 در Vector Unit 0 (EE VU0) انجین Emotion Engine توسط PCSX2 را تغییر میدهد. تنظیمات پیش‌فرض تعداد گسترده ای از بازی ها را کنترل میکند. <b>تغییر دادن این تنظیمات زمانی که یک بازی مشکلات قابله مشاهده ای ندارد میتواند باعث بی‌ثباتی شود.</b> - + VU1 Clamping Mode حالت محدود کردن VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> نحوه نگه داشتن شناورها در محدوده استاندارد x86 در Vector Unit 1 (EE VU1) انجین Emotion Engine توسط PCSX2 را تغییر میدهد. مقدار پیش‌فرض تعداد گسترده ای از بازی ها را کنترل میکند.<b>تغییر دادن این تنظیمات وقتی یک بازی مشکلات قابل مشاهده ای ندارن میتواند باعث بی ثباتی شود.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. فعال کردن مفسیر VU1 (حالت میکرو) - + Enables VU0 Recompiler. مفسیر VU0 را فعال می کند. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. فعال کردن مفسیر VU1 - + Enables VU1 Recompiler. مفسیر VU1 را فعال می کند. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) نادیده گرفتن پرچمگذاری mVU - + Good speedup and high compatibility, may cause graphical errors. سرعت خوب و سازگاری بالا، ممکن است باعث خطاهای گرافیکی شود. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. ترجمه باینری به‌موقع کد ماشین ۳۲ بیتی MIPS-I را به x۸۶ انجام می‌دهد. - + Enable Game Fixes فعال سازی رفع ایرادات و اصلاحات بازی - + Automatically loads and applies fixes to known problematic games on game start. به‌طور خودکار در شروع بازی، پچ های مربوط به بازی‌های مشکل‌ساز شناخته شده را بارگیری و اعمال می‌کند. - + Enable Compatibility Patches فعال کردن پچ های سازگاری - + Automatically loads and applies compatibility patches to known problematic games. به طور خودکار پچ های سازگاری را برای بازی های مشکل دار شناخته شده بارگیری و اعمال می کند. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium - Medium + متوسط - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown - Save State On Shutdown + ذخیره وضعیت هنگام خاموش کردن - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1255,29 +1266,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown - Save State On Shutdown + ذخیره وضعیت هنگام خاموش کردن - + Frame Rate Control کنترل نرخ فریم - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. هرتز - + PAL Frame Rate: نرخ فریم PAL: - + NTSC Frame Rate: نرخ فریم NTSC: @@ -1289,47 +1300,47 @@ Leaderboard Position: {1} of {2} Compression Level: - Compression Level: + سطح فشرده‌سازی: - + Compression Method: - Compression Method: + روش فشرده‌سازی: Uncompressed - Uncompressed + فشرده نشده Deflate64 - Deflate64 + Deflate64 Zstandard - Zstandard + Zstandard LZMA2 - LZMA2 + LZMA2 Low (Fast) - Low (Fast) + کم (سریع) Medium (Recommended) - Medium (Recommended) + متوسط (توصیه شده) High - High + زیاد @@ -1337,17 +1348,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings تنظیمات PINE - + Slot: اسلات: - + Enable فعال کردن @@ -1372,12 +1388,12 @@ Leaderboard Position: {1} of {2} Analyze - Analyze + تجزیه و تحلیل Close - Close + بستن @@ -1868,8 +1884,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater به‌روزرسان خودکار @@ -1909,68 +1925,68 @@ Leaderboard Position: {1} of {2} بعدا یادآوری کن - - + + Updater Error خطا در برنامه بروزرسان - + <h2>Changes:</h2> <h2>تغییرات:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>اخطار در ذخیره کردن وضعیت:</h2><p>نصب این به‌روزرسانی باعث می شود که وضعیت هایی که ذخیره کرده اید<b>دچار ایراد شود</b>. لطفاً قبل از نصب این به‌روزرسانی، مطمئن شوید که بازی‌های خود را در کارت حافظه این شبیه‌ساز ذخیره کرده‌اید، وگرنه پیشرفت خود را از دست خواهید داد.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>اخطار تنظیمات</h2><p>نصب این به‌روزرسانی، تنظیمات برنامه شما را بازنشانی می‌کند. لطفاً توجه داشته باشید که پس از این به‌روزرسانی باید تنظیمات خود را مجدداً تنظیم کنید.</p> - + Savestate Warning اخطار ذخیره وضعیت - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>هشدار</h1><p style='font-size:12pt;'>نصب این به‌روزرسانی باعث می‌شود <b>حالت‌های ذخیره‌سازی شما ناسازگار باشد</b>، <i>قبل از ادامه، حتماً هرگونه پیشرفتی را در مموری کارت خود ذخیره کنید</i>.</p><p>آیا می خواهید ادامه دهید؟</p> - + Downloading %1... درحال دانلود %1... - + No updates are currently available. Please try again later. هیچ به روز رسانی در حال حاضر در دسترس نیست. لطفاً بعداً دوباره امتحان کنید. - + Current Version: %1 (%2) نسخه فعلی: %1 (%2) - + New Version: %1 (%2) نسخه جدید: %1 (%2) - + Download Size: %1 MB حجم دانلود: %1 مگابایت - + Loading... در حال بارگذاری... - + Failed to remove updater exe after update. خطا در حذف کردن فایل exe بروزرسان کننده بعد از بروزرسانی. @@ -2134,19 +2150,19 @@ Leaderboard Position: {1} of {2} فعال کردن - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2236,17 +2252,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. محل دیسک بازی روی یک درایو قابل جابجایی است، ممکن است مشکلات عملکردی مانند لگ و فریز شدن رخ دهد. - + Saving CDVD block dump to '{}'. درحال ذخیره‌سازی اطلاغات سی دی یا دی وی دی به «{}». - + Precaching CDVD Precaching CDVD @@ -2271,7 +2287,7 @@ Leaderboard Position: {1} of {2} ناشناخته - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile حذف پروفايل - + Mapping Settings Mapping Settings - - + + Restore Defaults بازیابی تنظیمات پیش‌فرض - - - + + + Create Input Profile ایجاد پروفایل ورودی - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Enter the name for the new input profile: یک نام برای پروفایل ورودی جدید وارد کنید: - - - - + + + + + + Error خطا - + + A profile with the name '%1' already exists. پروفایلی با نام '%1' وجود دارد. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. آیا میخواهید تمامی پیوندها از پروفایل انتخاب شده فعلی را به یک پروفایل جدید کپی کنید؟ انتخاب کردن خیر یک پروفایل کاملا خالی ایجاد خواهد کرد. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. ذخیره سازی پروفایل جدید در '%1' ناموفق بود. - + Load Input Profile بارگیری پروفایل ورودی - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ You cannot undo this action. شما نمیتوانید این عمل را واگرد کنید. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile حذف پروفايل ورودی - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. شما نمی توانید این عمل را واگرد کنید. - + Failed to delete '%1'. حذف '%1' ناموفق بود. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ You cannot undo this action. شما نمیتوانید این عمل را واگرد کنید. - + Global Settings تنظیمات عمومی - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 درگاه USB %1 %2 - + Hotkeys کلیدهای میانبر - + Shared "Shared" refers here to the shared input profile. مشترک - + The input profile named '%1' cannot be found. پروفایل ورودی ای با نام '%1' پیدا نمیشود. @@ -4005,63 +4044,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4132,17 +4171,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4794,53 +4848,53 @@ Do you want to overwrite? اشکال زدا PCSX2 - + Run اجرا - + Step Into اجرای مرحله به مرحله کد - + F11 F١١ - + Step Over رد شدن از کد هایی که لازم به اجرا نیست - + F10 F١۰ - + Step Out خروج از کد و شروع از اول اشکال زدایی - + Shift+F11 Shift+F١١ - + Always On Top همیشه روی پنجره‌های دیگر باز بماند - + Show this window on top این پنجره را در بالا نشان دهید - + Analyze Analyze @@ -4858,48 +4912,48 @@ Do you want to overwrite? دیس‌اسمبلی - + Copy Address کپی کردن آدرس - + Copy Instruction Hex کپی دستورالعملات هگز (Hex) - + NOP Instruction(s) دستورالعملات NOP - + Run to Cursor اجرای به سمت مکان‌نما - + Follow Branch دنبال کردن شعبه - + Go to in Memory View به نمای حافظه بروید - + Add Function افزودن تابع - - + + Rename Function تغییر دادن نام عملکرد - + Remove Function حذف عملکرد @@ -4920,23 +4974,23 @@ Do you want to overwrite? جمع‌آوری دستورالعمل - + Function name نام تابع - - + + Rename Function Error خطا در تغییر نام تابع - + Function name cannot be nothing. نام عملکرد نمیتواند خالی باشد. - + No function / symbol is currently selected. هیچ عملکرد / نمادی در حال حاضر انتخاب نشده است. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error خطا در بازیابی عملکرد - + Unable to stub selected address. خطا در خرد کردن نشانی انتخابی. - + &Copy Instruction Text &کپی کردن متن دستورالعمل - + Copy Function Name کپی نام تابع - + Restore Instruction(s) بازیابی دستورالعملات - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &برو به آدرس - + Restore Function بازیابی عملکرد - + Stub (NOP) Function خرد کردن عملکرد (NOP) - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 آدرس درست نیست @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - اسلات: %1 | %2 | EE: %3 % | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - اسلات: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) بازی: %1 (%2) - + Rich presence inactive or unsupported. حضور غنی غیرفعال یا پشتیبانی نشده است. - + Game not loaded or no RetroAchievements available. بازی بارگذاری نشده است یا دستاوردی در RetroAchievements وجود ندارد. - - - - + + + + Error خطا - + Failed to create HTTPDownloader. خطا در ساخت HTTPDownloader. - + Downloading %1... در حال دانلود %1... - + Download failed with HTTP status code %1. خطا در دانلود با کد وضعیت HTTP %1. - + Download failed: Data is empty. دانلود موفق نبود: داده ها خالی هستند. - + Failed to write '%1'. نوشتم '%1' ناموفق بود. @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5699,342 +5748,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. هیچ دستگاه درایو سی دی یا دی وی دی پیدا نشد. لطفاً مطمئن شوید که یک درایو متصل و مجوزهای کافی برای دسترسی به آن را دارد. - + Use Global Setting استفاده از تنظیمات عمومی - + Automatic binding failed, no devices are available. اتصال خودکار انجام نشد، هیچ دستگاهی در دسترس نیست. - + Game title copied to clipboard. عنوان بازی در کلیپ بورد کپی شد. - + Game serial copied to clipboard. سریال بازی در کلیپ بورد کپی شد. - + Game CRC copied to clipboard. CRC بازی در کلیپ بورد کپی شد. - + Game type copied to clipboard. نوع بازی در کلیپ بورد کپی شد. - + Game region copied to clipboard. منطقه بازی در کلیپ بورد کپی شد. - + Game compatibility copied to clipboard. سازگاری بازی در کلیپ بورد کپی شد. - + Game path copied to clipboard. مکان بازی در کلیپ بورد کپی شد. - + Controller settings reset to default. تنظیمات دسته به حالت پیش‌فرض بازیابی شد. - + No input profiles available. هیچ پروفایل ورودی ای موجود نیست. - + Create New... ایجاد... - + Enter the name of the input profile you wish to create. نام پروفایل ورودی ای که میخواهید بسازید را وارد کنید. - + Are you sure you want to restore the default settings? Any preferences will be lost. آیا شما مطمئن هستید که میخواید به تنظیمات پیش فرض برگردید؟ تمامی تغییرات ایجاد شده از بین می رود. - + Settings reset to defaults. تنظیمات به حالت پیش‌فرض بازنشانی شد. - + No save present in this slot. هیچ ذخیره ای در این اسلات وجود ندارد. - + No save states found. هیچ وضعیت ذخیره ای پیدا نشد. - + Failed to delete save state. حذف وضعیت ذخیره ناموفق بود. - + Failed to copy text to clipboard. کپی متن به کلیپ برد ناموفق بود. - + This game has no achievements. این بازی دستاوردی ندارد. - + This game has no leaderboards. این بازی هیچ جدول امتیازاتی ندارد. - + Reset System بازنشانی سیستم - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? حالت هاردکور تا زمانی که سیستم بازنشانی نشده است فعال نخواهد شد. آیا میخواهید سیستم را بازنشانی کنید؟ - + Launch a game from images scanned from your game directories. اجرای بازی با استفاده از یک فایل اسکن شده در مکان پوشه بازی های شما. - + Launch a game by selecting a file/disc image. اجرای یک بازی با انتخاب یک فایل / دیسک ایمیج. - + Start the console without any disc inserted. اجرای کنسول بدون هیچ دیسکی. - + Start a game from a disc in your PC's DVD drive. اجرای یک بازی با استفاده از یک دیسک در درایو کامپیوتر. - + No Binding بدون اتصال - + Setting %s binding %s. تنظیم %s اتصال %s. - + Push a controller button or axis now. اکنون یک دکمه یا محور دسته را فشار دهید. - + Timing out in %.0f seconds... وقفه در %.0f ثانیه... - + Unknown ناشناخته - + OK تأیید - + Select Device دستگاه را انتخاب کنید - + Details جزئیات - + Options گزینه‌ها - + Copies the current global settings to this game. تنظیمات عمومی فعلی را به این بازی کپی می کند. - + Clears all settings set for this game. تمامی تنظیمات اعمال شده برای این بازی را پاک میکند. - + Behaviour عملکرد - + Prevents the screen saver from activating and the host from sleeping while emulation is running. از فعال شدن محافظ صفحه نمایش و حالت خواب میزبان هنگام اجرای شبیه ساز جلوگیری میکند. - + Shows the game you are currently playing as part of your profile on Discord. بازی ای که در حال اجرا است را در پروفایل دیسکورد شما به نمایش میگذارد. - + Pauses the emulator when a game is started. شبیه‌ساز را هنگامی که یک بازی در حال اجراست متوقف میکند. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. هنگامی که پنجره را مینیمایز می‌کنید یا برنامه دیگری را استفاده می‌کنید، شبیه‌ساز موقتاً متوقف می‌کند و وقتی که به شبیه‌ساز برمیگردید، شبیه‌ساز شروع به کار می‌کند. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. هنگامی که منوی سریع را باز می کنید شبیه‌ساز را متوقف می کند، و زمانی که آن را می بندید، آن را اجرا می کند. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. تعیین می کند که آیا هنگام فشار دادن کلید میانبر، درخواستی برای تأیید خاموش شدن ماشین مجازی یا بازی نمایش داده می شود. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. به طور خودکار وضعیت شبیه‌ساز را هنگام خاموش کردن یا خارج شدن ذخیره می کند. سپس می‌توانید دفعه بعد مستقیماً از جایی که بازی را ترک کردید، ادامه بدهید. - + Uses a light coloured theme instead of the default dark theme. از یک تم رنگ روشن به جای تم تیره پیش فرض استفاده می کند. - + Game Display نمایش بازی - + Switches between full screen and windowed when the window is double-clicked. بین حالت تمام صفحه و صفحه کوچیک با دوبار کلیک کردن جابجا میشود. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. موشواره را در حالت تمام صفحه مخفی میکند. - + Determines how large the on-screen messages and monitor are. اندازه پیام های روی صفحه و نمایشگر را تعیین می کند. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. هنگامی که رویدادهایی مانند ایجاد یا بارگیری حالت های ذخیره شده، گرفتن اسکرین شات و غیره رخ می دهد، پیام هایی را روی صفحه نمایش را نشان می دهد. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. سرعت شبیه سازی فعلی سیستم را در گوشه سمت راست بالای صفحه نمایش به صورت درصد نشان می دهد. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. تعداد فریم های ویدیویی (یا v-sync) نمایش داده شده در هر ثانیه توسط سیستم در گوشه سمت راست بالای صفحه نمایش را نشان می دهد. - + Shows the CPU usage based on threads in the top-right corner of the display. میزان استفاده از CPU را بر اساس لیست موجود در گوشه سمت راست بالای صفحه نمایش نشان می‌دهد. - + Shows the host's GPU usage in the top-right corner of the display. میزان استفاده از CPU میزبان را در گوشه سمت راست بالای صفحه نمایش نشان می‌دهد. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. آمار مربوط به GS (اولیه، رسم تماس) را در گوشه سمت راست بالای صفحه نشان می‌دهد. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. نشانگر هایی را هنگام فعال بودن فروارد سریع، توقف و سایر حالت های غیر عادی نشان می‌دهد. - + Shows the current configuration in the bottom-right corner of the display. پیکربندی های فعلی را در گوشه سمت راست پایین صفحه نمایش نشان می‌دهد. - + Shows the current controller state of the system in the bottom-left corner of the display. وضعیت دسته های فعلی سیستم را در گوشه سمت راست پایین صفحه نشان می‌دهد. - + Displays warnings when settings are enabled which may break games. هنگامی که تنظیماتی فعال است که ممکن است در بازی ایرادات ایجاد کند، خطا هایی نمایش داده میشود. - + Resets configuration to defaults (excluding controller settings). بازیابی پیکربندی ها به پیش فرض ها (به غیر از تنظیمات دسته). - + Changes the BIOS image used to start future sessions. ایمیج BIOS استفاده شده برای جلسه های آینده را تغییر میدهد. - + Automatic خودکار - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default پیش‌فرض - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. هنگامی که یک بازی شروع می‌شود، به طور خودکار به حالت تمام صفحه تغییر می‌کند. - + On-Screen Display نمایه بر روی صفحه - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. رزولوشن بازی را در گوشه سمت راست بالای صفحه نشان می‌دهد. - + BIOS Configuration تنظیمات بایوس - + BIOS Selection انتخاب BIOS - + Options and Patches تنظیمات و پچ ها - + Skips the intro screen, and bypasses region checks. از صفحه مقدمه رد می‌شود و بررسی های منطقه را دور می‌زند. - + Speed Control کنترل سرعت - + Normal Speed سرعت معمولی - + Sets the speed when running without fast forwarding. سرعت هنگام اجرای بدون فروارد سریع را تنظیم میکند. - + Fast Forward Speed سزعت جلو بردن - + Sets the speed when using the fast forward hotkey. سرعت هنگام استفاده از کلید حالت فروارد سریع را تنظیم میکند. - + Slow Motion Speed سرعت حرکت آهسته - + Sets the speed when using the slow motion hotkey. سرعت حرکت آهسته را تنظیم می کند موقعی که کلید میانبر حرکت آهسته فشار داده می شود. - + System Settings تنظیمات سیستم - + EE Cycle Rate نرخ چرخه EE - + Underclocks or overclocks the emulated Emotion Engine CPU. آندکلاک یا اورکلاک پردازنده شبیه سازی شده Emotion Engine را انجام می دهد. - + EE Cycle Skipping رد شدن از چرخه EE - + Enable MTVU (Multi-Threaded VU1) فعال کردن MTVU (VU1 چند رشته ای) - + Enable Instant VU1 فعال کردن VU1 فوری - + Enable Cheats فعال کردن تقلب ها - + Enables loading cheats from pnach files. بارگیری تقلب ها را از فایل های Pnach فعال می کند. - + Enable Host Filesystem فعال کردن فایل‌سیستم میزبان - + Enables access to files from the host: namespace in the virtual machine. دسترسی به فایل ها را از میزبان: فضای نام در کامپیوتر مجازی را فعال می کند. - + Enable Fast CDVD فعال کردن سی دی و دی وی دی سریع - + Fast disc access, less loading times. Not recommended. دسترسی سریع به دیسک، زمان بارگیری کمتر. توصیه نمیشود. - + Frame Pacing/Latency Control کنترل تاخیر / سرعت فریم - + Maximum Frame Latency زمان تاخیر حداکثر فریم - + Sets the number of frames which can be queued. تعداد فریم هایی را که می‌توان در انتظار قرار داد را تنظیم می کند. - + Optimal Frame Pacing سرعت فریم بهینه - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. رشته های EE و GS را بعد از هر فریم همگام سازی کنید. کمترین تأخیر ورودی را دارد، اما نیازمند مشخصات بالاتری است. - + Speeds up emulation so that the guest refresh rate matches the host. سرعت شبیه‌سازی را افزایش می‌دهد تا نرخ رفرش ریت مهمان با میزبان مطابقت داشته باشد. - + Renderer رندر کننده - + Selects the API used to render the emulated GS. API مورد استفاده برای ارائه GS شبیه سازی شده را انتخاب می‌کند. - + Synchronizes frame presentation with host refresh. ارائه دهی فریم را با رفرش ریت میزبان همگام میکند. - + Display صفحه نمایش - + Aspect Ratio نسبت تصویر - + Selects the aspect ratio to display the game content at. نسبت تصویر را برای نمایش محتوای بازی انتخاب می‌کند. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. انتخاب نسبت تصویر صفحه نمایش هنگام تشخیص یک FMV در حال اجرا. - + Deinterlacing ضد انعطاف پذیری - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. انتخاب الگوریتم مورد استفاده برای تبدیل خروجی انعطاف‌پذیر شده PS2 به مترقی برای نمایش. - + Screenshot Size اندازه اسکرین‌شات - + Determines the resolution at which screenshots will be saved. رزولوشنی که اسکرین شات ها در آن ذخیره می شوند را تعیین می کند. - + Screenshot Format فرمت اسکرین‌شات - + Selects the format which will be used to save screenshots. فرمتی را انتخاب می کند که برای ذخیره اسکرین شات استفاده می شود. - + Screenshot Quality کیفیت اسکرین‌شات - + Selects the quality at which screenshots will be compressed. کیفیت فشرده سازی اسکرین شات ها را انتخاب می کند. - + Vertical Stretch کشش عمودی - + Increases or decreases the virtual picture size vertically. اندازه تصویر مجازی را به صورت عمودی افزایش یا کاهش می دهد. - + Crop بریدن - + Crops the image, while respecting aspect ratio. تصویر را برش می دهد، در حالی که نسبت تصویر را رعایت می کند. - + %dpx %dپیکسل - - Enable Widescreen Patches - فعال کردن پچ های صفحه عریض (وایداسکرین) - - - - Enables loading widescreen patches from pnach files. - بارگیری پچ های صفحه عریض (وایداسکرین) را از فایل های Pnach فعال می کند. - - - - Enable No-Interlacing Patches - فعال کردن پچ های بدون درهم آمیختگی (اینترلیسینگ) - - - - Enables loading no-interlacing patches from pnach files. - بارگیری پچ های بدون درهم آمیختگی (اینترلیسینگ) را از فایل های Pnach فعال می کند. - - - + Bilinear Upscaling آپ‌اسکیل دو خطی (Bilinear) - + Smooths out the image when upscaling the console to the screen. هنگام آپ‌اسکیل کنسول به صفحه، تصویر را صاف می‌کند. - + Integer Upscaling آپ‌اسکیل عدد صحیح - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. برای اطمینان از اینکه نسبت بین پیکسل های سیستم اصلی به پیکسل های کنسول یک عدد صحیح باشد، به ناحیه های نمایش پدینگ اضافه می کند. ممکن است در برخی از بازی‌های دوبعدی تصویر واضح‌تری ایجاد کند. - + Screen Offsets انحراف صفحه - + Enables PCRTC Offsets which position the screen as the game requests. فعال کردن انحراف PCRTC که قرارگیری صفحه را مطابق به درخواست بازی تنظیم میکند. - + Show Overscan نمایش ناحیه خارج از صفحه نمایش - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. گزینه نمایش «ناحیه خارج از صفحه نمایش» را در بازی هایی که بیشتر از ناحیه امن صفحه نمایش ترسیم می کنند، فعال می کند. - + Anti-Blur ضد تاری - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. هک های داخلی ضد تاری را فعال می کند. دقت کمتری نسبت به رندر پلی‌استیشن ۲ دارد اما باعث می شود بسیاری از بازی ها کمتر تار به نظر برسند. - + Rendering رندرینگ - + Internal Resolution رزولوشن داخلی - + Multiplies the render resolution by the specified factor (upscaling). وضوح رندر بازی را بر اساس فاکتور مشخص شده دو برابر میکند (آپ‌اسکیل). - + Mipmapping میپ‌مپینگ - + Bilinear Filtering پالایهٔ دوخطی (Bilinear) - + Selects where bilinear filtering is utilized when rendering textures. محل استفاده از فیلتر دوخطی bilinear هنگام رندر بافت را انتخاب می کند. - + Trilinear Filtering فیلتر سه خطی (Trilinear) - + Selects where trilinear filtering is utilized when rendering textures. محل استفاده از فیلتر سه خطی Trilinear هنگام رندر بافت را انتخاب می کند. - + Anisotropic Filtering فیلتر ناهمسان‌گردی (Anisotropic Filtering) - + Dithering دیترینگ - + Selects the type of dithering applies when the game requests it. نوع پراکندگی زمانی که بازی برای اعمال درخواست می‌کند را انتخاب می‌کند. - + Blending Accuracy دقت ترکیب - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. سطح دقت را هنگام شبیه‌سازی حالت‌های ترکیبی که توسط API گرافیک میزبان پشتیبانی نمی‌شوند را تعیین می‌کند. - + Texture Preloading پیش‌بارگیری بافت - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. در هنگام استفاده، به جای مناطق مورد استفاده، بافت‌های کامل را در GPU آپلود می‌کند. می تواند عملکرد را در برخی از بازی ها بهبود بخشد. - + Software Rendering Threads رشته رندر نرم‌افزاری - + Number of threads to use in addition to the main GS thread for rasterization. تعداد رشته هایی که بر علاوه بر رشته های اصلی GS برای شطرنج سازی استفاده می‌شوند. - + Auto Flush (Software) فلاش خودکار (نرم افزار) - + Force a primitive flush when a framebuffer is also an input texture. هنگامی که یک فریم بافر نیز یک بافت ورودی است، یک فلاش اولیه را اجبار می‌کند. - + Edge AA (AA1) لبه AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). شبیه‌سازی لبه‌های ضد پلگی GS را فعال می‌کند (AA1). - + Enables emulation of the GS's texture mipmapping. شبیه‌سازی mipmap بافت GS را فعال می‌کند. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes اصلاحیات سخت‌افزاری - + Manual Hardware Fixes اصلاحیات سخت‌افزاری دستی - + Disables automatic hardware fixes, allowing you to set fixes manually. اصلاحیات سخت‌افزاری خودکار را غیر فعال میکند تا به شما اجازه دهد که به صورت دستی آن هارا اصلاح کنید. - + CPU Sprite Render Size اندازه رندر اسپرایت CPU - + Uses software renderer to draw texture decompression-like sprites. از رندر نرم افزاری برای ترسیم بافت هایی استفاده می‌کند که به نظر برای فشرده سازی هستند. - + CPU Sprite Render Level سطح اندازه رندر اسپرایت CPU - + Determines filter level for CPU sprite render. سطح فیلتر را برای رندر اسپرایت CPU تعیین می کند. - + Software CLUT Render رندر CLUT نرم‌افزاری - + Uses software renderer to draw texture CLUT points/sprites. از رندر نرم افزاری برای ترسیم بافت هایی استفاده می‌کند که مورد استفاده بافت های CLUT هستند. - + Skip Draw Start پرش از شروع ترسیم - + Object range to skip drawing. محدوده شیء برای رد شدن از ترسیم. - + Skip Draw End پرش از پایان ترسیم - + Auto Flush (Hardware) فلاش خودکار (سخت‌افزار) - + CPU Framebuffer Conversion تبدیل CPU Framebuffer - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features غیر فعال کردن امکانات امن - + This option disables multiple safe features. این گزینه تعدادی از امکانات امن را غیر‌فعال میکند. - + This option disables game-specific render fixes. این گزینه تعدادی از اصلاحات رندر مخصوص هر بازی را غیر فعال میکند. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. داده های GS را هنگام رندر کردن یک فریم جدید برای بازتولید برخی جلوه ها با دقت آپلود می کند. - + Disable Partial Invalidation غیرفعال کردن ابطالات جزئی - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. ورودی‌های کش بافت را در صورت وجود هر تقاطعی، به جای مناطق متقاطع، حذف می‌کند. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. به کش بافت ها (textures) اجازه میدهد تا به عنوان یک بافت ورودی (texture) از بخش داخلی یک فریم بافر قبلی مجددا استفاده کند. - + Read Targets When Closing خواندن اهداف هنگام بسته شدن - + Flushes all targets in the texture cache back to local memory when shutting down. هنگام خاموش شدن، تمام اهداف موجود در کش بافت را به حافظه محلی باز می‌گرداند. - + Estimate Texture Region تخمین ناحیه بافت (textures) - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). برای کاهش حجم بافت ها (texture) وقتی که بازی ها خودشان آن را تنظیم نمیکنند تلاش میکند (برای مثال، بازی های شرکت Snowblind). - + GPU Palette Conversion تبدیل پالت GPU - + Upscaling Fixes اصلاحات آپ‌اسکیل - + Adjusts vertices relative to upscaling. رئوس را با تناسب به آپ‌اسکیل کردن تنتظیم میکند. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite گرد کردن اسپرایت - + Adjusts sprite coordinates. مختصات sprite ها را تنظیم می کند. - + Bilinear Upscale آپ‌اسکیل دو خطی (Bilinear) - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. می‌تواند بافت‌ها را به دلیل فیلتر bilinear هنگام ‌آپ‌اسکیل شدن صاف کند. به عنوان مثال، تابش نور خورشید در بازی Brave. - + Adjusts target texture offsets. انحراف بافت هدف را تنظیم می کند. - + Align Sprite تراز کردن اسپرایت - + Fixes issues with upscaling (vertical lines) in some games. مشکلات مربوط به آپ‌اسکیل (خطوط عمودی) در برخی بازی ها را برطرف می‌کند. - + Merge Sprite ادغام کردن اسپرایت - + Replaces multiple post-processing sprites with a larger single sprite. پس-پردازش های چندگانه اسپرایت ها را با یک اسپرایت تکی بزرگ‌تر جایگزین میکند. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. دقت GS را برای جلوگیری از شکاف بین پیکسل ها هنگام ارتقاء رزولوشن کاهش می دهد. متن بازی‌های Wild Arms را درست می‌کند. - + Unscaled Palette Texture Draws ترسیم بافت پالت بدون مقیاس - + Can fix some broken effects which rely on pixel perfect precision. می‌تواند برخی از جلوه‌های شکسته را که به دقت کامل پیکسلی تکیه دارند را برطرف کند. - + Texture Replacement جایگزینی بافت - + Load Textures بارگذاری بافت ها - + Loads replacement textures where available and user-provided. بارگیری بافت جایگزین زمانی که در دسترسو در اختیار کاربر است. - + Asynchronous Texture Loading بارگذاری بافت ناهمزمان - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. بافت های جایگزین را بر روی یک رشته عملکردی بار می کند و در صورت فعال بودن جایگزینی، لگ های ریز را کاهش می دهد. - + Precache Replacements جایگزین Precache - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. تمامی تکسچر ها را از قبل در حافظه بارگیری میکند. با بارگیری ناهمزمان لازم نیست. - + Replacements Directory پوشه جایگزین ها - + Folders پوشه ها - + Texture Dumping استخراج بافت ها - + Dump Textures ذخیرهٔ بافت ها - + Dump Mipmaps ذخیره کردن بافت های میپ‌مپ - + Includes mipmaps when dumping textures. شامل کردن mipmap ها هنگام استخراح بافت ها. - + Dump FMV Textures استخراج بافت های FMV - + Allows texture dumping when FMVs are active. You should not enable this. به استخراج بافت ها زمانی که FMV ها فعال هستند اجازه میدهد. نباید این گزینه را فعال کنید. - + Post-Processing پس پردازش - + FXAA FXAA - + Enables FXAA post-processing shader. فعال کردن شیدر پس پردازش FXAA. - + Contrast Adaptive Sharpening تیز کردن تطبیقی کنتراست - + Enables FidelityFX Contrast Adaptive Sharpening. فعال کردن FidelityFX. - + CAS Sharpness تیزی CAS - + Determines the intensity the sharpening effect in CAS post-processing. شدت اثر تیز کردن در CAS پس از پردازش را تعیین می‌کند. - + Filters فیلتر ها - + Shade Boost تقویت شیدر - + Enables brightness/contrast/saturation adjustment. تنظیم روشنایی/کنتراست/اشباع را فعال می کند. - + Shade Boost Brightness افزایش روشنایی سایه - + Adjusts brightness. 50 is normal. روشنایی را تنظیم می کند. 50 طبیعیست. - + Shade Boost Contrast افزایش کنتراست سایه - + Adjusts contrast. 50 is normal. کنتراست را تنظیم می کند. 50 طبیعیست. - + Shade Boost Saturation افزایش اشباع سایه - + Adjusts saturation. 50 is normal. اشباع را تنظیم می کند. 50 طبیعیست. - + TV Shaders شیدرهای تلویزیون - + Advanced پیشرفته - + Skip Presenting Duplicate Frames صرف نظر کردن از ارائه فریم های تکراری - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode حالت دانلود سخت‌افزار - + Changes synchronization behavior for GS downloads. رفتار همگام سازی را برای دانلودهای GS تغییر می‌دهد. - + Allow Exclusive Fullscreen فعال کردن حالت تمام صفحه اختصاصی - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. اکتشافی درایور را برای فعال کردن تمام صفحه اختصاصی، یا تلنگر/پیش‌گیری مستقیم، لغو می‌کند. - + Override Texture Barriers نادیده گرفتن موانع بافت - + Forces texture barrier functionality to the specified value. عملکرد مانع بافت را به مقدار مشخص شده وادار می کند. - + GS Dump Compression فشرده سازی استخراج GS - + Sets the compression algorithm for GS dumps. الگوریتم فشرده سازی را برای استخراج های GS تنظیم می کند. - + Disable Framebuffer Fetch غیرفعال کردن Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. از استفاده از واکشی بافر فریم هنگامی که توسط GPU میزبان پشتیبانی می شود، جلوگیری می‌کند. - + Disable Shader Cache غیر فعال کردن shader cache - + Prevents the loading and saving of shaders/pipelines to disk. از بارگذاری و ذخیره شیدر ها و خط‌وط لوله (pipeline) روی دیسک جلوگیری می‌کند. - + Disable Vertex Shader Expand غیرفعال کردن توسعه vertex shader - + Falls back to the CPU for expanding sprites/lines. برای گسترش اسپرایت ها یا خطوط به CPU برمی گردد. - + Changes when SPU samples are generated relative to system emulation. زمانی که نمونه های PSU نسبت به شبیه سازی سیستم تولید شده اند تغییر می‌کند. - + %d ms %d ميلي‌ثانيه - + Settings and Operations تنظیمات و عملیات ها - + Creates a new memory card file or folder. یک کارت حافظه یا پوشه جدید میسازد. - + Simulates a larger memory card by filtering saves only to the current game. یک کارت حافظه جدید با ترتیب سازی سیو ها فقط به بازی جدید را شبیه‌سازی میکند. - + If not set, this card will be considered unplugged. اگر تنظیم نشود، این کارت قطع شده در نظر گرفته می شود. - + The selected memory card image will be used for this slot. ایمیج کارت حافظه انتخاب شده برای این اسلات استفاده خواهد شد. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger تریگر - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s نسخه: %s - + {:%H:%M} {:%H:%M} - + Slot {} اسلات {} - + 1.25x Native (~450px) 1.25 برابر پیش فرض (حدود 450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection تغییر گزینه انتخاب شده - + Select انتخاب - + Parent Directory Parent Directory - + Enter Value مقدار را وارد کنید - + About درباره - + Toggle Fullscreen فعال کردن حالت تمام صفحه - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game برگشت به بازی - + Select State Select State - + Select Game انتخاب بازی - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version نمایش نسخه PCSX2 - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info نمایش اطلاعات سخت افزاری - + Create Memory Card درست کردن مموری کارت - + Configuration تنظیمات - + Start Game شروع بازی - + Launch a game from a file, disc, or starts the console without any disc inserted. اجرای بازی از فایل، دیسک، یا روشن کردن کنسول بدون وارد کردن دیسک. - + Changes settings for the application. تنظیمات را برای برنامه تغییر میدهد. - + Return to desktop mode, or exit the application. برگشت به حالت دسکتاپ، یا خروج از برنامه. - + Back برگشت - + Return to the previous menu. بازگشت به منوی قبلی. - + Exit PCSX2 خروج از PCSX2 - + Completely exits the application, returning you to your desktop. کاملاً از برنامه بیرون میاد، به دسکتاپ برمیگردید. - + Desktop Mode حالت دسکتاپ - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). تمام تنظیمات را به پیش‌فرض بازنشانی می‌کند (از جمله اتصالات). - + Replaces these settings with a previously saved input profile. این تنظیمات را با یک پروفایل ورودی ذخیره قبلی جایگزین می‌کند. - + Stores the current settings to an input profile. تنظیمات فعلی را در یک پروفایل ورودی ذخیره می کند. - + Input Sources منبع ورودی ها - + The SDL input source supports most controllers. منبع ورودی SDL از اکثر دسته ها پشتیبانی می کند. - + Provides vibration and LED control support over Bluetooth. پشتیبانی از ویبره و کنترل LED را از طریق بلوتوث فراهم می کند. - + Allow SDL to use raw access to input devices. به SDL اجازه دسترسی خام به پروفایل ورودی می‌دهد. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. منبع Xinput از دسته های XBox 360/XBox One/XBox Series پشتیبانی می کند. - + Multitap مولتی‌تپ - + Enables an additional three controller slots. Not supported in all games. سه اسلات اضافی دسته را فعال می‌کند. برای همه بازی ها پشتیبانی نمی شود. - + Attempts to map the selected port to a chosen controller. تلاش برای نگاشت پورت انتخاب شده به یک دسته انتخابی. - + Determines how much pressure is simulated when macro is active. تعیین می کند که چقدر فشار وقتی ماکرو فعال است شبیه‌سازی می شود. - + Determines the pressure required to activate the macro. فشار مورد نیاز برای فعال کردن ماکرو را تعیین می کند. - + Toggle every %d frames هر %d فریم تغییر کند - + Clears all bindings for this USB controller. تمام اتصالات این دسته USB را پاک می کند. - + Data Save Locations مکان ذخیره داده ها - + Show Advanced Settings نمایش تنظیمات پیشرفته - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. تغییر این تنظیمات ممکن است باعث شود بازی ها غیرقابل پخش شوند. با مسئولیت خود تغییر دهید، تیم PCSX2 از تنظیمات با تغییر این تنظیمات پشتیبانی نمی کند. - + Logging ایجاد تاریخچه - + System Console کنسول سیستم - + Writes log messages to the system console (console window/standard output). پیام های گزارش را در کنسول سیستم می نویسد (پنجره کنسول/خروجی استاندارد). - + File Logging لاگ کردن فایل - + Writes log messages to emulog.txt. پیام های گزارش را در emulog.txt می نویسد. - + Verbose Logging ورود مفصل - + Writes dev log messages to log sinks. پیام‌های گزارش توسعه‌دهنده را در لاگ سینک‌ها می‌نویسد. - + Log Timestamps گزارش مهر زمانی - + Writes timestamps alongside log messages. مهرهای زمانی را در کنار پیام‌های گزارش می‌نویسد. - + EE Console EE کنسول - + Writes debug messages from the game's EE code to the console. پیام های debug را از کد EE بازی به کنسول می نویسد. - + IOP Console کنسول IOP - + Writes debug messages from the game's IOP code to the console. پیام های debug را از کد IOP بازی به کنسول می نویسد. - + CDVD Verbose Reads خواندن گویا CDVD - + Logs disc reads from games. دیسک خوانده شده از بازی ها را ثبت می‌کند. - + Emotion Engine ایموشن انجین (Emotion Engine) - + Rounding Mode حالت گرد کردن - + Determines how the results of floating-point operations are rounded. Some games need specific settings. نحوه گرد شدن نتایج عملیات ممیز شناور (floating-point) را مشخص می کند. برخی از بازی ها نیاز به تنظیمات مشخصی دارند. - + Division Rounding Mode حالت گرد کردن تقسیم - + Determines how the results of floating-point division is rounded. Some games need specific settings. نحوه گرد شدن نتایج عملیات ممیز شناور (floating-point) را مشخص می کند. برخی از بازی ها نیاز به تنظیمات مشخصی دارند. - + Clamping Mode حالت محدود کردن - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. نحوه مدیریت اعداد ممیز شناور خارج از محدوده را تعیین می کند. برخی از بازی ها نیاز به تنظیمات مشخصی دارند. - + Enable EE Recompiler فعال کردن مفسیر EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. ترجمه باینری به‌موقع کد ماشین MIPS-IV ۶۴ بیتی را به کد بومی انجام می‌دهد. - + Enable EE Cache فعال کردن کش EE - + Enables simulation of the EE's cache. Slow. شبیه‌سازی کش EE را فعال می کند. آهسته. - + Enable INTC Spin Detection فعال کردن تشخیص چرخش INTC - + Huge speedup for some games, with almost no compatibility side effects. افزایش سرعت بسیار زیاد برای برخی بازی ها، تقریباً بدون عوارض جانبی سازگاری. - + Enable Wait Loop Detection فعال کردن تشخیص حلقه انتظار - + Moderate speedup for some games, with no known side effects. افزایش سرعت متوسط ​​برای برخی بازی‌ها، بدون عوارض جانبی شناخته شده. - + Enable Fast Memory Access فعال کردن دسترسی سریع به حافظه - + Uses backpatching to avoid register flushing on every memory access. از بک‌پچ کردن برای جلوگیری از فلاشینگ ثبات در هر دسترسی به حافظه استفاده می‌کند. - + Vector Units واحدهای برداری Vector Units - + VU0 Rounding Mode حالت گرد کردن VU0 - + VU0 Clamping Mode حالت محدود کردن VU0 - + VU1 Rounding Mode حالت گرد کردن VU1 - + VU1 Clamping Mode حالت محدود کردن VU1 - + Enable VU0 Recompiler (Micro Mode) فعال کردن مفسیر (کامپایلر) VU0 (حالت میکرو) - + New Vector Unit recompiler with much improved compatibility. Recommended. مفسیر جدید Vector Unit با سازگاری بسیار بهبود یافته. توصیه شده. - + Enable VU1 Recompiler فعال کردن مفسیر VU1 - + Enable VU Flag Optimization فعال کردن بهینه‌سازی VU Flag - + Good speedup and high compatibility, may cause graphical errors. سرعت خوب و سازگاری بالا، ممکن است باعث خطاهای گرافیکی شود. - + I/O Processor پردازنده ورودی و خروجی - + Enable IOP Recompiler فعال کردن مفسیر IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. ترجمه باینری به‌موقع کد ماشین MIPS-I ۳۲ بیتی را به کد بومی انجام می‌دهد. - + Graphics گرافیک - + Use Debug Device استفاده از وسیله اشکال‌زدایی (debug) - + Settings تنظیمات - + No cheats are available for this game. هیچ تقلبی برای این بازی موجود نیست. - + Cheat Codes کد های تقلب - + No patches are available for this game. هیچ پچ‌ای برای این بازی موجود نیست. - + Game Patches پچ های بازی - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. فعال کردن تقلب های بازی می‌تواند باعث رفتار غیرقابل پیش‌بینی، خرابی، قفل های نرم افزاری یا خرابی بازی‌های ذخیره شده شود. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. فعال کردن پچ های بازی می‌تواند باعث رفتار غیرقابل پیش‌بینی، خرابی، قفل های نرم افزاری یا خرابی بازی‌های ذخیره شده شود. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. از پچ ها با مسئولیت خود استفاده کنید، تیم PCSX2 هیچ پشتیبانی برای کاربرانی که پچ های بازی را فعال کرده‌اند ارائه نمی‌کند. - + Game Fixes پچ های بازی - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. اصلاحات بازی نباید اصلاح شود مگر اینکه از عملکرد هر گزینه و پیامدهای آن آگاه باشید. - + FPU Multiply Hack هک ضرب کردن FPU - + For Tales of Destiny. برای Tales of Destiny. - + Preload TLB Hack پیش بارگذاری هک TLB - + Needed for some games with complex FMV rendering. مورد نیاز برای بازی هایی که رندر FMV پیچیده‌ای دارند. - + Skip MPEG Hack پرش از هک MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. پرش از ویدیو/FMV در بازی ها برای جلوگیری از هنگ کردن/فریز کردن. - + OPH Flag Hack هک پرچمگذاری mVU - + EE Timing Hack هک زمان سنجی EE - + Instant DMA Hack هک فوری DMA - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. شناخته شده برای تاثیرگذاری بر این بازی ها: Mana Khemia 1، Metal Saga و Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. برای هنگ کردن HUD بازی SOCOM2 و هنگ کردن بارگیری Spy Hunter. - + VU Add Hack هک اضافه VU - + Full VU0 Synchronization همگام سازی کامل VU0 - + Forces tight VU0 sync on every COP2 instruction. در هر دستورالعمل COP2 یک همگام سازی محکم VU0 را مجبور می‌کند. - + VU Overflow Hack هک سرریز VU - + To check for possible float overflows (Superman Returns). برای بررسی سرریزهای احتمالی شناور (Superman Returns). - + Use accurate timing for VU XGKicks (slower). استفاده از زمان‌بندی دقیق برای VU XGKicks (آهسته‌تر). - + Load State بارگیری وضعیت ذخیره شده - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. چرخه‌های پرش پردازنده EmotionEngine (EE) شبیه‌سازی شده را انجام می‌دهد. به زیر مجموعه کوچکی از بازی هایی مانند Shadow of the Colossus کمک می کند. بیشتر اوقات برای عملکرد شبیه‌ساز مضر است. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. به طور کلی سرعت را در پردازنده هایی با ۴ هسته یا بیشتر را افزایش می دهد. برای اکثر بازی‌ها ایمن است، اما تعداد کمی از آنها ناسازگار هستند و ممکن است هنگ بکنند. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1 را فوراً اجرا می کند. در اکثر بازی‌ها، سرعت خیلی کم بهبود می‌یابد. برای اکثر بازی ها استفاده از VU1 ایمن است، اما تعداد کمی از بازی ها ممکن است خطاهای گرافیکی داشته باشند. - + Disable the support of depth buffers in the texture cache. غیر فعال کردن پشتیبانی از بافرهای عمق را در کش بافت. - + Disable Render Fixes غیرفعال کردن اصلاحات رندر - + Preload Frame Data پیش بارگیری داده های فریم - + Texture Inside RT بافت داخل رندر هدف رندر - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. هنگامی که پردازنده گرافیکی فعال باشد، بافت های نقشه رنگی را تبدیل می کند، در غیر این صورت پردازنده این کار را انجام می دهد. این یک معامله بین پردازنده گرافیکی و پردازنده است. - + Half Pixel Offset نیمه انحراف پیکسلی - + Texture Offset X انحراف بافت افقی - + Texture Offset Y انحراف بافت عمودی - + Dumps replaceable textures to disk. Will reduce performance. بافت های قابل جایگزین را در دیسک استخراج میکند. باعث کاهش سرعت اجرا می‌شود. - + Applies a shader which replicates the visual effects of different styles of television set. یک شیدر که جلوه های بصری یک سبک مختلف تلویزیون را بازسازی میکند را اعمال می‌کند. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. از نمایش فریم هایی که در بازی های ۲۵ یا ۳۰ فریم بر ثانیه تغییر نمی کنند، صرفنظر می کند. می تواند سرعت را بهبود ببخشد، اما تاخیر ورودی را افزایش می دهد یا سرعت فریم را بدتر می کند. - + Enables API-level validation of graphics commands. اعتبار سنجی دستورات گرافیکی در سطح API را فعال می کند. - + Use Software Renderer For FMVs استفاده از رندر نرم‌افزاری برای FMV ها - + To avoid TLB miss on Goemon. برای جلوگیری از از دست دادن TLB در Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. هک زمان بندی همه منظوره. شناخته شده برای تاثیر بر روی این بازی ها: Digital Devil Saga، SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. مناسب برای مشکلات مربوط به شبیه سازی کش. شناخته شده برای اثر گذاشتن روی این بازی ها: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. شناخته شده است که بر روی بازی های زیر تأثیر می گذارد: Bleach Blade Battlers، Growlanser II and III، Wizardry. - + Emulate GIF FIFO GIF FIFO را شبیه سازی کن - + Correct but slower. Known to affect the following games: Fifa Street 2. صحیح اما آهسته‌تر. شناخته شده برای تاثیر بر روی این بازی ها: Fifa Street 2. - + DMA Busy Hack هک DMA شلوغ - + Delay VIF1 Stalls تاخیر در غرفه VIF1 - + Emulate VIF FIFO شبیه سازی VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. پیش خوانی VIF1 FIFO را شبیه سازی میکند. شناخته شده است که بر بازی های زیر تأثیر می گذارد: Test Drive Unlimited، Transformers. - + VU I Bit Hack هک VU I Bit - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. از کامپایل مجدد مداوم در برخی بازی ها جلوگیری می کند. بر روی بازی های زیر تأثیر می گذارد: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. برای بازی های شرکت Tri-Ace مانند: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync همگام‌سازی VU - + Run behind. To avoid sync problems when reading or writing VU registers. اجرا در پشت سر برای جلوگیری از مشکلات همگام سازی هنگام خواندن یا نوشتن رجیسترهای VU. - + VU XGKick Sync همگام سازی VU XGKick - + Force Blit Internal FPS Detection اجبار تشخیص داخلی blit فریم - + Save State ذخیرهٔ وضعیت - + Load Resume State بارگیری وضعیت ادامه - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? آیا میخواهید این سیو را بارگیری و ادامه دهید؟ - + Region: ریجن: - + Compatibility: سازگاری: - + No Game Selected هیچ بازی ای انتخاب نشده - + Search Directories جستجوی پوشه ها - + Adds a new directory to the game search list. یک مقصد جدید به فهرست سرچ بازی ها اضافه می کند. - + Scanning Subdirectories اسکن زیر شاخه ها - + Not Scanning Subdirectories زیر شاخه ها را اسکن نمی کند - + List Settings تنظيمات ليست - + Sets which view the game list will open to. تعیین می کند که با چه نمایه ای فهرست بازی ها باز شوند. - + Determines which field the game list will be sorted by. تعیین می کند که لیست بازی بر اساس کدام زمینه مرتب شود. - + Reverses the game list sort order from the default (usually ascending to descending). ترتیب مرتب‌سازی فهرست بازی‌ها را از پیش‌فرض (معمولاً صعودی به نزولی) تغییر می‌دهد. - + Cover Settings تنظیمات کاور - + Downloads covers from a user-specified URL template. جلد ها را از یک الگوی URL مشخص شده توسط کاربر دانلود می‌کند. - + Operations عملیات - + Selects where anisotropic filtering is utilized when rendering textures. محل استفاده از فیلتر ناهمسانگرد anisotropic را هنگام رندر کردن بافت ها انتخاب می کند. - + Use alternative method to calculate internal FPS to avoid false readings in some games. از روش جایگزین برای محاسبه نرخ فریم داخلی استفاده کنید تا از خواندن نادرست اطلاعات در برخی بازی ها جلوگیری کند. - + Identifies any new files added to the game directories. هر فایل جدیدی که به پوشه بازی ها اضافه شود را شناسایی می کند. - + Forces a full rescan of all games previously identified. یک اسکن مجدد از تمامی بازی های از قبل شناخته شده را اجبار می کند. - + Download Covers دانلود کاور ها - + About PCSX2 درباره PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 یک شبیه ساز رایگان و منبع باز پلی استیشن 2 (PS2) است. هدف این برنامه، شبیه سازی سخت افزار پلی استیشن ۲ با استفاده از ترکیبی از کامپایلر یا مترجمان CPU MIPS و مفسیر می باشد و دارای یک ماشین مجازی است که سخت افزار و حافظه سیستم پلی استیشن ۲ را مدیریت می کند. این به شما امکان می دهد که بازی های پلی استیشن ۲ را با بسیاری از ویژگی ها و مزایا بازی کنید. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 و PS2 علائم تجاری ثبت شده شرکت Sony Interactive Entertainment هستند. این برنامه به هیچ وجه به شرکت Sony Interactive Entertainment وابسته نیست. - + When enabled and logged in, PCSX2 will scan for achievements on startup. وقتی فعال شد و به سیستم وارد شدید، PCSX2 برای دستاوردها هنگام بارگذاری بازی اسکن می کند. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. «حالت چالش» برای دستاورد ها، دارای ردیابی جدول امتیازات. ذخیره حالت کنونی بازی، تقلبات و امکانات کند کردن بازی غیر فعال می شود. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. پیام‌های پاپ آپ در رویدادهایی مانند باز کردن قفل دستاوردها و ارسال‌های تابلوی امتیازات نمایش داده می‌شود. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. جلوه های صوتی را برای رویدادهایی مانند باز کردن قفل دستاوردها و ارسال جدول امتیازات پخش می کند. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. هنگامی که یک چالش یا دستاورد اولیه فعال است، آیکون هایی را در گوشه سمت راست پایین صفحه نمایش نشان می‌دهد. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. وقتی فعال باشد، PCSX2 دستاوردهای مجموعه‌های غیر رسمی را فهرست می‌کند. این دستاوردها توسط RetroAchievements ردیابی نمی شوند. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. وقتی فعال باشد، PCSX2 فرض می‌کند که تمام دستاوردها قفل شده‌اند و هیچ اعلان باز کردن قفل را به سرور ارسال نمی‌کند. - + Error خطا - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control کنترل صدا - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound قطع کردن همه صداها - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. پیام های پاپ آپ را هنگام شروع، ثبت یا شکست در یک چالش لیست تابلوی امتیازات را نمایش می‌دهد. - + When enabled, each session will behave as if no achievements have been unlocked. هنگام فعال بودن، هر جلسه به صورتی اجرا میشود که انگار هیچ دستاوردی باز نشده است. - + Account حساب کاربری - + Logs out of RetroAchievements. از RetroAchievements خارج می شود. - + Logs in to RetroAchievements. وارد RetroAchievements می شود. - + Current Game بازی فعلی - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} یک فایل دیسک معتبر نیست. - + Automatic mapping completed for {}. نقشه برداری خودکار برای {} تکمیل شد. - + Automatic mapping failed for {}. نقشه برداری خودکار برای {} ناموفق بود. - + Game settings initialized with global settings for '{}'. تنظیمات بازی با تنظیمات عمومی برای '{}' همگام شد. - + Game settings have been cleared for '{}'. تنظیمات بازی برای '{}' پاک شد. - + {} (Current) {} (فعلی) - + {} (Folder) {} (پوشه) - + Failed to load '{}'. خطا در بارگیری '{}'. - + Input profile '{}' loaded. پروفایل ورودی '{}' بارگیری شد. - + Input profile '{}' saved. پروفایل ورودی '{}' ذخیره شد. - + Failed to save input profile '{}'. خطا در ذخیره پروفایل ورودی '{}'. - + Port {} Controller Type پورت {} نوع دسته - + Select Macro {} Binds انتخاب کردن ماکرو {} اتصالات - + Port {} Device پورت {} دستگاه - + Port {} Subtype پورت {} زیرمجموعه - + {} unlabelled patch codes will automatically activate. {} کد های پچ برچسب نخورده به صورت خودکار فعال خواهند شد. - + {} unlabelled patch codes found but not enabled. {} کد های پچ برچسب نخورده پیدا شدند اما فعال نیستند. - + This Session: {} این جلسه: {} - + All Time: {} همه زمان: {} - + Save Slot {0} اسلات ذخیره {0} - + Saved {} {} ذخیره شد - + {} does not exist. {} وجود ندارد. - + {} deleted. {} حذف شد. - + Failed to delete {}. حدف {} ناموفق بود. - + File: {} فایل: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} زمان سپری شده در این بازی: {} - + Last Played: {} آخرین دفعه بازی شده: {} - + Size: {:.2f} MB حجم: {:.2f} مگابایت - + Left: چپ: - + Top: بالا: - + Right: راست: - + Bottom: پایین: - + Summary خلاصه - + Interface Settings تنظیمات رابط کاربری - + BIOS Settings تنظیمات BIOS - + Emulation Settings تنظیمات شبیه ساز - + Graphics Settings تنظیمات گرافیک - + Audio Settings تنظیمات صدا - + Memory Card Settings تنظیمات کارت حافظه - + Controller Settings تنظیمات دسته - + Hotkey Settings تنظیمات کلید میانبر - + Achievements Settings تنظیمات دستاورد ها - + Folder Settings تنظیمات پوشه - + Advanced Settings تنظیمات پیشرفته - + Patches پچ ها - + Cheats تقلبات - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 فریم (NTSC) / 1 فریم (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 فریم (NTSC) / 5 فریم (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 فریم (NTSC) / 12 فریم (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 فریم (NTSC) / 25 فریم (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 فریم (NTSC) / 37 فریم (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 فریم (NTSC) / 45 فریم (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 فریم (NTSC) / 50 فریم (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 فریم (NTSC) / 55 فریم (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 فریم (NTSC) / 60 فریم (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 فریم (NTSC) / 75 فریم (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 فریم (NTSC) / 87 فریم (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 فریم (NTSC) / 100 فریم (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 فریم (NTSC) / 150 فریم (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 فریم (NTSC) / 200 فریم (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 فریم (NTSC) / 250 فریم (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 فریم (NTSC) / 500 فریم (PAL)] - + 50% Speed ۵۰% سرعت - + 60% Speed ۶۰% سرعت - + 75% Speed ۷۵% سرعت - + 100% Speed (Default) سرعت 100% (پیش‌فرض) - + 130% Speed سرعت ١۳۰% - + 180% Speed سرعت ١۸۰% - + 300% Speed سرعت ٣٠٠% - + Normal (Default) معمولی (پیش‌فرض) - + Mild Underclock آندرکلاک نسبتا متوسط - + Moderate Underclock آندرکلاک متوسط - + Maximum Underclock آندرکلاک ماکسیموم (حداکثر) - + Disabled غیرفعال - + 0 Frames (Hard Sync) 0 فریم (همگام سازی سخت) - + 1 Frame ١ فریم - + 2 Frames ۲ فریم - + 3 Frames ۳ فریم - + None هیچ‌کدام - + Extra + Preserve Sign اضافات + حفظ علامت - + Full کامل - + Extra اضافات - + Automatic (Default) خودکار (پیش‌فرض) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal فلزی - + Software نرم‌افزاری - + Null خالی - + Off خاموش - + Bilinear (Smooth) دو خطی Bilinear (صاف) - + Bilinear (Sharp) دو خطی Bilinear (شارپ) - + Weave (Top Field First, Sawtooth) بافندگی (اول زمینه بالایی، دندانه اره ای) - + Weave (Bottom Field First, Sawtooth) بافندگی (ابتدا زمینه پایینی، دندانه اره ای) - + Bob (Top Field First) ضربت (ابتدا زمینه بالا) - + Bob (Bottom Field First) ضربت (ابتدا زمینه پایین) - + Blend (Top Field First, Half FPS) ترکیب (ابتدا زمینه بالا، نیم فریم در ثانیه) - + Blend (Bottom Field First, Half FPS) ترکیب (ابتدا زمینه پایین، نیم فریم در ثانیه) - + Adaptive (Top Field First) تطبیقی ​​(ابتدا زمینه بالا) - + Adaptive (Bottom Field First) تطبیقی (ابتدا زمینه پایین) - + Native (PS2) پیش‌فرض (PS2) - + Nearest نزدیک‌ترین - + Bilinear (Forced) دو خطی Bilinear (اجباری) - + Bilinear (PS2) دوخطی (PS2) - + Bilinear (Forced excluding sprite) دوخطی Bilinear (اجبار بدون احتساب اسپرایت) - + Off (None) خاموش (هیچ‌کدام) - + Trilinear (PS2) سه‌خطی (PS2) - + Trilinear (Forced) سه خطی Trilinear (اجباری) - + Scaled مقیاس یافته - + Unscaled (Default) بدون مقیاس (پیش فرض) - + Minimum حداقل - + Basic (Recommended) معمولی (توصیه شده) - + Medium متوسط - + High زیاد - + Full (Slow) کامل (کند) - + Maximum (Very Slow) حداکثر (خیلی آهسته) - + Off (Default) خاموش (پیش‌فرض) - + 2x ۲ برابر - + 4x ۴ برابر - + 8x ۸ برابر - + 16x ١۶ برابر - + Partial جزئی - + Full (Hash Cache) كامل (ذخیره سازی هش) - + Force Disabled غیرفعال شده اجباری - + Force Enabled فعال شده اجباری - + Accurate (Recommended) دقیق (توصیه شده) - + Disable Readbacks (Synchronize GS Thread) غیرفعال کردن بازخوانی ها (همگام‌سازی رشته GS) - + Unsynchronized (Non-Deterministic) ناهمزمان (غیر قطعی) - + Disabled (Ignore Transfers) غیر فعال (نادیده گرفتن انتقالات) - + Screen Resolution رزولوشن صفحه - + Internal Resolution (Aspect Uncorrected) رزولوشن داخلی (منظر تصحیح نشده) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy هشدار: کارت حافظه مشغول است - + Cannot show details for games which were not scanned in the game list. جزئیات بازی هایی که در لیست بازی ها اسکن نشده اند را نمی‌توان نشان داد. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone ددزون - + Full Boot بوت کامل - + Achievement Notifications اعلان دستاورد ها - + Leaderboard Notifications اعلان جدول امتیازات - + Enable In-Game Overlays فعال کردن اورلی های داخل بازی - + Encore Mode حالت اِنکور - + Spectator Mode حالت تماشاگر - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. تبدیل فریم بافر های 4-بیت و 8-بیت روی CPU به جای GPU. - + Removes the current card from the slot. کارت فعلی را از اسلات حذف می کند. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). فرکانس روشن و خاموش شدن دکمه ها در ماکرو را تعیین می‌کند (یا همان شلیک خودکار). - + {} Frames {} فریم - + No Deinterlacing ضد انعطاف پذیری - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) ۰ (غیرفعال) - + 1 (64 Max Width) 1 (64 حداکثر عرض) - + 2 (128 Max Width) 2 (128 حداکثر عرض) - + 3 (192 Max Width) 3 (192 حداکثر عرض) - + 4 (256 Max Width) 4 (256 حداکثر عرض) - + 5 (320 Max Width) 5 (320 حداکثر عرض) - + 6 (384 Max Width) 6 (384 حداکثر عرض) - + 7 (448 Max Width) 7 (448 حداکثر عرض) - + 8 (512 Max Width) 8 (512 حداکثر عرض) - + 9 (576 Max Width) 9 (576 حداکثر عرض) - + 10 (640 Max Width) 10 (640 حداکثر عرض) - + Sprites Only فقط اسپرایت - + Sprites/Triangles اسپرایت ها/ مثلت ها - + Blended Sprites/Triangles اسپرایت ها/ مثلت های ترکیب شده - + 1 (Normal) ١ (معمولی) - + 2 (Aggressive) ۲ (تهاجمی) - + Inside Target داخل هدف - + Merge Targets ادغام اهداف - + Normal (Vertex) عادی (Vertex) - + Special (Texture) خاص (Texture) - + Special (Texture - Aggressive) خاص (Texture - Aggressive) - + Align To Native تراز به بومی - + Half نصف - + Force Bilinear اجبار کردن دوخطی Bilinear - + Force Nearest احبار نزدیک‌ترین - + Disabled (Default) غیرفعال (پیش فرض) - + Enabled (Sprites Only) فعال (فقط اسپرایت) - + Enabled (All Primitives) فعال (همه اولویت ها) - + None (Default) هیچکدام (پیش‌فرض) - + Sharpen Only (Internal Resolution) فقط تیز کردن (رزولوشن داخلی) - + Sharpen and Resize (Display Resolution) تیز کردن و تغییر اندازه (رزولوشن نمایشگر) - + Scanline Filter فیلتر خط اسکن - + Diagonal Filter فیلتر مورب - + Triangular Filter فیلتر سه ضلعی - + Wave Filter فیلتر موجی - + Lottes CRT شیدر سی‌آر‌تی لوتِس - + 4xRGSS ۴xRGSS - + NxAGSS NxAGSS - + Uncompressed فشرده سازی نشده - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (۸ مگابایت) - + PS2 (16MB) PS2 (١۶ مگابایت) - + PS2 (32MB) PS2 (۳۲ مگابایت) - + PS2 (64MB) PS2 (۶۴ مگابایت) - + PS1 PS1 - + Negative منفی - + Positive مثبت - + Chop/Zero (Default) خورد کردن/صفر (پیش‌فرض) - + Game Grid نماد های بازی - + Game List لیست بازی - + Game List Settings تنظيمات ليست بازی - + Type نوع - + Serial سریال - + Title عنوان - + File Title عنوان فایل - + CRC CRC - + Time Played زمان سپری شده در این بازی - + Last Played آخرین دفعه بازی شده - + Size حجم - + Select Disc Image انتخاب فایل دیسک - + Select Disc Drive انتخاب دیسک درایو - + Start File شروع از فایل - + Start BIOS شروع بایوس - + Start Disc شروع از دیسک - + Exit خروج - + Set Input Binding تنظیم کلید ورودی - + Region ریجن - + Compatibility Rating رتبه سازگاری - + Path مسیر - + Disc Path مسیر دیسک - + Select Disc Path انتخاب پچ دیسک - + Copy Settings کپی کردن تنظیمات - + Clear Settings پاک کردن تنظیمات - + Inhibit Screensaver منع کردن محافظ صفحه - + Enable Discord Presence فعال کردن همسان سازی با برنامه دیسکورد - + Pause On Start توقف در شروع - + Pause On Focus Loss توقف در از دست دادن دقت - + Pause On Menu توقف در منو - + Confirm Shutdown تایید خاموش شدن - + Save State On Shutdown ذخیره وضعیت موقع در خاموش کردن - + Use Light Theme استفاده از تم روشن - + Start Fullscreen شروع در حالت تمام صفحه - + Double-Click Toggles Fullscreen دابل کلیک به تمام صفحه تغییر می‌دهد - + Hide Cursor In Fullscreen مخفی کردن موش‌واره در حالت تمام صفحه - + OSD Scale مقیاس متن اطلاعات‌ها - + Show Messages نمایش پیام‌ها - + Show Speed نمایش سرعت - + Show FPS نمایش نرخ فریم - + Show CPU Usage نمایش کارکرد پردازنده - + Show GPU Usage نمایس کارکرد پردازنده گرافیکی - + Show Resolution نمایش رزولوشن - + Show GS Statistics نشان دادن امار GS - + Show Status Indicators نمایش نشانگرهای وضعیت - + Show Settings نمایش تنظیمات - + Show Inputs نشان دادن ورودی ها - + Warn About Unsafe Settings اخطار دادن درمورد تنظیمات ناامن - + Reset Settings تنظیم مجدد تنظیمات - + Change Search Directory تغییر دادن مقصد جستجو - + Fast Boot بوت سریع - + Output Volume حجم صدای خروجی - + Memory Card Directory پوشه کارت حافظه - + Folder Memory Card Filter مرتب سازی پوشه کارت حافظه - + Create ایجاد - + Cancel انصراف - + Load Profile بارگذاری پروفایل - + Save Profile ذخیره پروفایل - + Enable SDL Input Source فعال کردن منبع ورودی SDL - + SDL DualShock 4 / DualSense Enhanced Mode حالت SDL پیشرفته DualShock 4 یا DualSense - + SDL Raw Input منبع ورودی خام SDL - + Enable XInput Input Source فعال کردن منبع ورودی XInput - + Enable Console Port 1 Multitap فعال کردن چند ضربه در پورت کنسول 1 - + Enable Console Port 2 Multitap فعال کردن چند ضربه در پورت کنسول 2 - + Controller Port {}{} پورت دسته {}{} - + Controller Port {} پورت دسته {} - + Controller Type نوع دسته - + Automatic Mapping پیوند کردن خودکار - + Controller Port {}{} Macros ماکرو های پورت دسته {}{} - + Controller Port {} Macros ماکرو های پورت دسته {} - + Macro Button {} دکمه ماکرو {} - + Buttons دکمه‌‌ها - + Frequency فرکانس - + Pressure فشار - + Controller Port {}{} Settings تنظیمات پورت دسته {}{} - + Controller Port {} Settings تنظیمات پورت دسته {} - + USB Port {} درگاه USB {} - + Device Type نوع دستگاه - + Device Subtype نوع فرعی دستگاه - + {} Bindings {} پیوند ها - + Clear Bindings پاک کردن پیوند ها - + {} Settings {} تنظیمات - + Cache Directory پوشه حافظه پنهان - + Covers Directory پوشه جلد بازی ها - + Snapshots Directory پوشه دخیره عکس ها - + Save States Directory پوشه وضعیت ذخیره - + Game Settings Directory پوشه تنظیمات بازی - + Input Profile Directory پوشه پروفایل ورودی - + Cheats Directory پوشه تقلب ها - + Patches Directory پوشه پچ ها - + Texture Replacements Directory پوشه جایگزین بافت ها - + Video Dumping Directory پوشه استخراج ویدیو - + Resume Game ادامه بازی - + Toggle Frame Limit فعال کردن محدودیت فریم - + Game Properties مشخصات بازی - + Achievements دستاوردها - + Save Screenshot ذخیره اسکرین‌شات - + Switch To Software Renderer تغییر به رندر نرم‌افزاری - + Switch To Hardware Renderer تغییر به رندر سخت‌افزاری - + Change Disc تغییر دیسک - + Close Game بستن بازی - + Exit Without Saving خروج بدون ذخیره کردن - + Back To Pause Menu بازگشت به منوی توقف - + Exit And Save State خروج و ذخیره وضعیت - + Leaderboards تابلو امتیازات - + Delete Save حذف سیو - + Close Menu بستن منو - + Delete State حذف وضعیت ذخیره شده - + Default Boot بوت پیش‌فرض - + Reset Play Time بازنشانی زمان سپری شده در این بازی - + Add Search Directory اضافه کردن پوشه جستجو - + Open in File Browser گشودن در مرورگر - + Disable Subdirectory Scanning غیرفعال کردن اسکن زیرشاخه - + Enable Subdirectory Scanning فعال کردن اسکن زیرشاخه - + Remove From List حذف از لیست - + Default View نمای پیش‌فرض - + Sort By ترتیب بر اساس - + Sort Reversed ترتيب به صورت معكوس - + Scan For New Games اسکن برای بازی های جدید - + Rescan All Games اسکن دوباره تمام بازی ها - + Website وبسایت - + Support Forums انجمن های پشتیبانی - + GitHub Repository منبع GitHub - + License مجوز ها - + Close بستن - + RAIntegration is being used instead of the built-in achievements implementation. از RAIintegration به جای اجرای دستاوردهای داخلی استفاده می شود. - + Enable Achievements فعال کردن دستاورد ها - + Hardcore Mode حالت هاردکور - + Sound Effects جلوه های صوتی - + Test Unofficial Achievements امتحان کردن دستاوردهای غیر رسمی - + Username: {} نام کاربری: {} - + Login token generated on {} توکن ورود ساخته شده در {} - + Logout خروج از سیستم - + Not Logged In وارد نشده اید - + Login ورود به سیستم - + Game: {0} ({1}) بازی: {0} ({1}) - + Rich presence inactive or unsupported. حضور غنی غیرفعال یا پشتیبانی نشده است. - + Game not loaded or no RetroAchievements available. بازی بارگذاری نشده است یا دستاوردی در RetroAchievements وجود ندارد. - + Card Enabled کارت فعال شده - + Card Name نام کارت - + Eject Card خارج کردن کارت @@ -11074,32 +11133,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. هر پچ همراه با PCSX2 برای این بازی غیر فعال خواهد شد از آن جایی که شما پچ های بدون نام را بارگیری کرده‌اید. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs تمامی CRC ها - + Reload Patches بارگذاری مجدد پچ ها - + Show Patches For All CRCs نمایش فایل های پچ برای تمامی CRC ها - + Checked بررسی شد - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. اسکن فایل های پچ را برای همه CRC های بازی تغییر می دهد. با فعال شدن این گزینه، پچ های موجود برای سریال بازی با CRC های مختلف نیز بارگذاری می شوند. - + There are no patches available for this game. هیچ پچ‌ای برای این بازی موجود نیست. @@ -11575,11 +11644,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) خاموش (پیش‌فرض) @@ -11589,10 +11658,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) خودکار (پیش‌فرض) @@ -11659,7 +11728,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. دو خطی Bilinear (صاف) @@ -11725,29 +11794,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets انحراف صفحه - + Show Overscan نمایش ناحیه خارج از صفحه نمایش - - - Enable Widescreen Patches - فعال کردن پچ های صفحه عریض (وایداسکرین) - - - - Enable No-Interlacing Patches - فعال کردن پچ های بدون درهم آمیختگی (اینترلیسینگ) - - + Anti-Blur ضد تاری @@ -11758,7 +11817,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset غیرفعال کردن انحراف درهم آمیختگی @@ -11768,18 +11827,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne اندازه اسکرین‌شات: - + Screen Resolution رزولوشن صفحه - + Internal Resolution رزولوشن داخلی - + PNG PNG @@ -11831,7 +11890,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) دوخطی (PS2) @@ -11878,7 +11937,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) بدون مقیاس (پیش فرض) @@ -11894,7 +11953,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) معمولی (توصیه شده) @@ -11930,7 +11989,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) كامل (ذخیره سازی هش) @@ -11946,31 +12005,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion تبدیل پالت GPU - + Manual Hardware Renderer Fixes اصلاحیات رندر سخت‌افزاری دستی - + Spin GPU During Readbacks چرخش GPU در حین بازخوانی - + Spin CPU During Readbacks چرخش CPU در حین بازخوانی @@ -11982,15 +12041,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping بافت های میپ‌مپینگ - - + + Auto Flush فلاش خودکار @@ -12018,8 +12077,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) ۰ (غیرفعال) @@ -12076,18 +12135,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features غیر فعال کردن امکانات امن - + Preload Frame Data پیش بارگیری داده های فریم - + Texture Inside RT بافت داخل هدف رندر @@ -12186,13 +12245,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite ادغام کردن اسپرایت - + Align Sprite تراز کردن اسپرایت @@ -12206,16 +12265,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing بدون انعطاف پذیری - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12288,25 +12337,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation غیرفعال کردن ابطالات منبع جزئی - + Read Targets When Closing خواندن اهداف هنگام بسته شدن - + Estimate Texture Region تخمین ناحیه بافت (textures) - + Disable Render Fixes غیرفعال کردن اصلاحات رندر @@ -12317,7 +12366,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws ترسیم بافت پالت بدون مقیاس @@ -12376,25 +12425,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures ذخیرهٔ بافت ها - + Dump Mipmaps ذخیره کردن بافت های میپ‌مپ - + Dump FMV Textures استخراج بافت های FMV - + Load Textures بارگذاری بافت ها @@ -12404,6 +12453,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12421,13 +12480,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures پیش ذخیره سازی بافت ها @@ -12450,8 +12509,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) هیچکدام (پیش‌فرض) @@ -12472,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12524,7 +12583,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost تقویت شیدر @@ -12539,7 +12598,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne کنتراست: - + Saturation اشباع رنگ @@ -12560,50 +12619,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators نمايش نشانگرها - + Show Resolution نمایش رزولوشن - + Show Inputs نشان دادن ورودی ها - + Show GPU Usage نمایس کارکرد پردازنده گرافیکی - + Show Settings نمایش تنظیمات - + Show FPS نمایش نرخ فریم - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12619,13 +12678,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics نشان دادن امارها - + Asynchronous Texture Loading بارگذاری بافت ناهمزمان @@ -12636,13 +12695,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage نمایش کارکرد پردازنده - + Warn About Unsafe Settings اخطار دادن درمورد تنظیمات ناامن @@ -12668,7 +12727,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12679,43 +12738,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12824,19 +12883,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames صرف نظر کردن از ارائه فریم های تکراری - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12889,7 +12948,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages نمایش درصد سرعت @@ -12899,1214 +12958,1214 @@ Swap chain: see Microsoft's Terminology Portal. غیر فعال کردن Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. نرم‌افزار - + Null Null here means that this is a graphics backend that will show nothing. خالی - + 2x ۲x - + 4x ۴x - + 8x ۸x - + 16x ١۶x - - - - + + + + Use Global Setting [%1] استفاده از تنظیمات عمومی [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked فعال نشده - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - به طور خودکار پچ های صفحه عریض (وایداسکرین) را در شروع بازی بارگیری و اعمال می کند. میتواند باعث مشکلات شود. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - به طور خودکار پچ های بدون درهم آمیختگی (اینترلیسینگ) را در شروع بازی بارگیری و اعمال می کند. میتواند باعث مشکلات شود. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. انحراف در هم آمیختگی (اینترلیسینگ) را غیرفعال می کند که ممکن است در برخی شرایط تار بودن را کاهش دهد. - + Bilinear Filtering پالایهٔ دوخطی (Bilinear) - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. فیلتر پس پردازش دوخطی را فعال می کند. تصویر کلی را همانطور که روی صفحه نمایش داده می شود صاف می کند. موقعیت بین پیکسل ها را هم تصحیح می کند. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. افست های کنترل کننده سی آر تی قابل برنامه ریزی را فعال می کند که صفحه را مطابق درخواست بازی در جای مشخض شده قرار می دهد. برای برخی از بازی‌ها مانند WipEout Fusion برای افکن های لرزش صفحه‌ش مفید است، اما می‌تواند تصویر را تار کند. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. گزینه نمایش «ناحیه خارج از صفحه نمایش» را در بازی هایی که بیشتر از ناحیه قابل نمایش در صفحه نمایش ترسیم می کنند را فعال می کند. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. متود ضد انتعطاف پذیری مورد استفاده برای صفحه انعطاف پذیری کنسول شبیه سازی شده را تعیین می‌کند. اتوماتیک به صورت خودکار اکثر بازی ها را انعطاف‌پذیر (اینترلیس) می‌کند، اما اگر بازی دارای گرافیک لرزشی بود، یکی از گزینه های موجود را انتخاب کنید. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. سطح دقت شبیه‌سازی واحد ترکیب GS را کنترل کنید.<br> هر چه تنظیم بالاتر باشد، ترکیب بافت بیشتری در سایه‌زن شبیه‌سازی می‌شود و کاهش سرعت بالاتر خواهد بود.<br> توجه داشته باشید که ترکیب کننده Direct3D سازگاری کمتری نسبت به OpenGL و یا Vulkan دارد. - + Software Rendering Threads رشته رندر نرم‌افزاری - + CPU Sprite Render Size اندازه رندر اسپرایت CPU - + Software CLUT Render رندر CLUT نرم‌افزاری - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. سعی میکند که تشخیص دهد چه زمانی یک بازی پالت رنگی خود را ترسیم میکند و سپس با استفاده از GPU با بررسی خاص رندر می‌کند. - + This option disables game-specific render fixes. این گزینه تعدادی از اصلاحات رندر مخصوص هر بازی را غیر فعال می کند. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. به‌طور پیش‌فرض، حافظه پنهان بافت، ابطال‌های جزئی را مدیریت می‌کند. متأسفانه محاسبات پردازنده بسیار متلف است. این پچ با جایگزین اطلاعات بی اعتباری جزئی و با پاک کردن کامل این بافت ها به کاهش استفاده پردازنده کمک می کند. این پچ به بازی هایی موتور رندر Snowblind دارند، کمک می کند. - + Framebuffer Conversion تبدیل Framebuffer - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. فریم بافر ۴ و ۸ بیتی را به‌جای اینکه بر روی پردازنده گرافیکی تبدیل کند، بر روی پردازنده اصلی تبدیل می کند. به بازی های هری پاتر و Stuntman کمک می کند. تاثیر زیادی هم روی عملکرد شبیه‌ساز دارد. - - + + Disabled غیرفعال - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. به کش بافت ها (textures) اجازه میدهد تا به عنوان یک بافت ورودی (texture) از بخش داخلی یک فریم بافر قبلی مجددا استفاده کند. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. هنگام خاموش شدن، تمام اهداف موجود در کش بافت را به حافظه محلی باز می گرداند. می تواند هنگام ذخیره وضعیت یا تغییر رندر، از از دست رفتن تصویر جلوگیری کند، اما همچنین می تواند باعث خرابی های گرافیکی شود. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). برای کاهش حجم بافت ها (texture) وقتی که بازی ها خودشان آن را تنظیم نمیکنند تلاش میکند (برای مثال، بازی های شرکت Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. مشکلات افزایش رزولوشن (خطوط عمودی) در بازی های Namco مانند Ace Combat، Tekken، Soul Calibur و غیره را برطرف می کند. - + Dumps replaceable textures to disk. Will reduce performance. بافت های قابل جایگزین را در دیسک استخراج میکند. باعث کاهش سرعت اجرا می‌شود. - + Includes mipmaps when dumping textures. شامل کردن mipmap ها هنگام استخراح بافت ها. - + Allows texture dumping when FMVs are active. You should not enable this. به استخراج بافت ها زمانی که FMV ها فعال هستند اجازه میدهد. نباید این گزینه را فعال کنید. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. بافت های جایگزین را بر روی یک رشته عملکردی بار می کند و در صورت فعال بودن جایگزینی، لگ های ریز را کاهش می دهد. - + Loads replacement textures where available and user-provided. بارگیری بافت جایگزین زمانی که در دسترس و در اختیار کاربر است. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. تمامی تکسچر ها را از قبل در حافظه بارگیری میکند. با بارگیری ناهمزمان لازم نیست. - + Enables FidelityFX Contrast Adaptive Sharpening. فعال کردن تیز کردن کنتراست FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. شدت اثر تیز کردن در CAS پس از پردازش را تعیین می‌کند. - + Adjusts brightness. 50 is normal. روشنایی را تنظیم می کند. 50 طبیعیست. - + Adjusts contrast. 50 is normal. کنتراست را تنظیم می کند. 50 طبیعیست. - + Adjusts saturation. 50 is normal. اشباع را تنظیم می کند. 50 طبیعیست. - + Scales the size of the onscreen OSD from 50% to 500%. اندازه صفحه نمایش روی صفحه را از 50٪ به 500٪ تغییر می دهد. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. نشانگرهای نماد های «اطلاعات شبیه سازی بر روی صفحه» را برای حالت های شبیه سازی مانند توقف، توربو، سریع به جلو و حرکت آهسته نشان می دهد. - + Displays various settings and the current values of those settings, useful for debugging. تنظیمات مختلف و مقادیر فعلی آن تنظیمات را نمایش می دهد که برای اشکال زدایی مفید است. - + Displays a graph showing the average frametimes. یک نمودار برای میانگین زمان فریم ها نشان می دهد. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec کدک ویدیو - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> انتخاب می کند که کدام کدک ویدیو برای ضبط ویدیو استفاده شود. <b>اگر مطمئن نیستید، بر حالت پیش‌فرض بگذارید.<b> - + Video Format فرمت ویدیو - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate بیت ریت ویدیو - + 6000 kbps 6000 کیلوبیت بر ثانیه - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. مقدار بیت ریت مورد استفاده برای ویدیو را تنظیم می‌کند. بیت ریت بالاتر باعث کیفیت بالاتری برای ویدیو میشود اما به قیمت افزایش حجم فایل. - + Automatic Resolution رزولوشن خودکار - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> هنگامی که علامت بزنید، وضوح ضبط ویدیو از وضوح داخلی بازی در حال اجرا پیروی می کند.<br><br><b>در استفاده از این تنظیم به خصوص زمانی که در حال ارتقاء آپ‌اسکیل هستید مراقب باشید، زیرا وضوح داخلی بالاتر (بالاتر از 4x) می تواند منجر به فیلم برداری بسیار بزرگ می شود و می تواند باعث بار اضافه سیستم شود.</b> - + Enable Extra Video Arguments فعال کردن استدلال های ویدیو اضافه - + Allows you to pass arguments to the selected video codec. به شما اجازه می‌دهد تا استدلال های بیشتری را به کدک ویدیویی انتخاب شده انتقال دهید. - + Extra Video Arguments استدلال های ویدیویی اضافه - + Audio Codec کدک صوتی - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> انتخاب می کند که کدام کدک صدا برای ضبط ویدیو استفاده شود. <b>اگر مطمئن نیستید، بر حالت پیش‌فرض بگذارید.<b> - + Audio Bitrate بیت ریت صدا - + Enable Extra Audio Arguments فعال کردن استدلال های صوتی اضافه - + Allows you to pass arguments to the selected audio codec. به شما اجازه می‌دهد تا استدلال های بیشتری را به کدک صوتی انتخاب شده انتقال دهید. - + Extra Audio Arguments استدلال های صوتی اضافه - + Allow Exclusive Fullscreen فعال کردن حالت تمام صفحه اختصاصی - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. فراگیر درایور را برای فعال کردن حالت تمام صفحه انحصاری و یا برای چرخش و یا اسکن اوت مستقیم لغو می‌کند.<br>غیر فعال کردن حالت تمام صفحه انحصاری ممکن است تعویض کارها و همپوشانی‌های نرم و تمیزتری را فعال کند، اما تأخیر در ورودی را افزایش می‌دهد. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked فعال شده - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. هک های داخلی ضد تاری را فعال می کند. دقت کمتری نسبت به رندر پلی‌استیشن ۲ دارد اما باعث می شود بسیاری از بازی ها کمتر تار به نظر برسند. - + Integer Scaling مقیاس صحیح - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. برای اطمینان از اینکه نسبت بین پیکسل های سیستم اصلی به پیکسل های کنسول یک عدد صحیح باشد، به ناحیه های نمایش پدینگ اضافه می کند. ممکن است در برخی از بازی‌های دوبعدی تصویر واضح‌تری ایجاد کند. - + Aspect Ratio نسبت تصویر - + Auto Standard (4:3/3:2 Progressive) استاندارد خودکار (4:3 تداخلی / 3:2 پیشرو) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. نسبت تصویر مورد استفاده برای نمایش خروجی کنسول روی صفحه را تغییر می دهد. پیش‌فرض استاندارد خودکار (۴:۳ یا ۳:۲ پیشرونده) است که به‌طور خودکار نسبت تصویر را برای مطابقت با نحوه نمایش یک بازی در تلویزیون‌های معمولی آن دوره تنظیم می‌کند. - + Deinterlacing ضد انعطاف پذیری - + Screenshot Size اندازه اسکرین‌شات - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. رزولوشنی را که برای اسکرین شات ها تعیین می کند را ذخیره می کند. رزولوشن های داخلی جزئیات بیشتری را با اندازه فایل بیشتر حفظ می کنند. - + Screenshot Format فرمت اسکرین‌شات - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. فرمتی را انتخاب می کند که برای ذخیره اسکرین شات استفاده می شود. فرمت JPEG فایل های کوچکتری تولید می کند، اما جزئیات داخل اسکرین شات از دست می رود. - + Screenshot Quality کیفیت اسکرین‌شات - - + + 50% ۵۰% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. کیفیت فشرده سازی اسکرین شات ها را انتخاب می کند. مقادیر بالاتر، جزئیات بیشتری در اسکرین شات را برای فرمت JPEG حفظ می کند و اندازه فایل را برای فرمت PNG کاهش می دهد. - - + + 100% ۱۰۰٪ - + Vertical Stretch کشش عمودی - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. کشش (&lt; 100%) یا کوبیدن (&gt; 100%) جزئیات عمودی نمایشگر. - + Fullscreen Mode حالت تمام‌صفحه - - - + + + Borderless Fullscreen تمام صفحه بدون مرز - + Chooses the fullscreen resolution and frequency. رزولوشن و فرکانس رزولوشن تمام صفحه را انتخاب می کند. - + Left چپ - - - - + + + + 0px ۰ پیکسل - + Changes the number of pixels cropped from the left side of the display. تعداد پیکسل های برش خورده از سمت چپ نمایشگر را تغییر می دهد. - + Top بالا - + Changes the number of pixels cropped from the top of the display. تعداد پیکسل های برش خورده از سمت بالای نمایشگر را تغییر می دهد. - + Right راست - + Changes the number of pixels cropped from the right side of the display. تعداد پیکسل های برش خورده از سمت راست نمایشگر را تغییر می دهد. - + Bottom پایین - + Changes the number of pixels cropped from the bottom of the display. تعداد پیکسل های برش خورده از سمت پایین نمایشگر را تغییر می دهد. - - + + Native (PS2) (Default) رزولوشن اولیه (PS2) (پیش‌فرض) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. وضوح نمایش بازی ها را کنترل کنید. وضوح بالا می‌تواند بر عملکرد پردازنده‌های گرافیکی قدیمی یا پایین‌تر تأثیر بگذارد.<br>رزولوشن غیربومی ممکن است باعث مشکلات گرافیکی جزئی در برخی بازی‌ها شود.<br>رزولوشن FMV بدون تغییر باقی می‌ماند، زیرا فایل‌های ویدیویی از قبل رندر شده‌اند. - + Texture Filtering فیلترینگ بافت - + Trilinear Filtering فیلتر سه خطی (Trilinear) - + Anisotropic Filtering فیلتر ناهمسان‌گردی - + Reduces texture aliasing at extreme viewing angles. پلگی بافت ها دا در زوایای دید شدید کاهش میشدهد. - + Dithering دیترینگ - + Blending Accuracy دقت ترکیب - + Texture Preloading پیش‌بارگیری بافت - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. کل بافت‌ها را به‌جای قطعات کوچک، یک‌باره آپلود می‌کند و در صورت امکان از آپلود اضافی اجتناب می‌کند. عملکرد را در اکثر بازی ها بهبود می بخشد، اما می تواند انتخاب های کوچک را کندتر کند. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. هنگامی که پردازنده گرافیکی فعال باشد، بافت های نقشه رنگی را تبدیل می کند، در غیر این صورت پردازنده این کار را انجام می دهد. این یک معامله بین پردازنده گرافیکی و پردازنده است. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. فعال کردن این گزینه به شما این امکان را می دهد که پچ های رندر و ارتقاء مقیاس بازی های خود را تغییر دهید. اما اگر این را فعال کرده باشید، تنظیمات خودکار را غیرفعال خواهید کرد و می توانید با برداشتن تیک این گزینه تنظیمات خودکار را دوباره فعال کنید. - + 2 threads ۲ رشته - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. هنگامی که یک فریم بافر نیز یک بافت ورودی است، یک فلاش اولیه را اجباری می کند. برخی از جلوه های پردازشی مانند سایه ها در سری بازی های Jak و افکت طلوعی در جی‌تی‌ای: سان آندرس را رفع می کند. - + Enables mipmapping, which some games require to render correctly. میپ‌مپینگ را فعال می کند، ممکن است بعضی از بازی ها به آن نیاز داشته باشند برای اینکه درست رندر شوند. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. حداکثر عرض حافظه هدف که به رندر اسپرایت CPU اجازه می دهد تا در آن فعال شود. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. سعی میکند که تشخیص دهد چه زمانی یک بازی پالت رنگی خود را ترسیم میکند و سپس نرم ‌افزاری رندر می‌کند، به جای استفاده از GPU. - + GPU Target CLUT هدف GPU CLUT - + Skipdraw Range Start پرش از محدوده شروع ترسیم - - - - + + + + 0 ۰ - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. به طور کامل از طراحی سطوح از سطح در کادر سمت چپ تا سطح مشخص شده در کادر سمت راست رد می شود. - + Skipdraw Range End پرش از محدوده پایان ترسیم - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. این گزینه چندین ویژگی های امن را غیرفعال می کند. رندر دقیق نقظه ای از مقیاس و خطی را غیرفعال می کند که می تواند به سری بازی های Xenosaga کمک کند. پاکسازی دقیق حافظه GS را که روی پردازنده انجام می شود را غیرفعال می کند و به پردازنده گرافیکی اجازه می دهد آن را مدیریت کند، که می تواند به سری بازی های Kingdom Hearts کمک کند. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. داده های GS را هنگام رندر کردن یک فریم جدید برای بازتولید برخی جلوه ها با دقت آپلود می کند. - + Half Pixel Offset نیمه انحراف پیکسلی - + Might fix some misaligned fog, bloom, or blend effect. ممکن است برخی ناهماهنگی در افکت های مه، بلوم یا ترکیب را درست کند. - + Round Sprite گرد کردن اسپرایت - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. نمونه برداری از بافت های دوبعدی اسپرایت را هنگام ارتقاء رزولوشن درست می کند. خطوط را در بازی هایی مانند Ar Tonelico هنگام ارتقاء رزولوشن اصلاح می‌کند. گزینه «نصف» برای باقت های اسپرایت مسطح و «کامل» برای همه بافت های اسپرایت است. - + Texture Offsets X انحراف های بافت X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. آفست برای مختصات بافت های ST یا UV. برخی از مشکلات بافت عجیب و غریب را برطرف می کند و ممکن است برخی از هم‌ترازی های پس‌پردازش را نیز برطرف کند. - + Texture Offsets Y انحراف های بافت Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. دقت GS را برای جلوگیری از شکاف بین پیکسل ها هنگام ارتقاء رزولوشن کاهش می دهد. متن در بازی‌های Wild Arms را درست می کند. - + Bilinear Upscale آپ‌اسکیل دو خطی (Bilinear) - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. می‌تواند بافت‌ها را به دلیل فیلتر bilinear هنگام ‌آپ‌اسکیل شدن صاف کند. به عنوان مثال، تابش نور خورشید در بازی Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. اسپرايت هاي متعدد با حالت سنگفرشي را با یک اسپرایت بزرگ جایگزین می کند. خطوط مختلف افزایش مقیاس را کاهش می دهد. - + Force palette texture draws to render at native resolution. اجبار کردن پالت ترسیم بافت برای رندر در رزولوشن بومی. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx تیز کردن تطبیقی کنتراست - + Sharpness تیزی - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. تنظیم اشباع، کنتراست و روشنایی را فعال می کند. مقادیر روشنایی، اشباع و کنتراست به طور پیش فرض روی ۵۰ است. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. از الگوریتم ضد پلکی FXAA برای بهبود جلوه های یک بازی استفاده می کند. - + Brightness روشنایی - - - + + + 50 ۵۰ - + Contrast کنتراست - + TV Shader شیدر تلویزیون - + Applies a shader which replicates the visual effects of different styles of television set. یک شیدر که جلوه های بصری یک سبک مختلف تلویزیون را بازسازی میکند را اعمال می‌کند. - + OSD Scale مقیاس متن اطلاعات‌ها - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. هنگامی که رویدادهایی مانند ایجاد یا بارگیری وضعیت های ذخیره شده، گرفتن اسکرین شات و غیره رخ می دهد، پیام هایی روی صفحه نمایش را نشان می دهد. - + Shows the internal frame rate of the game in the top-right corner of the display. رزولوشن داخلی بازی را در گوشه سمت راست بالای صفحه نشان می‌دهد. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. سرعت شبیه سازی فعلی سیستم را در گوشه سمت راست بالای صفحه نمایش به صورت درصد نشان می دهد. - + Shows the resolution of the game in the top-right corner of the display. رزولوشن بازی را در گوشه سمت راست بالای صفحه نشان می‌دهد. - + Shows host's CPU utilization. نمایش استفاده CPU میزبان. - + Shows host's GPU utilization. نمایش استفاده GPU میزبان. - + Shows counters for internal graphical utilization, useful for debugging. شمارنده هایی را برای استفاده گرافیکی داخلی نشان می دهد که برای اشکال زدایی مفید است. - + Shows the current controller state of the system in the bottom-left corner of the display. وضعیت دسته های فعلی سیستم را در گوشه سمت چپ پایین صفحه نمایش نشان می دهد. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. هنگامی که تنظیماتی فعال است که ممکن است در بازی ایرادات ایجاد کند، خطا هایی نمایش داده میشود. - - + + Leave It Blank خالی بگذارید - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" پارامترها به کدک ویدیوی انتخابی منتقل می شوند.<br> <b> باید از '=' برای جدا کردن کلید از مقدار و ':' برای جدا کردن دو جفت از یکدیگر.</b><br> برای مثال: «crf = 21 : preset = veryfast» - + Sets the audio bitrate to be used. بیت ریت مورد استفاده برای صدا را تنظیم می‌کند. - + 160 kbps 160 کیلوبیت بر ثانیه - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" پارامترها به کدک صوتی انتخابی منتقل می شوند.<br> باید از '=' برای جدا کردن کلید از مقدار و ':' برای جدا کردن دو جفت از یکدیگر استفاده کنید.<b><br> برای مثال: «compression_level = 4 : joint_stereo = 1» - + GS Dump Compression فشرده سازی استخراج GS - + Change the compression algorithm used when creating a GS dump. الگوریتم فشرده سازی مورد استفاده در هنگام ایجاد یک استخراج GS را تغییر می دهد. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit هنگام استفاده از رندر Direct3D 11 به جای بلعکس کردن از یک مدل ارائه شده بیت بلیت استفاده می کند. این معمولاً منجر به عملکرد کندتر می‌شود، اما ممکن است برای برخی از برنامه‌های استریم کردن یا برای برداشتن نرخ فریم در برخی از سیستم‌ها لازم باشد. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device استفاده از وسیله اشکال‌زدایی (debug) - + Enables API-level validation of graphics commands. فعال کردن اعتبار سنجی دستورات گرافیکی در سطح API. - + GS Download Mode حالت دانلود GS - + Accurate دقت - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. از همگام سازی با رشته GS و GPU سیستم برای دانلودهای GS صرفنظر می کند. می تواند منجر به افزایش سرعت زیاد در سیستم های کندتر شود و باعث خرابی بسیاری از جلوه های گرافیکی شود. اگر بازی ها نادرست اجرا میشوند و این گزینه را فعال کرده اید، لطفاً ابتدا آن را غیرفعال کنید. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. پیش‌فرض - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14114,7 +14173,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format پیش‌فرض @@ -14331,254 +14390,254 @@ Swap chain: see Microsoft's Terminology Portal. هیچ وضعیت ذخیره ای در اسلات {} پیدا نشد. - - - + + - - - - + + + + - + + System سیستم - + Open Pause Menu باز کردن منوی توقف - + Open Achievements List باز کردن لیست دستاورد ها - + Open Leaderboards List باز کردن لیست جدول امتیازات - + Toggle Pause فعال کردن مکث کردن - + Toggle Fullscreen فعال کردن حالت تمام صفحه - + Toggle Frame Limit فعال کردن محدودیت فریم - + Toggle Turbo / Fast Forward فعال کردن توربو / جلو بردن سریع - + Toggle Slow Motion فعال کردن حالت آهسته - + Turbo / Fast Forward (Hold) فعال کردن توربو / جلو بردن سریع (نگه داشتن) - + Increase Target Speed افزایش سرعت هدف - + Decrease Target Speed کاهش سرعت هدف - + Increase Volume افزایش میزان صدا - + Decrease Volume کاهش میزان صدا - + Toggle Mute حالت بی‌صدا - + Frame Advance پیشرفت فریم - + Shut Down Virtual Machine خاموش کردن کامپیوتر مجازی - + Reset Virtual Machine بازنشانی ماشین مجازی - + Toggle Input Recording Mode تغییر حالت ضبط ورودی - - + + Save States ذخیرهٔ وضعیت ها - + Select Previous Save Slot انتخاب اسلات حالت ذخیره قبلی - + Select Next Save Slot انتخاب اسلات حالت ذخیره بعدی - + Save State To Selected Slot ذخیره وضعیت به اسلات انتخاب شده - + Load State From Selected Slot بارگیری وضعیت از اسلات انتخاب شده - + Save State and Select Next Slot ذخیره وضعیت و انتخاب اسلات بعدی - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 ذخیره وضعیت در اسلات 1 - + Load State From Slot 1 بارگیری وضعیت از اسلات 1 - + Save State To Slot 2 ذخیره وضعیت در اسلات 2 - + Load State From Slot 2 بارگیری وضعیت از اسلات 2 - + Save State To Slot 3 ذخیره وضعیت در اسلات 3 - + Load State From Slot 3 بارگیری وضعیت از اسلات 3 - + Save State To Slot 4 ذخیره وضعیت در اسلات 4 - + Load State From Slot 4 بارگیری وضعیت از اسلات 4 - + Save State To Slot 5 ذخیره وضعیت در اسلات 5 - + Load State From Slot 5 بارگیری وضعیت از اسلات 5 - + Save State To Slot 6 ذخیره وضعیت در اسلات 6 - + Load State From Slot 6 بارگیری وضعیت از اسلات 6 - + Save State To Slot 7 ذخیره وضعیت در اسلات 7 - + Load State From Slot 7 بارگیری وضعیت از اسلات 7 - + Save State To Slot 8 ذخیره وضعیت در اسلات 8 - + Load State From Slot 8 بارگیری وضعیت از اسلات 8 - + Save State To Slot 9 ذخیره وضعیت در اسلات 9 - + Load State From Slot 9 بارگیری وضعیت از اسلات 9 - + Save State To Slot 10 ذخیره وضعیت در اسلات 10 - + Load State From Slot 10 بارگیری وضعیت از اسلات 10 @@ -15456,594 +15515,608 @@ Right click to clear binding &سیستم - - - + + Change Disc تغییر دیسک - - + Load State بارگیری وضعیت ذخیره شده - - Save State - ذخیرهٔ وضعیت - - - + S&ettings &تنظیمات - + &Help &راهنما - + &Debug &اشکال زدايی - - Switch Renderer - تغییر رندر کننده - - - + &View &نمایش - + &Window Size &اندازه پنجره - + &Tools &ابزارها - - Input Recording - ورودی ضبط - - - + Toolbar نوار ابزار - + Start &File... شروع از فایل... - - Start &Disc... - شروع از دیسک... - - - + Start &BIOS شروع &بایوس - + &Scan For New Games &بررسی برای بازی های جدید - + &Rescan All Games &اسکن دوباره تمام بازی ها - + Shut &Down خاموش &کردن - + Shut Down &Without Saving خاموش کردن &بدون ذخیره - + &Reset &بازنشانی کنسول - + &Pause &مکث - + E&xit &خروج - + &BIOS &بایوس - - Emulation - شبیه‌سازی - - - + &Controllers &دسته‌ها - + &Hotkeys &کلیدهای میانبر - + &Graphics &گرافیک - - A&chievements - &دستاوردها - - - + &Post-Processing Settings... &تنظیمات پس-پردازشی... - - Fullscreen - تمام صفحه - - - + Resolution Scale مقیاس رزولوشن - + &GitHub Repository... &منبع GitHub... - + Support &Forums... انجمن &پشتیبانی... - + &Discord Server... &سرور دیسکورد... - + Check for &Updates... بررسي برای &بروزرسانی‌ها... - + About &Qt... درباره &Qt... - + &About PCSX2... &درباره PCSX2... - + Fullscreen In Toolbar تمام صفحه - + Change Disc... In Toolbar تغییر دیسک... - + &Audio &صدا - - Game List - لیست بازی - - - - Interface - رابط کاربری + + Global State + وضعیت عمومی - - Add Game Directory... - افزودن پوشه بازی... + + &Screenshot + &اسکرین‌شات - - &Settings - &تنظیمات + + Start File + In Toolbar + شروع از فایل - - From File... - از فایل... + + &Change Disc + &Change Disc - - From Device... - از دستگاه... + + &Load State + &Load State - - From Game List... - از لیست بازی... + + Sa&ve State + Sa&ve State - - Remove Disc - برداشتن دیسک + + Setti&ngs + Setti&ngs - - Global State - وضعیت عمومی + + &Switch Renderer + &Switch Renderer - - &Screenshot - &اسکرین‌شات + + &Input Recording + &Input Recording - - Start File - In Toolbar - شروع از فایل + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar شروع از دیسک - + Start BIOS In Toolbar شروع بایوس - + Shut Down In Toolbar خاموش کردن - + Reset In Toolbar بازنشانی - + Pause In Toolbar مکث - + Load State In Toolbar بارگیری وضعیت ذخیره شده - + Save State In Toolbar ذخیرهٔ وضعیت - + + &Emulation + &Emulation + + + Controllers In Toolbar دسته‌ها - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar تنظیمات - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar اسکرین‌شات - + &Memory Cards &مموری کارت ها - + &Network && HDD &شبکه و هارد درایو - + &Folders &پوشه ها - + &Toolbar &نوار ابزار - - Lock Toolbar - قفل نوارابزار + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &نوار وضعیت + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - وضعیت مفصل + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - لیست &بازی + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - نمایش &سیستم + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - مشخصات& بازی + + E&nable System Console + E&nable System Console - - Game &Grid - نمادهای &بازی + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - نمایش عناوین (نمایش شبکه ای) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - &بزرگنمایی (نمای شبکه ای) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl + + + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - &کوچکنمایی (نمای شبکه ای) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl + - + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - بازخوانی &جلد ها (نمای شبکه‌ای) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - باز کردن پوشه کارت حافظه... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - باز کردن پوشه داده ها... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - فعال کردن رندر نرم افزاری + + &Controller Logs + &Controller Logs - - Open Debugger - بازکردن اشکال زدا + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - بارگذاری مجدد تقلب ها/پچ ها + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - فعال کردن کنسول سیستم + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - فعال کردن کنسول اشکال زدایی + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - فعال کردن پنجره گذارش + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - فعال کردن ورود مفصل + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - فعال کردن اشکال گیری کنسول EE + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - فعال کردن ورود کنسول IOP + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - ذخیره استخراج تک فریمی GS + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - ضبط جدید + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - پخش ضبظ + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - توقف ضبط + + &Status Bar + &نوار وضعیت - - Settings - This section refers to the Input Recording submenu. - تنظیمات + + + Game &List + لیست &بازی - - - Input Recording Logs - ورودی گزارش ضبط + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - گزارش های دسته + + &Verbose Status + &Verbose Status - - Enable &File Logging - فعال کردن ورود از &فایل + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + نمایش &سیستم - - Enable CDVD Read Logging - فعال کردن ورود با خواندن CDVD + + Game &Properties + مشخصات& بازی - - Save CDVD Block Dump - ذخیره بلوک استخراج CDVD + + Game &Grid + نمادهای &بازی - - Enable Log Timestamps - فعال کردن مهر زمانی گزارشات + + Zoom &In (Grid View) + &بزرگنمایی (نمای شبکه ای) - - + + Ctrl++ + Ctrl + + + + + + Zoom &Out (Grid View) + &کوچکنمایی (نمای شبکه ای) + + + + Ctrl+- + Ctrl + - + + + + Refresh &Covers (Grid View) + بازخوانی &جلد ها (نمای شبکه‌ای) + + + + Open Memory Card Directory... + باز کردن پوشه کارت حافظه... + + + + Input Recording Logs + ورودی گزارش ضبط + + + + Enable &File Logging + فعال کردن ورود از &فایل + + + Start Big Picture Mode شروع حالت تصویر بزرگ - - + + Big Picture In Toolbar تصویر بزرگ - - Cover Downloader... - دانلود کننده جلد... - - - - + Show Advanced Settings نمایش تنظیمات پیشرفته - - Recording Viewer - نمایشگر ضبط کننده - - - - + Video Capture ضبط ویدئو - - Edit Cheats... - ویرایش تقلب ها... - - - - Edit Patches... - ویرایش پچ ها... - - - + Internal Resolution رزولوشن داخلی - + %1x Scale مقیاس %1x - + Select location to save block dump: انتخاب مکان برای ذخیره بلوک استخراج: - + Do not show again دوباره نشان داده نشود - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16056,297 +16129,297 @@ Are you sure you want to continue? آیا مطمئن هستید که میخواهید ادامه دهید؟ - + %1 Files (*.%2) %1 فایل (*.%2) - + WARNING: Memory Card Busy هشدار: کارت حافظه مشغول است - + Confirm Shutdown تایید خاموش شدن - + Are you sure you want to shut down the virtual machine? آیا مطمئن هستید که میخواهید کامپیوتر مجازی را خاموش کنید? - + Save State For Resume وضعیت ذخیره برای ادامه دادن - - - - - - + + + + + + Error خطا - + You must select a disc to change discs. باید برای تغییر دیسک یک دیسک انتخاب کنید. - + Properties... مشخصات... - + Set Cover Image... تنطیم تصویر کاور... - + Exclude From List حذف از فهرست - + Reset Play Time بازنشانی زمان سپری شده در این بازی - + Check Wiki Page Check Wiki Page - + Default Boot بوت پیش‌فرض - + Fast Boot بوت سریع - + Full Boot بوت کامل - + Boot and Debug بوت و اشکال زدایی - + Add Search Directory... اضافه کردن پوشه جستجو... - + Start File شروع از فایل - + Start Disc شروع از دیسک - + Select Disc Image انتخاب فایل دیسک - + Updater Error خطا در برنامه بروزرسان - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>با عرض پوزش، شما در حال به روز رسانی نسخه PCSX2 هستید که نسخه رسمی GitHub نیست. برای جلوگیری از ناسازگاری‌ها، به‌روزرسانی خودکار فقط در نسخه‌های رسمی فعال است.</p><p>برای دریافت نسخه رسمی، لطفاً از لینک زیر دانلود کنید:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. آپدیت خودکار در پلتفرم فعلی پشتیبانی نشده. - + Confirm File Creation تایید ایجاد فایل - + The pnach file '%1' does not currently exist. Do you want to create it? این فایل pnach '%1' در حال حاضر وجود ندارد. ایا مایل به ساختن آن هستید? - + Failed to create '%1'. ساخت '%1' ناموفق بود. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) فایل ورودی ضبط (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused مکث شد - + Load State Failed بارگیری وضعیت ناموفق بود - + Cannot load a save state without a running VM. بدون اجرای یک کامپیوتر مجازی نمیتوان از یک وضعیت ذخیره بارگیری انجام داد. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? ELF جدید بدون تنظیم مجدد ماشین مجازی قابل بارگیری نیست. آیا اکنون می خواهید ماشین مجازی را ریست کنید؟ - + Cannot change from game to GS dump without shutting down first. بدون خاموش کردن نمی توان از بازی به اسخراج GS تغییر داد. - + Failed to get window info from widget دریافت کردن اطلاعات پنجره از ویجت ناموفق بود - + Stop Big Picture Mode توقف حالت تصویر بزرگ - + Exit Big Picture In Toolbar خروج از تصویر بزرگ - + Game Properties مشخصات بازی - + Game properties is unavailable for the current game. ویژگی های بازی برای بازی فعلی در دسترس نیست. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. هیچ درایو سی‌دی یا دی‌وی‌دی پیدا نشد. لطفاً مطمئن شوید که یک درایو متصل و مجوزهای کافی برای دسترسی به آن دارید. - + Select disc drive: انتخاب درایو سی‌دی: - + This save state does not exist. این وضعیت ذخیره وجود ندارد. - + Select Cover Image انتخاب تصویر کاور - + Cover Already Exists کاور از قبل وجود داشت - + A cover image for this game already exists, do you wish to replace it? یک تصویر جلد بازی برای این بازی وجود دارد، آیا مایل به جایگزین کردن هستید? - + + - Copy Error کپی خطا - + Failed to remove existing cover '%1' حذف کردن جلد فعلی ناموفق بود '%1' - + Failed to copy '%1' to '%2' کپی کردن ناموف از '%1' به '%2' - + Failed to remove '%1' خطا در حذف '%1' - - + + Confirm Reset تأیید بازنشاندن کنسول - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) تمامی انواع تصاویر جلد (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. باید یک فایل متفاوتی را برای تصویر جلد فعلی انتخاب نمایید. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16355,12 +16428,12 @@ This action cannot be undone. این عمل قابل بازگیری نیست. - + Load Resume State بارگذاری وضعیت ادامه - + A resume save state was found for this game, saved at: %1. @@ -16373,89 +16446,89 @@ Do you want to load this state, or start from a fresh boot? آیا می خواهید این وضعیت را بارگیری کنید یا از یک بوت تازه شروع کنید؟ - + Fresh Boot بوت تازه - + Delete And Boot حذف و بوت - + Failed to delete save state file '%1'. خطا در حذف کردن فایل وضعیت ذخیره '%1'. - + Load State File... بارگیری از فایل وضعیت ذخیره شده... - + Load From File... بارگذاری از فایل... - - + + Select Save State File انتخاب فایل وضعیت ذخیره شده - + Save States (*.p2s) وضعیت ذخیره (*.p2s) - + Delete Save States... حذف وضعیت ذخیره... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) تمامی فرمت ها: (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;فایل خام تک تراک (*.bin *.iso);;فایل نشانه‌گذاری دیسک (*.cue);;فایل توضیح دهنده زسانه ای(*.mdf);;فایل MAME CHD (*.chd);;فایل CSO (*.cso);;فایل GZ (*.gz);;فایل اجرایی ELF (*.elf);;فایل اجرایی IRX (*.irx);;داده های استخراجی GS (*.gs *.gs.xz *.gs.zst);;داده های استخراجی بلوکی (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) تمامی فرمت ها (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;فایل خام تک تراک (*.bin *.iso)؛؛ فایل نشانه گذاری دیسک (*.cue)؛؛ فایل توضیح دهنده رسانه ای (*.mdf)؛؛ فایلMAME CHD (*.chd)؛؛ تصاویر CSO (*.cso؛؛ تصاویر ZSO (*.zso؛؛ تصاویر GZ (*.gz؛;داده های استخراجی بلوکی (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) وضعیت ذخیره (*.p2s *.p2s.backup) - + Undo Load State واگرد وضعیت دانلود - + Resume (%2) ادامه (%2) - + Load Slot %1 (%2) اسلات بارگیری %1 (%2) - - + + Delete Save States حذف وضعیت ذخیره شده - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16464,42 +16537,42 @@ The saves will not be recoverable. ذخیره ها قابل بازیابی نخواهند بود. - + %1 save states deleted. %1 وضعیت ذخیره پاک شد. - + Save To File... ذخیره کردن در فایل... - + Empty خالی - + Save Slot %1 (%2) اسلات ذخیره %1 (%2) - + Confirm Disc Change تایید تغییر دیسک - + Do you want to swap discs or boot the new image (via system reset)? آیا میخواهید دیسک را عوض کنید یا یک ایمیج جدید بارگیری کنید؟ (از طریق ریست سیستم) - + Swap Disc عوض کردن دیسک - + Reset بازنشانی کنسول @@ -16522,25 +16595,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16557,28 +16630,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. کارت حافظه '{}' در ذخیره سازی ذخیره شد. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. کارت‌های حافظه دوباره وارد شدند. - + Force ejecting all Memory Cards. Reinserting in 1 second. خروج اجباری تمامی کارت های حافظه. قرار دادن مجدد در 1 ثانیه. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17370,7 +17448,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18210,12 +18288,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. خطا در باز کردن {}. پچهای داخلی بازی در دسترس نیستند. - + %n GameDB patches are active. OSD Message @@ -18224,7 +18302,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. هیچ تقلب یا پچ (صفحه عریض، سازگارسازی یا موارد دیگر) یافت یا فعال نشد. @@ -18343,47 +18421,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18516,7 +18594,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21729,42 +21807,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. پشتیبان گیری از وضعیت ذخیره شذه {} ناموفق بود. - + Failed to save save state: {}. ذخیره وضعیت ذخیره شده در {} انجام نشد. - + PS2 BIOS ({}) بایوس PS2 ({}) - + Unknown Game بازی ناشناخته - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error خطا - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21775,272 +21853,272 @@ Please consult the FAQs and Guides for further instructions. برنامه PCSX2 برای اجرا به بایوس PS2 نیاز دارد. به دلایل قانونی، باید یک بایوس از یک دستگاه PS2 واقعی که مالک آن هستید، تهیه کنید (قرض گرفتن به حساب نمی آید). پس از استخراج بایوس، این فایل بایوس باید در پوشه «bios» در فهرست داده های نشان داده شده در زیر قرار گیرد، و یا می توانید به PCSX2 دستور دهید تا یک فهرست دیگر را اسکن کند. راهنمای استخراج بایوس خود را می‌توانید در این سایت پیدا کنید: pcsx2.net. - + Resuming state وضعیت ادامه - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. وضعیت به {} ذخیره شد. - + Failed to save save state to slot {}. ذخیره وضعیت در اسلات {} انجام نشد. - - + + Loading state در حال بارگیری وضعیت ذخیره شده - + Failed to load state (Memory card is busy) بارگیری وضعیت ناموفق بود (کارت حافظه مشغول است) - + There is no save state in slot {}. هیچ وضعیت ذخیره شده ای در اسلات {} وجود ندارد. - + Failed to load state from slot {} (Memory card is busy) خطا در بارگیری وضعیت از اسلات {} (کارت حافظه مشغول است) - + Loading state from slot {}... در حال بارگیری وضعیت از اسلات {}... - + Failed to save state (Memory card is busy) ذخیره وضعیت ناموفق بود (کارت حافظه مشغول است) - + Failed to save state to slot {} (Memory card is busy) خطا در ذخیره وضعیت از اسلات {} (کارت حافظه مشغول است) - + Saving state to slot {}... درحال ذخیره وضعیت به اسلات{}... - + Frame advancing پیشرفت فریم - + Disc removed. دیسک حذف شد. - + Disc changed to '{}'. دیسک به «{}» عوض شد. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} خطا در باز کردن فایل دیسک جدید '{}'. بازگشت به فایل قدیمی. خطا: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} بازگشت به فایل دیسک قدیمی انجام نشد. در حال برداشتن دیسک. خطا: {} - + Cheats have been disabled due to achievements hardcore mode. تقلب ها به علت روشن بودن حالت هاردکور در دستاوردها غیرفعال شده است. - + Fast CDVD is enabled, this may break games. بارگذاری سریع سی دی و دی وی دی فعال است، این ممکن است بعضی از بازی ها را نادرست اجرا کند. - + Cycle rate/skip is not at default, this may crash or make games run too slow. سرعت چرخه/پرش بر پیش‌فرض نیست، ممکن است کرش کند یا بازی‌ها را خیلی کند. - + Upscale multiplier is below native, this will break rendering. ضریب ارتقاء رزولوشن کمتر از معمولی است، این رندر را خراب می‌کند. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. فیلترینگ بافت بر روی دوخطی (PS2) تنظیم نشده است. این باعث خراب شدن رندر در برخی بازی ها می شود. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. فیلتر سه خطی روی خودکار تنظیم نشده است. این ممکن است رندر در برخی بازی ها را خراب کند. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. حالت دانلود سخت افزاری بر روی دقیق تنظیم نشده است. این ممکن است باعث خرابی رندر در برخی بازی ها شود. - + EE FPU Round Mode is not set to default, this may break some games. حالت گرد کردن EE FPU روی پیش‌فرض تنظیم نشده است، ممکن است برخی از بازی‌ها را درس اجرا نکند. - + EE FPU Clamp Mode is not set to default, this may break some games. حالت گرد کردن EE FPU روی پیش‌فرض تنظیم نشده است، ممکن است برخی از بازی‌ها را درست اجرا نکند. - + VU0 Round Mode is not set to default, this may break some games. حالت گرد کردن VU0 بر روی پیش‌فرض تنظیم نشده است، ممکن است برخی از بازی‌ها را درست اجرا نکند. - + VU1 Round Mode is not set to default, this may break some games. حالت گرد کردن VU1 بر روی پیش‌فرض تنظیم نشده است، ممکن است برخی از بازی‌ها را درست اجرا نکند. - + VU Clamp Mode is not set to default, this may break some games. حالت محدود کردن VU روی پیش‌فرض تنظیم نشده است، ممکن است برخی از بازی‌ها را درست اجرا نکند. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. اصلاحات بازی ها فعال نیستند. سازگاری با برخی از بازی ها ممکن است تحت تأثیر قرار گیرد. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. پچ های سازگارسازی فعال نیستند. سازگاری با برخی از بازی ها ممکن است تحت تأثیر قرار گیرد. - + Frame rate for NTSC is not default. This may break some games. نرخ فریم برای NTSC به صورت پیش‌فرض نیست. این ممکن است برخی از بازی ها را نادرست اجرا کند. - + Frame rate for PAL is not default. This may break some games. نرخ فریم برای PAL به صورت پیش‌فرض نیست. این ممکن است برخی از بازی ها را نادرست اجرا کند. - + EE Recompiler is not enabled, this will significantly reduce performance. مفسیر EE فعال نیست، این به طور قابل توجهی سرعت عملکرد را کاهش می دهد. - + VU0 Recompiler is not enabled, this will significantly reduce performance. مفسیر VU0 فعال نیست، این به طور قابل توجهی سرعت عملکرد را کاهش می دهد. - + VU1 Recompiler is not enabled, this will significantly reduce performance. مفسیر VU1 فعال نیست، این به طور قابل توجهی سرعت عملکرد را کاهش می دهد. - + IOP Recompiler is not enabled, this will significantly reduce performance. مفسیر IOP فعال نیست، این به طور قابل توجهی سرعت عملکرد را کاهش می دهد. - + EE Cache is enabled, this will significantly reduce performance. حافظه پنهان EE فعال است، این به طور قابل توجهی سرعت عملکرد را کاهش می دهد. - + EE Wait Loop Detection is not enabled, this may reduce performance. تشخیص حلقه انتظار EE، این به طور قابل توجهی سرعت عملکرد را کاهش می دهد. - + INTC Spin Detection is not enabled, this may reduce performance. تشخیص چرخش INTC فعال نیست، این ممکن است سرعت عملکرد را کاهش دهد. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. VU1 فوری غیرفعال است، این ممکن است سرعت عملکرد را کاهش دهد. - + mVU Flag Hack is not enabled, this may reduce performance. پرچمگذاری mVU فعال نیست، این ممکن است عملکرد را کاهش دهد. - + GPU Palette Conversion is enabled, this may reduce performance. تبدیل پالت کارت گرافیک فعال است، این ممکن است سرعت عملکرد را کاهش دهد. - + Texture Preloading is not Full, this may reduce performance. پیش بارگذاری بافت کامل نیست، این ممکن است سزعت عملکرد را کاهش دهد. - + Estimate texture region is enabled, this may reduce performance. منطقه بافت تخمینی فعال است، این ممکن است سرعت عملکرد را کاهش دهد. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_fi-FI.ts b/pcsx2-qt/Translations/pcsx2-qt_fi-FI.ts index 33a77646316cb..9284e64d3e392 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_fi-FI.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_fi-FI.ts @@ -527,7 +527,7 @@ Lukemattomat viestit: {2} Active Challenge Achievements - Aktiivisen haasteen saavutukset + Aktiivisten haasteiden saavutukset @@ -732,307 +732,318 @@ Tulostaulusija: {1} / {2} Käytä yleistä asetusta [%1] - + Rounding Mode Pyöristystila - - - + + + Chop/Zero (Default) Pilko/nolla (oletus) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muuttaa PCSX2:n tapaa käsitellä pyöristystä emuloidessa Emotion Enginen liukulukuyksikköä (EE FPU). Koska useat FPU:t PS2:ssa ovat yhteensopimattomia kansainvälisten standardien kanssa, jotkut pelit saattavat vaatia eri tiloja matematiikan suorittamiseen. Oletusarvo hoitaa suurimman osan peleistä; <b>tämän asetuksen muokkaaminen, kun pelissä ei ole näkyvää vikaa, saattaa aiheuttaa epävakautta.</b> - + Division Rounding Mode Jaon pyöristystila - + Nearest (Default) Lähin (oletus) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Määrittää, miten liukulukujen jaon tulokset pyöristetään. Jotkut pelit tarvitsevat erityisiä asetuksia; <b>tämän asetuksen muuttaminen, kun pelissä ei ole näkyvää ongelmaa, voi aiheuttaa epävakautta.</b> - + Clamping Mode Rajoitustila - - - + + + Normal (Default) Normaali (oletus) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muuttaa PCSX2:n tapaa pitää liukuluvut standardi x86:n alueella. Oletusarvo hoitaa suurimman osan peleistä; <b>tämän asetuksen muokkaaminen, kun pelissä ei ole näkyvää vikaa, saattaa aiheuttaa epävakautta.</b> - - + + Enable Recompiler Ota uudelleenkääntäjä käyttöön - + - - - + + + - + - - - - + + + + + Checked Käytössä - + + Use Save State Selector + Käytä tilatallennusvalitsinta + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Näyttää tilatallennusvalitsimen käyttöliittymän vaihtaessasi paikkaa ilmoituskuplan sijaan. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Suorittaa 64-bittisen MIPS-IV-konekoodin just-in-time-binäärikäännöksen x86:ksi. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Odotussilmukoiden tunnistus - + Moderate speedup for some games, with no known side effects. Kohtalainen nopeutuminen joissakin peleissä ilman tunnettuja sivuvaikutuksia. - + Enable Cache (Slow) Ota välimuisti käyttöön (hidas) - - - - + + + + Unchecked Ei käytössä - + Interpreter only, provided for diagnostic. Vain tulkki, tarkoitettu diagnosointiin. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC:n pyörityksen tunnistus - + Huge speedup for some games, with almost no compatibility side effects. Valtava nopeutuminen joissakin peleissä, lähes ilman sivuvaikutuksia yhteensopivuudessa. - + Enable Fast Memory Access Ota käyttöön nopea muistinkäyttö - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Käyttää takaisinsijoitusta välttääkseen rekisterin tyhjennyksen jokaisen muistin käytön yhteydessä. - + Pause On TLB Miss Pysäytys TLB:n puuttuessa - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pysäyttää virtuaalikoneen TLB-virheen tapahtuessa, sen sijaan, että jatkaisi jättäen sen huomiotta. Huomaa, että virtuaalikone pysähtyy lohkon päätteessä, ei poikkeuksen aiheuttaneen käskyn kohdalla. Katso konsolista osoite, jossa virheellinen käyttö tapahtui. - + Enable 128MB RAM (Dev Console) Käytä 128 Mt RAM-muistia (kehittäjäkonsoli) - + Exposes an additional 96MB of memory to the virtual machine. Paljastaa 96 Mt lisämuistia virtuaalikoneen käytettäväksi. - + VU0 Rounding Mode VU0-pyöristystila - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Muuttaa PCSX2:n tapaa käsitellä pyöristystä emuloidessa Emotion Enginen Vector Unit 0:aa (EE VU0). Oletusarvo hoitaa suurimman osan peleistä; <b>tämän asetuksen muokkaaminen, kun pelissä ei ole näkyvää vikaa, tulee aiheuttamaan epävakautta ja/tai kaatumisia.</b> - + VU1 Rounding Mode VU1-pyöristystila - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Muuttaa PCSX2:n tapaa käsitellä pyöristystä emuloidessa Emotion Enginen Vector Unit 1:tä (EE VU1). Oletusarvo hoitaa suurimman osan peleistä; <b>tämän asetuksen muokkaaminen, kun pelissä ei ole näkyvää vikaa, tulee aiheuttamaan epävakautta ja/tai kaatumisia.</b> - + VU0 Clamping Mode VU0-rajoitustila - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muuttaa PCSX2:n tapaa pitää liukuluvut standardi x86:n alueella Emotion Enginen Vector Unit 0:ssa (EE VU0). Oletusarvo hoitaa suurimman osan peleistä; <b>tämän asetuksen muokkaaminen, kun pelissä ei ole näkyvää vikaa, saattaa aiheuttaa epävakautta.</b> - + VU1 Clamping Mode VU1-rajoitustila - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muuttaa PCSX2:n tapaa pitää liukuluvut standardi x86:n alueella Emotion Enginen Vector Unit 1:ssä (EE VU1). Oletusarvo hoitaa suurimman osan peleistä; <b>tämän asetuksen muokkaaminen, kun pelissä ei ole näkyvää vikaa, saattaa aiheuttaa epävakautta.</b> - + Enable Instant VU1 Ota välitön VU1 käyttöön - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1 toimii välittömästi. Antaa pienen nopeusparannuksen useimmissa peleissä. Turvallinen useimmissa peleissä, mutta joissakin saattaa ilmestyä grafiikkavirheitä. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Ota VU0-uudelleenkääntäjä käyttöön (mikrotila) - + Enables VU0 Recompiler. Ottaa käyttöön VU0-uudelleenkääntäjän. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Ota VU1-uudelleenkääntäjä käyttöön - + Enables VU1 Recompiler. Ottaa käyttöön VU1-uudelleenkääntäjän. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU-korjaus - + Good speedup and high compatibility, may cause graphical errors. Hyvä nopeutus ja yhteensopivuus, saattaa aiheuttaa graafisia virheitä. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Suorittaa 32-bittisen MIPS-I-konekoodin just-in-time-binäärikäännöksen x86:ksi. - + Enable Game Fixes Ota pelikorjaukset käyttöön - + Automatically loads and applies fixes to known problematic games on game start. Lataa automaattisesti ja käytä korjauksia tunnettuihin ongelmallisiin peleihin pelin käynnistyessä. - + Enable Compatibility Patches Ota yhteensopivuuspaikkaukset käyttöön - + Automatically loads and applies compatibility patches to known problematic games. Automaattisesti lataa ja käyttää yhteensopivuuspaikkauksia tunnettuihin ongelmallisiin peleihin. - + Savestate Compression Method Tilatallennusten pakkausmenetelmä - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Määrittää tilatallennusten pakkaamisessa käytettävän algoritmin. - + Savestate Compression Level Tilatallennusten pakkauksen taso - + Medium Keskitaso - + Determines the level to be used when compressing savestates. Määrittää tilatallennusten pakkauksen tason. - + Save State On Shutdown Tallenna tila sammutettaessa - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Tallentaa automaattisesti emulaattorin tilan, kun poistutaan tai virta sammutetaan. Sitten voit jatkaa suoraan siitä mihin viimeksi jäit. - + Create Save State Backups Varmuuskopioi tilatallennukset - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Luo varmuuskopion tilatallennuksesta, jos se on jo olemassa, kun tallennus luodaan. Varmuuskopiossa on .backup-jälkiliite. @@ -1255,29 +1266,29 @@ Tulostaulusija: {1} / {2} Varmuuskopioi tilatallennukset - + Save State On Shutdown Tallenna tila sammutettaessa - + Frame Rate Control Kuvataajuuden säätö - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. Hz - + PAL Frame Rate: PAL-kuvataajuus: - + NTSC Frame Rate: NTSC-kuvataajuus: @@ -1292,7 +1303,7 @@ Tulostaulusija: {1} / {2} Pakkauksen taso: - + Compression Method: Pakkausmenetelmä: @@ -1337,17 +1348,22 @@ Tulostaulusija: {1} / {2} Hyvin korkea (hidas, ei suositella) - + + Use Save State Selector + Käytä tilatallennusvalitsinta + + + PINE Settings PINE-asetukset - + Slot: Paikka: - + Enable Päälle @@ -1357,27 +1373,27 @@ Tulostaulusija: {1} / {2} Analysis Options - Analysis Options + Analyysiasetukset Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. - Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + Tässä tehtyjä muutoksia ei tallenneta. Muokkaa näitä asetuksia yleisten tai pelikohtaisten asetusten valintaikkunoissa, jotta muutokset tulevat voimaan seuraavia analyysejä varten. Close dialog after analysis has started - Close dialog after analysis has started + Sulje ikkuna analysoinnin alettua Analyze - Analyze + Analysoi Close - Close + Sulje @@ -1797,12 +1813,12 @@ Tulostaulusija: {1} / {2} 5.1 Surround - 5.1-tilaääni + 5.1 Surround 7.1 Surround - 7.1-tilaääni + 7.1 Surround @@ -1868,8 +1884,8 @@ Tulostaulusija: {1} / {2} AutoUpdaterDialog - - + + Automatic Updater Automaattinen päivittäjä @@ -1909,68 +1925,68 @@ Tulostaulusija: {1} / {2} Muistuta myöhemmin - - + + Updater Error Päivitysvirhe - + <h2>Changes:</h2> <h2>Muutokset:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Varoitus tilatallennuksista</h2><p>Tämän päivityksen asennus tekee tilatallennuksistasi <b>yhteensopimattomia</b>. Varmista, että olet tallentanut pelisi muistikortille ennen tämän päivityksen asentamista, jotta vältyt edistymisesi katoamiselta.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Varoitus</h2><p>Tämän päivityksen asentaminen nollaa ohjelman asetukset. Huomioithan, että sinun täytyy määrittää asetukset uudelleen tämän päivityksen jälkeen.</p> - + Savestate Warning Varoitus tilatallennuksista - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>VAROITUS</h1><p style='font-size:12pt;'>Tämän päivityksen asentaminen tekee <b> tilatallennuksistasi yhteensopimattomia</b>. <i>Varmista, että olet tallentanut edistymisesi muistikorteille ennen jatkamista</i>.</p><p>Haluatko varmasti jatkaa?</p> - + Downloading %1... Ladataan %1... - + No updates are currently available. Please try again later. Päivityksiä ei ole tällä hetkellä saatavilla. Yritä myöhemmin uudelleen. - + Current Version: %1 (%2) Nykyinen versio: %1 (%2) - + New Version: %1 (%2) Uusi versio: %1 (%2) - + Download Size: %1 MB Latauskoko: %1 Mt - + Loading... Ladataan... - + Failed to remove updater exe after update. Päivittäjän käynnistystiedoston poisto päivityksen jälkeen epäonnistui. @@ -2134,19 +2150,19 @@ Tulostaulusija: {1} / {2} Päälle - - + + Invalid Address Virheellinen osoite - - + + Invalid Condition Virheellinen ehto - + Invalid Size Virheellinen koko @@ -2236,18 +2252,18 @@ Tulostaulusija: {1} / {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Pelilevyn sijainti on siirrettävällä levyllä, saattaa aiheuttaa suorituskyvyn ongelmia, kuten nykimistä ja jäätymistä. - + Saving CDVD block dump to '{}'. Tallentaa CDVD-lohkon kopion kohteeseen '{}'. - + Precaching CDVD Viedään CDVD esivälimuistiin @@ -2272,7 +2288,7 @@ Tallentaa CDVD-lohkon kopion kohteeseen '{}'. Tuntematon - + Precaching is not supported for discs. Esivälimuistia ei tueta levyille. @@ -3229,29 +3245,34 @@ Not Configured/Buttons configured + Rename Profile + Nimeä profiili uudelleen + + + Delete Profile Poista profiili - + Mapping Settings Kartoitusasetukset - - + + Restore Defaults Palauta oletusarvot - - - + + + Create Input Profile Luo syöttöprofiili - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3262,40 +3283,43 @@ Asettaaksesi mukautetun syöttöprofiilin pelille, avaa sen Pelin ominaisuudet - Nimeä uusi syöttöprofiili: - - - - + + + + + + Error Virhe - + + A profile with the name '%1' already exists. Profiili nimellä '%1' on jo olemassa. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Haluatko kopioida kaikki näppäinsidokset valitusta profiilista uuteen profiiliin? Jos valitset Ei, profiili luodaan täysin tyhjänä. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Haluatko kopioida nykyiset pikanäppäinten sidokset yleisistä asetuksista uuteen syöttöprofiiliin? - + Failed to save the new profile to '%1'. Uuden profiilin tallentaminen kohteeseen '%1' epäonnistui. - + Load Input Profile Lataa syöttöprofiili - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3308,12 +3332,27 @@ Kaikki nykyiset yleiset sidokset poistetaan ja profiilin sidokset ladataan tilal Tätä toimintoa ei voi peruuttaa. - + + Rename Input Profile + Nimeä syöttöprofiili uudelleen + + + + Enter the new name for the input profile: + Anna uusi nimi syöttöprofiilille: + + + + Failed to rename '%1'. + Kohteen '%1' uudelleennimeäminen epäonnistui. + + + Delete Input Profile Poista syöttöprofiili - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3322,12 +3361,12 @@ You cannot undo this action. Tätä toimintoa ei voi peruuttaa. - + Failed to delete '%1'. '%1' poistaminen epäonnistui. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3340,13 +3379,13 @@ Kaikki yleiset sidokset ja määritelmät katoavat, mutta syöttöprofiilisi sä Tätä toimintoa ei voi peruuttaa. - + Global Settings Yleiset asetukset - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3354,8 +3393,8 @@ Tätä toimintoa ei voi peruuttaa. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3363,26 +3402,26 @@ Tätä toimintoa ei voi peruuttaa. %2 - - + + USB Port %1 %2 USB-portti %1 %2 - + Hotkeys Pikanäppäimet - + Shared "Shared" refers here to the shared input profile. Yleinen - + The input profile named '%1' cannot be found. Syöttöprofiilia '%1' ei löytynyt. @@ -3451,7 +3490,7 @@ Tätä toimintoa ei voi peruuttaa. Functions - Toiminnot + Funktiot @@ -3466,7 +3505,7 @@ Tätä toimintoa ei voi peruuttaa. Breakpoints - Pysäytyskohdat + Keskeytyspisteet @@ -3958,114 +3997,114 @@ Haluatko korvata sen? Clear Existing Symbols - Clear Existing Symbols + Tyhjennä olemassa olevat symbolit Automatically Select Symbols To Clear - Automatically Select Symbols To Clear + Valitse automaattisesti poistettavat symbolit <html><head/><body><p><br/></p></body></html> - <html><head/><body><p><br/></p></body></html> + <html><head/><body><p><br/></p></body></html> Import Symbols - Import Symbols + Tuo symbolit Import From ELF - Import From ELF + Tuo ELF-tiedostosta Demangle Symbols - Demangle Symbols + Pura symbolit Demangle Parameters - Demangle Parameters + Pura parametrit Import Default .sym File - Import Default .sym File + Tuo oletus .sym-tiedosto Import from file (.elf, .sym, etc): - Import from file (.elf, .sym, etc): + Tuo tiedostosta (.elf, .sym, jne): - + Add - Add + Lisää - + Remove - Remove + Poista - + Scan For Functions - Scan For Functions + Skannaa funktioita - + Scan Mode: - Scan Mode: + Skannaustila: - + Scan ELF - Scan ELF + Skannaa ELF-tiedosto - + Scan Memory - Scan Memory + Skannaa muisti - + Skip - Skip + Ohita - + Custom Address Range: - Custom Address Range: + Mukautettu osoitealue: - + Start: - Start: + Alku: - + End: - End: + Loppu: - + Hash Functions - Hash Functions + Hajautusfunktiot - + Gray Out Symbols For Overwritten Functions - Gray Out Symbols For Overwritten Functions + Himmennä ohitettujen funktioiden symbolit @@ -4075,77 +4114,92 @@ Haluatko korvata sen? Checked - Checked + Käytössä Automatically delete symbols that were generated by any previous analysis runs. - Automatically delete symbols that were generated by any previous analysis runs. + Poista automaattisesti edellisten analyysisuoritusten luomat symbolit. Import symbol tables stored in the game's boot ELF. - Import symbol tables stored in the game's boot ELF. + Tuo pelin käynnistys-ELF-tiedostoon tallennetut symbolitaulukot. Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. - Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. + Tuo symbolit .sym-tiedostosta, jolla on sama nimi kuin ladatulla ISO-tiedostolla levyllä, jos tiedosto on olemassa. Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. - Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + Pura C++-symbolit tuontiprosessin aikana, jotta funktioiden ja globaalien muuttujien nimet ovat luettavampia virheenjäljittimessä. Include parameter lists in demangled function names. - Include parameter lists in demangled function names. + Sisällytä parametriluettelot purettujen funktioiden nimiin. Scan Mode - Scan Mode + Skannaustila Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. - Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. + Valitse, mistä funktioskanneri etsii funktioita. Tästä voi olla hyötyä, jos sovellus lataa lisäkoodia suoritettaessa. Custom Address Range - Custom Address Range + Mukautettu osoitealue Unchecked - Unchecked + Ei käytössä Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). - Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). + Määrittää, etsitäänkö funktioita määritetyltä osoitealueelta (Käytössä), vai tulopisteen sisältävästä ELF-tiedoston segmentistä (Ei käytössä). Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. + Luo hajautukset kaikille havaituille funktioille ja himmentää virheenjäljittimessä näytetyt symbolit funktioilta, jotka eivät enää täsmää. - + <i>No symbol sources in database.</i> - <i>No symbol sources in database.</i> + <i>Ei tietokannassa olevia symbolilähteitä.</i> - + <i>Start this game to modify the symbol sources list.</i> - <i>Start this game to modify the symbol sources list.</i> + <i>Aloita tämä peli muokataksesi symbolilähteiden luetteloa.</i> + + + + Path + Polku + + + + Base Address + Pohjaosoite - + + Condition + Ehto + + + Add Symbol File - Add Symbol File + Lisää symbolitiedosto @@ -4154,38 +4208,38 @@ Haluatko korvata sen? Analysis - Analysis + Analysointi These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. - These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. + Nämä asetukset ohjaavat mitkä analyysiläpäisyt tulisi suorittaa virtuaalikoneessa ajettavassa ohjelmassa ja milloin, jotta tuloksena oleva tieto voidaan esittää virheenjäljittimessä. Automatically Analyze Program: - Automatically Analyze Program: + Analysoi ohjelmaa automaattisesti: Always - Always + Aina If Debugger Is Open - If Debugger Is Open + Jos virheenjäljitin on auki Never - Never + Ei koskaan Generate Symbols For IRX Exports - Generate Symbols For IRX Exports + Luo symbolit IRX-vientejä varten @@ -4257,188 +4311,188 @@ Haluatko korvata sen? Trace Logging - Trace Logging + Jäljityslokitus Enable - Enable + Päälle EE - EE + EE DMA Control - DMA Control + DMA:n hallinta SPR / MFIFO - SPR / MFIFO + SPR / MFIFO VIF - VIF + VIF COP1 (FPU) - COP1 (FPU) + COP1 (FPU) MSKPATH3 - MSKPATH3 + MSKPATH3 Cache - Cache + Välimuisti GIF - GIF + GIF R5900 - R5900 + R5900 COP0 - COP0 + COP0 HW Regs (MMIO) - HW Regs (MMIO) + Laitteistorekisterit (MMIO) Counters - Counters + Laskurit SIF - SIF + SIF COP2 (VU0 Macro) - COP2 (VU0 Macro) + COP2 (VU0-makro) VIFCodes - VIFCodes + VIFCodes Memory - Memory + Muisti Unknown MMIO - Unknown MMIO + Tuntematon MMIO IPU - IPU + IPU BIOS - BIOS + BIOS DMA Registers - DMA Registers + DMA-rekisterit GIFTags - GIFTags + GIFTags IOP - IOP + IOP CDVD - CDVD + CDVD R3000A - R3000A + R3000A Memcards - Memcards + Muistikortit Pad - Pad + Pad MDEC - MDEC + MDEC COP2 (GPU) - COP2 (GPU) + COP2 (GPU) Analyze Program - Analyze Program + Analysoi ohjelma Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. - Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. + Valitse milloin analyysisuoritukset suoritetaan: Aina (säästää aikaa avattaessa virheenjäljitintä), jos virheenjäljitin on auki (tallentaa muistia, jos et koskaan avaa virheenjäljitintä), tai ei koskaan. Generate Symbols for IRX Export Tables - Generate Symbols for IRX Export Tables + Luo symbolit IRX-tiedostojen vientitaulukoille Checked - Checked + Käytössä Hook IRX module loading/unloading and generate symbols for exported functions on the fly. - Hook IRX module loading/unloading and generate symbols for exported functions on the fly. + Linkittää IRX-moduulien lataamisen ja purkamisen, ja luo symboleja viedyille funktioille lennossa. Enable Trace Logging - Enable Trace Logging + Ota jäljitysloki käyttöön @@ -4475,316 +4529,316 @@ Haluatko korvata sen? Unchecked - Unchecked + Ei käytössä Globally enable / disable trace logging. - Globally enable / disable trace logging. + Ota jäljitysloki käyttöön yleisesti tai poista se käytöstä. EE BIOS - EE BIOS + EE BIOS Log SYSCALL and DECI2 activity. - Log SYSCALL and DECI2 activity. + Lokittaa SYSCALLin ja DECI2:n toiminnan. EE Memory - EE Memory + EE-muisti Log memory access to unknown or unmapped EE memory. - Log memory access to unknown or unmapped EE memory. + Lokittaa muistin käytön tuntemattomaan tai kartoittamattomaan EE-muistiin. EE R5900 - EE R5900 + EE R5900 Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. - Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. + Lokittaa R5900:n ydinkäskyt (paitsi COP:t). Vaatii PCSX2:n lähteen muokkaamista ja tulkin käyttöönoton. EE COP0 - EE COP0 + EE COP0 Log COP0 (MMU, CPU status, etc) instructions. - Log COP0 (MMU, CPU status, etc) instructions. + Lokittaa COP0:n (MMU, suorittimen tila, jne.) käskyt. EE COP1 - EE COP1 + EE COP1 Log COP1 (FPU) instructions. - Log COP1 (FPU) instructions. + Lokittaa COP1:n (FPU) käskyt. EE COP2 - EE COP2 + EE COP2 Log COP2 (VU0 Macro mode) instructions. - Log COP2 (VU0 Macro mode) instructions. + Lokittaa COP2:n (VU0-makrotila) käskyt. EE Cache - EE Cache + EE-välimuisti Log EE cache activity. - Log EE cache activity. + Lokittaa EE-välimuistin toiminnan. EE Known MMIO - EE Known MMIO + EE - tunnettu MMIO Log known MMIO accesses. - Log known MMIO accesses. + Lokittaa tunnetut MMIO-käytöt. EE Unknown MMIO - EE Unknown MMIO + EE - tuntematon MMIO Log unknown or unimplemented MMIO accesses. - Log unknown or unimplemented MMIO accesses. + Lokittaa tuntemattomat tai toteuttamattomat MMIO-käytöt. EE DMA Registers - EE DMA Registers + EE DMA-rekisterit Log DMA-related MMIO accesses. - Log DMA-related MMIO accesses. + Lokittaa DMA:han liittyvät MMIO-käytöt. EE IPU - EE IPU + EE IPU Log IPU activity; MMIO, decoding operations, DMA status, etc. - Log IPU activity; MMIO, decoding operations, DMA status, etc. + Lokittaa IPU:n toiminnan: MMIO, dekoodausoperaatiot, DMA:n tila, jne. EE GIF Tags - EE GIF Tags + EE GIF-tagit Log GIFtag parsing activity. - Log GIFtag parsing activity. + Lokittaa GIFtagien jäsennystoiminnan. EE VIF Codes - EE VIF Codes + EE VIF Codes Log VIFcode processing; command, tag style, interrupts. - Log VIFcode processing; command, tag style, interrupts. + Lokittaa VIFcoden käsittelyn: komento, tagityyli, keskeytykset. EE MSKPATH3 - EE MSKPATH3 + EE MSKPATH3 Log Path3 Masking processing. - Log Path3 Masking processing. + Lokittaa Path3:n peittokäsittelyn. EE MFIFO - EE MFIFO + EE MFIFO Log Scratchpad MFIFO activity. - Log Scratchpad MFIFO activity. + Lokittaa Scratchpad MFIFO:n toiminnan. EE DMA Controller - EE DMA Controller + EE DMA-ohjain Log DMA transfer activity. Stalls, bus right arbitration, etc. - Log DMA transfer activity. Stalls, bus right arbitration, etc. + Lokittaa DMA:n siirtotoiminnan: pysäytykset, väylävälitysmenettely, jne. EE Counters - EE Counters + EE-laskurit Log all EE counters events and some counter register activity. - Log all EE counters events and some counter register activity. + Lokittaa kaikki EE-laskurien tapahtumat ja jotain laskurirekisteritoimintaa. EE VIF - EE VIF + EE VIF Log various VIF and VIFcode processing data. - Log various VIF and VIFcode processing data. + Lokittaa erilaisia VIFin ja VIFcoden käsittelytietoja. EE GIF - EE GIF + EE GIF Log various GIF and GIFtag parsing data. - Log various GIF and GIFtag parsing data. + Lokittaa erilaisia GIFin ja GIFtagien jäsennystietoja. IOP BIOS - IOP BIOS + IOP BIOS Log SYSCALL and IRX activity. - Log SYSCALL and IRX activity. + Lokittaa SYSCALLin ja IRX:n toiminnan. IOP Memcards - IOP Memcards + IOP-muistikortit Log memory card activity. Reads, Writes, erases, etc. - Log memory card activity. Reads, Writes, erases, etc. + Lokittaa muistikorttien toiminnan: lukemat, kirjoitukset, poistot, jne. IOP R3000A - IOP R3000A + IOP R3000A Log R3000A core instructions (excluding COPs). - Log R3000A core instructions (excluding COPs). + Lokittaa R3000A:n ydinkäskyt (paitsi COP:t). IOP COP2 - IOP COP2 + IOP COP2 Log IOP GPU co-processor instructions. - Log IOP GPU co-processor instructions. + Lokittaa IOP GPU:n apusuorittimen käskyt. IOP Known MMIO - IOP Known MMIO + IOP - tunnettu MMIO IOP Unknown MMIO - IOP Unknown MMIO + IOP - tuntematon MMIO IOP DMA Registers - IOP DMA Registers + IOP DMA-rekisterit IOP PAD - IOP PAD + IOP PAD Log PAD activity. - Log PAD activity. + Lokittaa PAD-toiminnan. IOP DMA Controller - IOP DMA Controller + IOP DMA-ohjain IOP Counters - IOP Counters + IOP-laskurit Log all IOP counters events and some counter register activity. - Log all IOP counters events and some counter register activity. + Lokittaa kaikki IOP-laskurien tapahtumat ja jotain laskurirekisteritoimintaa. IOP CDVD - IOP CDVD + IOP CDVD Log CDVD hardware activity. - Log CDVD hardware activity. + Lokittaa CDVD:n laitteistotoiminnan. IOP MDEC - IOP MDEC + IOP MDEC Log Motion (FMV) Decoder hardware unit activity. - Log Motion (FMV) Decoder hardware unit activity. + Lokittaa Motion (FMV) Decoder -laitteistoyksikön toimintaa. EE SIF - EE SIF + EE SIF Log SIF (EE <-> IOP) activity. - Log SIF (EE <-> IOP) activity. + Lokittaa SIFin (EE <-> IOP) toiminnan. @@ -4795,55 +4849,55 @@ Haluatko korvata sen? PCSX2-virheenjäljitin - + Run Suorita - + Step Into Astu sisään - + F11 F11 - + Step Over Astu yli - + F10 F10 - + Step Out Astu ulos - + Shift+F11 Vaihto+F11 - + Always On Top Aina päällimmäisenä - + Show this window on top Näytä tämä ikkuna päällimmäisenä - + Analyze - Analyze + Analysoi @@ -4859,50 +4913,50 @@ Haluatko korvata sen? Purku - + Copy Address Kopioi osoite - + Copy Instruction Hex Kopioi käskyn heksa - + NOP Instruction(s) NOP-käsky(t) - + Run to Cursor Suorita kursoriin asti - + Follow Branch Seuraa haaraa - + Go to in Memory View Siirry muistinäkymään - + Add Function - Lisää toiminto + Lisää funktio - - + + Rename Function - Nimeä toiminto uudelleen + Nimeä funktio uudelleen - + Remove Function - Poista toiminto + Poista funktio @@ -4921,25 +4975,25 @@ Haluatko korvata sen? Kokoa käsky - + Function name - Toiminnon nimi + Funktion nimi - - + + Rename Function Error - Virhe toiminnon uudelleenimeämisessä + Virhe funktion uudelleenimeämisessä - + Function name cannot be nothing. - Toiminnon nimi ei voi olla tyhjä. + Funktion nimi ei voi olla tyhjä. - + No function / symbol is currently selected. - Toimintoa / symbolia ei ole tällä hetkellä valittuna. + Funktiota/symbolia ei ole tällä hetkellä valittuna. @@ -4947,72 +5001,72 @@ Haluatko korvata sen? Siirry purkukoodinäkymään - + Cannot Go To Siirtyminen ei onnistu - + Restore Function Error - Virhe toiminnon palauttamisessa + Virhe funktion palauttamisessa - + Unable to stub selected address. Valitun osoitteen korvaaminen epäonnistui. - + &Copy Instruction Text &Kopioi käskyn teksti - + Copy Function Name - Kopioi toiminnon nimi + Kopioi funktion nimi - + Restore Instruction(s) Palauta käsky(t) - + Asse&mble new Instruction(s) K&okoa uudet käskyt - + &Jump to Cursor &Hyppää kursoriin asti - + Toggle &Breakpoint &Lisää/poista keskeytyskohta - + &Go to Address &Siirry osoitteeseen - + Restore Function - Palauta toiminto + Palauta funktio - + Stub (NOP) Function - Stub-toiminto (NOP) + Lakkauta (NOP) funktio - + Show &Opcode Näytä &Opcode - + %1 NOT VALID ADDRESS %1 PÄTEMÄTÖN OSOITE @@ -5039,86 +5093,86 @@ Haluatko korvata sen? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Paikka: %1 | %2 | EE: %3 % | VU: %4 % | GS: %5 % + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Tilatallennuspaikka: %1 | Ääni: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Paikka: %1 | %2 | EE: %3 % | GS: %4 % + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Tilatallennuspaikka: %1 | Ääni: %2% | %3 | EE: %4% | GS: %5% - + No Image Ei levykuvaa - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Nopeus: %1% - + Game: %1 (%2) Peli: %1 (%2) - + Rich presence inactive or unsupported. Rikas läsnäolo epäaktiivinen tai tukematon. - + Game not loaded or no RetroAchievements available. Peliä ei ole ladattuna tai RetroAchievements-saavutuksia ei ole saatavilla. - - - - + + + + Error Virhe - + Failed to create HTTPDownloader. HTTPDownloaderin luominen epäonnistui. - + Downloading %1... Ladataan %1... - + Download failed with HTTP status code %1. Lataus epäonnistui HTTP-tilakoodilla %1. - + Download failed: Data is empty. Lataus epäonnistui: Tiedot ovat tyhjiä. - + Failed to write '%1'. '%1' kirjoittaminen epäonnistui. @@ -5492,81 +5546,76 @@ Haluatko korvata sen? ExpressionParser - + Invalid memory access size %d. Virheellinen muistin käyttökoon arvo %d. - + Invalid memory access (unaligned). Virheellinen muistin käyttö (kohdistamaton). - - + + Token too long. Tunnus liian pitkä. - + Invalid number "%s". Virheellinen numero "%s". - + Invalid symbol "%s". Virheellinen symboli "%s". - + Invalid operator at "%s". Virheellinen operaattori kohteessa "%s". - + Closing parenthesis without opening one. Loppusulkumerkki ilman alkusulkumerkkiä. - + Closing bracket without opening one. Loppuhakasulkumerkki ilman alkuhakasulkumerkkiä. - + Parenthesis not closed. Ei loppusulkumerkkiä. - + Not enough arguments. Ei tarpeeksi argumentteja. - + Invalid memsize operator. Virheellinen memsize-operaattori. - + Division by zero. Jako nollalla. - + Modulo by zero. - Nollalla jako. + Jakojäännös nollalla. - + Invalid tertiary operator. Virheellinen kolmoisoperaattori. - - - Invalid expression. - Virheellinen lauseke. - FileOperations @@ -5700,342 +5749,342 @@ URL-osoite oli: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. CD/DVD-ROM-laitteita ei löytynyt. Varmista, että laite on yhdistetty ja sinulla on käyttölupa. - + Use Global Setting Käytä yleistä asetusta - + Automatic binding failed, no devices are available. Automaattinen sidonta epäonnistui, ei laitteita saatavilla. - + Game title copied to clipboard. Pelin nimi kopioitu leikepöydälle. - + Game serial copied to clipboard. Pelin sarjanumero kopioitu leikepöydälle. - + Game CRC copied to clipboard. Pelin CRC kopioitu leikepöydälle. - + Game type copied to clipboard. Pelin tyyppi kopioitu leikepöydälle. - + Game region copied to clipboard. Pelin alue kopioitu leikepöydälle. - + Game compatibility copied to clipboard. Pelin yhteensopivuus kopioitu leikepöydälle. - + Game path copied to clipboard. Pelin polku kopioitu leikepöydälle. - + Controller settings reset to default. Ohjainasetukset nollattu oletusarvoihin. - + No input profiles available. Syöttöprofiileja ei löytynyt. - + Create New... Luo uusi... - + Enter the name of the input profile you wish to create. Nimeä uusi syöttöprofiilisi. - + Are you sure you want to restore the default settings? Any preferences will be lost. Haluatko varmasti palauttaa oletusarvoiset asetukset? Kaikki mukautukset menetetään. - + Settings reset to defaults. Asetukset nollattu oletusarvoisiksi. - + No save present in this slot. - Ei tallennuksia tällä paikalla. + Ei tallennusta tässä paikassa. - + No save states found. Tilatallennuksia ei löytynyt. - + Failed to delete save state. Tilatallennuksen poisto epäonnistui. - + Failed to copy text to clipboard. Tekstin kopiointi leikepöydälle epäonnistui. - + This game has no achievements. Tälle pelille ei ole saavutuksia. - + This game has no leaderboards. Tälle pelille ei ole tulostauluja. - + Reset System Nollaa järjestelmä - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore-tilaa ei oteta käyttöön ennen järjestelmän nollausta. Haluatko nollata järjestelmän nyt? - + Launch a game from images scanned from your game directories. Käynnistä peli kansioistasi skannatuista levykuvista. - + Launch a game by selecting a file/disc image. Käynnistä peli valitsemalla tiedosto/levykuva. - + Start the console without any disc inserted. Käynnistä konsoli ilman syötettyä levyä. - + Start a game from a disc in your PC's DVD drive. Käynnistä peli levyltä tietokoneesi DVD-asemassa. - + No Binding Ei sidosta - + Setting %s binding %s. Asetetaan %s sidontaa %s. - + Push a controller button or axis now. Käytä ohjaimen painiketta tai ohjaussauvaa nyt. - + Timing out in %.0f seconds... Aikakatkaistaan %.0f sekunnin kuluttua... - + Unknown Tuntematon - + OK OK - + Select Device Valitse laite - + Details Tiedot - + Options Asetukset - + Copies the current global settings to this game. Kopioi nykyiset yleiset asetukset tähän peliin. - + Clears all settings set for this game. Poistaa kaikki tämän pelin asetukset. - + Behaviour Käyttäytyminen - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Estää näytönsäästäjää aktivoitumasta ja isännän siirtymistä lepotilaan emuloinnin aikana. - + Shows the game you are currently playing as part of your profile on Discord. Näyttää paraikaa pelattavan pelin osana profiiliasi Discordissa. - + Pauses the emulator when a game is started. Pysäyttää emulaattorin, kun peli käynnistetään. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pysäyttää emulaattorin, kun pienennät ikkunan tai avaat toisen ohjelman, ja jatkaa avattaessa ikkunan uudelleen. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pysäyttää emulaattorin, kun avaat pikavalikon, ja jatkaa suljettaessa sen. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Määrittää, näytetäänkö vahvistuskehote, kun emulaattori/peli suljetaan pikanäppäimellä. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automaattisesti tallentaa emulaattorin tilan, kun poistutaan tai virta sammutetaan. Sitten voit jatkaa suoraan siitä mihin viimeksi jäit. - + Uses a light coloured theme instead of the default dark theme. Käyttää vaalean väristä teemaa oletusarvoisen tumman teeman sijasta. - + Game Display Pelinäkymä - + Switches between full screen and windowed when the window is double-clicked. Vaihtaa koko näytön ja ikkunoidun tilan välillä, kun ikkunaa napsautetaan kahdesti. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Piilottaa hiiren osoittimen/kohdistimen emulaattorin ollessa koko näytön tilassa. - + Determines how large the on-screen messages and monitor are. Määrittää ruudulla olevien viestien ja näytön suuruuden. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Näyttää ruudulla viestit tapahtumille, kuten tilatallennuksia luodessa/ladattaessa, ottaessa kuvakaappauksia jne. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Näyttää järjestelmän nykyisen emulointinopeuden prosentteina näytön oikeassa yläkulmassa. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Näyttää järjestelmän sekunnin aikana esittävien videokuvien (tai v-syncien) määrän näytön oikeassa yläkulmassa. - + Shows the CPU usage based on threads in the top-right corner of the display. - Näyttää suorittimen käytön säikeeseen, näytön oikeassa yläkulmassa. + Näyttää suorittimen käytön säikeillä näytön oikeassa yläkulmassa. - + Shows the host's GPU usage in the top-right corner of the display. Näyttää isännän grafiikkasuorittimen käytön näytön oikeassa yläkulmassa. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Näyttää GS:n tilastot (primitiivit, piirtokäskyt) näytön oikeassa yläkulmassa. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Näyttää indikaattorit, kun pikakelataan, pysäytetään ja kun muut epänormaalit tilat ovat aktiivisia. - + Shows the current configuration in the bottom-right corner of the display. Näyttää nykyisen konfiguraation näytön oikeassa alakulmassa. - + Shows the current controller state of the system in the bottom-left corner of the display. Näyttää järjestelmän nykyisen ohjaimen tilan näytön vasemmassa alakulmassa. - + Displays warnings when settings are enabled which may break games. Näyttää varoituksia, kun päällä on asetuksia, jotka saattavat rikkoa pelejä. - + Resets configuration to defaults (excluding controller settings). Nollaa konfiguraation oletusarvoiseksi (ohjainasetuksia lukuunottamatta). - + Changes the BIOS image used to start future sessions. Muuttaa BIOS-kuvaa, jota käytetään tulevien istuntojen aloittamiseen. - + Automatic Automaattinen - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Oletus - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6044,1977 +6093,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Siirtyy automaattisesti koko näytön tilaan, kun peli käynnistetään. - + On-Screen Display Näyttöpäällys - + %d%% %d %% - + Shows the resolution of the game in the top-right corner of the display. Näyttää pelin kuvatarkkuuden näytön oikeassa yläkulmassa. - + BIOS Configuration BIOS-konfiguraatio - + BIOS Selection BIOSin valinta - + Options and Patches Asetukset ja paikkaukset - + Skips the intro screen, and bypasses region checks. Ohittaa intro-ruudun sekä alueentarkastukset. - + Speed Control Nopeuden hallinta - + Normal Speed Tavallinen nopeus - + Sets the speed when running without fast forwarding. Asettaa suorittamisen nopeuden ilman pikakelausta. - + Fast Forward Speed Pikakelauksen nopeus - + Sets the speed when using the fast forward hotkey. Asettaa nopeuden kun käytössä on eteenpäin kelaus pikanappi. - + Slow Motion Speed Hidastuksen nopeus - + Sets the speed when using the slow motion hotkey. Asettaa nopeuden, jota käytetään hidastuksen pikanäppäintä painettaessa. - + System Settings Järjestelmäasetukset - + EE Cycle Rate EE-syklitaajuus - + Underclocks or overclocks the emulated Emotion Engine CPU. Alikellottaa tai ylikellottaa emuloidun Emotion Engine -suorittimen. - + EE Cycle Skipping EE-syklin ohitus - + Enable MTVU (Multi-Threaded VU1) Ota MTVU käyttöön (monisäikeinen VU1) - + Enable Instant VU1 Ota välitön VU1 käyttöön - + Enable Cheats Ota huijaukset käyttöön - + Enables loading cheats from pnach files. Mahdollistaa huijausten lataamisen pnach-tiedostoista. - + Enable Host Filesystem Ota isäntätiedostojärjestelmä käyttöön - + Enables access to files from the host: namespace in the virtual machine. Mahdollistaa tiedostojen käytön virtuaalikoneen isäntä:-nimiavaruudesta. - + Enable Fast CDVD Ota nopea CDVD käyttöön - + Fast disc access, less loading times. Not recommended. Nopea levyn käyttö, vähemmän latausaikoja. Ei suositella. - + Frame Pacing/Latency Control Kuvanrytmitys / viiveen hallinta - + Maximum Frame Latency Kuvan enimmäisviive - + Sets the number of frames which can be queued. Asettaa jonotettavien kuvien määrän. - + Optimal Frame Pacing Optimaalinen kuvanrytmitys - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synkronoi EE- ja GS-säikeet jokaisen kuvan jälkeen. Pienin syöttöviive, mutta nostaa järjestelmän vaatimuksia. - + Speeds up emulation so that the guest refresh rate matches the host. Nopeuttaa emulointia niin, että vieraan virkistystaajuus vastaa isännän omaa. - + Renderer Renderöijä - + Selects the API used to render the emulated GS. Valitsee API:n, jota käytetään emuloidun GS:n renderöinnissä. - + Synchronizes frame presentation with host refresh. Synkronoi kuvan esityksen isännän virkistystaajuuteen. - + Display Näyttö - + Aspect Ratio Kuvasuhde - + Selects the aspect ratio to display the game content at. Määrittää näytön kuvasuhteen, jossa pelin sisältö näytetään. - + FMV Aspect Ratio Override FMV-kuvasuhteen ohitus - + Selects the aspect ratio for display when a FMV is detected as playing. - Määrittää näytön kuvasuhteen, kun FMV:n tunnistetaan toistettavan. + Määrittää näytön kuvasuhteen, kun FMV:iden havaitaan toistettavan. - + Deinterlacing Lomituksen poisto - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Valitsee algoritmin, jota käytetään PS2:n lomitetun lähdön muuntamiseen progressiiviseksi näytölle. - + Screenshot Size Kuvakaappauksen koko - + Determines the resolution at which screenshots will be saved. Määrittää kuvatarkkuuden, jolla kuvakaappaukset tallennetaan. - + Screenshot Format Kuvakaappauksen muoto - + Selects the format which will be used to save screenshots. Valitsee tiedostomuodon, jota käytetään kuvakaappausten tallentamiseen. - + Screenshot Quality Kuvakaappauksen laatu - + Selects the quality at which screenshots will be compressed. Määrittää kuvakaappausten pakkauslaadun. - + Vertical Stretch Pystysuora venytys - + Increases or decreases the virtual picture size vertically. Kasvattaa tai pienentää virtuaalisen kuvan kokoa pystysuunnassa. - + Crop Rajaa - + Crops the image, while respecting aspect ratio. Rajaa kuvan, huomioiden kuvasuhteen. - + %dpx %d px - - Enable Widescreen Patches - Käytä laajakuvapaikkauksia - - - - Enables loading widescreen patches from pnach files. - Mahdollistaa laajakuvapaikkausten lataamisen pnach-tiedostoista. - - - - Enable No-Interlacing Patches - Käytä lomituksenpoistopaikkauksia - - - - Enables loading no-interlacing patches from pnach files. - Mahdollistaa lomituksenpoistopaikkausten lataamisen pnach-tiedostoista. - - - + Bilinear Upscaling Bilineaarinen skaalaus - + Smooths out the image when upscaling the console to the screen. Pehmentää kuvan, kun konsoli skaalataan ruudulle. - + Integer Upscaling Kokonaislukuskaalaus - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Lisää täytettä näyttöalueelle varmistukseksi, että isännän ja konsolin pikselien välinen suhde on kokonaisluku. Voi saada aikaan terävämmän kuvan joissakin 2D-peleissä. - + Screen Offsets Näytön siirrot - + Enables PCRTC Offsets which position the screen as the game requests. Ottaa käyttöön PCRTC-siirrot, jotka sijoittavat näyttöä pelin käskyjen mukaan. - + Show Overscan Näytä yliskannaus - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Ottaa käyttöön vaihtoehdon näyttää yliskannauksen alue peleissä, jotka piirtävät näytön turvallisen alueen yli. - + Anti-Blur Sumennuksenesto - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Ottaa käyttöön sisäiset sumennuksenestoniksit. Vähemmän täsmällinen PS2-renderöintiin nähden, mutta tekee useista peleistä vähemmän sumeita. - + Rendering Renderöinti - + Internal Resolution Sisäinen kuvatarkkuus - + Multiplies the render resolution by the specified factor (upscaling). Laajentaa renderöinnin kuvatarkkuutta määritetyllä kertoimella (skaalaa). - + Mipmapping Mipmappaus - + Bilinear Filtering Bilineaarinen suodatus - + Selects where bilinear filtering is utilized when rendering textures. Määrittää, missä bilineaarista suodatusta käytetään tekstuurien renderöinnissä. - + Trilinear Filtering Trilineaarinen suodatus - + Selects where trilinear filtering is utilized when rendering textures. Määrittää, missä trilineaarista suodatusta käytetään tekstuurien renderöinnissä. - + Anisotropic Filtering Anisotrooppinen suodatus - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Määrittää käytettävän dither-menetelmän pelin sitä pyytäessä. - + Blending Accuracy Sekoituksen tarkkuus - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Määrittää tarkkuuden emuloidessa sekoitustiloja, joita isäntägrafiikka-API ei tue. - + Texture Preloading Tekstuurien esilataus - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Lataa täydet tekstuurit grafiikkasuorittimeen, ei ainoastaan hyödynnettyjä alueita. Voi parantaa suorituskykyä joissakin peleissä. - + Software Rendering Threads Ohjelmistorenderöinnin säikeet - + Number of threads to use in addition to the main GS thread for rasterization. Rasterointiin käytettävien säikeiden määrä GS:n pääsäikeen lisäksi. - + Auto Flush (Software) Automaattinen huuhtelu (ohjelmisto) - + Force a primitive flush when a framebuffer is also an input texture. Pakottaa primitiivien huuhtelun, kun kuvapuskuri on myös syöttötekstuuri. - + Edge AA (AA1) Reunanpehmennys (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Mahdollistaa GS:n reunanpehmennyksen (AA1) emuloinnin. - + Enables emulation of the GS's texture mipmapping. Mahdollistaa GS:n tekstuurien mipmappauksen emuloinnin. - + The selected input profile will be used for this game. Valittua syöttöprofiilia käytetään tässä pelissä. - + Shared Yleinen - + Input Profile Syöttöprofiili - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Näyttää tilatallennusvalitsimen käyttöliittymän vaihtaessasi paikkaa ilmoituskuplan sijaan. + + + Shows the current PCSX2 version on the top-right corner of the display. Näyttää nykyisen PCSX2-version näytön oikeassa yläkulmassa. - + Shows the currently active input recording status. Näyttää tällä hetkellä aktiivisen syötteentallennuksen tilan. - + Shows the currently active video capture status. - Näyttää tällä hetkellä aktiivisen videokaappauksen tilan. + Näyttää aktiivisen videonauhoituksen tilan. - + Shows a visual history of frame times in the upper-left corner of the display. Näyttää kuva-aikojen visuaalisen historian näytön vasemmassa yläkulmassa. - + Shows the current system hardware information on the OSD. Näyttää nykyisen järjestelmän laitteistotiedot näyttöpäällyksessä. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Yhdistää emulaatiosäikeet suorittimen ytimiin parantaakseen suorituskykyä/kuva-aikojen vaihtelua. - + + Enable Widescreen Patches + Ota laajakuvapaikkaukset käyttöön + + + + Enables loading widescreen patches from pnach files. + Ottaa käyttöön laajakuvapaikkausten lataamisen pnach-tiedostoista. + + + + Enable No-Interlacing Patches + Ota lomituksenpoistopaikkaukset käyttöön + + + + Enables loading no-interlacing patches from pnach files. + Ottaa käyttöön lomituksenpoistopaikkausten lataamisen pnach-tiedostoista. + + + Hardware Fixes Laitteistokorjaukset - + Manual Hardware Fixes Manuaaliset laitteistokorjaukset - + Disables automatic hardware fixes, allowing you to set fixes manually. Poistaa automaattiset laitteistokorjaukset käytöstä, jolloin voit asettaa korjauksia manuaalisesti. - + CPU Sprite Render Size Suorittimen sprite-renderöinnin koko - + Uses software renderer to draw texture decompression-like sprites. Käyttää ohjelmistorenderöijää piirtämään tekstuurien purkamisen kaltaisia spritejä. - + CPU Sprite Render Level Suorittimen sprite-renderöinnin taso - + Determines filter level for CPU sprite render. Määrittää suorittimen sprite-renderöinnin suodatustason. - + Software CLUT Render Ohjelmisto-CLUT-renderöinti - + Uses software renderer to draw texture CLUT points/sprites. Käyttää ohjelmistorenderöijää piirtämään tekstuurien CLUT-pisteitä/-spritejä. - + Skip Draw Start Piirron ohitusvälin alku - + Object range to skip drawing. Objektien piirron ohituksen väli. - + Skip Draw End Piirron ohitusvälin loppu - + Auto Flush (Hardware) Automaattinen huuhtelu (laitteisto) - + CPU Framebuffer Conversion Suorittimen kuvapuskurin muunnos - + Disable Depth Conversion Poista syvyyden muunnos käytöstä - + Disable Safe Features Poista turvaominaisuudet käytöstä - + This option disables multiple safe features. Poistaa käytöstä useita turvaominaisuuksia. - + This option disables game-specific render fixes. Poistaa käytöstä pelikohtaiset renderöintikorjaukset. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Lataa GS-tietoja uutta kuvaa renderöidessä joidenkin tehosteiden tarkkaan tuottoon. - + Disable Partial Invalidation Poista osittainen mitätöinti käytöstä - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Poistaa merkinnät tekstuurivälimuistista, kun leikkauskohtia on olemassa, pelkkien leikkauskohtien poistamisen sijaan. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Sallii tekstuurivälimuistin uudelleenkäyttää edellisen kuvapuskurin sisäosaa syöttötekstuurina. - + Read Targets When Closing Lue kohteet suljettaessa - + Flushes all targets in the texture cache back to local memory when shutting down. Huuhtelee kaikki kohteet tekstuurivälimuistissa takaisin paikalliseen muistiin suljettaessa. - + Estimate Texture Region Arvioi tekstuurialue - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Yrittää pienentää tekstuurin kokoa, kun pelit eivät itse aseta sitä (esim. Snowblind-pelit). - + GPU Palette Conversion Grafiikkasuorittimen paletin muunnos - + Upscaling Fixes Skaalauskorjaukset - + Adjusts vertices relative to upscaling. Säätää kärkipisteitä suhteessa skaalaukseen. - + Native Scaling Alkuperäisen skaalaus - + Attempt to do rescaling at native resolution. Yrittää uudelleenskaalata alkuperäisessä kuvatarkkuudessa. - + Round Sprite Pyöristä sprite - + Adjusts sprite coordinates. Säätää spritejen koordinaatteja. - + Bilinear Upscale Bilineaarinen skaalaus - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Pehmentää bilineaarisesti suodatettavia tekstuureja skaalauksessa. Esim. Braven auringonloiste. - + Adjusts target texture offsets. Säätää tekstuurien poikkeamia. - + Align Sprite Kohdista sprite - + Fixes issues with upscaling (vertical lines) in some games. Korjaa skaalausongelmia (pystysuoria viivoja) joissakin peleissä. - + Merge Sprite Yhdistä sprite - + Replaces multiple post-processing sprites with a larger single sprite. Korvaa useat jälkikäsittelyn spritet yhdellä isolla spritellä. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Laskee GS:n tarkkuutta pikselien välisten rakojen välttämiseen skaalauksessa. Korjaa tekstin Wild Arms -peleissä. - + Unscaled Palette Texture Draws Skaalaamaton palettitekstuurien piirto - + Can fix some broken effects which rely on pixel perfect precision. Voi korjata joitain rikkinäisiä pikselintarkkoja tehosteita. - + Texture Replacement Tekstuurien korvaus - + Load Textures Lataa tekstuurit - + Loads replacement textures where available and user-provided. Lataa korvaavat tekstuurit, jos ne ovat saatavilla ja käyttäjän toimittamia. - + Asynchronous Texture Loading Asynkroninen tekstuurien lataus - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Lataa korvaavat tekstuurit työläissäikeelle vähentäen mikrotärinää, kun korvaukset ovat käytössä. - + Precache Replacements Vie korvikkeet esivälimuistiin - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Esilataa kaikki korvaavat tekstuurit muistiin. Ei tarvita asynkronisella latauksella. - + Replacements Directory Korvaavien tekstuurien kansio - + Folders Kansiot - + Texture Dumping Tekstuurivedostus - + Dump Textures Tee tekstuurivedos - + Dump Mipmaps Tee mipmap-vedos - + Includes mipmaps when dumping textures. Sisällyttää mipmapit mukaan tekstuurivedoksissa. - + Dump FMV Textures Tee FMV-tekstuurivedos - + Allows texture dumping when FMVs are active. You should not enable this. Sallii tekstuurien vedostuksen FMV:iden ollessa aktiivisia. Tätä ei pitäisi ottaa käyttöön. - + Post-Processing Jälkikäsittely - + FXAA FXAA - + Enables FXAA post-processing shader. Ottaa FXAA-jälkikäsittelyvarjostimen käyttöön. - + Contrast Adaptive Sharpening Kontrastimukautuva terävöitys (CAS) - + Enables FidelityFX Contrast Adaptive Sharpening. Ottaa FidelityFX:n kontrastimukautuvan terävöityksen käyttöön. - + CAS Sharpness CAS-terävyys - + Determines the intensity the sharpening effect in CAS post-processing. Määrittää CAS-jälkikäsittelyn terävöittämisen voimakkuuden. - + Filters Suodattimet - + Shade Boost Varjotehostus - + Enables brightness/contrast/saturation adjustment. Ottaa käyttöön kirkkauden/kontrastin/kylläisyyden säätelyt. - + Shade Boost Brightness Varjotehostuksen kirkkaus - + Adjusts brightness. 50 is normal. Säätää kirkkautta. 50 on normaali. - + Shade Boost Contrast Varjotehostuksen kontrasti - + Adjusts contrast. 50 is normal. Säätää kontrastia. 50 on normaali. - + Shade Boost Saturation Varjotehostuksen kylläisyys - + Adjusts saturation. 50 is normal. Säätää värikylläisyyttä. 50 on normaali. - + TV Shaders TV-varjostimet - + Advanced Lisäasetukset - + Skip Presenting Duplicate Frames Ohita kaksoiskuvien esitys - + Extended Upscaling Multipliers Laajennetut skaalauskertoimet - + Displays additional, very high upscaling multipliers dependent on GPU capability. Näyttää enemmän hyvin korkeita skaalauskertoimia, riippuvaisia grafiikkasuorittimen toimintakyvystä. - + Hardware Download Mode Laitteistolataustila - + Changes synchronization behavior for GS downloads. Muuttaa synkronoinnin käyttäytymistä GS:n latauksissa. - + Allow Exclusive Fullscreen Salli yksinomainen koko näytön tila - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Ohittaa ajurin heuristiikat yksinomaisen koko näyön tilan tai suoran käännön/skannauksen käyttöönottoon. - + Override Texture Barriers Ohita tekstuurirajat - + Forces texture barrier functionality to the specified value. Pakottaa tekstuurirajojen toiminnallisuuden määritettyyn arvoon. - + GS Dump Compression GS-vedoksen pakkaus - + Sets the compression algorithm for GS dumps. Asettaa pakkausalgoritmin GS-vedoksiin. - + Disable Framebuffer Fetch Poista kuvapuskurin nouto käytöstä - + Prevents the usage of framebuffer fetch when supported by host GPU. Estää kuvapuskurin noudon käytön, kun isäntägrafiikkasuoritin tukee sitä. - + Disable Shader Cache Poista varjostimien välimuisti käytöstä - + Prevents the loading and saving of shaders/pipelines to disk. Estää varjostimien/kanavien latauksen ja tallentamisen levylle. - + Disable Vertex Shader Expand Poista kärkipistevarjostinlaajennus käytöstä - + Falls back to the CPU for expanding sprites/lines. Antaa suorittimen laajentaa spritejä/viivoja. - + Changes when SPU samples are generated relative to system emulation. Muuttaa, milloin SPU-otoksia luodaan suhteessa järjestelmän emulointiin. - + %d ms %d ms - + Settings and Operations Asetukset ja toiminnot - + Creates a new memory card file or folder. Luo uuden muistikorttitiedoston tai kansion. - + Simulates a larger memory card by filtering saves only to the current game. Simuloi suurempaa muistikorttia suodattamalla tallennuksia ainoastaan nykyiseen peliin. - + If not set, this card will be considered unplugged. Jos kortti ei ole käytössä, se katsotaan kytkemättömäksi. - + The selected memory card image will be used for this slot. Valittua muistikortin näköistiedostoa käytetään tässä paikassa. - + Enable/Disable the Player LED on DualSense controllers. Ota käyttöön / poista käytöstä pelaajan merkkivalo DualSense-ohjaimissa. - + Trigger Laukaisin - + Toggles the macro when the button is pressed, instead of held. Vaihtaa makron päälle/pois painiketta painettaessa, pohjassa painamisen sijaan. - + Savestate Tilatallennus - + Compression Method Pakkausmenetelmä - + Sets the compression algorithm for savestate. Määrittää tilatallennusten pakkausalgoritmin. - + Compression Level Pakkauksen taso - + Sets the compression level for savestate. Määrittää tilatallennusten pakkauksen tason. - + Version: %s Versio: %s - + {:%H:%M} {:%H:%M} - + Slot {} Paikka {} - + 1.25x Native (~450px) 1,25x alkuperäinen (~450 px) - + 1.5x Native (~540px) 1,5x alkuperäinen (~540 px) - + 1.75x Native (~630px) 1,75x alkuperäinen (~630 px) - + 2x Native (~720px/HD) 2x alkuperäinen (~720 px/HD) - + 2.5x Native (~900px/HD+) 2,5x alkuperäinen (~900 px/HD+) - + 3x Native (~1080px/FHD) 3x alkuperäinen (~1080 px/FHD) - + 3.5x Native (~1260px) 3,5x alkuperäinen (~1260 px) - + 4x Native (~1440px/QHD) 4x alkuperäinen (~1440 px/QHD) - + 5x Native (~1800px/QHD+) 5x alkuperäinen (~1800 px/QHD+) - + 6x Native (~2160px/4K UHD) 6x alkuperäinen (~2160 px/4K UHD) - + 7x Native (~2520px) 7x alkuperäinen (~2520 px) - + 8x Native (~2880px/5K UHD) 8x alkuperäinen (~2880 px/5K UHD) - + 9x Native (~3240px) 9x alkuperäinen (~3240 px) - + 10x Native (~3600px/6K UHD) 10x alkuperäinen (~3600 px/6K UHD) - + 11x Native (~3960px) 11x alkuperäinen (~3960 px) - + 12x Native (~4320px/8K UHD) 12x alkuperäinen (~4320 px/8K UHD) - + WebP WebP - + Aggressive Aggressiivinen - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Alhainen (nopea) - + Medium (Recommended) Keskitaso (suositeltu) - + Very High (Slow, Not Recommended) Hyvin korkea (hidas, ei suositella) - + Change Selection Muuta valintaa - + Select Valitse - + Parent Directory Yläkansio - + Enter Value Syötä arvo - + About Tietoja - + Toggle Fullscreen Vaihda näyttötila - + Navigate Navigoi - + Load Global State Lataa yleinen tila - + Change Page Vaihda sivua - + Return To Game Palaa peliin - + Select State Valitse tila - + Select Game Valitse peli - + Change View Vaihda näkymää - + Launch Options Käynnistysvalinnat - + Create Save State Backups Varmuuskopioi tilatallennukset - + Show PCSX2 Version Näytä PCSX2-versio - + Show Input Recording Status Näytä syötteentallennuksen tila - + Show Video Capture Status - Näytä videokaappauksen tila + Näytä videonauhoituksen tila - + Show Frame Times Näytä kuva-ajat - + Show Hardware Info Näytä laitetiedot - + Create Memory Card Luo muistikortti - + Configuration Asetukset - + Start Game Käynnistä peli - + Launch a game from a file, disc, or starts the console without any disc inserted. Käynnistä peli tiedostosta, levystä tai käynnistä konsoli ilman syötettyä levyä. - + Changes settings for the application. Muuta sovelluksen asetuksia. - + Return to desktop mode, or exit the application. Palaa työpöytätilaan tai poistu sovelluksesta. - + Back Takaisin - + Return to the previous menu. Palaa edelliseen valikkoon. - + Exit PCSX2 Poistu PCSX2:sta - + Completely exits the application, returning you to your desktop. Poistuu sovelluksesta täysin ja palauttaa sinut työpöydälle. - + Desktop Mode Työpöytätila - + Exits Big Picture mode, returning to the desktop interface. Poistuu televisiotilasta ja palaa työpöytätilan käyttöliittymään. - + Resets all configuration to defaults (including bindings). Palauttaa kaikki määritykset oletusarvoihin (myös sidokset). - + Replaces these settings with a previously saved input profile. Korvaa nämä asetukset aiemmin tallennetulla syöttöprofiililla. - + Stores the current settings to an input profile. Tallentaa nykyiset asetukset syöttöprofiiliin. - + Input Sources Syöttölähteet - + The SDL input source supports most controllers. SDL-syöttölähde tukee useimpia ohjaimia. - + Provides vibration and LED control support over Bluetooth. Tarjoaa tuen värinän ja LED-valojen hallintaan Bluetoothin kautta. - + Allow SDL to use raw access to input devices. Sallii SDL:lle raa'an pääsyn syöttölaitteisiin. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. XInput-lähde tarjoaa tukea Xbox 360 / Xbox One / Xbox Series -ohjaimille. - + Multitap Moniohjainsovitin - + Enables an additional three controller slots. Not supported in all games. Ottaa käyttöön kolme ylimääräistä ohjainporttia. Ei tuettu kaikissa peleissä. - + Attempts to map the selected port to a chosen controller. Yrittää kartoittaa valitun portin haluttuun ohjaimeen. - + Determines how much pressure is simulated when macro is active. Määrittää, kuinka paljon painetta simuloidaan makron ollessa aktiivinen. - + Determines the pressure required to activate the macro. Määrittää makron aktivoimiseen tarvittavan paineen. - + Toggle every %d frames Vaihda joka %d kuvan välein - + Clears all bindings for this USB controller. Poistaa kaikki tämän USB-ohjaimen sidokset. - + Data Save Locations Tietojen tallennuspaikat - + Show Advanced Settings Näytä lisäasetukset - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Näiden asetusten muuttaminen voi aiheuttaa pelien viallisen toiminnan. Muokkaa omalla vastuullasi, PCSX2-tiimi ei tarjoa tukea kokoonpanoille, joissa näitä asetuksia on muutettu. - + Logging Lokitus - + System Console Järjestelmäkonsoli - + Writes log messages to the system console (console window/standard output). Kirjoittaa lokiviestejä järjestelmäkonsoliin (konsoli-ikkuna/vakiolähtö). - + File Logging Tiedostolokitus - + Writes log messages to emulog.txt. Kirjaa lokiviestejä emulog.txt -tiedostoon. - + Verbose Logging Yksityiskohtainen lokitus - + Writes dev log messages to log sinks. Kirjoittaa kehittäjille tarkoitettuja viestejä lokiin. - + Log Timestamps Lokin aikaleimat - + Writes timestamps alongside log messages. Kirjoittaa aikaleimat lokiviestien rinnalla. - + EE Console EE-konsoli - + Writes debug messages from the game's EE code to the console. Kirjoittaa virheenjäljitysviestejä pelin EE-koodista konsoliin. - + IOP Console IOP-konsoli - + Writes debug messages from the game's IOP code to the console. Kirjoittaa virheenjäljitysviestejä pelin IOP-koodista konsoliin. - + CDVD Verbose Reads CDVD:n yksityiskohtaiset lukemiset - + Logs disc reads from games. Lokittaa levyn lukemiset peleistä. - + Emotion Engine Emotion Engine - + Rounding Mode Pyöristystila - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Määrittää, miten liukulukujen laskutoimitusten tulokset pyöristetään. Jotkut pelit tarvitsevat erityisiä asetuksia. - + Division Rounding Mode Jaon pyöristystila - + Determines how the results of floating-point division is rounded. Some games need specific settings. Määrittää, miten liukulukujen jakotulokset pyöristetään. Jotkut pelit tarvitsevat erityisiä asetuksia. - + Clamping Mode Rajoitustila - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Määrittää, miten kantaman ulkopuolisia liukulukuja käsitellään. Jotkut pelit tarvitsevat erityisiä asetuksia. - + Enable EE Recompiler Käytä EE-uudelleenkääntäjää - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Suorittaa 64-bittisen MIPS-IV-konekoodin ajonaikaisen binäärikäännöksen alkuperäiskoodiksi. - + Enable EE Cache Käytä EE-välimuistia - + Enables simulation of the EE's cache. Slow. Ottaa käyttöön EE:n välimuistin simuloinnin. Hidas. - + Enable INTC Spin Detection INTC:n pyörityksen tunnistus - + Huge speedup for some games, with almost no compatibility side effects. Valtava nopeutuminen joissakin peleissä, lähes ilman sivuvaikutuksia yhteensopivuudessa. - + Enable Wait Loop Detection Käytä odotussilmukoiden tunnistusta - + Moderate speedup for some games, with no known side effects. Kohtalainen nopeutuminen joissakin peleissä ilman tunnettuja sivuvaikutuksia. - + Enable Fast Memory Access Nopea muistin käyttö - + Uses backpatching to avoid register flushing on every memory access. Käyttää takaisinsijoitusta välttääkseen rekisterin tyhjennyksen jokaisen muistin käytön yhteydessä. - + Vector Units Vektoriyksiköt - + VU0 Rounding Mode VU0-pyöristystila - + VU0 Clamping Mode VU0-rajoitustila - + VU1 Rounding Mode VU1-pyöristystila - + VU1 Clamping Mode VU1-rajoitustila - + Enable VU0 Recompiler (Micro Mode) Ota VU0-uudelleenkääntäjä käyttöön (mikrotila) - + New Vector Unit recompiler with much improved compatibility. Recommended. Uusi vektoriyksiköiden uudelleenkääntäjä huomattavasti paremmalla yhteensopivuudella. Suositellaan. - + Enable VU1 Recompiler Ota VU1-uudelleenkääntäjä käyttöön - + Enable VU Flag Optimization Ota käyttöön VU-merkkien optimointi - + Good speedup and high compatibility, may cause graphical errors. Hyvä nopeutus ja yhteensopivuus, saattaa aiheuttaa graafisia virheitä. - + I/O Processor I/O-prosessori - + Enable IOP Recompiler Ota IOP-uudelleenkääntäjä käyttöön - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Suorittaa 32-bittisen MIPS-I-konekoodin ajonaikaisen binäärikäännöksen alkuperäiskoodiksi. - + Graphics Grafiikka - + Use Debug Device Käytä virheenjäljityslaitetta - + Settings Asetukset - + No cheats are available for this game. Ei huijauskoodeja saatavilla tälle pelille. - + Cheat Codes Huijauskoodit - + No patches are available for this game. Ei paikkauksia saatavilla tähän peliin. - + Game Patches Pelipaikkaukset - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Huijausten käyttöönotto voi aiheuttaa arvaamatonta käyttäytymistä, kaatumista, soft-lockeja tai pelitallennusten rikkoutumista. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Pelipaikkausten käyttöönotto voi aiheuttaa arvaamatonta käyttäytymistä, kaatumista, soft-lockeja tai pelitallennusten rikkoutumista. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Käytä paikkauksia omalla vastuullasi, PCSX2-tiimi ei tarjoa tukea käyttäjille, jotka ovat ottaneet paikkaukset käyttöön. - + Game Fixes Pelikorjaukset - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Pelikorjauksia ei pitäisi muokata, ellet ymmärrä mitä jokainen vaihtoehto tekee ja mitä niistä seuraa. - + FPU Multiply Hack Niksi FPU:n moninkertaistamiseen - + For Tales of Destiny. Tales of Destiny -pelille. - + Preload TLB Hack Niksi TLB:n esilataukseen - + Needed for some games with complex FMV rendering. Tarvitaan joidenkin pelien monimutkaisissa FMV-renderöinneissä. - + Skip MPEG Hack Niksi MPEG:ien ohitukseen - + Skips videos/FMVs in games to avoid game hanging/freezes. Ohittaa videot/FMV:t peleissä jumittumisen/jäätymisen välttämiseksi. - + OPH Flag Hack Niksi OPH-merkintöihin - + EE Timing Hack Niksi EE:n ajoitukseen - + Instant DMA Hack Niksi välittömään DMA:han - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Tiedetään vaikuttavan seuraaviin peleihin: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. - SOCOM 2:n HUD:iin ja Spy Hunterin latauksien viipymisiin. + SOCOM 2:n HUD-näyttöön ja Spy Hunterin latausten viipymisiin. - + VU Add Hack VU:n lisäysniksi - + Full VU0 Synchronization Täysi VU0:n synkronointi - + Forces tight VU0 sync on every COP2 instruction. Pakottaa tiukan VU0:n synkronoinnin jokaisessa COP2-käskyssä. - + VU Overflow Hack VU:n ylivuotoniksi - + To check for possible float overflows (Superman Returns). Mahdollisten liukulukujen ylivuotojen tarkistamiseen (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Käyttää tarkkaa ajoitusta VU XGKickeissä (hitaampi). - + Load State Lataa tila - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Saa emuloidun Emotion Enginen ohittamaan syklejä. Auttaa pientä määrää pelejä, kuten Shadow of the Colossusta. Useimmiten heikentää suorituskykyä. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Yleensä nopeuttaa suorittimilla, joissa on 4 tai useampia ytimiä. Turvallinen useimmille peleille, mutta jotkut eivät ole yhteensopivia ja saattavat jäätyä. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1 toimii välittömästi. Antaa pienen nopeusparannuksen useimmissa peleissä. Turvallinen useimmissa peleissä, mutta joissakin saattaa ilmestyä grafiikkavirheitä. - + Disable the support of depth buffers in the texture cache. Poistaa syvyyspuskurien tuen käytöstä tekstuurivälimuistissa. - + Disable Render Fixes Poista renderöintikorjaukset käytöstä - + Preload Frame Data Esilataa kuvatiedot - + Texture Inside RT Tekstuurit renderöintikohteen sisällä - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Kun tämä on käytössä, grafiikkasuoritin muuntaa värikarttatekstuurit, muuten sen tekee suoritin. Kompromissi grafiikkasuorittimen ja suorittimen välillä. - + Half Pixel Offset Puolen pikselin siirto - + Texture Offset X Tekstuurien X-siirto - + Texture Offset Y Tekstuurien Y-siirto - + Dumps replaceable textures to disk. Will reduce performance. Vedostaa korvattavat tekstuurit levylle. Heikentää suorituskykyä. - + Applies a shader which replicates the visual effects of different styles of television set. Soveltaa käyttöön varjostimen, joka voi esittää erityylisten televisioiden visuaalisia vaikutuksia. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Ohittaa peräkkäisten muutoksettomien kuvien esityksen 25/30 FPS:n peleissä. Voi parantaa nopeutta, mutta lisää syöttöviivettä / huonontaa kuvanrytmitystä. - + Enables API-level validation of graphics commands. Sallii API-tason vahvistuksen grafiikkakomentoihin. - + Use Software Renderer For FMVs Käytä ohjelmistorenderöijää FMV:issä - + To avoid TLB miss on Goemon. TLB:n ohituksen välttämiseen Goemonissa. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Yleiskäyttöinen ajoitusniksi. Tiedetään vaikuttavan seuraaviin peleihin: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Hyvä välimuistin emulointiongelmille. Tiedetään vaikuttavan seuraaviin peleihin: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Tiedetään vaikuttavan seuraaviin peleihin: Bleach Blade Battlers, Growlanser II ja III, Wizardry. - + Emulate GIF FIFO Emuloi GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Tarkka mutta hitaampi. Tiedetään vaikuttavan seuraaviin peleihin: Fifa Street 2. - + DMA Busy Hack Niksi varattuun DMA:han - + Delay VIF1 Stalls Viivytä VIF1:n sammumisia - + Emulate VIF FIFO Emuloi VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simuloi VIF1 FIFO:n edelläluvun. Tiedetään vaikuttavan seuraaviin peleihin: Test Drive Unlimited, Transformers. - + VU I Bit Hack Niksi VU:n I-bittiin - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Välttää jatkuvaa uudelleenkääntämistä joissakin peleissä. Tiedetään vaikuttavan seuraaviin peleihin: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Tri-Acen peleille: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU:n synkronointi - + Run behind. To avoid sync problems when reading or writing VU registers. Suorittaa jäljessä välttääkseen synkronointiongelmia lukiessa tai kirjoittaessa VU-rekistereitä. - + VU XGKick Sync VU XGKickin synkronointi - + Force Blit Internal FPS Detection Pakota sisäinen FPS-tunnistus BLITeillä - + Save State Tallenna tila - + Load Resume State Lataa jatkamistila - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8023,2071 +8077,2076 @@ Do you want to load this save and continue? Haluatko ladata tämän tilan ja jatkaa? - + Region: Alue: - + Compatibility: Yhteensopivuus: - + No Game Selected Ei peliä valittuna - + Search Directories Hakukansiot - + Adds a new directory to the game search list. Lisää uuden kansion pelien hakulistalle. - + Scanning Subdirectories Skannataan alikansioita - + Not Scanning Subdirectories Ei skannata alikansioita - + List Settings Luettelon asetukset - + Sets which view the game list will open to. Asettaa näkymän, missä peliluettelo avataan. - + Determines which field the game list will be sorted by. Määrittää, minkä tekijän perusteella peliluettelo järjestetään. - + Reverses the game list sort order from the default (usually ascending to descending). Kääntää peliluettelon järjestyksen oletuksesta (yleensä nousevasta laskevaan). - + Cover Settings Kansikuva-asetukset - + Downloads covers from a user-specified URL template. Lataa kansikuvia käyttäjän määrittelemästä URL-mallista. - + Operations Operaatiot - + Selects where anisotropic filtering is utilized when rendering textures. Määrittää, missä anisotrooppista suodatusta käytetään tekstuurien renderöinnissä. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Käytä vaihtoehtoista menetelmää sisäisen kuvataajuuden laskemiseen välttääksesi vääriä lukemia joissakin peleissä. - + Identifies any new files added to the game directories. Tunnistaa kaikki uudet pelikansioihin lisätyt tiedostot. - + Forces a full rescan of all games previously identified. Pakottaa täyden uudelleenskannauksen kaikista aiemmin tunnistetuista peleistä. - + Download Covers Lataa kansikuvat - + About PCSX2 Tietoja PCSX2:sta - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 on ilmainen ja avoimen lähdekoodin PlayStation 2 (PS2) -emulaattori. Sen tarkoitus on emuloida PS2:n laitteistoa käyttämällä MIPS-suorittimen tulkkien, uudelleenkääntäjien ja virtuaalikoneen yhdistelmää, joka hallitsee laitteiston tiloja ja PS2:n järjestelmämuistia. Tämän avulla voit pelata PS2-pelejä tietokoneellasi monien lisäominaisuuksien ja etujen kera. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 ja PS2 ovat Sony Interactive Entertainmentin rekisteröityjä tavaramerkkejä. Tämä sovellus ei ole millään tavalla sidoksissa Sony Interactive Entertainmentiin. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Kun tämä on käytössä ja olet kirjautunut sisään, PCSX2 etsii saavutuksia käynnistyksen aikana. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Haastetila" saavutuksille, joka sisältää tulosten seurannan tulostaululla. Poistaa käytöstä tilatallennus-, huijaus- ja hidastustoiminnot. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Näyttää ponnahdusviestit tapahtumista, kuten saavutusten avaamisesta ja tulosten lähettämisestä. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Toistaa äänitehosteita tietyissä tapauksissa, kuten saavutusten avaamisessa ja tulosten lähettämisessä. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Näyttää kuvakkeita näytön oikeassa alakulmassa, kun haaste/saavutus on aktiivinen. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Kun tämä on käytössä, PCSX2 listaa saavutukset epävirallisista lajitelmista. RetroAchievements ei seuraa näitä saavutuksia. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Kun tämä on käytössä, PCSX2 olettaa kaikkien saavutusten olevan lukittu, eikä lähetä avausten ilmoituksia palvelimelle. - + Error Virhe - + Pauses the emulator when a controller with bindings is disconnected. Pysäyttää emulaattorin, kun yhteys sidoksia käyttävään ohjaimeen katkeaa. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Luo varmuuskopion tilatallennuksesta, jos se on jo olemassa, kun tallennus luodaan. Varmuuskopiossa on .backup-jälkiliite - + Enable CDVD Precaching Ota käyttöön CDVD:n vienti esivälimuistiin - + Loads the disc image into RAM before starting the virtual machine. Lataa levykuvan RAM-muistiin ennen virtuaalikoneen käynnistystä. - + Vertical Sync (VSync) Pystytahdistus (VSync) - + Sync to Host Refresh Rate Synkronoi isännän virkistystaajuuteen - + Use Host VSync Timing Käytä isännän pystytahdistusajoitusta - + Disables PCSX2's internal frame timing, and uses host vsync instead. Poistaa käytöstä PCSX2:n sisäisen kuva-ajoituksen ja suosii isännän pystytahdistusta sen sijaan. - + Disable Mailbox Presentation Poista mailbox-esitys käytöstä - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Pakottaa FIFO:n käytön mailbox-esityksen sijasta, eli kaksinkertainen puskurointi kolminkertaisen sijasta. Yleensä tuloksena on huonompi kuvanrytmitys. - + Audio Control Äänen hallinta - + Controls the volume of the audio played on the host. Hallitsee isännän äänenvoimakkuutta. - + Fast Forward Volume Pikakelauksen äänenvoimakkuus - + Controls the volume of the audio played on the host when fast forwarding. Hallitsee isännän äänenvoimakkuutta pikakelattaessa. - + Mute All Sound Mykistä kaikki äänet - + Prevents the emulator from producing any audible sound. Estää emulaattoria tuottamasta mitään ääntä. - + Backend Settings Taustaohjelman asetukset - + Audio Backend Äänen taustaohjelma - + The audio backend determines how frames produced by the emulator are submitted to the host. Äänen taustaohjelma määrittää, miten emulaattorin tuottamat kuvat lähetetään isännälle. - + Expansion Laajennus - + Determines how audio is expanded from stereo to surround for supported games. Määrittää, kuinka ääntä laajennetaan stereosta tilaääneen tuetuissa peleissä. - + Synchronization Synkronointi - + Buffer Size Puskurin koko - + Determines the amount of audio buffered before being pulled by the host API. Määrittää puskuroidun äänen määrän, ennen kuin isäntä-API noutaa sen. - + Output Latency Lähtöviive - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Määrittää viiveen määrän isäntä-API:n äänen noudosta sen toistoon kaiuttimista. - + Minimal Output Latency Minimaalinen lähtöviive - + When enabled, the minimum supported output latency will be used for the host API. Kun tämä on käytössä, pienintä tuettua lähtöviivettä käytetään isäntä-API:ssa. - + Thread Pinning Säiekiinnitys - + Force Even Sprite Position Pakota tasainen spritejen sijainti - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Näyttää ponnahdusviestit aloitettaessa, lähetettäessä tai epäonnistuttaessa tulostauluhaasteen. - + When enabled, each session will behave as if no achievements have been unlocked. Kun tämä on käytössä, jokainen istunto käyttäytyy ikään kuin saavutuksia ei olisi avattu. - + Account Tili - + Logs out of RetroAchievements. Kirjautuu ulos RetroAchievementsista. - + Logs in to RetroAchievements. Kirjautuu sisään RetroAchievementsiin. - + Current Game Nykyinen peli - + An error occurred while deleting empty game settings: {} Virhe poistettaessa tyhjiä peliasetuksia: {} - + An error occurred while saving game settings: {} Virhe tallennettaessa peliasetuksia: {} - + {} is not a valid disc image. {} ei ole kelvollinen levykuva. - + Automatic mapping completed for {}. Automaattinen kartoitus valmis kohteelle {}. - + Automatic mapping failed for {}. Automaattinen kartoitus epäonnistui kohteelle {}. - + Game settings initialized with global settings for '{}'. '{}' peliasetukset alustettu yleisillä asetuksilla. - + Game settings have been cleared for '{}'. '{}' peliasetukset tyhjennetty. - + {} (Current) {} (nykyinen) - + {} (Folder) {} (kansio) - + Failed to load '{}'. '%1' lataus epäonnistui. - + Input profile '{}' loaded. Syöttöprofiili '{}' ladattu. - + Input profile '{}' saved. Syöttöprofiili '{}' tallennettu. - + Failed to save input profile '{}'. Syöttöprofiilin '{}' tallentaminen epäonnistui. - + Port {} Controller Type Ohjaintyyppi (portti {}) - + Select Macro {} Binds Valitse makron {} sidokset - + Port {} Device Laite portissa {} - + Port {} Subtype Portin {} alatyyppi - + {} unlabelled patch codes will automatically activate. {} nimetöntä paikkauskoodia aktivoituu automaattisesti. - + {} unlabelled patch codes found but not enabled. {} nimetöntä paikkauskoodia löydetty, mutta ei käytössä. - + This Session: {} Tämä istunto: {} - + All Time: {} Yhteensä: {} - + Save Slot {0} Tallennuspaikka {0} - + Saved {} Tallennettu {} - + {} does not exist. {} ei ole olemassa. - + {} deleted. {} poistettu. - + Failed to delete {}. {} poistaminen epäonnistui. - + File: {} Tiedosto: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Peliaika: {} - + Last Played: {} Viimeksi pelattu: {} - + Size: {:.2f} MB Koko: {:.2f} Mt - + Left: Vasen: - + Top: Yläreuna: - + Right: Oikea: - + Bottom: Alareuna: - + Summary Yhteenveto - + Interface Settings Käyttöliittymän asetukset - + BIOS Settings BIOS-asetukset - + Emulation Settings Emulaatioasetukset - + Graphics Settings Grafiikka-asetukset - + Audio Settings Ääniasetukset - + Memory Card Settings Muistikorttiasetukset - + Controller Settings Ohjainasetukset - + Hotkey Settings Pikanäppäinasetukset - + Achievements Settings Saavutusten asetukset - + Folder Settings Kansioasetukset - + Advanced Settings Lisäasetukset - + Patches Korjaukset - + Cheats Huijaukset - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2 % [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10 % [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25 % [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50 % [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75 % [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90 % [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100 % [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110 % [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120 % [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150 % [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175 % [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200 % [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300 % [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400 % [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500 % [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000 % [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50 % nopeus - + 60% Speed 60 % nopeus - + 75% Speed 75 % nopeus - + 100% Speed (Default) 100 % nopeus (oletus) - + 130% Speed 130 % nopeus - + 180% Speed 180 % nopeus - + 300% Speed 300 % nopeus - + Normal (Default) Normaali (oletus) - + Mild Underclock Lievä alikellotus - + Moderate Underclock Kohtalainen alikellotus - + Maximum Underclock Enimmäisalikellotus - + Disabled Ei käytössä - + 0 Frames (Hard Sync) 0 kuvaa (kova synkronointi) - + 1 Frame 1 kuva - + 2 Frames 2 kuvaa - + 3 Frames 3 kuvaa - + None Ei mitään - + Extra + Preserve Sign Ekstra + säilytä etumerkki - + Full Täysi - + Extra Ekstra - + Automatic (Default) Automaattinen (oletus) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Ohjelmisto - + Null Tyhjä - + Off Pois - + Bilinear (Smooth) Bilineaarinen (pehmeä) - + Bilinear (Sharp) Bilineaarinen (terävä) - + Weave (Top Field First, Sawtooth) Kutova (yläkenttä ensin, sahahammas) - + Weave (Bottom Field First, Sawtooth) Kutova (alakenttä ensin, sahahammas) - + Bob (Top Field First) Hyppivä (yläkenttä ensin) - + Bob (Bottom Field First) Hyppivä (alakenttä ensin) - + Blend (Top Field First, Half FPS) Sekoitus (yläkenttä ensin, puolikas FPS) - + Blend (Bottom Field First, Half FPS) Sekoitus (alakenttä ensin, puolikas FPS) - + Adaptive (Top Field First) Mukautuva (yläkenttä ensin) - + Adaptive (Bottom Field First) Mukautuva (alakenttä ensin) - + Native (PS2) Alkuperäinen (PS2) - + Nearest Lähin - + Bilinear (Forced) Bilineaarinen (pakotettu) - + Bilinear (PS2) Bilineaarinen (PS2) - + Bilinear (Forced excluding sprite) Bilineaarinen (pakotettu, paitsi spritet) - + Off (None) Pois (ei mitään) - + Trilinear (PS2) Trilineaarinen (PS2) - + Trilinear (Forced) Trilineaarinen (pakotettu) - + Scaled Skaalattu - + Unscaled (Default) Skaalaamaton (oletus) - + Minimum Minimi - + Basic (Recommended) Perus (suositeltu) - + Medium Keskitaso - + High Korkea - + Full (Slow) Täysi (hidas) - + Maximum (Very Slow) Maksimi (hyvin hidas) - + Off (Default) Pois (oletus) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Osittainen - + Full (Hash Cache) Täysi (hajautusvälimuisti) - + Force Disabled Pakota pois käytöstä - + Force Enabled Pakota käyttöönotto - + Accurate (Recommended) Tarkka (suositeltu) - + Disable Readbacks (Synchronize GS Thread) Poista takaisinluvut käytöstä (synkronoi GS-säie) - + Unsynchronized (Non-Deterministic) Synkronoimaton (ei-määrittelevä) - + Disabled (Ignore Transfers) Pois käytöstä (ohita siirrot) - + Screen Resolution Näytön kuvatarkkuus - + Internal Resolution (Aspect Uncorrected) Sisäinen kuvatarkkuus (korjaamaton suhde) - + Load/Save State Lataa/tallenna tila - + WARNING: Memory Card Busy VAROITUS: Muistikortti varattu - + Cannot show details for games which were not scanned in the game list. Tietoja ei voida näyttää peleistä, joita ei ole skannattu peliluettelossa. - + Pause On Controller Disconnection Pysäytä ohjaimen yhteyden katketessa - + + Use Save State Selector + Käytä tilatallennusvalitsinta + + + SDL DualSense Player LED SDL DualSensen pelaajan merkkivalo - + Press To Toggle Päälle/pois painamalla - + Deadzone Katvealue - + Full Boot Täysi käynnistys - + Achievement Notifications Saavutusilmoitukset - + Leaderboard Notifications Tulostauluilmoitukset - + Enable In-Game Overlays Ota pelinsisäiset peittokuvat käyttöön - + Encore Mode Uusintatila - + Spectator Mode Katselutila - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Muuntaa 4-bittisen ja 8-bittisen kuvapuskurin suorittimella grafiikkasuorittimen sijaan. - + Removes the current card from the slot. Poistaa nykyisen kortin paikasta. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Määrittää taajuuden, jolla makro kytkee painikkeet päälle ja pois (ts. automaattitulitus). - + {} Frames {} kuvaa - + No Deinterlacing Ei lomituksen poistoa - + Force 32bit Pakota 32-bittinen - + JPEG JPEG - + 0 (Disabled) 0 (ei käytössä) - + 1 (64 Max Width) 1 (64 enimmäisleveys) - + 2 (128 Max Width) 2 (128 enimmäisleveys) - + 3 (192 Max Width) 3 (192 enimmäisleveys) - + 4 (256 Max Width) 4 (256 enimmäisleveys) - + 5 (320 Max Width) 5 (320 enimmäisleveys) - + 6 (384 Max Width) 6 (384 enimmäisleveys) - + 7 (448 Max Width) 7 (448 enimmäisleveys) - + 8 (512 Max Width) 8 (512 enimmäisleveys) - + 9 (576 Max Width) 9 (576 enimmäisleveys) - + 10 (640 Max Width) 10 (640 enimmäisleveys) - + Sprites Only Vain spritet - + Sprites/Triangles Spritet/kolmiot - + Blended Sprites/Triangles Sekoitetut spritet/kolmiot - + 1 (Normal) 1 (normaali) - + 2 (Aggressive) 2 (aggressiivinen) - + Inside Target Kohteen sisällä - + Merge Targets Yhdistä kohteet - + Normal (Vertex) Normaali (kärkipiste) - + Special (Texture) Erityinen (tekstuuri) - + Special (Texture - Aggressive) Erityinen (tekstuuri - aggressiivinen) - + Align To Native Kohdista alkuperäiseen - + Half Puolikas - + Force Bilinear Pakota bilineaarinen - + Force Nearest Pakoita lähin - + Disabled (Default) Ei käytössä (oletus) - + Enabled (Sprites Only) Käytössä (vain spritet) - + Enabled (All Primitives) Käytössä (kaikki primitiivit) - + None (Default) Ei mitään (oletus) - + Sharpen Only (Internal Resolution) Vain terävöitys (sisäinen kuvatarkkuus) - + Sharpen and Resize (Display Resolution) Terävöitä ja muuta kokoa (näytön kuvatarkkuus) - + Scanline Filter Scanline-suodatin - + Diagonal Filter Viisto suodatin - + Triangular Filter Kolmikulmainen suodatin - + Wave Filter Aaltosuodatin - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Pakkaamaton - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8 Mt) - + PS2 (16MB) PS2 (16 Mt) - + PS2 (32MB) PS2 (32 Mt) - + PS2 (64MB) PS2 (64 Mt) - + PS1 PS1 - + Negative Negatiivinen - + Positive Positiivinen - + Chop/Zero (Default) Pilko/nolla (oletus) - + Game Grid Peliruudukko - + Game List Peliluettelo - + Game List Settings Peliluettelon asetukset - + Type Tyyppi - + Serial Sarjanumero - + Title Nimike - + File Title Tiedostonimi - + CRC CRC - + Time Played Peliaika - + Last Played Viimeksi pelattu - + Size Koko - + Select Disc Image Valitse levykuva - + Select Disc Drive Valitse levyasema - + Start File Käynnistä tiedosto - + Start BIOS Käynnistä BIOS - + Start Disc Käynnistä levy - + Exit Poistu - + Set Input Binding Aseta syötteen sidos - + Region Alue - + Compatibility Rating Yhteensopivuuden arvio - + Path Polku - + Disc Path Levyn polku - + Select Disc Path Valitse levyn polku - + Copy Settings Kopioi asetukset - + Clear Settings Tyhjennä asetukset - + Inhibit Screensaver Estä näytönsäästäjä - + Enable Discord Presence Ota Discord Presence käyttöön - + Pause On Start Pysäytä käynnistettäessä - + Pause On Focus Loss Pysäytä kohdistuksen hävitessä - + Pause On Menu Pysäytä valikossa - + Confirm Shutdown Vahvista sammutus - + Save State On Shutdown Tallenna tila sammuttaessa - + Use Light Theme Käytä vaalea teemaa - + Start Fullscreen Käynnistä koko näytön tilassa - + Double-Click Toggles Fullscreen Kaksoisnapsautus vaihtaa koko näytön tilaan - + Hide Cursor In Fullscreen Piilota kohdistin koko näytön tilassa - + OSD Scale Näyttöpäällyksen skaala - + Show Messages Näytä viestit - + Show Speed Näytä nopeus - + Show FPS Näytä FPS - + Show CPU Usage Näytä suorittimen käyttö - + Show GPU Usage Näytä grafiikkasuorittimen käyttö - + Show Resolution Näytä kuvatarkkuus - + Show GS Statistics Näytä GS:n tilastot - + Show Status Indicators Näytä tilaindikaattorit - + Show Settings Näytä asetukset - + Show Inputs Näytä syötteet - + Warn About Unsafe Settings Varoita epäturvallisista asetuksista - + Reset Settings Nollaa asetukset - + Change Search Directory Muuta hakukansiota - + Fast Boot Nopea käynnistys - + Output Volume Lähdön voimakkuus - + Memory Card Directory Muistikorttien kansio - + Folder Memory Card Filter Kansiomuistikorttisuodatin - + Create Luo - + Cancel Peruuta - + Load Profile Lataa profiili - + Save Profile Tallenna profiili - + Enable SDL Input Source Käytä SDL-syöttölähdettä - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense tehostettu tila - + SDL Raw Input SDL-raakasyöte - + Enable XInput Input Source Ota XInput-syöttölähde käyttöön - + Enable Console Port 1 Multitap Moniohjainsovitin konsolin portissa 1 - + Enable Console Port 2 Multitap Moniohjainsovitin konsolin portissa 2 - + Controller Port {}{} Ohjainportti {}{} - + Controller Port {} Ohjainportti {} - + Controller Type Ohjaintyyppi - + Automatic Mapping Automaattinen sidonta - + Controller Port {}{} Macros Ohjainportin {}{} makrot - + Controller Port {} Macros Ohjainportin {} makrot - + Macro Button {} Makropainike {} - + Buttons Painikkeet - + Frequency Taajuus - + Pressure Paine - + Controller Port {}{} Settings Ohjainportin {}{} asetukset - + Controller Port {} Settings Ohjainportin {} asetukset - + USB Port {} USB-portti {} - + Device Type Laitetyyppi - + Device Subtype Laitteen alatyyppi - + {} Bindings {} Sidokset - + Clear Bindings Poista sidokset - + {} Settings {} Asetukset - + Cache Directory Välimuistin kansio - + Covers Directory Kansikuvien kansio - + Snapshots Directory Kuvakaappausten kansio - + Save States Directory Tilatallennusten kansio - + Game Settings Directory Peliasetusten kansio - + Input Profile Directory Syöttöprofiilien kansio - + Cheats Directory Huijausten kansio - + Patches Directory Korjausten kansio - + Texture Replacements Directory Korvaavien tekstuurien kansio - + Video Dumping Directory Nauhoitusten kansio - + Resume Game Jatka peliä - + Toggle Frame Limit Kuvarajoitus päälle/pois - + Game Properties Pelin ominaisuudet - + Achievements Saavutukset - + Save Screenshot Tallenna kuvakaappaus - + Switch To Software Renderer Vaihda ohjelmistorenderöijään - + Switch To Hardware Renderer Vaihda laitteistorenderöijään - + Change Disc Vaihda levy - + Close Game Sulje peli - + Exit Without Saving Poistu tallentamatta - + Back To Pause Menu Takaisin taukovalikkoon - + Exit And Save State Poistu ja tallenna tila - + Leaderboards Tulostaulut - + Delete Save Poista tallennus - + Close Menu Sulje valikko - + Delete State Poista tila - + Default Boot Oletuskäynnistys - + Reset Play Time Nollaa peliaika - + Add Search Directory Lisää hakukansio - + Open in File Browser Avaa tiedostoselaimessa - + Disable Subdirectory Scanning Poista alikansioiden skannaus käytöstä - + Enable Subdirectory Scanning Ota alikansioiden skannaus käyttöön - + Remove From List Poista luettelosta - + Default View Oletusnäkymä - + Sort By Järjestele - + Sort Reversed Käänteinen järjestys - + Scan For New Games Etsi uusia pelejä - + Rescan All Games Skannaa pelit uudelleen - + Website Verkkosivu - + Support Forums Tukifoorumit - + GitHub Repository GitHub-repositorio - + License Lisenssi - + Close Sulje - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegrationia käytetään sisäänrakennetun saavutusjärjestelmän sijaan. - + Enable Achievements Ota saavutukset käyttöön - + Hardcore Mode Hardcore-tila - + Sound Effects Äänitehosteet - + Test Unofficial Achievements Testaa epävirallisia saavutuksia - + Username: {} Käyttäjätunnus: {} - + Login token generated on {} Kirjautumistunnus luotu: {} - + Logout Kirjaudu ulos - + Not Logged In Ei kirjautuneena - + Login Kirjaudu - + Game: {0} ({1}) Peli: {0} ({1}) - + Rich presence inactive or unsupported. Rikas läsnäolo epäaktiivinen tai tukematon. - + Game not loaded or no RetroAchievements available. Peliä ei ole ladattuna tai RetroAchievements-saavutuksia ei ole saatavilla. - + Card Enabled Käytä korttia - + Card Name Kortin nimi - + Eject Card Poista kortti @@ -10187,7 +10246,7 @@ Haluatko ladata tämän tilan ja jatkaa? Hash cache has used {:.2f} MB of VRAM, disabling. - Hajautusvälimuisti on käyttänyt {:.2f} Mt VRAMia, poistetaan käytöstä. + Hajautusvälimuisti on käyttänyt {:.2f} Mt VRAM-muistia, poistetaan käytöstä. @@ -10656,7 +10715,7 @@ graafista laatua, mutta se nostaa järjestelmän vaatimuksia. For SOCOM 2 HUD and Spy Hunter loading hang. - SOCOM 2:n HUD:iin ja Spy Hunterin latauksien viipymisiin. + SOCOM 2:n HUD-näyttöön ja Spy Hunterin latausten viipymisiin. @@ -11075,32 +11134,42 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois Kaikki PCSX2:n laatimat paikkaukset tälle pelille poistetaan käytöstä, koska sinulla on tunnisteettomia paikkauksia ladattuna. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Laajakuvapaikkaukset ovat tällä hetkellä <span style=" font-weight:600;">KÄYTÖSSÄ</span> yleisesti.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Lomituksenpoistopaikkaukset ovat tällä hetkellä <span style=" font-weight:600;">KÄYTÖSSÄ</span> yleisesti.</p></body></html> + + + All CRCs Kaikki CRC:t - + Reload Patches Lataa paikkaukset uudelleen - + Show Patches For All CRCs Näytä paikkaukset kaikille CRC:ille - + Checked Käytössä - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Skannaa paikkaustiedostoja kaikille pelin CRC:ille. Kun tämä on käytössä, saatavilla olevat paikkaukset pelin sarjanumerolla, mutta eri CRC-koodeilla, ladataan myös. - + There are no patches available for this game. Ei paikkauksia saatavilla tähän peliin. @@ -11514,7 +11583,7 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois unknown function - tuntematon toiminto + tuntematon funktio @@ -11576,11 +11645,11 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois - - - - - + + + + + Off (Default) Pois (oletus) @@ -11590,10 +11659,10 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois - - - - + + + + Automatic (Default) Automaattinen (oletus) @@ -11660,7 +11729,7 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilineaarinen (pehmeä) @@ -11710,7 +11779,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Top: Warning: short space constraints. Abbreviate if necessary. - Yläosa: + Ylä: @@ -11722,33 +11791,23 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Bottom: Warning: short space constraints. Abbreviate if necessary. - Alaosa: + Ala: - + Screen Offsets Näytön siirrot - + Show Overscan Näytä yliskannaus - - - Enable Widescreen Patches - Käytä laajakuvakorjauksia - - - - Enable No-Interlacing Patches - Käytä lomituksenpoistopaikkauksia - - + Anti-Blur Sumennuksenesto @@ -11759,7 +11818,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Poista lomituksen poikkeama @@ -11769,18 +11828,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kuvakaappauksen koko: - + Screen Resolution Näytön kuvatarkkuus - + Internal Resolution Sisäinen kuvatarkkuus - + PNG PNG @@ -11832,7 +11891,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilineaarinen (PS2) @@ -11879,7 +11938,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Skaalaamaton (oletus) @@ -11895,7 +11954,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Perus (suositeltu) @@ -11931,7 +11990,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Täysi (hajautusvälimuisti) @@ -11947,31 +12006,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Poista syvyyden muunnos käytöstä - + GPU Palette Conversion Grafiikkasuorittimen paletin muunnos - + Manual Hardware Renderer Fixes Manuaaliset laitteistorenderöinnin korjaukset - + Spin GPU During Readbacks Pyöritä grafiikkasuoritinta takaisinlukujen aikana - + Spin CPU During Readbacks Pyöritä suoritinta takaisinlukujen aikana @@ -11983,15 +12042,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmappaus - - + + Auto Flush Automaattinen huuhtelu @@ -12019,8 +12078,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (ei käytössä) @@ -12077,18 +12136,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Poista turvaominaisuudet käytöstä - + Preload Frame Data Esilataa kuvatiedot - + Texture Inside RT Tekstuurit renderöintikohteen sisällä @@ -12187,13 +12246,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Yhdistä sprite - + Align Sprite Kohdista sprite @@ -12207,16 +12266,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Ei lomituksen poistoa - - - Apply Widescreen Patches - Käytä laajakuvapaikkauksia - - - - Apply No-Interlacing Patches - Käytä lomituksenpoistopaikkauksia - Window Resolution (Aspect Corrected) @@ -12289,25 +12338,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Poista osittainen lähteen mitätöinti käytöstä - + Read Targets When Closing Lue kohteet suljettaessa - + Estimate Texture Region Arvioi tekstuurialue - + Disable Render Fixes Poista renderöintikorjaukset käytöstä @@ -12318,7 +12367,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Skaalaamaton palettitekstuurien piirto @@ -12377,25 +12426,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Tee tekstuurivedos - + Dump Mipmaps Tee mipmap-vedos - + Dump FMV Textures Tee FMV-tekstuurivedos - + Load Textures Lataa tekstuurit @@ -12405,6 +12454,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Alkuperäinen (10:7) + + + Apply Widescreen Patches + Käytä laajakuvapaikkauksia + + + + Apply No-Interlacing Patches + Käytä lomituksenpoistopaikkauksia + Native Scaling @@ -12422,13 +12481,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Pakota tasainen spritejen sijainti - + Precache Textures Vie tekstuurit esivälimuistiin @@ -12451,8 +12510,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Ei mitään (oletus) @@ -12473,7 +12532,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12525,7 +12584,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Varjotehostus @@ -12540,7 +12599,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontrasti: - + Saturation Kylläisyys @@ -12561,50 +12620,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators - Näytä indikaattorit + Näytä ilmaisinkuvakkeet - + Show Resolution Näytä kuvatarkkuus - + Show Inputs Näytä syötteet - + Show GPU Usage Näytä grafiikkasuorittimen käyttö - + Show Settings Näytä asetukset - + Show FPS Näytä kuvataajuus - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Poista mailbox-esitys käytöstä - + Extended Upscaling Multipliers Laajennetut skaalauskertoimet @@ -12620,13 +12679,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Näytä tilastot - + Asynchronous Texture Loading Asynkroninen tekstuurien lataus @@ -12637,13 +12696,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Näytä suorittimen käyttö - + Warn About Unsafe Settings Varoita epäturvallisista asetuksista @@ -12669,7 +12728,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Vasen (oletus) @@ -12680,43 +12739,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Oikea (oletus) - + Show Frame Times Näytä kuva-ajat - + Show PCSX2 Version Näytä PCSX2-versio - + Show Hardware Info Näytä laitetiedot - + Show Input Recording Status Näytä syötteentallennuksen tila - + Show Video Capture Status - Näytä videokaappauksen tila + Näytä videonauhoituksen tila - + Show VPS Näytä VPS @@ -12825,19 +12884,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Ohita kaksoiskuvien esitys - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12890,7 +12949,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Näytä nopeusprosentit @@ -12900,1214 +12959,1214 @@ Swap chain: see Microsoft's Terminology Portal. Poista kuvapuskurin nouto käytöstä - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Ohjelmisto - + Null Null here means that this is a graphics backend that will show nothing. Tyhjä - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Käytä yleistä asetusta [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Ei käytössä - + + Enable Widescreen Patches + Ota laajakuvapaikkaukset käyttöön + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Automaattisesti lataa ja ottaa käyttöön laajakuvapaikkaukset pelin käynnistyessä. Saattaa aiheuttaa ongelmia. + Automaattisesti lataa ja ottaa käyttöön laajakuvapaikkaukset pelin käynnistettäessä. Saattaa aiheuttaa ongelmia. + + + + Enable No-Interlacing Patches + Ota lomituksenpoistopaikkaukset käyttöön - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Automaattisesti lataa ja ottaa käyttöön lomituksenpoistopaikkaukset pelin käynnistyessä. Saattaa aiheuttaa ongelmia. + Automaattisesti lataa ja ottaa käyttöön lomituksenpoistopaikkaukset pelin käynnistettäessä. Saattaa aiheuttaa ongelmia. - + Disables interlacing offset which may reduce blurring in some situations. Poistaa lomituksen poikkeaman, mikä saattaa vähentää sumennusta joissain tapauksissa. - + Bilinear Filtering Bilineaarinen suodatus - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Soveltaa bilineaarisen jälkikäsittelysuodattimen. Pehmentää kokonaisuudessaan näytölle esitettyä kuvaa. Korjaa paikannusta pikselien väleissä. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Ottaa käyttöön PCRTC-siirrot, jotka sijoittavat näyttöä pelin käskyjen mukaan. Hyödyllinen joissakin peleissä, kuten WipEout Fusionissa sen näyttötärinätehosteeseen, mutta voi tehdä kuvasta sumean. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Näyttää yliskannauksen alueen peleissä, jotka piirtävät näytön turvallisen alueen yli. - + FMV Aspect Ratio Override FMV-kuvasuhteen ohitus - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Määrittää lomituksenpoiston menetelmän, jota käytetään emuloidun konsolin lomitetussa näytössä. Automaattisen pitäisi pystyä poistamaan lomitus oikein useimmissa peleissä, mutta jos huomaat grafiikan tärisevän, kokeile saatavilla olevia vaihtoehtoja. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Hallitse GS-sekoitusyksikön emuloinnin tarkkuutta.<br> Mitä korkeampi asetus, sitä tarkempi sekoitus emuloidaan varjostimessa, mutta myös sitä suurempi tehovaatimus vaaditaan.<br> Huomaa, että Direct3D:n sekoituskyky on rajoitetumpi verrattuna OpenGL/Vulkaniin. - + Software Rendering Threads Ohjelmistorenderöinnin säikeet - + CPU Sprite Render Size Suorittimen sprite-renderöinnin koko - + Software CLUT Render Ohjelmisto-CLUT-renderöinti - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Yrittää havaita, kun peli piirtää oman väripaletin, ja renderöi sen sitten grafiikkasuorittimella erityiskäsittelyllä. - + This option disables game-specific render fixes. Poistaa käytöstä pelikohtaiset renderöintikorjaukset. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Oletusarvona tekstuurivälimuisti käsittelee osittaisia mitätöintejä. Valitettavasti se on erittäin raskasta käsitellä suorittimella. Tämä niksi korvaa osittaisen mitätöinnin täydellä tekstuurin poistolla vähentääkseen suorittimen kuormaa. Auttaa Snowblind-moottorin peleissä. - + Framebuffer Conversion Kuvapuskurin muunnos - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Muuntaa 4-bittisen ja 8-bittisen kuvapuskurin suorittimella grafiikkasuorittimen sijaan. Auttaa Harry Potter ja Stuntman -peleissä. Suuri vaikutus suorituskykyyn. - - + + Disabled Ei käytössä - - Remove Unsupported Settings - Poista tukemattomat asetukset - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Sinulla on tällä hetkellä <strong>Käytä laajakuvapaikkauksia</strong> tai <strong>Käytä lomituksenpoistopaikkauksia</strong> -asetukset käytössä tässä pelissä.<br><br>Emme enää tue näitä asetuksia, sen sijaan <strong>sinun tulisi siirtyä "Paikkaukset" -osioon ja ottaa käyttöön varta vasten haluamasi paikkaukset.</strong><br><br>Haluatko poistaa nämä asetukset pelin kokoonpanostasi nyt? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Ohittaa full motion videon (FMV) kuvasuhteen. Jos pois päältä, FMV-kuvasuhde vastaa yleisen kuvasuhde-asetuksen arvoa. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Ottaa käyttöön mipmappauksen, jota jotkut pelit vaativat renderöidäkseen oikein. Mipmappauksessa käytetään asteittain epätarkempia tekstuurivariantteja mitä kauempana ne ovat, mikä vähentää prosessoinnin kuormitusta ja visuaalisia virheitä. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Muuttaa tekstuurien kartoittamisessa pintoihin käytettävää suodatusalgoritmia.<br> Lähin: Ei yritä sekoittaa värejä.<br> Bilineaarinen (pakotettu): Sekoittaa värejä yhteen poistaakseen teräviä reunoja eriväristen pikselien välillä, vaikka peli määräisi PS2:ta toisin.<br> Bilineaarinen (PS2): Soveltaa suodatusta kaikkiin pintoihin, jotka peli määrää PS2:ta suodattamaan.<br> Bilineaarinen (pakotettu, paitsi spritet): Soveltaa suodatusta kaikkiin pintoihin paitsi spriteille, vaikka peli määräisi PS2:ta toisin. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Vähentää suurten tekstuurien sumentumista pienissä, jyrkkäkulmaisissa pinnoissa väriotoksilla kahdesta lähimmästä mipmapista. Vaatii mipmappauksen olevan 'päällä'.<br> Pois: Poistaa ominaisuuden käytöstä.<br> Trilineaarinen (PS2): Soveltaa trilineaarisen suodatuksen kaikkiin pintoihin, joihin peli määrää PS2:ta soveltamaan.<br> Trilineaarinen (pakotettu): Soveltaa trilineaarisen suodatuksen kaikkiin pintoihin huolimatta pelin määräyksistä PS2:lle. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Vähentää värien raidoittumista ja parantaa havaittua värisyvyyttä.<br> Pois: Poistaa ditheröinnin.<br> Skaalattu: Skaalaustietoinen / korkein dither-vaikutus<br> Skaalaamaton: Natiivi ditheröinti / alhaisin dither-vaikutus, ei suurenna neliöiden kokoa skaalattaessa.<br> Pakota 32-bittinen: Kohtelee kaikkia piirtoja kuin ne olisivat 32-bittisiä välttääkseen raidoittumista ja ditheröintiä. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Lähetää hyödytöntä työkuormaa suorittimelle takaisinlukujen aikana, jotta se ei menisi virransäästötilaan. Voi parantaa suorituskykyä takaisinlukujen aikana, mutta kuluttaa huomattavasti enemmän virtaa. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Lähetää hyödytöntä työkuormaa grafiikkasuorittimelle takaisinlukujen aikana, jotta se ei menisi virransäästötilaan. Voi parantaa suorituskykyä takaisinlukujen aikana, mutta kuluttaa huomattavasti enemmän virtaa. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Renderöintisäikeiden määrä: 0 yksittäiselle säikeelle, 2 tai enemmän monisäikeelle (1 on vianjäljitykseen). 2-4 säiettä on suositeltua, yksikin tätä enemmän on todennäköisesti hitaampi kuin nopeampi. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Poistaa syvyyspuskurien tuen käytöstä tekstuurivälimuistissa. Todennäköisesti luo erilaisia häiriöitä ja hyödyllinen vain virheenjäljityksessä. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Sallii tekstuurivälimuistin uudelleenkäyttää edellisen kuvapuskurin sisäosaa syöttötekstuurina. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Huuhtelee kaikki kohteet tekstuurivälimuistissa takaisin paikalliseen muistiin suljettaessa. Voi ehkäistä grafiikan katoamista luotaessa tilatallennusta tai vaihdettaessa renderöijää, mutta voi myös aiheuttaa graafista vioittumista. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Yrittää pienentää tekstuurin kokoa, kun pelit eivät itse aseta sitä (esim. Snowblind-pelit). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Korjaa skaalausongelmia (pystysuoria viivoja) Namcon peleissä, kuten Ace Combat, Tekken, Soul Calibur, jne. - + Dumps replaceable textures to disk. Will reduce performance. Vedostaa korvattavat tekstuurit levylle. Heikentää suorituskykyä. - + Includes mipmaps when dumping textures. Sisällyttää mipmapit mukaan tekstuurivedoksissa. - + Allows texture dumping when FMVs are active. You should not enable this. Sallii tekstuurien vedostuksen FMV:iden ollessa aktiivisia. Tätä ei pitäisi ottaa käyttöön. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Lataa korvaavat tekstuurit työläissäikeelle vähentäen mikrotärinää, kun korvaukset ovat käytössä. - + Loads replacement textures where available and user-provided. Lataa korvaavat tekstuurit, jos ne ovat saatavilla ja käyttäjän toimittamia. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Esilataa kaikki korvaavat tekstuurit muistiin. Ei tarvita asynkronisella latauksella. - + Enables FidelityFX Contrast Adaptive Sharpening. Ottaa FidelityFX:n kontrastimukautuvan terävöityksen käyttöön. - + Determines the intensity the sharpening effect in CAS post-processing. Määrittää CAS-jälkikäsittelyn terävöittämisen voimakkuuden. - + Adjusts brightness. 50 is normal. Säätää kirkkautta. 50 on normaali. - + Adjusts contrast. 50 is normal. Säätää kontrastia. 50 on normaali. - + Adjusts saturation. 50 is normal. Säätää värikylläisyyttä. 50 on normaali. - + Scales the size of the onscreen OSD from 50% to 500%. Muuttaa näyttöpäällyksen kokoa väliltä 50 % - 500 %. - + OSD Messages Position Viestien sijainti näyttöpäällyksessä - + OSD Statistics Position Tilastojen sijainti näyttöpäällyksessä - + Shows a variety of on-screen performance data points as selected by the user. Näyttää käyttäjän valitsemia suorituskyvyn datapisteitä näytöllä. - + Shows the vsync rate of the emulator in the top-right corner of the display. Näyttää emulattorin pystytahdistuksen taajuuden näytön oikeassa yläkulmassa. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Näyttää näyttöpäällyksen kuvakemerkit emulointitiloissa, kuten pysäytyksessä, turbo-tilassa, pikakelauksessa ja hidastuksessa. - + Displays various settings and the current values of those settings, useful for debugging. Näyttää useat asetukset ja niiden nykyiset arvot. Hyödyllinen virheenjäljitystä varten. - + Displays a graph showing the average frametimes. Näyttää kaavion, joka esittää keskimääräiset kuva-ajat. - + Shows the current system hardware information on the OSD. Näyttää nykyisen järjestelmän laitteistotiedot näyttöpäällyksessä. - + Video Codec Videokoodekki - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Määrittää, mitä videokoodekkia käytetään videonauhoituksessa. <b>Jos olet epävarma, jätä se oletusarvoon.<b> - + Video Format Videomuoto - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - Määrittää videokaappauksessa käytettävän videomuodon. Jos koodekki sattumalta ei tue muotoa, ensimmäistä saatavilla olevaa muotoa käytetään. <b>Jos olet epävarma, jätä se oletusarvoon.<b> + Määrittää videonauhoituksessa käytettävän videomuodon. Jos koodekki ei tue muotoa, ensimmäistä saatavilla olevaa muotoa käytetään. <b>Jos olet epävarma, jätä se oletusarvoon.<b> - + Video Bitrate Videon bittinopeus - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Asettaa videossa käytettävän bittinopeuden. Suurempi bittinopeus tuottaa paremman videon laadun, mutta suuremmalla tiedostokoolla. - + Automatic Resolution Automaattinen kuvatarkkuus - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - Kun tämä on valittuna, videokaappauksen kuvatarkkuus seuraa käynnissä olevan pelin sisäistä kuvatarkkuutta.<br><br><b>Ole varovainen käyttäessäsi tätä asetusta, varsinkin skaalattuasi, koska suurempi sisäinen kuvatarkkuus (yli 4x) voi johtaa erittäin suureen videokaappaukseen, ja voi aiheuttaa järjestelmän ylikuormitusta.</b> + Kun tämä on valittuna, videonauhoituksen kuvatarkkuus seuraa käynnissä olevan pelin sisäistä kuvatarkkuutta.<br><br><b>Ole varovainen käyttäessäsi tätä asetusta, varsinkin skaalattuasi, koska suurempi sisäinen kuvatarkkuus (yli 4x) voi johtaa erittäin suureen videokaappaukseen, ja voi aiheuttaa järjestelmän ylikuormitusta.</b> - + Enable Extra Video Arguments Ota videon lisäkomennot käyttöön - + Allows you to pass arguments to the selected video codec. Antaa sinun syöttää komentoja valittuun videokoodekkiin. - + Extra Video Arguments Videon lisäkomennot - + Audio Codec Äänikoodekki - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Määrittää, mitä äänikoodekkia käytetään videonauhoituksessa. <b>Jos olet epävarma, jätä se oletusarvoon.<b> - + Audio Bitrate Äänen bittinopeus - + Enable Extra Audio Arguments Ota äänen lisäkomennot käyttöön - + Allows you to pass arguments to the selected audio codec. Antaa sinun syöttää komentoja valittuun äänikoodekkiin. - + Extra Audio Arguments Äänen lisäkomennot - + Allow Exclusive Fullscreen Salli yksinomainen koko näytön tila - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Ohittaa ajurin heuristiikat yksinomaisen koko näyön tilan tai suoran käännön/skannauksen käyttöönottoon.<br>Yksinomaisen koko näytön tilan poistaminen käytöstä voi mahdollistaa sujuvamman tehtävien vaihdon ja näyttöpäällykset, mutta se lisää syöttöviivettä. - + 1.25x Native (~450px) 1,25x alkuperäinen (~450 px) - + 1.5x Native (~540px) 1,5x alkuperäinen (~540 px) - + 1.75x Native (~630px) 1,75x alkuperäinen (~630 px) - + 2x Native (~720px/HD) 2x alkuperäinen (~720 px/HD) - + 2.5x Native (~900px/HD+) 2,5x alkuperäinen (~900 px/HD+) - + 3x Native (~1080px/FHD) 3x alkuperäinen (~1080 px/FHD) - + 3.5x Native (~1260px) 3,5x alkuperäinen (~1260 px) - + 4x Native (~1440px/QHD) 4x alkuperäinen (~1440 px/QHD) - + 5x Native (~1800px/QHD+) 5x alkuperäinen (~1800 px/QHD+) - + 6x Native (~2160px/4K UHD) 6x alkuperäinen (~2160 px/4K UHD) - + 7x Native (~2520px) 7x alkuperäinen (~2520 px) - + 8x Native (~2880px/5K UHD) 8x alkuperäinen (~2880 px/5K UHD) - + 9x Native (~3240px) 9x alkuperäinen (~3240 px) - + 10x Native (~3600px/6K UHD) 10x alkuperäinen (~3600 px/6K UHD) - + 11x Native (~3960px) 11x alkuperäinen (~3960 px) - + 12x Native (~4320px/8K UHD) 12x alkuperäinen (~4320 px/8K UHD) - + 13x Native (~4680px) 13x alkuperäinen (~4680 px) - + 14x Native (~5040px) 14x alkuperäinen (~5040 px) - + 15x Native (~5400px) 15x alkuperäinen (~5400 px) - + 16x Native (~5760px) 16x alkuperäinen (~5760 px) - + 17x Native (~6120px) 17x alkuperäinen (~6120 px) - + 18x Native (~6480px/12K UHD) 18x alkuperäinen (~6480 px/12K UHD) - + 19x Native (~6840px) 19x alkuperäinen (~6840 px) - + 20x Native (~7200px) 20x alkuperäinen (~7200 px) - + 21x Native (~7560px) 21x alkuperäinen (~7560 px) - + 22x Native (~7920px) 22x alkuperäinen (~7920 px) - + 23x Native (~8280px) 23x alkuperäinen (~8280 px) - + 24x Native (~8640px/16K UHD) 24x alkuperäinen (~8640 px/16K UHD) - + 25x Native (~9000px) 25x alkuperäinen (~9000 px) - - + + %1x Native %1x alkuperäinen - - - - - - - - - + + + + + + + + + Checked Käytössä - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Ottaa käyttöön sisäiset sumennuksenestoniksit. Vähemmän täsmällinen PS2-renderöintiin nähden, mutta tekee useista peleistä vähemmän sumeita. - + Integer Scaling Kokonaislukuskaalaus - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Lisää täytettä näyttöalueelle varmistukseksi, että isännän ja konsolin pikselien välinen suhde on kokonaisluku. Voi saada aikaan terävämmän kuvan joissakin 2D-peleissä. - + Aspect Ratio Kuvasuhde - + Auto Standard (4:3/3:2 Progressive) Automaattinen vakio (4:3/3:2 progressiivinen) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Määrittää kuvasuhteen, millä konsolin lähtö esitetään näytöllä. Oletusarvo on Automaattinen vakio (4:3/3:2 progressiviinen), joka säätää kuvasuhdetta automaattisesti vastaamaan, miten peli näkyisi sen aikakauden tyypillisessä televisiossa. - + Deinterlacing Lomituksen poisto - + Screenshot Size Kuvakaappauksen koko - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Määrittää kuvatarkkuuden, jolla kuvakaappaukset tallennetaan. Sisäiset kuvatarkkuudet säilyttävät enemmän yksityiskohtia tiedostokoon kustannuksella. - + Screenshot Format Kuvakaappauksen muoto - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Valitsee tiedostomuodon, jota käytetään kuvakaappausten tallentamiseen. JPEG tuottaa pienempiä tiedostoja, mutta menettää yksityiskohtia. - + Screenshot Quality Kuvakaappauksen laatu - - + + 50% 50 % - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Määrittää kuvakaappausten pakkauslaadun. Korkeammat arvot säilyttävät JPEG:issä enemmän yksityiskohtia ja pienentävät PNG:n tiedostokokoa. - - + + 100% 100 % - + Vertical Stretch Pystysuora venytys - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Venyttää (&lt; 100 %) tai kasaa (&gt; 100 %) näytön pystysuoran komponentin. - + Fullscreen Mode Koko näytön tila - - - + + + Borderless Fullscreen Reunaton koko näyttö - + Chooses the fullscreen resolution and frequency. Valitsee koko näytön kuvatarkkuuden ja -taajuuden. - + Left Vasen - - - - + + + + 0px 0 px - + Changes the number of pixels cropped from the left side of the display. Muuttaa näytön vasemmasta reunasta rajattujen pikseleiden määrää. - + Top - Yläosa + Ylä - + Changes the number of pixels cropped from the top of the display. Muuttaa näytön yläreunasta rajattujen pikseleiden määrää. - + Right Oikea - + Changes the number of pixels cropped from the right side of the display. Muuttaa näytön oikeasta reunasta rajattujen pikseleiden määrää. - + Bottom - Alaosa + Ala - + Changes the number of pixels cropped from the bottom of the display. Muuttaa näytön alareunasta rajattujen pikseleiden määrää. - - + + Native (PS2) (Default) Alkuperäinen (PS2) (oletus) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Säätää kuvatarkkuutta, jolla pelit renderöidään. Korkeat kuvatarkkuudet voivat vaikuttaa suorituskykyyn vanhemmissa tai heikommissa grafiikkasuorittimissa.<br>Alkuperäisestä poikkeavat kuvatarkkuudet saattavat aiheuttaa pieniä graafisia virheitä joissakin peleissä.<br>FMV:iden kuvatarkkuus pysyy muuttumattomana, koska videotiedostot ovat aina esirenderöityjä. - + Texture Filtering Tekstuurien suodatus - + Trilinear Filtering Trilineaarinen suodatus - + Anisotropic Filtering Anisotrooppinen suodatus - + Reduces texture aliasing at extreme viewing angles. Vähentää tekstuurien aliasointia äärimmäisissä katselukulmissa. - + Dithering Dithering - + Blending Accuracy Sekoituksen tarkkuus - + Texture Preloading Tekstuurien esilataus - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Lataa kokonaisia tekstuureja kerralla pienten kappaleiden sijaan välttäen tarpeettomia latauksia mahdollisuuksien mukaan. Parantaa suorituskykyä useimmissa peleissä, mutta voi tehdä muutamista hitaampia. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Kun tämä on käytössä, grafiikkasuoritin muuntaa värikarttatekstuurit, muuten sen tekee suoritin. Kompromissi grafiikkasuorittimen ja suorittimen välillä. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Antaa sinun muuttaa renderöinti- ja skaalauskorjauksia peleihisi. Jos olet ottanut tämän käyttöön, AUTOMAATTISET ASETUKSET POISTETAAN KÄYTÖSTÄ, ja voit palauttaa ne käyttöön poistamalla tämän vaihtoehdon käytöstä. - + 2 threads 2 säiettä - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Pakottaa primitiivien huuhtelun, kun kuvapuskuri on myös syöttötekstuuri. Korjaa eräitä käsittelytehosteita, kuten varjoja Jak-sarjassa ja radiositeettia GTA:SA:ssa. - + Enables mipmapping, which some games require to render correctly. Ottaa käyttöön mipmappauksen, jota jotkut pelit vaativat renderöidäkseen oikein. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. Maksimi tavoitemuistinleveys, joka sallii suorittimen sprite-renderöinnin aktivoinnin. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Yrittää havaita, kun peli piirtää oman väripaletin, ja renderöi sen sitten ohjelmistossa grafiikkasuorittimen sijaan. - + GPU Target CLUT Grafiikkasuorittimen kohde-CLUT - + Skipdraw Range Start Piirron ohitusvälin alku - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Ohittaa täysin pintojen piirron vasempaan laatikkoon määritetystä pinnasta oikeanpuoleiseen asti. - + Skipdraw Range End Piirron ohitusvälin loppu - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Poistaa käytöstä useita turvaominaisuuksia. Estää tarkan Skaalaamaton piste ja viiva -renderöinnin, mikä voi auttaa Xenosaga-peleissä. Estää tarkan GS-muistin tyhjennyksen suorittimella, ja antaa sen grafiikkasuorittimen käsiteltäväksi, mikä voi auttaa Kingdom Hearts -peleissä. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Lataa GS-tietoja uutta kuvaa renderöidessä joidenkin tehosteiden tarkkaan tuottoon. - + Half Pixel Offset Puolen pikselin siirto - + Might fix some misaligned fog, bloom, or blend effect. Saattaa korjata joitain väärin kohdistettuja sumu-, hehku- tai sekoitustehosteita. - + Round Sprite Pyöristä sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Korjaa 2D-sprite-tekstuurien otannan skaalauksessa. Korjaa spritejen viivoja skaalauksessa peleissä kuten Ar tonelico. Puolikas-vaihtoehto on litteille spriteille, Täysi on kaikille spriteille. - + Texture Offsets X Tekstuurien X-siirto - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Poikkeamat ST/UV-tekstuurikoordinaateille. Korjaa joitain tekstuurivirheitä ja saattaa myös korjata joidenkin jälkikäsittelyjen linjausta. - + Texture Offsets Y Tekstuurien Y-siirto - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Laskee GS:n tarkkuutta pikselien välisten rakojen välttämiseen skaalauksessa. Korjaa tekstin Wild Arms -peleissä. - + Bilinear Upscale Bilineaarinen skaalaus - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Pehmentää bilineaarisesti suodatettavia tekstuureja skaalauksessa. Esim. Braven auringonloiste. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Korvaa useiden päällekkäisten spritejen jälkikäsittelyn yhdellä isolla spritellä. Vähentää monenlaisia skaalausviivoja. - + Force palette texture draws to render at native resolution. Pakottaa palettitekstuurien piirtojen renderöinnin alkuperäisessä kuvatarkkuudessa. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Kontrastimukautuva terävöitys - + Sharpness Terävyys - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Mahdollistaa värikylläisyyden, kontrastin ja kirkkauden säädön. Oletusarvot ovat 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Soveltaa FXAA-antialiasointialgoritmia parantamaan pelien visuaalista laatua. - + Brightness Kirkkaus - - - + + + 50 50 - + Contrast Kontrasti - + TV Shader TV-varjostin - + Applies a shader which replicates the visual effects of different styles of television set. Soveltaa käyttöön varjostimen, joka voi esittää erityylisten televisioiden visuaalisia vaikutuksia. - + OSD Scale Näyttöpäällyksen skaala - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Näyttää ruudulla viestit tapahtumille, kuten tilatallennuksia luodessa/ladattaessa, ottaessa kuvakaappauksia jne. - + Shows the internal frame rate of the game in the top-right corner of the display. Näyttää pelin sisäisen kuvataajuuden näytön oikeassa yläkulmassa. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Näyttää järjestelmän nykyisen emulointinopeuden näytön oikeassa yläkulmassa prosentteina. - + Shows the resolution of the game in the top-right corner of the display. Näyttää pelin kuvatarkkuuden näytön oikeassa yläkulmassa. - + Shows host's CPU utilization. Näyttää isännän suorittimen käytön. - + Shows host's GPU utilization. Näyttää isännän grafiikkasuorittimen käytön. - + Shows counters for internal graphical utilization, useful for debugging. Näyttää sisäisen graafisen käytön laskurit, hyödyllinen vianmäärityksessä. - + Shows the current controller state of the system in the bottom-left corner of the display. Näyttää järjestelmän nykyisen ohjaimen tilan näytön vasemmassa alakulmassa. - + Shows the current PCSX2 version on the top-right corner of the display. Näyttää nykyisen PCSX2-version näytön oikeassa yläkulmassa. - + Shows the currently active video capture status. - Näyttää tällä hetkellä aktiivisen videokaappauksen tilan. + Näyttää aktiivisen videonauhoituksen tilan. - + Shows the currently active input recording status. Näyttää tällä hetkellä aktiivisen syötteentallennuksen tilan. - + Displays warnings when settings are enabled which may break games. Näyttää varoituksia, kun päällä on asetuksia, jotka saattavat rikkoa pelejä. - - + + Leave It Blank Jätä tyhjäksi - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Valittuun videokoodekkiin syötettävät parametrit.<br><b>Käytä '=' erottaaksesi tunnuksen arvosta ja ':' erottaaksesi kaksi paria toisistaan.</b><br>Esimerkiksi: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Asettaa äänessä käytettävän bittinopeuden. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Valittuun äänikoodekkiin syötettävät parametrit.<br><b>Käytä '=' erottaaksesi tunnuksen arvosta ja ':' erottaaksesi kaksi paria toisistaan.</b><br>Esimerkiksi: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS-vedoksen pakkaus - + Change the compression algorithm used when creating a GS dump. Valitsee GS-vedosta luodessa käytettävän pakkausalgoritmin. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Käyttää BLIT-esitysmallia kääntämisen sijaan Direct3D 11 -renderöijää käytettäessä. Johtaa yleensä hitaampaan suorituskykyyn, mutta saattaa olla tarpeen joissakin suoratoistosovelluksissa tai kuvataajuuksien rajoituksen poistoon joillakin järjestelmillä. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Havaitsee 25/30 FPS:n peleissä esitetyt seisontakuvat ja ohittaa ne. Kuva yhä renderöidään, mutta se tarkoittaa vain sitä, että grafiikkasuorittimella on enemmän aikaa suorittaa se (kyseessä ei ole kuvanohitus). Voi tasoittaa kuva-aikojen epävakaisuutta suorittimen/grafiikkasuorittimen ollessa lähes maksimaalisessa käytössä, mutta tekee kuvanrytmityksestä epävakaamman ja lisää mahdollisesti syöttöviivettä. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Näyttää enemmän hyvin korkeita skaalauskertoimia, riippuvaisia grafiikkasuorittimen toimintakyvystä. - + Enable Debug Device Käytä virheenjäljityslaitetta - + Enables API-level validation of graphics commands. Sallii API-tason vahvistuksen grafiikkakomentoihin. - + GS Download Mode GS:n lataustila - + Accurate Tarkka - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Ohittaa GS-säikeen ja isäntägrafiikkasuorittimen synkronoinnin GS:n latauksia varten. Voi johtaa suureen nopeutukseen hitaammilla järjestelmillä, mutta monien grafiikkavirheiden kustannuksella. Jos pelit ovat rikki ja sinulla on tämä asetus käytössä, poista se käytöstä ensin. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Oletus - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Pakottaa FIFO:n käytön mailbox-esityksen sijasta, eli kaksinkertainen puskurointi kolminkertaisen sijasta. Yleensä tuloksena on huonompi kuvanrytmitys. @@ -14115,7 +14174,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Oletus @@ -14164,7 +14223,7 @@ Swap chain: see Microsoft's Terminology Portal. Toggle Software Rendering - Vaihda ohjelmistorenderöintiin + Ohjelmistorenderöinti päälle/pois @@ -14332,254 +14391,254 @@ Swap chain: see Microsoft's Terminology Portal. Tilatallennusta ei löytynyt paikasta {}. - - - + + - - - - + + + + - + + System Järjestelmä - + Open Pause Menu Avaa taukovalikko - + Open Achievements List Avaa saavutusluettelo - + Open Leaderboards List Avaa tulostaululuettelo - + Toggle Pause Pysäytä/jatka - + Toggle Fullscreen Vaihda näyttötila - + Toggle Frame Limit Kuvarajoitus päälle/pois - + Toggle Turbo / Fast Forward Pikakelaustila päälle/pois - + Toggle Slow Motion Hidastustila päälle/pois - + Turbo / Fast Forward (Hold) Pikakelaus (pidä pohjassa) - + Increase Target Speed Lisää kohdenopeutta - + Decrease Target Speed Vähennä kohdenopeutta - + Increase Volume Lisää äänenvoimakkuutta - + Decrease Volume Vähennä äänenvoimakkuutta - + Toggle Mute Mykistys päälle/pois - + Frame Advance Seuraava kuva - + Shut Down Virtual Machine Sammuta virtuaalikone - + Reset Virtual Machine Nollaa virtuaalikone - + Toggle Input Recording Mode Vaihda syötteentallennuksen tilaa - - + + Save States Tilatallennukset - + Select Previous Save Slot Valitse edellinen tallennuspaikka - + Select Next Save Slot Valitse seuraava tallennuspaikka - + Save State To Selected Slot Tallenna tila valittuun paikkaan - + Load State From Selected Slot Lataa tila valitusta paikasta - + Save State and Select Next Slot Tallenna tila ja valitse seuraava paikka - + Select Next Slot and Save State Valitse seuraava paikka ja tallenna tila - + Save State To Slot 1 Tallenna tila paikkaan 1 - + Load State From Slot 1 Lataa tila paikasta 1 - + Save State To Slot 2 Tallenna tila paikkaan 2 - + Load State From Slot 2 Lataa tila paikasta 2 - + Save State To Slot 3 Tallenna tila paikkaan 3 - + Load State From Slot 3 Lataa tila paikasta 3 - + Save State To Slot 4 Tallenna tila paikkaan 4 - + Load State From Slot 4 Lataa tila paikasta 4 - + Save State To Slot 5 Tallenna tila paikkaan 5 - + Load State From Slot 5 Lataa tila paikasta 5 - + Save State To Slot 6 Tallenna tila paikkaan 6 - + Load State From Slot 6 Lataa tila paikasta 6 - + Save State To Slot 7 Tallenna tila paikkaan 7 - + Load State From Slot 7 Lataa tila paikasta 7 - + Save State To Slot 8 Tallenna tila paikkaan 8 - + Load State From Slot 8 Lataa tila paikasta 8 - + Save State To Slot 9 Tallenna tila paikkaan 9 - + Load State From Slot 9 Lataa tila paikasta 9 - + Save State To Slot 10 Tallenna tila paikkaan 10 - + Load State From Slot 10 Lataa tila paikasta 10 @@ -14678,7 +14737,7 @@ Swap chain: see Microsoft's Terminology Portal. Bindings for Controller0/ButtonCircle - Bindings for Controller0/ButtonCircle + Sidonnat kohteeseen Controller0/ButtonCircle @@ -14832,7 +14891,7 @@ Poista sidos napsauttamalla hiiren kakkospainikkeella Input Recording Viewer - Syötetallennekatselija + Syötetallennesoitin @@ -14972,7 +15031,7 @@ Poista sidos napsauttamalla hiiren kakkospainikkeella Opening Recording Failed - Tallennuksen avaus epäonnistui + Tallenteen avaus epäonnistui @@ -15457,594 +15516,608 @@ Poista sidos napsauttamalla hiiren kakkospainikkeella &Järjestelmä - - - + + Change Disc Vaihda levy - - + Load State Lataa tila - - Save State - Tallenna tila - - - + S&ettings &Asetukset - + &Help &Ohje - + &Debug &Virheenjäljitys - - Switch Renderer - Vaihda renderöijää - - - + &View &Näkymä - + &Window Size &Ikkunan koko - + &Tools &Työkalut - - Input Recording - Syötteentallennus - - - + Toolbar Työkalupalkki - + Start &File... Käynnistä &tiedosto... - - Start &Disc... - Käynnistä &levy... - - - + Start &BIOS Käynnistä &BIOS - + &Scan For New Games &Etsi uusia pelejä - + &Rescan All Games &Skannaa pelit uudelleen - + Shut &Down &Sammuta - + Shut Down &Without Saving Sammuta &tallentamatta - + &Reset &Nollaa - + &Pause &Pysäytä - + E&xit &Sulje - + &BIOS &BIOS - - Emulation - Emulaatio - - - + &Controllers &Ohjaimet - + &Hotkeys Pika&näppäimet - + &Graphics &Grafiikka - - A&chievements - &Saavutukset - - - + &Post-Processing Settings... &Jälkikäsittelyasetukset... - - Fullscreen - Koko näyttö - - - + Resolution Scale Kuvatarkkuuden skaala - + &GitHub Repository... &GitHub repository... - + Support &Forums... &Tukifoorumit... - + &Discord Server... &Discord-palvelin... - + Check for &Updates... Tarkista &päivitykset... - + About &Qt... Tietoja &Qt:stä... - + &About PCSX2... &Tietoja PCSX2:sta... - + Fullscreen In Toolbar Koko näyttö - + Change Disc... In Toolbar Vaihda levy... - + &Audio &Ääni - - Game List - Peliluettelo - - - - Interface - Käyttöliittymä + + Global State + Yleinen tila - - Add Game Directory... - Lisää pelikansio... + + &Screenshot + &Kuvakaappaus - - &Settings - &Asetukset + + Start File + In Toolbar + Käynnistä tiedosto - - From File... - Tiedostosta... + + &Change Disc + &Vaihda levy - - From Device... - Laitteesta... + + &Load State + &Lataa tila - - From Game List... - Peliluettelosta... + + Sa&ve State + &Tallenna tila - - Remove Disc - Poista levy asemasta + + Setti&ngs + &Asetukset - - Global State - Yleinen tila + + &Switch Renderer + Vaihda &renderöijää - - &Screenshot - &Kuvakaappaus + + &Input Recording + &Syötteentallennus - - Start File - In Toolbar - Käynnistä tiedosto + + Start D&isc... + &Käynnistä levy... - + Start Disc In Toolbar Käynnistä levy - + Start BIOS In Toolbar Käynnistä BIOS - + Shut Down In Toolbar Sammuta - + Reset In Toolbar Nollaa - + Pause In Toolbar Pysäytä - + Load State In Toolbar Lataa tila - + Save State In Toolbar Tallenna tila - + + &Emulation + &Emulaatio + + + Controllers In Toolbar Ohjaimet - + + Achie&vements + Saa&vutukset + + + + &Fullscreen + &Koko näyttö + + + + &Interface + &Käyttöliittymä + + + + Add Game &Directory... + Lisää &pelikansio... + + + Settings In Toolbar Asetukset - + + &From File... + &Tiedostosta... + + + + From &Device... + &Laitteesta... + + + + From &Game List... + &Peliluettelosta... + + + + &Remove Disc + &Poista levy asemasta + + + Screenshot In Toolbar Kuvakaappaus - + &Memory Cards &Muistikortit - + &Network && HDD &Verkko ja kiintolevy - + &Folders &Kansiot - + &Toolbar &Työkalupalkki - - Lock Toolbar - Lukitse työkalupalkki + + Show Titl&es (Grid View) + Näytä &otsikot (ruudukkonäkymä) - - &Status Bar - &Tilapalkki + + &Open Data Directory... + &Avaa tietokansio... - - Verbose Status - Yksityiskohtainen tila + + &Toggle Software Rendering + &Ohjelmistorenderöinti päälle/pois - - Game &List - Peli&luettelo + + &Open Debugger + Avaa &virheenjäljitin - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Järjestelmän &näkymä + + &Reload Cheats/Patches + &Päivitä huijaukset/paikkaukset - - Game &Properties - Pelin &ominaisuudet + + E&nable System Console + Näytä &järjestelmäkonsoli - - Game &Grid - Peliruudukko + + Enable &Debug Console + Näytä &virheenjäljityskonsoli - - Show Titles (Grid View) - Näytä otsikot (ruudukkonäkymä) + + Enable &Log Window + Näytä &loki-ikkuna - - Zoom &In (Grid View) - &Suurenna (ruudukkonäkymä) + + Enable &Verbose Logging + &Yksityiskohtaiset lokit - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Näytä &EE-lokikonsoli - - Zoom &Out (Grid View) - &Pienennä (ruudukkonäkymä) + + Enable &IOP Console Logging + Näytä &IOP-lokikonsoli - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Tallenna yksikuvainen &GS-vedos - - Refresh &Covers (Grid View) - Päivitä &kansikuvat (ruudukkonäkymä) + + &New + This section refers to the Input Recording submenu. + &Uusi - - Open Memory Card Directory... - Avaa muistikorttikansio... + + &Play + This section refers to the Input Recording submenu. + &Toista - - Open Data Directory... - Avaa datakansio... + + &Stop + This section refers to the Input Recording submenu. + &Pysäytä - - Toggle Software Rendering - Vaihda ohjelmistorenderöintiin + + &Controller Logs + &Ohjainlokit - - Open Debugger - Avaa virheenjäljitin + + &Input Recording Logs + &Syötteentallennuslokit - - Reload Cheats/Patches - Lataa huijaukset/paikkaukset uudelleen + + Enable &CDVD Read Logging + &CDVD-lukujen lokitus - - Enable System Console - Käytä järjestelmäkonsolia + + Save CDVD &Block Dump + Tallenna CDVD-&lohkovedos - - Enable Debug Console - Käytä vianjäljityskonsolia + + &Enable Log Timestamps + &Näytä aikaleimat lokissa - - Enable Log Window - Käytä loki-ikkunaa + + Start Big Picture &Mode + Käynnistä &televisiotila - - Enable Verbose Logging - Käytä yksityiskohtaista lokitusta + + &Cover Downloader... + &Kansikuvien lataaja... - - Enable EE Console Logging - Käytä EE-konsolilokitusta + + &Show Advanced Settings + Näytä &lisäasetukset - - Enable IOP Console Logging - Käytä IOP-konsolilokitusta + + &Recording Viewer + &Tallennesoitin - - Save Single Frame GS Dump - Tallenna yksikuvainen GS-vedos + + &Video Capture + &Videonauhoitus - - New - This section refers to the Input Recording submenu. - Uusi + + &Edit Cheats... + Muokkaa &huijauksia... - - Play - This section refers to the Input Recording submenu. - Toista + + Edit &Patches... + Muokkaa &paikkauksia... - - Stop - This section refers to the Input Recording submenu. - Pysäytä + + &Status Bar + &Tilapalkki - - Settings - This section refers to the Input Recording submenu. - Asetukset + + + Game &List + Peli&luettelo - - - Input Recording Logs - Syötteentallennuslokit + + Loc&k Toolbar + &Lukitse työkalupalkki - - Controller Logs - Ohjainlokit + + &Verbose Status + &Yksityiskohtainen tila - - Enable &File Logging - Käytä tiedostolokitusta + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Järjestelmän &näkymä - - Enable CDVD Read Logging - Käytä CDVD-lukulokitusta + + Game &Properties + Pelin &ominaisuudet - - Save CDVD Block Dump - Tallenna CDVD-lohkon vedos + + Game &Grid + Peliruudukko - - Enable Log Timestamps - Käytä aikaleimoja lokissa + + Zoom &In (Grid View) + &Suurenna (ruudukkonäkymä) - - - Start Big Picture Mode - Käynnistä televisiotila + + Ctrl++ + Ctrl++ - - - Big Picture - In Toolbar - Televisiotila + + Zoom &Out (Grid View) + &Pienennä (ruudukkonäkymä) - - Cover Downloader... - Kansikuvien lataaja... + + Ctrl+- + Ctrl+- - - - Show Advanced Settings - Näytä lisäasetukset + + Refresh &Covers (Grid View) + Päivitä &kansikuvat (ruudukkonäkymä) - - Recording Viewer - Tallennustarkastelija + + Open Memory Card Directory... + Avaa muistikorttikansio... - - - Video Capture - Videokaappaus + + Input Recording Logs + Syötteentallennuslokit + + + + Enable &File Logging + Käytä tiedostolokitusta + + + + Start Big Picture Mode + Käynnistä televisiotila + + + + + Big Picture + In Toolbar + Televisiotila - - Edit Cheats... - Muokkaa huijauksia... + + Show Advanced Settings + Näytä lisäasetukset - - Edit Patches... - Muokkaa paikkauksia... + + Video Capture + Videonauhoitus - + Internal Resolution Sisäinen kuvatarkkuus - + %1x Scale %1x mittakaava - + Select location to save block dump: Valitse lohkovedoksen tallennussijainti: - + Do not show again Älä näytä uudelleen - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16057,297 +16130,297 @@ PCSX2-tiimi ei tarjoa mitään tukea määrityksille, jotka muokkaavat näitä a Haluatko varmasti jatkaa? - + %1 Files (*.%2) %1-tiedostot (*.%2) - + WARNING: Memory Card Busy VAROITUS: Muistikortti varattu - + Confirm Shutdown Vahvista sammutus - + Are you sure you want to shut down the virtual machine? Haluatko varmasti sammuttaa virtuaalikoneen? - + Save State For Resume Tallenna tila jatkaaksesi myöhemmin - - - - - - + + + + + + Error Virhe - + You must select a disc to change discs. Valitse levy vaihtaaksesi sen. - + Properties... Ominaisuudet... - + Set Cover Image... Aseta kansikuva... - + Exclude From List Poista luettelosta - + Reset Play Time Nollaa peliaika - + Check Wiki Page Avaa Wiki-sivu - + Default Boot Oletuskäynnistys - + Fast Boot Nopea käynnistys - + Full Boot Täysi käynnistys - + Boot and Debug Käynnistys ja virheenjäljitys - + Add Search Directory... Lisää hakukansio... - + Start File Käynnistä tiedosto - + Start Disc Käynnistä levy - + Select Disc Image Valitse levykuva - + Updater Error Päivitysvirhe - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Pahoittelut, yrität päivittää PCSX2-versiota, joka ei ole virallinen GitHub-julkaisu. Yhteensopimattomuuksien välttämiseksi automaattinen päivitysohjelma toimii vain virallisissa versioissa.</p><p>Hanki virallinen versio lataamalla alla olevasta linkistä:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Nykyinen alusta ei tue automaattista päivitystä. - + Confirm File Creation Vahvista tiedoston luonti - + The pnach file '%1' does not currently exist. Do you want to create it? Pnach tiedostoa '%1' ei ole tällä hetkellä olemassa. Haluatko luoda sen? - + Failed to create '%1'. Kohteen '%1' luominen epäonnistui. - + Theme Change Teeman vaihto - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Teeman vaihtaminen sulkee virheenjäljitysikkunan. Kaikki tallentamattomat tiedot menetetään. Haluatko jatkaa? - + Input Recording Failed Syöttötallennus epäonnistui - + Failed to create file: {} Virhe luodessa tiedostoa: %1 - + Input Recording Files (*.p2m2) Syötetallennetiedostot (*.p2m2) - + Input Playback Failed Syötteen toisto epäonnistui - + Failed to open file: {} Virhe avatessa tiedostoa: {} - + Paused Pysäytetty - + Load State Failed Tilan lataus epäonnistui - + Cannot load a save state without a running VM. Tilatallennusta ei voida ladata ilman virtuaalikonetta. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Uutta ELF:ää ei voida ladata ilman virtuaalisen koneen nollaamista. Haluatko nollata virtuaalisen koneen nyt? - + Cannot change from game to GS dump without shutting down first. Pelistä ei voi vaihtaa GS-vedokseen sulkematta sitä ensin. - + Failed to get window info from widget Ikkunan tietoja ei saatu widgetistä - + Stop Big Picture Mode Poistu televisiotilasta - + Exit Big Picture In Toolbar Poistu televisiotilasta - + Game Properties Pelin ominaisuudet - + Game properties is unavailable for the current game. Pelin ominaisuudet eivät ole saatavilla nykyiselle pelille. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. CD/DVD-ROM-laitteita ei löytynyt. Varmista, että laite on yhdistetty ja sinulla on käyttölupa. - + Select disc drive: Valitse levyasema: - + This save state does not exist. Tätä tilatallennusta ei ole olemassa. - + Select Cover Image Valitse kansikuva - + Cover Already Exists Kansikuva on jo olemassa - + A cover image for this game already exists, do you wish to replace it? Kansikuva tälle pelille on jo olemassa, haluatko korvata sen? - + + - Copy Error Kopiointivirhe - + Failed to remove existing cover '%1' Olemassa olevan kansikuvan '%1' poisto epäonnistui - + Failed to copy '%1' to '%2' '%1' kopiointi kohteeseen '%2' epäonnistui - + Failed to remove '%1' '%1' poisto epäonnistui - - + + Confirm Reset Vahvista nollaus - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Kaikki kansikuvatyypit (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Sinun on valittava toinen tiedosto nykyiseen kansikuvaan. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16356,12 +16429,12 @@ This action cannot be undone. Tätä toimintoa ei voi peruuttaa. - + Load Resume State Lataa jatkamistila - + A resume save state was found for this game, saved at: %1. @@ -16374,89 +16447,89 @@ Do you want to load this state, or start from a fresh boot? Haluatko ladata tämän tilan vai aloittaa uuden käynnistyksen? - + Fresh Boot Uusi käynnistys - + Delete And Boot Poista ja käynnistä - + Failed to delete save state file '%1'. Tilatallennustiedoston '%1' poistaminen epäonnistui. - + Load State File... Lataa tila tiedostosta... - + Load From File... Lataa tiedostosta... - - + + Select Save State File Valitse tilatallennuksen tiedosto - + Save States (*.p2s) Tilatallennukset (*.p2s) - + Delete Save States... Poista tilatallennukset... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Kaikki tiedostotyypit (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Yksiraitaiset raakalevykuvat (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD -levykuvat (*.chd);;CSO-levykuvat (*.cso);;ZSO-levykuvat (*.zso);;GZ-levykuvat (*.gz);;ELF-suoritettavat (*.elf);;IRX-suoritettavat (*.irx);;GS-vedokset (*.gs *.gs.xz *.gs.zst);;Lohkovedokset (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Kaikki tiedostotyypit (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Yksiraitaiset raakalevykuvat (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD -levykuvat (*.chd);;CSO-levykuvat (*.cso);;ZSO-levykuvat (*.zso);;GZ-levykuvat (*.gz);;Lohkovedokset (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> VAROITUS: Muistikorttisi kirjoittaa edelleen tietoja. Tämän aikana sammuttaminen <b>PERUUTTAMATTOMASTI TUHOAA MUISTIKORTTISI.</b> On erittäin suositeltavaa palata peliin ja antaa sen viimeistellä muistikorttiin kirjoittamisen.<br><br>Haluatko sammuttaa siitä huolimatta ja <b>PERUUTTAMATTOMASTI TUHOTA MUISTIKORTTISI?</b> - + Save States (*.p2s *.p2s.backup) Tilatallennukset (*.p2s *.p2s.backup) - + Undo Load State Kumoa tilan lataus - + Resume (%2) Jatka (%2) - + Load Slot %1 (%2) Lataa paikka %1 (%2) - - + + Delete Save States Poista tilatallennukset - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16465,42 +16538,42 @@ The saves will not be recoverable. Tallennuksia ei voida palauttaa. - + %1 save states deleted. %1 tilatallennusta poistettu. - + Save To File... Tallenna tiedostoon... - + Empty Tyhjä - + Save Slot %1 (%2) - Tallenna paikka %1 (%2) + Tallenna paikkaan %1 (%2) - + Confirm Disc Change Vahvista levyn vaihto - + Do you want to swap discs or boot the new image (via system reset)? Haluatko vaihtaa levyjä vai käynnistää uuden kuvan (järjestelmän nollaamisen kautta)? - + Swap Disc Vaihda levy - + Reset Nollaa @@ -16523,25 +16596,25 @@ Tallennuksia ei voida palauttaa. MemoryCard - - + + Memory Card Creation Failed Muistikortin luonti epäonnistui - + Could not create the memory card: {} Muistikorttia ei voitu luoda: {} - + Memory Card Read Failed Muistikortin luku epäonnistui - + Unable to access memory card: {} @@ -16558,28 +16631,33 @@ Sulje kaikki muut PCSX2-istunnot tai käynnistä tietokoneesi uudelleen. - - + + Memory Card '{}' was saved to storage. Muistikortti '{}' tallennettiin muistiin. - + Failed to create memory card. The error was: {} Muistikortin luonti epäonnistui. Virhe oli: {} - + Memory Cards reinserted. Muistikortit sijoitettu uudelleen. - + Force ejecting all Memory Cards. Reinserting in 1 second. Kaikki muistikortit poistetaan asemista. Uudelleensijoitetaan sekunnin kuluessa. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + Virtuaalinen konsoli ei ole tallentanut muistikortillesi pitkään aikaan. Tilatallennuksia ei pitäisi käyttää pelinsisäisten tallennusten korvikkeena. + MemoryCardConvertDialog @@ -17104,7 +17182,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Double - Double + Double @@ -17260,37 +17338,37 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Increased - Increased + Lisääntynyt Increased By - Increased By + Lisääntynyt määrällä Decreased - Decreased + Vähentynyt Decreased By - Decreased By + Vähentynyt määrällä Changed - Changed + Muuttunut Changed By - Changed By + Muuttunut määrällä Not Changed - Not Changed + Muuttumaton @@ -17371,7 +17449,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Siirry muistinäkymään - + Cannot Go To Siirtyminen ei onnistu @@ -17381,7 +17459,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk No existing function found. - Olemassa olevaa toimintoa ei löytynyt. + Olemassa olevaa funktiota ei löytynyt. @@ -17401,7 +17479,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk A function already exists at that address. - Toiminto on jo olemassa kyseisessä osoitteessa. + Funktio on jo olemassa tässä osoitteessa. @@ -17416,7 +17494,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Cannot Create Function - Toimintoa ei voida luoda + Funktiota ei voida luoda @@ -17498,12 +17576,12 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Invalid function. - Virheellinen toiminto. + Virheellinen funktio. Cannot determine stack frame size of selected function. - Cannot determine stack frame size of selected function. + Valitun funktion pinokuvakokoa ei voida määrittää. @@ -17527,7 +17605,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Invalid function. - Virheellinen toiminto. + Virheellinen funktio. @@ -17537,7 +17615,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Cannot determine stack frame size of selected function. - Cannot determine stack frame size of selected function. + Valitun funktion pinokuvakokoa ei voida määrittää. @@ -17560,7 +17638,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Dialog - Dialog + Valintaikkuna @@ -17596,7 +17674,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Existing Functions - Olemassa olevat toiminnot + Olemassa olevat funktiot @@ -17616,7 +17694,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Function - Toiminto + Funktio @@ -17631,12 +17709,12 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Fill existing function (%1 bytes) - Täytä olemassa oleva toiminto (%1 tavua) + Täytä olemassa oleva funktio (%1 tavua) Fill existing function (none found) - Täytä olemassa oleva toiminto (ei löydetty) + Täytä olemassa oleva funktio (ei löydetty) @@ -17651,7 +17729,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Fill existing function - Täytä olemassa oleva toiminto + Täytä olemassa oleva funktio @@ -17671,7 +17749,7 @@ Tätä toimintoa ei voi peruuttaa, ja menetät jokaisen kortilla oleva tallennuk Address is not aligned. - Address is not aligned. + Osoite ei täsmää. @@ -18211,12 +18289,12 @@ Poistetaan {3} ja korvataan se kohteella {2}. Patch - + Failed to open {}. Built-in game patches are not available. {} ei voitu avata. Sisäänrakennettuja pelipaikkauksia ei ole saatavilla. - + %n GameDB patches are active. OSD Message @@ -18225,7 +18303,7 @@ Poistetaan {3} ja korvataan se kohteella {2}. - + %n game patches are active. OSD Message @@ -18234,7 +18312,7 @@ Poistetaan {3} ja korvataan se kohteella {2}. - + %n cheat patches are active. OSD Message @@ -18243,7 +18321,7 @@ Poistetaan {3} ja korvataan se kohteella {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Huijauksia tai paikkauksia (laajakuva, yhteensopivuus tai muut) ei löydy / ole käytössä. @@ -18344,47 +18422,47 @@ Poistetaan {3} ja korvataan se kohteella {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Kirjautuneena sisään nimellä %1 (%2 p., softcore: %3 p.). %4 lukematonta viestiä. - - + + Error Virhe - + An error occurred while deleting empty game settings: {} Virhe poistettaessa tyhjiä peliasetuksia: {} - + An error occurred while saving game settings: {} Virhe tallennettaessa peliasetuksia: {} - + Controller {} connected. Ohjain {} yhdistettiin. - + System paused because controller {} was disconnected. Järjestelmä pysäytettiin, koska ohjaimen {} yhteys katkesi. - + Controller {} disconnected. Ohjaimen {} yhteys katkesi. - + Cancel Peruuta @@ -18517,7 +18595,7 @@ Poistetaan {3} ja korvataan se kohteella {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18922,7 +19000,7 @@ Haluatko jatkaa? <html><head/><body><p>PCSX2 requires a PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <strong>from an actual PS2 unit that you own</strong> (borrowing doesn't count).</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct PCSX2 to scan an alternative directory.</p><p>A guide for dumping your BIOS can be found <a href="https://pcsx2.net/docs/setup/bios/">here</a>.</p></body></html> - <html><head/><body><p>PCSX2 vaatii PS2 BIOS:in toimiakseen.</p><p>Oikeudellisista syistä sinun on hankittava BIOS <strong>varsinaisesta PS2-yksiköstä, jonka sinä omistat</strong> (lainaamista ei lasketa).</p><p>Poimittuasi BIOS-tiedoston, se tulee sijoittaa bios-kansioon alla näytetyssä tietohakemistossa, tai voit käskeä PCSX2:ta skannaamaan vaihtoehtoisen hakemiston.</p><p>Ohje BIOS:in poimimiseen löytyy <a href="https://pcsx2.net/docs/setup/bios/">täältä</a>.</p></body></html> + <html><head/><body><p>PCSX2 vaatii PS2 BIOSin toimiakseen.</p><p>Oikeudellisista syistä sinun on hankittava BIOS <strong>varsinaisesta PS2-yksiköstä, jonka sinä omistat</strong> (lainaamista ei lasketa).</p><p>Poimittuasi BIOS-tiedoston, se tulee sijoittaa bios-kansioon alla näytetyssä tietohakemistossa, tai voit käskeä PCSX2:ta skannaamaan vaihtoehtoisen hakemiston.</p><p>Ohje BIOSin poimimiseen löytyy <a href="https://pcsx2.net/docs/setup/bios/">täältä</a>.</p></body></html> @@ -19146,7 +19224,7 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois ENTRY Warning: short space limit. Abbreviate if needed. - ENTRY + SYÖTE @@ -19270,7 +19348,7 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois (unknown section) - (unknown section) + (tuntematon osio) @@ -19285,7 +19363,7 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois Copy Mangled Name - Copy Mangled Name + Kopioi muunneltu nimi @@ -19321,7 +19399,7 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois Group by Section - Group by Section + Ryhmitä osion mukaan @@ -19404,7 +19482,7 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois ENTRY Warning: short space limit. Abbreviate if needed. - ENTRY + SYÖTE @@ -19428,13 +19506,13 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois BAD Refers to a Thread State in the Debugger. - BAD + VIALLINEN RUN Refers to a Thread State in the Debugger. - SUORITA + SUORITTAA @@ -19446,19 +19524,19 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois WAIT Refers to a Thread State in the Debugger. - ODOTA + ODOTTAA SUSPEND Refers to a Thread State in the Debugger. - KESKEYTÄ + KESKEYTETTY WAIT SUSPEND Refers to a Thread State in the Debugger. - WAIT SUSPEND + ODOTTAA KESKEYTYSTÄ @@ -19488,19 +19566,19 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois SLEEP Refers to a Thread Wait State in the Debugger. - NUKU + LEPÄÄ DELAY Refers to a Thread Wait State in the Debugger. - VIIVÄSTYS + VIIVÄSTYNYT EVENTFLAG Refers to a Thread Wait State in the Debugger. - EVENTFLAG + TAPAHTUMAMERKINTÄ @@ -21730,42 +21808,42 @@ Rekursiivinen skannaus vie enemmän aikaa, mutta tunnistaa tiedostot alikansiois VMManager - + Failed to back up old save state {}. Vanhan tilatallennuksen {} varmuuskopiointi epäonnistui. - + Failed to save save state: {}. Tilatallennuksen tallentaminen epäonnistui: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Tuntematon peli - + CDVD precaching was cancelled. CDVD:n vienti esivälimuistiin peruutettiin. - + CDVD precaching failed: {} CDVD:n vienti esivälimuistiin epäonnistui: {} - + Error Virhe - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21782,272 +21860,272 @@ Poimittuasi BIOS-tiedoston, se tulee sijoittaa bios-kansioon tietohakemistossa ( Tutustu usein kysyttyihin kysymyksiin (FAQ) ja oppaisiin lisäohjeita varten. - + Resuming state Tilan jatkaminen - + Boot and Debug Käynnistys ja virheenjäljitys - + Failed to load save state Tilatallennuksen lataaminen epäonnistui - + State saved to slot {}. Tila tallennettu paikkaan {}. - + Failed to save save state to slot {}. Tilan tallennus paikkaan {} epäonnistui. - - + + Loading state Tilan lataaminen - + Failed to load state (Memory card is busy) Tilan lataaminen epäonnistui (muistikortti on varattu) - + There is no save state in slot {}. Paikassa {} ei ole tilatallennusta. - + Failed to load state from slot {} (Memory card is busy) Tilan lataaminen paikasta {} epäonnistui (muistikortti on varattu) - + Loading state from slot {}... Ladataan tilaa paikasta {}... - + Failed to save state (Memory card is busy) Tilan tallennus epäonnistui (muistikortti on varattu) - + Failed to save state to slot {} (Memory card is busy) Tilan tallennus paikkaan {} epäonnistui (muistikortti on varattu) - + Saving state to slot {}... Tallennetaan tilaa paikkaan {}... - + Frame advancing Kuvalla eteneminen - + Disc removed. Levy poistettu asemasta. - + Disc changed to '{}'. Levyksi vaihdettiin '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Levyn näköistiedoston '{}' avaus epäonnistui. Palautetaan vanha näköistiedosto. Virhe oli: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Vanhan levyn näköistiedoston palauttamien ei onnistunut. Poistetaan levyä. Virhe oli: {} - + Cheats have been disabled due to achievements hardcore mode. Huijaukset on poistettu käytöstä saavutusten hardcore-tilassa. - + Fast CDVD is enabled, this may break games. Nopea CDVD on käytössä, tämä voi rikkoa pelejä. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Syklitaajuus/-ohitus ei ole oletusarvossa, tämä saattaa kaataa pelejä tai hidastaa suorittamista. - + Upscale multiplier is below native, this will break rendering. Skaalauskerroin on alle alkuperäisen arvon, tämä rikkoo renderöintiä. - + Mipmapping is disabled. This may break rendering in some games. Mipmappaus on pois käytöstä. Tämä voi rikkoa renderöinnin joissakin peleissä. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderöijä ei ole asetettu arvoon Automaattinen. Tämä voi aiheuttaa ongelmia suorituskyvyssä ja grafiikassa. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Tekstuurisuodatus ei ole asetettu arvoon Bilineaarinen (PS2). Tämä rikkoo renderöintiä joissakin peleissä. - + No Game Running Ei peliä käynnissä - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilineaarinen suodatus ei ole asetettu automaattiseksi. Tämä voi rikkoa renderöinnin joissakin peleissä. - + Blending Accuracy is below Basic, this may break effects in some games. Sekoituksen tarkkuus on alle Perus-arvon, tämä voi rikkoa tehosteita joissakin peleissä. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Laitteistolataustila ei ole asetettu arvoon Tarkka, tämä voi rikkoa renderöinnin joissakin peleissä. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU-pyöristystila ei ole oletusarvossa, tämä voi rikkoa joitakin pelejä. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU-rajoitustila ei ole oletusarvossa, tämä voi rikkoa joitakin pelejä. - + VU0 Round Mode is not set to default, this may break some games. VU0-pyöristystila ei ole oletusarvossa, tämä voi rikkoa joitakin pelejä. - + VU1 Round Mode is not set to default, this may break some games. VU1-pyöristystila ei ole oletusarvossa, tämä voi rikkoa joitakin pelejä. - + VU Clamp Mode is not set to default, this may break some games. VU-rajoitustila ei ole oletusarvossa, tämä voi rikkoa joitakin pelejä. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128 Mt RAM-muisti on käytössä. Tämä saattaa vaikuttaa joidenkin pelien yhteensopivuuteen. - + Game Fixes are not enabled. Compatibility with some games may be affected. Pelikorjaukset eivät ole käytössä. Tämä saattaa vaikuttaa joidenkin pelien yhteensopivuuteen. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Yhteensopivuuspaikkaukset eivät ole käytössä. Tämä saattaa vaikuttaa joidenkin pelien yhteensopivuuteen. - + Frame rate for NTSC is not default. This may break some games. NTSC-kuvataajuus ei ole oletusarvossa. Tämä voi rikkoa joitakin pelejä. - + Frame rate for PAL is not default. This may break some games. PAL-kuvataajuus ei ole oletusarvossa. Tämä voi rikkoa joitakin pelejä. - + EE Recompiler is not enabled, this will significantly reduce performance. EE-uudelleenkääntäjä ei ole käytössä, tämä heikentää suorituskykyä merkittävästi. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0-uudelleenkääntäjä ei ole käytössä, tämä heikentää suorituskykyä merkittävästi. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1-uudelleenkääntäjä ei ole käytössä, tämä heikentää suorituskykyä merkittävästi. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP-uudelleenkääntäjä ei ole käytössä, tämä heikentää suorituskykyä merkittävästi. - + EE Cache is enabled, this will significantly reduce performance. EE-välimuisti on käytössä, tämä heikentää suorituskykyä merkittävästi. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE-odotussilmukoiden tunnistus ei ole käytössä, tämä saattaa heikentää suorituskykyä. - + INTC Spin Detection is not enabled, this may reduce performance. INTC:n pyörityksen tunnistus ei ole käytössä, tämä saattaa heikentää suorituskykyä. - + Fastmem is not enabled, this will reduce performance. Nopea muistin käyttö ei ole käytössä, tämä heikentää suorituskykyä. - + Instant VU1 is disabled, this may reduce performance. Välitön VU1 on poistettu käytöstä, tämä saattaa heikentää suorituskykyä. - + mVU Flag Hack is not enabled, this may reduce performance. mVU-korjaus ei ole käytössä, tämä saattaa heikentää suorituskykyä. - + GPU Palette Conversion is enabled, this may reduce performance. Grafiikkasuorittimen paletin muunnos on käytössä, tämä saattaa heikentää suorituskykyä. - + Texture Preloading is not Full, this may reduce performance. Tekstuurien esilataus ei ole arvossa Täysi, tämä saattaa heikentää suorituskykyä. - + Estimate texture region is enabled, this may reduce performance. Tekstuurialueen arvionti on käytössä, tämä saattaa heikentää suorituskykyä. - + Texture dumping is enabled, this will continually dump textures to disk. Tekstuurivedostus on käytössä, tämä vedostaa tekstuureja levylle jatkuvasti. diff --git a/pcsx2-qt/Translations/pcsx2-qt_fr-FR.ts b/pcsx2-qt/Translations/pcsx2-qt_fr-FR.ts index ae958e3789e2c..1fa415b40f463 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_fr-FR.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_fr-FR.ts @@ -732,307 +732,318 @@ Classé(e) n° {1} sur {2} Utiliser le paramètre global [%1] - + Rounding Mode Rounding Mode - - - + + + Chop/Zero (Default) Chop/Zero (par défaut) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifier la façon dont PCSX2 arrondit les valeurs numériques lors de l'émulation de la Floating Point Unit de l'Emotion Engine (EE FPU). Puisque les FPU de la PS2 ne se conforment pas aux standards internationaux, il se peut que vous deviez modifier cette option pour que les opérations mathématiques de certains jeux s'effectuent correctement. La valeur par défaut convient pour la grande majorité des jeux ; <b>modifier ce paramètre alors qu'il n'y a aucun problème apparent pourrait rendre l'émulation instable.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (par défaut) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Déterminez la manière d'arrondir les résultats des divisions sur les nombres à virgule flottante. Il peut être nécessaire d'ajuster ce paramètre pour certains jeux. Attention cependant : <b>modifier ce paramètre alors qu'il n'y a aucun problème apparent pourrait rendre l'émulation instable.</b> - + Clamping Mode Clamping Mode - - - + + + Normal (Default) Normal (par défaut) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifier la façon dont PCSX2 maintient les nombres à virgule flottante dans les limites standard de l'architecture x86. La valeur par défaut convient pour la grande majorité des jeux ; <b>modifier ce paramètre alors qu'il n'y a aucun problème apparent pourrait rendre l'émulation instable.</b> - - + + Enable Recompiler Activer le recompilateur - + - - - + + + - + - - - - + + + + + Checked coché - + + Use Save State Selector + Utiliser le sélecteur de sauvegarde d'état + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Afficher une interface permettant de sélectionner une sauvegarde d'état lors du changement d'emplacement de sauvegarde, plutôt que d'afficher une bulle de notification. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Traduit dynamiquement le code machine MIPS-IV 64 bits en x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Détection de l'attente active - + Moderate speedup for some games, with no known side effects. Amélioration modérée des performances de certains jeux sans effet négatif connu. - + Enable Cache (Slow) Activer le cache (lent) - - - - + + + + Unchecked décoché - + Interpreter only, provided for diagnostic. Interpréteur uniquement, utilisé pour les diagnostics. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Détection des boucles INTC - + Huge speedup for some games, with almost no compatibility side effects. Amélioration colossale des performances de certains jeux. Impact sur la compatibilité très faible. - + Enable Fast Memory Access Activer l'accès rapide à la mémoire - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Utiliser le backpatching pour éviter de transférer le contenu des registres dans la mémoire de l'hôte à chaque accès à la mémoire. - + Pause On TLB Miss Mettre en pause lors d'un TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Mettre en pause la machine virtuelle lorsqu'un TLB Miss se produit, plutôt que de l'ignorer et de continuer l'exécution. Notez que la VM s'arrêtera à la fin du bloc et non à l'instruction ayant causé l'exception. Référez-vous à la console pour voir l'adresse où l'accès invalide s'est produit. - + Enable 128MB RAM (Dev Console) Activer 128 Mo de RAM (console de dév.) - + Exposes an additional 96MB of memory to the virtual machine. Exposer 96 Mo de mémoire supplémentaires à la machine virtuelle. - + VU0 Rounding Mode VU0 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Modifier la façon dont PCSX2 arrondit les valeurs numériques lors de l'émulation de la Vector Unit 0 de l'Emotion Engine (EE VU0). La valeur par défaut convient pour la grande majorité des jeux ; <b>modifier ce paramètre alors qu'il n'y a aucun problème apparent pourrait rendre l'émulation instable, voire causer des plantages.</b> - + VU1 Rounding Mode VU1 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Modifier la façon dont PCSX2 arrondit les valeurs numériques lors de l'émulation de la Vector Unit 1 de l'Emotion Engine (EE VU1). La valeur par défaut convient pour la grande majorité des jeux ; <b>modifier ce paramètre alors qu'il n'y a aucun problème apparent pourrait rendre l'émulation instable, voire causer des plantages.</b> - + VU0 Clamping Mode VU0 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifier la façon dont PCSX2 maintient les nombres à virgule flottante dans les limites standard de l'architecture x86 lors de l'émulation de la Vector Unit 0 de l'Emotion Engine (EE VU0). La valeur par défaut convient pour la grande majorité des jeux ; <b>modifier ce paramètre alors qu'il n'y a aucun problème apparent pourrait rendre l'émulation instable.</b> - + VU1 Clamping Mode VU1 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifier la façon dont PCSX2 maintient les nombres à virgule flottante dans les limites standard de l'architecture x86 lors de l'émulation de la Vector Unit 1 de l'Emotion Engine (EE VU1). La valeur par défaut convient pour la grande majorité des jeux ; <b>modifier ce paramètre alors qu'il n'y a aucun problème apparent pourrait rendre l'émulation instable.</b> - + Enable Instant VU1 Activer Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Exécute instantanément la VU1. Option sûre qui fournit une amélioration modeste des performances dans la plupart des jeux. Peut néanmoins causer des problèmes d'affichage dans certains jeux. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Activer le recompilateur VU0 (mode Micro) - + Enables VU0 Recompiler. Activer le recompilateur VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Activer le recompilateur VU1 - + Enables VU1 Recompiler. Activer le recompilateur VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Hack « mVU Flag » - + Good speedup and high compatibility, may cause graphical errors. Bonne amélioration des performances et compatibilité élevée, mais peut causer des problèmes d'affichage. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Traduire dynamiquement le code machine MIPS-I 32 bits en x86. - + Enable Game Fixes Activer les correctifs - + Automatically loads and applies fixes to known problematic games on game start. Charger et appliquer automatiquement des correctifs au lancement des jeux ayant des problèmes connus. - + Enable Compatibility Patches Activer les patchs de compatibilité - + Automatically loads and applies compatibility patches to known problematic games. Charger et appliquer automatiquement des patchs de compatibilité aux jeux ayant des problèmes connus. - + Savestate Compression Method Méthode de compression des sauvegardes d'état - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Déterminez l'algorithme à utiliser pour la compression des sauvegardes d'état. - + Savestate Compression Level Niveau de compression des sauvegardes d'état - + Medium Moyen - + Determines the level to be used when compressing savestates. Déterminez le niveau à utiliser pour la compression des sauvegardes d'état. - + Save State On Shutdown Sauvegarder l'état lors de l'extinction - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Sauvegarder automatiquement l'état de l'émulateur lorsque vous éteignez le système ou que vous quittez PCSX2. Vous pourrez ensuite reprendre directement à partir de l'endroit où vous avez arrêté de jouer. - + Create Save State Backups Créer une copie des sauvegardes d'état - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Lors de la création d'une sauvegarde d'état, créer une copie de la sauvegarde existante. Les copies de sauvegarde portent le suffixe .backup. @@ -1255,29 +1266,29 @@ Classé(e) n° {1} sur {2} Créer une copie des sauvegardes d'état - + Save State On Shutdown Sauvegarder l'état lors de l'extinction - + Frame Rate Control Contrôle du taux de rafraîchissement - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so.  Hz - + PAL Frame Rate: Taux de rafraîchissement PAL : - + NTSC Frame Rate: Taux de rafraîchissement NTSC : @@ -1292,7 +1303,7 @@ Classé(e) n° {1} sur {2} Niveau de compression : - + Compression Method: Méthode de compression : @@ -1337,17 +1348,22 @@ Classé(e) n° {1} sur {2} Très élevé (lent, non recommandé) - + + Use Save State Selector + Utiliser le sélecteur de sauvegarde d'état + + + PINE Settings Paramètres PINE - + Slot: Emplacement : - + Enable Activer @@ -1868,8 +1884,8 @@ Classé(e) n° {1} sur {2} AutoUpdaterDialog - - + + Automatic Updater Mise à jour automatique @@ -1909,68 +1925,68 @@ Classé(e) n° {1} sur {2} Me le rappeler plus tard - - + + Updater Error Erreur lors de la mise à jour - + <h2>Changes:</h2> <h2>Changements :</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Attention</h2><p>Vos sauvegardes d'état actuelles seront <b>incompatibles</b> avec la nouvelle version. Avant d'installer cette mise à jour, assurez-vous d'avoir sauvegardé votre progression dans tous vos jeux sur une Memory Card, ou vous perdrez toute votre progression.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Attention</h2><p>L'installation de cette mise à jour réinitialisera la configuration du programme. N'oubliez pas de reconfigurer vos paramètres après la mise à jour.</p> - + Savestate Warning Avertissement - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ATTENTION</h1><p style='font-size:12pt;'>Vos sauvegardes d'état actuelles seront <b>incompatibles</b> avec la nouvelle version, <i>assurez-vous d'avoir sauvegardé votre progression dans tous vos jeux sur une Memory Card avant de procéder à la mise à jour</i>.</p><p>Voulez-vous continuer ?</p> - + Downloading %1... Téléchargement de PCSX2 %1… - + No updates are currently available. Please try again later. Aucune mise à jour disponible, réessayez plus tard. - + Current Version: %1 (%2) Version actuelle : %1 (%2) - + New Version: %1 (%2) Nouvelle version : %1 (%2) - + Download Size: %1 MB Taille du téléchargement : %1 Mo - + Loading... Chargement… - + Failed to remove updater exe after update. Échec de la suppression de l'outil de mise à jour à la suite de la mise à jour. @@ -2134,19 +2150,19 @@ Classé(e) n° {1} sur {2} Activer - - + + Invalid Address Adresse invalide - - + + Invalid Condition Condition invalide - + Invalid Size Taille invalide @@ -2236,17 +2252,17 @@ Classé(e) n° {1} sur {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Le disque de jeu se situe sur un disque amovible, vous pourriez rencontrer des problèmes de performance tels que des saccades ou des plantages. - + Saving CDVD block dump to '{}'. Blockdump CDVD enregistré dans le fichier : « {} ». - + Precaching CDVD Mise en cache CDVD anticipée @@ -2271,7 +2287,7 @@ Classé(e) n° {1} sur {2} Inconnu - + Precaching is not supported for discs. La mise en cache anticipée n'est pas prise en charge pour les disques. @@ -2873,7 +2889,7 @@ Classé(e) n° {1} sur {2} DualShock 4 / DualSense Enhanced Mode - Mode Amélioré pour DualShock 4 et DualSense + Mode amélioré pour DualShock 4 et DualSense @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Renommer le profil + + + Delete Profile Supprimer le profil - + Mapping Settings Paramètres d'association - - + + Restore Defaults Rétablir les paramètres par défaut - - - + + + Create Input Profile Créer un profil d'entrée - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Pour associer un profil d'entrée personnalisé à un jeu, ouvrez les propriét Saisissez le nom du nouveau profil d'entrée : - - - - + + + + + + Error Erreur - + + A profile with the name '%1' already exists. Un profil nommé « %1 » existe déjà. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Voulez-vous copier toutes les associations du profil actuel vers le nouveau profil ? Si vous sélectionnez Non, un profil totalement vide sera créé. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Voulez-vous copier les associations de raccourcis provenant des paramètres globaux dans le nouveau profil d'entrée ? - + Failed to save the new profile to '%1'. Échec de l'enregistrement du nouveau profil sous « %1 ». - + Load Input Profile Charger un profil d'entrée - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Les associations globales actuelles seront supprimées et remplacées par les as Cette action est irréversible. - + + Rename Input Profile + Renommer le profil d'entrée + + + + Enter the new name for the input profile: + Saisissez le nouveau nom à donner au profil d'entrée : + + + + Failed to rename '%1'. + Échec du renommage de « %1 ». + + + Delete Input Profile Supprimer un profil d'entrée - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. Cette action est irréversible. - + Failed to delete '%1'. Échec de la suppression de « %1 ». - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ La configuration partagée et ses associations seront perdues mais vos profils d Cette action est irréversible. - + Global Settings Paramètres globaux - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ Cette action est irréversible. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ Cette action est irréversible. %2 - - + + USB Port %1 %2 Port USB %1 %2 - + Hotkeys Raccourcis - + Shared "Shared" refers here to the shared input profile. Partagé - + The input profile named '%1' cannot be found. Impossible de trouver le profil d'entrée « %1 ». @@ -4005,63 +4044,63 @@ Voulez-vous l'écraser ? Importer à partir d'un fichier (.elf, .sym, etc.) : - + Add Ajouter - + Remove Retirer - + Scan For Functions Rechercher des fonctions - + Scan Mode: Mode de scan : - + Scan ELF Scanner le fichier ELF - + Scan Memory Scanner la mémoire - + Skip Ignorer - + Custom Address Range: Plage d'adresses personnalisée : - + Start: Début : - + End: Fin : - + Hash Functions Calculer une empreinte des fonctions - + Gray Out Symbols For Overwritten Functions Griser les symboles associés à des fonctions ayant été écrasées @@ -4132,17 +4171,32 @@ Voulez-vous l'écraser ? Utiliser une fonction de hachage sur chacune des fonctions détectées et griser les symboles affichés dans le débogueur dont la fonction associée ne correspond plus à l'empreinte calculée. - + <i>No symbol sources in database.</i> <i>Aucune source de symboles dans la base de données.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Lancez ce jeu pour pouvoir modifier la liste des sources de symboles.</i> - + + Path + Chemin d'accès + + + + Base Address + Adresse de base + + + + Condition + Condition + + + Add Symbol File Ajoutez un fichier de symboles @@ -4158,7 +4212,7 @@ Voulez-vous l'écraser ? These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. - Ces paramètres contrôlent les types d'analyse devant être exécutés ainsi que leur déclenchement. Ces analyses concernent le programme s'exécutant dans la machine virtuelle et ont pour but de fournir au débogueur des informations à afficher. + Ces paramètres contrôlent les analyses à exécuter ainsi que leur déclenchement. Ces analyses concernent le programme s'exécutant dans la machine virtuelle et ont pour but de fournir au débogueur des informations à afficher. @@ -4794,53 +4848,53 @@ Voulez-vous l'écraser ? Débogueur PCSX2 - + Run Exécuter - + Step Into Pas à pas détaillé - + F11 F11 - + Step Over Pas à pas principal - + F10 F10 - + Step Out Pas à pas sortant - + Shift+F11 Shift+F11 - + Always On Top Toujours visible - + Show this window on top Garder cette fenêtre toujours visible - + Analyze Analyser @@ -4858,48 +4912,48 @@ Voulez-vous l'écraser ? Désassembleur - + Copy Address Copier l'adresse - + Copy Instruction Hex Copier l'instruction au format hexa - + NOP Instruction(s) NOPer des instructions - + Run to Cursor Exécuter jusqu'au curseur - + Follow Branch Aller à la cible de la branche - + Go to in Memory View Aller à l'adresse dans la vue mémoire - + Add Function Ajouter une fonction - - + + Rename Function Renommer la fonction - + Remove Function Supprimer la fonction @@ -4920,23 +4974,23 @@ Voulez-vous l'écraser ? Assembler une instruction - + Function name Nom de la fonction - - + + Rename Function Error Erreur lors du renommage de la fonction - + Function name cannot be nothing. Le nom de la fonction ne peut pas être vide. - + No function / symbol is currently selected. Aucune fonction ni symbole sélectionné. @@ -4946,72 +5000,72 @@ Voulez-vous l'écraser ? Aller à l'adresse dans le désassembleur - + Cannot Go To Impossible d'aller à l'adresse - + Restore Function Error Erreur lors du rétablissement de la fonction - + Unable to stub selected address. L'adresse sélectionnée est impossible à NOPer. - + &Copy Instruction Text &Copier l'instruction au format texte - + Copy Function Name Copier le nom de la fonction - + Restore Instruction(s) Rétablir des instructions - + Asse&mble new Instruction(s) Asse&mbler des instructions - + &Jump to Cursor &Sauter vers le curseur - + Toggle &Breakpoint Activer/Désactiver un &point d'arrêt - + &Go to Address &Aller à une adresse - + Restore Function Rétablir la fonction - + Stub (NOP) Function NOPer la fonction - + Show &Opcode Afficher les &opcodes - + %1 NOT VALID ADDRESS %1 ADRESSE INVALIDE @@ -5038,86 +5092,86 @@ Voulez-vous l'écraser ? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Emplacement : %1 | %2 | EE : %3 % | VU : %4 % | GS : %5 % + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Emplacement : %1 | Volume : %2 % | %3 | EE : %4 % | VU : %5 % | GS : %6 % - - Slot: %1 | %2 | EE: %3% | GS: %4% - Emplacement : %1 | %2 | EE : %3 % | GS : %4 % + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Emplacement : %1 | Volume : %2 % | %3 | EE : %4 % | GS : %5 % - + No Image Pas d'image - + %1x%2 %1x%2 - + FPS: %1 IPS : %1 - + VPS: %1 VPS : %1 - + Speed: %1% Vitesse : %1 % - + Game: %1 (%2) Jeu : %1 (%2) - + Rich presence inactive or unsupported. Rich Presence inactive ou non prise en charge. - + Game not loaded or no RetroAchievements available. Aucun jeu chargé ou aucun RetroAchievements disponible. - - - - + + + + Error Erreur - + Failed to create HTTPDownloader. Échec de la création du HTTPDownloader. - + Downloading %1... Téléchargement de « %1 »… - + Download failed with HTTP status code %1. Échec du téléchargement, code d'état HTTP : %1. - + Download failed: Data is empty. Échec du téléchargement : aucune donnée reçue. - + Failed to write '%1'. Échec de l'écriture de « %1 ». @@ -5491,81 +5545,76 @@ Voulez-vous l'écraser ? ExpressionParser - + Invalid memory access size %d. Taille d'accès à la mémoire (%d) invalide. - + Invalid memory access (unaligned). Accès à la mémoire invalide (non aligné). - - + + Token too long. Jeton trop long. - + Invalid number "%s". Nombre "%s" invalide. - + Invalid symbol "%s". Symbole "%s" invalide. - + Invalid operator at "%s". Opérateur invalide à "%s". - + Closing parenthesis without opening one. Parenthèse fermante sans parenthèse ouvrante. - + Closing bracket without opening one. Crochet fermant sans crochet ouvrant. - + Parenthesis not closed. Parenthèse non fermée. - + Not enough arguments. Pas assez d'arguments. - + Invalid memsize operator. Opérateur memsize invalide. - + Division by zero. Division par zéro. - + Modulo by zero. Modulo par zéro. - + Invalid tertiary operator. Opérateur ternaire invalide. - - - Invalid expression. - Expression invalide. - FileOperations @@ -5699,342 +5748,342 @@ URL : %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Aucun périphérique CD/DVD-ROM trouvé. Assurez-vous qu'un lecteur est bien connecté et que vous avez les autorisations nécessaires pour y accéder. - + Use Global Setting Utiliser le paramètre global - + Automatic binding failed, no devices are available. Échec de l'association automatique, aucun périphérique disponible. - + Game title copied to clipboard. Nom du jeu copié dans le presse-papiers. - + Game serial copied to clipboard. Numéro de série du jeu copié dans le presse-papiers. - + Game CRC copied to clipboard. CRC du jeu copié dans le presse-papiers. - + Game type copied to clipboard. Type de jeu copié dans le presse-papiers. - + Game region copied to clipboard. Région du jeu copiée dans le presse-papiers. - + Game compatibility copied to clipboard. Compatibilité du jeu copiée dans le presse-papiers. - + Game path copied to clipboard. Chemin d'accès au jeu copié dans le presse-papiers. - + Controller settings reset to default. Paramètres des manettes réinitialisés. - + No input profiles available. Aucun profil d'entrée disponible. - + Create New... Créer un profil… - + Enter the name of the input profile you wish to create. Saisissez le nom du profil d'entrée que vous souhaitez créer. - + Are you sure you want to restore the default settings? Any preferences will be lost. Voulez-vous vraiment rétablir les paramètres par défaut ? Toutes vos préférences seront perdues. - + Settings reset to defaults. Paramètres réinitialisés. - + No save present in this slot. Aucune sauvegarde à cet emplacement. - + No save states found. Aucune sauvegarde d'état trouvée. - + Failed to delete save state. Échec de la suppression de la sauvegarde d'état. - + Failed to copy text to clipboard. Échec de la copie des données vers le presse-papiers. - + This game has no achievements. Aucun succès disponible pour ce jeu. - + This game has no leaderboards. Aucun classement disponible pour ce jeu. - + Reset System Réinitialiser le système - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Le mode Hardcore sera activé après la réinitialisation du système. Voulez-vous réinitialiser le système maintenant ? - + Launch a game from images scanned from your game directories. Lancez un jeu à partir d'images scannées dans vos dossiers à jeux. - + Launch a game by selecting a file/disc image. Lancez un jeu en sélectionnant une image disque ou un fichier. - + Start the console without any disc inserted. Démarrez la console sans insérer de jeu. - + Start a game from a disc in your PC's DVD drive. Lancez un jeu à partir du disque se trouvant dans le lecteur DVD de votre PC. - + No Binding Aucune - + Setting %s binding %s. %s : association de %s. - + Push a controller button or axis now. Appuyez sur un bouton ou poussez un axe de votre manette. - + Timing out in %.0f seconds... %.0f secondes restantes… - + Unknown Inconnu(e) - + OK OK - + Select Device Sélectionnez un périphérique - + Details Détails - + Options Options - + Copies the current global settings to this game. Copier les paramètres globaux actuels dans les paramètres propres à ce jeu. - + Clears all settings set for this game. Effacer tous les paramètres définis pour ce jeu. - + Behaviour Comportement - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Empêcher l'économiseur d'écran de s'activer et l'hôte de se mettre en veille pendant que l'émulation est en cours d'exécution. - + Shows the game you are currently playing as part of your profile on Discord. Afficher le jeu auquel vous êtes en train de jouer dans votre profil Discord. - + Pauses the emulator when a game is started. Mettre en pause l'émulateur au lancement d'un jeu. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Mettre en pause l'émulateur lorsque vous minimisez la fenêtre ou que vous utilisez une autre application. L'émulation reprendra lorsque vous reviendrez sur PCSX2. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Mettre en pause l'émulateur lorsque vous ouvrez le menu rapide et reprendre l'émulation lorsque vous le fermez. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Une confirmation vous sera demandée lors de l'utilisation du raccourci « Éteindre la machine virtuelle ». - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Enregistrer automatiquement l'état de l'émulateur lorsque vous éteignez le système ou que vous quittez PCSX2. Vous pourrez ensuite reprendre directement à partir de l'endroit où vous avez arrêté de jouer. - + Uses a light coloured theme instead of the default dark theme. Utiliser un thème clair à la place du thème sombre par défaut. - + Game Display Affichage du jeu - + Switches between full screen and windowed when the window is double-clicked. Basculer entre les modes Plein écran et Fenêtré lors d'un double-clic dans la fenêtre. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Masquer le pointeur/curseur de la souris lorsque le mode Plein écran est activé. - + Determines how large the on-screen messages and monitor are. Déterminez la taille des graphiques et des messages affichés à l'écran. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Afficher un message à l'écran lors d'événements tels que la création ou le chargement d'une sauvegarde d'état, la prise d'une capture d'écran, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Afficher la vitesse d'émulation actuelle du système en pourcentage dans le coin supérieur droit de l'écran. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Afficher le nombre d'images (ou de synchronisations verticales) du système par seconde dans le coin supérieur droit de l'écran. - + Shows the CPU usage based on threads in the top-right corner of the display. Afficher l'utilisation du CPU en fonction des threads dans le coin supérieur droit de l'écran. - + Shows the host's GPU usage in the top-right corner of the display. Afficher l'utilisation du GPU de l'hôte dans le coin supérieur droit de l'écran. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Afficher des statistiques sur le GS (primitives, draw calls) dans le coin supérieur droit de l'écran. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Afficher des indicateurs lorsque vous activez l'avance rapide, mettez en pause, ou qu'un autre état anormal est actif. - + Shows the current configuration in the bottom-right corner of the display. Afficher la configuration actuelle dans le coin inférieur droit de l'écran. - + Shows the current controller state of the system in the bottom-left corner of the display. Afficher l'état système de la manette dans le coin inférieur gauche de l'écran. - + Displays warnings when settings are enabled which may break games. Afficher des avertissements lorsque des paramètres pouvant affecter le bon fonctionnement des jeux sont activés. - + Resets configuration to defaults (excluding controller settings). Réinitialiser la configuration (sauf les paramètres des manettes). - + Changes the BIOS image used to start future sessions. Sélectionnez l'image de BIOS à utiliser lors des prochaines sessions. - + Automatic Automatique - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Par défaut - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Basculer automatiquement en mode Plein écran au lancement d'un jeu. - + On-Screen Display Affichage à l'écran - + %d%% %d %% - + Shows the resolution of the game in the top-right corner of the display. Afficher la résolution du jeu dans le coin supérieur droit de l'écran. - + BIOS Configuration Configuration du BIOS - + BIOS Selection Sélection du BIOS - + Options and Patches Options et patchs - + Skips the intro screen, and bypasses region checks. Passer l'écran de démarrage et faire fonctionner les jeux provenant d'autres régions. - + Speed Control Contrôle de la vitesse - + Normal Speed Vitesse normale - + Sets the speed when running without fast forwarding. Définissez la vitesse d'exécution hors avance rapide. - + Fast Forward Speed Vitesse d'avance rapide - + Sets the speed when using the fast forward hotkey. Définissez la vitesse à utiliser lors de l'utilisation du raccourci « Avance rapide ». - + Slow Motion Speed Vitesse du ralenti - + Sets the speed when using the slow motion hotkey. Définissez la vitesse à utiliser lors de l'utilisation du raccourci « Activer/Désactiver le ralenti ». - + System Settings Paramètres système - + EE Cycle Rate Cadence de l'EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocker ou overclocker le CPU de l'Emotion Engine émulé. - + EE Cycle Skipping Saut de cycle EE - + Enable MTVU (Multi-Threaded VU1) Activer MTVU (VU1 multithreadée) - + Enable Instant VU1 Activer Instant VU1 - + Enable Cheats Activer les codes de triche - + Enables loading cheats from pnach files. Activer le chargement des codes de triche à partir des fichiers pnach. - + Enable Host Filesystem Activer le système de fichiers hôte - + Enables access to files from the host: namespace in the virtual machine. Activer l'accès aux fichiers de l'hôte dans la machine virtuelle par l'espace de noms « host: ». - + Enable Fast CDVD Activer Fast CDVD - + Fast disc access, less loading times. Not recommended. Accès rapide au disque et temps de chargement plus courts. Déconseillé. - + Frame Pacing/Latency Control Cadence d'image et contrôle de la latence - + Maximum Frame Latency Latence d'image maximale - + Sets the number of frames which can be queued. Définissez le nombre d'images pouvant être mises en attente. - + Optimal Frame Pacing Cadence d'image optimale - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchroniser les threads EE et GS après chaque image. La latence d'entrée sera minimisée mais cela demandera plus de ressources. - + Speeds up emulation so that the guest refresh rate matches the host. Accélérer l'émulation pour que le taux de rafraîchissement de l'invité corresponde à celui de l'hôte. - + Renderer Moteur de rendu - + Selects the API used to render the emulated GS. Sélectionnez l'API à utiliser pour le rendu du GS émulé. - + Synchronizes frame presentation with host refresh. Synchroniser la présentation des images avec le rafraîchissement de l'hôte. - + Display Affichage - + Aspect Ratio Format d'image - + Selects the aspect ratio to display the game content at. Sélectionnez le format d'image à utiliser pour l'affichage du jeu. - + FMV Aspect Ratio Override Format d'image pendant les FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Sélectionnez le format d'image à utiliser lorsque la lecture d'une cinématique vidéo est détectée. - + Deinterlacing Désentrelacement - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Sélectionnez l'algorithme à utiliser pour convertir la sortie entrelacée de la PS2 en signal progressif adapté à l'affichage. - + Screenshot Size Taille des captures d'écran - + Determines the resolution at which screenshots will be saved. Déterminez la résolution à laquelle les captures d'écran doivent être enregistrées. - + Screenshot Format Format des captures d'écran - + Selects the format which will be used to save screenshots. Sélectionnez le format à utiliser pour enregistrer les captures d'écran. - + Screenshot Quality Qualité des captures d'écran - + Selects the quality at which screenshots will be compressed. Sélectionnez la qualité des captures d'écran compressées. - + Vertical Stretch Étirement vertical - + Increases or decreases the virtual picture size vertically. Agrandir ou réduire verticalement l'image virtuelle. - + Crop Rognage - + Crops the image, while respecting aspect ratio. Rogner l'affichage tout en respectant le format d'image. - + %dpx %d px - - Enable Widescreen Patches - Activer les patchs écran large - - - - Enables loading widescreen patches from pnach files. - Activer le chargement des patchs écran large à partir des fichiers pnach. - - - - Enable No-Interlacing Patches - Patchs de désactivation de l'entrelacement - - - - Enables loading no-interlacing patches from pnach files. - Activer le chargement des patchs de désactivation de l'entrelacement à partir des fichiers pnach. - - - + Bilinear Upscaling Mise à l'échelle bilinéaire - + Smooths out the image when upscaling the console to the screen. La mise à l'échelle bilinéaire lisse l'image lors de la mise à l'échelle de la sortie vidéo de la console à la résolution de l'écran. - + Integer Upscaling Mise à l'échelle par multiplicateur entier - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Ajouter une zone de remplissage autour de la sortie vidéo pour s'assurer que le ratio entre les pixels de l'hôte et les pixels de la console soit un nombre entier. Vous obtiendrez une image plus nette dans certains jeux 2D. - + Screen Offsets Décalage de l'écran - + Enables PCRTC Offsets which position the screen as the game requests. Activer les « PCRTC Offsets » qui permettent de positionner l'écran comme demandé par le jeu. - + Show Overscan Surbalayage (overscan) - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Afficher la zone de surbalayage pour les jeux qui dessinent au-delà de la zone sûre de l'écran. - + Anti-Blur Anti-flou - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Activer les hacks internes anti-flou. L'image sera moins fidèle au rendu PS2 mais cela rendra beaucoup de jeux moins flous. - + Rendering Rendu - + Internal Resolution Résolution interne - + Multiplies the render resolution by the specified factor (upscaling). Multiplier la résolution du rendu par la valeur spécifiée (mise à l'échelle du rendu). - + Mipmapping Mipmapping - + Bilinear Filtering Filtrage bilinéaire - + Selects where bilinear filtering is utilized when rendering textures. Sélectionnez où utiliser le filtrage bilinéaire dans le rendu des textures. - + Trilinear Filtering Filtrage trilinéaire - + Selects where trilinear filtering is utilized when rendering textures. Sélectionnez où utiliser le filtrage trilinéaire dans le rendu des textures. - + Anisotropic Filtering Filtrage anisotrope - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Sélectionnez le type de dithering à appliquer lorsque le jeu demande son utilisation. - + Blending Accuracy - Précision des fusions + Fidélité des fusions - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Déterminez le niveau de précision de l'émulation des modes de fusion qui ne sont pas pris en charge par le moteur de rendu de l'hôte. - + Texture Preloading Préchargement des textures - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Transférer au GPU les textures à utiliser dans leur entièreté, plutôt que des régions spécifiques. Cela peut améliorer les performances dans certains jeux. - + Software Rendering Threads Threads de rendu logiciel - + Number of threads to use in addition to the main GS thread for rasterization. Nombre de threads à utiliser pour la rastérisation en plus du thread principal du GS. - + Auto Flush (Software) Purge auto. (logiciel) - + Force a primitive flush when a framebuffer is also an input texture. Forcer une purge des primitives lorsqu'un framebuffer est aussi utilisé comme texture d'entrée. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Activer l'émulation de l'edge anti-aliasing du GS (AA1). - + Enables emulation of the GS's texture mipmapping. Activer l'émulation du mipmapping des textures du GS. - + The selected input profile will be used for this game. Le profil d'entrée sélectionné sera utilisé pour ce jeu. - + Shared Partagé - + Input Profile Profil d'entrée - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Afficher une interface permettant de sélectionner une sauvegarde d'état lors du changement d'emplacement de sauvegarde, plutôt que d'afficher une bulle de notification. + + + Shows the current PCSX2 version on the top-right corner of the display. Afficher la version actuelle de PCSX2 dans le coin supérieur droit de l'écran. - + Shows the currently active input recording status. Afficher l'état de l'enregistrement d'entrées en cours. - + Shows the currently active video capture status. Afficher l'état de la capture vidéo en cours. - + Shows a visual history of frame times in the upper-left corner of the display. Afficher un historique visuel des durées d'image dans le coin supérieur gauche de l'écran. - + Shows the current system hardware information on the OSD. Afficher à l'écran les informations sur le matériel du système actuel. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Associer manuellement les threads de l'émulateur aux cœurs CPU pour améliorer potentiellement les performances et lisser les variations de durée d'image. - + + Enable Widescreen Patches + Activer les patchs écran large + + + + Enables loading widescreen patches from pnach files. + Activer le chargement des patchs écran large à partir des fichiers pnach. + + + + Enable No-Interlacing Patches + Activer les patchs de désactivation de l'entrelacement + + + + Enables loading no-interlacing patches from pnach files. + Activer le chargement des patchs de désactivation de l'entrelacement à partir des fichiers pnach. + + + Hardware Fixes Correctifs matériels - + Manual Hardware Fixes Correctifs matériels manuels - + Disables automatic hardware fixes, allowing you to set fixes manually. Désactiver les correctifs matériels automatiques pour pouvoir choisir manuellement les correctifs à appliquer. - + CPU Sprite Render Size Taille du rendu CPU des sprites - + Uses software renderer to draw texture decompression-like sprites. Utiliser le moteur de rendu logiciel pour les dessins identifiés comme étant de la décompression de textures. - + CPU Sprite Render Level Niveau du rendu CPU des sprites - + Determines filter level for CPU sprite render. Déterminez le niveau de filtre pour le rendu CPU des sprites. - + Software CLUT Render Rendu logiciel des CLUT - + Uses software renderer to draw texture CLUT points/sprites. Utiliser le moteur de rendu logiciel pour dessiner les points et les sprites des textures de palettes. - + Skip Draw Start Début du Skipdraw - + Object range to skip drawing. Valeurs limites des objets à ne pas dessiner. - + Skip Draw End Fin du Skipdraw - + Auto Flush (Hardware) Purge auto. (matériel) - + CPU Framebuffer Conversion Conversion CPU des framebuffers - + Disable Depth Conversion Désactiver la conversion des profondeurs - + Disable Safe Features Désactiver les fonctionnalités sûres - + This option disables multiple safe features. Cette option désactive plusieurs fonctionnalités sûres. - + This option disables game-specific render fixes. Cette option désactive les correctifs de rendu propres à chaque jeu. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. - Transférer les données du GS lors du rendu d'une nouvelle image pour reproduire correctement certains effets. + Transférer les données du GS lors du rendu d'une nouvelle image pour reproduire fidèlement certains effets. - + Disable Partial Invalidation Désactiver l'invalidation partielle - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Supprimer les entrées du cache des textures comportant des régions d'autres entrées, plutôt que de supprimer les régions en double. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Autoriser le cache des textures à utiliser en texture d'entrée une partie d'un framebuffer précédent. - + Read Targets When Closing Lire les cibles lors de la fermeture - + Flushes all targets in the texture cache back to local memory when shutting down. Au moment d'éteindre la machine virtuelle, transférer les cibles du cache des textures dans la mémoire locale. - + Estimate Texture Region Estimer la taille des textures - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Essayer de réduire la taille des textures lorsque les jeux ne la définissent pas eux-mêmes (exemple : les jeux Snowblind). - + GPU Palette Conversion Conversion de palette GPU - + Upscaling Fixes Correctifs de mise à l'échelle - + Adjusts vertices relative to upscaling. Ajuster les sommets en fonction du niveau de mise à l'échelle. - + Native Scaling Mise à l'échelle native - + Attempt to do rescaling at native resolution. Tenter d'effectuer à la mise à l'échelle à la résolution native. - + Round Sprite Arrondir les sprites - + Adjusts sprite coordinates. Ajuster les coordonnées des sprites. - + Bilinear Upscale Mise à l'échelle bilinéaire - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Cette option permet, lors de la mise à l'échelle, de lisser les textures sur lesquelles le filtrage bilinéaire est appliqué. Exemple : la lueur du soleil dans Brave. - + Adjusts target texture offsets. Ajuster le décalage des textures cibles. - + Align Sprite Aligner les sprites - + Fixes issues with upscaling (vertical lines) in some games. Corriger des problèmes liés à la mise à l'échelle, comme les lignes verticales apparaissant dans certains jeux. - + Merge Sprite Fusionner les sprites - + Replaces multiple post-processing sprites with a larger single sprite. Fusionner les sprites sur lesquels le post-traitement doit être appliqué. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Diminuer la précision du GS pour éviter les écarts entre les pixels lors de la mise à l'échelle. Corrige le texte sur les jeux Wild Arms. - + Unscaled Palette Texture Draws Ne pas redimensionner les textures de palette - + Can fix some broken effects which rely on pixel perfect precision. Activer cette option peut corriger certains effets nécessitant une précision au pixel près. - + Texture Replacement Textures de remplacement - + Load Textures Charger les textures - + Loads replacement textures where available and user-provided. Charger les textures de remplacement fournies par l'utilisateur. - + Asynchronous Texture Loading Chargement asynchrone des textures - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Charger les textures de remplacement sur un thread séparé afin d'éviter les micro-ralentissements lorsque les textures de remplacement sont activées. - + Precache Replacements Mise en cache anticipée des textures de remplacement - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Précharger en mémoire l'ensemble des textures de remplacement. L'activation de cette option n'est pas nécessaire si le chargement asynchrone est activé. - + Replacements Directory Dossier des textures de remplacement - + Folders Dossiers - + Texture Dumping Dumping des textures - + Dump Textures Dumper les textures - + Dump Mipmaps Dumper les mipmaps - + Includes mipmaps when dumping textures. Inclure les mipmaps lors du dumping des textures. - + Dump FMV Textures Dumper les textures des FMV - + Allows texture dumping when FMVs are active. You should not enable this. Autoriser le dumping des textures lorsqu'une cinématique vidéo est en cours de lecture. Vous ne devriez pas activer cette option. - + Post-Processing Post-traitement - + FXAA FXAA - + Enables FXAA post-processing shader. Activer le shader de post-traitement FXAA. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Activer FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness Netteté CAS - + Determines the intensity the sharpening effect in CAS post-processing. Déterminez l'intensité de l'effet de netteté du post-traitement CAS. - + Filters Filtres - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Activer l'ajustement de la luminosité, du contraste et de la saturation. - + Shade Boost Brightness Luminosité Shade Boost - + Adjusts brightness. 50 is normal. Ajustez la luminosité. 50 correspond à la luminosité normale. - + Shade Boost Contrast Contraste Shade Boost - + Adjusts contrast. 50 is normal. Ajustez le contraste. 50 correspond au contraste normal. - + Shade Boost Saturation Saturation Shade Boost - + Adjusts saturation. 50 is normal. Ajustez la saturation. 50 correspond à la saturation normale. - + TV Shaders Shaders TV - + Advanced Avancé - + Skip Presenting Duplicate Frames Passer la présentation des images en double - + Extended Upscaling Multipliers Multiplicateurs de mise à l'échelle étendus - + Displays additional, very high upscaling multipliers dependent on GPU capability. Afficher des multiplicateurs de mise à l'échelle supplémentaires. Ces valeurs sont très grandes et dépendent des capacités du GPU. - + Hardware Download Mode Mode de téléchargement matériel - + Changes synchronization behavior for GS downloads. Modifier la façon dont la synchronisation des téléchargements GS s'effectue. - + Allow Exclusive Fullscreen Autoriser le mode Plein écran exclusif - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Modifier les heuristiques du pilote pour activer le mode Plein écran exclusif, aussi appelé « direct flip » ou « direct scanout ». - + Override Texture Barriers Barrières de texture - + Forces texture barrier functionality to the specified value. Choisir le fonctionnement des barrières de texture. - + GS Dump Compression Compression des dumps du GS - + Sets the compression algorithm for GS dumps. Définissez l'algorithme de compression à utiliser pour les dumps du GS. - + Disable Framebuffer Fetch Désactiver la récupération du framebuffer - + Prevents the usage of framebuffer fetch when supported by host GPU. Empêcher la récupération du framebuffer par le GPU de l'hôte, s'il prend en charge l'opération. - + Disable Shader Cache Désactiver le cache des shaders - + Prevents the loading and saving of shaders/pipelines to disk. Empêcher le chargement et l'enregistrement des shaders et des pipelines sur le disque dur. - + Disable Vertex Shader Expand Désactiver l'expansion par vertex shader - + Falls back to the CPU for expanding sprites/lines. Utiliser le CPU pour étendre les sprites et les lignes. - + Changes when SPU samples are generated relative to system emulation. Modifier le moment où les échantillons SPU doivent être générés par rapport à l'émulation du système. - + %d ms %d ms - + Settings and Operations Paramètres et opérations - + Creates a new memory card file or folder. Créer une nouvelle Memory Card au format fichier ou dossier. - + Simulates a larger memory card by filtering saves only to the current game. Simuler une Memory Card plus grande en cachant aux jeux les sauvegardes provenant d'autres jeux. - + If not set, this card will be considered unplugged. En désactivant cette option, la Memory Card est considérée comme retirée. - + The selected memory card image will be used for this slot. L'image de Memory Card sélectionnée sera utilisée dans cette fente. - + Enable/Disable the Player LED on DualSense controllers. Activer/Désactiver l'indicateur de joueur des manettes DualSense. - + Trigger Déclencheur - + Toggles the macro when the button is pressed, instead of held. Activez/Désactivez la macro en appuyant sur le bouton plutôt qu'en le maintenant appuyé. - + Savestate Sauvegardes d'état - + Compression Method Méthode de compression - + Sets the compression algorithm for savestate. Définissez l'algorithme de compression des sauvegardes d'état. - + Compression Level Niveau de compression - + Sets the compression level for savestate. Définissez le niveau de compression des sauvegardes d'état. - + Version: %s Version : %s - + {:%H:%M} {:%H:%M} - + Slot {} Fente {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/Full HD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Agressif - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Faible (rapide) - + Medium (Recommended) Moyen (recommandé) - + Very High (Slow, Not Recommended) Très élevé (lent, non recommandé) - + Change Selection Modifier la sélection - + Select Sélectionner - + Parent Directory Dossier parent - + Enter Value Saisir une valeur - + About À propos - + Toggle Fullscreen Activer/Désactiver le mode Plein écran - + Navigate Naviguer - + Load Global State Charger un état global - + Change Page Changer de page - + Return To Game Revenir au jeu - + Select State Sélectionnez un état - + Select Game Sélectionner un jeu - + Change View Changer de mode d'affichage - + Launch Options Options de lancement - + Create Save State Backups Créer une copie des sauvegardes d'état - + Show PCSX2 Version Afficher la version de PCSX2 - + Show Input Recording Status Afficher l'état de l'enregistrement d'entrées - + Show Video Capture Status Afficher l'état de la capture vidéo - + Show Frame Times Afficher les durées d'image - + Show Hardware Info Afficher les infos sur le matériel - + Create Memory Card Créer une Memory Card - + Configuration Configuration - + Start Game Lancer un jeu - + Launch a game from a file, disc, or starts the console without any disc inserted. Lancez un jeu à partir d'un fichier ou d'un disque, ou démarrez la console sans insérer de jeu. - + Changes settings for the application. Modifiez les paramètres de l'application. - + Return to desktop mode, or exit the application. Repassez en mode Bureau ou quittez l'application. - + Back Retour - + Return to the previous menu. Retournez au menu précédent. - + Exit PCSX2 Quitter PCSX2 - + Completely exits the application, returning you to your desktop. Quittez entièrement l'application et revenez à votre bureau. - + Desktop Mode Mode Bureau - + Exits Big Picture mode, returning to the desktop interface. Quittez le mode Big Picture et repassez à l'interface de bureau. - + Resets all configuration to defaults (including bindings). Réinitialiser toute la configuration (dont les paramètres des manettes). - + Replaces these settings with a previously saved input profile. Remplacer les paramètres actuels par les paramètres d'un profil d'entrée enregistré précédemment. - + Stores the current settings to an input profile. Enregistrer les paramètres actuels dans un profil d'entrée. - + Input Sources Sources d'entrées - + The SDL input source supports most controllers. La source d'entrées SDL permet la prise en charge de la plupart des manettes. - + Provides vibration and LED control support over Bluetooth. Activer la prise en charge des vibrations et le contrôle des LED par Bluetooth. - + Allow SDL to use raw access to input devices. Autoriser SDL à utiliser l'accès brut aux périphériques d'entrée. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. La source XInput permet la prise en charge des manettes Xbox 360, Xbox One et Xbox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Ajouter trois ports de manette supplémentaires. Le multitap n'est pas pris en charge par tous les jeux. - + Attempts to map the selected port to a chosen controller. Essayer d'assigner le périphérique de votre choix au port sélectionné. - + Determines how much pressure is simulated when macro is active. Déterminez la quantité de pression à simuler lors de l'utilisation de la macro. - + Determines the pressure required to activate the macro. Déterminez la quantité de pression requise pour activer la macro. - + Toggle every %d frames Alterner l'état toutes les %d images - + Clears all bindings for this USB controller. Effacer toutes les associations pour cette manette USB. - + Data Save Locations Emplacements d'enregistrement des données - + Show Advanced Settings Afficher les paramètres avancés - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Modifier ces options pourrait rendre vos jeux inutilisables. C'est à vos risques et périls : l'équipe PCSX2 ne fournira aucune assistance aux utilisateurs ayant modifié ces paramètres. - + Logging Journalisation - + System Console Console système - + Writes log messages to the system console (console window/standard output). Journaliser les événements dans la console système (fenêtre de la console ou sortie standard). - + File Logging Journalisation dans un fichier - + Writes log messages to emulog.txt. Écrire les messages du journal dans le fichier emulog.txt. - + Verbose Logging Journalisation détaillée - + Writes dev log messages to log sinks. Envoyer les messages destinés aux développeurs vers les puits de logs. - + Log Timestamps Horodatage des messages du journal - + Writes timestamps alongside log messages. Horodater les messages du journal. - + EE Console Console EE - + Writes debug messages from the game's EE code to the console. Écrire dans la console les messages de débogage du jeu provenant du code exécuté sur l'EE. - + IOP Console Console IOP - + Writes debug messages from the game's IOP code to the console. Écrire dans la console les messages de débogage du jeu provenant du code exécuté sur l'IOP. - + CDVD Verbose Reads Détails des lectures CDVD - + Logs disc reads from games. Journaliser les lectures du disque par les jeux. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Déterminez la manière d'arrondir les résultats des opérations sur des nombres à virgule flottante. Il peut être nécessaire d'ajuster ce paramètre pour certains jeux. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Déterminez la manière d'arrondir les résultats des divisions avec des nombres à virgule flottante. Il peut être nécessaire d'ajuster ce paramètre pour certains jeux. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Déterminez la manière de gérer les nombres à virgule flottante hors limites. Il peut être nécessaire d'ajuster ce paramètre pour certains jeux. - + Enable EE Recompiler Activer le recompilateur EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Traduire dynamiquement le code machine MIPS-IV 64 bits en code natif. - + Enable EE Cache Activer le cache de l'EE - + Enables simulation of the EE's cache. Slow. Activer la simulation du cache de l'EE. Activer l'option dégrade les performances. - + Enable INTC Spin Detection Activer la détection des boucles INTC - + Huge speedup for some games, with almost no compatibility side effects. Amélioration colossale des performances de certains jeux. Impact sur la compatibilité très faible. - + Enable Wait Loop Detection Activer la détection de l'attente active - + Moderate speedup for some games, with no known side effects. Amélioration modérée des performances de certains jeux et aucun effet négatif connu. - + Enable Fast Memory Access Activer l'accès rapide à la mémoire - + Uses backpatching to avoid register flushing on every memory access. Utiliser le backpatching pour éviter de transférer le contenu des registres dans la mémoire de l'hôte à chaque accès à la mémoire. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Activer le recompilateur VU0 (mode Micro) - + New Vector Unit recompiler with much improved compatibility. Recommended. Nouveau recompilateur pour les Vector Units dont la compatibilité a été grandement améliorée. Activation recommandée. - + Enable VU1 Recompiler Activer le recompilateur VU1 - + Enable VU Flag Optimization Activer l'optimisation du VU Status Flag - + Good speedup and high compatibility, may cause graphical errors. Bonne amélioration des performances et compatibilité élevée, mais peut causer des problèmes d'affichage. - + I/O Processor I/O Processor - + Enable IOP Recompiler Activer le recompilateur IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Traduire dynamiquement le code machine MIPS-I 32 bits en code natif. - + Graphics Graphismes - + Use Debug Device Utiliser le périphérique de débogage - + Settings Paramètres - + No cheats are available for this game. Aucun code de triche disponible pour ce jeu. - + Cheat Codes Codes de triche - + No patches are available for this game. Aucun patch disponible pour ce jeu. - + Game Patches Patchs - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. L'activation des codes de triche peut entraîner des comportements imprévisibles tels que des plantages, des soft-locks ou la corruption de vos sauvegardes. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. L'activation des patchs peut entraîner des comportements imprévisibles tels que des plantages, des soft-locks ou la corruption de vos sauvegardes. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Utilisez les patchs à vos risques et périls, l'équipe PCSX2 ne fournira aucune assistance aux utilisateurs qui ont activé les patchs. - + Game Fixes Correctifs - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Ne modifiez pas les correctifs vous-même, à moins que vous compreniez la signification de chaque option et ce que leur activation implique. - + FPU Multiply Hack Hack « FPU Multiply » - + For Tales of Destiny. Pour Tales of Destiny. - + Preload TLB Hack Hack « Preload TLB » - + Needed for some games with complex FMV rendering. Nécessaire pour certains jeux dont le rendu des cinématiques vidéo est complexe. - + Skip MPEG Hack Hack « Skip MPEG » - + Skips videos/FMVs in games to avoid game hanging/freezes. Passer les cinématiques vidéo (FMV) des jeux afin d'éviter les freezes. - + OPH Flag Hack Hack « OPH Flag » - + EE Timing Hack Hack « EE Timing » - + Instant DMA Hack Hack « Instant DMA » - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Affecte les jeux connus suivants : Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Pour l'ATH de SOCOM 2 et le freeze pendant les chargements dans Spy Hunter. - + VU Add Hack Hack « VU Add » - + Full VU0 Synchronization Synchronisation complète de la VU0 - + Forces tight VU0 sync on every COP2 instruction. Forcer une synchronisation forte de la VU0 à chaque instruction COP2. - + VU Overflow Hack Hack « VU Overflow » - + To check for possible float overflows (Superman Returns). Prendre en charge les débordements éventuels des nombres flottants (Superman Returns). - + Use accurate timing for VU XGKicks (slower). - Cadencer précisément les XGKicks des VU (lent). + Cadencer fidèlement les XGKicks des VU (lent). - + Load State Charger un état - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Contraindre l'Emotion Engine émulé à passer des cycles. Cette option peut aider un nombre restreint de jeux tels que SOTC. La plupart du temps, activer l'option dégrade les performances. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Cette option améliore généralement les performances si vous avez un CPU avec 4 cœurs ou plus. Fonctionne bien avec la plupart des jeux, mais certains jeux sont incompatibles et pourraient se bloquer. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Exécute instantanément la VU1. Option sûre qui fournit une amélioration modeste des performances dans la plupart des jeux. Peut néanmoins causer des problèmes d'affichage dans certains jeux. - + Disable the support of depth buffers in the texture cache. Désactiver la prise en charge des depth buffers dans le cache des textures. - + Disable Render Fixes Désactiver les correctifs de rendu - + Preload Frame Data Précharger les données des images - + Texture Inside RT Texture dans la cible du rendu - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Lorsque cette option est activée, le GPU convertit les textures utilisant une palette à la place du CPU. Il s'agit d'un moyen de répartir la charge de travail entre le GPU et le CPU. - + Half Pixel Offset Décalage demi-pixel - + Texture Offset X Décalage X des textures - + Texture Offset Y Décalage Y des textures - + Dumps replaceable textures to disk. Will reduce performance. Dumper sur le disque les textures pouvant être remplacées. Cela réduira les performances. - + Applies a shader which replicates the visual effects of different styles of television set. Appliquer un shader qui reproduit les effets visuels de différents types de télévisions. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Passer l'affichage des images identiques à la précédente dans les jeux à 25 ou 30 IPS. Peut améliorer les performances, au prix d'une latence d'entrée plus importante et d'une cadence d'image dégradée. - + Enables API-level validation of graphics commands. - Activer la validation au niveau de l'API des commandes graphiques. + Permet la validation des commandes graphiques au niveau de l'API. - + Use Software Renderer For FMVs Utiliser le moteur de rendu logiciel pour les cinématiques vidéo - + To avoid TLB miss on Goemon. Permet d'éviter un TLB Miss pendant l'émulation de Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Hack de timing à usage général. Affecte les jeux connus suivants : Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Corriger des problèmes d'émulation du cache. Affecte les jeux connus suivants : Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Affecte les jeux connus suivants : Bleach Blade Battlers, Growlanser II et III, Wizardry. - + Emulate GIF FIFO Émuler le FIFO de la GIF - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct mais plus lent. Affecte les jeux connus suivants : FIFA Street 2. - + DMA Busy Hack Hack « DMA Busy » - + Delay VIF1 Stalls Retarder les arrêts de la VIF1 - + Emulate VIF FIFO Émuler le FIFO de la VIF - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simuler le VIF1 FIFO readahead. Affecte les jeux connus suivants : Test Drive Unlimited, Transformers. - + VU I Bit Hack Hack « VU I Bit » - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Permet d'éviter de recompiler constamment dans certains jeux. Affecte les jeux connus suivants : Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Pour les jeux Tri-Ace : Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync Synchronisation des VU - + Run behind. To avoid sync problems when reading or writing VU registers. « Run Behind », éviter les problèmes de synchronisation lors des opérations de lecture et d'écriture dans les registres des VU. - + VU XGKick Sync Synchronisation par XGKick des VU - + Force Blit Internal FPS Detection Forcer la détection par BLIT de la fréquence d'images interne - + Save State Sauvegarder l'état - + Load Resume State Charger la sauvegarde automatique - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Voulez-vous charger cette sauvegarde et continuer ? - + Region: Région : - + Compatibility: Compatibilité : - + No Game Selected Aucun jeu sélectionné - + Search Directories Dossiers - + Adds a new directory to the game search list. Ajouter un nouveau dossier dans lequel rechercher des jeux à ajouter à la liste. - + Scanning Subdirectories Sous-dossiers à scanner - + Not Scanning Subdirectories Pas de scan des sous-dossiers - + List Settings Paramètres de la liste - + Sets which view the game list will open to. Définissez le mode d'affichage à utiliser lors de l'ouverture de la liste des jeux. - + Determines which field the game list will be sorted by. Déterminez par quel champ la liste des jeux sera triée. - + Reverses the game list sort order from the default (usually ascending to descending). Inverser l'ordre de tri par défaut de la liste des jeux (en général : croissant > décroissant). - + Cover Settings Paramètres des jaquettes - + Downloads covers from a user-specified URL template. Télécharger les jaquettes à partir d'une URL modèle fournie par l'utilisateur. - + Operations Opérations - + Selects where anisotropic filtering is utilized when rendering textures. Sélectionnez où utiliser le filtrage anisotrope dans le rendu des textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Utiliser une méthode alternative de calcul de la fréquence d'images interne (plus fiable avec certains jeux). - + Identifies any new files added to the game directories. Identifier les nouveaux fichiers ajoutés aux dossiers à jeux. - + Forces a full rescan of all games previously identified. Forcer un nouveau scan de tous les jeux précédemment identifiés. - + Download Covers Télécharger des jaquettes - + About PCSX2 À propos de PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 est un émulateur de PlayStation 2 (PS2) libre et open-source. Il vise à reproduire le comportement du matériel de la PS2 en combinant des interpréteurs et des recompilateurs de CPU MIPS avec une machine virtuelle gérant l'état du matériel et la mémoire du système PS2. PCSX2 vous permet de jouer à des jeux de PS2 sur votre PC et d'améliorer votre expérience de jeu en tirant partie du grand nombre de fonctionnalités mises à votre disposition. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 et PS2 sont des marques déposées de Sony Interactive Entertainment. Cette application n'est pas affiliée de quelque manière que ce soit à Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Lorsque cette option est activée et que vous êtes connecté(e) à RetroAchievements, PCSX2 scanne les succès à son lancement. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. Activer le mode Défi et les classements. La sauvegarde d'état, les codes de triche et le ralenti seront désactivés. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Afficher un pop-up lors d'événements tels qu'un succès déverrouillé ou la participation à un classement. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Jouer des effets sonores lors d'événements tels qu'un succès déverrouillé ou la participation à un classement. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Afficher l'icône des succès pouvant être débloqués dans le coin inférieur droit de l'écran. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Lorsque cette option est activée, PCSX2 liste les succès provenant d'ensembles non officiels. RetroAchievements n'effectue pas le suivi de ces succès. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Lorsque cette option est activée, PCSX2 considère que tous les succès sont verrouillés et aucune notification de déverrouillage n'est envoyée au serveur. - + Error Erreur - + Pauses the emulator when a controller with bindings is disconnected. Mettre en pause l'émulateur lorsqu'une manette associée est déconnectée. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Lors de la création d'une sauvegarde d'état, créer une copie de la sauvegarde existante. La copie de sauvegarde porte le suffixe .backup - + Enable CDVD Precaching Activer la mise en cache CDVD anticipée - + Loads the disc image into RAM before starting the virtual machine. Charger l'image disque en RAM avant de démarrer la machine virtuelle. - + Vertical Sync (VSync) Synchronisation verticale (VSync) - + Sync to Host Refresh Rate Synchronisation avec le taux de rafraîchissement de l'hôte - + Use Host VSync Timing Utiliser le timing VSync de l'hôte - + Disables PCSX2's internal frame timing, and uses host vsync instead. Désactiver le timing d'image interne de PCSX2 et utiliser la VSync de l'hôte à la place. - + Disable Mailbox Presentation Désactiver le mode de présentation Mailbox - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forcer l'utilisation du mode de présentation FIFO à la place du mode Mailbox, c'est-à-dire l'utilisation du double buffering à la place du triple buffering. Cela dégrade généralement la cadence d'image. - + Audio Control Contrôle de l'audio - + Controls the volume of the audio played on the host. Contrôlez le volume de l'audio joué sur l'hôte. - + Fast Forward Volume Volume pendant l'avance rapide - + Controls the volume of the audio played on the host when fast forwarding. Contrôlez le volume de l'audio joué sur l'hôte pendant l'avance rapide. - + Mute All Sound Couper tous les sons - + Prevents the emulator from producing any audible sound. Empêcher l'émulateur de produire tout son audible. - + Backend Settings Paramètres de backend - + Audio Backend Backend audio - + The audio backend determines how frames produced by the emulator are submitted to the host. Le backend audio détermine la manière dont les trames audio produites par l'émulateur sont transmises à l'hôte. - + Expansion Upmixing - + Determines how audio is expanded from stereo to surround for supported games. Déterminez la manière de transformer le son stéréo en son surround dans les jeux pris en charge. - + Synchronization Synchronisation - + Buffer Size Taille du tampon - + Determines the amount of audio buffered before being pulled by the host API. Déterminez la durée audio à mettre en mémoire tampon avant qu'elle soit récupérée par l'API hôte. - + Output Latency Latence de sortie - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Déterminez la latence entre le moment où l'audio est récupéré par l'API hôte, et le moment où il est joué sur les haut-parleurs. - + Minimal Output Latency Latence de sortie minimale - + When enabled, the minimum supported output latency will be used for the host API. Lorsque cette option est activée, l'API hôte utilise la latence de sortie la plus faible possible. - + Thread Pinning Épinglage des threads - + Force Even Sprite Position Forcer une position des sprites paire - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Afficher un pop-up lorsqu'un défi débute, lors de l'envoi de votre participation et lorsque vous échouez. - + When enabled, each session will behave as if no achievements have been unlocked. Lorsque cette option est activée, chaque session se comporte comme si tous les succès étaient verrouillés. - + Account Compte - + Logs out of RetroAchievements. Déconnectez-vous de RetroAchievements. - + Logs in to RetroAchievements. Connectez-vous à RetroAchievements. - + Current Game Jeu actuel - + An error occurred while deleting empty game settings: {} Une erreur s'est produite lors de la suppression des paramètres de jeu vides : {} - + An error occurred while saving game settings: {} Une erreur s'est produite lors de l'enregistrement des paramètres de jeu : {} - + {} is not a valid disc image. {} n'est pas une image disque valide. - + Automatic mapping completed for {}. Association automatique de {} réussie. - + Automatic mapping failed for {}. Association automatique de {} échouée. - + Game settings initialized with global settings for '{}'. Les paramètres du jeu ont été initialisés aux paramètres globaux pour « {} ». - + Game settings have been cleared for '{}'. Les paramètres du jeu ont été effacés pour « {} ». - + {} (Current) {} (actuel) - + {} (Folder) {} (dossier) - + Failed to load '{}'. Échec du chargement de « {} ». - + Input profile '{}' loaded. Profil d'entrée « {} » chargé. - + Input profile '{}' saved. Profil d'entrée « {} » enregistré. - + Failed to save input profile '{}'. Échec de l'enregistrement du profil « {} ». - + Port {} Controller Type Type de manette (port {}) - + Select Macro {} Binds Sélectionnez les associations de la macro {} - + Port {} Device Périphérique port {} - + Port {} Subtype Sous-type port {} - + {} unlabelled patch codes will automatically activate. {} codes de patch sans libellé seront activés automatiquement. - + {} unlabelled patch codes found but not enabled. {} codes de patch sans libellé ont été trouvés mais ils ne seront pas activés. - + This Session: {} Session actuelle : {} - + All Time: {} Temps total : {} - + Save Slot {0} Emplacement {0} - + Saved {} Sauvegardé {} - + {} does not exist. {} n'existe pas. - + {} deleted. {} supprimé. - + Failed to delete {}. Échec de la suppression de {}. - + File: {} Fichier : {} - + CRC: {:08X} CRC : {:08X} - + Time Played: {} Temps de jeu : {} - + Last Played: {} Dernier lancement : {} - + Size: {:.2f} MB Taille : {:.2f} Mo - + Left: Gauche : - + Top: Haut : - + Right: Droite : - + Bottom: Bas : - + Summary Résumé - + Interface Settings Paramètres de l'interface - + BIOS Settings Paramètres BIOS - + Emulation Settings Paramètres d'émulation - + Graphics Settings Paramètres des graphismes - + Audio Settings Paramètres audio - + Memory Card Settings Paramètres Memory Card - + Controller Settings Paramètres des manettes - + Hotkey Settings Paramètres des raccourcis - + Achievements Settings Paramètres des succès - + Folder Settings Paramètres des dossiers - + Advanced Settings Paramètres avancés - + Patches Patchs - + Cheats Triche - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2 % [1 IPS (NTSC), 1 IPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10 % [6 IPS (NTSC), 5 IPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25 % [15 IPS (NTSC), 12 IPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50 % [30 IPS (NTSC), 25 IPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75 % [45 IPS (NTSC), 37 IPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90 % [54 IPS (NTSC), 45 IPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100 % [60 IPS (NTSC), 50 IPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110 % [66 IPS (NTSC), 55 IPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120 % [72 IPS (NTSC), 60 IPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150 % [90 IPS (NTSC), 75 IPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175 % [105 IPS (NTSC), 87 IPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200 % [120 IPS (NTSC), 100 IPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300 % [180 IPS (NTSC), 150 IPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400 % [240 IPS (NTSC), 200 IPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500 % [300 IPS (NTSC), 250 IPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000 % [600 IPS (NTSC), 500 IPS (PAL)] - + 50% Speed 50 % - + 60% Speed 60 % - + 75% Speed 75 % - + 100% Speed (Default) 100 % (par défaut) - + 130% Speed 130 % - + 180% Speed 180 % - + 300% Speed 300 % - + Normal (Default) Normal (par défaut) - + Mild Underclock Underclock léger - + Moderate Underclock Underclock modéré - + Maximum Underclock Underclock maximal - + Disabled Désactivé - + 0 Frames (Hard Sync) 0 image (synchronisation forte) - + 1 Frame 1 image - + 2 Frames 2 images - + 3 Frames 3 images - + None Aucun - + Extra + Preserve Sign Extra + préserver le signe - + Full Complet - + Extra Extra - + Automatic (Default) Automatique (par défaut) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Logiciel - + Null Inactif - + Off Désactivé - + Bilinear (Smooth) Bilinéaire (lisse) - + Bilinear (Sharp) Bilinéaire (net) - + Weave (Top Field First, Sawtooth) Weave (trame du haut en premier, effet dents de scie) - + Weave (Bottom Field First, Sawtooth) Weave (trame du bas en premier, effet dents de scie) - + Bob (Top Field First) Bob (trame du haut en premier) - + Bob (Bottom Field First) Bob (trame du bas en premier) - + Blend (Top Field First, Half FPS) Blend (trame du haut en premier, IPS divisées de moitié) - + Blend (Bottom Field First, Half FPS) Blend (trame du bas en premier, IPS divisées de moitié) - + Adaptive (Top Field First) Adaptatif (trame du haut en premier) - + Adaptive (Bottom Field First) Adaptatif (trame du bas en premier) - + Native (PS2) Native (PS2) - + Nearest Nearest (au plus proche) - + Bilinear (Forced) Bilinéaire (forcé) - + Bilinear (PS2) Bilinéaire (PS2) - + Bilinear (Forced excluding sprite) Bilinéaire (forcé, sprites exclus) - + Off (None) Désactivé - + Trilinear (PS2) Trilinéaire (PS2) - + Trilinear (Forced) Trilinéaire (forcé) - + Scaled Mis à l'échelle - + Unscaled (Default) Taille originale (par défaut) - + Minimum Minimale - + Basic (Recommended) Basique (recommandé) - + Medium Moyenne - + High Élevée - + Full (Slow) Complète (lent) - + Maximum (Very Slow) Maximale (très lent) - + Off (Default) Désactivé (par défaut) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partiel - + Full (Hash Cache) Complet (Hash Cache) - + Force Disabled Désactivé (forcé) - + Force Enabled Activé (forcé) - + Accurate (Recommended) - Précis (recommandé) + Fidèle (recommandé) - + Disable Readbacks (Synchronize GS Thread) Désactiver les readbacks (synchroniser le thread GS) - + Unsynchronized (Non-Deterministic) Non synchronisé (non déterministe) - + Disabled (Ignore Transfers) Désactivé (ignorer les transferts) - + Screen Resolution Résolution d'affichage - + Internal Resolution (Aspect Uncorrected) Résolution interne (format original) - + Load/Save State Charger/Sauvegarder - + WARNING: Memory Card Busy ATTENTION : Memory Card occupée - + Cannot show details for games which were not scanned in the game list. Impossible d'afficher les détails des jeux ne faisant pas partie de la liste des jeux. - + Pause On Controller Disconnection Mettre en pause à la déconnexion d'une manette - + + Use Save State Selector + Utiliser le sélecteur de sauvegarde d'état + + + SDL DualSense Player LED Indicateur de joueur des manettes DualSense (SDL) - + Press To Toggle Appuyer pour activer/désactiver - + Deadzone Zone morte - + Full Boot Démarrage complet - + Achievement Notifications Notifications succès - + Leaderboard Notifications Notifications classement - + Enable In-Game Overlays Activer les overlays - + Encore Mode Mode Encore - + Spectator Mode Mode Spectateur - + PNG PNG - + - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Utiliser le CPU pour convertir les framebuffers 4 bits et 8 bits plutôt que le GPU. - + Removes the current card from the slot. Retirer la Memory Card actuelle de la fente. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Déterminez la fréquence à laquelle la macro doit alterner l'état des touches (autofire). - + {} Frames {} images - + No Deinterlacing Désactivé - + Force 32bit Forcer 32 bits - + JPEG JPEG - + 0 (Disabled) 0 (désactivé) - + 1 (64 Max Width) 1 (Largeur max. : 64) - + 2 (128 Max Width) 2 (Largeur max. : 128) - + 3 (192 Max Width) 3 (Largeur max. : 192) - + 4 (256 Max Width) 4 (Largeur max. : 256) - + 5 (320 Max Width) 5 (Largeur max. : 320) - + 6 (384 Max Width) 6 (Largeur max. : 384) - + 7 (448 Max Width) 7 (Largeur max. : 448) - + 8 (512 Max Width) 8 (Largeur max. : 512) - + 9 (576 Max Width) 9 (Largeur max. : 576) - + 10 (640 Max Width) 10 (Largeur max. : 640) - + Sprites Only Sprites uniquement - + Sprites/Triangles Sprites et triangles - + Blended Sprites/Triangles Sprites et triangles mélangés - + 1 (Normal) 1 (normal) - + 2 (Aggressive) 2 (agressif) - + Inside Target Dans la cible - + Merge Targets Fusionner les cibles - + Normal (Vertex) Normal (sommet) - + Special (Texture) Spécial (texture) - + Special (Texture - Aggressive) Spécial (texture, agressif) - + Align To Native Aligner au rendu à la résolution native - + Half Moitié - + Force Bilinear Forcer Bilinéaire - + Force Nearest Forcer Nearest - + Disabled (Default) Désactivé (par défaut) - + Enabled (Sprites Only) Activé (sprites uniquement) - + Enabled (All Primitives) Activé (toutes les primitives) - + None (Default) Désactivé (par défaut) - + Sharpen Only (Internal Resolution) Netteté uniquement (résolution interne) - + Sharpen and Resize (Display Resolution) Netteté et mise à l'échelle (résolution d'affichage) - + Scanline Filter Filtre scanline - + Diagonal Filter Filtre diagonale - + Triangular Filter Filtre triangulaire - + Wave Filter Filtre vague - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Sans compression - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8 Mo) - + PS2 (16MB) PS2 (16 Mo) - + PS2 (32MB) PS2 (32 Mo) - + PS2 (64MB) PS2 (64 Mo) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (par défaut) - + Game Grid Grille des jeux - + Game List Liste des jeux - + Game List Settings Paramètres de la liste des jeux - + Type Type - + Serial Numéro de série - + Title Nom - + File Title Nom fichier - + CRC CRC - + Time Played Temps de jeu - + Last Played Dernier lancement - + Size Taille - + Select Disc Image Sélectionnez une image disque - + Select Disc Drive Sélectionnez un lecteur de disque - + Start File Lancer un fichier - + Start BIOS Lancer le BIOS - + Start Disc Lancer un disque - + Exit Quitter - + Set Input Binding Définir une association - + Region Région - + Compatibility Rating Note de compatibilité - + Path Chemin d'accès - + Disc Path Chemin d'accès au disque - + Select Disc Path Sélectionnez l'emplacement du disque - + Copy Settings Copier les paramètres - + Clear Settings Effacer les paramètres - + Inhibit Screensaver Bloquer l'économiseur d'écran - + Enable Discord Presence Activer la Rich Presence Discord - + Pause On Start Mettre en pause au lancement - + Pause On Focus Loss Mettre en pause lors de la perte du focus - + Pause On Menu Mettre en pause lors de l'ouverture du menu - + Confirm Shutdown Confirmer l'extinction - + Save State On Shutdown Sauvegarder l'état lors de l'extinction - + Use Light Theme Utiliser le thème clair - + Start Fullscreen Démarrer en mode Plein écran - + Double-Click Toggles Fullscreen Double-clic active/désactive Plein écran - + Hide Cursor In Fullscreen Masquer le curseur en mode Plein écran - + OSD Scale Échelle de l'affichage à l'écran (OSD) - + Show Messages Afficher les messages - + Show Speed Afficher la vitesse - + Show FPS Afficher la fréquence d'images - + Show CPU Usage Afficher l'utilisation du CPU - + Show GPU Usage Afficher l'utilisation du GPU - + Show Resolution Afficher la résolution - + Show GS Statistics Afficher des statistiques sur le GS - + Show Status Indicators Afficher des indicateurs d'état - + Show Settings Afficher les paramètres - + Show Inputs Afficher les entrées - + Warn About Unsafe Settings Avertir des paramètres dangereux - + Reset Settings Réinitialiser les paramètres - + Change Search Directory Changer de dossier - + Fast Boot Démarrage rapide - + Output Volume Volume de sortie - + Memory Card Directory Dossier des Memory Cards - + Folder Memory Card Filter Filtrer les sauvegardes des Memory Cards au format dossier - + Create Créer - + Cancel Annuler - + Load Profile Charger un profil - + Save Profile Enregistrer dans un profil - + Enable SDL Input Source Activer la source d'entrées SDL - + SDL DualShock 4 / DualSense Enhanced Mode - Mode Amélioré SDL pour DualShock 4 et DualSense + Mode amélioré SDL pour DualShock 4 et DualSense - + SDL Raw Input Entrée brute SDL - + Enable XInput Input Source Activer la source d'entrées XInput - + Enable Console Port 1 Multitap Activer le multitap sur le port console 1 - + Enable Console Port 2 Multitap Activer le multitap sur le port console 2 - + Controller Port {}{} Port de manette {}{} - + Controller Port {} Port de manette {} - + Controller Type Type de manette - + Automatic Mapping Association automatique - + Controller Port {}{} Macros Macros du port de manette {}{} - + Controller Port {} Macros Macros du port de manette {} - + Macro Button {} Bouton macro {} - + Buttons Boutons - + Frequency Fréquence - + Pressure Pression - + Controller Port {}{} Settings Paramètres du port de manette {}{} - + Controller Port {} Settings Paramètres du port de manette {} - + USB Port {} Port USB {} - + Device Type Type de périphérique - + Device Subtype Sous-type de périphérique - + {} Bindings {} associations - + Clear Bindings Effacer les associations - + {} Settings Paramètres de {} - + Cache Directory Dossier du cache - + Covers Directory Dossier des jaquettes - + Snapshots Directory Dossier des instantanés - + Save States Directory Dossier des sauvegardes d'état - + Game Settings Directory Dossier des paramètres des jeux - + Input Profile Directory Dossier des profils d'entrée - + Cheats Directory Dossier des codes de triche - + Patches Directory Dossier des patchs - + Texture Replacements Directory Dossier des textures de remplacement - + Video Dumping Directory Dossier des dumps vidéo - + Resume Game Reprendre la partie - + Toggle Frame Limit Activer/Désactiver la limite d'images - + Game Properties Propriétés du jeu - + Achievements Succès - + Save Screenshot Enregistrer une capture d'écran - + Switch To Software Renderer Basculer vers le moteur de rendu logiciel - + Switch To Hardware Renderer Basculer vers le moteur de rendu matériel - + Change Disc Changer de disque - + Close Game Quitter le jeu - + Exit Without Saving Quitter sans sauvegarder - + Back To Pause Menu Revenir au menu Pause - + Exit And Save State Quitter et sauvegarder l'état - + Leaderboards Classements - + Delete Save Supprimer la sauvegarde - + Close Menu Fermer le menu - + Delete State Supprimer l'état - + Default Boot Démarrage par défaut - + Reset Play Time Réinitialiser le temps de jeu - + Add Search Directory Ajouter un dossier - + Open in File Browser Ouvrir dans l'explorateur de fichiers - + Disable Subdirectory Scanning Désactiver le scan des sous-dossiers - + Enable Subdirectory Scanning Activer le scan des sous-dossiers - + Remove From List Retirer de la liste - + Default View Affichage par défaut - + Sort By Trier par - + Sort Reversed Tri inversé - + Scan For New Games Actualiser la liste des jeux - + Rescan All Games Rescanner tous les jeux - + Website Site Web - + Support Forums Forums d'assistance - + GitHub Repository Dépôt GitHub - + License Licence - + Close Fermer - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration est utilisé à la place de l'implémentation des succès intégrée. - + Enable Achievements Activer les succès - + Hardcore Mode Mode Hardcore - + Sound Effects Effets sonores - + Test Unofficial Achievements Tester les succès non officiels - + Username: {} Nom d'utilisateur : {} - + Login token generated on {} Jeton de connexion généré : {} - + Logout Se déconnecter - + Not Logged In Déconnecté(e) - + Login Se connecter - + Game: {0} ({1}) Jeu : {0} ({1}) - + Rich presence inactive or unsupported. Rich Presence inactive ou non prise en charge. - + Game not loaded or no RetroAchievements available. Aucun jeu chargé ou aucun RetroAchievements disponible. - + Card Enabled Memory Card activée - + Card Name Nom de la Memory Card - + Eject Card Éjecter la Memory Card @@ -10399,9 +10458,9 @@ Consultez notre documentation officielle pour plus d'informations. Recommended Blending Accuracy for this game is {2}. You can adjust the blending level in Game Properties to improve graphical quality, but this will increase system requirements. - {0} Précision des fusions actuelle : « {1} ». -Précision des fusions recommandée pour ce jeu : « {2} ». -Vous pouvez ajuster la précision des fusions dans les propriétés + {0} Fidélité des fusions actuelle : « {1} ». +Fidélité des fusions recommandée pour ce jeu : « {2} ». +Vous pouvez ajuster la fidélité des fusions dans les propriétés du jeu pour améliorer la qualité des graphismes, mais cela demandera plus de ressources. @@ -10685,7 +10744,7 @@ demandera plus de ressources. Use accurate timing for VU XGKicks (slower). - Cadencer précisément les XGKicks des VU (lent). + Cadencer fidèlement les XGKicks des VU (lent). @@ -11074,32 +11133,42 @@ Scanner les sous-dossiers prend plus de temps mais les jeux se trouvant dans un Les patchs sans libellé sont activés : les patchs pour ce jeu fournis par PCSX2 sont désactivés. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Les patchs écran large sont actuellement <span style=" font-weight:600;">ACTIVÉS</span> à l'échelle globale.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Les patchs de désactivation de l'entrelacement sont actuellement <span style=" font-weight:600;">ACTIVÉS</span> à l'échelle globale.</p></body></html> + + + All CRCs Tous les CRC - + Reload Patches Recharger les patchs - + Show Patches For All CRCs Afficher les patchs pour tous les CRC - + Checked coché - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Activer ou désactiver le scan des fichiers de patch pour tous les CRC du jeu. En activant cette option, les patchs correspondant au numéro de série du jeu mais ayant un CRC différent seront quand même chargés. - + There are no patches available for this game. Aucun patch disponible pour ce jeu. @@ -11575,11 +11644,11 @@ Scanner les sous-dossiers prend plus de temps mais les jeux se trouvant dans un - - - - - + + + + + Off (Default) Désactivé (par défaut) @@ -11589,10 +11658,10 @@ Scanner les sous-dossiers prend plus de temps mais les jeux se trouvant dans un - - - - + + + + Automatic (Default) Automatique (par défaut) @@ -11659,7 +11728,7 @@ Scanner les sous-dossiers prend plus de temps mais les jeux se trouvant dans un - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinéaire (lisse) @@ -11725,29 +11794,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Décalage de l'écran - + Show Overscan Surbalayage (overscan) - - - Enable Widescreen Patches - Activer les patchs écran large - - - - Enable No-Interlacing Patches - Patchs de désactivation de l'entrelacement - - + Anti-Blur Anti-flou @@ -11758,7 +11817,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Désactiver le décalage d'entrelacement @@ -11768,18 +11827,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Taille des captures d'écran : - + Screen Resolution Résolution d'affichage - + Internal Resolution Résolution interne - + PNG PNG @@ -11831,7 +11890,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinéaire (PS2) @@ -11878,14 +11937,14 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Taille originale (par défaut) Blending Accuracy: - Précision des fusions : + Fidélité des fusions : @@ -11894,7 +11953,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basique (recommandé) @@ -11930,7 +11989,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Complet (Hash Cache) @@ -11946,31 +12005,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Désactiver la conversion des profondeurs - + GPU Palette Conversion Conversion de palette GPU - + Manual Hardware Renderer Fixes Correctifs manuels du moteur de rendu matériel - + Spin GPU During Readbacks Garder le GPU actif lors des readbacks - + Spin CPU During Readbacks Garder le CPU actif lors des readbacks @@ -11982,15 +12041,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Purge auto. @@ -12018,8 +12077,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (désactivé) @@ -12076,18 +12135,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Désactiver les fonctionnalités sûres - + Preload Frame Data Précharger les données des images - + Texture Inside RT Texture dans une cible de rendu @@ -12186,13 +12245,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Fusionner les sprites - + Align Sprite Aligner les sprites @@ -12206,16 +12265,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Désactivé - - - Apply Widescreen Patches - Appliquer les patchs écran large - - - - Apply No-Interlacing Patches - Patchs de désactivation de l'entrelacement - Window Resolution (Aspect Corrected) @@ -12288,25 +12337,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Désactiver l'invalidation partielle des sources - + Read Targets When Closing Lire les cibles lors de la fermeture - + Estimate Texture Region Estimer la taille des textures - + Disable Render Fixes Désactiver les correctifs de rendu @@ -12317,7 +12366,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Ne pas redim. les textures de palette @@ -12376,25 +12425,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dumper les textures - + Dump Mipmaps Dumper les mipmaps - + Dump FMV Textures Dumper les textures FMV - + Load Textures Charger les textures @@ -12404,6 +12453,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Natif (10:7) + + + Apply Widescreen Patches + Appliquer les patchs écran large + + + + Apply No-Interlacing Patches + Appliquer les patchs de désactivation de l'entrelacement + Native Scaling @@ -12421,13 +12480,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Forcer une position des sprites paire - + Precache Textures Mise en cache anticipée des textures @@ -12450,8 +12509,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Désactivé (par défaut) @@ -12472,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12524,7 +12583,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12539,7 +12598,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contraste : - + Saturation Saturation @@ -12560,50 +12619,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Afficher des indicateurs - + Show Resolution Afficher la résolution - + Show Inputs Afficher les entrées - + Show GPU Usage Afficher l'utilisation du GPU - + Show Settings Afficher les paramètres - + Show FPS Afficher la fréquence d'images - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Désactiver le mode de présentation Mailbox - + Extended Upscaling Multipliers Multiplicateurs de mise à l'échelle étendus @@ -12619,13 +12678,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Afficher des statistiques - + Asynchronous Texture Loading Chargement asynchrone des textures @@ -12636,13 +12695,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Afficher l'utilisation du CPU - + Warn About Unsafe Settings Avertir des paramètres dangereux @@ -12668,7 +12727,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Gauche (par défaut) @@ -12679,43 +12738,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Droite (par défaut) - + Show Frame Times Afficher les durées d'image - + Show PCSX2 Version Afficher la version de PCSX2 - + Show Hardware Info Afficher les infos sur le matériel - + Show Input Recording Status Afficher l'état de l'enregistrement d'entrées - + Show Video Capture Status Afficher l'état de la capture vidéo - + Show VPS Afficher les VPS @@ -12790,7 +12849,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Accurate (Recommended) - Précis (recommandé) + Fidèle (recommandé) @@ -12824,19 +12883,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Passer la présentation des images en double - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12889,7 +12948,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Afficher les pourcentages de vitesse @@ -12899,1214 +12958,1214 @@ Swap chain: see Microsoft's Terminology Portal. Désactiver la récupération du framebuffer - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Logiciel - + Null Null here means that this is a graphics backend that will show nothing. Inactif - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Utiliser le paramètre global [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked décoché - + + Enable Widescreen Patches + Activer les patchs écran large + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Charger et appliquer automatiquement des patchs écran large au lancement du jeu. Cette option peut causer des problèmes. + Charger et appliquer automatiquement les patchs écran large au lancement du jeu. Cette option peut causer des problèmes. + + + + Enable No-Interlacing Patches + Activer les patchs de désactivation de l'entrelacement - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Charger et appliquer automatiquement des patchs de désactivation de l'entrelacement au lancement du jeu. Cette option peut causer des problèmes. + Charger et appliquer automatiquement les patchs de désactivation de l'entrelacement au lancement du jeu. Cette option peut causer des problèmes. - + Disables interlacing offset which may reduce blurring in some situations. Désactiver le décalage d'entrelacement, cela pourrait atténuer le flou dans certaines situations. - + Bilinear Filtering Filtrage bilinéaire - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Activer le filtre post-traitement bilinéaire. Ce filtre lisse l'image au moment de l'afficher à l'écran. Cela permet de corriger l'alignement des pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Activer les « PCRTC Offsets » qui permettent de positionner l'écran comme demandé par le jeu. Cette option est utile pour certains jeux comme WipEout Fusion pour son effet d'agitation de l'écran, mais elle peut rendre l'image floue. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Afficher la zone de surbalayage pour les jeux qui dessinent au-delà de la zone sûre de l'écran. - + FMV Aspect Ratio Override Format d'image pendant les FMV - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Déterminez la méthode de désentrelacement à utiliser lorsque la sortie vidéo de la console émulée est entrelacée. « Automatique » devrait permettre de désentrelacer correctement la plupart des jeux, mais si vous observez que l'image tremble, essayez l'une des options disponibles. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - Contrôlez la précision de l'émulation de la blending unit du GS.<br> Plus le paramètre est élevé, meilleure est l'émulation des fusions et plus la pénalité de vitesse est importante.<br> Notez que l'émulation des fusions est plus limitée avec Direct3D qu'avec OpenGL ou Vulkan. + Contrôlez la précision de l'émulation de la blending unit du GS.<br> Plus le paramètre est élevé, plus les fusions sont effectuées de manière fidèle et plus la pénalité de vitesse est importante.<br> Notez que l'émulation des fusions est plus limitée avec Direct3D qu'avec OpenGL ou Vulkan. - + Software Rendering Threads Threads de rendu logiciel - + CPU Sprite Render Size Taille du rendu CPU des sprites - + Software CLUT Render Rendu logiciel des CLUT - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Essayer de détecter lorsqu'un jeu dessine sa propre palette de couleurs, et laisser le GPU effectuer son rendu différemment des autres rendus. - + This option disables game-specific render fixes. Cette option désactive les correctifs de rendu propres à chaque jeu. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Par défaut, le cache des textures prend en charge les invalidations partielles. Malheureusement, cette opération est très coûteuse pour le CPU. Ce hack remplace les invalidations partielles par une suppression complète de la texture pour réduire la charge CPU. Cette option améliore les performances des jeux basés sur le moteur Snowblind. - + Framebuffer Conversion Conversion des framebuffers - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Utiliser le CPU pour convertir les framebuffers 4 bits et 8 bits plutôt que le GPU. Aide à l'émulation des jeux Harry Potter et Stuntman. Cette option impacte fortement les performances. - - + + Disabled désactivé - - Remove Unsupported Settings - Supprimer les paramètres non pris en charge - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Actuellement, au moins une des options suivantes est activée pour ce jeu : <strong>Activer les patchs écran large</strong>, <strong>Patchs de désactivation de l'entrelacement</strong>.<br><br>Ces options ne sont plus prises en charge, <strong>vous devriez plutôt sélectionner la section « Patchs » et activer explicitement les patchs de votre choix.</strong><br><br>Voulez-vous supprimer ces options de la configuration propre à ce jeu ? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Forcer un format d'image pendant les cinématiques vidéo (FMV). Si cette option est désactivée, le format d'image utilisé pendant les FMV sera celui spécifié dans le paramètre Format d'image. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Activer le mipmapping, nécessaire au rendu correct de certains jeux. Le mipmapping consiste à utiliser une texture de plus faible résolution à mesure qu'elle s'éloigne de la caméra ; cela permet de réduire la charge de travail nécessaire pour effectuer le rendu et d'éviter certains artéfacts visuels. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Modifier l'algorithme de filtrage utilisé pour associer les textures aux surfaces.<br> Nearest (au plus proche) : Aucune fusion des couleurs.<br> Bilinéaire (forcé) : Les couleurs seront fusionnées entre elles pour lisser les variations de couleurs entre les pixels. Les choix de filtrage effectués par le jeu sont ignorés.<br> Bilinéaire (PS2) : Le filtrage sera appliqué à toutes les surfaces dont le jeu demande le filtrage à la PS2.<br> Bilinéaire (forcé, sprites exclus) : Le filtrage sera appliqué à toutes les surfaces en ignorant les choix de filtrage effectués par le jeu, à l'exception des sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Réduit le flou lors de l'application de grandes textures à de petites surfaces fortement inclinées. Cela fonctionne en échantillonnant les couleurs à partir des deux mipmaps les plus proches. Requiert l'activation du mipmapping.<br> Désactivé : Désactiver la fonctionnalité.<br> Trilinéaire (PS2) : Le filtrage trilinéaire sera appliqué à toutes les surfaces dont le jeu demande le filtrage à la PS2.<br> Trilinéaire (forcé) : Le filtrage trilinéaire sera appliqué à toutes les surfaces en ignorant les choix de filtrage effectués par le jeu. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Réduit l'effet de bande entre les couleurs et améliore la profondeur de couleur perçue.<br> Désactivé : désactiver tout dithering.<br> Mis à l'échelle : prendre en compte la mise à l'échelle. Effet de dithering maximal.<br> Taille originale : dithering natif. Effet minime qui n'augmente pas la taille des carrés lors de la mise à l'échelle.<br> Forcer 32 bits : traiter toutes les commandes de dessin comme si elles étaient sur 32 bits pour éviter l'effet de bande et le dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Envoyer des opérations inutiles au CPU lors des readbacks afin d'éviter qu'il passe en mode économie d'énergie. Cela peut améliorer les performances lors des readbacks, au prix d'une augmentation significative de la consommation d'énergie. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Envoyer des opérations inutiles au GPU lors des readbacks afin d'éviter qu'il passe en mode économie d'énergie. Cela peut améliorer les performances lors des readbacks, au prix d'une augmentation significative de la consommation d'énergie. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Nombre de threads de rendu : 0 pour un seul thread, 2 ou plus pour du multithreading (1 sert au débogage). Nous vous recommandons d'utiliser entre 2 et 4 threads ; utiliser plus de 4 threads pourrait ralentir l'émulation au lieu de l'accélérer. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Désactiver la prise en charge des depth buffers dans le cache des textures. Cette option ne sert qu'au débogage et son activation engendrera un certain nombre de glitchs. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Autoriser le cache des textures à utiliser en texture d'entrée une partie d'un framebuffer précédent. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Au moment d'éteindre la machine virtuelle, transférer les cibles du cache des textures dans la mémoire locale. Cela permet d'éviter la perte de certains visuels lors de la sauvegarde d'état ou lorsque vous changez de moteur de rendu, mais cela peut corrompre les graphismes. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Essayer de réduire la taille des textures lorsque les jeux ne la définissent pas eux-mêmes (exemple : les jeux Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Corriger des problèmes liés à la mise à l'échelle, comme les lignes verticales apparaissant dans les jeux Namco (Ace Combat, Tekken, Soul Calibur, etc.). - + Dumps replaceable textures to disk. Will reduce performance. Dumper sur le disque les textures pouvant être remplacées. Cela réduira les performances. - + Includes mipmaps when dumping textures. Inclure les mipmaps lors du dumping des textures. - + Allows texture dumping when FMVs are active. You should not enable this. Autoriser le dumping des textures lorsqu'une cinématique vidéo est en cours de lecture. Vous ne devriez pas activer cette option. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Charger les textures de remplacement sur un thread séparé afin d'éviter les micro-ralentissements lorsque les textures de remplacement sont activées. - + Loads replacement textures where available and user-provided. Charger les textures de remplacement fournies par l'utilisateur. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Précharger en mémoire l'ensemble des textures de remplacement. L'activation de cette option n'est pas nécessaire si le chargement asynchrone est activé. - + Enables FidelityFX Contrast Adaptive Sharpening. Activer FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Déterminez l'intensité de l'effet de netteté du post-traitement CAS. - + Adjusts brightness. 50 is normal. Ajustez la luminosité. 50 correspond à la luminosité normale. - + Adjusts contrast. 50 is normal. Ajustez le contraste. 50 correspond au contraste normal. - + Adjusts saturation. 50 is normal. Ajustez la saturation. 50 correspond à la saturation normale. - + Scales the size of the onscreen OSD from 50% to 500%. Modifier la taille de l'affichage à l'écran entre 50 % et 500 %. - + OSD Messages Position Position des messages affichés à l'écran - + OSD Statistics Position Position des statistiques affichées à l'écran - + Shows a variety of on-screen performance data points as selected by the user. Afficher à l'écran les données de performance sélectionnées par l'utilisateur. - + Shows the vsync rate of the emulator in the top-right corner of the display. Afficher la fréquence de synchronisation verticale dans le coin supérieur droit de l'écran. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Afficher une icône à l'écran indiquant l'état actuel de l'émulation, tel que : mise en pause, turbo, avance rapide et ralenti. - + Displays various settings and the current values of those settings, useful for debugging. Afficher divers paramètres et leur valeur actuelle. Utile au débogage. - + Displays a graph showing the average frametimes. Afficher un graphique montrant la moyenne des durées d'image. - + Shows the current system hardware information on the OSD. Afficher à l'écran les informations sur le matériel du système actuel. - + Video Codec Codec vidéo - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Sélectionnez le codec vidéo à utiliser pour la capture vidéo. <b>Si vous avez un doute, conservez le codec par défaut.<b> - + Video Format Format vidéo - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Sélectionnez le format vidéo à utiliser pour la capture vidéo. Si jamais le codec venait à ne pas prendre en charge le format sélectionné, le premier format disponible sera utilisé. <b>Si vous avez un doute, conservez le format par défaut.<b> - + Video Bitrate Débit vidéo - + 6000 kbps 6 000 kb/s - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Déterminez le débit vidéo à utiliser. En général, plus le débit est élevé, meilleure est la qualité de la vidéo, et plus le fichier est lourd. - + Automatic Resolution Résolution automatique - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Lorsque la case est cochée, la résolution de la capture vidéo est identique à la résolution interne du jeu que vous enregistrez.<br><br><b>Faites particulièrement attention lorsque vous activez cette option et que vous avez augmenté la résolution interne : le fichier contenant la capture vidéo pourrait être gigantesque et votre système pourrait être surchargé.</b> - + Enable Extra Video Arguments Activer les arguments vidéo supplémentaires - + Allows you to pass arguments to the selected video codec. Cette option vous permet de passer des arguments supplémentaires au codec vidéo sélectionné. - + Extra Video Arguments Arguments vidéo supplémentaires - + Audio Codec Codec audio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Sélectionnez le codec audio à utiliser pour la capture vidéo. <b>Si vous avez un doute, conservez le codec par défaut.<b> - + Audio Bitrate Débit audio - + Enable Extra Audio Arguments Activer les arguments audio supplémentaires - + Allows you to pass arguments to the selected audio codec. Cette option vous permet de passer des arguments supplémentaires au codec audio sélectionné. - + Extra Audio Arguments Arguments audio supplémentaires - + Allow Exclusive Fullscreen Autoriser le mode Plein écran exclusif - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Modifier les heuristiques du pilote pour activer le mode Plein écran exclusif, aussi appelé « direct flip » ou « direct scanout ».<br>Interdire le mode Plein écran exclusif peut permettre de passer d'une application à l'autre plus rapidement et de rendre les overlays plus fluides, mais la latence d'entrée sera plus importante. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/Full HD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked coché - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Activer les hacks internes anti-flou. L'image sera moins fidèle au rendu PS2 mais cela rendra beaucoup de jeux moins flous. - + Integer Scaling Mise à l'échelle par multiplicateur entier - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Ajouter une zone de remplissage autour de la sortie vidéo pour s'assurer que le ratio entre les pixels de l'hôte et les pixels de la console soit un nombre entier. Vous obtiendrez une image plus nette dans certains jeux 2D. - + Aspect Ratio Format d'image - + Auto Standard (4:3/3:2 Progressive) Standard auto (4:3 et 3:2 progressif) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Modifier le format d'image utilisé pour l'affichage de la sortie vidéo de la console. La valeur par défaut est Standard auto (4:3 et 3:2 progressif) : le format d'image est ajusté pour correspondre à la manière dont le jeu serait affiché sur une télévision typique de l'époque. - + Deinterlacing Désentrelacement - + Screenshot Size Taille des captures d'écran - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Déterminez la résolution à laquelle les captures d'écran doivent être enregistrées. Les options « résolution interne » préservent plus de détails au prix d'une taille de fichier plus importante. - + Screenshot Format Format des captures d'écran - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Sélectionnez le format à utiliser pour enregistrer les captures d'écran. Le format JPEG permet d'obtenir des fichiers plus petits, mais vous perdrez en détails. - + Screenshot Quality Qualité des captures d'écran - - + + 50% 50 % - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Sélectionnez la qualité des captures d'écran compressées. Plus la valeur est élevée, plus les détails sont préservés (JPEG) ou plus la taille du fichier est réduite (PNG). - - + + 100% 100 % - + Vertical Stretch Étirement vertical - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Étirer (&lt; 100 %) ou aplatir (&gt; 100 %) la composante verticale de l'affichage. - + Fullscreen Mode Mode Plein écran - - - + + + Borderless Fullscreen Fenêtré sans bordure - + Chooses the fullscreen resolution and frequency. Choisissez la résolution et la fréquence à utiliser pour le mode Plein écran. - + Left Gauche - - - - + + + + 0px 0 px - + Changes the number of pixels cropped from the left side of the display. Modifier le nombre de pixels à rogner depuis le côté gauche de l'écran. - + Top Haut - + Changes the number of pixels cropped from the top of the display. Modifier le nombre de pixels à rogner depuis le haut de l'écran. - + Right Droite - + Changes the number of pixels cropped from the right side of the display. Modifier le nombre de pixels à rogner depuis le côté droit de l'écran. - + Bottom Bas - + Changes the number of pixels cropped from the bottom of the display. Modifier le nombre de pixels à rogner depuis le bas de l'écran. - - + + Native (PS2) (Default) Native (PS2) (par défaut) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Contrôlez la résolution à laquelle effectuer le rendu. Utiliser une résolution élevée peut impacter les performances sur les GPU anciens ou d'entrée de gamme.<br>Utiliser une résolution autre que la résolution native peut causer des problèmes graphiques mineurs dans certains jeux.<br>La résolution des cinématiques vidéo restera inchangée car les fichiers vidéo sont pré-rendus. - + Texture Filtering Filtrage des textures - + Trilinear Filtering Filtrage trilinéaire - + Anisotropic Filtering Filtrage anisotrope - + Reduces texture aliasing at extreme viewing angles. Améliore la qualité des textures à des angles de vue extrêmes. - + Dithering Dithering - + Blending Accuracy - Précision des fusions + Fidélité des fusions - + Texture Preloading Préchargement des textures - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Transférer les textures à utiliser dans leur entièreté, plutôt que des régions spécifiques. Cela évite les transferts de données inutiles. Cette option améliore les performances dans la plupart des jeux, mais peut en ralentir quelques-uns. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Lorsque cette option est activée, le GPU convertit les textures utilisant une palette à la place du CPU. Il s'agit d'un moyen de répartir la charge de travail entre le GPU et le CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Activer cette option vous donne la possibilité de changer de moteur de rendu et de choisir les correctifs de mise à l'échelle appliqués à vos jeux. Cependant, en ACTIVANT cette option, LES PARAMÈTRES AUTOMATIQUES seront DÉSACTIVÉS. Vous pouvez réactiver les paramètres automatiques en décochant cette option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Forcer une purge des primitives lorsqu'un framebuffer est aussi utilisé comme texture d'entrée. Cela corrige certains effets post-traitement comme les ombres dans les jeux Jak and Daxter et la radiosité dans GTA:SA. - + Enables mipmapping, which some games require to render correctly. Activer le mipmapping, nécessaire au rendu correct de certains jeux. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. Le rendu des sprites sera effectué par le CPU si leur taille en mémoire ne dépasse pas cette valeur maximale. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Essayer de détecter lorsqu'un jeu dessine sa propre palette de couleurs, et laisser le CPU effectuer son rendu à la place du GPU. - + GPU Target CLUT CLUT dans une cible GPU - + Skipdraw Range Start Début du Skipdraw - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Ne pas dessiner les surfaces se trouvant dans la zone dont les limites peuvent être spécifiées dans les champs de gauche et de droite. - + Skipdraw Range End Fin du Skipdraw - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - Cette option désactive plusieurs fonctionnalités sûres. Elle désactive le rendu précis à l'échelle des lignes et des points qui est utile pour les jeux Xenosaga. Elle désactive également le nettoyage précis de la mémoire du GS par le CPU et laisse le GPU s'en charger, ce qui est utile pour les jeux Kingdom Hearts. + Cette option désactive plusieurs fonctionnalités sûres. Elle désactive le rendu fidèle des lignes et des points sans mise à l'échelle, ce qui peut être utile pour les jeux Xenosaga. Elle désactive également l'opération fidèle de nettoyage de la mémoire du GS par le CPU, et laisse le GPU s'en charger, pouvant aider l'émulation des jeux Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Transférer les données du GS lors du rendu d'une nouvelle image pour reproduire correctement certains effets. - + Half Pixel Offset Décalage demi-pixel - + Might fix some misaligned fog, bloom, or blend effect. Activer cette option peut corriger l'alignement du brouillard, du flou lumineux ou des effets de fusion. - + Round Sprite Arrondir les sprites - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corriger l'échantillonnage des textures de sprites 2D lors de la mise à l'échelle. Cela fait disparaître les lignes apparaissant dans les sprites de certains jeux tels que Ar tonelico lors de la mise à l'échelle. « Moitié » pour les sprites plats, « Complet » pour tous les sprites. - + Texture Offsets X Décalage X des textures - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Décalage des coordonnées ST/UV des textures. Corrige quelques problèmes de texture bizarres et peut également corriger l'alignement de certains effets post-traitement. - + Texture Offsets Y Décalage Y des textures - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Réduit la précision du GS pour éviter d'avoir des écarts entre les pixels lors de la mise à l'échelle. Corrige le texte sur les jeux Wild Arms. - + Bilinear Upscale Mise à l'échelle bilinéaire - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Cette option permet, lors de la mise à l'échelle, de lisser les textures sur lesquelles le filtrage bilinéaire est appliqué. Exemple : la lueur du soleil dans Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Fusionner les sprites sur lesquels le post-traitement doit être appliqué. Cela permet de réduire les lignes visibles causées par la mise à l'échelle. - + Force palette texture draws to render at native resolution. Forcer le rendu des dessins des textures de palette à être effectué à la résolution native. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Netteté - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Activer l'ajustement de la saturation, du contraste et de la luminosité. Valeur par défaut de ces trois options : 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Appliquer l'algorithme d'anticrénelage FXAA pour améliorer la qualité visuelle des jeux. - + Brightness Luminosité - - - + + + 50 50 - + Contrast Contraste - + TV Shader Shader TV - + Applies a shader which replicates the visual effects of different styles of television set. Appliquer un shader qui reproduit les effets visuels de différents types de télévisions. - + OSD Scale Échelle de l'affichage à l'écran - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Afficher un message à l'écran lors d'événements tels que la création ou le chargement d'une sauvegarde d'état, la prise d'une capture d'écran, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Afficher la fréquence d'images interne au jeu dans le coin supérieur droit de l'écran. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Afficher la vitesse d'émulation actuelle du système en pourcentage dans le coin supérieur droit de l'écran. - + Shows the resolution of the game in the top-right corner of the display. Afficher la résolution du jeu dans le coin supérieur droit de l'écran. - + Shows host's CPU utilization. Afficher l'utilisation du CPU de l'hôte. - + Shows host's GPU utilization. Afficher l'utilisation du GPU de l'hôte. - + Shows counters for internal graphical utilization, useful for debugging. Afficher des compteurs à propos de l'utilisation graphique interne. Utile au débogage. - + Shows the current controller state of the system in the bottom-left corner of the display. Afficher l'état système de la manette dans le coin inférieur gauche de l'écran. - + Shows the current PCSX2 version on the top-right corner of the display. Afficher la version actuelle de PCSX2 dans le coin supérieur droit de l'écran. - + Shows the currently active video capture status. Afficher l'état de la capture vidéo en cours. - + Shows the currently active input recording status. Afficher l'état de l'enregistrement d'entrées en cours. - + Displays warnings when settings are enabled which may break games. Afficher des avertissements lorsque des paramètres pouvant affecter le bon fonctionnement des jeux sont activés. - - + + Leave It Blank vide - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Paramètres à passer au codec vidéo sélectionné.<br><b>Utilisez '=' pour séparer la clé de sa valeur et ':' pour séparer les paires clé/valeur.</b><br>Exemple : "crf = 21 : preset = veryfast". - + Sets the audio bitrate to be used. Déterminez le débit audio à utiliser. - + 160 kbps 160 kb/s - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Paramètres à passer au codec audio sélectionné.<br><b>Utilisez '=' pour séparer la clé de sa valeur et ':' pour séparer les paires clé/valeur.</b><br>Exemple : "compression_level = 4 : joint_stereo = 1". - + GS Dump Compression Compression des dumps du GS - + Change the compression algorithm used when creating a GS dump. Modifier l'algorithme de compression à utiliser pour les dumps du GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Utiliser un modèle de présentation BLIT plutôt que de « flipper » lorsque vous utilisez le moteur de rendu Direct3D 11. En général, activer cette option dégrade les performances, mais son activation peut être nécessaire pour certaines applications de streaming ou pour déplafonner la fréquence d'images sur certains systèmes. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Détecter les images en double dans les jeux à 25 ou 30 IPS et ne pas effectuer leur présentation. Le rendu de ces images est toujours effectué mais le GPU a plus de temps pour les terminer (il ne s'agit PAS de saut d'images). L'option peut permettre de lisser les durées d'image lorsque l'utilisation du CPU ou du GPU est proche de 100 %, mais la cadence d'image sera plus variable et la latence d'entrée peut augmenter. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Afficher des multiplicateurs de mise à l'échelle supplémentaires. Ces valeurs sont très grandes et dépendent des capacités du GPU. - + Enable Debug Device Activer le périphérique de débogage - + Enables API-level validation of graphics commands. - Activer la validation au niveau de l'API des commandes graphiques. + Permet la validation des commandes graphiques au niveau de l'API. - + GS Download Mode Mode de téléchargement GS - + Accurate - Précis + Fidèle - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Ne pas synchroniser le thread GS et le GPU hôte lors des téléchargements GS. Cela peut grandement améliorer les performances mais cela cassera un grand nombre d'effets visuels. Si les jeux ne fonctionnent pas correctement et que cette option est activée, veuillez la désactiver. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Par défaut - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forcer l'utilisation du mode de présentation FIFO à la place du mode Mailbox, c'est-à-dire l'utilisation du double buffering à la place du triple buffering. Cela dégrade généralement la cadence d'image. @@ -14114,7 +14173,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Par défaut @@ -14331,254 +14390,254 @@ Swap chain: see Microsoft's Terminology Portal. Aucune sauvegarde d'état trouvée à l'emplacement {}. - - - + + - - - - + + + + - + + System Système - + Open Pause Menu Ouvrir le menu Pause - + Open Achievements List Ouvrir la liste des succès - + Open Leaderboards List Ouvrir la liste des classements - + Toggle Pause Mettre en pause/Reprendre - + Toggle Fullscreen Activer/Désactiver le mode Plein écran - + Toggle Frame Limit Activer/Désactiver la limite d'images - + Toggle Turbo / Fast Forward Activer/Désactiver l'avance rapide (turbo) - + Toggle Slow Motion Activer/Désactiver le ralenti - + Turbo / Fast Forward (Hold) Avance rapide (maintenir appuyé) - + Increase Target Speed Augmenter la vitesse cible - + Decrease Target Speed Diminuer la vitesse cible - + Increase Volume Augmenter le volume - + Decrease Volume Diminuer le volume - + Toggle Mute Couper/Remettre le son - + Frame Advance Image par image - + Shut Down Virtual Machine Éteindre la machine virtuelle - + Reset Virtual Machine Réinitialiser la machine virtuelle - + Toggle Input Recording Mode Changer de mode d'enregistrement d'entrées - - + + Save States Sauvegardes d'état - + Select Previous Save Slot Sélectionner l'emplacement de sauvegarde précédent - + Select Next Save Slot Sélectionner l'emplacement de sauvegarde suivant - + Save State To Selected Slot Sauvegarder l'état à l'emplacement sélectionné - + Load State From Selected Slot Charger l'état à l'emplacement sélectionné - + Save State and Select Next Slot Sauvegarder l'état et sélectionner l'emplacement suivant - + Select Next Slot and Save State Sélectionner l'emplacement suivant et sauvegarder l'état - + Save State To Slot 1 Sauvegarder l'état à l'emplacement 1 - + Load State From Slot 1 Charger l'état à l'emplacement 1 - + Save State To Slot 2 Sauvegarder l'état à l'emplacement 2 - + Load State From Slot 2 Charger l'état à l'emplacement 2 - + Save State To Slot 3 Sauvegarder l'état à l'emplacement 3 - + Load State From Slot 3 Charger l'état à l'emplacement 3 - + Save State To Slot 4 Sauvegarder l'état à l'emplacement 4 - + Load State From Slot 4 Charger l'état à l'emplacement 4 - + Save State To Slot 5 Sauvegarder l'état à l'emplacement 5 - + Load State From Slot 5 Charger l'état à l'emplacement 5 - + Save State To Slot 6 Sauvegarder l'état à l'emplacement 6 - + Load State From Slot 6 Charger l'état à l'emplacement 6 - + Save State To Slot 7 Sauvegarder l'état à l'emplacement 7 - + Load State From Slot 7 Charger l'état à l'emplacement 7 - + Save State To Slot 8 Sauvegarder l'état à l'emplacement 8 - + Load State From Slot 8 Charger l'état à l'emplacement 8 - + Save State To Slot 9 Sauvegarder l'état à l'emplacement 9 - + Load State From Slot 9 Charger l'état à l'emplacement 9 - + Save State To Slot 10 Sauvegarder l'état à l'emplacement 10 - + Load State From Slot 10 Charger l'état à l'emplacement 10 @@ -15456,594 +15515,608 @@ Clic droit : effacer les associations &Système - - - + + Change Disc Changer de disque - - + Load State Charger un état - - Save State - Sauvegarder l'état - - - + S&ettings &Paramètres - + &Help A&ide - + &Debug &Débogage - - Switch Renderer - Changer de moteur de rendu - - - + &View &Affichage - + &Window Size &Taille de la fenêtre - + &Tools &Outils - - Input Recording - Enregistrement d'entrées - - - + Toolbar Barre d'outils - + Start &File... Lancer un &fichier… - - Start &Disc... - Lancer un &disque… - - - + Start &BIOS Lancer le &BIOS - + &Scan For New Games Ac&tualiser la liste des jeux - + &Rescan All Games R&escanner tous les jeux - + Shut &Down &Éteindre - + Shut Down &Without Saving - Éteindre &sans sauvegarder + É&teindre sans sauvegarder - + &Reset &Réinitialiser - + &Pause &Mettre en pause - + E&xit &Quitter - + &BIOS &BIOS - - Emulation - Émulation - - - + &Controllers Ma&nettes - + &Hotkeys Ra&ccourcis - + &Graphics &Graphismes - - A&chievements - &Succès - - - + &Post-Processing Settings... &Paramètres post-traitement… - - Fullscreen - Mode Plein écran - - - + Resolution Scale Multiplicateur de résolution - + &GitHub Repository... Dépôt &GitHub… - + Support &Forums... &Forums d'assistance… - + &Discord Server... Serveur &Discord… - + Check for &Updates... &Rechercher des mises à jour… - + About &Qt... À propos de &Qt… - + &About PCSX2... &À propos de PCSX2… - + Fullscreen In Toolbar Plein écran - + Change Disc... In Toolbar Chang. disque - + &Audio &Audio - - Game List - Liste des jeux - - - - Interface - Interface + + Global State + État global - - Add Game Directory... - Ajouter un dossier à jeux… + + &Screenshot + C&apture d'écran - - &Settings - &Paramètres + + Start File + In Toolbar + Lanc. fichier - - From File... - À partir d'un fichier… + + &Change Disc + C&hanger de disque - - From Device... - À partir d'un périphérique… + + &Load State + &Charger un état - - From Game List... - À partir de la liste des jeux… + + Sa&ve State + &Sauvegarder l'état - - Remove Disc - Éjecter le disque + + Setti&ngs + &Paramètres - - Global State - État global + + &Switch Renderer + &Changer de moteur de rendu - - &Screenshot - &Capture d'écran + + &Input Recording + &Enregistrement d'entrées - - Start File - In Toolbar - Lanc. fichier + + Start D&isc... + Lancer un &disque... - + Start Disc In Toolbar Lanc. disque - + Start BIOS In Toolbar Lanc. BIOS - + Shut Down In Toolbar Éteindre - + Reset In Toolbar Réinitialiser - + Pause In Toolbar Pause - + Load State In Toolbar Charg. état - + Save State In Toolbar Sauv. état - + + &Emulation + &Émulation + + + Controllers In Toolbar Manettes - + + Achie&vements + S&uccès + + + + &Fullscreen + &Plein écran + + + + &Interface + &Interface + + + + Add Game &Directory... + A&jouter un dossier à jeux... + + + Settings In Toolbar Paramètres - + + &From File... + À partir d'un &fichier... + + + + From &Device... + À partir d'un &périphérique... + + + + From &Game List... + À partir de la &liste des jeux... + + + + &Remove Disc + &Éjecter le disque + + + Screenshot In Toolbar Capt. écran - + &Memory Cards - &Memory Cards + Memory &Cards - + &Network && HDD - &Réseau et disque dur + Ré&seau et disque dur - + &Folders &Dossiers - + &Toolbar Barre d'&outils - - Lock Toolbar - Verrouiller la barre d'outils + + Show Titl&es (Grid View) + &Afficher le nom des jeux (mode Grille) - - &Status Bar - Barre d'&état + + &Open Data Directory... + &Ouvrir le dossier des données... - - Verbose Status - Statut détaillé + + &Toggle Software Rendering + Activer/Désactiver le moteur de rendu &logiciel - - Game &List - &Liste des jeux + + &Open Debugger + &Ouvrir le débogueur - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - &Affichage du système + + &Reload Cheats/Patches + &Recharger codes de triche et patchs - - Game &Properties - &Propriétés du jeu + + E&nable System Console + Activer la console &système - - Game &Grid - &Grille des jeux + + Enable &Debug Console + &Activer la console de débogage - - Show Titles (Grid View) - Afficher les titres (mode Grille) + + Enable &Log Window + &Activer la fenêtre du journal - - Zoom &In (Grid View) - Zoom a&vant (mode Grille) + + Enable &Verbose Logging + Activer la journalisation &détaillée - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Activer la journalisation de la console &EE - - Zoom &Out (Grid View) - Zoom a&rrière (mode Grille) + + Enable &IOP Console Logging + Activer la journalisation de la console &IOP - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Enregistrer un dump du &GS contenant 1 image - - Refresh &Covers (Grid View) - A&ctualiser les jaquettes (mode Grille) + + &New + This section refers to the Input Recording submenu. + &Nouveau - - Open Memory Card Directory... - Ouvrir le dossier des Memory Cards… + + &Play + This section refers to the Input Recording submenu. + &Lecture - - Open Data Directory... - Ouvrir le dossier des données… + + &Stop + This section refers to the Input Recording submenu. + &Arrêt - - Toggle Software Rendering - Activer/Désactiver le moteur de rendu logiciel + + &Controller Logs + Journaux des &manettes - - Open Debugger - Ouvrir le débogueur + + &Input Recording Logs + Journaux d'&enregistrement d'entrées - - Reload Cheats/Patches - Recharger codes de triche et patchs + + Enable &CDVD Read Logging + Activer la journalisation des &lectures CDVD - - Enable System Console - Activer la console système + + Save CDVD &Block Dump + Enregistrer un &blockdump CDVD - - Enable Debug Console - Activer la console de débogage + + &Enable Log Timestamps + Activer l'&horodatage des messages du journal - - Enable Log Window - Activer la fenêtre du journal + + Start Big Picture &Mode + Lancer le mode &Big Picture - - Enable Verbose Logging - Activer la journalisation détaillée + + &Cover Downloader... + &Télécharger des jaquettes... - - Enable EE Console Logging - Activer la journalisation de la console EE + + &Show Advanced Settings + Afficher les paramètres a&vancés - - Enable IOP Console Logging - Activer la journalisation de la console IOP + + &Recording Viewer + &Visionneuse d'enregistrements - - Save Single Frame GS Dump - Enregistrer un dump du GS contenant 1 image + + &Video Capture + Capt. &vidéo - - New - This section refers to the Input Recording submenu. - Nouveau + + &Edit Cheats... + Modifier les &codes de triche... - - Play - This section refers to the Input Recording submenu. - Lecture + + Edit &Patches... + Modifier les &patchs... - - Stop - This section refers to the Input Recording submenu. - Arrêt + + &Status Bar + Barre d'&état - - Settings - This section refers to the Input Recording submenu. - Paramètres + + + Game &List + &Liste des jeux - - - Input Recording Logs - Journaux d'enregistrement d'entrées + + Loc&k Toolbar + &Verrouiller la barre d'outils - - Controller Logs - Journaux des manettes + + &Verbose Status + État &détaillé - - Enable &File Logging - Activer la journalisation dans un &fichier + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Affichage du &système + + + + Game &Properties + &Propriétés du jeu - - Enable CDVD Read Logging - Activer la journalisation des lectures CDVD + + Game &Grid + &Grille des jeux - - Save CDVD Block Dump - Enregistrer un blockdump CDVD + + Zoom &In (Grid View) + &Zoom avant (mode Grille) - - Enable Log Timestamps - Activer l'horodatage des messages du journal + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoo&m arrière (mode Grille) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + A&ctualiser les jaquettes (mode Grille) + + + + Open Memory Card Directory... + Ouvrir le dossier des Memory Cards… + + + + Input Recording Logs + Journaux d'enregistrement d'entrées + + + + Enable &File Logging + Activer la journalisation dans un &fichier + + + Start Big Picture Mode Lancer le mode Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Télécharger des jaquettes… - - - - + Show Advanced Settings Afficher les paramètres avancés - - Recording Viewer - Visionneuse d'enregistrements - - - - + Video Capture Capt. vidéo - - Edit Cheats... - Modifier les codes de triche… - - - - Edit Patches... - Modifier les patchs… - - - + Internal Resolution Résolution interne - + %1x Scale %1x - + Select location to save block dump: Sélectionnez où enregistrer le blockdump : - + Do not show again Ne plus afficher ce message - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16056,297 +16129,297 @@ L'équipe PCSX2 ne fournira aucune assistance aux utilisateurs ayant modifié ce Voulez-vous vraiment continuer ? - + %1 Files (*.%2) Fichiers %1 (*.%2) - + WARNING: Memory Card Busy ATTENTION : Memory Card occupée - + Confirm Shutdown Confirmer l'extinction - + Are you sure you want to shut down the virtual machine? Voulez-vous vraiment éteindre la machine virtuelle ? - + Save State For Resume Sauvegarder l'état pour reprendre plus tard - - - - - - + + + + + + Error Erreur - + You must select a disc to change discs. Vous devez sélectionner un disque pour changer de disque. - + Properties... Propriétés… - + Set Cover Image... Définir la jaquette… - + Exclude From List Exclure de la liste - + Reset Play Time Réinitialiser le temps de jeu - + Check Wiki Page Voir la page du wiki - + Default Boot Démarrage par défaut - + Fast Boot Démarrage rapide - + Full Boot Démarrage complet - + Boot and Debug Démarrer et déboguer - + Add Search Directory... Ajouter un dossier… - + Start File Lancer un fichier - + Start Disc Lancer un disque - + Select Disc Image Sélectionnez une image disque - + Updater Error Erreur lors de la mise à jour - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Désolé, la mise à jour automatique de PCSX2 ne fonctionne qu'avec les versions officielles afin d'éviter des problèmes de compatibilité.</p><p>Vous pouvez obtenir une version officielle à partir du lien ci-dessous :</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. La mise à jour automatique n'est pas prise en charge sur votre plateforme. - + Confirm File Creation Confirmer la création du fichier - + The pnach file '%1' does not currently exist. Do you want to create it? Le fichier pnach « %1 » n'existe pas. Voulez-vous le créer ? - + Failed to create '%1'. Échec de la création de « %1 ». - + Theme Change Changement de thème - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changer de thème aura pour effet de fermer la fenêtre du débogueur. Toutes les données non enregistrées seront alors perdues. Voulez-vous continuer ? - + Input Recording Failed Échec de l'enregistrement d'entrées - + Failed to create file: {} Échec de la création du fichier : {} - + Input Recording Files (*.p2m2) Enregistrements d'entrées (*.p2m2) - + Input Playback Failed Échec de la lecture d'entrées - + Failed to open file: {} Échec de l'ouverture du fichier : {} - + Paused En pause - + Load State Failed Échec du chargement de l'état - + Cannot load a save state without a running VM. Impossible de charger une sauvegarde d'état sans machine virtuelle en cours d'exécution. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Le chargement d'un nouvel ELF nécessite la réinitialisation de la machine virtuelle. Voulez-vous réinitialiser la machine virtuelle ? - + Cannot change from game to GS dump without shutting down first. Impossible de lire un dump du GS sans éteindre la machine virtuelle. - + Failed to get window info from widget Échec de l'obtention des informations sur la fenêtre à partir du widget - + Stop Big Picture Mode Quitter le mode Big Picture - + Exit Big Picture In Toolbar Quitter BP - + Game Properties Propriétés du jeu - + Game properties is unavailable for the current game. Les propriétés du jeu sont indisponibles pour le jeu actuel. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Aucun périphérique CD/DVD-ROM trouvé. Assurez-vous qu'un lecteur est bien connecté et que vous avez les autorisations nécessaires pour y accéder. - + Select disc drive: Sélectionnez un lecteur de disque : - + This save state does not exist. Cette sauvegarde d'état n'existe pas. - + Select Cover Image Sélectionner une jaquette - + Cover Already Exists Jaquette existante - + A cover image for this game already exists, do you wish to replace it? Ce jeu a déjà une jaquette, voulez-vous la remplacer ? - + + - Copy Error Erreur de copie - + Failed to remove existing cover '%1' Échec de la suppression de la jaquette existante « %1 ». - + Failed to copy '%1' to '%2' Échec de la copie de « %1 » vers « %2 ». - + Failed to remove '%1' Échec de la suppression de « %1 ». - - + + Confirm Reset Confirmer la réinitialisation - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Tous les types de jaquettes (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Vous devez sélectionner un fichier différent de la jaquette actuelle. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16355,12 +16428,12 @@ This action cannot be undone. Cette action est irréversible. - + Load Resume State Charger la sauvegarde automatique - + A resume save state was found for this game, saved at: %1. @@ -16373,89 +16446,89 @@ Do you want to load this state, or start from a fresh boot? Voulez-vous charger cette sauvegarde ou lancer le jeu normalement ? - + Fresh Boot Lancer normalement - + Delete And Boot Supprimer et lancer - + Failed to delete save state file '%1'. Échec de la suppression de la sauvegarde d'état « %1 ». - + Load State File... Charger l'état depuis un fichier… - + Load From File... Charger depuis un fichier… - - + + Select Save State File Sélectionner un fichier de sauvegarde d'état - + Save States (*.p2s) Sauvegardes d'état (*.p2s) - + Delete Save States... Supprimer les sauvegardes d'état… - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Tous les types de fichier (*.bin *.iso *.cue *.mdf *.chd *.zso *.cso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Images brutes à 1 piste (*.bin *.iso);;Fichiers CUE (*.cue);;Media Descriptor File (*.mdf);;Images CHD pour MAME (*.chd);;Images CSO (*.cso);;Images ZSO (*.zso);;Images GZ (*.gz);;Exécutables ELF (*.elf);;Exécutables IRX (*.irx);;Dumps du GS (*.gs *.gs.xz *.gs.zst);;Blockdumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Tous les types de fichier (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Images brutes à 1 piste (*.bin *.iso);;Fichiers CUE (*.cue);;Media Descriptor File (*.mdf);;Images CHD pour MAME (*.chd);;Images CSO (*.cso);;Images ZSO (*.zso);;Images GZ (*.gz);;Blockdumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> ATTENTION : des données sont encore en cours d'écriture sur votre Memory Card. Éteindre la machine virtuelle maintenant aura pour effet de <b>DÉTRUIRE DE FAÇON IRRÉVERSIBLE VOTRE MEMORY CARD.</b> Il est fortement recommandé de revenir au jeu et le laisser finir l'écriture sur votre Memory Card.<br><br>Voulez-vous quand même éteindre la machine virtuelle et <b>DÉTRUIRE DE FAÇON IRRÉVERSIBLE VOTRE MEMORY CARD ?</b> - + Save States (*.p2s *.p2s.backup) Sauvegardes d'état (*.p2s *.p2s.backup) - + Undo Load State Annuler le chargement d'état - + Resume (%2) Reprendre (%2) - + Load Slot %1 (%2) Charger l'état à l'emplacement %1 (%2) - - + + Delete Save States Supprimer les sauvegardes d'état - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16464,42 +16537,42 @@ The saves will not be recoverable. Les sauvegardes ne pourront pas être récupérées. - + %1 save states deleted. %1 sauvegardes d'état supprimées. - + Save To File... Sauvegarder dans un fichier… - + Empty vide - + Save Slot %1 (%2) Sauvegarder à l'emplacement %1 (%2) - + Confirm Disc Change Confirmer le changement de disque - + Do you want to swap discs or boot the new image (via system reset)? Voulez-vous échanger les disques, ou redémarrer le système avec la nouvelle image disque insérée ? - + Swap Disc Échanger les disques - + Reset Redémarrer @@ -16522,25 +16595,25 @@ Les sauvegardes ne pourront pas être récupérées. MemoryCard - - + + Memory Card Creation Failed Échec de la création de la Memory Card - + Could not create the memory card: {} Impossible de créer la Memory Card : {} - + Memory Card Read Failed Échec de la lecture de la Memory Card - + Unable to access memory card: {} @@ -16557,28 +16630,33 @@ Fermez toutes les autres instances de PCSX2, ou redémarrez votre ordinateur. - - + + Memory Card '{}' was saved to storage. La Memory Card « {} » a bien été enregistrée. - + Failed to create memory card. The error was: {} Échec de la création de la Memory Card : {} - + Memory Cards reinserted. Memory Cards réinsérées. - + Force ejecting all Memory Cards. Reinserting in 1 second. Éjection forcée de toutes les Memory Cards. Réinsertion dans 1 seconde. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + Cela fait un moment que la console virtuelle n'a pas écrit sur votre Memory Card. Les sauvegardes d'état ne doivent pas être utilisées en remplacement de la fonctionnalité de sauvegarde intégrée aux jeux. + MemoryCardConvertDialog @@ -17370,7 +17448,7 @@ Vous perdrez toutes les sauvegardes qui s'y trouvent. Cette action est irrévers Aller à l'adresse dans la vue mémoire - + Cannot Go To Impossible d'aller à l'adresse @@ -17781,7 +17859,7 @@ Vous perdrez toutes les sauvegardes qui s'y trouvent. Cette action est irrévers Analog Toggle - Bouton ANALOG + Touche ANALOG @@ -17922,12 +18000,12 @@ Vous perdrez toutes les sauvegardes qui s'y trouvent. Cette action est irrévers Analog light is now on for port {0} / slot {1} - Port {0}, emplacement {1} : LED du bouton ANALOG activée. + Port {0}, emplacement {1} : LED ANALOG activée. Analog light is now off for port {0} / slot {1} - Port {0}, emplacement {1} : LED du bouton ANALOG désactivée. + Port {0}, emplacement {1} : LED ANALOG désactivée. @@ -18210,12 +18288,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Échec de l'ouverture de {}. Les patchs intégrés sont indisponibles. - + %n GameDB patches are active. OSD Message @@ -18224,7 +18302,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Aucun code de triche ou patch (écran large, compatibilité, ou autre) trouvé et activé. @@ -18343,47 +18421,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA : connecté en tant que %1 (%2 pts, softcore : %3 pts). %4 messages non lus. - - + + Error Erreur - + An error occurred while deleting empty game settings: {} Une erreur s'est produite lors de la suppression des paramètres de jeu vides : {} - + An error occurred while saving game settings: {} Une erreur s'est produite lors de l'enregistrement des paramètres de jeu : {} - + Controller {} connected. Manette {} connectée. - + System paused because controller {} was disconnected. Système mis en pause en raison de la déconnexion de la manette {}. - + Controller {} disconnected. Manette {} déconnectée. - + Cancel Annuler @@ -18516,7 +18594,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21729,42 +21807,42 @@ Scanner les sous-dossiers prend plus de temps, mais cela permettra d'identifier VMManager - + Failed to back up old save state {}. Échec de la copie de la sauvegarde d'état existante « {} ». - + Failed to save save state: {}. Échec de la sauvegarde de l'état à l'emplacement {}. - + PS2 BIOS ({}) BIOS PS2 ({}) - + Unknown Game Jeu inconnu - + CDVD precaching was cancelled. La mise en cache CDVD anticipée a été annulée. - + CDVD precaching failed: {} Échec de la mise en cache CDVD anticipée : {} - + Error Erreur - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21781,270 +21859,270 @@ Une fois dumpée, l'image du BIOS doit être placée dans le dossier « bios Pour plus d'informations, consultez la FAQ et les guides. - + Resuming state La reprise - + Boot and Debug Démarrer et déboguer - + Failed to load save state Échec du chargement de la sauvegarde d'état - + State saved to slot {}. État sauvegardé à l'emplacement {}. - + Failed to save save state to slot {}. Échec de la sauvegarde de l'état à l'emplacement {}. - - + + Loading state Chargement d'un état - + Failed to load state (Memory card is busy) Échec du chargement de l'état (la Memory Card est occupée) - + There is no save state in slot {}. Il n'y a aucune sauvegarde d'état à l'emplacement {}. - + Failed to load state from slot {} (Memory card is busy) Échec du chargement de l'état à l'emplacement {} (la Memory Card est occupée) - + Loading state from slot {}... Chargement de l'état à l'emplacement {}… - + Failed to save state (Memory card is busy) Échec de la sauvegarde de l'état (la Memory Card est occupée) - + Failed to save state to slot {} (Memory card is busy) Échec de la sauvegarde de l'état à l'emplacement {} (la Memory Card est occupée) - + Saving state to slot {}... Sauvegarde de l'état à l'emplacement {}… - + Frame advancing Avancer d'une image - + Disc removed. Disque éjecté. - + Disc changed to '{}'. Nouveau disque inséré : « {} ». - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Échec de l'ouverture de la nouvelle image disque « {} ». Rétablissement de l'image précédente. ({}) - + Failed to switch back to old disc image. Removing disc. Error was: {} Impossible de revenir à l'image disque précédente. Éjection du disque. ({}) - + Cheats have been disabled due to achievements hardcore mode. Les codes de triche ont été désactivés suite à l'activation du mode Hardcore des succès. - + Fast CDVD is enabled, this may break games. Fast CDVD est activé, cela pourrait casser certains jeux. - + Cycle rate/skip is not at default, this may crash or make games run too slow. La cadence et/ou le saut de cycle n'est pas défini sur sa valeur par défaut. Cela pourrait causer des plantages et des ralentissements. - + Upscale multiplier is below native, this will break rendering. Le multiplicateur de mise à l'échelle est inférieur à « Native », cela causera des problèmes de rendu. - + Mipmapping is disabled. This may break rendering in some games. Le mipmapping est désactivé. Cela pourrait causer des problèmes d'affichage dans certains jeux. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Le moteur de rendu n'est pas défini sur Automatique. Cela peut engendrer des problèmes graphiques et de performance. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Le filtrage des textures n'est pas défini sur Bilinéaire (PS2). Cela causera des problèmes d'affichage dans certains jeux. - + No Game Running Aucun jeu en cours d'exécution - + Trilinear filtering is not set to automatic. This may break rendering in some games. Le filtrage trilinéaire n'est pas défini sur automatique. Cela pourrait causer des problèmes d'affichage dans certains jeux. - + Blending Accuracy is below Basic, this may break effects in some games. - La précision des fusions est inférieure à Basique. Cela pourrait casser les effets de certains jeux. + La fidélité des fusions est inférieure à Basique. Cela pourrait casser les effets de certains jeux. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. - Le mode de téléchargement matériel n'est pas défini sur « Précis », cela pourrait causer des problèmes d'affichage dans certains jeux. + Le mode de téléchargement matériel n'est pas défini sur Fidèle, cela pourrait causer des problèmes d'affichage dans certains jeux. - + EE FPU Round Mode is not set to default, this may break some games. Le EE FPU Rounding Mode n'est pas défini sur sa valeur par défaut, cela pourrait casser certains jeux. - + EE FPU Clamp Mode is not set to default, this may break some games. Le Clamping Mode EE n'est pas défini sur sa valeur par défaut, cela pourrait casser certains jeux. - + VU0 Round Mode is not set to default, this may break some games. Le VU0 Rounding Mode n'est pas défini sur sa valeur par défaut, cela pourrait casser certains jeux. - + VU1 Round Mode is not set to default, this may break some games. Le VU1 Rounding Mode n'est pas défini sur sa valeur par défaut, cela pourrait casser certains jeux. - + VU Clamp Mode is not set to default, this may break some games. Le Clamping Mode VU n'est pas défini sur sa valeur par défaut, cela pourrait casser certains jeux. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128 Mo de RAM activés. La compatibilité avec certains jeux pourrait être affectée. - + Game Fixes are not enabled. Compatibility with some games may be affected. Les correctifs sont désactivés. La compatibilité avec certains jeux pourrait être affectée. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Patchs de compatibilité désactivés. Le bon fonctionnement de certains jeux peut être affecté. - + Frame rate for NTSC is not default. This may break some games. La fréquence d'images pour NTSC n'est pas définie sur sa valeur par défaut. Cela pourrait casser certains jeux. - + Frame rate for PAL is not default. This may break some games. La fréquence d'images pour PAL n'est pas définie sur sa valeur par défaut. Cela pourrait casser certains jeux. - + EE Recompiler is not enabled, this will significantly reduce performance. Le recompilateur EE est désactivé, cela réduira considérablement les performances. - + VU0 Recompiler is not enabled, this will significantly reduce performance. Le recompilateur VU0 est désactivé, cela réduira considérablement les performances. - + VU1 Recompiler is not enabled, this will significantly reduce performance. Le recompilateur VU1 est désactivé, cela réduira considérablement les performances. - + IOP Recompiler is not enabled, this will significantly reduce performance. Le recompilateur IOP est désactivé, cela réduira considérablement les performances. - + EE Cache is enabled, this will significantly reduce performance. Le cache EE est activé, les performances pourraient être dégradées. - + EE Wait Loop Detection is not enabled, this may reduce performance. La détection de l'attente active est désactivée, les performances pourraient être dégradées. - + INTC Spin Detection is not enabled, this may reduce performance. La détection des boucles INTC est désactivée, les performances pourraient être dégradées. - + Fastmem is not enabled, this will reduce performance. L'accès rapide à la mémoire est désactivé, cela réduira les performances. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 est désactivé, les performances pourraient être dégradées. - + mVU Flag Hack is not enabled, this may reduce performance. Le hack « mVU Flag » est désactivé, les performances pourraient être dégradées. - + GPU Palette Conversion is enabled, this may reduce performance. « Conversion de palette GPU » est activé, les performances pourraient être dégradées. - + Texture Preloading is not Full, this may reduce performance. Le préchargement des textures n'est pas défini sur « Complet », les performances pourraient être dégradées. - + Estimate texture region is enabled, this may reduce performance. « Estimer la taille des textures » est activé, les performances pourraient être dégradées. - + Texture dumping is enabled, this will continually dump textures to disk. Le dumping des textures est activé, les textures seront dumpées sur le disque en continu. diff --git a/pcsx2-qt/Translations/pcsx2-qt_gn-PY.ts b/pcsx2-qt/Translations/pcsx2-qt_gn-PY.ts new file mode 100644 index 0000000000000..625f442431095 --- /dev/null +++ b/pcsx2-qt/Translations/pcsx2-qt_gn-PY.ts @@ -0,0 +1,22125 @@ + + + + + AboutDialog + + + About PCSX2 + Ñe'ẽngue PCSX2 rehegua + + + + SCM Version + SCM= Source Code Management + Version de SCM + + + + <html><head/><body><p>PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.</p></body></html> + PCSX2 ha'e peteĩ emulador PlayStation 2 (PS2) oĩva oikóva ha oñemohendáva. Pe porãite ohechauka ha'etehápe ohechauka PS2 rehegua, oipuruva MIPS CPU Interpreté, Recompiladore ha peteĩ Mašiná Virtual oiporúva Estado-kuéra ha Memoria PS2 rehegua. Ko'ãichagua, ikatúta reho guasu PS2 ñe'ẽ rehegua ojapo PC-pe, ojapoháicha heta mba'e porã ha beneficios rehegua. + + + + <html><head/><body><p>PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment.</p></body></html> + PlayStation 2 ha PS2, ha'e umi marca registrada Sony Interactive Entertainment-gua. Ko aplicación ndaipóri hikuái ne'ĩra jehechaukaha Sony Interactive Entertainment ndive. + + + + Website + Ñande Website + + + + Support Forums + Foro rembiapo + + + + GitHub Repository + GitHub ryru + + + + License + Licencia + + + + Third-Party Licenses + Licencias de Terceros rehegua + + + + View Document + ehecha kuatiakuéra + + + + File not found: %1 + Archivo ndojejuhúi: %1 + + + + AchievementLoginDialog + + + RetroAchievements Login + Window title + RetroAchievements Jeike rehegua + + + + RetroAchievements Login + Header text + RetroAchievements Jeike rehegua + + + + Please enter user name and password for retroachievements.org below. Your password will not be saved in PCSX2, an access token will be generated and used instead. + Emoinge puruhára réra ha ñe’ẽñemi retroachievements.org-pe g̃uarã ko’ápe. Ne ñe’ẽñemi noñongatúi PCSX2-pe, ojejapóta peteĩ jeikerã token ha ojeporúta hendaguépe. + + + + User Name: + Pojoapy puruhára réra: + + + + Password: + Terañemí: + + + + Ready... + Oĩmbáma... + + + + <strong>Your RetroAchievements login token is no longer valid.</strong> You must re-enter your credentials for achievements to be tracked. Your password will not be saved in PCSX2, an access token will be generated and used instead. + <strong>Ne RetroAchievements jeikerã token ndoikovéima.</strong> Reike jeyva’erã ne credencial-kuérape ikatu hag̃uáicha ojesegui umi mba’e ojehupytýva. Ne ñe’ẽñemi noñongatúi PCSX2-pe, ojejapóta peteĩ jeikerã token ha ojeporúta hendaguépe. + + + + &Login + &Jeike + + + + Logging in... + Oike jave... + + + + Login Error + Error ojeike jave + + + + Login failed. +Error: %1 + +Please check your username and password, and try again. + ¡Ojejavy oñepyrũvo sesión! +Error: %1 + +Emoañete ne puruhára réra ha ne ñe’ẽñemi ha eñeha’ã jey. + + + + Login failed. + Ojejavy ojeike jave + + + + Enable Achievements + Ombokatupyry umi jehupytyrã + + + + Achievement tracking is not currently enabled. Your login will have no effect until after tracking is enabled. + +Do you want to enable tracking now? + Ko’áĝa ndojehejái jehupytyrã jesareko. Nde jeike ndoikomo’ãi efecto ojemboguata peve seguimiento. + +¿Remboguatasépa ko’áĝa seguimiento? + + + + Enable Hardcore Mode + Emboguata Modo Hardcore rehegua + + + + Hardcore mode is not currently enabled. Enabling hardcore mode allows you to set times, scores, and participate in game-specific leaderboards. + +However, hardcore mode also prevents the usage of save states, cheats and slowdown functionality. + +Do you want to enable hardcore mode? + + + + + Reset System + Emoñepyrũ jey pe sistema + + + + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + Modo extremo ndojejapomo’ãi oñemboguata jey peve sistema. ¿Remohendase jeýpa ko’áĝa pe sistema? + + + + AchievementSettingsWidget + + + + Enable Achievements + Ombokatupyry umi jehupytyrã + + + + + Enable Hardcore Mode + Emboguata modo extremo rehegua + + + + + Test Unofficial Achievements + Umi Jehupytyrã Prueba No Oficial rehegua + + + + + Enable Sound Effects + Emboguata umi efectos de sonido + + + + Notifications + Emomba’apo umi marandu + + + + + 5 seconds + 5 aravo'ive + + + + Account + Mba'erepy + + + + + Login... + Eike ko'ápe... + + + + View Profile... + Ehecha perfil... + + + + Settings + Ajustes + + + + + Enable Spectator Mode + Emboguata modo espectador rehegua + + + + + Enable Encore Mode + Emboguata Modo Encore rehegua + + + + + Show Achievement Notifications + Ohechauka Marandu Jehupytyrã rehegua + + + + + Show Leaderboard Notifications + Ohechauka umi marandu calificación rehegua + + + + + Enable In-Game Overlays + Emboguata umi superposición ñembosarái ryepýpe + + + + Username: +Login token generated at: + Pojoapy puruhára réra: +Token jeikerã oñembohekopyréva ko’ápe: + + + + Game Info + Ñembosarái rehegua Info + + + + <html><head/><body><p align="justify">PCSX2 uses RetroAchievements as an achievement database and for tracking progress. To use achievements, please sign up for an account at <a href="https://retroachievements.org/">retroachievements.org</a>.</p><p align="justify">To view the achievement list in-game, press the hotkey for <span style=" font-weight:600;">Open Pause Menu</span> and select <span style=" font-weight:600;">Achievements</span> from the menu.</p></body></html> + <html><head/><body><p align="justify">PCSX2 oipuru RetroAchievements peteĩ mba’ekuaarã ryru jehupytyrã ramo ha ojesareko hag̃ua mba’éichapa oho ohóvo. Eipuru hag̃ua jehupytyrã, eñemboguapy peteĩ cuenta-pe <a href="https://retroachievements.org/">retroachievements.org</a>.</p><p align=" justify">Ehecha hag̃ua lista jehupytyrã ñembosarái ryepýpe, eity tecla caliente <span style=" font-weight:600;">Eipe'a Menú Pausa rehegua</span> ha eiporavo <estilo span=" font-weight:600;">Ojehupytyva’ekue</span> menúgui.</p></tete></html> + + + + + + + + Unchecked + Ndojejokóiva + + + + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + Ojehejávo, PCSX2 oimo’ãta opaite jehupytyrã oñembotyha ha nomondói mba’eveichagua marandu desbloqueo rehegua servidor-pe. + + + + When enabled, PCSX2 will list achievements from unofficial sets. Please note that these achievements are not tracked by RetroAchievements, so they unlock every time. + Ojehejávo, PCSX2 omoĩta umi mba’e ojehupytýva umi conjunto ndaha’éiva oficial-gui. Eñatendéke ko’ã jehupytyrã ndojejapóiha seguimiento RetroAchievements rupive, upévare ojedesblokea opaite jey. + + + + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + "Desafío" modo umi jehupytyrã, oikehápe seguimiento tablero de liderazgo rehegua. Ombogue umi función estado de salvar, cheats ha desaceleración rehegua. + + + + + + + Checked + Ojehechákuri + + + + Plays sound effects for events such as achievement unlocks and leaderboard submissions. + Ombopu efectos de sonido umi evento-pe g̃uarã haꞌeháicha desbloqueo jehupytyrã ha umi presentación tablero de liderazgo rehegua. + + + + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + Ohechauka icono oĩva pantalla esquina inferior-derecha-pe oĩ jave activo peteĩ jehupytyrã desafío/primed. + + + + When enabled and logged in, PCSX2 will scan for achievements on startup. + Ojehejávo ha ojeike jave, PCSX2 ohesa’ỹijóta umi mba’e ojehupytýva oñepyrũvo. + + + + Displays popup messages on events such as achievement unlocks and game completion. + Ohechauka marandu ojehechaukáva umi mbaꞌe ojehúva rehe haꞌeháicha jehupytyrã ñemboty ha ñembosarái ñembopaha. + + + + Displays popup messages when starting, submitting, or failing a leaderboard challenge. + Ohechauka marandu ojehechaukáva oñepyrũvo, omondo térã ofalla jave peteĩ desafío tablero de líderes rehegua. + + + + When enabled, each session will behave as if no achievements have been unlocked. + Ojehejávo, peteĩteĩva sesión oñekomportáta ndojepe’áiramoguáicha mba’eveichagua jehupytyrã. + + + + Reset System + Emoñepyrũ jey pe sistema + + + + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + Modo extremo ndojehejamoꞌãi oñemboheko jey peve sistema. ¿Remohendase jeýpa ko’áĝa pe sistema? + + + + + %n seconds + + %n aravo'ive + + + + + + Username: %1 +Login token generated on %2. + Pojoapy réra: %1 +Token jeikerã oñembohekopyréva %2-pe. + + + + Logout + Ojedesconecta sesión rehegua + + + + Not Logged In. + Nde ndaha’éi reikeva’ekue. + + + + Achievements + + + Hardcore mode will be enabled on system reset. + Modo extremo oñembohapéta sistema reset jave. + + + + + {0} cannot be performed while hardcore mode is active. Do you want to disable hardcore mode? {0} will be cancelled if you select No. + . + + + + Hardcore mode is now enabled. + Ko’áĝa oñembohapéma pe modo extremo. + + + + {} (Hardcore Mode) + {} (Modo extremo) rehegua + + + + {0}, {1}. + {0}, {1}. + + + + You have unlocked {} of %n achievements + Achievement popup + + Reipe'áva’ekue {} %n jehupytyrãgui + You have unlocked {} of %n achievements + + + + + and earned {} of %n points + Achievement popup + + ha ohejáva {} umi %n puntos + and earned {} of %n points + + + + + {} (Unofficial) + {} (Ndaha'éiva oficial) + + + + Mastered {} + Ojedomina {} + + + + {0}, {1} + {0}, {1} + + + + %n achievements + Mastery popup + + %n jehupytyrã + + + + + + %n points + Mastery popup + + %n puntos rehegua + + + + + + Leaderboard attempt started. + Oñepyrũ ñeha’ã tablero de liderazgo rehegua. + + + + Leaderboard attempt failed. + Leaderboard ñeha’ã ndoikói. + + + + Your Time: {}{} + Nde Aravo: {}{} + + + + Your Score: {}{} + Nde Puntuación: {}{} + + + + Your Value: {}{} + Nde Valor: {}{} + + + + (Submitting) + (Omoguahẽvo) + + + + Achievements Disconnected + Umi mba’e ojehupytýva Ojedesconecta + + + + An unlock request could not be completed. We will keep retrying to submit this request. + Peteĩ mba’ejerure desbloqueo rehegua ndaikatúikuri oñembotýkuri. Pe mba’ejerure oñembohasáta gueteri. + + + + Achievements Reconnected + Umi jehupytyrã ombojoaju jeýva + + + + All pending unlock requests have completed. + Opaite mba’ejerure desbloqueo pendiente oñembotýma. + + + + Hardcore mode is now disabled. + Modo «hardcore» oñembogue. + + + + Score: {0} pts (softcore: {1} pts) +Unread messages: {2} + Puntuación: {0} pts. (modo normal-pe: {1} pts.) Marandu noñemoñe'ẽiva: {2} + + + + + Confirm Hardcore Mode + Omoañete modo «hardcore» + + + + Active Challenge Achievements + Umi Jehupytyrã Desafío Activo rehegua + + + + (Hardcore Mode) + (modo «hardcore») rehegua + + + + You have unlocked all achievements and earned {} points! + ¡Redesblokea opaite jehupytyrã ha rehupyty {} punto! + + + + + Leaderboard Download Failed + Ojejavy ojegueru jave tablero de liderazgo + + + + Your Time: {0} (Best: {1}) + Nde aravo: {0} (Iporãvéva: {1}) + + + + Your Score: {0} (Best: {1}) + Nde puntuación: {0} (Iporãvéva: {1}) + + + + Your Value: {0} (Best: {1}) + Nde Valor: {0} (Iporãvéva: {1}) + + + + {0} +Leaderboard Position: {1} of {2} + {0} Mesa ñemohenda: {1} {2}-gui + + + + Server error in {0}: +{1} + Servidor jejavy {0}-pe: {1} + + + + Yes + + + + + No + Nahániri + + + + You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. + Rehupyty {0} {1} jehupytyrãgui ha {2} {3} punto-gui. + + + + Unknown + Kuaa'ỹva + + + + Locked + Ojejoko + + + + Unlocked + Ojedesblokea + + + + Unsupported + Ndojeguerohorýiva + + + + Unofficial + Ndaha'éi oficial + + + + Recently Unlocked + Nda’aréi ojedesblokea + + + + Active Challenges + Umi Jehupytyrã Desafío Activo rehegua + + + + Almost There + Nda’aréi opyta... + + + + {} points + {} puntos + + + + {} point + {} punto + + + + XXX points + XXX puntos + + + + Unlocked: {} + Ojepe'a: {} + + + + This game has {} leaderboards. + Ko ñembosarái oguereko {leaderboards} + + + + Submitting scores is disabled because hardcore mode is off. Leaderboards are read-only. + Ndaipóri puntuación oñemondomo’ãiva oñemboykégui modo hardcore. Umi cuadro de puntuación oĩ modo ojelee hag̃uánte. + + + + Show Best + Ehechauka raẽ + + + + Show Nearby + Ehechauka hi’aguĩva + + + + Rank + ñemohendaha + + + + Name + héra + + + + Time + Fecha + + + + Score + Kytã + + + + Value + Ovaléva + + + + Date Submitted + Ára oñemondo haguã + + + + Downloading leaderboard data, please wait... + Ojegueru umi dato tablero de liderazgo rehegua, eha'arõmi... + + + + + Loading... + Oñembosarái... + + + + + This game has no achievements. + Ko jehechauka ndaipóri logros. + + + + Failed to read executable from disc. Achievements disabled. + Ojejavy omoñe’ẽvo ejecutable disco-gui. Umi jehupytyrã oñemboykéva. + + + + AdvancedSettingsWidget + + + + + Use Global Setting [%1] + Eipuru ñemboheko atyguasu [%1] + + + + Rounding Mode + Modo de redondeo rehegua + + + + + + Chop/Zero (Default) + Ombogue/cero (por defecto) + + + + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Omoambue PCSX2 omboguataháicha papapy redondeo oemula rupi Unidad de Punto Flotante (EE FPU) Motor Emoción rehegua. Umi cálculo FPU PS2 rehegua ndojoajúigui umi estándar internacional-pe, oĩ ñembosarái oikotevẽtava peteĩ modalidad iñambuéva ojejapo hag̃ua hekopete koꞌã cálculo. Pe valor por defecto ombaꞌapo hetaiterei ñembosaráipe g̃uarã. <b>Oñemoambuéramo ko ñemboheko peteĩ ñembosarái ndorekói jave mba’e’oka ojehecháva ikatu omoheñói inestabilidad.</b> + + + + Division Rounding Mode + Modo redondeo división rehegua + + + + Nearest (Default) + Hi’aguĩ rupi (por defecto) + + + + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Oikuaauka mbaꞌeichaitépa ojerredondea umi resultado peteĩ división valor punto flotante rehegua. Oĩ ñembosarái oikotevẽtava peteĩ ñemboheko tee: <b>oñemoambue ko ñemboheko peteĩ ñembosarái ndorekói jave mba’e’oka ojehecháva ikatu omoheñói inestabilidad.</b> + + + + Clamping Mode + Modo limitación rehegua: + + + + + + Normal (Default) + Normal (por defecto) rehegua + + + + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Omoambue mbaꞌeichaitépa PCSX2 oñatende oñongatúvo umi flotador peteĩ rango x86 estándar-pe. Pe valor por defecto oñatende hetaiterei ñembosarái rehe; <b>omoambuéramo ko ñemboheko peteĩ ñembosarái ndoguerekói jave peteĩ apañuãi ojehecháva ikatu omoheñói inestabilidad.</b> + + + + + Enable Recompiler + Emboguata recompilador rehegua + + + + + + + + + + + + + + + + Checked + ojehecha + + + + Use Save State Selector + Eipuru selector ñeñongatu pyaꞌe + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Ohechauka peteĩ ventána jeporavorã ñeñongatu pyaꞌe rehegua oñemoambuévo espacio peteĩ marandu rangue. + + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. + Ojapo peteĩ ñembohasa binario justo-in-time máquina MIPS-IV código 64 bits rehegua x86-pe. + + + + Wait Loop Detection + Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). + Detección de Bucle oha’arõva + + + + Moderate speedup for some games, with no known side effects. + Pe velocidad moderada oĩ ñembosaráipe g̃uarã, ndojekuaáiva umi efecto secundario. + + + + Enable Cache (Slow) + Emboguata caché (mbegue) + + + + + + + Unchecked + Ndojejokóiva + + + + Interpreter only, provided for diagnostic. + Intérprete-pe g̃uarãnte, ojeporúva ojejapo hag̃ua diagnóstico. + + + + INTC Spin Detection + INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. + INTC Mba’ekuaarã jehechakuaa + + + + Huge speedup for some games, with almost no compatibility side effects. + Tuicha velocidad algunos juegos-pe g̃uarã, haimete ndorekóiva efecto secundario compatibilidad rehegua. + + + + Enable Fast Memory Access + Emboguata mandu’a jeike pya’e + + + + Uses backpatching to avoid register flushing on every memory access. + "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) + Oipuru pe técnica «backpatching» ani hag̃ua oñemboyke umi registro peteĩteĩva memoria jeike reheve. + + + + Pause On TLB Miss + Pausa TLB falla rehe + + + + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. + Oĩ jave peteĩ mba’e’oka TLB jejapópe, máquina virtual ojepytasóta oñemboyke rangue pe jejavy ha oñemboguata. Ñañamindu’u opytataha pe bloque pahápe, ndaha’éi pe ñe’ẽmondo omoheñóiva excepción-pe. Oikuaa hag̃ua dirección oiko haguépe jeike ndovaléiva, eike consola-pe. + + + + Enable 128MB RAM (Dev Console) + Emboguata 128 MB RAM (consola desarrollo rehegua) + + + + Exposes an additional 96MB of memory to the virtual machine. + Ohechauka peteĩ 96 MB manduꞌa ambuéva máquina virtual-pe. + + + + VU0 Rounding Mode + VU0 modo redondeo rehegua + + + + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> + Omoambue PCSX2 omboguataháicha papapy redondeo oemula rupi Unidad Vectorial 0 Motor Emoción rehegua ("unidad vectorial 0", térã VU0 EE rehegua). Pe valor por defecto ombaꞌapo hetaiterei ñembosaráipe g̃uarã. <b>Oñemoambuéramo ko ñemboheko peteĩ ñembosarái ndorekói jave mba’e’oka ojehecháva ikatu omoheñói inestabilidad.</b> + + + + VU1 Rounding Mode + VU1 modo redondeo rehegua: + + + + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> + Omoambue PCSX2 omboguataháicha papapy redondeo oemula rupi Unidad Vectorial 1 Motor Emoción rehegua ("unidad vectorial 1", térã VU1 EE rehegua). Pe valor por defecto ombaꞌapo hetaiterei ñembosaráipe g̃uarã. <b>Oñemoambuéramo ko ñemboheko peteĩ ñembosarái ndorekói jave mba’e’oka ojehecháva ikatu omoheñói inestabilidad.</b> + + + + VU0 Clamping Mode + VU0 limitación modalidad rehegua + + + + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Omoambue mbaꞌeichaitépa PCSX2 oñatende mbaꞌeichaitépa oñembohasa umi valor punto flotante rehegua peteĩ rango x86 estándar-pe Emotion Engine Unit Vector 0 ryepýpe ("unidad vectorial 0", térã EE VU0). Pe valor por defecto ombaꞌapo hetaiterei ñembosaráipe g̃uarã. <b>Oñemoambuéramo ko ñemboheko peteĩ ñembosarái ndorekói jave mba’e’oka ojehecháva ikatu omoheñói inestabilidad.</b> + + + + VU1 Clamping Mode + VU1 modo limitante rehegua: + + + + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Omoambue mbaꞌeichaitépa PCSX2 oñatende umi valor punto flotante rehegua ñemoambue peteĩ rango x86 estándar-pe Emotion Engine Unit Vector 1 ryepýpe ("unidad vectorial 1", térã EE VU1). Pe valor por defecto ombaꞌapo hetaiterei ñembosaráipe g̃uarã. <b>Oñemoambuéramo ko ñemboheko peteĩ ñembosarái ndorekói jave mba’e’oka ojehecháva ikatu omoheñói inestabilidad.</b> + + + + Enable Instant VU1 + Emboguata VU1 taꞌãngamýi + + + + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + Omboguata VU1 pya'eterei. Omoporãve michĩmi velocidad hetavéva ñembosaráipe. Haꞌehína peteĩ opción segura haimete opavavepe g̃uarã, ha katu oĩ ikatúva ohechaukáva jejavy gráfico. + + + + Enable VU0 Recompiler (Micro Mode) + VU0 = Vector Unit 0. One of the PS2's processors. + Emboguata VU0 recompilador (modo micro) rehegua + + + + Enables VU0 Recompiler. + Ombohapéva VU0 Recompilador. + + + + Enable VU1 Recompiler + VU1 = Vector Unit 1. One of the PS2's processors. + Emboguata VU1 recompilador rehegua + + + + Enables VU1 Recompiler. + Emboguata VU1 recompilador rehegua. + + + + mVU Flag Hack + mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) + mVU indicador ñemyatyrõ + + + + Good speedup and high compatibility, may cause graphical errors. + Tuicha omoporãve velocidad ha oguereko compatibilidad yvate, ha katu ikatu omoheñói jejavy gráfico. + + + + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. + Ojapo peteĩ ñembohasa binario justo-in-time máquina MIPS-I kódigo 32 bits rehegua x86-pe. + + + + Enable Game Fixes + Emboguata ñemyatyrõ ñembosaráipe g̃uarã + + + + Automatically loads and applies fixes to known problematic games on game start. + Okarga ha omoĩ ijeheguiete ñemyatyrõ omoñepyrũvo oimeraẽ ñembosarái ojekuaáva omoheñóiha apañuãi. + + + + Enable Compatibility Patches + Emboguata umi Parche Compatibilidad rehegua + + + + Automatically loads and applies compatibility patches to known problematic games. + Okarga ha omoĩ ijeheguiete umi parche compatibilidad rehegua umi ñembosarái problemático ojekuaávape. + + + + Savestate Compression Method + Savestate Método de Compresión rehegua + + + + Zstandard + Zstandard rehegua + + + + Determines the algorithm to be used when compressing savestates. + Omohenda algoritmo ojeporútava oñembohysýi jave umi savestate. + + + + Savestate Compression Level + Nivel de compresión ñeñongatu pyaꞌe + + + + Medium + Medio + + + + Determines the level to be used when compressing savestates. + Omohenda nivel ojeporútava oñembohysýi jave umi savestate. + + + + Save State On Shutdown + Oñongatu Estado En Apagado + + + + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + Oñongatu ijeheguiete pe emulador estado oñembogue térã osẽ jave. Upéi ikatu reñepyrũ jey directamente repyta haguégui ambue jey. + + + + Create Save State Backups + Ejapo Ñongatu Estado rehegua jekopytyjoja + + + + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. + Do not translate the ".backup" extension. + Ojapo peteĩ copia de seguridad peteĩ estado ñeñongatu rehegua oĩmaramo ojejapo jave ñeñongatu. Pe copia de seguridad oguereko peteĩ .backup ñe’ẽpehẽtai. + + + + AdvancedSystemSettingsWidget + + + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + Oñemoambuéramo ko’ã opción ikatu ojapo umi ñembosarái ndojejapóiva. Emoambue nde riesgo reheve, PCSX2 equipo nome’ẽmo’ãi pytyvõ umi configuración ko’ã ñemboheko oñemoambuéva reheve. + + + + EmotionEngine (MIPS-IV) + Emotion Engine = Commercial name of one of PS2's processors. Leave as-is unless there's an official name (like for Japanese). + EmotionEngine (MIPS-IV) + + + + Rounding Mode: + Rounding refers here to the mathematical term. + Modo de Redondeo rehegua: + + + + + + Nearest + Hi’aguĩvéva + + + + + + + Negative + Mbotove + + + + + + + Positive + Py'aporã + + + + Clamping Mode: + Clamping: Forcing out of bounds things in bounds by changing them to the closest possible value. In this case, this refers to clamping large PS2 floating point values (which map to infinity or NaN in PCs' IEEE754 floats) to non-infinite ones. + Modo de Abrazadera: + + + + + None + Avave + + + + + + Normal (Default) + Normal (Predeterminado) rehegua + + + + + + Chop/Zero (Default) + Eliminar/cero (predeterminado) Ñe’ẽpoty ha purahéi + + + + Division Rounding Mode: + Rounding refers here to the mathematical term. + Modo de Redondeo División rehegua: + + + + Nearest (Default) + Hi'aguĩvéva (Predeterminado) + + + + Chop/Zero + Eliminar/cero + + + + None + ClampMode + Avave + + + + + + Extra + Preserve Sign + Sign: refers here to the mathematical meaning (plus/minus). + Extra + Preserva Señal rehegua + + + + Full + Todo + + + + Wait Loop Detection + Detección de Bucle de Espera + + + + + Enable Recompiler + Emboguata Recompilador rehegua + + + + Enable Fast Memory Access + Emboguata Jeike Pya’e Mandu’arã + + + + Enable Cache (Slow) + Emboguata Caché (Mbegue) + + + + INTC Spin Detection + INTC Detección de Giro rehegua + + + + Pause On TLB Miss + Pausar al fallar el TLB + + + + Enable 128MB RAM (Dev Console) + Emboguata 128MB RAM (Consola de Desarrollador) + + + + Vector Units (VU) + Vector Unit/VU: refers to two of PS2's processors. Do not translate the full text or do so as a comment. Leave the acronym as-is. + Unidades Vectoriales (VU) rehegua + + + + VU1 Rounding Mode: + VU1 modo redondeo rehegua: + + + + mVU Flag Hack + corrección del indicador de mVU + + + + Enable VU1 Recompiler + Emboguata VU1 recompilador rehegua + + + + Enable VU0 Recompiler (Micro Mode) + Emboguata VU0 recompilador (modo micro) + + + + Enable Instant VU1 + Emboguata VU1 Instantáneo rehegua + + + + + Extra + Extra + + + + VU0 Clamping Mode: + VU0 Clamping Mode: + + + + VU0 Rounding Mode: + VU0 Rounding Mode: + + + + VU1 Clamping Mode: + VU1 Clamping Mode: + + + + I/O Processor (IOP, MIPS-I) + I/O Processor (IOP, MIPS-I) + + + + Game Settings + Game Settings + + + + Enable Game Fixes + Enable Game Fixes + + + + Enable Compatibility Patches + Enable Compatibility Patches + + + + Create Save State Backups + Create Save State Backups + + + + Save State On Shutdown + Save State On Shutdown + + + + Frame Rate Control + Frame Rate Control + + + + + hz + hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. + hz + + + + PAL Frame Rate: + PAL Frame Rate: + + + + NTSC Frame Rate: + NTSC Frame Rate: + + + + Savestate Settings + Savestate Settings + + + + Compression Level: + Compression Level: + + + + Compression Method: + Compression Method: + + + + Uncompressed + Uncompressed + + + + Deflate64 + Deflate64 + + + + Zstandard + Zstandard + + + + LZMA2 + LZMA2 + + + + Low (Fast) + Low (Fast) + + + + Medium (Recommended) + Medium (Recommended) + + + + High + High + + + + Very High (Slow, Not Recommended) + Very High (Slow, Not Recommended) + + + + Use Save State Selector + Use Save State Selector + + + + PINE Settings + PINE Settings + + + + Slot: + Slot: + + + + Enable + Enable + + + + AnalysisOptionsDialog + + + Analysis Options + Analysis Options + + + + Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + + + + Close dialog after analysis has started + Close dialog after analysis has started + + + + Analyze + Analyze + + + + Close + Close + + + + AudioExpansionSettingsDialog + + + Audio Expansion Settings + Audio Expansion Settings + + + + Circular Wrap: + Circular Wrap: + + + + + 30 + 30 + + + + Shift: + Shift: + + + + + + + + + + 20 + 20 + + + + Depth: + Depth: + + + + 10 + 10 + + + + Focus: + Focus: + + + + Center Image: + Center Image: + + + + Front Separation: + Front Separation: + + + + Rear Separation: + Rear Separation: + + + + Low Cutoff: + Low Cutoff: + + + + High Cutoff: + High Cutoff: + + + + <html><head/><body><p><span style=" font-weight:700;">Audio Expansion Settings</span><br/>These settings fine-tune the behavior of the FreeSurround-based channel expander.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Audio Expansion Settings</span><br/>These settings fine-tune the behavior of the FreeSurround-based channel expander.</p></body></html> + + + + Block Size: + Block Size: + + + + AudioSettingsWidget + + + Configuration + Configuration + + + + Driver: + Driver: + + + + + Expansion Settings + Expansion Settings + + + + + Stretch Settings + Stretch Settings + + + + Buffer Size: + Buffer Size: + + + + Maximum latency: 0 frames (0.00ms) + Maximum latency: 0 frames (0.00ms) + + + + Backend: + Backend: + + + + + 0 ms + 0 ms + + + + Controls + Controls + + + + Output Volume: + Output Volume: + + + + + 100% + 100% + + + + Fast Forward Volume: + Fast Forward Volume: + + + + + Mute All Sound + Mute All Sound + + + + Synchronization: + Synchronization: + + + + TimeStretch (Recommended) + TimeStretch (Recommended) + + + + Expansion: + Expansion: + + + + Output Latency: + Output Latency: + + + + Minimal + Minimal + + + + Output Device: + Output Device: + + + + Synchronization + Synchronization + + + + When running outside of 100% speed, adjusts the tempo on audio instead of dropping frames. Produces much nicer fast-forward/slowdown audio. + When running outside of 100% speed, adjusts the tempo on audio instead of dropping frames. Produces much nicer fast-forward/slowdown audio. + + + + + Default + Default + + + + Determines the buffer size which the time stretcher will try to keep filled. It effectively selects the average latency, as audio will be stretched/shrunk to keep the buffer size within check. + Determines the buffer size which the time stretcher will try to keep filled. It effectively selects the average latency, as audio will be stretched/shrunk to keep the buffer size within check. + + + + Output Latency + Output Latency + + + + Determines the latency from the buffer to the host audio output. This can be set lower than the target latency to reduce audio delay. + Determines the latency from the buffer to the host audio output. This can be set lower than the target latency to reduce audio delay. + + + + Resets output volume back to the global/inherited setting. + Resets output volume back to the global/inherited setting. + + + + Resets output volume back to the default. + Resets output volume back to the default. + + + + Resets fast forward volume back to the global/inherited setting. + Resets fast forward volume back to the global/inherited setting. + + + + Resets fast forward volume back to the default. + Resets fast forward volume back to the default. + + + + + %1% + %1% + + + + + + + + N/A + Preserve the %1 variable, adapt the latter ms (and/or any possible spaces in between) to your language's ruleset. + N/A + + + + + + % + % + + + + Audio Backend + Audio Backend + + + + The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. + The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. + + + + + + + %1 ms + %1 ms + + + + Buffer Size + Buffer Size + + + + Output Volume + Output Volume + + + + Controls the volume of the audio played on the host. + Controls the volume of the audio played on the host. + + + + Fast Forward Volume + Fast Forward Volume + + + + Controls the volume of the audio played on the host when fast forwarding. + Controls the volume of the audio played on the host when fast forwarding. + + + + Unchecked + Unchecked + + + + Prevents the emulator from producing any audible sound. + Prevents the emulator from producing any audible sound. + + + + Expansion Mode + Expansion Mode + + + + Disabled (Stereo) + Disabled (Stereo) + + + + Determines how audio is expanded from stereo to surround for supported games. This includes games that support Dolby Pro Logic/Pro Logic II. + Determines how audio is expanded from stereo to surround for supported games. This includes games that support Dolby Pro Logic/Pro Logic II. + + + + These settings fine-tune the behavior of the FreeSurround-based channel expander. + These settings fine-tune the behavior of the FreeSurround-based channel expander. + + + + These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed. + These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed. + + + + + Reset Volume + Reset Volume + + + + + Reset Fast Forward Volume + Reset Fast Forward Volume + + + + Unknown Device "%1" + Unknown Device "%1" + + + + Maximum Latency: %1 ms (%2 ms buffer + %3 ms expand + %4 ms output) + Maximum Latency: %1 ms (%2 ms buffer + %3 ms expand + %4 ms output) + + + + Maximum Latency: %1 ms (%2 ms buffer + %3 ms output) + Maximum Latency: %1 ms (%2 ms buffer + %3 ms output) + + + + Maximum Latency: %1 ms (%2 ms expand, minimum output latency unknown) + Maximum Latency: %1 ms (%2 ms expand, minimum output latency unknown) + + + + Maximum Latency: %1 ms (minimum output latency unknown) + Maximum Latency: %1 ms (minimum output latency unknown) + + + + AudioStream + + + Null (No Output) + Null (No Output) + + + + Cubeb + Cubeb + + + + SDL + SDL + + + + Disabled (Stereo) + Disabled (Stereo) + + + + Stereo with LFE + Stereo with LFE + + + + Quadraphonic + Sonido cuadrafónico rehegua + + + + Quadraphonic with LFE + Sonido cuadrafónico orekóva LFE + + + + 5.1 Surround + 5.1 Surround ( Versión 5.1 sonido envolvente rehegua) + + + + 7.1 Surround + 7.1 Surround ( Versión 7.1 sonido envolvente rehegua) + + + + + Default + Oñembohory + + + + AudioStretchSettingsDialog + + + Audio Stretch Settings + Ajustes rehegua arandupy ohechauka + + + + Sequence Length: + Kuatia pukukue: . + + + + 30 + 30 + + + + Seekwindow Size: + Pe periodo jeheka tuichakue: + + + + 20 + 20 + + + + Overlap: + Solapar: + + + + 10 + 10 + + + + <html><head/><body><p><span style=" font-weight:700;">Audio Stretch Settings</span><br/>These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Audio estiramiento ñemboheko</span><br/>Ko’ã ñemboheko omohenda porã SoundTouch audio aravo camilla reko oñemboguata jave okápe 100% velocidad-gui..</p></body></html> + + + + Use Quickseek + Eipuru jeheka pya’e + + + + Use Anti-Aliasing Filter + Eipuru filtro antialiasing rehegua + + + + AutoUpdaterDialog + + + + + Automatic Updater + Actualización Automática rehegua + + + + Update Available + Actualización ojeguerekóva + + + + Current Version: + Versión ko’áĝagua: + + + + New Version: + Versión ipyahuvéva: + + + + Download Size: + Ojegueru tuichakue: + + + + Download and Install... + Emboguejy ha emoĩ... + + + + Skip This Update + Embohasa ko ñembopyahu + + + + Remind Me Later + Penemanduʼákena upe rire + + + + + Updater Error + Ñembopyahu jejavy + + + + <h2>Changes:</h2> + <h2>Cambios:</h2> + + + + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> + <h2>Ñeñongatu pya’e ñe’ẽñemi</h2><p>Emoĩramo ko ñembopyahu, ne ñongatu pya’e <b>noñepytyvõvéima</b>. Ejesareko eñongatu hague ne progreso peteĩ Tarjeta de Memoria-pe emoĩ mboyve ko ñembopyahu, térã reperdéta ne progreso.</p> + + + + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> + <h2>Ñembohekorã Ñe’ẽñemi</h2><p>Emoĩramo ko ñembopyahu omoĩjeýta programa ñemboheko. Penemandu’áke pemoambue jeyva’erãha programa ñemboheko ojejapo rire ko ñembopyahu.</p> + + + + Savestate Warning + Ñe’ẽñemi ñeñongatu pya’e rehegua + + + + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> + <h1>AVISO DE ADVERTENCIA!</h1><p style='font-size:12pt;'>Emoĩramo ko ñembopyahu nde <b>estado ñongatuha ndojoguerahái</b>, <i>eime seguro eñongatu hag̃ua oimeraẽ progreso nde tarjeta de memoria-pe upe mboyve proceder</i>.</p><p>Reseguise piko?</p> + + + + Downloading %1... + Descargando %1 rehegua... + + + + No updates are currently available. Please try again later. + Ndaipóri mba’eveichagua actualización ojeguerekóva. Eñeha’ã jey upe rire. + + + + Current Version: %1 (%2) + Versión ko’ag̃agua: %1 (%2) + + + + New Version: %1 (%2) + Versión ipyahuvéva: %1 (%2) + + + + Download Size: %1 MB + Ñemboguejy tuichakue: %1 MB + + + + Loading... + Oñembohasa... + + + + Failed to remove updater exe after update. + Ojejavy oñembogue jave actualizador ejecutable oñembopyahu rire. + + + + BIOSSettingsWidget + + + BIOS Directory + BIOS ryru: + + + + PCSX2 will search for BIOS images in this directory. + PCSX2 ohekáta BIOS taꞌãngamýi ko kundahárape. + + + + Browse... + Heka... + + + + Reset + Eñepyrũ jey + + + + BIOS Selection + BIOS jeporavo rehegua + + + + Open BIOS Folder... + Eipe'a BIOS ryru... + + + + Refresh List + Ombopyahu lista + + + + Filename + Archivo réra + + + + Version + Versión + + + + Options and Patches + Opciones ha parches rehegua + + + + + Fast Boot + Ñemboguata Pya’e + + + + + Fast Forward Boot + Ombopya'e arranque + + + + Checked + oñemoañeteva’ekue + + + + Patches the BIOS to skip the console's boot animation. + Omboheko BIOS omboyke hag̃ua consola ñepyrũrã ñemohaꞌãnga. + + + + Unchecked + Unchecked + + + + Removes emulation speed throttle until the game starts to reduce startup time. + Removes emulation speed throttle until the game starts to reduce startup time. + + + + BreakpointDialog + + + Create / Modify Breakpoint + Create / Modify Breakpoint + + + + Type + Type + + + + Execute + Execute + + + + + Memory + Memory + + + + Address + Address + + + + 0 + 0 + + + + Read + Read + + + + Write + Write + + + + Change + Change + + + + Size + Size + + + + 1 + 1 + + + + Condition + Condition + + + + Log + Log + + + + Enable + Enable + + + + + Invalid Address + Invalid Address + + + + + Invalid Condition + Invalid Condition + + + + Invalid Size + Invalid Size + + + + BreakpointModel + + + Execute + Execute + + + + + -- + -- + + + + Enabled + Enabled + + + + Disabled + Disabled + + + + Read + Read + + + + Write(C) + (C) = changes, as in "look for changes". + Write(C) + + + + Write + Write + + + + TYPE + Warning: limited space available. Abbreviate if needed. + TYPE + + + + OFFSET + Warning: limited space available. Abbreviate if needed. + OFFSET + + + + SIZE / LABEL + Warning: limited space available. Abbreviate if needed. + SIZE / LABEL + + + + INSTRUCTION + Warning: limited space available. Abbreviate if needed. + INSTRUCTION + + + + CONDITION + Warning: limited space available. Abbreviate if needed. + CONDITION + + + + HITS + Warning: limited space available. Abbreviate if needed. + HITS + + + + X + Warning: limited space available. Abbreviate if needed. + X + + + + CDVD + + + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. + + + + Saving CDVD block dump to '{}'. + Saving CDVD block dump to '{}'. + + + + Precaching CDVD + Precaching CDVD + + + + Audio + Audio + + + + Mode 1 + Mode 1 + + + + Mode 2 + Mode 2 + + + + Unknown + Unknown + + + + Precaching is not supported for discs. + Precaching is not supported for discs. + + + + Precaching {}... + Precaching {}... + + + + Precaching is not supported for this file format. + Precaching is not supported for this file format. + + + + Required memory ({}GB) is the above the maximum allowed ({}GB). + Required memory ({}GB) is the above the maximum allowed ({}GB). + + + + ColorPickerButton + + + Select LED Color + Select LED Color + + + + ControllerBindingWidget + + + Virtual Controller Type + Virtual Controller Type + + + + Bindings + Bindings + + + + Settings + Settings + + + + Macros + Macros + + + + Automatic Mapping + Automatic Mapping + + + + Clear Mapping + Clear Mapping + + + + Controller Port %1 + Controller Port %1 + + + + No devices available + No devices available + + + + Clear Bindings + Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). + Clear Bindings + + + + Are you sure you want to clear all bindings for this controller? This action cannot be undone. + Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). + Are you sure you want to clear all bindings for this controller? This action cannot be undone. + + + + Automatic Binding + Automatic Binding + + + + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + + + + ControllerBindingWidget_DualShock2 + + + D-Pad + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + D-Pad + + + + + + Down + Down + + + + + + Left + Left + + + + + + Up + Up + + + + + + Right + Right + + + + Left Analog + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Left Analog + + + + Large Motor + Large Motor + + + + L2 + Leave this button name as-is. + L2 + + + + R2 + Leave this button name as-is. + R2 + + + + L1 + Leave this button name as-is. + L1 + + + + R1 + Leave this button name as-is. + R1 + + + + Start + Leave this button name as-is or uppercase it entirely. + Start + + + + Select + Leave this button name as-is or uppercase it entirely. + Select + + + + Face Buttons + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Face Buttons + + + + Cross + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Cross + + + + Square + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Square + + + + Triangle + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Triangle + + + + Circle + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Circle + + + + Right Analog + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Right Analog + + + + Small Motor + Small Motor + + + + L3 + Leave this button name as-is. + L3 + + + + R3 + Leave this button name as-is. + R3 + + + + Pressure Modifier + Pressure Modifier + + + + Analog + Analog + + + + ControllerBindingWidget_Guitar + + + Yellow + Yellow + + + + + + + + + + + + + + PushButton + PushButton + + + + Start + Start + + + + Red + Red + + + + Green + Green + + + + Orange + Orange + + + + Select + Select + + + + Strum Up + Strum Up + + + + Strum Down + Strum Down + + + + Blue + Blue + + + + Whammy Bar + Whammy Bar + + + + Tilt + Tilt + + + + ControllerBindingWidget_Jogcon + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Large Motor + Large Motor + + + + L2 + L2 + + + + R2 + R2 + + + + L1 + L1 + + + + R1 + R1 + + + + Start + Start + + + + Select + Select + + + + Face Buttons + Face Buttons + + + + Cross + Cross + + + + Square + Square + + + + Triangle + Triangle + + + + Circle + Circle + + + + Small Motor + Small Motor + + + + Dial Left + Dial Left + + + + Dial Right + Dial Right + + + + ControllerBindingWidget_Negcon + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Large Motor + Large Motor + + + + L + L + + + + Start + Start + + + + R + R + + + + Face Buttons + Face Buttons + + + + I + I + + + + II + II + + + + B + B + + + + A + A + + + + Small Motor + Small Motor + + + + Twist Left + Twist Left + + + + Twist Right + Twist Right + + + + ControllerBindingWidget_Popn + + + Select + Leave this button name as-is or uppercase it entirely. + Select + + + + Yellow (Left) + Yellow (Left) + + + + Yellow (Right) + Yellow (Right) + + + + Blue (Right) + Blue (Right) + + + + Blue (Left) + Blue (Left) + + + + Start + Leave this button name as-is or uppercase it entirely. + Start + + + + Red + Red + + + + Green (Right) + Green (Right) + + + + White (Left) + White (Left) + + + + Green (Left) + Green (Left) + + + + White (Right) + White (Right) + + + + ControllerCustomSettingsWidget + + + Restore Default Settings + Restore Default Settings + + + + Browse... + Browse... + + + + Select File + Select File + + + + ControllerGlobalSettingsWidget + + + SDL Input Source + SDL Input Source + + + + The SDL input source supports most controllers, and provides advanced functionality for DualShock 4 / DualSense pads in Bluetooth mode (Vibration / LED Control). + The SDL input source supports most controllers, and provides advanced functionality for DualShock 4 / DualSense pads in Bluetooth mode (Vibration / LED Control). + + + + Enable SDL Input Source + Enable SDL Input Source + + + + DualShock 4 / DualSense Enhanced Mode + DualShock 4 / DualSense Enhanced Mode + + + + XInput Source + XInput Source + + + + Enable XInput Input Source + Enable XInput Input Source + + + + DInput Source + DInput Source + + + + The DInput source provides support for legacy controllers which do not support XInput. Accessing these controllers via SDL instead is recommended, but DirectInput can be used if they are not compatible with SDL. + The DInput source provides support for legacy controllers which do not support XInput. Accessing these controllers via SDL instead is recommended, but DirectInput can be used if they are not compatible with SDL. + + + + Enable DInput Input Source + Enable DInput Input Source + + + + Profile Settings + Profile Settings + + + + When this option is enabled, hotkeys can be set in this input profile, and will be used instead of the global hotkeys. By default, hotkeys are always shared between all profiles. + When this option is enabled, hotkeys can be set in this input profile, and will be used instead of the global hotkeys. By default, hotkeys are always shared between all profiles. + + + + Use Per-Profile Hotkeys + Use Per-Profile Hotkeys + + + + + Controller LED Settings + Controller LED Settings + + + + Enable SDL Raw Input + Enable SDL Raw Input + + + + Enable IOKit Driver + Enable IOKit Driver + + + + Enable MFI Driver + Enable MFI Driver + + + + The XInput source provides support for Xbox 360 / Xbox One / Xbox Series controllers, and third party controllers which implement the XInput protocol. + The XInput source provides support for Xbox 360 / Xbox One / Xbox Series controllers, and third party controllers which implement the XInput protocol. + + + + Controller Multitap + Controller Multitap + + + + The multitap enables up to 8 controllers to be connected to the console. Each multitap provides 4 ports. Multitap is not supported by all games. + The multitap enables up to 8 controllers to be connected to the console. Each multitap provides 4 ports. Multitap is not supported by all games. + + + + Multitap on Console Port 1 + Multitap on Console Port 1 + + + + Multitap on Console Port 2 + Multitap on Console Port 2 + + + + Mouse/Pointer Source + Mouse/Pointer Source + + + + PCSX2 allows you to use your mouse to simulate analog stick movement. + PCSX2 allows you to use your mouse to simulate analog stick movement. + + + + Settings... + Settings... + + + + Enable Mouse Mapping + Enable Mouse Mapping + + + + Detected Devices + Detected Devices + + + + ControllerLEDSettingsDialog + + + Controller LED Settings + Controller LED Settings + + + + SDL-0 LED + SDL-0 LED + + + + SDL-1 LED + SDL-1 LED + + + + Enable DualSense Player LED + Enable DualSense Player LED + + + + SDL-2 LED + SDL-2 LED + + + + SDL-3 LED + SDL-3 LED + + + + ControllerMacroEditWidget + + + Binds/Buttons + Binds/Buttons + + + + Select the buttons which you want to trigger with this macro. All buttons are activated concurrently. + Select the buttons which you want to trigger with this macro. All buttons are activated concurrently. + + + + Pressure + Pressure + + + + For buttons which are pressure sensitive, this slider controls how much force will be simulated when the macro is active. + For buttons which are pressure sensitive, this slider controls how much force will be simulated when the macro is active. + + + + + 100% + 100% + + + + Trigger + Trigger + + + + Select the trigger to activate this macro. This can be a single button, or combination of buttons (chord). Shift-click for multiple triggers. + Select the trigger to activate this macro. This can be a single button, or combination of buttons (chord). Shift-click for multiple triggers. + + + + Press To Toggle + Press To Toggle + + + + Deadzone: + Deadzone: + + + + Frequency + Frequency + + + + Macro will toggle every N frames. + Macro will toggle every N frames. + + + + Set... + Set... + + + + Not Configured + Not Configured + + + + + %1% + %1% + + + + Set Frequency + Set Frequency + + + + Frequency: + Frequency: + + + + Macro will not repeat. + Macro will not repeat. + + + + Macro will toggle buttons every %1 frames. + Macro will toggle buttons every %1 frames. + + + + ControllerMacroWidget + + + Controller Port %1 Macros + Controller Port %1 Macros + + + + Macro %1 +%2 + This is the full text that appears in each option of the 16 available macros, and reads like this: + +Macro 1 +Not Configured/Buttons configured + Macro %1 +%2 + + + + ControllerMappingSettingsDialog + + + Controller Mapping Settings + Controller Mapping Settings + + + + <html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html> + + + + Ignore Inversion + Ignore Inversion + + + + <html><head/><body><p>Some third party controllers incorrectly flag their analog sticks as inverted on the positive component, but not negative.</p><p>As a result, the analog stick will be &quot;stuck on&quot; even while resting at neutral position. </p><p>Enabling this setting will tell PCSX2 to ignore inversion flags when creating mappings, allowing such controllers to function normally.</p></body></html> + <html><head/><body><p>Some third party controllers incorrectly flag their analog sticks as inverted on the positive component, but not negative.</p><p>As a result, the analog stick will be &quot;stuck on&quot; even while resting at neutral position. </p><p>Enabling this setting will tell PCSX2 to ignore inversion flags when creating mappings, allowing such controllers to function normally.</p></body></html> + + + + ControllerMouseSettingsDialog + + + Mouse Mapping Settings + Mouse Mapping Settings + + + + Y Speed + Y Speed + + + + + + + + 10 + 10 + + + + X Speed + X Speed + + + + <html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html> + + + + Inertia + Inertia + + + + X Dead Zone + X Dead Zone + + + + Y Dead Zone + Y Dead Zone + + + + ControllerSettingsWindow + + + PCSX2 Controller Settings + PCSX2 Controller Settings + + + + Editing Profile: + Editing Profile: + + + + New Profile + New Profile + + + + Apply Profile + Apply Profile + + + + Rename Profile + Rename Profile + + + + Delete Profile + Delete Profile + + + + Mapping Settings + Mapping Settings + + + + + Restore Defaults + Restore Defaults + + + + + + Create Input Profile + Create Input Profile + + + + Custom input profiles are used to override the Shared input profile for specific games. +To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. + +Enter the name for the new input profile: + Custom input profiles are used to override the Shared input profile for specific games. +To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. + +Enter the name for the new input profile: + + + + + + + + + Error + Error + + + + + A profile with the name '%1' already exists. + A profile with the name '%1' already exists. + + + + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. + + + + Do you want to copy the current hotkey bindings from global settings to the new input profile? + Do you want to copy the current hotkey bindings from global settings to the new input profile? + + + + Failed to save the new profile to '%1'. + Failed to save the new profile to '%1'. + + + + Load Input Profile + Load Input Profile + + + + Are you sure you want to load the input profile named '%1'? + +All current global bindings will be removed, and the profile bindings loaded. + +You cannot undo this action. + Are you sure you want to load the input profile named '%1'? + +All current global bindings will be removed, and the profile bindings loaded. + +You cannot undo this action. + + + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + + Delete Input Profile + Delete Input Profile + + + + Are you sure you want to delete the input profile named '%1'? + +You cannot undo this action. + Are you sure you want to delete the input profile named '%1'? + +You cannot undo this action. + + + + Failed to delete '%1'. + Failed to delete '%1'. + + + + Are you sure you want to restore the default controller configuration? + +All shared bindings and configuration will be lost, but your input profiles will remain. + +You cannot undo this action. + Are you sure you want to restore the default controller configuration? + +All shared bindings and configuration will be lost, but your input profiles will remain. + +You cannot undo this action. + + + + Global Settings + Global Settings + + + + + Controller Port %1%2 +%3 + Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. + Controller Port %1%2 +%3 + + + + + Controller Port %1 +%2 + Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. + Controller Port %1 +%2 + + + + + USB Port %1 +%2 + USB Port %1 +%2 + + + + Hotkeys + Hotkeys + + + + Shared + "Shared" refers here to the shared input profile. + Shared + + + + The input profile named '%1' cannot be found. + The input profile named '%1' cannot be found. + + + + CoverDownloadDialog + + + Download Covers + Download Covers + + + + PCSX2 can automatically download covers for games which do not currently have a cover set. We do not host any cover images, the user must provide their own source for images. + PCSX2 can automatically download covers for games which do not currently have a cover set. We do not host any cover images, the user must provide their own source for images. + + + + <html><head/><body><p>In the box below, specify the URLs to download covers from, with one template URL per line. The following variables are available:</p><p><span style=" font-style:italic;">${title}:</span> Title of the game.<br/><span style=" font-style:italic;">${filetitle}:</span> Name component of the game's filename.<br/><span style=" font-style:italic;">${serial}:</span> Serial of the game.</p><p><span style=" font-weight:700;">Example:</span> https://www.example-not-a-real-domain.com/covers/${serial}.jpg</p></body></html> + <html><head/><body><p>In the box below, specify the URLs to download covers from, with one template URL per line. The following variables are available:</p><p><span style=" font-style:italic;">${title}:</span> Title of the game.<br/><span style=" font-style:italic;">${filetitle}:</span> Name component of the game's filename.<br/><span style=" font-style:italic;">${serial}:</span> Serial of the game.</p><p><span style=" font-weight:700;">Example:</span> https://www.example-not-a-real-domain.com/covers/${serial}.jpg</p></body></html> + + + + By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. + By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. + + + + Use Title File Names + Use Title File Names + + + + Waiting to start... + Waiting to start... + + + + + Start + Start + + + + Close + Close + + + + Download complete. + Download complete. + + + + Stop + Stop + + + + CpuWidget + + + Registers + Registers + + + + Functions + Functions + + + + Memory Search + Memory Search + + + + Memory + Memory + + + + Breakpoints + Breakpoints + + + + Threads + Threads + + + + Active Call Stack + Active Call Stack + + + + Saved Addresses + Saved Addresses + + + + Globals + Globals + + + + Locals + Locals + + + + Parameters + Parameters + + + + Breakpoint List Context Menu + Breakpoint List Context Menu + + + + + New + New + + + + Edit + Edit + + + + + + Copy + Copy + + + + + Delete + Delete + + + + + + + Copy all as CSV + Copy all as CSV + + + + + Paste from CSV + Paste from CSV + + + + Thread List Context Menu + Thread List Context Menu + + + + Go to in Disassembly + Go to in Disassembly + + + + + Load from Settings + Load from Settings + + + + + Save to Settings + Save to Settings + + + + Go to in Memory View + Go to in Memory View + + + + Copy Address + Copy Address + + + + Copy Text + Copy Text + + + + Stack List Context Menu + Stack List Context Menu + + + + DEV9DnsHostDialog + + + Network DNS Hosts Import/Export + Network DNS Hosts Import/Export + + + + Select Hosts + Select Hosts + + + + OK + OK + + + + Cancel + Cancel + + + + Selected + Selected + + + + Name + Name + + + + Url + Url + + + + Address + Address + + + + Enabled + Enabled + + + + DEV9SettingsWidget + + + Ethernet + Ethernet + + + + Ethernet Device: + Ethernet Device: + + + + Ethernet Device Type: + Ethernet Device Type: + + + + Intercept DHCP + Intercept DHCP + + + + Enabled + Enabled + + + + Enabled + InterceptDHCP + Enabled + + + + Subnet Mask: + Subnet Mask: + + + + Gateway Address: + Gateway Address: + + + + + + Auto + Auto + + + + Intercept DHCP: + Intercept DHCP: + + + + PS2 Address: + PS2 Address: + + + + DNS1 Address: + DNS1 Address: + + + + DNS2 Address: + DNS2 Address: + + + + Internal DNS + Internal DNS + + + + Add + Add + + + + Delete + Delete + + + + Export + Export + + + + Import + Import + + + + Per game + Per game + + + + Internal DNS can be selected using the DNS1/2 dropdowns, or by setting them to 192.0.2.1 + Internal DNS can be selected using the DNS1/2 dropdowns, or by setting them to 192.0.2.1 + + + + Enabled + InternalDNSTable + Enabled + + + + Hard Disk Drive + Hard Disk Drive + + + + Enable 48-Bit LBA + Enable 48-Bit LBA + + + + HDD File: + HDD File: + + + + + 40 + 40 + + + + + 120 + 120 + + + + HDD Size (GiB): + HDD Size (GiB): + + + + Enabled + HDD + Enabled + + + + Browse + Browse + + + + Create Image + Create Image + + + + PCAP Bridged + PCAP Bridged + + + + PCAP Switched + PCAP Switched + + + + TAP + TAP + + + + Sockets + Sockets + + + + Manual + Manual + + + + Internal + Internal + + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + Name + Name + + + + Url + Url + + + + Address + Address + + + + + Hosts File + Hosts File + + + + + ini (*.ini) + ini (*.ini) + + + + + + + DNS Hosts + DNS Hosts + + + + Exported Successfully + Exported Successfully + + + + Failed to open file + Failed to open file + + + + No Hosts in file + No Hosts in file + + + + Imported Successfully + Imported Successfully + + + + + Per Game Host list + Per Game Host list + + + + Copy global settings? + Copy global settings? + + + + Delete per game host list? + Delete per game host list? + + + + HDD Image File + HDD Image File + + + + HDD (*.raw) + HDD (*.raw) + + + + 2000 + 2000 + + + + 100 + 100 + + + + Overwrite File? + Overwrite File? + + + + HDD image "%1" already exists. + +Do you want to overwrite? + HDD image "%1" already exists. + +Do you want to overwrite? + + + + HDD Creator + HDD Creator + + + + HDD image created + HDD image created + + + + Use Global + Use Global + + + + Override + Override + + + + DebugAnalysisSettingsWidget + + + Clear Existing Symbols + Clear Existing Symbols + + + + + Automatically Select Symbols To Clear + Automatically Select Symbols To Clear + + + + <html><head/><body><p><br/></p></body></html> + <html><head/><body><p><br/></p></body></html> + + + + Import Symbols + Import Symbols + + + + + Import From ELF + Import From ELF + + + + + Demangle Symbols + Demangle Symbols + + + + + Demangle Parameters + Demangle Parameters + + + + + Import Default .sym File + Import Default .sym File + + + + Import from file (.elf, .sym, etc): + Import from file (.elf, .sym, etc): + + + + Add + Add + + + + Remove + Remove + + + + Scan For Functions + Scan For Functions + + + + Scan Mode: + Scan Mode: + + + + + Scan ELF + Scan ELF + + + + Scan Memory + Scan Memory + + + + Skip + Skip + + + + Custom Address Range: + Custom Address Range: + + + + Start: + Start: + + + + End: + End: + + + + Hash Functions + Hash Functions + + + + + Gray Out Symbols For Overwritten Functions + Gray Out Symbols For Overwritten Functions + + + + + + + + + Checked + Checked + + + + Automatically delete symbols that were generated by any previous analysis runs. + Automatically delete symbols that were generated by any previous analysis runs. + + + + Import symbol tables stored in the game's boot ELF. + Import symbol tables stored in the game's boot ELF. + + + + Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. + Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. + + + + Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + + + + Include parameter lists in demangled function names. + Include parameter lists in demangled function names. + + + + Scan Mode + Scan Mode + + + + Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. + Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. + + + + Custom Address Range + Custom Address Range + + + + Unchecked + Unchecked + + + + Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). + Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). + + + + Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. + Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. + + + + <i>No symbol sources in database.</i> + <i>No symbol sources in database.</i> + + + + <i>Start this game to modify the symbol sources list.</i> + <i>Start this game to modify the symbol sources list.</i> + + + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + + Add Symbol File + Add Symbol File + + + + DebugSettingsWidget + + + + Analysis + Analysis + + + + These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. + These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. + + + + Automatically Analyze Program: + Automatically Analyze Program: + + + + Always + Always + + + + + If Debugger Is Open + If Debugger Is Open + + + + Never + Never + + + + Generate Symbols For IRX Exports + Generate Symbols For IRX Exports + + + + GS + GS + + + + Draw Dumping + Draw Dumping + + + + Dump GS Draws + Dump GS Draws + + + + Save RT + Save RT + + + + Save Frame + Save Frame + + + + Save Texture + Save Texture + + + + Save Depth + Save Depth + + + + Start Draw Number: + Start Draw Number: + + + + Draw Dump Count: + Draw Dump Count: + + + + Hardware Dump Directory: + Hardware Dump Directory: + + + + Software Dump Directory: + Software Dump Directory: + + + + + Browse... + Browse... + + + + + Open... + Open... + + + + Trace Logging + Trace Logging + + + + Enable + Enable + + + + EE + EE + + + + + DMA Control + DMA Control + + + + SPR / MFIFO + SPR / MFIFO + + + + VIF + VIF + + + + COP1 (FPU) + COP1 (FPU) + + + + MSKPATH3 + MSKPATH3 + + + + Cache + Cache + + + + GIF + GIF + + + + R5900 + R5900 + + + + COP0 + COP0 + + + + + HW Regs (MMIO) + HW Regs (MMIO) + + + + + Counters + Counters + + + + SIF + SIF + + + + COP2 (VU0 Macro) + COP2 (VU0 Macro) + + + + VIFCodes + VIFCodes + + + + Memory + Memory + + + + + Unknown MMIO + Unknown MMIO + + + + IPU + IPU + + + + + BIOS + BIOS + + + + + DMA Registers + DMA Registers + + + + GIFTags + GIFTags + + + + IOP + IOP + + + + CDVD + CDVD + + + + R3000A + R3000A + + + + Memcards + Memcards + + + + Pad + Pad + + + + MDEC + MDEC + + + + COP2 (GPU) + COP2 (GPU) + + + + Analyze Program + Analyze Program + + + + Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. + Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. + + + + Generate Symbols for IRX Export Tables + Generate Symbols for IRX Export Tables + + + + Checked + Checked + + + + Hook IRX module loading/unloading and generate symbols for exported functions on the fly. + Hook IRX module loading/unloading and generate symbols for exported functions on the fly. + + + + Enable Trace Logging + Enable Trace Logging + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unchecked + Unchecked + + + + Globally enable / disable trace logging. + Globally enable / disable trace logging. + + + + EE BIOS + EE BIOS + + + + Log SYSCALL and DECI2 activity. + Log SYSCALL and DECI2 activity. + + + + EE Memory + EE Memory + + + + Log memory access to unknown or unmapped EE memory. + Log memory access to unknown or unmapped EE memory. + + + + EE R5900 + EE R5900 + + + + Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. + Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. + + + + EE COP0 + EE COP0 + + + + Log COP0 (MMU, CPU status, etc) instructions. + Log COP0 (MMU, CPU status, etc) instructions. + + + + EE COP1 + EE COP1 + + + + Log COP1 (FPU) instructions. + Log COP1 (FPU) instructions. + + + + EE COP2 + EE COP2 + + + + Log COP2 (VU0 Macro mode) instructions. + Log COP2 (VU0 Macro mode) instructions. + + + + EE Cache + EE Cache + + + + Log EE cache activity. + Log EE cache activity. + + + + EE Known MMIO + EE Known MMIO + + + + + Log known MMIO accesses. + Log known MMIO accesses. + + + + EE Unknown MMIO + EE Unknown MMIO + + + + + Log unknown or unimplemented MMIO accesses. + Log unknown or unimplemented MMIO accesses. + + + + EE DMA Registers + EE DMA Registers + + + + + Log DMA-related MMIO accesses. + Log DMA-related MMIO accesses. + + + + EE IPU + EE IPU + + + + Log IPU activity; MMIO, decoding operations, DMA status, etc. + Log IPU activity; MMIO, decoding operations, DMA status, etc. + + + + EE GIF Tags + EE GIF Tags + + + + Log GIFtag parsing activity. + Log GIFtag parsing activity. + + + + EE VIF Codes + EE VIF Codes + + + + Log VIFcode processing; command, tag style, interrupts. + Log VIFcode processing; command, tag style, interrupts. + + + + EE MSKPATH3 + EE MSKPATH3 + + + + Log Path3 Masking processing. + Log Path3 Masking processing. + + + + EE MFIFO + EE MFIFO + + + + Log Scratchpad MFIFO activity. + Log Scratchpad MFIFO activity. + + + + EE DMA Controller + EE DMA Controller + + + + + Log DMA transfer activity. Stalls, bus right arbitration, etc. + Log DMA transfer activity. Stalls, bus right arbitration, etc. + + + + EE Counters + EE Counters + + + + Log all EE counters events and some counter register activity. + Log all EE counters events and some counter register activity. + + + + EE VIF + EE VIF + + + + Log various VIF and VIFcode processing data. + Log various VIF and VIFcode processing data. + + + + EE GIF + EE GIF + + + + Log various GIF and GIFtag parsing data. + Log various GIF and GIFtag parsing data. + + + + IOP BIOS + IOP BIOS + + + + Log SYSCALL and IRX activity. + Log SYSCALL and IRX activity. + + + + IOP Memcards + IOP Memcards + + + + Log memory card activity. Reads, Writes, erases, etc. + Log memory card activity. Reads, Writes, erases, etc. + + + + IOP R3000A + IOP R3000A + + + + Log R3000A core instructions (excluding COPs). + Log R3000A core instructions (excluding COPs). + + + + IOP COP2 + IOP COP2 + + + + Log IOP GPU co-processor instructions. + Log IOP GPU co-processor instructions. + + + + IOP Known MMIO + IOP Known MMIO + + + + IOP Unknown MMIO + IOP Unknown MMIO + + + + IOP DMA Registers + IOP DMA Registers + + + + IOP PAD + IOP PAD + + + + Log PAD activity. + Log PAD activity. + + + + IOP DMA Controller + IOP DMA Controller + + + + IOP Counters + IOP Counters + + + + Log all IOP counters events and some counter register activity. + Log all IOP counters events and some counter register activity. + + + + IOP CDVD + IOP CDVD + + + + Log CDVD hardware activity. + Log CDVD hardware activity. + + + + IOP MDEC + IOP MDEC + + + + Log Motion (FMV) Decoder hardware unit activity. + Log Motion (FMV) Decoder hardware unit activity. + + + + EE SIF + EE SIF + + + + Log SIF (EE <-> IOP) activity. + Log SIF (EE <-> IOP) activity. + + + + DebuggerWindow + + + PCSX2 Debugger + PCSX2 Debugger + + + + + Run + Run + + + + Step Into + Step Into + + + + F11 + F11 + + + + Step Over + Step Over + + + + F10 + F10 + + + + Step Out + Step Out + + + + Shift+F11 + Shift+F11 + + + + Always On Top + Always On Top + + + + Show this window on top + Show this window on top + + + + Analyze + Analyze + + + + Pause + Pause + + + + DisassemblyWidget + + + Disassembly + Disassembly + + + + Copy Address + Copy Address + + + + Copy Instruction Hex + Copy Instruction Hex + + + + NOP Instruction(s) + NOP Instruction(s) + + + + Run to Cursor + Run to Cursor + + + + Follow Branch + Follow Branch + + + + Go to in Memory View + Go to in Memory View + + + + Add Function + Add Function + + + + + Rename Function + Rename Function + + + + Remove Function + Remove Function + + + + + Assemble Error + Assemble Error + + + + Unable to change assembly while core is running + Unable to change assembly while core is running + + + + Assemble Instruction + Assemble Instruction + + + + Function name + Function name + + + + + Rename Function Error + Rename Function Error + + + + Function name cannot be nothing. + Function name cannot be nothing. + + + + No function / symbol is currently selected. + No function / symbol is currently selected. + + + + Go To In Disassembly + Go To In Disassembly + + + + Cannot Go To + Cannot Go To + + + + Restore Function Error + Restore Function Error + + + + Unable to stub selected address. + Unable to stub selected address. + + + + &Copy Instruction Text + &Copy Instruction Text + + + + Copy Function Name + Copy Function Name + + + + Restore Instruction(s) + Restore Instruction(s) + + + + Asse&mble new Instruction(s) + Asse&mble new Instruction(s) + + + + &Jump to Cursor + &Jump to Cursor + + + + Toggle &Breakpoint + Toggle &Breakpoint + + + + &Go to Address + &Go to Address + + + + Restore Function + Restore Function + + + + Stub (NOP) Function + Stub (NOP) Function + + + + Show &Opcode + Show &Opcode + + + + %1 NOT VALID ADDRESS + %1 NOT VALID ADDRESS + + + + EmptyGameListWidget + + + <html><head/><body><p><span style=" font-weight:700;">No games in supported formats were found.</span></p><p>Please add a directory with games to begin.</p><p>Game dumps in the following formats will be scanned and listed:</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">No games in supported formats were found.</span></p><p>Please add a directory with games to begin.</p><p>Game dumps in the following formats will be scanned and listed:</p></body></html> + + + + Add Game Directory... + Add Game Directory... + + + + Scan For New Games + Scan For New Games + + + + EmuThread + + + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + + + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + + + + No Image + No Image + + + + %1x%2 + %1x%2 + + + + FPS: %1 + FPS: %1 + + + + VPS: %1 + VPS: %1 + + + + Speed: %1% + Speed: %1% + + + + Game: %1 (%2) + + Game: %1 (%2) + + + + + Rich presence inactive or unsupported. + Rich presence inactive or unsupported. + + + + Game not loaded or no RetroAchievements available. + Game not loaded or no RetroAchievements available. + + + + + + + Error + Error + + + + Failed to create HTTPDownloader. + Failed to create HTTPDownloader. + + + + Downloading %1... + Downloading %1... + + + + Download failed with HTTP status code %1. + Download failed with HTTP status code %1. + + + + Download failed: Data is empty. + Download failed: Data is empty. + + + + Failed to write '%1'. + Failed to write '%1'. + + + + EmulationSettingsWidget + + + Speed Control + Speed Control + + + + Normal Speed: + Normal Speed: + + + + System Settings + System Settings + + + + + Enable Cheats + Enable Cheats + + + + Slow-Motion Speed: + Slow-Motion Speed: + + + + Fast-Forward Speed: + Fast-Forward Speed: + + + + Enable Multithreaded VU1 (MTVU) + Enable Multithreaded VU1 (MTVU) + + + + + Enable Host Filesystem + Enable Host Filesystem + + + + + Enable Fast CDVD + Enable Fast CDVD + + + + + Enable CDVD Precaching + Enable CDVD Precaching + + + + + Enable Thread Pinning + Enable Thread Pinning + + + + EE Cycle Skipping: + EE Cycle Skipping: + + + + + Disabled + Disabled + + + + Mild Underclock + Mild Underclock + + + + Moderate Underclock + Moderate Underclock + + + + Maximum Underclock + Maximum Underclock + + + + EE Cycle Rate: + EE Cycle Rate: + + + + 50% (Underclock) + 50% (Underclock) + + + + 60% (Underclock) + 60% (Underclock) + + + + 75% (Underclock) + 75% (Underclock) + + + + + 100% (Normal Speed) + 100% (Normal Speed) + + + + 130% (Overclock) + 130% (Overclock) + + + + 180% (Overclock) + 180% (Overclock) + + + + 300% (Overclock) + 300% (Overclock) + + + + Frame Pacing / Latency Control + Frame Pacing / Latency Control + + + + frames + This string will appear next to the amount of frames selected, in a dropdown box. + frames + + + + Maximum Frame Latency: + Maximum Frame Latency: + + + + + Use Host VSync Timing + Use Host VSync Timing + + + + + Sync to Host Refresh Rate + Sync to Host Refresh Rate + + + + + Optimal Frame Pacing + Optimal Frame Pacing + + + + + Vertical Sync (VSync) + Vertical Sync (VSync) + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + Normal Speed + Normal Speed + + + + Sets the target emulation speed. It is not guaranteed that this speed will be reached, and if not, the emulator will run as fast as it can manage. + Sets the target emulation speed. It is not guaranteed that this speed will be reached, and if not, the emulator will run as fast as it can manage. + + + + + User Preference + User Preference + + + + Checked + Checked + + + + Higher values may increase internal framerate in games, but will increase CPU requirements substantially. Lower values will reduce the CPU load allowing lightweight games to run full speed on weaker CPUs. + Higher values may increase internal framerate in games, but will increase CPU requirements substantially. Lower values will reduce the CPU load allowing lightweight games to run full speed on weaker CPUs. + + + + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + SOTC = Shadow of the Colossus. A game's title, should not be translated unless an official translation exists. + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + + + + + + + + + + + + Unchecked + Unchecked + + + + Fast disc access, less loading times. Check HDLoader compatibility lists for known games that have issues with this. + Fast disc access, less loading times. Check HDLoader compatibility lists for known games that have issues with this. + + + + Automatically loads and applies cheats on game start. + Automatically loads and applies cheats on game start. + + + + Allows games and homebrew to access files / folders directly on the host computer. + Allows games and homebrew to access files / folders directly on the host computer. + + + + Fast-Forward Speed + The "User Preference" string will appear after the text "Recommended Value:" + Fast-Forward Speed + + + + 100% + 100% + + + + Sets the fast-forward speed. This speed will be used when the fast-forward hotkey is pressed/toggled. + Sets the fast-forward speed. This speed will be used when the fast-forward hotkey is pressed/toggled. + + + + Slow-Motion Speed + The "User Preference" string will appear after the text "Recommended Value:" + Slow-Motion Speed + + + + Sets the slow-motion speed. This speed will be used when the slow-motion hotkey is pressed/toggled. + Sets the slow-motion speed. This speed will be used when the slow-motion hotkey is pressed/toggled. + + + + EE Cycle Rate + EE Cycle Rate + + + + EE Cycle Skip + EE Cycle Skip + + + + Sets the priority for specific threads in a specific order ignoring the system scheduler. May help CPUs with big (P) and little (E) cores (e.g. Intel 12th or newer generation CPUs from Intel or other vendors such as AMD). + P-Core = Performance Core, E-Core = Efficiency Core. See if Intel has official translations for these terms. + Sets the priority for specific threads in a specific order ignoring the system scheduler. May help CPUs with big (P) and little (E) cores (e.g. Intel 12th or newer generation CPUs from Intel or other vendors such as AMD). + + + + Enable Multithreaded VU1 (MTVU1) + Enable Multithreaded VU1 (MTVU1) + + + + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + + + + Loads the disc image into RAM before starting the virtual machine. Can reduce stutter on systems with hard drives that have long wake times, but significantly increases boot times. + Loads the disc image into RAM before starting the virtual machine. Can reduce stutter on systems with hard drives that have long wake times, but significantly increases boot times. + + + + Sets the VSync queue size to 0, making every frame be completed and presented by the GS before input is polled and the next frame begins. Using this setting can reduce input lag at the cost of measurably higher CPU and GPU requirements. + Sets the VSync queue size to 0, making every frame be completed and presented by the GS before input is polled and the next frame begins. Using this setting can reduce input lag at the cost of measurably higher CPU and GPU requirements. + + + + Maximum Frame Latency + Maximum Frame Latency + + + + 2 Frames + 2 Frames + + + + Sets the maximum number of frames that can be queued up to the GS, before the CPU thread will wait for one of them to complete before continuing. Higher values can assist with smoothing out irregular frame times, but add additional input lag. + Sets the maximum number of frames that can be queued up to the GS, before the CPU thread will wait for one of them to complete before continuing. Higher values can assist with smoothing out irregular frame times, but add additional input lag. + + + + Speeds up emulation so that the guest refresh rate matches the host. This results in the smoothest animations possible, at the cost of potentially increasing the emulation speed by less than 1%. Sync to Host Refresh Rate will not take effect if the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays should disable this option. + Speeds up emulation so that the guest refresh rate matches the host. This results in the smoothest animations possible, at the cost of potentially increasing the emulation speed by less than 1%. Sync to Host Refresh Rate will not take effect if the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays should disable this option. + + + + Enable this option to match PCSX2's refresh rate with your current monitor or screen. VSync is automatically disabled when it is not possible (eg. running at non-100% speed). + Enable this option to match PCSX2's refresh rate with your current monitor or screen. VSync is automatically disabled when it is not possible (eg. running at non-100% speed). + + + + When synchronizing with the host refresh rate, this option disable's PCSX2's internal frame timing, and uses the host instead. Can result in smoother frame pacing, <strong>but at the cost of increased input latency</strong>. + When synchronizing with the host refresh rate, this option disable's PCSX2's internal frame timing, and uses the host instead. Can result in smoother frame pacing, <strong>but at the cost of increased input latency</strong>. + + + + Use Global Setting [%1%] + Use Global Setting [%1%] + + + + %1% [%2 FPS (NTSC) / %3 FPS (PAL)] + %1% [%2 FPS (NTSC) / %3 FPS (PAL)] + + + + Unlimited + Every case that uses this particular string seems to refer to speeds: Normal Speed/Fast Forward Speed/Slow Motion Speed. + Unlimited + + + + Custom + Every case that uses this particular string seems to refer to speeds: Normal Speed/Fast Forward Speed/Slow Motion Speed. + Custom + + + + + Custom [%1% / %2 FPS (NTSC) / %3 FPS (PAL)] + Custom [%1% / %2 FPS (NTSC) / %3 FPS (PAL)] + + + + Custom Speed + Custom Speed + + + + Enter Custom Speed + Enter Custom Speed + + + + ExpressionParser + + + Invalid memory access size %d. + Invalid memory access size %d. + + + + Invalid memory access (unaligned). + Invalid memory access (unaligned). + + + + + Token too long. + Token too long. + + + + Invalid number "%s". + Invalid number "%s". + + + + Invalid symbol "%s". + Invalid symbol "%s". + + + + Invalid operator at "%s". + Invalid operator at "%s". + + + + Closing parenthesis without opening one. + Closing parenthesis without opening one. + + + + Closing bracket without opening one. + Closing bracket without opening one. + + + + Parenthesis not closed. + Parenthesis not closed. + + + + Not enough arguments. + Not enough arguments. + + + + Invalid memsize operator. + Invalid memsize operator. + + + + Division by zero. + Division by zero. + + + + Modulo by zero. + Modulo by zero. + + + + Invalid tertiary operator. + Invalid tertiary operator. + + + + FileOperations + + + Failed to show file + Failed to show file + + + + Failed to show file in file explorer. + +The file was: %1 + Failed to show file in file explorer. + +The file was: %1 + + + + Show in Folder + Windows action to show a file in Windows Explorer + Show in Folder + + + + Show in Finder + macOS action to show a file in Finder + Show in Finder + + + + Open Containing Directory + Opens the system file manager to the directory containing a selected file + Open Containing Directory + + + + Failed to open URL + Failed to open URL + + + + Failed to open URL. + +The URL was: %1 + Failed to open URL. + +The URL was: %1 + + + + FolderSettingsWidget + + + Cache Directory + Cache Directory + + + + + + + + Browse... + Browse... + + + + + + + + Open... + Open... + + + + + + + + Reset + Reset + + + + Used for storing shaders, game list, and achievement data. + Used for storing shaders, game list, and achievement data. + + + + Cheats Directory + Cheats Directory + + + + Used for storing .pnach files containing game cheats. + Used for storing .pnach files containing game cheats. + + + + Covers Directory + Covers Directory + + + + Used for storing covers in the game grid/Big Picture UIs. + Used for storing covers in the game grid/Big Picture UIs. + + + + Snapshots Directory + Snapshots Directory + + + + Used for screenshots and saving GS dumps. + Used for screenshots and saving GS dumps. + + + + Save States Directory + Save States Directory + + + + Used for storing save states. + Used for storing save states. + + + + FullscreenUI + + + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + + + + Use Global Setting + Use Global Setting + + + + Automatic binding failed, no devices are available. + Automatic binding failed, no devices are available. + + + + Game title copied to clipboard. + Game title copied to clipboard. + + + + Game serial copied to clipboard. + Game serial copied to clipboard. + + + + Game CRC copied to clipboard. + Game CRC copied to clipboard. + + + + Game type copied to clipboard. + Game type copied to clipboard. + + + + Game region copied to clipboard. + Game region copied to clipboard. + + + + Game compatibility copied to clipboard. + Game compatibility copied to clipboard. + + + + Game path copied to clipboard. + Game path copied to clipboard. + + + + Controller settings reset to default. + Controller settings reset to default. + + + + No input profiles available. + No input profiles available. + + + + Create New... + Create New... + + + + Enter the name of the input profile you wish to create. + Enter the name of the input profile you wish to create. + + + + Are you sure you want to restore the default settings? Any preferences will be lost. + Are you sure you want to restore the default settings? Any preferences will be lost. + + + + Settings reset to defaults. + Settings reset to defaults. + + + + No save present in this slot. + No save present in this slot. + + + + No save states found. + No save states found. + + + + Failed to delete save state. + Failed to delete save state. + + + + Failed to copy text to clipboard. + Failed to copy text to clipboard. + + + + This game has no achievements. + This game has no achievements. + + + + This game has no leaderboards. + This game has no leaderboards. + + + + Reset System + Reset System + + + + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + + + + Launch a game from images scanned from your game directories. + Launch a game from images scanned from your game directories. + + + + Launch a game by selecting a file/disc image. + Launch a game by selecting a file/disc image. + + + + Start the console without any disc inserted. + Start the console without any disc inserted. + + + + Start a game from a disc in your PC's DVD drive. + Start a game from a disc in your PC's DVD drive. + + + + No Binding + No Binding + + + + Setting %s binding %s. + Setting %s binding %s. + + + + Push a controller button or axis now. + Push a controller button or axis now. + + + + Timing out in %.0f seconds... + Timing out in %.0f seconds... + + + + Unknown + Unknown + + + + OK + OK + + + + Select Device + Select Device + + + + Details + Details + + + + Options + Options + + + + Copies the current global settings to this game. + Copies the current global settings to this game. + + + + Clears all settings set for this game. + Clears all settings set for this game. + + + + Behaviour + Behaviour + + + + Prevents the screen saver from activating and the host from sleeping while emulation is running. + Prevents the screen saver from activating and the host from sleeping while emulation is running. + + + + Shows the game you are currently playing as part of your profile on Discord. + Shows the game you are currently playing as part of your profile on Discord. + + + + Pauses the emulator when a game is started. + Pauses the emulator when a game is started. + + + + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + + + + Pauses the emulator when you open the quick menu, and unpauses when you close it. + Pauses the emulator when you open the quick menu, and unpauses when you close it. + + + + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. + + + + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + + + + Uses a light coloured theme instead of the default dark theme. + Uses a light coloured theme instead of the default dark theme. + + + + Game Display + Game Display + + + + Switches between full screen and windowed when the window is double-clicked. + Switches between full screen and windowed when the window is double-clicked. + + + + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + + + + Determines how large the on-screen messages and monitor are. + Determines how large the on-screen messages and monitor are. + + + + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + + + + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + + + + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. + + + + Shows the CPU usage based on threads in the top-right corner of the display. + Shows the CPU usage based on threads in the top-right corner of the display. + + + + Shows the host's GPU usage in the top-right corner of the display. + Shows the host's GPU usage in the top-right corner of the display. + + + + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. + + + + Shows indicators when fast forwarding, pausing, and other abnormal states are active. + Shows indicators when fast forwarding, pausing, and other abnormal states are active. + + + + Shows the current configuration in the bottom-right corner of the display. + Shows the current configuration in the bottom-right corner of the display. + + + + Shows the current controller state of the system in the bottom-left corner of the display. + Shows the current controller state of the system in the bottom-left corner of the display. + + + + Displays warnings when settings are enabled which may break games. + Displays warnings when settings are enabled which may break games. + + + + Resets configuration to defaults (excluding controller settings). + Resets configuration to defaults (excluding controller settings). + + + + Changes the BIOS image used to start future sessions. + Changes the BIOS image used to start future sessions. + + + + Automatic + Automatic + + + + {0}/{1}/{2}/{3} + {0}/{1}/{2}/{3} + + + + Default + Default + + + + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. + +Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. + +Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? + + + + Automatically switches to fullscreen mode when a game is started. + Automatically switches to fullscreen mode when a game is started. + + + + On-Screen Display + On-Screen Display + + + + %d%% + %d%% + + + + Shows the resolution of the game in the top-right corner of the display. + Shows the resolution of the game in the top-right corner of the display. + + + + BIOS Configuration + BIOS Configuration + + + + BIOS Selection + BIOS Selection + + + + Options and Patches + Options and Patches + + + + Skips the intro screen, and bypasses region checks. + Skips the intro screen, and bypasses region checks. + + + + Speed Control + Speed Control + + + + Normal Speed + Normal Speed + + + + Sets the speed when running without fast forwarding. + Sets the speed when running without fast forwarding. + + + + Fast Forward Speed + Fast Forward Speed + + + + Sets the speed when using the fast forward hotkey. + Sets the speed when using the fast forward hotkey. + + + + Slow Motion Speed + Slow Motion Speed + + + + Sets the speed when using the slow motion hotkey. + Sets the speed when using the slow motion hotkey. + + + + System Settings + System Settings + + + + EE Cycle Rate + EE Cycle Rate + + + + Underclocks or overclocks the emulated Emotion Engine CPU. + Underclocks or overclocks the emulated Emotion Engine CPU. + + + + EE Cycle Skipping + EE Cycle Skipping + + + + Enable MTVU (Multi-Threaded VU1) + Enable MTVU (Multi-Threaded VU1) + + + + Enable Instant VU1 + Enable Instant VU1 + + + + Enable Cheats + Enable Cheats + + + + Enables loading cheats from pnach files. + Enables loading cheats from pnach files. + + + + Enable Host Filesystem + Enable Host Filesystem + + + + Enables access to files from the host: namespace in the virtual machine. + Enables access to files from the host: namespace in the virtual machine. + + + + Enable Fast CDVD + Enable Fast CDVD + + + + Fast disc access, less loading times. Not recommended. + Fast disc access, less loading times. Not recommended. + + + + Frame Pacing/Latency Control + Frame Pacing/Latency Control + + + + Maximum Frame Latency + Maximum Frame Latency + + + + Sets the number of frames which can be queued. + Sets the number of frames which can be queued. + + + + Optimal Frame Pacing + Optimal Frame Pacing + + + + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. + + + + Speeds up emulation so that the guest refresh rate matches the host. + Speeds up emulation so that the guest refresh rate matches the host. + + + + Renderer + Renderer + + + + Selects the API used to render the emulated GS. + Selects the API used to render the emulated GS. + + + + Synchronizes frame presentation with host refresh. + Synchronizes frame presentation with host refresh. + + + + Display + Display + + + + Aspect Ratio + Aspect Ratio + + + + Selects the aspect ratio to display the game content at. + Selects the aspect ratio to display the game content at. + + + + FMV Aspect Ratio Override + FMV Aspect Ratio Override + + + + Selects the aspect ratio for display when a FMV is detected as playing. + Selects the aspect ratio for display when a FMV is detected as playing. + + + + Deinterlacing + Deinterlacing + + + + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. + + + + Screenshot Size + Screenshot Size + + + + Determines the resolution at which screenshots will be saved. + Determines the resolution at which screenshots will be saved. + + + + Screenshot Format + Screenshot Format + + + + Selects the format which will be used to save screenshots. + Selects the format which will be used to save screenshots. + + + + Screenshot Quality + Screenshot Quality + + + + Selects the quality at which screenshots will be compressed. + Selects the quality at which screenshots will be compressed. + + + + Vertical Stretch + Vertical Stretch + + + + Increases or decreases the virtual picture size vertically. + Increases or decreases the virtual picture size vertically. + + + + Crop + Crop + + + + Crops the image, while respecting aspect ratio. + Crops the image, while respecting aspect ratio. + + + + %dpx + %dpx + + + + Bilinear Upscaling + Bilinear Upscaling + + + + Smooths out the image when upscaling the console to the screen. + Smooths out the image when upscaling the console to the screen. + + + + Integer Upscaling + Integer Upscaling + + + + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + + + + Screen Offsets + Screen Offsets + + + + Enables PCRTC Offsets which position the screen as the game requests. + Enables PCRTC Offsets which position the screen as the game requests. + + + + Show Overscan + Show Overscan + + + + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + + + + Anti-Blur + Anti-Blur + + + + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + + + + Rendering + Rendering + + + + Internal Resolution + Internal Resolution + + + + Multiplies the render resolution by the specified factor (upscaling). + Multiplies the render resolution by the specified factor (upscaling). + + + + Mipmapping + Mipmapping + + + + Bilinear Filtering + Bilinear Filtering + + + + Selects where bilinear filtering is utilized when rendering textures. + Selects where bilinear filtering is utilized when rendering textures. + + + + Trilinear Filtering + Trilinear Filtering + + + + Selects where trilinear filtering is utilized when rendering textures. + Selects where trilinear filtering is utilized when rendering textures. + + + + Anisotropic Filtering + Anisotropic Filtering + + + + Dithering + Dithering + + + + Selects the type of dithering applies when the game requests it. + Selects the type of dithering applies when the game requests it. + + + + Blending Accuracy + Blending Accuracy + + + + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. + + + + Texture Preloading + Texture Preloading + + + + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. + + + + Software Rendering Threads + Software Rendering Threads + + + + Number of threads to use in addition to the main GS thread for rasterization. + Number of threads to use in addition to the main GS thread for rasterization. + + + + Auto Flush (Software) + Auto Flush (Software) + + + + Force a primitive flush when a framebuffer is also an input texture. + Force a primitive flush when a framebuffer is also an input texture. + + + + Edge AA (AA1) + Edge AA (AA1) + + + + Enables emulation of the GS's edge anti-aliasing (AA1). + Enables emulation of the GS's edge anti-aliasing (AA1). + + + + Enables emulation of the GS's texture mipmapping. + Enables emulation of the GS's texture mipmapping. + + + + The selected input profile will be used for this game. + The selected input profile will be used for this game. + + + + Shared + Shared + + + + Input Profile + Input Profile + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + + Shows the current PCSX2 version on the top-right corner of the display. + Shows the current PCSX2 version on the top-right corner of the display. + + + + Shows the currently active input recording status. + Shows the currently active input recording status. + + + + Shows the currently active video capture status. + Shows the currently active video capture status. + + + + Shows a visual history of frame times in the upper-left corner of the display. + Shows a visual history of frame times in the upper-left corner of the display. + + + + Shows the current system hardware information on the OSD. + Shows the current system hardware information on the OSD. + + + + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. + + + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + + Hardware Fixes + Hardware Fixes + + + + Manual Hardware Fixes + Manual Hardware Fixes + + + + Disables automatic hardware fixes, allowing you to set fixes manually. + Disables automatic hardware fixes, allowing you to set fixes manually. + + + + CPU Sprite Render Size + CPU Sprite Render Size + + + + Uses software renderer to draw texture decompression-like sprites. + Uses software renderer to draw texture decompression-like sprites. + + + + CPU Sprite Render Level + CPU Sprite Render Level + + + + Determines filter level for CPU sprite render. + Determines filter level for CPU sprite render. + + + + Software CLUT Render + Software CLUT Render + + + + Uses software renderer to draw texture CLUT points/sprites. + Uses software renderer to draw texture CLUT points/sprites. + + + + Skip Draw Start + Skip Draw Start + + + + Object range to skip drawing. + Object range to skip drawing. + + + + Skip Draw End + Skip Draw End + + + + Auto Flush (Hardware) + Auto Flush (Hardware) + + + + CPU Framebuffer Conversion + CPU Framebuffer Conversion + + + + Disable Depth Conversion + Disable Depth Conversion + + + + Disable Safe Features + Disable Safe Features + + + + This option disables multiple safe features. + This option disables multiple safe features. + + + + This option disables game-specific render fixes. + This option disables game-specific render fixes. + + + + Uploads GS data when rendering a new frame to reproduce some effects accurately. + Uploads GS data when rendering a new frame to reproduce some effects accurately. + + + + Disable Partial Invalidation + Disable Partial Invalidation + + + + Removes texture cache entries when there is any intersection, rather than only the intersected areas. + Removes texture cache entries when there is any intersection, rather than only the intersected areas. + + + + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + + + + Read Targets When Closing + Read Targets When Closing + + + + Flushes all targets in the texture cache back to local memory when shutting down. + Flushes all targets in the texture cache back to local memory when shutting down. + + + + Estimate Texture Region + Estimate Texture Region + + + + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + + + + GPU Palette Conversion + GPU Palette Conversion + + + + Upscaling Fixes + Upscaling Fixes + + + + Adjusts vertices relative to upscaling. + Adjusts vertices relative to upscaling. + + + + Native Scaling + Native Scaling + + + + Attempt to do rescaling at native resolution. + Attempt to do rescaling at native resolution. + + + + Round Sprite + Round Sprite + + + + Adjusts sprite coordinates. + Adjusts sprite coordinates. + + + + Bilinear Upscale + Bilinear Upscale + + + + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + + + + Adjusts target texture offsets. + Adjusts target texture offsets. + + + + Align Sprite + Align Sprite + + + + Fixes issues with upscaling (vertical lines) in some games. + Fixes issues with upscaling (vertical lines) in some games. + + + + Merge Sprite + Merge Sprite + + + + Replaces multiple post-processing sprites with a larger single sprite. + Replaces multiple post-processing sprites with a larger single sprite. + + + + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + + + + Unscaled Palette Texture Draws + Unscaled Palette Texture Draws + + + + Can fix some broken effects which rely on pixel perfect precision. + Can fix some broken effects which rely on pixel perfect precision. + + + + Texture Replacement + Texture Replacement + + + + Load Textures + Load Textures + + + + Loads replacement textures where available and user-provided. + Loads replacement textures where available and user-provided. + + + + Asynchronous Texture Loading + Asynchronous Texture Loading + + + + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + + + + Precache Replacements + Precache Replacements + + + + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + + + + Replacements Directory + Replacements Directory + + + + Folders + Folders + + + + Texture Dumping + Texture Dumping + + + + Dump Textures + Dump Textures + + + + Dump Mipmaps + Dump Mipmaps + + + + Includes mipmaps when dumping textures. + Includes mipmaps when dumping textures. + + + + Dump FMV Textures + Dump FMV Textures + + + + Allows texture dumping when FMVs are active. You should not enable this. + Allows texture dumping when FMVs are active. You should not enable this. + + + + Post-Processing + Post-Processing + + + + FXAA + FXAA + + + + Enables FXAA post-processing shader. + Enables FXAA post-processing shader. + + + + Contrast Adaptive Sharpening + Contrast Adaptive Sharpening + + + + Enables FidelityFX Contrast Adaptive Sharpening. + Enables FidelityFX Contrast Adaptive Sharpening. + + + + CAS Sharpness + CAS Sharpness + + + + Determines the intensity the sharpening effect in CAS post-processing. + Determines the intensity the sharpening effect in CAS post-processing. + + + + Filters + Filters + + + + Shade Boost + Shade Boost + + + + Enables brightness/contrast/saturation adjustment. + Enables brightness/contrast/saturation adjustment. + + + + Shade Boost Brightness + Shade Boost Brightness + + + + Adjusts brightness. 50 is normal. + Adjusts brightness. 50 is normal. + + + + Shade Boost Contrast + Shade Boost Contrast + + + + Adjusts contrast. 50 is normal. + Adjusts contrast. 50 is normal. + + + + Shade Boost Saturation + Shade Boost Saturation + + + + Adjusts saturation. 50 is normal. + Adjusts saturation. 50 is normal. + + + + TV Shaders + TV Shaders + + + + Advanced + Advanced + + + + Skip Presenting Duplicate Frames + Skip Presenting Duplicate Frames + + + + Extended Upscaling Multipliers + Extended Upscaling Multipliers + + + + Displays additional, very high upscaling multipliers dependent on GPU capability. + Displays additional, very high upscaling multipliers dependent on GPU capability. + + + + Hardware Download Mode + Hardware Download Mode + + + + Changes synchronization behavior for GS downloads. + Changes synchronization behavior for GS downloads. + + + + Allow Exclusive Fullscreen + Allow Exclusive Fullscreen + + + + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. + + + + Override Texture Barriers + Override Texture Barriers + + + + Forces texture barrier functionality to the specified value. + Forces texture barrier functionality to the specified value. + + + + GS Dump Compression + GS Dump Compression + + + + Sets the compression algorithm for GS dumps. + Sets the compression algorithm for GS dumps. + + + + Disable Framebuffer Fetch + Disable Framebuffer Fetch + + + + Prevents the usage of framebuffer fetch when supported by host GPU. + Prevents the usage of framebuffer fetch when supported by host GPU. + + + + Disable Shader Cache + Disable Shader Cache + + + + Prevents the loading and saving of shaders/pipelines to disk. + Prevents the loading and saving of shaders/pipelines to disk. + + + + Disable Vertex Shader Expand + Disable Vertex Shader Expand + + + + Falls back to the CPU for expanding sprites/lines. + Falls back to the CPU for expanding sprites/lines. + + + + Changes when SPU samples are generated relative to system emulation. + Changes when SPU samples are generated relative to system emulation. + + + + %d ms + %d ms + + + + Settings and Operations + Settings and Operations + + + + Creates a new memory card file or folder. + Creates a new memory card file or folder. + + + + Simulates a larger memory card by filtering saves only to the current game. + Simulates a larger memory card by filtering saves only to the current game. + + + + If not set, this card will be considered unplugged. + If not set, this card will be considered unplugged. + + + + The selected memory card image will be used for this slot. + The selected memory card image will be used for this slot. + + + + Enable/Disable the Player LED on DualSense controllers. + Enable/Disable the Player LED on DualSense controllers. + + + + Trigger + Trigger + + + + Toggles the macro when the button is pressed, instead of held. + Toggles the macro when the button is pressed, instead of held. + + + + Savestate + Savestate + + + + Compression Method + Compression Method + + + + Sets the compression algorithm for savestate. + Sets the compression algorithm for savestate. + + + + Compression Level + Compression Level + + + + Sets the compression level for savestate. + Sets the compression level for savestate. + + + + Version: %s + Version: %s + + + + {:%H:%M} + {:%H:%M} + + + + Slot {} + Slot {} + + + + 1.25x Native (~450px) + 1.25x Native (~450px) + + + + 1.5x Native (~540px) + 1.5x Native (~540px) + + + + 1.75x Native (~630px) + 1.75x Native (~630px) + + + + 2x Native (~720px/HD) + 2x Native (~720px/HD) + + + + 2.5x Native (~900px/HD+) + 2.5x Native (~900px/HD+) + + + + 3x Native (~1080px/FHD) + 3x Native (~1080px/FHD) + + + + 3.5x Native (~1260px) + 3.5x Native (~1260px) + + + + 4x Native (~1440px/QHD) + 4x Native (~1440px/QHD) + + + + 5x Native (~1800px/QHD+) + 5x Native (~1800px/QHD+) + + + + 6x Native (~2160px/4K UHD) + 6x Native (~2160px/4K UHD) + + + + 7x Native (~2520px) + 7x Native (~2520px) + + + + 8x Native (~2880px/5K UHD) + 8x Native (~2880px/5K UHD) + + + + 9x Native (~3240px) + 9x Native (~3240px) + + + + 10x Native (~3600px/6K UHD) + 10x Native (~3600px/6K UHD) + + + + 11x Native (~3960px) + 11x Native (~3960px) + + + + 12x Native (~4320px/8K UHD) + 12x Native (~4320px/8K UHD) + + + + WebP + WebP + + + + Aggressive + Aggressive + + + + Deflate64 + Deflate64 + + + + Zstandard + Zstandard + + + + LZMA2 + LZMA2 + + + + Low (Fast) + Low (Fast) + + + + Medium (Recommended) + Medium (Recommended) + + + + Very High (Slow, Not Recommended) + Very High (Slow, Not Recommended) + + + + Change Selection + Change Selection + + + + Select + Select + + + + Parent Directory + Parent Directory + + + + Enter Value + Enter Value + + + + About + About + + + + Toggle Fullscreen + Toggle Fullscreen + + + + Navigate + Navigate + + + + Load Global State + Load Global State + + + + Change Page + Change Page + + + + Return To Game + Return To Game + + + + Select State + Select State + + + + Select Game + Select Game + + + + Change View + Change View + + + + Launch Options + Launch Options + + + + Create Save State Backups + Create Save State Backups + + + + Show PCSX2 Version + Show PCSX2 Version + + + + Show Input Recording Status + Show Input Recording Status + + + + Show Video Capture Status + Show Video Capture Status + + + + Show Frame Times + Show Frame Times + + + + Show Hardware Info + Show Hardware Info + + + + Create Memory Card + Create Memory Card + + + + Configuration + Configuration + + + + Start Game + Start Game + + + + Launch a game from a file, disc, or starts the console without any disc inserted. + Launch a game from a file, disc, or starts the console without any disc inserted. + + + + Changes settings for the application. + Changes settings for the application. + + + + Return to desktop mode, or exit the application. + Return to desktop mode, or exit the application. + + + + Back + Back + + + + Return to the previous menu. + Return to the previous menu. + + + + Exit PCSX2 + Exit PCSX2 + + + + Completely exits the application, returning you to your desktop. + Completely exits the application, returning you to your desktop. + + + + Desktop Mode + Desktop Mode + + + + Exits Big Picture mode, returning to the desktop interface. + Exits Big Picture mode, returning to the desktop interface. + + + + Resets all configuration to defaults (including bindings). + Resets all configuration to defaults (including bindings). + + + + Replaces these settings with a previously saved input profile. + Replaces these settings with a previously saved input profile. + + + + Stores the current settings to an input profile. + Stores the current settings to an input profile. + + + + Input Sources + Input Sources + + + + The SDL input source supports most controllers. + The SDL input source supports most controllers. + + + + Provides vibration and LED control support over Bluetooth. + Provides vibration and LED control support over Bluetooth. + + + + Allow SDL to use raw access to input devices. + Allow SDL to use raw access to input devices. + + + + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. + + + + Multitap + Multitap + + + + Enables an additional three controller slots. Not supported in all games. + Enables an additional three controller slots. Not supported in all games. + + + + Attempts to map the selected port to a chosen controller. + Attempts to map the selected port to a chosen controller. + + + + Determines how much pressure is simulated when macro is active. + Determines how much pressure is simulated when macro is active. + + + + Determines the pressure required to activate the macro. + Determines the pressure required to activate the macro. + + + + Toggle every %d frames + Toggle every %d frames + + + + Clears all bindings for this USB controller. + Clears all bindings for this USB controller. + + + + Data Save Locations + Data Save Locations + + + + Show Advanced Settings + Show Advanced Settings + + + + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + + + + Logging + Logging + + + + System Console + System Console + + + + Writes log messages to the system console (console window/standard output). + Writes log messages to the system console (console window/standard output). + + + + File Logging + File Logging + + + + Writes log messages to emulog.txt. + Writes log messages to emulog.txt. + + + + Verbose Logging + Verbose Logging + + + + Writes dev log messages to log sinks. + Writes dev log messages to log sinks. + + + + Log Timestamps + Log Timestamps + + + + Writes timestamps alongside log messages. + Writes timestamps alongside log messages. + + + + EE Console + EE Console + + + + Writes debug messages from the game's EE code to the console. + Writes debug messages from the game's EE code to the console. + + + + IOP Console + IOP Console + + + + Writes debug messages from the game's IOP code to the console. + Writes debug messages from the game's IOP code to the console. + + + + CDVD Verbose Reads + CDVD Verbose Reads + + + + Logs disc reads from games. + Logs disc reads from games. + + + + Emotion Engine + Emotion Engine + + + + Rounding Mode + Rounding Mode + + + + Determines how the results of floating-point operations are rounded. Some games need specific settings. + Determines how the results of floating-point operations are rounded. Some games need specific settings. + + + + Division Rounding Mode + Division Rounding Mode + + + + Determines how the results of floating-point division is rounded. Some games need specific settings. + Determines how the results of floating-point division is rounded. Some games need specific settings. + + + + Clamping Mode + Clamping Mode + + + + Determines how out-of-range floating point numbers are handled. Some games need specific settings. + Determines how out-of-range floating point numbers are handled. Some games need specific settings. + + + + Enable EE Recompiler + Enable EE Recompiler + + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. + + + + Enable EE Cache + Enable EE Cache + + + + Enables simulation of the EE's cache. Slow. + Enables simulation of the EE's cache. Slow. + + + + Enable INTC Spin Detection + Enable INTC Spin Detection + + + + Huge speedup for some games, with almost no compatibility side effects. + Huge speedup for some games, with almost no compatibility side effects. + + + + Enable Wait Loop Detection + Enable Wait Loop Detection + + + + Moderate speedup for some games, with no known side effects. + Moderate speedup for some games, with no known side effects. + + + + Enable Fast Memory Access + Enable Fast Memory Access + + + + Uses backpatching to avoid register flushing on every memory access. + Uses backpatching to avoid register flushing on every memory access. + + + + Vector Units + Vector Units + + + + VU0 Rounding Mode + VU0 Rounding Mode + + + + VU0 Clamping Mode + VU0 Clamping Mode + + + + VU1 Rounding Mode + VU1 Rounding Mode + + + + VU1 Clamping Mode + VU1 Clamping Mode + + + + Enable VU0 Recompiler (Micro Mode) + Enable VU0 Recompiler (Micro Mode) + + + + New Vector Unit recompiler with much improved compatibility. Recommended. + New Vector Unit recompiler with much improved compatibility. Recommended. + + + + Enable VU1 Recompiler + Enable VU1 Recompiler + + + + Enable VU Flag Optimization + Enable VU Flag Optimization + + + + Good speedup and high compatibility, may cause graphical errors. + Good speedup and high compatibility, may cause graphical errors. + + + + I/O Processor + I/O Processor + + + + Enable IOP Recompiler + Enable IOP Recompiler + + + + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. + + + + Graphics + Graphics + + + + Use Debug Device + Use Debug Device + + + + Settings + Settings + + + + No cheats are available for this game. + No cheats are available for this game. + + + + Cheat Codes + Cheat Codes + + + + No patches are available for this game. + No patches are available for this game. + + + + Game Patches + Game Patches + + + + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + + + + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + + + + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + + + + Game Fixes + Game Fixes + + + + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. + + + + FPU Multiply Hack + FPU Multiply Hack + + + + For Tales of Destiny. + For Tales of Destiny. + + + + Preload TLB Hack + Preload TLB Hack + + + + Needed for some games with complex FMV rendering. + Needed for some games with complex FMV rendering. + + + + Skip MPEG Hack + Skip MPEG Hack + + + + Skips videos/FMVs in games to avoid game hanging/freezes. + Skips videos/FMVs in games to avoid game hanging/freezes. + + + + OPH Flag Hack + OPH Flag Hack + + + + EE Timing Hack + EE Timing Hack + + + + Instant DMA Hack + Instant DMA Hack + + + + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + + + + For SOCOM 2 HUD and Spy Hunter loading hang. + For SOCOM 2 HUD and Spy Hunter loading hang. + + + + VU Add Hack + VU Add Hack + + + + Full VU0 Synchronization + Full VU0 Synchronization + + + + Forces tight VU0 sync on every COP2 instruction. + Forces tight VU0 sync on every COP2 instruction. + + + + VU Overflow Hack + VU Overflow Hack + + + + To check for possible float overflows (Superman Returns). + To check for possible float overflows (Superman Returns). + + + + Use accurate timing for VU XGKicks (slower). + Use accurate timing for VU XGKicks (slower). + + + + Load State + Load State + + + + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + + + + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + + + + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + + + + Disable the support of depth buffers in the texture cache. + Disable the support of depth buffers in the texture cache. + + + + Disable Render Fixes + Disable Render Fixes + + + + Preload Frame Data + Preload Frame Data + + + + Texture Inside RT + Texture Inside RT + + + + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + + + + Half Pixel Offset + Half Pixel Offset + + + + Texture Offset X + Texture Offset X + + + + Texture Offset Y + Texture Offset Y + + + + Dumps replaceable textures to disk. Will reduce performance. + Dumps replaceable textures to disk. Will reduce performance. + + + + Applies a shader which replicates the visual effects of different styles of television set. + Applies a shader which replicates the visual effects of different styles of television set. + + + + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. + + + + Enables API-level validation of graphics commands. + Enables API-level validation of graphics commands. + + + + Use Software Renderer For FMVs + Use Software Renderer For FMVs + + + + To avoid TLB miss on Goemon. + To avoid TLB miss on Goemon. + + + + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + + + + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + + + + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + + + + Emulate GIF FIFO + Emulate GIF FIFO + + + + Correct but slower. Known to affect the following games: Fifa Street 2. + Correct but slower. Known to affect the following games: Fifa Street 2. + + + + DMA Busy Hack + DMA Busy Hack + + + + Delay VIF1 Stalls + Delay VIF1 Stalls + + + + Emulate VIF FIFO + Emulate VIF FIFO + + + + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + + + + VU I Bit Hack + VU I Bit Hack + + + + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + + + + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + + + + VU Sync + VU Sync + + + + Run behind. To avoid sync problems when reading or writing VU registers. + Run behind. To avoid sync problems when reading or writing VU registers. + + + + VU XGKick Sync + VU XGKick Sync + + + + Force Blit Internal FPS Detection + Force Blit Internal FPS Detection + + + + Save State + Save State + + + + Load Resume State + Load Resume State + + + + A resume save state created at %s was found. + +Do you want to load this save and continue? + A resume save state created at %s was found. + +Do you want to load this save and continue? + + + + Region: + Region: + + + + Compatibility: + Compatibility: + + + + No Game Selected + No Game Selected + + + + Search Directories + Search Directories + + + + Adds a new directory to the game search list. + Adds a new directory to the game search list. + + + + Scanning Subdirectories + Scanning Subdirectories + + + + Not Scanning Subdirectories + Not Scanning Subdirectories + + + + List Settings + List Settings + + + + Sets which view the game list will open to. + Sets which view the game list will open to. + + + + Determines which field the game list will be sorted by. + Determines which field the game list will be sorted by. + + + + Reverses the game list sort order from the default (usually ascending to descending). + Reverses the game list sort order from the default (usually ascending to descending). + + + + Cover Settings + Cover Settings + + + + Downloads covers from a user-specified URL template. + Downloads covers from a user-specified URL template. + + + + Operations + Operations + + + + Selects where anisotropic filtering is utilized when rendering textures. + Selects where anisotropic filtering is utilized when rendering textures. + + + + Use alternative method to calculate internal FPS to avoid false readings in some games. + Use alternative method to calculate internal FPS to avoid false readings in some games. + + + + Identifies any new files added to the game directories. + Identifies any new files added to the game directories. + + + + Forces a full rescan of all games previously identified. + Forces a full rescan of all games previously identified. + + + + Download Covers + Download Covers + + + + About PCSX2 + About PCSX2 + + + + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. + + + + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. + + + + When enabled and logged in, PCSX2 will scan for achievements on startup. + When enabled and logged in, PCSX2 will scan for achievements on startup. + + + + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + + + + Displays popup messages on events such as achievement unlocks and leaderboard submissions. + Displays popup messages on events such as achievement unlocks and leaderboard submissions. + + + + Plays sound effects for events such as achievement unlocks and leaderboard submissions. + Plays sound effects for events such as achievement unlocks and leaderboard submissions. + + + + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + + + + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. + + + + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + + + + Error + Error + + + + Pauses the emulator when a controller with bindings is disconnected. + Pauses the emulator when a controller with bindings is disconnected. + + + + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix + + + + Enable CDVD Precaching + Enable CDVD Precaching + + + + Loads the disc image into RAM before starting the virtual machine. + Loads the disc image into RAM before starting the virtual machine. + + + + Vertical Sync (VSync) + Vertical Sync (VSync) + + + + Sync to Host Refresh Rate + Sync to Host Refresh Rate + + + + Use Host VSync Timing + Use Host VSync Timing + + + + Disables PCSX2's internal frame timing, and uses host vsync instead. + Disables PCSX2's internal frame timing, and uses host vsync instead. + + + + Disable Mailbox Presentation + Disable Mailbox Presentation + + + + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + + + + Audio Control + Audio Control + + + + Controls the volume of the audio played on the host. + Controls the volume of the audio played on the host. + + + + Fast Forward Volume + Fast Forward Volume + + + + Controls the volume of the audio played on the host when fast forwarding. + Controls the volume of the audio played on the host when fast forwarding. + + + + Mute All Sound + Mute All Sound + + + + Prevents the emulator from producing any audible sound. + Prevents the emulator from producing any audible sound. + + + + Backend Settings + Backend Settings + + + + Audio Backend + Audio Backend + + + + The audio backend determines how frames produced by the emulator are submitted to the host. + The audio backend determines how frames produced by the emulator are submitted to the host. + + + + Expansion + Expansion + + + + Determines how audio is expanded from stereo to surround for supported games. + Determines how audio is expanded from stereo to surround for supported games. + + + + Synchronization + Synchronization + + + + Buffer Size + Buffer Size + + + + Determines the amount of audio buffered before being pulled by the host API. + Determines the amount of audio buffered before being pulled by the host API. + + + + Output Latency + Output Latency + + + + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. + + + + Minimal Output Latency + Minimal Output Latency + + + + When enabled, the minimum supported output latency will be used for the host API. + When enabled, the minimum supported output latency will be used for the host API. + + + + Thread Pinning + Thread Pinning + + + + Force Even Sprite Position + Force Even Sprite Position + + + + Displays popup messages when starting, submitting, or failing a leaderboard challenge. + Displays popup messages when starting, submitting, or failing a leaderboard challenge. + + + + When enabled, each session will behave as if no achievements have been unlocked. + When enabled, each session will behave as if no achievements have been unlocked. + + + + Account + Account + + + + Logs out of RetroAchievements. + Logs out of RetroAchievements. + + + + Logs in to RetroAchievements. + Logs in to RetroAchievements. + + + + Current Game + Current Game + + + + An error occurred while deleting empty game settings: +{} + An error occurred while deleting empty game settings: +{} + + + + An error occurred while saving game settings: +{} + An error occurred while saving game settings: +{} + + + + {} is not a valid disc image. + {} is not a valid disc image. + + + + Automatic mapping completed for {}. + Automatic mapping completed for {}. + + + + Automatic mapping failed for {}. + Automatic mapping failed for {}. + + + + Game settings initialized with global settings for '{}'. + Game settings initialized with global settings for '{}'. + + + + Game settings have been cleared for '{}'. + Game settings have been cleared for '{}'. + + + + {} (Current) + {} (Current) + + + + {} (Folder) + {} (Folder) + + + + Failed to load '{}'. + Failed to load '{}'. + + + + Input profile '{}' loaded. + Input profile '{}' loaded. + + + + Input profile '{}' saved. + Input profile '{}' saved. + + + + Failed to save input profile '{}'. + Failed to save input profile '{}'. + + + + Port {} Controller Type + Port {} Controller Type + + + + Select Macro {} Binds + Select Macro {} Binds + + + + Port {} Device + Port {} Device + + + + Port {} Subtype + Port {} Subtype + + + + {} unlabelled patch codes will automatically activate. + {} unlabelled patch codes will automatically activate. + + + + {} unlabelled patch codes found but not enabled. + {} unlabelled patch codes found but not enabled. + + + + This Session: {} + This Session: {} + + + + All Time: {} + All Time: {} + + + + Save Slot {0} + Save Slot {0} + + + + Saved {} + Saved {} + + + + {} does not exist. + {} does not exist. + + + + {} deleted. + {} deleted. + + + + Failed to delete {}. + Failed to delete {}. + + + + File: {} + File: {} + + + + CRC: {:08X} + CRC: {:08X} + + + + Time Played: {} + Time Played: {} + + + + Last Played: {} + Last Played: {} + + + + Size: {:.2f} MB + Size: {:.2f} MB + + + + Left: + Left: + + + + Top: + Top: + + + + Right: + Right: + + + + Bottom: + Bottom: + + + + Summary + Summary + + + + Interface Settings + Interface Settings + + + + BIOS Settings + BIOS Settings + + + + Emulation Settings + Emulation Settings + + + + Graphics Settings + Graphics Settings + + + + Audio Settings + Audio Settings + + + + Memory Card Settings + Memory Card Settings + + + + Controller Settings + Controller Settings + + + + Hotkey Settings + Hotkey Settings + + + + Achievements Settings + Achievements Settings + + + + Folder Settings + Folder Settings + + + + Advanced Settings + Advanced Settings + + + + Patches + Patches + + + + Cheats + Cheats + + + + 2% [1 FPS (NTSC) / 1 FPS (PAL)] + 2% [1 FPS (NTSC) / 1 FPS (PAL)] + + + + 10% [6 FPS (NTSC) / 5 FPS (PAL)] + 10% [6 FPS (NTSC) / 5 FPS (PAL)] + + + + 25% [15 FPS (NTSC) / 12 FPS (PAL)] + 25% [15 FPS (NTSC) / 12 FPS (PAL)] + + + + 50% [30 FPS (NTSC) / 25 FPS (PAL)] + 50% [30 FPS (NTSC) / 25 FPS (PAL)] + + + + 75% [45 FPS (NTSC) / 37 FPS (PAL)] + 75% [45 FPS (NTSC) / 37 FPS (PAL)] + + + + 90% [54 FPS (NTSC) / 45 FPS (PAL)] + 90% [54 FPS (NTSC) / 45 FPS (PAL)] + + + + 100% [60 FPS (NTSC) / 50 FPS (PAL)] + 100% [60 FPS (NTSC) / 50 FPS (PAL)] + + + + 110% [66 FPS (NTSC) / 55 FPS (PAL)] + 110% [66 FPS (NTSC) / 55 FPS (PAL)] + + + + 120% [72 FPS (NTSC) / 60 FPS (PAL)] + 120% [72 FPS (NTSC) / 60 FPS (PAL)] + + + + 150% [90 FPS (NTSC) / 75 FPS (PAL)] + 150% [90 FPS (NTSC) / 75 FPS (PAL)] + + + + 175% [105 FPS (NTSC) / 87 FPS (PAL)] + 175% [105 FPS (NTSC) / 87 FPS (PAL)] + + + + 200% [120 FPS (NTSC) / 100 FPS (PAL)] + 200% [120 FPS (NTSC) / 100 FPS (PAL)] + + + + 300% [180 FPS (NTSC) / 150 FPS (PAL)] + 300% [180 FPS (NTSC) / 150 FPS (PAL)] + + + + 400% [240 FPS (NTSC) / 200 FPS (PAL)] + 400% [240 FPS (NTSC) / 200 FPS (PAL)] + + + + 500% [300 FPS (NTSC) / 250 FPS (PAL)] + 500% [300 FPS (NTSC) / 250 FPS (PAL)] + + + + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] + + + + 50% Speed + 50% Speed + + + + 60% Speed + 60% Speed + + + + 75% Speed + 75% Speed + + + + 100% Speed (Default) + 100% Speed (Default) + + + + 130% Speed + 130% Speed + + + + 180% Speed + 180% Speed + + + + 300% Speed + 300% Speed + + + + Normal (Default) + Normal (Default) + + + + Mild Underclock + Mild Underclock + + + + Moderate Underclock + Moderate Underclock + + + + Maximum Underclock + Maximum Underclock + + + + Disabled + Disabled + + + + 0 Frames (Hard Sync) + 0 Frames (Hard Sync) + + + + 1 Frame + 1 Frame + + + + 2 Frames + 2 Frames + + + + 3 Frames + 3 Frames + + + + None + None + + + + Extra + Preserve Sign + Extra + Preserve Sign + + + + Full + Full + + + + Extra + Extra + + + + Automatic (Default) + Automatic (Default) + + + + Direct3D 11 + Direct3D 11 + + + + Direct3D 12 + Direct3D 12 + + + + OpenGL + OpenGL + + + + Vulkan + Vulkan + + + + Metal + Metal + + + + Software + Software + + + + Null + Null + + + + Off + Off + + + + Bilinear (Smooth) + Bilinear (Smooth) + + + + Bilinear (Sharp) + Bilinear (Sharp) + + + + Weave (Top Field First, Sawtooth) + Weave (Top Field First, Sawtooth) + + + + Weave (Bottom Field First, Sawtooth) + Weave (Bottom Field First, Sawtooth) + + + + Bob (Top Field First) + Bob (Top Field First) + + + + Bob (Bottom Field First) + Bob (Bottom Field First) + + + + Blend (Top Field First, Half FPS) + Blend (Top Field First, Half FPS) + + + + Blend (Bottom Field First, Half FPS) + Blend (Bottom Field First, Half FPS) + + + + Adaptive (Top Field First) + Adaptive (Top Field First) + + + + Adaptive (Bottom Field First) + Adaptive (Bottom Field First) + + + + Native (PS2) + Native (PS2) + + + + Nearest + Nearest + + + + Bilinear (Forced) + Bilinear (Forced) + + + + Bilinear (PS2) + Bilinear (PS2) + + + + Bilinear (Forced excluding sprite) + Bilinear (Forced excluding sprite) + + + + Off (None) + Off (None) + + + + Trilinear (PS2) + Trilinear (PS2) + + + + Trilinear (Forced) + Trilinear (Forced) + + + + Scaled + Scaled + + + + Unscaled (Default) + Unscaled (Default) + + + + Minimum + Minimum + + + + Basic (Recommended) + Basic (Recommended) + + + + Medium + Medium + + + + High + High + + + + Full (Slow) + Full (Slow) + + + + Maximum (Very Slow) + Maximum (Very Slow) + + + + Off (Default) + Off (Default) + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + Partial + Partial + + + + Full (Hash Cache) + Full (Hash Cache) + + + + Force Disabled + Force Disabled + + + + Force Enabled + Force Enabled + + + + Accurate (Recommended) + Accurate (Recommended) + + + + Disable Readbacks (Synchronize GS Thread) + Disable Readbacks (Synchronize GS Thread) + + + + Unsynchronized (Non-Deterministic) + Unsynchronized (Non-Deterministic) + + + + Disabled (Ignore Transfers) + Disabled (Ignore Transfers) + + + + Screen Resolution + Screen Resolution + + + + Internal Resolution (Aspect Uncorrected) + Internal Resolution (Aspect Uncorrected) + + + + Load/Save State + Load/Save State + + + + WARNING: Memory Card Busy + WARNING: Memory Card Busy + + + + Cannot show details for games which were not scanned in the game list. + Cannot show details for games which were not scanned in the game list. + + + + Pause On Controller Disconnection + Pause On Controller Disconnection + + + + Use Save State Selector + Use Save State Selector + + + + SDL DualSense Player LED + SDL DualSense Player LED + + + + Press To Toggle + Press To Toggle + + + + Deadzone + Deadzone + + + + Full Boot + Full Boot + + + + Achievement Notifications + Achievement Notifications + + + + Leaderboard Notifications + Leaderboard Notifications + + + + Enable In-Game Overlays + Enable In-Game Overlays + + + + Encore Mode + Encore Mode + + + + Spectator Mode + Spectator Mode + + + + PNG + PNG + + + + - + - + + + + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. + + + + Removes the current card from the slot. + Removes the current card from the slot. + + + + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). + + + + {} Frames + {} Frames + + + + No Deinterlacing + No Deinterlacing + + + + Force 32bit + Force 32bit + + + + JPEG + JPEG + + + + 0 (Disabled) + 0 (Disabled) + + + + 1 (64 Max Width) + 1 (64 Max Width) + + + + 2 (128 Max Width) + 2 (128 Max Width) + + + + 3 (192 Max Width) + 3 (192 Max Width) + + + + 4 (256 Max Width) + 4 (256 Max Width) + + + + 5 (320 Max Width) + 5 (320 Max Width) + + + + 6 (384 Max Width) + 6 (384 Max Width) + + + + 7 (448 Max Width) + 7 (448 Max Width) + + + + 8 (512 Max Width) + 8 (512 Max Width) + + + + 9 (576 Max Width) + 9 (576 Max Width) + + + + 10 (640 Max Width) + 10 (640 Max Width) + + + + Sprites Only + Sprites Only + + + + Sprites/Triangles + Sprites/Triangles + + + + Blended Sprites/Triangles + Blended Sprites/Triangles + + + + 1 (Normal) + 1 (Normal) + + + + 2 (Aggressive) + 2 (Aggressive) + + + + Inside Target + Inside Target + + + + Merge Targets + Merge Targets + + + + Normal (Vertex) + Normal (Vertex) + + + + Special (Texture) + Special (Texture) + + + + Special (Texture - Aggressive) + Special (Texture - Aggressive) + + + + Align To Native + Align To Native + + + + Half + Half + + + + Force Bilinear + Force Bilinear + + + + Force Nearest + Force Nearest + + + + Disabled (Default) + Disabled (Default) + + + + Enabled (Sprites Only) + Enabled (Sprites Only) + + + + Enabled (All Primitives) + Enabled (All Primitives) + + + + None (Default) + None (Default) + + + + Sharpen Only (Internal Resolution) + Sharpen Only (Internal Resolution) + + + + Sharpen and Resize (Display Resolution) + Sharpen and Resize (Display Resolution) + + + + Scanline Filter + Scanline Filter + + + + Diagonal Filter + Diagonal Filter + + + + Triangular Filter + Triangular Filter + + + + Wave Filter + Wave Filter + + + + Lottes CRT + Lottes CRT + + + + 4xRGSS + 4xRGSS + + + + NxAGSS + NxAGSS + + + + Uncompressed + Uncompressed + + + + LZMA (xz) + LZMA (xz) + + + + Zstandard (zst) + Zstandard (zst) + + + + PS2 (8MB) + PS2 (8MB) + + + + PS2 (16MB) + PS2 (16MB) + + + + PS2 (32MB) + PS2 (32MB) + + + + PS2 (64MB) + PS2 (64MB) + + + + PS1 + PS1 + + + + Negative + Negative + + + + Positive + Positive + + + + Chop/Zero (Default) + Chop/Zero (Default) + + + + Game Grid + Game Grid + + + + Game List + Game List + + + + Game List Settings + Game List Settings + + + + Type + Type + + + + Serial + Serial + + + + Title + Title + + + + File Title + File Title + + + + CRC + CRC + + + + Time Played + Time Played + + + + Last Played + Last Played + + + + Size + Size + + + + Select Disc Image + Select Disc Image + + + + Select Disc Drive + Select Disc Drive + + + + Start File + Start File + + + + Start BIOS + Start BIOS + + + + Start Disc + Start Disc + + + + Exit + Exit + + + + Set Input Binding + Set Input Binding + + + + Region + Region + + + + Compatibility Rating + Compatibility Rating + + + + Path + Path + + + + Disc Path + Disc Path + + + + Select Disc Path + Select Disc Path + + + + Copy Settings + Copy Settings + + + + Clear Settings + Clear Settings + + + + Inhibit Screensaver + Inhibit Screensaver + + + + Enable Discord Presence + Enable Discord Presence + + + + Pause On Start + Pause On Start + + + + Pause On Focus Loss + Pause On Focus Loss + + + + Pause On Menu + Pause On Menu + + + + Confirm Shutdown + Confirm Shutdown + + + + Save State On Shutdown + Save State On Shutdown + + + + Use Light Theme + Use Light Theme + + + + Start Fullscreen + Start Fullscreen + + + + Double-Click Toggles Fullscreen + Double-Click Toggles Fullscreen + + + + Hide Cursor In Fullscreen + Hide Cursor In Fullscreen + + + + OSD Scale + OSD Scale + + + + Show Messages + Show Messages + + + + Show Speed + Show Speed + + + + Show FPS + Show FPS + + + + Show CPU Usage + Show CPU Usage + + + + Show GPU Usage + Show GPU Usage + + + + Show Resolution + Show Resolution + + + + Show GS Statistics + Show GS Statistics + + + + Show Status Indicators + Show Status Indicators + + + + Show Settings + Show Settings + + + + Show Inputs + Show Inputs + + + + Warn About Unsafe Settings + Warn About Unsafe Settings + + + + Reset Settings + Reset Settings + + + + Change Search Directory + Change Search Directory + + + + Fast Boot + Fast Boot + + + + Output Volume + Output Volume + + + + Memory Card Directory + Memory Card Directory + + + + Folder Memory Card Filter + Folder Memory Card Filter + + + + Create + Create + + + + Cancel + Cancel + + + + Load Profile + Load Profile + + + + Save Profile + Save Profile + + + + Enable SDL Input Source + Enable SDL Input Source + + + + SDL DualShock 4 / DualSense Enhanced Mode + SDL DualShock 4 / DualSense Enhanced Mode + + + + SDL Raw Input + SDL Raw Input + + + + Enable XInput Input Source + Enable XInput Input Source + + + + Enable Console Port 1 Multitap + Enable Console Port 1 Multitap + + + + Enable Console Port 2 Multitap + Enable Console Port 2 Multitap + + + + Controller Port {}{} + Controller Port {}{} + + + + Controller Port {} + Controller Port {} + + + + Controller Type + Controller Type + + + + Automatic Mapping + Automatic Mapping + + + + Controller Port {}{} Macros + Controller Port {}{} Macros + + + + Controller Port {} Macros + Controller Port {} Macros + + + + Macro Button {} + Macro Button {} + + + + Buttons + Buttons + + + + Frequency + Frequency + + + + Pressure + Pressure + + + + Controller Port {}{} Settings + Controller Port {}{} Settings + + + + Controller Port {} Settings + Controller Port {} Settings + + + + USB Port {} + USB Port {} + + + + Device Type + Device Type + + + + Device Subtype + Device Subtype + + + + {} Bindings + {} Bindings + + + + Clear Bindings + Clear Bindings + + + + {} Settings + {} Settings + + + + Cache Directory + Cache Directory + + + + Covers Directory + Covers Directory + + + + Snapshots Directory + Snapshots Directory + + + + Save States Directory + Save States Directory + + + + Game Settings Directory + Game Settings Directory + + + + Input Profile Directory + Input Profile Directory + + + + Cheats Directory + Cheats Directory + + + + Patches Directory + Patches Directory + + + + Texture Replacements Directory + Texture Replacements Directory + + + + Video Dumping Directory + Video Dumping Directory + + + + Resume Game + Resume Game + + + + Toggle Frame Limit + Toggle Frame Limit + + + + Game Properties + Game Properties + + + + Achievements + Achievements + + + + Save Screenshot + Save Screenshot + + + + Switch To Software Renderer + Switch To Software Renderer + + + + Switch To Hardware Renderer + Switch To Hardware Renderer + + + + Change Disc + Change Disc + + + + Close Game + Close Game + + + + Exit Without Saving + Exit Without Saving + + + + Back To Pause Menu + Back To Pause Menu + + + + Exit And Save State + Exit And Save State + + + + Leaderboards + Leaderboards + + + + Delete Save + Delete Save + + + + Close Menu + Close Menu + + + + Delete State + Delete State + + + + Default Boot + Default Boot + + + + Reset Play Time + Reset Play Time + + + + Add Search Directory + Add Search Directory + + + + Open in File Browser + Open in File Browser + + + + Disable Subdirectory Scanning + Disable Subdirectory Scanning + + + + Enable Subdirectory Scanning + Enable Subdirectory Scanning + + + + Remove From List + Remove From List + + + + Default View + Default View + + + + Sort By + Sort By + + + + Sort Reversed + Sort Reversed + + + + Scan For New Games + Scan For New Games + + + + Rescan All Games + Rescan All Games + + + + Website + Website + + + + Support Forums + Support Forums + + + + GitHub Repository + GitHub Repository + + + + License + License + + + + Close + Close + + + + RAIntegration is being used instead of the built-in achievements implementation. + RAIntegration is being used instead of the built-in achievements implementation. + + + + Enable Achievements + Enable Achievements + + + + Hardcore Mode + Hardcore Mode + + + + Sound Effects + Sound Effects + + + + Test Unofficial Achievements + Test Unofficial Achievements + + + + Username: {} + Username: {} + + + + Login token generated on {} + Login token generated on {} + + + + Logout + Logout + + + + Not Logged In + Not Logged In + + + + Login + Login + + + + Game: {0} ({1}) + Game: {0} ({1}) + + + + Rich presence inactive or unsupported. + Rich presence inactive or unsupported. + + + + Game not loaded or no RetroAchievements available. + Game not loaded or no RetroAchievements available. + + + + Card Enabled + Card Enabled + + + + Card Name + Card Name + + + + Eject Card + Eject Card + + + + GS + + + Configured upscale multiplier {}x is above your GPU's supported multiplier of {}x. + Configured upscale multiplier {}x is above your GPU's supported multiplier of {}x. + + + + Failed to reopen, restoring old configuration. + Failed to reopen, restoring old configuration. + + + + Failed to create render device. This may be due to your GPU not supporting the chosen renderer ({}), or because your graphics drivers need to be updated. + Failed to create render device. This may be due to your GPU not supporting the chosen renderer ({}), or because your graphics drivers need to be updated. + + + + Failed to change window after update. The log may contain more information. + Failed to change window after update. The log may contain more information. + + + + Upscale multiplier set to {}x. + Upscale multiplier set to {}x. + + + + Saving screenshot to '{}'. + Saving screenshot to '{}'. + + + + Saved screenshot to '{}'. + Saved screenshot to '{}'. + + + + Failed to save screenshot to '{}'. + Failed to save screenshot to '{}'. + + + + Host GPU device encountered an error and was recovered. This may have broken rendering. + Host GPU device encountered an error and was recovered. This may have broken rendering. + + + + CAS is not available, your graphics driver does not support the required functionality. + CAS is not available, your graphics driver does not support the required functionality. + + + + with no compression + with no compression + + + + with LZMA compression + with LZMA compression + + + + with Zstandard compression + with Zstandard compression + + + + Saving {0} GS dump {1} to '{2}' + Saving {0} GS dump {1} to '{2}' + + + + single frame + single frame + + + + multi-frame + multi-frame + + + + Failed to render/download screenshot. + Failed to render/download screenshot. + + + + Saved GS dump to '{}'. + Saved GS dump to '{}'. + + + + Hash cache has used {:.2f} MB of VRAM, disabling. + Hash cache has used {:.2f} MB of VRAM, disabling. + + + + Disabling autogenerated mipmaps on one or more compressed replacement textures. Please generate mipmaps when compressing your textures. + Disabling autogenerated mipmaps on one or more compressed replacement textures. Please generate mipmaps when compressing your textures. + + + + Stencil buffers and texture barriers are both unavailable, this will break some graphical effects. + Stencil buffers and texture barriers are both unavailable, this will break some graphical effects. + + + + Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow. + Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow. + + + + Your system has the "OpenCL, OpenGL, and Vulkan Compatibility Pack" installed. +This Vulkan driver crashes PCSX2 on some GPUs. +To use the Vulkan renderer, you should remove this app package. + Your system has the "OpenCL, OpenGL, and Vulkan Compatibility Pack" installed. +This Vulkan driver crashes PCSX2 on some GPUs. +To use the Vulkan renderer, you should remove this app package. + + + + The Vulkan renderer was automatically selected, but no compatible devices were found. + You should update all graphics drivers in your system, including any integrated GPUs + to use the Vulkan renderer. + The Vulkan renderer was automatically selected, but no compatible devices were found. + You should update all graphics drivers in your system, including any integrated GPUs + to use the Vulkan renderer. + + + + Switching to Software Renderer... + Switching to Software Renderer... + + + + Switching to Hardware Renderer... + Switching to Hardware Renderer... + + + + Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. + Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. + + + + The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. +Do not request support, please upgrade your hardware/drivers first. + The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. +Do not request support, please upgrade your hardware/drivers first. + + + + GSCapture + + + Failed to load FFmpeg + Failed to load FFmpeg + + + + You may be missing one or more files, or are using the incorrect version. This build of PCSX2 requires: + libavcodec: {} + libavformat: {} + libavutil: {} + libswscale: {} + libswresample: {} + +Please see our official documentation for more information. + You may be missing one or more files, or are using the incorrect version. This build of PCSX2 requires: + libavcodec: {} + libavformat: {} + libavutil: {} + libswscale: {} + libswresample: {} + +Please see our official documentation for more information. + + + + capturing audio and video + capturing audio and video + + + + capturing video + capturing video + + + + capturing audio + capturing audio + + + + Starting {} to '{}'. + Starting {} to '{}'. + + + + Stopped {} to '{}'. + Stopped {} to '{}'. + + + + Aborted {} due to encoding error in '{}'. + Aborted {} due to encoding error in '{}'. + + + + GSDeviceOGL + + + OpenGL renderer is not supported. Only OpenGL {}.{} + was found + OpenGL renderer is not supported. Only OpenGL {}.{} + was found + + + + GSDeviceVK + + + Your GPU does not support the required Vulkan features. + Your GPU does not support the required Vulkan features. + + + + GameCheatSettingsWidget + + + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use cheats at your own risk, the PCSX2 team will provide no support for users who have enabled cheats. + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use cheats at your own risk, the PCSX2 team will provide no support for users who have enabled cheats. + + + + Enable Cheats + Enable Cheats + + + + Name + Name + + + + Author + Author + + + + Description + Description + + + + Search... + Search... + + + + Enable All + Enable All + + + + Disable All + Disable All + + + + All CRCs + All CRCs + + + + Reload Cheats + Reload Cheats + + + + Show Cheats For All CRCs + Show Cheats For All CRCs + + + + Checked + Checked + + + + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + + + + %1 unlabelled patch codes will automatically activate. + %1 unlabelled patch codes will automatically activate. + + + + GameDatabase + + + {0} Current Blending Accuracy is {1}. +Recommended Blending Accuracy for this game is {2}. +You can adjust the blending level in Game Properties to improve +graphical quality, but this will increase system requirements. + {0} Current Blending Accuracy is {1}. +Recommended Blending Accuracy for this game is {2}. +You can adjust the blending level in Game Properties to improve +graphical quality, but this will increase system requirements. + + + + Manual GS hardware renderer fixes are enabled, automatic fixes were not applied: + Manual GS hardware renderer fixes are enabled, automatic fixes were not applied: + + + + No tracks provided. + No tracks provided. + + + + Hash {} is not in database. + Hash {} is not in database. + + + + Data track number does not match data track in database. + Data track number does not match data track in database. + + + + Track {0} with hash {1} is not found in database. + + Track {0} with hash {1} is not found in database. + + + + + Track {0} with hash {1} is for a different game ({2}). + + Track {0} with hash {1} is for a different game ({2}). + + + + + Track {0} with hash {1} does not match database track. + + Track {0} with hash {1} does not match database track. + + + + + GameFixSettingsWidget + + + Game Fixes + Game Fixes + + + + + FPU Multiply Hack + FPU = Floating Point Unit. A part of the PS2's CPU. Do not translate.\nMultiply: mathematical term.\nTales of Destiny: a game's name. Leave as-is or use an official translation. + FPU Multiply Hack + + + + + Skip MPEG Hack + MPEG: video codec, leave as-is. FMV: Full Motion Video. Find the common used term in your language. + Skip MPEG Hack + + + + + Preload TLB Hack + TLB: Translation Lookaside Buffer. Leave as-is. Goemon: name of a character from the series with his name. Leave as-is or use an official translation. + Preload TLB Hack + + + + + EE Timing Hack + EE: Emotion Engine. Leave as-is. + EE Timing Hack + + + + + Instant DMA Hack + DMA: Direct Memory Access. Leave as-is. + Instant DMA Hack + + + + + OPH Flag Hack + OPH: Name of a flag (Output PatH) in the GIF_STAT register in the EE. Leave as-is.\nBleach Blade Battles: a game's name. Leave as-is or use an official translation. + OPH Flag Hack + + + + + Emulate GIF FIFO + GIF = GS (Graphics Synthesizer, the GPU) Interface. Leave as-is.\nFIFO = First-In-First-Out, a type of buffer. Leave as-is. + Emulate GIF FIFO + + + + + DMA Busy Hack + DMA: Direct Memory Access. Leave as-is. + DMA Busy Hack + + + + + Delay VIF1 Stalls + VIF = VU (Vector Unit) Interface. Leave as-is. SOCOM 2 and Spy Hunter: names of two different games. Leave as-is or use an official translation.\nHUD = Heads-Up Display. The games' interfaces. + Delay VIF1 Stalls + + + + + Emulate VIF FIFO + VIF = VU (Vector Unit) Interface. Leave as-is.\nFIFO = First-In-First-Out, a type of buffer. Leave as-is. + Emulate VIF FIFO + + + + + Full VU0 Synchronization + VU0 = VU (Vector Unit) 0. Leave as-is. + Full VU0 Synchronization + + + + + VU I Bit Hack + VU = Vector Unit. Leave as-is.\nI Bit = A bit referred as I, not as 1.\nScarface The World is Yours and Crash Tag Team Racing: names of two different games. Leave as-is or use an official translation. + VU I Bit Hack + + + + + VU Add Hack + VU = Vector Unit. Leave as-is.\nTri-Ace: a game development company name. Leave as-is. + VU Add Hack + + + + + VU Overflow Hack + VU = Vector Unit. Leave as-is.\nSuperman Returns: a game's name. Leave as-is or use an official translation. + VU Overflow Hack + + + + + VU Sync + VU = Vector Unit. Leave as-is.\nRun Behind: watch out for misleading capitalization for non-English: this refers to making the VUs run behind (delayed relative to) the EE.\nM-Bit: a bitflag in VU instructions that tells VU0 to synchronize with the EE. M-Bit Game: A game that uses instructions with the M-Bit enabled (unofficial PCSX2 name). + VU Sync + + + + + VU XGKick Sync + VU = Vector Unit. Leave as-is.\nXGKick: the name of one of the VU's instructions. Leave as-is. + VU XGKick Sync + + + + + Force Blit Internal FPS Detection + Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit This option tells PCSX2 to estimate internal FPS by detecting blits (image copies) onto visible display memory. + Force Blit Internal FPS Detection + + + + + Use Software Renderer For FMVs + FMV: Full Motion Video. Find the common used term in your language. + Use Software Renderer For FMVs + + + + + + + + + + + + + + + + + + + + + Unchecked + Unchecked + + + + For Tales of Destiny. + For Tales of Destiny. + + + + To avoid TLB miss on Goemon. + To avoid TLB miss on Goemon. + + + + Needed for some games with complex FMV rendering. + Needed for some games with complex FMV rendering. + + + + Skips videos/FMVs in games to avoid game hanging/freezes. + Skips videos/FMVs in games to avoid game hanging/freezes. + + + + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + + + + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + + + + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + + + + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + + + + Correct but slower. Known to affect the following games: Fifa Street 2. + Correct but slower. Known to affect the following games: Fifa Street 2. + + + + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + + + + For SOCOM 2 HUD and Spy Hunter loading hang. + For SOCOM 2 HUD and Spy Hunter loading hang. + + + + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + + + + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + + + + Forces tight VU0 sync on every COP2 instruction. + Forces tight VU0 sync on every COP2 instruction. + + + + Run behind. To avoid sync problems when reading or writing VU registers. + Run behind. To avoid sync problems when reading or writing VU registers. + + + + To check for possible float overflows (Superman Returns). + To check for possible float overflows (Superman Returns). + + + + Use accurate timing for VU XGKicks (slower). + Use accurate timing for VU XGKicks (slower). + + + + Use alternative method to calculate internal FPS to avoid false readings in some games. + Use alternative method to calculate internal FPS to avoid false readings in some games. + + + + GameList + + + PS2 Disc + PS2 Disc + + + + PS1 Disc + PS1 Disc + + + + ELF + ELF + + + + Other + Other + + + + Unknown + Unknown + + + + Nothing + Nothing + + + + Intro + Intro + + + + Menu + Menu + + + + In-Game + In-Game + + + + Playable + Playable + + + + Perfect + Perfect + + + + Scanning directory {} (recursively)... + Scanning directory {} (recursively)... + + + + Scanning directory {}... + Scanning directory {}... + + + + Scanning {}... + Scanning {}... + + + + Never + Never + + + + Today + Today + + + + Yesterday + Yesterday + + + + {}h {}m + {}h {}m + + + + {}h {}m {}s + {}h {}m {}s + + + + {}m {}s + {}m {}s + + + + {}s + {}s + + + + + %n hours + + %n hours + %n hours + + + + + + %n minutes + + %n minutes + %n minutes + + + + + Downloading cover for {0} [{1}]... + Downloading cover for {0} [{1}]... + + + + GameListModel + + + Type + Type + + + + Code + Code + + + + Title + Title + + + + File Title + File Title + + + + CRC + CRC + + + + Time Played + Time Played + + + + Last Played + Last Played + + + + Size + Size + + + + Region + Region + + + + Compatibility + Compatibility + + + + GameListSettingsWidget + + + Game Scanning + Game Scanning + + + + Search Directories (will be scanned for games) + Search Directories (will be scanned for games) + + + + Add... + Add... + + + + + + Remove + Remove + + + + Search Directory + Search Directory + + + + Scan Recursively + Scan Recursively + + + + Excluded Paths (will not be scanned) + Excluded Paths (will not be scanned) + + + + Directory... + Directory... + + + + File... + File... + + + + Scan For New Games + Scan For New Games + + + + Rescan All Games + Rescan All Games + + + + Display + Display + + + + + Prefer English Titles + Prefer English Titles + + + + Unchecked + Unchecked + + + + For games with both a title in the game's native language and one in English, prefer the English title. + For games with both a title in the game's native language and one in English, prefer the English title. + + + + Open Directory... + Open Directory... + + + + Select Search Directory + Select Search Directory + + + + Scan Recursively? + Scan Recursively? + + + + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + + + + Select File + Select File + + + + Select Directory + Select Directory + + + + GameListWidget + + + Game List + Game List + + + + Game Grid + Game Grid + + + + Show Titles + Show Titles + + + + All Types + All Types + + + + All Regions + All Regions + + + + Search... + Search... + + + + GamePatchDetailsWidget + + + + Patch Title + Patch Title + + + + + Enabled + Enabled + + + + + <html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html> + + + + <strong>Author: </strong>%1<br>%2 + <strong>Author: </strong>%1<br>%2 + + + + Unknown + Unknown + + + + No description provided. + No description provided. + + + + GamePatchSettingsWidget + + + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + + + + Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. + Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. + + + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + All CRCs + All CRCs + + + + Reload Patches + Reload Patches + + + + Show Patches For All CRCs + Show Patches For All CRCs + + + + Checked + Checked + + + + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + + + + There are no patches available for this game. + There are no patches available for this game. + + + + GameSummaryWidget + + + Title: + Title: + + + + Clear the line to restore the original title... + Clear the line to restore the original title... + + + + + Restore + Restore + + + + Sorting Title: + Name for use in sorting (e.g. "XXX, The" for a game called "The XXX") + Sorting Title: + + + + English Title: + English Title: + + + + Path: + Path: + + + + Serial: + Serial: + + + + Check Wiki + Check Wiki + + + + CRC: + CRC: + + + + Type: + Type: + + + + PS2 Disc + PS2 Disc + + + + PS1 Disc + PS1 Disc + + + + ELF (PS2 Executable) + ELF (PS2 Executable) + + + + Region: + Region: + + + + NTSC-B (Brazil) + Leave the code as-is, translate the country's name. + NTSC-B (Brazil) + + + + NTSC-C (China) + Leave the code as-is, translate the country's name. + NTSC-C (China) + + + + NTSC-HK (Hong Kong) + Leave the code as-is, translate the country's name. + NTSC-HK (Hong Kong) + + + + NTSC-J (Japan) + Leave the code as-is, translate the country's name. + NTSC-J (Japan) + + + + NTSC-K (Korea) + Leave the code as-is, translate the country's name. + NTSC-K (Korea) + + + + NTSC-T (Taiwan) + Leave the code as-is, translate the country's name. + NTSC-T (Taiwan) + + + + NTSC-U (US) + Leave the code as-is, translate the country's name. + NTSC-U (US) + + + + Other + Other + + + + PAL-A (Australia) + Leave the code as-is, translate the country's name. + PAL-A (Australia) + + + + PAL-AF (South Africa) + Leave the code as-is, translate the country's name. + PAL-AF (South Africa) + + + + PAL-AU (Austria) + Leave the code as-is, translate the country's name. + PAL-AU (Austria) + + + + PAL-BE (Belgium) + Leave the code as-is, translate the country's name. + PAL-BE (Belgium) + + + + PAL-E (Europe/Australia) + Leave the code as-is, translate the country's name. + PAL-E (Europe/Australia) + + + + PAL-F (France) + Leave the code as-is, translate the country's name. + PAL-F (France) + + + + PAL-FI (Finland) + Leave the code as-is, translate the country's name. + PAL-FI (Finland) + + + + PAL-G (Germany) + Leave the code as-is, translate the country's name. + PAL-G (Germany) + + + + PAL-GR (Greece) + Leave the code as-is, translate the country's name. + PAL-GR (Greece) + + + + PAL-I (Italy) + Leave the code as-is, translate the country's name. + PAL-I (Italy) + + + + PAL-IN (India) + Leave the code as-is, translate the country's name. + PAL-IN (India) + + + + PAL-M (Europe/Australia) + Leave the code as-is, translate the country's name. + PAL-M (Europe/Australia) + + + + PAL-NL (Netherlands) + Leave the code as-is, translate the country's name. + PAL-NL (Netherlands) + + + + PAL-NO (Norway) + Leave the code as-is, translate the country's name. + PAL-NO (Norway) + + + + PAL-P (Portugal) + Leave the code as-is, translate the country's name. + PAL-P (Portugal) + + + + PAL-PL (Poland) + Leave the code as-is, translate the country's name. + PAL-PL (Poland) + + + + PAL-R (Russia) + Leave the code as-is, translate the country's name. + PAL-R (Russia) + + + + PAL-S (Spain) + Leave the code as-is, translate the country's name. + PAL-S (Spain) + + + + PAL-SC (Scandinavia) + Leave the code as-is, translate the country's name. + PAL-SC (Scandinavia) + + + + PAL-SW (Sweden) + Leave the code as-is, translate the country's name. + PAL-SW (Sweden) + + + + PAL-SWI (Switzerland) + Leave the code as-is, translate the country's name. + PAL-SWI (Switzerland) + + + + PAL-UK (United Kingdom) + Leave the code as-is, translate the country's name. + PAL-UK (United Kingdom) + + + + Compatibility: + Compatibility: + + + + Input Profile: + Input Profile: + + + + Shared + Refers to the shared settings profile. + Shared + + + + Disc Path: + Disc Path: + + + + Browse... + Browse... + + + + Clear + Clear + + + + Verify + Verify + + + + Search on Redump.org... + Search on Redump.org... + + + + %0%1 + First arg is a GameList compat; second is a string with space followed by star rating OR empty if Unknown compat + %0%1 + + + + %0%1 + First arg is filled-in stars for game compatibility; second is empty stars; should be swapped for RTL languages + %0%1 + + + + Select Disc Path + Select Disc Path + + + + Game is not a CD/DVD. + Game is not a CD/DVD. + + + + Track list unavailable while virtual machine is running. + Track list unavailable while virtual machine is running. + + + + # + # + + + + Mode + Mode + + + + + Start + Start + + + + + Sectors + Sectors + + + + + Size + Size + + + + + MD5 + MD5 + + + + + Status + Status + + + + + + + + + + %1 + %1 + + + + + <not computed> + <not computed> + + + + Error + Error + + + + Cannot verify image while a game is running. + Cannot verify image while a game is running. + + + + One or more tracks is missing. + One or more tracks is missing. + + + + Verified as %1 [%2] (Version %3). + Verified as %1 [%2] (Version %3). + + + + Verified as %1 [%2]. + Verified as %1 [%2]. + + + + GlobalVariableTreeWidget + + + unknown function + unknown function + + + + GraphicsSettingsWidget + + + Renderer: + Renderer: + + + + Adapter: + Adapter: + + + + Display + Display + + + + Fullscreen Mode: + Fullscreen Mode: + + + + Aspect Ratio: + Aspect Ratio: + + + + Fit to Window / Fullscreen + Fit to Window / Fullscreen + + + + + Auto Standard (4:3 Interlaced / 3:2 Progressive) + Auto Standard (4:3 Interlaced / 3:2 Progressive) + + + + + Standard (4:3) + Standard (4:3) + + + + + Widescreen (16:9) + Widescreen (16:9) + + + + FMV Aspect Ratio Override: + FMV Aspect Ratio Override: + + + + + + + + + + + Off (Default) + Off (Default) + + + + + + + + + + + + Automatic (Default) + Automatic (Default) + + + + Weave (Top Field First, Sawtooth) + Weave: deinterlacing method that can be translated or left as-is in English. Sawtooth: refers to the jagged effect weave deinterlacing has on motion. + Weave (Top Field First, Sawtooth) + + + + Weave (Bottom Field First, Sawtooth) + Weave: deinterlacing method that can be translated or left as-is in English. Sawtooth: refers to the jagged effect weave deinterlacing has on motion. + Weave (Bottom Field First, Sawtooth) + + + + Bob (Top Field First, Full Frames) + Bob: deinterlacing method that refers to the way it makes video look like it's bobbing up and down. + Bob (Top Field First, Full Frames) + + + + Bob (Bottom Field First, Full Frames) + Bob: deinterlacing method that refers to the way it makes video look like it's bobbing up and down. + Bob (Bottom Field First, Full Frames) + + + + Blend (Top Field First, Merge 2 Fields) + Blend: deinterlacing method that blends the colors of the two frames, can be translated or left as-is in English. + Blend (Top Field First, Merge 2 Fields) + + + + Blend (Bottom Field First, Merge 2 Fields) + Blend: deinterlacing method that blends the colors of the two frames, can be translated or left as-is in English. + Blend (Bottom Field First, Merge 2 Fields) + + + + Adaptive (Top Field First, Similar to Bob + Weave) + Adaptive: deinterlacing method that should be translated. + Adaptive (Top Field First, Similar to Bob + Weave) + + + + Adaptive (Bottom Field First, Similar to Bob + Weave) + Adaptive: deinterlacing method that should be translated. + Adaptive (Bottom Field First, Similar to Bob + Weave) + + + + Bilinear Filtering: + Bilinear Filtering: + + + + + + + None + None + + + + + Bilinear (Smooth) + Smooth: Refers to the texture clarity. + Bilinear (Smooth) + + + + Bilinear (Sharp) + Sharp: Refers to the texture clarity. + Bilinear (Sharp) + + + + Vertical Stretch: + Vertical Stretch: + + + + + + + % + Percentage sign that shows next to a value. You might want to add a space before if your language requires it. +---------- +Percentage sign that will appear next to a number. Add a space or whatever is needed before depending on your language. + % + + + + Crop: + Crop: + + + + Left: + Warning: short space constraints. Abbreviate if necessary. + Left: + + + + + + + px + px + + + + Top: + Warning: short space constraints. Abbreviate if necessary. + Top: + + + + Right: + Warning: short space constraints. Abbreviate if necessary. + Right: + + + + Bottom: + Warning: short space constraints. Abbreviate if necessary. + Bottom: + + + + + Screen Offsets + Screen Offsets + + + + + Show Overscan + Show Overscan + + + + + Anti-Blur + Anti-Blur + + + + Ctrl+S + Ctrl+S + + + + + Disable Interlace Offset + Disable Interlace Offset + + + + Screenshot Size: + Screenshot Size: + + + + Screen Resolution + Screen Resolution + + + + Internal Resolution + Internal Resolution + + + + + PNG + PNG + + + + JPEG + JPEG + + + + Quality: + Quality: + + + + + Rendering + Rendering + + + + Internal Resolution: + Internal Resolution: + + + + + Off + Off + + + + + Texture Filtering: + Texture Filtering: + + + + + Nearest + Nearest + + + + + Bilinear (Forced) + Bilinear (Forced) + + + + + + Bilinear (PS2) + Bilinear (PS2) + + + + + Bilinear (Forced excluding sprite) + Bilinear (Forced excluding sprite) + + + + Trilinear Filtering: + Trilinear Filtering: + + + + Off (None) + Off (None) + + + + Trilinear (PS2) + Trilinear (PS2) + + + + Trilinear (Forced) + Trilinear (Forced) + + + + Anisotropic Filtering: + Anisotropic Filtering: + + + + Dithering: + Dithering: + + + + Scaled + Scaled + + + + + Unscaled (Default) + Unscaled (Default) + + + + Blending Accuracy: + Blending Accuracy: + + + + Minimum + Minimum + + + + + Basic (Recommended) + Basic (Recommended) + + + + Medium + Medium + + + + High + High + + + + Full (Slow) + Full (Slow) + + + + Maximum (Very Slow) + Maximum (Very Slow) + + + + Texture Preloading: + Texture Preloading: + + + + Partial + Partial + + + + + Full (Hash Cache) + Full (Hash Cache) + + + + Software Rendering Threads: + Software Rendering Threads: + + + + Skip Draw Range: + Skip Draw Range: + + + + + Disable Depth Conversion + Disable Depth Conversion + + + + + GPU Palette Conversion + GPU Palette Conversion + + + + + Manual Hardware Renderer Fixes + Manual Hardware Renderer Fixes + + + + + Spin GPU During Readbacks + Spin GPU During Readbacks + + + + + Spin CPU During Readbacks + Spin CPU During Readbacks + + + + threads + threads + + + + + + + Mipmapping + Mipmapping + + + + + + Auto Flush + Auto Flush + + + + Hardware Fixes + Hardware Fixes + + + + Force Disabled + Force Disabled + + + + Force Enabled + Force Enabled + + + + CPU Sprite Render Size: + CPU Sprite Render Size: + + + + + + + + 0 (Disabled) + 0 (Disabled) + 0 (Disabled) + + + + 1 (64 Max Width) + 1 (64 Max Width) + + + + 2 (128 Max Width) + 2 (128 Max Width) + + + + 3 (192 Max Width) + 3 (192 Max Width) + + + + 4 (256 Max Width) + 4 (256 Max Width) + + + + 5 (320 Max Width) + 5 (320 Max Width) + + + + 6 (384 Max Width) + 6 (384 Max Width) + + + + 7 (448 Max Width) + 7 (448 Max Width) + + + + 8 (512 Max Width) + 8 (512 Max Width) + + + + 9 (576 Max Width) + 9 (576 Max Width) + + + + 10 (640 Max Width) + 10 (640 Max Width) + + + + + Disable Safe Features + Disable Safe Features + + + + + Preload Frame Data + Preload Frame Data + + + + Texture Inside RT + Texture Inside RT + + + + 1 (Normal) + 1 (Normal) + + + + 2 (Aggressive) + 2 (Aggressive) + + + + Software CLUT Render: + Software CLUT Render: + + + + GPU Target CLUT: + CLUT: Color Look Up Table, often referred to as a palette in non-PS2 things. GPU Target CLUT: GPU handling of when a game uses data from a render target as a CLUT. + GPU Target CLUT: + + + + + + Disabled (Default) + Disabled (Default) + + + + Enabled (Exact Match) + Enabled (Exact Match) + + + + Enabled (Check Inside Target) + Enabled (Check Inside Target) + + + + Upscaling Fixes + Upscaling Fixes + + + + Half Pixel Offset: + Half Pixel Offset: + + + + Normal (Vertex) + Normal (Vertex) + + + + Special (Texture) + Special (Texture) + + + + Special (Texture - Aggressive) + Special (Texture - Aggressive) + + + + Round Sprite: + Round Sprite: + + + + Half + Half + + + + Full + Full + + + + Texture Offsets: + Texture Offsets: + + + + X: + X: + + + + Y: + Y: + + + + + Merge Sprite + Merge Sprite + + + + + Align Sprite + Align Sprite + + + + Deinterlacing: + Deinterlacing: + + + + No Deinterlacing + No Deinterlacing + + + + Window Resolution (Aspect Corrected) + Window Resolution (Aspect Corrected) + + + + Internal Resolution (Aspect Corrected) + Internal Resolution (Aspect Corrected) + + + + Internal Resolution (No Aspect Correction) + Internal Resolution (No Aspect Correction) + + + + WebP + WebP + + + + Force 32bit + Force 32bit + + + + Sprites Only + Sprites Only + + + + Sprites/Triangles + Sprites/Triangles + + + + Blended Sprites/Triangles + Blended Sprites/Triangles + + + + Auto Flush: + Auto Flush: + + + + Enabled (Sprites Only) + Enabled (Sprites Only) + + + + Enabled (All Primitives) + Enabled (All Primitives) + + + + Texture Inside RT: + Texture Inside RT: + + + + Inside Target + Inside Target + + + + Merge Targets + Merge Targets + + + + + Disable Partial Source Invalidation + Disable Partial Source Invalidation + + + + + Read Targets When Closing + Read Targets When Closing + + + + + Estimate Texture Region + Estimate Texture Region + + + + + Disable Render Fixes + Disable Render Fixes + + + + Align To Native + Align To Native + + + + + Unscaled Palette Texture Draws + Unscaled Palette Texture Draws + + + + Bilinear Dirty Upscale: + Bilinear Dirty Upscale: + + + + Force Bilinear + Force Bilinear + + + + Force Nearest + Force Nearest + + + + Texture Replacement + Texture Replacement + + + + Search Directory + Search Directory + + + + + Browse... + Browse... + + + + + Open... + Open... + + + + + Reset + Reset + + + + PCSX2 will dump and load texture replacements from this directory. + PCSX2 will dump and load texture replacements from this directory. + + + + Options + Options + + + + + Dump Textures + Dump Textures + + + + + Dump Mipmaps + Dump Mipmaps + + + + + Dump FMV Textures + Dump FMV Textures + + + + + Load Textures + Load Textures + + + + + Native (10:7) + Native (10:7) + + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + + + + Native Scaling + Native Scaling + + + + Normal + Normal + + + + Aggressive + Aggressive + + + + + Force Even Sprite Position + Force Even Sprite Position + + + + + Precache Textures + Precache Textures + + + + Post-Processing + Post-Processing + + + + Sharpening/Anti-Aliasing + Sharpening/Anti-Aliasing + + + + Contrast Adaptive Sharpening: + You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx + Contrast Adaptive Sharpening: + + + + + + + None (Default) + None (Default) + + + + Sharpen Only (Internal Resolution) + Sharpen Only (Internal Resolution) + + + + Sharpen and Resize (Display Resolution) + Sharpen and Resize (Display Resolution) + + + + Sharpness: + Sharpness: + + + + + FXAA + FXAA + + + + Filters + Filters + + + + TV Shader: + TV Shader: + + + + Scanline Filter + Scanline Filter + + + + Diagonal Filter + Diagonal Filter + + + + Triangular Filter + Triangular Filter + + + + Wave Filter + Wave Filter + + + + Lottes CRT + Lottes = Timothy Lottes, the creator of the shader filter. Leave as-is. CRT= Cathode Ray Tube, an old type of television technology. + Lottes CRT + + + + 4xRGSS downsampling (4x Rotated Grid SuperSampling) + 4xRGSS downsampling (4x Rotated Grid SuperSampling) + + + + NxAGSS downsampling (Nx Automatic Grid SuperSampling) + NxAGSS downsampling (Nx Automatic Grid SuperSampling) + + + + + Shade Boost + Shade Boost + + + + Brightness: + Brightness: + + + + Contrast: + Contrast: + + + + Saturation + Saturation + + + + OSD + OSD + + + + On-Screen Display + On-Screen Display + + + + OSD Scale: + OSD Scale: + + + + + Show Indicators + Show Indicators + + + + + Show Resolution + Show Resolution + + + + + Show Inputs + Show Inputs + + + + + Show GPU Usage + Show GPU Usage + + + + + Show Settings + Show Settings + + + + + Show FPS + Show FPS + + + + + Disable Mailbox Presentation + Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. + Disable Mailbox Presentation + + + + + Extended Upscaling Multipliers + Extended Upscaling Multipliers + + + + Disable Shader Cache + Disable Shader Cache + + + + Disable Vertex Shader Expand + Disable Vertex Shader Expand + + + + + Show Statistics + Show Statistics + + + + + Asynchronous Texture Loading + Asynchronous Texture Loading + + + + Saturation: + Saturation: + + + + + Show CPU Usage + Show CPU Usage + + + + + Warn About Unsafe Settings + Warn About Unsafe Settings + + + + Recording + Recording + + + + Video Dumping Directory + Video Dumping Directory + + + + Capture Setup + Capture Setup + + + + OSD Messages Position: + OSD Messages Position: + + + + + Left (Default) + Left (Default) + + + + OSD Performance Position: + OSD Performance Position: + + + + + Right (Default) + Right (Default) + + + + + Show Frame Times + Show Frame Times + + + + + Show PCSX2 Version + Show PCSX2 Version + + + + + Show Hardware Info + Show Hardware Info + + + + + Show Input Recording Status + Show Input Recording Status + + + + + Show Video Capture Status + Show Video Capture Status + + + + + Show VPS + Show VPS + + + + capture + capture + + + + Container: + Container: + + + + + Codec: + Codec: + + + + + Extra Arguments + Extra Arguments + + + + Capture Audio + Capture Audio + + + + Format: + Format: + + + + Resolution: + Resolution: + + + + x + x + + + + Auto + Auto + + + + Capture Video + Capture Video + + + + Advanced + Advanced here refers to the advanced graphics options. + Advanced + + + + Advanced Options + Advanced Options + + + + Hardware Download Mode: + Hardware Download Mode: + + + + Accurate (Recommended) + Accurate (Recommended) + + + + Disable Readbacks (Synchronize GS Thread) + Disable Readbacks (Synchronize GS Thread) + + + + Unsynchronized (Non-Deterministic) + Unsynchronized (Non-Deterministic) + + + + Disabled (Ignore Transfers) + Disabled (Ignore Transfers) + + + + GS Dump Compression: + GS Dump Compression: + + + + Uncompressed + Uncompressed + + + + LZMA (xz) + LZMA (xz) + + + + + Zstandard (zst) + Zstandard (zst) + + + + + Skip Presenting Duplicate Frames + Skip Presenting Duplicate Frames + + + + + Use Blit Swap Chain + Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. +---------- +Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit +Swap chain: see Microsoft's Terminology Portal. + Use Blit Swap Chain + + + + + Bitrate: + Bitrate: + + + + + kbps + Unit that will appear next to a number. Alter the space or whatever is needed before the text depending on your language. + kbps + + + + Allow Exclusive Fullscreen: + Allow Exclusive Fullscreen: + + + + Disallowed + Disallowed + + + + Allowed + Allowed + + + + Debugging Options + Debugging Options + + + + Override Texture Barriers: + Override Texture Barriers: + + + + Use Debug Device + Use Debug Device + + + + + Show Speed Percentages + Show Speed Percentages + + + + Disable Framebuffer Fetch + Disable Framebuffer Fetch + + + + Direct3D 11 + Graphics backend/engine type. Leave as-is. + Direct3D 11 + + + + Direct3D 12 + Graphics backend/engine type. Leave as-is. + Direct3D 12 + + + + OpenGL + Graphics backend/engine type. Leave as-is. + OpenGL + + + + Vulkan + Graphics backend/engine type. Leave as-is. + Vulkan + + + + Metal + Graphics backend/engine type. Leave as-is. + Metal + + + + Software + Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. + Software + + + + Null + Null here means that this is a graphics backend that will show nothing. + Null + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unchecked + Unchecked + + + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Automatically loads and applies widescreen patches on game start. Can cause issues. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. + + + + Disables interlacing offset which may reduce blurring in some situations. + Disables interlacing offset which may reduce blurring in some situations. + + + + Bilinear Filtering + Bilinear Filtering + + + + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. + + + + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. + PCRTC: Programmable CRT (Cathode Ray Tube) Controller. + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. + + + + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + + + + FMV Aspect Ratio Override + FMV Aspect Ratio Override + + + + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. + + + + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. + + + + Software Rendering Threads + Software Rendering Threads + + + + CPU Sprite Render Size + CPU Sprite Render Size + + + + Software CLUT Render + Software CLUT Render + + + + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. + + + + This option disables game-specific render fixes. + This option disables game-specific render fixes. + + + + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. + + + + + Framebuffer Conversion + Framebuffer Conversion + + + + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. + + + + + Disabled + Disabled + + + + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. + + + + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. + + + + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. + + + + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. + + + + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. + + + + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + + + + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + + + + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. + + + + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. + + + + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + + + + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. + + + + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + + + + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. + Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. + + + + Dumps replaceable textures to disk. Will reduce performance. + Dumps replaceable textures to disk. Will reduce performance. + + + + Includes mipmaps when dumping textures. + Includes mipmaps when dumping textures. + + + + Allows texture dumping when FMVs are active. You should not enable this. + Allows texture dumping when FMVs are active. You should not enable this. + + + + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + + + + Loads replacement textures where available and user-provided. + Loads replacement textures where available and user-provided. + + + + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + + + + Enables FidelityFX Contrast Adaptive Sharpening. + Enables FidelityFX Contrast Adaptive Sharpening. + + + + Determines the intensity the sharpening effect in CAS post-processing. + Determines the intensity the sharpening effect in CAS post-processing. + + + + Adjusts brightness. 50 is normal. + Adjusts brightness. 50 is normal. + + + + Adjusts contrast. 50 is normal. + Adjusts contrast. 50 is normal. + + + + Adjusts saturation. 50 is normal. + Adjusts saturation. 50 is normal. + + + + Scales the size of the onscreen OSD from 50% to 500%. + Scales the size of the onscreen OSD from 50% to 500%. + + + + OSD Messages Position + OSD Messages Position + + + + OSD Statistics Position + OSD Statistics Position + + + + Shows a variety of on-screen performance data points as selected by the user. + Shows a variety of on-screen performance data points as selected by the user. + + + + Shows the vsync rate of the emulator in the top-right corner of the display. + Shows the vsync rate of the emulator in the top-right corner of the display. + + + + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. + + + + Displays various settings and the current values of those settings, useful for debugging. + Displays various settings and the current values of those settings, useful for debugging. + + + + Displays a graph showing the average frametimes. + Displays a graph showing the average frametimes. + + + + Shows the current system hardware information on the OSD. + Shows the current system hardware information on the OSD. + + + + Video Codec + Video Codec + + + + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + + + + Video Format + Video Format + + + + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> + + + + Video Bitrate + Video Bitrate + + + + 6000 kbps + 6000 kbps + + + + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. + + + + Automatic Resolution + Automatic Resolution + + + + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> + + + + Enable Extra Video Arguments + Enable Extra Video Arguments + + + + Allows you to pass arguments to the selected video codec. + Allows you to pass arguments to the selected video codec. + + + + Extra Video Arguments + Extra Video Arguments + + + + Audio Codec + Audio Codec + + + + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + + + + Audio Bitrate + Audio Bitrate + + + + Enable Extra Audio Arguments + Enable Extra Audio Arguments + + + + Allows you to pass arguments to the selected audio codec. + Allows you to pass arguments to the selected audio codec. + + + + Extra Audio Arguments + Extra Audio Arguments + + + + Allow Exclusive Fullscreen + Allow Exclusive Fullscreen + + + + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. + + + + 1.25x Native (~450px) + 1.25x Native (~450px) + + + + 1.5x Native (~540px) + 1.5x Native (~540px) + + + + 1.75x Native (~630px) + 1.75x Native (~630px) + + + + 2x Native (~720px/HD) + 2x Native (~720px/HD) + + + + 2.5x Native (~900px/HD+) + 2.5x Native (~900px/HD+) + + + + 3x Native (~1080px/FHD) + 3x Native (~1080px/FHD) + + + + 3.5x Native (~1260px) + 3.5x Native (~1260px) + + + + 4x Native (~1440px/QHD) + 4x Native (~1440px/QHD) + + + + 5x Native (~1800px/QHD+) + 5x Native (~1800px/QHD+) + + + + 6x Native (~2160px/4K UHD) + 6x Native (~2160px/4K UHD) + + + + 7x Native (~2520px) + 7x Native (~2520px) + + + + 8x Native (~2880px/5K UHD) + 8x Native (~2880px/5K UHD) + + + + 9x Native (~3240px) + 9x Native (~3240px) + + + + 10x Native (~3600px/6K UHD) + 10x Native (~3600px/6K UHD) + + + + 11x Native (~3960px) + 11x Native (~3960px) + + + + 12x Native (~4320px/8K UHD) + 12x Native (~4320px/8K UHD) + + + + 13x Native (~4680px) + 13x Native (~4680px) + + + + 14x Native (~5040px) + 14x Native (~5040px) + + + + 15x Native (~5400px) + 15x Native (~5400px) + + + + 16x Native (~5760px) + 16x Native (~5760px) + + + + 17x Native (~6120px) + 17x Native (~6120px) + + + + 18x Native (~6480px/12K UHD) + 18x Native (~6480px/12K UHD) + + + + 19x Native (~6840px) + 19x Native (~6840px) + + + + 20x Native (~7200px) + 20x Native (~7200px) + + + + 21x Native (~7560px) + 21x Native (~7560px) + + + + 22x Native (~7920px) + 22x Native (~7920px) + + + + 23x Native (~8280px) + 23x Native (~8280px) + + + + 24x Native (~8640px/16K UHD) + 24x Native (~8640px/16K UHD) + + + + 25x Native (~9000px) + 25x Native (~9000px) + + + + + %1x Native + %1x Native + + + + + + + + + + + + Checked + Checked + + + + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + + + + + Integer Scaling + Integer Scaling + + + + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + + + + Aspect Ratio + Aspect Ratio + + + + Auto Standard (4:3/3:2 Progressive) + Auto Standard (4:3/3:2 Progressive) + + + + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. + + + + Deinterlacing + Deinterlacing + + + + Screenshot Size + Screenshot Size + + + + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. + + + + Screenshot Format + Screenshot Format + + + + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. + + + + Screenshot Quality + Screenshot Quality + + + + + 50% + 50% + + + + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. + + + + + 100% + 100% + + + + Vertical Stretch + Vertical Stretch + + + + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. + + + + Fullscreen Mode + Fullscreen Mode + + + + + + Borderless Fullscreen + Borderless Fullscreen + + + + Chooses the fullscreen resolution and frequency. + Chooses the fullscreen resolution and frequency. + + + + + Left + Left + + + + + + + 0px + 0px + + + + Changes the number of pixels cropped from the left side of the display. + Changes the number of pixels cropped from the left side of the display. + + + + Top + Top + + + + Changes the number of pixels cropped from the top of the display. + Changes the number of pixels cropped from the top of the display. + + + + + Right + Right + + + + Changes the number of pixels cropped from the right side of the display. + Changes the number of pixels cropped from the right side of the display. + + + + Bottom + Bottom + + + + Changes the number of pixels cropped from the bottom of the display. + Changes the number of pixels cropped from the bottom of the display. + + + + + Native (PS2) (Default) + Native (PS2) (Default) + + + + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. + + + + Texture Filtering + Texture Filtering + + + + Trilinear Filtering + Trilinear Filtering + + + + Anisotropic Filtering + Anisotropic Filtering + + + + Reduces texture aliasing at extreme viewing angles. + Reduces texture aliasing at extreme viewing angles. + + + + Dithering + Dithering + + + + Blending Accuracy + Blending Accuracy + + + + Texture Preloading + Texture Preloading + + + + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. + + + + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + + + + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. + + + + 2 threads + 2 threads + + + + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. + + + + Enables mipmapping, which some games require to render correctly. + Enables mipmapping, which some games require to render correctly. + + + + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. + + + + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. + + + + GPU Target CLUT + GPU Target CLUT + + + + Skipdraw Range Start + Skipdraw Range Start + + + + + + + 0 + 0 + + + + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. + + + + Skipdraw Range End + Skipdraw Range End + + + + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. + + + + Uploads GS data when rendering a new frame to reproduce some effects accurately. + Uploads GS data when rendering a new frame to reproduce some effects accurately. + + + + Half Pixel Offset + Half Pixel Offset + + + + Might fix some misaligned fog, bloom, or blend effect. + Might fix some misaligned fog, bloom, or blend effect. + + + + Round Sprite + Round Sprite + + + + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. + + + + Texture Offsets X + Texture Offsets X + + + + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. + ST and UV are different types of texture coordinates, like XY would be spatial coordinates. + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. + + + + Texture Offsets Y + Texture Offsets Y + + + + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + Wild Arms: name of a game series. Leave as-is or use an official translation. + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + + + + Bilinear Upscale + Bilinear Upscale + + + + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + + + + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. + + + + Force palette texture draws to render at native resolution. + Force palette texture draws to render at native resolution. + + + + Contrast Adaptive Sharpening + You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx + Contrast Adaptive Sharpening + + + + Sharpness + Sharpness + + + + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. + + + + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. + + + + Brightness + Brightness + + + + + + 50 + 50 + + + + Contrast + Contrast + + + + TV Shader + TV Shader + + + + Applies a shader which replicates the visual effects of different styles of television set. + Applies a shader which replicates the visual effects of different styles of television set. + + + + OSD Scale + OSD Scale + + + + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + + + + Shows the internal frame rate of the game in the top-right corner of the display. + Shows the internal frame rate of the game in the top-right corner of the display. + + + + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + + + + Shows the resolution of the game in the top-right corner of the display. + Shows the resolution of the game in the top-right corner of the display. + + + + Shows host's CPU utilization. + Shows host's CPU utilization. + + + + Shows host's GPU utilization. + Shows host's GPU utilization. + + + + Shows counters for internal graphical utilization, useful for debugging. + Shows counters for internal graphical utilization, useful for debugging. + + + + Shows the current controller state of the system in the bottom-left corner of the display. + Shows the current controller state of the system in the bottom-left corner of the display. + + + + Shows the current PCSX2 version on the top-right corner of the display. + Shows the current PCSX2 version on the top-right corner of the display. + + + + Shows the currently active video capture status. + Shows the currently active video capture status. + + + + Shows the currently active input recording status. + Shows the currently active input recording status. + + + + Displays warnings when settings are enabled which may break games. + Displays warnings when settings are enabled which may break games. + + + + + Leave It Blank + Leave It Blank + + + + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" + + + + Sets the audio bitrate to be used. + Sets the audio bitrate to be used. + + + + 160 kbps + 160 kbps + + + + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" + + + + GS Dump Compression + GS Dump Compression + + + + Change the compression algorithm used when creating a GS dump. + Change the compression algorithm used when creating a GS dump. + + + + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. + Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. + + + + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. + + + + Displays additional, very high upscaling multipliers dependent on GPU capability. + Displays additional, very high upscaling multipliers dependent on GPU capability. + + + + Enable Debug Device + Enable Debug Device + + + + Enables API-level validation of graphics commands. + Enables API-level validation of graphics commands. + + + + GS Download Mode + GS Download Mode + + + + Accurate + Accurate + + + + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. + + + + + + + + Default + This string refers to a default codec, whether it's an audio codec or a video codec. + Default + + + + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + + + + GraphicsSettingsWidget::GraphicsSettingsWidget + + + Default + This string refers to a default pixel format + Default + + + + Hotkeys + + + + + + + + + + + + + + + + Graphics + Graphics + + + + Save Screenshot + Save Screenshot + + + + Toggle Video Capture + Toggle Video Capture + + + + Save Single Frame GS Dump + Save Single Frame GS Dump + + + + Save Multi Frame GS Dump + Save Multi Frame GS Dump + + + + Toggle Software Rendering + Toggle Software Rendering + + + + Increase Upscale Multiplier + Increase Upscale Multiplier + + + + Decrease Upscale Multiplier + Decrease Upscale Multiplier + + + + Toggle On-Screen Display + Toggle On-Screen Display + + + + Cycle Aspect Ratio + Cycle Aspect Ratio + + + + Aspect ratio set to '{}'. + Aspect ratio set to '{}'. + + + + Toggle Hardware Mipmapping + Toggle Hardware Mipmapping + + + + Hardware mipmapping is now enabled. + Hardware mipmapping is now enabled. + + + + Hardware mipmapping is now disabled. + Hardware mipmapping is now disabled. + + + + Cycle Deinterlace Mode + Cycle Deinterlace Mode + + + + Automatic + Automatic + + + + Off + Off + + + + Weave (Top Field First) + Weave (Top Field First) + + + + Weave (Bottom Field First) + Weave (Bottom Field First) + + + + Bob (Top Field First) + Bob (Top Field First) + + + + Bob (Bottom Field First) + Bob (Bottom Field First) + + + + Blend (Top Field First) + Blend (Top Field First) + + + + Blend (Bottom Field First) + Blend (Bottom Field First) + + + + Adaptive (Top Field First) + Adaptive (Top Field First) + + + + Adaptive (Bottom Field First) + Adaptive (Bottom Field First) + + + + Deinterlace mode set to '{}'. + Deinterlace mode set to '{}'. + + + + Toggle Texture Dumping + Toggle Texture Dumping + + + + Texture dumping is now enabled. + Texture dumping is now enabled. + + + + Texture dumping is now disabled. + Texture dumping is now disabled. + + + + Toggle Texture Replacements + Toggle Texture Replacements + + + + Texture replacements are now enabled. + Texture replacements are now enabled. + + + + Texture replacements are now disabled. + Texture replacements are now disabled. + + + + Reload Texture Replacements + Reload Texture Replacements + + + + Texture replacements are not enabled. + Texture replacements are not enabled. + + + + Reloading texture replacements... + Reloading texture replacements... + + + + Target speed set to {:.0f}%. + Target speed set to {:.0f}%. + + + + Volume: Muted + Volume: Muted + + + + Volume: {}% + Volume: {}% + + + + No save state found in slot {}. + No save state found in slot {}. + + + + + + + + + + + + + + + + + + + + + System + System + + + + Open Pause Menu + Open Pause Menu + + + + Open Achievements List + Open Achievements List + + + + Open Leaderboards List + Open Leaderboards List + + + + Toggle Pause + Toggle Pause + + + + Toggle Fullscreen + Toggle Fullscreen + + + + Toggle Frame Limit + Toggle Frame Limit + + + + Toggle Turbo / Fast Forward + Toggle Turbo / Fast Forward + + + + Toggle Slow Motion + Toggle Slow Motion + + + + Turbo / Fast Forward (Hold) + Turbo / Fast Forward (Hold) + + + + Increase Target Speed + Increase Target Speed + + + + Decrease Target Speed + Decrease Target Speed + + + + Increase Volume + Increase Volume + + + + Decrease Volume + Decrease Volume + + + + Toggle Mute + Toggle Mute + + + + Frame Advance + Frame Advance + + + + Shut Down Virtual Machine + Shut Down Virtual Machine + + + + Reset Virtual Machine + Reset Virtual Machine + + + + Toggle Input Recording Mode + Toggle Input Recording Mode + + + + + + + + + Save States + Save States + + + + Select Previous Save Slot + Select Previous Save Slot + + + + Select Next Save Slot + Select Next Save Slot + + + + Save State To Selected Slot + Save State To Selected Slot + + + + Load State From Selected Slot + Load State From Selected Slot + + + + Save State and Select Next Slot + Save State and Select Next Slot + + + + Select Next Slot and Save State + Select Next Slot and Save State + + + + Save State To Slot 1 + Save State To Slot 1 + + + + Load State From Slot 1 + Load State From Slot 1 + + + + Save State To Slot 2 + Save State To Slot 2 + + + + Load State From Slot 2 + Load State From Slot 2 + + + + Save State To Slot 3 + Save State To Slot 3 + + + + Load State From Slot 3 + Load State From Slot 3 + + + + Save State To Slot 4 + Save State To Slot 4 + + + + Load State From Slot 4 + Load State From Slot 4 + + + + Save State To Slot 5 + Save State To Slot 5 + + + + Load State From Slot 5 + Load State From Slot 5 + + + + Save State To Slot 6 + Save State To Slot 6 + + + + Load State From Slot 6 + Load State From Slot 6 + + + + Save State To Slot 7 + Save State To Slot 7 + + + + Load State From Slot 7 + Load State From Slot 7 + + + + Save State To Slot 8 + Save State To Slot 8 + + + + Load State From Slot 8 + Load State From Slot 8 + + + + Save State To Slot 9 + Save State To Slot 9 + + + + Load State From Slot 9 + Load State From Slot 9 + + + + Save State To Slot 10 + Save State To Slot 10 + + + + Load State From Slot 10 + Load State From Slot 10 + + + + Save slot {0} selected ({1}). + Save slot {0} selected ({1}). + + + + ImGuiOverlays + + + {} Recording Input + {} Recording Input + + + + {} Replaying + {} Replaying + + + + Input Recording Active: {} + Input Recording Active: {} + + + + Frame: {}/{} ({}) + Frame: {}/{} ({}) + + + + Undo Count: {} + Undo Count: {} + + + + Saved at {0:%H:%M} on {0:%a} {0:%Y/%m/%d}. + Saved at {0:%H:%M} on {0:%a} {0:%Y/%m/%d}. + + + + Save state selector is unavailable without a valid game serial. + Save state selector is unavailable without a valid game serial. + + + + Load + Load + + + + Save + Save + + + + Select Previous + Select Previous + + + + Select Next + Select Next + + + + Close Menu + Close Menu + + + + + Save Slot {0} + Save Slot {0} + + + + No save present in this slot. + No save present in this slot. + + + + no save yet + no save yet + + + + InputBindingDialog + + + Edit Bindings + Edit Bindings + + + + Bindings for Controller0/ButtonCircle + Bindings for Controller0/ButtonCircle + + + + Sensitivity: + Sensitivity: + + + + + 100% + 100% + + + + Deadzone: + Deadzone: + + + + Add Binding + Add Binding + + + + Remove Binding + Remove Binding + + + + Clear Bindings + Clear Bindings + + + + Bindings for %1 %2 + Bindings for %1 %2 + + + + Close + Close + + + + + Push Button/Axis... [%1] + Push Button/Axis... [%1] + + + + + %1% + %1% + + + + InputBindingWidget + + + + +Left click to assign a new button +Shift + left click for additional bindings + + +Left click to assign a new button +Shift + left click for additional bindings + + + + +Right click to clear binding + +Right click to clear binding + + + + No bindings registered + No bindings registered + + + + %n bindings + + %n bindings + %n bindings + + + + + + Push Button/Axis... [%1] + Push Button/Axis... [%1] + + + + InputRecording + + + Started new input recording + Started new input recording + + + + Savestate load failed for input recording + Savestate load failed for input recording + + + + Savestate load failed for input recording, unsupported version? + Savestate load failed for input recording, unsupported version? + + + + Replaying input recording + Replaying input recording + + + + Input recording stopped + Input recording stopped + + + + Unable to stop input recording + Unable to stop input recording + + + + Congratulations, you've been playing for far too long and thus have reached the limit of input recording! Stopping recording now... + Congratulations, you've been playing for far too long and thus have reached the limit of input recording! Stopping recording now... + + + + InputRecordingControls + + + + + Record Mode Enabled + Record Mode Enabled + + + + Replay Mode Enabled + Replay Mode Enabled + + + + InputRecordingViewer + + + Input Recording Viewer + Input Recording Viewer + + + + File + File + + + + Edit + Edit + + + + View + View + + + + Open + Open + + + + Close + Close + + + + %1 %2 + %1 %2 + + + + %1 + %1 + + + + %1 [%2] + %1 [%2] + + + + Left Analog + Left Analog + + + + Right Analog + Right Analog + + + + Cross + Cross + + + + Square + Square + + + + Triangle + Triangle + + + + Circle + Circle + + + + L1 + L1 + + + + R1 + R1 + + + + L2 + L2 + + + + R2 + R2 + + + + D-Pad Down + D-Pad Down + + + + L3 + L3 + + + + R3 + R3 + + + + Select + Select + + + + Start + Start + + + + D-Pad Right + D-Pad Right + + + + D-Pad Up + D-Pad Up + + + + D-Pad Left + D-Pad Left + + + + Input Recording Files (*.p2m2) + Input Recording Files (*.p2m2) + + + + Opening Recording Failed + Opening Recording Failed + + + + Failed to open file: %1 + Failed to open file: %1 + + + + InputVibrationBindingWidget + + + Error + Error + + + + No devices with vibration motors were detected. + No devices with vibration motors were detected. + + + + Select vibration motor for %1. + Select vibration motor for %1. + + + + InterfaceSettingsWidget + + + Behaviour + Behaviour + + + + + Pause On Focus Loss + Pause On Focus Loss + + + + + Inhibit Screensaver + Inhibit Screensaver + + + + + Pause On Start + Pause On Start + + + + + Confirm Shutdown + Confirm Shutdown + + + + + Enable Discord Presence + Enable Discord Presence + + + + + Pause On Controller Disconnection + Pause On Controller Disconnection + + + + Game Display + Game Display + + + + + Start Fullscreen + Start Fullscreen + + + + + Double-Click Toggles Fullscreen + Double-Click Toggles Fullscreen + + + + + Render To Separate Window + Render To Separate Window + + + + + Hide Main Window When Running + Hide Main Window When Running + + + + + Disable Window Resizing + Disable Window Resizing + + + + + Hide Cursor In Fullscreen + Hide Cursor In Fullscreen + + + + Preferences + Preferences + + + + Language: + Language: + + + + Theme: + Theme: + + + + Automatic Updater + Automatic Updater + + + + Update Channel: + Update Channel: + + + + Current Version: + Current Version: + + + + + Enable Automatic Update Check + Enable Automatic Update Check + + + + Check for Updates... + Check for Updates... + + + + Native + Native + + + + Classic Windows + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Classic Windows + + + + Dark Fusion (Gray) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Dark Fusion (Gray) [Dark] + + + + Dark Fusion (Blue) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Dark Fusion (Blue) [Dark] + + + + Grey Matter (Gray) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Grey Matter (Gray) [Dark] + + + + Untouched Lagoon (Grayish Green/-Blue ) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Untouched Lagoon (Grayish Green/-Blue ) [Light] + + + + Baby Pastel (Pink) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Baby Pastel (Pink) [Light] + + + + Pizza Time! (Brown-ish/Creamy White) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Pizza Time! (Brown-ish/Creamy White) [Light] + + + + PCSX2 (White/Blue) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + PCSX2 (White/Blue) [Light] + + + + Scarlet Devil (Red/Purple) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Scarlet Devil (Red/Purple) [Dark] + + + + Violet Angel (Blue/Purple) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Violet Angel (Blue/Purple) [Dark] + + + + Cobalt Sky (Blue) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Cobalt Sky (Blue) [Dark] + + + + Ruby (Black/Red) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Ruby (Black/Red) [Dark] + + + + Sapphire (Black/Blue) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Sapphire (Black/Blue) [Dark] + + + + Emerald (Black/Green) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Emerald (Black/Green) [Dark] + + + + Custom.qss [Drop in PCSX2 Folder] + "Custom.qss" must be kept as-is. + Custom.qss [Drop in PCSX2 Folder] + + + + + + + Checked + Checked + + + + Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. + Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. + + + + %1 (%2) + Variable %1 shows the version number and variable %2 shows a timestamp. + %1 (%2) + + + + Prevents the screen saver from activating and the host from sleeping while emulation is running. + Prevents the screen saver from activating and the host from sleeping while emulation is running. + + + + Determines whether a prompt will be displayed to confirm shutting down the virtual machine when the hotkey is pressed. + Determines whether a prompt will be displayed to confirm shutting down the virtual machine when the hotkey is pressed. + + + + Pauses the emulator when a controller with bindings is disconnected. + Pauses the emulator when a controller with bindings is disconnected. + + + + Allows switching in and out of fullscreen mode by double-clicking the game window. + Allows switching in and out of fullscreen mode by double-clicking the game window. + + + + Prevents the main window from being resized. + Prevents the main window from being resized. + + + + + + + + + + + + Unchecked + Unchecked + + + + Fusion [Light/Dark] + Fusion [Light/Dark] + + + + Pauses the emulator when a game is started. + Pauses the emulator when a game is started. + + + + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + + + + Automatically switches to fullscreen mode when a game is started. + Automatically switches to fullscreen mode when a game is started. + + + + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + + + + Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. + Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. + + + + Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. + Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. + + + + Shows the game you are currently playing as part of your profile in Discord. + Shows the game you are currently playing as part of your profile in Discord. + + + + System Language [Default] + System Language [Default] + + + + LogWindow + + + Log Window - %1 [%2] + Log Window - %1 [%2] + + + + Log Window + Log Window + + + + &Clear + &Clear + + + + &Save... + &Save... + + + + Cl&ose + Cl&ose + + + + &Settings + &Settings + + + + Log To &System Console + Log To &System Console + + + + Log To &Debug Console + Log To &Debug Console + + + + Log To &File + Log To &File + + + + Attach To &Main Window + Attach To &Main Window + + + + Show &Timestamps + Show &Timestamps + + + + Select Log File + Select Log File + + + + Log Files (*.txt) + Log Files (*.txt) + + + + Error + Error + + + + Failed to open file for writing. + Failed to open file for writing. + + + + Log was written to %1. + + Log was written to %1. + + + + + MAC_APPLICATION_MENU + + + Services + Services + + + + Hide %1 + Hide %1 + + + + Hide Others + Hide Others + + + + Show All + Show All + + + + Preferences... + Preferences... + + + + Quit %1 + Quit %1 + + + + About %1 + About %1 + + + + MainWindow + + + PCSX2 + PCSX2 + + + + &System + &System + + + + + Change Disc + Change Disc + + + + Load State + Load State + + + + S&ettings + S&ettings + + + + &Help + &Help + + + + &Debug + &Debug + + + + &View + &View + + + + &Window Size + &Window Size + + + + &Tools + &Tools + + + + Toolbar + Toolbar + + + + Start &File... + Start &File... + + + + Start &BIOS + Start &BIOS + + + + &Scan For New Games + &Scan For New Games + + + + &Rescan All Games + &Rescan All Games + + + + Shut &Down + Shut &Down + + + + Shut Down &Without Saving + Shut Down &Without Saving + + + + &Reset + &Reset + + + + &Pause + &Pause + + + + E&xit + E&xit + + + + &BIOS + &BIOS + + + + &Controllers + &Controllers + + + + &Hotkeys + &Hotkeys + + + + &Graphics + &Graphics + + + + &Post-Processing Settings... + &Post-Processing Settings... + + + + Resolution Scale + Resolution Scale + + + + &GitHub Repository... + &GitHub Repository... + + + + Support &Forums... + Support &Forums... + + + + &Discord Server... + &Discord Server... + + + + Check for &Updates... + Check for &Updates... + + + + About &Qt... + About &Qt... + + + + &About PCSX2... + &About PCSX2... + + + + Fullscreen + In Toolbar + Fullscreen + + + + Change Disc... + In Toolbar + Change Disc... + + + + &Audio + &Audio + + + + Global State + Global State + + + + &Screenshot + &Screenshot + + + + Start File + In Toolbar + Start File + + + + &Change Disc + &Change Disc + + + + &Load State + &Load State + + + + Sa&ve State + Sa&ve State + + + + Setti&ngs + Setti&ngs + + + + &Switch Renderer + &Switch Renderer + + + + &Input Recording + &Input Recording + + + + Start D&isc... + Start D&isc... + + + + Start Disc + In Toolbar + Start Disc + + + + Start BIOS + In Toolbar + Start BIOS + + + + Shut Down + In Toolbar + Shut Down + + + + Reset + In Toolbar + Reset + + + + Pause + In Toolbar + Pause + + + + Load State + In Toolbar + Load State + + + + Save State + In Toolbar + Save State + + + + &Emulation + &Emulation + + + + Controllers + In Toolbar + Controllers + + + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + + Settings + In Toolbar + Settings + + + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + + Screenshot + In Toolbar + Screenshot + + + + &Memory Cards + &Memory Cards + + + + &Network && HDD + &Network && HDD + + + + &Folders + &Folders + + + + &Toolbar + &Toolbar + + + + Show Titl&es (Grid View) + Show Titl&es (Grid View) + + + + &Open Data Directory... + &Open Data Directory... + + + + &Toggle Software Rendering + &Toggle Software Rendering + + + + &Open Debugger + &Open Debugger + + + + &Reload Cheats/Patches + &Reload Cheats/Patches + + + + E&nable System Console + E&nable System Console + + + + Enable &Debug Console + Enable &Debug Console + + + + Enable &Log Window + Enable &Log Window + + + + Enable &Verbose Logging + Enable &Verbose Logging + + + + Enable EE Console &Logging + Enable EE Console &Logging + + + + Enable &IOP Console Logging + Enable &IOP Console Logging + + + + Save Single Frame &GS Dump + Save Single Frame &GS Dump + + + + &New + This section refers to the Input Recording submenu. + &New + + + + &Play + This section refers to the Input Recording submenu. + &Play + + + + &Stop + This section refers to the Input Recording submenu. + &Stop + + + + &Controller Logs + &Controller Logs + + + + &Input Recording Logs + &Input Recording Logs + + + + Enable &CDVD Read Logging + Enable &CDVD Read Logging + + + + Save CDVD &Block Dump + Save CDVD &Block Dump + + + + &Enable Log Timestamps + &Enable Log Timestamps + + + + Start Big Picture &Mode + Start Big Picture &Mode + + + + &Cover Downloader... + &Cover Downloader... + + + + &Show Advanced Settings + &Show Advanced Settings + + + + &Recording Viewer + &Recording Viewer + + + + &Video Capture + &Video Capture + + + + &Edit Cheats... + &Edit Cheats... + + + + Edit &Patches... + Edit &Patches... + + + + &Status Bar + &Status Bar + + + + + Game &List + Game &List + + + + Loc&k Toolbar + Loc&k Toolbar + + + + &Verbose Status + &Verbose Status + + + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties + + + + Game &Grid + Game &Grid + + + + Zoom &In (Grid View) + Zoom &In (Grid View) + + + + Ctrl++ + Ctrl++ + + + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + + Start Big Picture Mode + Start Big Picture Mode + + + + + Big Picture + In Toolbar + Big Picture + + + + Show Advanced Settings + Show Advanced Settings + + + + Video Capture + Video Capture + + + + Internal Resolution + Internal Resolution + + + + %1x Scale + %1x Scale + + + + Select location to save block dump: + Select location to save block dump: + + + + Do not show again + Do not show again + + + + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. + +The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. + +Are you sure you want to continue? + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. + +The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. + +Are you sure you want to continue? + + + + %1 Files (*.%2) + %1 Files (*.%2) + + + + WARNING: Memory Card Busy + WARNING: Memory Card Busy + + + + Confirm Shutdown + Confirm Shutdown + + + + Are you sure you want to shut down the virtual machine? + Are you sure you want to shut down the virtual machine? + + + + Save State For Resume + Save State For Resume + + + + + + + + + Error + Error + + + + You must select a disc to change discs. + You must select a disc to change discs. + + + + Properties... + Properties... + + + + Set Cover Image... + Set Cover Image... + + + + Exclude From List + Exclude From List + + + + Reset Play Time + Reset Play Time + + + + Check Wiki Page + Check Wiki Page + + + + Default Boot + Default Boot + + + + Fast Boot + Fast Boot + + + + Full Boot + Full Boot + + + + Boot and Debug + Boot and Debug + + + + Add Search Directory... + Add Search Directory... + + + + Start File + Start File + + + + Start Disc + Start Disc + + + + Select Disc Image + Select Disc Image + + + + Updater Error + Updater Error + + + + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> + + + + Automatic updating is not supported on the current platform. + Automatic updating is not supported on the current platform. + + + + Confirm File Creation + Confirm File Creation + + + + The pnach file '%1' does not currently exist. Do you want to create it? + The pnach file '%1' does not currently exist. Do you want to create it? + + + + Failed to create '%1'. + Failed to create '%1'. + + + + Theme Change + Theme Change + + + + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? + + + + Input Recording Failed + Input Recording Failed + + + + Failed to create file: {} + Failed to create file: {} + + + + Input Recording Files (*.p2m2) + Input Recording Files (*.p2m2) + + + + Input Playback Failed + Input Playback Failed + + + + Failed to open file: {} + Failed to open file: {} + + + + Paused + Paused + + + + Load State Failed + Load State Failed + + + + Cannot load a save state without a running VM. + Cannot load a save state without a running VM. + + + + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? + + + + Cannot change from game to GS dump without shutting down first. + Cannot change from game to GS dump without shutting down first. + + + + Failed to get window info from widget + Failed to get window info from widget + + + + Stop Big Picture Mode + Stop Big Picture Mode + + + + Exit Big Picture + In Toolbar + Exit Big Picture + + + + Game Properties + Game Properties + + + + Game properties is unavailable for the current game. + Game properties is unavailable for the current game. + + + + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + + + + Select disc drive: + Select disc drive: + + + + This save state does not exist. + This save state does not exist. + + + + Select Cover Image + Select Cover Image + + + + Cover Already Exists + Cover Already Exists + + + + A cover image for this game already exists, do you wish to replace it? + A cover image for this game already exists, do you wish to replace it? + + + + + + + Copy Error + Copy Error + + + + Failed to remove existing cover '%1' + Failed to remove existing cover '%1' + + + + Failed to copy '%1' to '%2' + Failed to copy '%1' to '%2' + + + + Failed to remove '%1' + Failed to remove '%1' + + + + + Confirm Reset + Confirm Reset + + + + All Cover Image Types (*.jpg *.jpeg *.png *.webp) + All Cover Image Types (*.jpg *.jpeg *.png *.webp) + + + + You must select a different file to the current cover image. + You must select a different file to the current cover image. + + + + Are you sure you want to reset the play time for '%1'? + +This action cannot be undone. + Are you sure you want to reset the play time for '%1'? + +This action cannot be undone. + + + + Load Resume State + Load Resume State + + + + A resume save state was found for this game, saved at: + +%1. + +Do you want to load this state, or start from a fresh boot? + A resume save state was found for this game, saved at: + +%1. + +Do you want to load this state, or start from a fresh boot? + + + + Fresh Boot + Fresh Boot + + + + Delete And Boot + Delete And Boot + + + + Failed to delete save state file '%1'. + Failed to delete save state file '%1'. + + + + Load State File... + Load State File... + + + + Load From File... + Load From File... + + + + + Select Save State File + Select Save State File + + + + Save States (*.p2s) + Save States (*.p2s) + + + + Delete Save States... + Delete Save States... + + + + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) + + + + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) + + + + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> + + + + Save States (*.p2s *.p2s.backup) + Save States (*.p2s *.p2s.backup) + + + + Undo Load State + Undo Load State + + + + Resume (%2) + Resume (%2) + + + + Load Slot %1 (%2) + Load Slot %1 (%2) + + + + + Delete Save States + Delete Save States + + + + Are you sure you want to delete all save states for %1? + +The saves will not be recoverable. + Are you sure you want to delete all save states for %1? + +The saves will not be recoverable. + + + + %1 save states deleted. + %1 save states deleted. + + + + Save To File... + Save To File... + + + + Empty + Empty + + + + Save Slot %1 (%2) + Save Slot %1 (%2) + + + + Confirm Disc Change + Confirm Disc Change + + + + Do you want to swap discs or boot the new image (via system reset)? + Do you want to swap discs or boot the new image (via system reset)? + + + + Swap Disc + Swap Disc + + + + Reset + Reset + + + + Missing Font File + Missing Font File + + + + The font file '%1' is required for the On-Screen Display and Big Picture Mode to show messages in your language.<br><br>Do you want to download this file now? These files are usually less than 10 megabytes in size.<br><br><strong>If you do not download this file, on-screen messages will not be readable.</strong> + The font file '%1' is required for the On-Screen Display and Big Picture Mode to show messages in your language.<br><br>Do you want to download this file now? These files are usually less than 10 megabytes in size.<br><br><strong>If you do not download this file, on-screen messages will not be readable.</strong> + + + + Downloading Files + Downloading Files + + + + MemoryCard + + + + Memory Card Creation Failed + Memory Card Creation Failed + + + + Could not create the memory card: +{} + Could not create the memory card: +{} + + + + Memory Card Read Failed + Memory Card Read Failed + + + + Unable to access memory card: + +{} + +Another instance of PCSX2 may be using this memory card or the memory card is stored in a write-protected folder. +Close any other instances of PCSX2, or restart your computer. + + Unable to access memory card: + +{} + +Another instance of PCSX2 may be using this memory card or the memory card is stored in a write-protected folder. +Close any other instances of PCSX2, or restart your computer. + + + + + + Memory Card '{}' was saved to storage. + Memory Card '{}' was saved to storage. + + + + Failed to create memory card. The error was: +{} + Failed to create memory card. The error was: +{} + + + + Memory Cards reinserted. + Memory Cards reinserted. + + + + Force ejecting all Memory Cards. Reinserting in 1 second. + Force ejecting all Memory Cards. Reinserting in 1 second. + + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + + + + MemoryCardConvertDialog + + + Convert Memory Card + Convert Memory Card + + + + Conversion Type + Conversion Type + + + + + 8 MB File + 8 MB File + + + + + 16 MB File + 16 MB File + + + + + 32 MB File + 32 MB File + + + + + 64 MB File + 64 MB File + + + + Folder + Folder + + + + <center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center> + <center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center> + + + + Progress + Progress + + + + + + Uses a folder on your PC filesystem, instead of a file. Infinite capacity, while keeping the same compatibility as an 8 MB Memory Card. + Uses a folder on your PC filesystem, instead of a file. Infinite capacity, while keeping the same compatibility as an 8 MB Memory Card. + + + + + A standard, 8 MB Memory Card. Most compatible, but smallest capacity. + A standard, 8 MB Memory Card. Most compatible, but smallest capacity. + + + + + 2x larger than a standard Memory Card. May have some compatibility issues. + 2x larger than a standard Memory Card. May have some compatibility issues. + + + + + 4x larger than a standard Memory Card. Likely to have compatibility issues. + 4x larger than a standard Memory Card. Likely to have compatibility issues. + + + + + 8x larger than a standard Memory Card. Likely to have compatibility issues. + 8x larger than a standard Memory Card. Likely to have compatibility issues. + + + + + + Convert Memory Card Failed + MemoryCardType should be left as-is. + Convert Memory Card Failed + + + + + + Invalid MemoryCardType + Invalid MemoryCardType + + + + Conversion Complete + Conversion Complete + + + + Memory Card "%1" converted to "%2" + Memory Card "%1" converted to "%2" + + + + Your folder Memory Card has too much data inside it to be converted to a file Memory Card. The largest supported file Memory Card has a capacity of 64 MB. To convert your folder Memory Card, you must remove game folders until its size is 64 MB or less. + Your folder Memory Card has too much data inside it to be converted to a file Memory Card. The largest supported file Memory Card has a capacity of 64 MB. To convert your folder Memory Card, you must remove game folders until its size is 64 MB or less. + + + + + Cannot Convert Memory Card + Cannot Convert Memory Card + + + + There was an error when accessing the memory card directory. Error message: %0 + There was an error when accessing the memory card directory. Error message: %0 + + + + MemoryCardCreateDialog + + + + + + + Create Memory Card + Create Memory Card + + + + <html><head/><body><p><span style=" font-weight:700;">Create Memory Card</span><br />Enter the name of the Memory Card you wish to create, and choose a size. We recommend either using 8MB Memory Cards, or folder Memory Cards for best compatibility.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Create Memory Card</span><br />Enter the name of the Memory Card you wish to create, and choose a size. We recommend either using 8MB Memory Cards, or folder Memory Cards for best compatibility.</p></body></html> + + + + Memory Card Name: + Memory Card Name: + + + + 8 MB [Most Compatible] + 8 MB [Most Compatible] + + + + This is the standard Sony-provisioned size, and is supported by all games and BIOS versions. + This is the standard Sony-provisioned size, and is supported by all games and BIOS versions. + + + + 16 MB + 16 MB + + + + + A typical size for third-party Memory Cards which should work with most games. + A typical size for third-party Memory Cards which should work with most games. + + + + 32 MB + 32 MB + + + + 64 MB + 64 MB + + + + Low compatibility warning: yes, it's very big, but may not work with many games. + Low compatibility warning: yes, it's very big, but may not work with many games. + + + + Folder [Recommended] + Folder [Recommended] + + + + Store Memory Card contents in the host filesystem instead of a file. + Store Memory Card contents in the host filesystem instead of a file. + + + + 128 KB (PS1) + 128 KB (PS1) + + + + This is the standard Sony-provisioned size PS1 Memory Card, and only compatible with PS1 games. + This is the standard Sony-provisioned size PS1 Memory Card, and only compatible with PS1 games. + + + + Use NTFS Compression + Use NTFS Compression + + + + NTFS compression is built-in, fast, and completely reliable. Typically compresses Memory Cards (highly recommended). + NTFS compression is built-in, fast, and completely reliable. Typically compresses Memory Cards (highly recommended). + + + + Failed to create the Memory Card, because the name '%1' contains one or more invalid characters. + Failed to create the Memory Card, because the name '%1' contains one or more invalid characters. + + + + Failed to create the Memory Card, because another card with the name '%1' already exists. + Failed to create the Memory Card, because another card with the name '%1' already exists. + + + + Failed to create the Memory Card, the log may contain more information. + Failed to create the Memory Card, the log may contain more information. + + + + Memory Card '%1' created. + Memory Card '%1' created. + + + + MemoryCardListWidget + + + Yes + Yes + + + + No + No + + + + MemoryCardSettingsWidget + + + Memory Card Slots + Memory Card Slots + + + + Memory Cards + Memory Cards + + + + Folder: + Folder: + + + + Browse... + Browse... + + + + Open... + Open... + + + + + Reset + Reset + + + + Name + Name + + + + Type + Type + + + + Formatted + Formatted + + + + Last Modified + Last Modified + + + + Refresh + Refresh + + + + + Create + Create + + + + + Rename + Rename + + + + + Convert + Convert + + + + + Delete + Delete + + + + Settings + Settings + + + + + Automatically manage saves based on running game + Automatically manage saves based on running game + + + + Checked + Checked + + + + (Folder type only / Card size: Auto) Loads only the relevant booted game saves, ignoring others. Avoids running out of space for saves. + (Folder type only / Card size: Auto) Loads only the relevant booted game saves, ignoring others. Avoids running out of space for saves. + + + + Swap Memory Cards + Swap Memory Cards + + + + Eject Memory Card + Eject Memory Card + + + + + Error + Error + + + + + Delete Memory Card + Delete Memory Card + + + + + + + Rename Memory Card + Rename Memory Card + + + + New Card Name + New Card Name + + + + New name is invalid, it must end with .ps2 + New name is invalid, it must end with .ps2 + + + + New name is invalid, a card with this name already exists. + New name is invalid, a card with this name already exists. + + + + Slot %1 + Slot %1 + + + + This Memory Card cannot be recognized or is not a valid file type. + This Memory Card cannot be recognized or is not a valid file type. + + + + Are you sure you wish to delete the Memory Card '%1'? + +This action cannot be reversed, and you will lose any saves on the card. + Are you sure you wish to delete the Memory Card '%1'? + +This action cannot be reversed, and you will lose any saves on the card. + + + + Failed to delete the Memory Card. The log may have more information. + Failed to delete the Memory Card. The log may have more information. + + + + Failed to rename Memory Card. The log may contain more information. + Failed to rename Memory Card. The log may contain more information. + + + + Use for Slot %1 + Use for Slot %1 + + + + Both slots must have a card selected to swap. + Both slots must have a card selected to swap. + + + + PS2 (8MB) + PS2 (8MB) + + + + PS2 (16MB) + PS2 (16MB) + + + + PS2 (32MB) + PS2 (32MB) + + + + PS2 (64MB) + PS2 (64MB) + + + + PS1 (128KB) + PS1 (128KB) + + + + + Unknown + Unknown + + + + PS2 (Folder) + PS2 (Folder) + + + + MemoryCardSlotWidget + + + %1 [%2] + %1 [%2] + + + + %1 [Missing] + Ignore Crowdin's warning for [Missing], the text should be translated. + %1 [Missing] + + + + MemorySearchWidget + + + Value + Value + + + + Type + Type + + + + 1 Byte (8 bits) + 1 Byte (8 bits) + + + + 2 Bytes (16 bits) + 2 Bytes (16 bits) + + + + 4 Bytes (32 bits) + 4 Bytes (32 bits) + + + + 8 Bytes (64 bits) + 8 Bytes (64 bits) + + + + Float + Float + + + + Double + Double + + + + String + String + + + + Array of byte + Array of byte + + + + Hex + Hex + + + + Search + Search + + + + Filter Search + Filter Search + + + + + Equals + Equals + + + + + Not Equals + Not Equals + + + + + Greater Than + Greater Than + + + + + Greater Than Or Equal + Greater Than Or Equal + + + + + Less Than + Less Than + + + + + Less Than Or Equal + Less Than Or Equal + + + + Comparison + Comparison + + + + Start + Start + + + + End + End + + + + Search Results List Context Menu + Search Results List Context Menu + + + + Copy Address + Copy Address + + + + Go to in Disassembly + Go to in Disassembly + + + + Add to Saved Memory Addresses + Add to Saved Memory Addresses + + + + Remove Result + Remove Result + + + + + + + + + Debugger + Debugger + + + + Invalid start address + Invalid start address + + + + Invalid end address + Invalid end address + + + + Start address can't be equal to or greater than the end address + Start address can't be equal to or greater than the end address + + + + Invalid search value + Invalid search value + + + + Value is larger than type + Value is larger than type + + + + This search comparison can only be used with filter searches. + This search comparison can only be used with filter searches. + + + + %0 results found + %0 results found + + + + Searching... + Searching... + + + + Increased + Increased + + + + Increased By + Increased By + + + + Decreased + Decreased + + + + Decreased By + Decreased By + + + + Changed + Changed + + + + Changed By + Changed By + + + + Not Changed + Not Changed + + + + MemoryViewWidget + + + Memory + Memory + + + + Copy Address + Copy Address + + + + Go to in Disassembly + Go to in Disassembly + + + + Go to address + Go to address + + + + Show as Little Endian + Show as Little Endian + + + + Show as 1 byte + Show as 1 byte + + + + Show as 2 bytes + Show as 2 bytes + + + + Show as 4 bytes + Show as 4 bytes + + + + Show as 8 bytes + Show as 8 bytes + + + + Add to Saved Memory Addresses + Add to Saved Memory Addresses + + + + Copy Byte + Copy Byte + + + + Copy Segment + Copy Segment + + + + Copy Character + Copy Character + + + + Paste + Paste + + + + Go To In Memory View + Go To In Memory View + + + + Cannot Go To + Cannot Go To + + + + NewFunctionDialog + + + No existing function found. + No existing function found. + + + + No next symbol found. + No next symbol found. + + + + Size is invalid. + Size is invalid. + + + + Size is not a multiple of 4. + Size is not a multiple of 4. + + + + A function already exists at that address. + A function already exists at that address. + + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Function + Cannot Create Function + + + + NewGlobalVariableDialog + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Global Variable + Cannot Create Global Variable + + + + NewInputRecordingDlg + + + New Input Recording + New Input Recording + + + + Select Recording Type + Select Recording Type + + + + Power On + Indicates that the input recording that is about to be started will be recorded from the moment the emulation boots on/starts. + Power On + + + + Save State + Indicates that the input recording that is about to be started will be recorded when an accompanying save state is saved. + Save State + + + + <html><head/><body><p align="center"><span style=" color:#ff0000;">Be Warned! Making an input recording that starts from a save-state will fail to work on future versions due to save-state versioning.</span></p></body></html> + <html><head/><body><p align="center"><span style=" color:#ff0000;">Be Warned! Making an input recording that starts from a save-state will fail to work on future versions due to save-state versioning.</span></p></body></html> + + + + Select File Path + Select File Path + + + + Browse + Browse + + + + Enter Author Name + Enter Author Name + + + + Input Recording Files (*.p2m2) + Input Recording Files (*.p2m2) + + + + Select a File + Select a File + + + + NewLocalVariableDialog + + + + Invalid function. + Invalid function. + + + + Cannot determine stack frame size of selected function. + Cannot determine stack frame size of selected function. + + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Local Variable + Cannot Create Local Variable + + + + NewParameterVariableDialog + + + + Invalid function. + Invalid function. + + + + Invalid storage type. + Invalid storage type. + + + + Cannot determine stack frame size of selected function. + Cannot determine stack frame size of selected function. + + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Parameter Variable + Cannot Create Parameter Variable + + + + NewSymbolDialog + + + Dialog + Dialog + + + + Name + Name + + + + Address + Address + + + + + Register + Register + + + + Stack Pointer Offset + Stack Pointer Offset + + + + Size + Size + + + + Custom + Custom + + + + Existing Functions + Existing Functions + + + + Shrink to avoid overlaps + Shrink to avoid overlaps + + + + Do not modify + Do not modify + + + + Type + Type + + + + Function + Function + + + + Global + Global + + + + Stack + Stack + + + + Fill existing function (%1 bytes) + Fill existing function (%1 bytes) + + + + Fill existing function (none found) + Fill existing function (none found) + + + + Fill space (%1 bytes) + Fill space (%1 bytes) + + + + Fill space (no next symbol) + Fill space (no next symbol) + + + + Fill existing function + Fill existing function + + + + Fill space + Fill space + + + + Name is empty. + Name is empty. + + + + Address is not valid. + Address is not valid. + + + + Address is not aligned. + Address is not aligned. + + + + Pad + + + + + D-Pad Up + D-Pad Up + + + + + + D-Pad Right + D-Pad Right + + + + + + D-Pad Down + D-Pad Down + + + + + + D-Pad Left + D-Pad Left + + + + + Triangle + Triangle + + + + + Circle + Circle + + + + + Cross + Cross + + + + + Square + Square + + + + + + + Select + Select + + + + + + + + Start + Start + + + + + L1 (Left Bumper) + L1 (Left Bumper) + + + + + L2 (Left Trigger) + L2 (Left Trigger) + + + + + R1 (Right Bumper) + R1 (Right Bumper) + + + + + R2 (Right Trigger) + R2 (Right Trigger) + + + + L3 (Left Stick Button) + L3 (Left Stick Button) + + + + R3 (Right Stick Button) + R3 (Right Stick Button) + + + + Analog Toggle + Analog Toggle + + + + Apply Pressure + Apply Pressure + + + + Left Stick Up + Left Stick Up + + + + Left Stick Right + Left Stick Right + + + + Left Stick Down + Left Stick Down + + + + Left Stick Left + Left Stick Left + + + + Right Stick Up + Right Stick Up + + + + Right Stick Right + Right Stick Right + + + + Right Stick Down + Right Stick Down + + + + Right Stick Left + Right Stick Left + + + + + + Large (Low Frequency) Motor + Large (Low Frequency) Motor + + + + + + Small (High Frequency) Motor + Small (High Frequency) Motor + + + + Not Inverted + Not Inverted + + + + Invert Left/Right + Invert Left/Right + + + + Invert Up/Down + Invert Up/Down + + + + Invert Left/Right + Up/Down + Invert Left/Right + Up/Down + + + + Invert Left Stick + Invert Left Stick + + + + Inverts the direction of the left analog stick. + Inverts the direction of the left analog stick. + + + + Invert Right Stick + Invert Right Stick + + + + Inverts the direction of the right analog stick. + Inverts the direction of the right analog stick. + + + + Analog Deadzone + Analog Deadzone + + + + Sets the analog stick deadzone, i.e. the fraction of the stick movement which will be ignored. + Sets the analog stick deadzone, i.e. the fraction of the stick movement which will be ignored. + + + + + + + + + + + %.0f%% + %.0f%% + + + + Button/Trigger Deadzone + Button/Trigger Deadzone + + + + Sets the deadzone for activating buttons/triggers, i.e. the fraction of the trigger which will be ignored. + Sets the deadzone for activating buttons/triggers, i.e. the fraction of the trigger which will be ignored. + + + + Pressure Modifier Amount + Pressure Modifier Amount + + + + Analog light is now on for port {0} / slot {1} + Analog light is now on for port {0} / slot {1} + + + + Analog light is now off for port {0} / slot {1} + Analog light is now off for port {0} / slot {1} + + + + Analog Sensitivity + Analog Sensitivity + + + + Sets the analog stick axis scaling factor. A value between 130% and 140% is recommended when using recent controllers, e.g. DualShock 4, Xbox One Controller. + Sets the analog stick axis scaling factor. A value between 130% and 140% is recommended when using recent controllers, e.g. DualShock 4, Xbox One Controller. + + + + Large Motor Vibration Scale + Large Motor Vibration Scale + + + + Increases or decreases the intensity of low frequency vibration sent by the game. + Increases or decreases the intensity of low frequency vibration sent by the game. + + + + Small Motor Vibration Scale + Small Motor Vibration Scale + + + + Increases or decreases the intensity of high frequency vibration sent by the game. + Increases or decreases the intensity of high frequency vibration sent by the game. + + + + Sets the pressure when the modifier button is held. + Sets the pressure when the modifier button is held. + + + + Not Connected + Not Connected + + + + DualShock 2 + DualShock 2 + + + + Strum Up + Strum Up + + + + Strum Down + Strum Down + + + + Green Fret + Green Fret + + + + Red Fret + Red Fret + + + + Yellow Fret + Yellow Fret + + + + Blue Fret + Blue Fret + + + + Orange Fret + Orange Fret + + + + Whammy Bar + Whammy Bar + + + + Tilt Up + Tilt Up + + + + Whammy Bar Deadzone + Whammy Bar Deadzone + + + + Sets the whammy bar deadzone. Inputs below this value will not be sent to the PS2. + Sets the whammy bar deadzone. Inputs below this value will not be sent to the PS2. + + + + Whammy Bar Sensitivity + Whammy Bar Sensitivity + + + + Sets the whammy bar axis scaling factor. + Sets the whammy bar axis scaling factor. + + + + Guitar + Guitar + + + + Controller port {0}, slot {1} has a {2} connected, but the save state has a {3}. +Ejecting {3} and replacing it with {2}. + Controller port {0}, slot {1} has a {2} connected, but the save state has a {3}. +Ejecting {3} and replacing it with {2}. + + + + Yellow (Left) + Yellow (Left) + + + + Yellow (Right) + Yellow (Right) + + + + Blue (Left) + Blue (Left) + + + + Blue (Right) + Blue (Right) + + + + White (Left) + White (Left) + + + + White (Right) + White (Right) + + + + Green (Left) + Green (Left) + + + + Green (Right) + Green (Right) + + + + Red + Red + + + + Pop'n Music + Pop'n Music + + + + Motor + Motor + + + + Dial (Left) + Dial (Left) + + + + Dial (Right) + Dial (Right) + + + + Dial Deadzone + Dial Deadzone + + + + Sets the dial deadzone. Inputs below this value will not be sent to the PS2. + Sets the dial deadzone. Inputs below this value will not be sent to the PS2. + + + + Dial Sensitivity + Dial Sensitivity + + + + Sets the dial scaling factor. + Sets the dial scaling factor. + + + + Jogcon + Jogcon + + + + B Button + B Button + + + + A Button + A Button + + + + I Button + I Button + + + + II Button + II Button + + + + L (Left Bumper) + L (Left Bumper) + + + + R (Right Bumper) + R (Right Bumper) + + + + Twist (Left) + Twist (Left) + + + + Twist (Right) + Twist (Right) + + + + Twist Deadzone + Twist Deadzone + + + + Sets the twist deadzone. Inputs below this value will not be sent to the PS2. + Sets the twist deadzone. Inputs below this value will not be sent to the PS2. + + + + Twist Sensitivity + Twist Sensitivity + + + + Sets the twist scaling factor. + Sets the twist scaling factor. + + + + Negcon + Negcon + + + + Patch + + + Failed to open {}. Built-in game patches are not available. + Failed to open {}. Built-in game patches are not available. + + + + %n GameDB patches are active. + OSD Message + + %n GameDB patches are active. + %n GameDB patches are active. + + + + + %n game patches are active. + OSD Message + + %n game patches are active. + %n game patches are active. + + + + + %n cheat patches are active. + OSD Message + + %n cheat patches are active. + %n cheat patches are active. + + + + + No cheats or patches (widescreen, compatibility or others) are found / enabled. + No cheats or patches (widescreen, compatibility or others) are found / enabled. + + + + Pcsx2Config + + + Disabled (Noisy) + Disabled (Noisy) + + + + TimeStretch (Recommended) + TimeStretch (Recommended) + + + + PermissionsDialogCamera + + + PCSX2 uses your camera to emulate an EyeToy camera plugged into the virtual PS2. + PCSX2 uses your camera to emulate an EyeToy camera plugged into the virtual PS2. + + + + PermissionsDialogMicrophone + + + PCSX2 uses your microphone to emulate a USB microphone plugged into the virtual PS2. + PCSX2 uses your microphone to emulate a USB microphone plugged into the virtual PS2. + + + + QCoreApplication + + + Invalid array subscript. + Invalid array subscript. + + + + No type name provided. + No type name provided. + + + + Type '%1' not found. + Type '%1' not found. + + + + QObject + + + + HDD Creator + HDD Creator + + + + + Failed to create HDD image + Failed to create HDD image + + + + + Creating HDD file + %1 / %2 MiB + Creating HDD file + %1 / %2 MiB + + + + Cancel + Cancel + + + + QtAsyncProgressThread + + + Error + Error + + + + Question + Question + + + + Information + Information + + + + QtHost + + + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. + + + + + Error + Error + + + + An error occurred while deleting empty game settings: +{} + An error occurred while deleting empty game settings: +{} + + + + An error occurred while saving game settings: +{} + An error occurred while saving game settings: +{} + + + + Controller {} connected. + Controller {} connected. + + + + System paused because controller {} was disconnected. + System paused because controller {} was disconnected. + + + + Controller {} disconnected. + Controller {} disconnected. + + + + Cancel + Cancel + + + + QtModalProgressCallback + + + PCSX2 + PCSX2 + + + + Cancel + Cancel + + + + Error + Error + + + + Question + Question + + + + Information + Information + + + + RegisterWidget + + + Register View + Register View + + + + + View as hex + View as hex + + + + + View as float + View as float + + + + Copy Top Half + Copy Top Half + + + + Copy Bottom Half + Copy Bottom Half + + + + Copy Segment + Copy Segment + + + + Copy Value + Copy Value + + + + Change Top Half + Change Top Half + + + + Change Bottom Half + Change Bottom Half + + + + Change Segment + Change Segment + + + + Change Value + Change Value + + + + Go to in Disassembly + Go to in Disassembly + + + + Go to in Memory View + Go to in Memory View + + + + Change %1 + Changing the value in a CPU register (e.g. "Change t0") + Change %1 + + + + + Invalid register value + Invalid register value + + + + Invalid hexadecimal register value. + Invalid hexadecimal register value. + + + + Invalid floating-point register value. + Invalid floating-point register value. + + + + Invalid target address + Invalid target address + + + + SaveState + + + This save state is outdated and is no longer compatible with the current version of PCSX2. + +If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. + This save state is outdated and is no longer compatible with the current version of PCSX2. + +If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. + + + + SavedAddressesModel + + + MEMORY ADDRESS + MEMORY ADDRESS + + + + LABEL + LABEL + + + + DESCRIPTION + DESCRIPTION + + + + SettingWidgetBinder + + + + + Reset + Reset + + + + + Default: + Default: + + + + Confirm Folder + Confirm Folder + + + + The chosen directory does not currently exist: + +%1 + +Do you want to create this directory? + The chosen directory does not currently exist: + +%1 + +Do you want to create this directory? + + + + Error + Error + + + + Folder path cannot be empty. + Folder path cannot be empty. + + + + Select folder for %1 + Select folder for %1 + + + + SettingsDialog + + + Use Global Setting [Enabled] + THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Enabled]: the text must be translated. + Use Global Setting [Enabled] + + + + Use Global Setting [Disabled] + THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Disabled]: the text must be translated. + Use Global Setting [Disabled] + + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + SettingsWindow + + + + + + PCSX2 Settings + PCSX2 Settings + + + + Restore Defaults + Restore Defaults + + + + Copy Global Settings + Copy Global Settings + + + + Clear Settings + Clear Settings + + + + Close + Close + + + + <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. + <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. + + + + + Summary + Summary + + + + Summary is unavailable for files not present in game list. + Summary is unavailable for files not present in game list. + + + + Interface + Interface + + + + Game List + Game List + + + + <strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate the game list. Search directories can be added, removed, and switched to recursive/non-recursive. + <strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate the game list. Search directories can be added, removed, and switched to recursive/non-recursive. + + + + BIOS + BIOS + + + + Emulation + Emulation + + + + Patches + Patches + + + + <strong>Patches</strong><hr>This section allows you to select optional patches to apply to the game, which may provide performance, visual, or gameplay improvements. + <strong>Patches</strong><hr>This section allows you to select optional patches to apply to the game, which may provide performance, visual, or gameplay improvements. + + + + Cheats + Cheats + + + + <strong>Cheats</strong><hr>This section allows you to select which cheats you wish to enable. You cannot enable/disable cheats without labels for old-format pnach files, those will automatically activate if the main cheat enable option is checked. + <strong>Cheats</strong><hr>This section allows you to select which cheats you wish to enable. You cannot enable/disable cheats without labels for old-format pnach files, those will automatically activate if the main cheat enable option is checked. + + + + Game Fixes + Game Fixes + + + + <strong>Game Fixes Settings</strong><hr>Game Fixes can work around incorrect emulation in some titles.<br>However, they can also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise. + <strong>Game Fixes Settings</strong><hr>Game Fixes can work around incorrect emulation in some titles.<br>However, they can also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise. + + + + Graphics + Graphics + + + + Audio + Audio + + + + Memory Cards + Memory Cards + + + + Network & HDD + Network & HDD + + + + Folders + Folders + + + + <strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files. + <strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files. + + + + Achievements + Achievements + + + + <strong>Achievements Settings</strong><hr>These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games. + <strong>Achievements Settings</strong><hr>These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games. + + + + RAIntegration is being used, built-in RetroAchievements support is disabled. + RAIntegration is being used, built-in RetroAchievements support is disabled. + + + + Advanced + Advanced + + + + Are you sure you want to restore the default settings? Any existing preferences will be lost. + Are you sure you want to restore the default settings? Any existing preferences will be lost. + + + + <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + Debug + Debug + + + + <strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. <strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large amounts of disk space. + <strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. <strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large amounts of disk space. + + + + Confirm Restore Defaults + Confirm Restore Defaults + + + + Reset UI Settings + Reset UI Settings + + + + The configuration for this game will be replaced by the current global settings. + +Any current setting values will be overwritten. + +Do you want to continue? + The configuration for this game will be replaced by the current global settings. + +Any current setting values will be overwritten. + +Do you want to continue? + + + + Per-game configuration copied from global settings. + Per-game configuration copied from global settings. + + + + The configuration for this game will be cleared. + +Any current setting values will be lost. + +Do you want to continue? + The configuration for this game will be cleared. + +Any current setting values will be lost. + +Do you want to continue? + + + + Per-game configuration cleared. + Per-game configuration cleared. + + + + Recommended Value + Recommended Value + + + + SetupWizardDialog + + + PCSX2 Setup Wizard + PCSX2 Setup Wizard + + + + Language + Language + + + + BIOS Image + BIOS Image + + + + Game Directories + Game Directories + + + + Controller Setup + Controller Setup + + + + Complete + Complete + + + + Language: + Language: + + + + Theme: + Theme: + + + + Enable Automatic Updates + Enable Automatic Updates + + + + <html><head/><body><p>PCSX2 requires a PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <strong>from an actual PS2 unit that you own</strong> (borrowing doesn't count).</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct PCSX2 to scan an alternative directory.</p><p>A guide for dumping your BIOS can be found <a href="https://pcsx2.net/docs/setup/bios/">here</a>.</p></body></html> + <html><head/><body><p>PCSX2 requires a PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <strong>from an actual PS2 unit that you own</strong> (borrowing doesn't count).</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct PCSX2 to scan an alternative directory.</p><p>A guide for dumping your BIOS can be found <a href="https://pcsx2.net/docs/setup/bios/">here</a>.</p></body></html> + + + + BIOS Directory: + BIOS Directory: + + + + Browse... + Browse... + + + + Reset + Reset + + + + Filename + Filename + + + + Version + Version + + + + Open BIOS Folder... + Open BIOS Folder... + + + + Refresh List + Refresh List + + + + <html><head/><body><p>PCSX2 will automatically scan and identify games from the selected directories below, and populate the game list.<br>These games should be dumped from discs you own. Guides for dumping discs can be found <a href="https://pcsx2.net/docs/setup/dumping">here</a>.</p><p>Supported formats for dumps include:</p><p><ul><li>.bin/.iso (ISO Disc Images)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Compressed ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip Compressed ISO)</li></ul></p></p></body></html> + <html><head/><body><p>PCSX2 will automatically scan and identify games from the selected directories below, and populate the game list.<br>These games should be dumped from discs you own. Guides for dumping discs can be found <a href="https://pcsx2.net/docs/setup/dumping">here</a>.</p><p>Supported formats for dumps include:</p><p><ul><li>.bin/.iso (ISO Disc Images)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Compressed ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip Compressed ISO)</li></ul></p></p></body></html> + + + + Search Directories (will be scanned for games) + Search Directories (will be scanned for games) + + + + Add... + Add... + + + + + Remove + Remove + + + + Search Directory + Search Directory + + + + Scan Recursively + Scan Recursively + + + + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> + + + + <html><head/><body><p>By default, PCSX2 will map your keyboard to the virtual PS2 controller.</p><p><span style=" font-weight:704;">To use an external controller, you must map it first. </span>On this screen, you can automatically map any controller which is currently connected. If your controller is not currently connected, you can plug it in now.</p><p>To change controller bindings in more detail, or use multi-tap, open the Settings menu and choose Controllers once you have completed the Setup Wizard.</p><p>Guides for configuring controllers can be found <a href="https://pcsx2.net/docs/post/controllers/"><span style="">here</span></a>.</p></body></html> + <html><head/><body><p>By default, PCSX2 will map your keyboard to the virtual PS2 controller.</p><p><span style=" font-weight:704;">To use an external controller, you must map it first. </span>On this screen, you can automatically map any controller which is currently connected. If your controller is not currently connected, you can plug it in now.</p><p>To change controller bindings in more detail, or use multi-tap, open the Settings menu and choose Controllers once you have completed the Setup Wizard.</p><p>Guides for configuring controllers can be found <a href="https://pcsx2.net/docs/post/controllers/"><span style="">here</span></a>.</p></body></html> + + + + Controller Port 1 + Controller Port 1 + + + + + Controller Mapped To: + Controller Mapped To: + + + + + Controller Type: + Controller Type: + + + + + + Default (Keyboard) + Default (Keyboard) + + + + + Automatic Mapping + Automatic Mapping + + + + Controller Port 2 + Controller Port 2 + + + + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using PCSX2.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using PCSX2.</p></body></html> + + + + &Back + &Back + + + + + &Next + &Next + + + + &Cancel + &Cancel + + + + + Warning + Warning + + + + A BIOS image has not been selected. PCSX2 <strong>will not</strong> be able to run games without a BIOS image.<br><br>Are you sure you wish to continue without selecting a BIOS image? + A BIOS image has not been selected. PCSX2 <strong>will not</strong> be able to run games without a BIOS image.<br><br>Are you sure you wish to continue without selecting a BIOS image? + + + + No game directories have been selected. You will have to manually open any game dumps you want to play, PCSX2's list will be empty. + +Are you sure you want to continue? + No game directories have been selected. You will have to manually open any game dumps you want to play, PCSX2's list will be empty. + +Are you sure you want to continue? + + + + &Finish + &Finish + + + + Cancel Setup + Cancel Setup + + + + Are you sure you want to cancel PCSX2 setup? + +Any changes have been saved, and the wizard will run again next time you start PCSX2. + Are you sure you want to cancel PCSX2 setup? + +Any changes have been saved, and the wizard will run again next time you start PCSX2. + + + + Open Directory... + Open Directory... + + + + Select Search Directory + Select Search Directory + + + + Scan Recursively? + Scan Recursively? + + + + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + + + + Default (None) + Default (None) + + + + No devices available + No devices available + + + + Automatic Binding + Automatic Binding + + + + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + + + + StackModel + + + ENTRY + Warning: short space limit. Abbreviate if needed. + ENTRY + + + + LABEL + Warning: short space limit. Abbreviate if needed. + LABEL + + + + PC + Warning: short space limit. Abbreviate if needed. PC = Program Counter (location where the CPU is executing). + PC + + + + INSTRUCTION + Warning: short space limit. Abbreviate if needed. + INSTRUCTION + + + + STACK POINTER + Warning: short space limit. Abbreviate if needed. + STACK POINTER + + + + SIZE + Warning: short space limit. Abbreviate if needed. + SIZE + + + + SymbolTreeModel + + + Alive + Alive + + + + Dead + Dead + + + + Name + Name + + + + Value + Value + + + + Location + Location + + + + Size + Size + + + + Type + Type + + + + Liveness + Liveness + + + + SymbolTreeTypeDelegate + + + Symbol no longer exists. + Symbol no longer exists. + + + + Cannot Change Type + Cannot Change Type + + + + SymbolTreeWidget + + + Form + Form + + + + Refresh + Refresh + + + + Filter + Filter + + + + + + + + + + + - + - + + + + (unknown source file) + (unknown source file) + + + + (unknown section) + (unknown section) + + + + (unknown module) + (unknown module) + + + + Copy Name + Copy Name + + + + Copy Mangled Name + Copy Mangled Name + + + + Copy Location + Copy Location + + + + + Rename Symbol + Rename Symbol + + + + Go to in Disassembly + Go to in Disassembly + + + + Go to in Memory View + Go to in Memory View + + + + Show Size Column + Show Size Column + + + + Group by Module + Group by Module + + + + Group by Section + Group by Section + + + + Group by Source File + Group by Source File + + + + Sort by if type is known + Sort by if type is known + + + + Reset children + Reset children + + + + Change type temporarily + Change type temporarily + + + + Confirm Deletion + Confirm Deletion + + + + Delete '%1'? + Delete '%1'? + + + + Name: + Name: + + + + Change Type To + Change Type To + + + + Type: + Type: + + + + + Cannot Change Type + Cannot Change Type + + + + That node cannot have a type. + That node cannot have a type. + + + + ThreadModel + + + + INVALID + INVALID + + + + ID + Warning: short space limit. Abbreviate if needed. + ID + + + + PC + Warning: short space limit. Abbreviate if needed. PC = Program Counter (location where the CPU is executing). + PC + + + + ENTRY + Warning: short space limit. Abbreviate if needed. + ENTRY + + + + PRIORITY + Warning: short space limit. Abbreviate if needed. + PRIORITY + + + + STATE + Warning: short space limit. Abbreviate if needed. + STATE + + + + WAIT TYPE + Warning: short space limit. Abbreviate if needed. + WAIT TYPE + + + + BAD + Refers to a Thread State in the Debugger. + BAD + + + + RUN + Refers to a Thread State in the Debugger. + RUN + + + + READY + Refers to a Thread State in the Debugger. + READY + + + + WAIT + Refers to a Thread State in the Debugger. + WAIT + + + + SUSPEND + Refers to a Thread State in the Debugger. + SUSPEND + + + + WAIT SUSPEND + Refers to a Thread State in the Debugger. + WAIT SUSPEND + + + + DORMANT + Refers to a Thread State in the Debugger. + DORMANT + + + + NONE + Refers to a Thread Wait State in the Debugger. + NONE + + + + WAKEUP REQUEST + Refers to a Thread Wait State in the Debugger. + WAKEUP REQUEST + + + + SEMAPHORE + Refers to a Thread Wait State in the Debugger. + SEMAPHORE + + + + SLEEP + Refers to a Thread Wait State in the Debugger. + SLEEP + + + + DELAY + Refers to a Thread Wait State in the Debugger. + DELAY + + + + EVENTFLAG + Refers to a Thread Wait State in the Debugger. + EVENTFLAG + + + + MBOX + Refers to a Thread Wait State in the Debugger. + MBOX + + + + VPOOL + Refers to a Thread Wait State in the Debugger. + VPOOL + + + + FIXPOOL + Refers to a Thread Wait State in the Debugger. + FIXPOOL + + + + USB + + + Webcam (EyeToy) + Webcam (EyeToy) + + + + Sony EyeToy + Sony EyeToy + + + + Konami Capture Eye + Konami Capture Eye + + + + + Video Device + Video Device + + + + Audio Device + Audio Device + + + + Audio Latency + Audio Latency + + + + + Selects the device to capture images from. + Selects the device to capture images from. + + + + HID Keyboard (Konami) + HID Keyboard (Konami) + + + + Keyboard + Keyboard + + + + HID Mouse + HID Mouse + + + + Pointer + Pointer + + + + Left Button + Left Button + + + + Right Button + Right Button + + + + Middle Button + Middle Button + + + + GunCon 2 + GunCon 2 + + + + + + + + + + + + D-Pad Up + D-Pad Up + + + + + + + + + + + + D-Pad Down + D-Pad Down + + + + + + + + + + + + D-Pad Left + D-Pad Left + + + + + + + + + + + + D-Pad Right + D-Pad Right + + + + Trigger + Trigger + + + + Shoot Offscreen + Shoot Offscreen + + + + Calibration Shot + Calibration Shot + + + + + + A + A + + + + + + B + B + + + + + C + C + + + + + + + + + + + + Select + Select + + + + + + + + + + + + Start + Start + + + + Relative Left + Relative Left + + + + Relative Right + Relative Right + + + + Relative Up + Relative Up + + + + Relative Down + Relative Down + + + + Cursor Path + Cursor Path + + + + Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor. + Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor. + + + + Cursor Scale + Cursor Scale + + + + Scales the crosshair image set above. + Scales the crosshair image set above. + + + + %.0f%% + %.0f%% + + + + Cursor Color + Cursor Color + + + + Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) + Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) + + + + Manual Screen Configuration + Manual Screen Configuration + + + + Forces the use of the screen parameters below, instead of automatic parameters if available. + Forces the use of the screen parameters below, instead of automatic parameters if available. + + + + X Scale (Sensitivity) + X Scale (Sensitivity) + + + + + Scales the position to simulate CRT curvature. + Scales the position to simulate CRT curvature. + + + + + %.2f%% + %.2f%% + + + + Y Scale (Sensitivity) + Y Scale (Sensitivity) + + + + Center X + Center X + + + + Sets the horizontal center position of the simulated screen. + Sets the horizontal center position of the simulated screen. + + + + + %.0fpx + %.0fpx + + + + Center Y + Center Y + + + + Sets the vertical center position of the simulated screen. + Sets the vertical center position of the simulated screen. + + + + Screen Width + Screen Width + + + + Sets the width of the simulated screen. + Sets the width of the simulated screen. + + + + + %dpx + %dpx + + + + Screen Height + Screen Height + + + + Sets the height of the simulated screen. + Sets the height of the simulated screen. + + + + Logitech USB Headset + Logitech USB Headset + + + + + + Input Device + Input Device + + + + + + + Selects the device to read audio from. + Selects the device to read audio from. + + + + Output Device + Output Device + + + + Selects the device to output audio to. + Selects the device to output audio to. + + + + + + + Input Latency + Input Latency + + + + + + + + Specifies the latency to the host input device. + Specifies the latency to the host input device. + + + + + + + + + %dms + %dms + + + + Output Latency + Output Latency + + + + Specifies the latency to the host output device. + Specifies the latency to the host output device. + + + + USB-Mic: Neither player 1 nor 2 is connected. + USB-Mic: Neither player 1 nor 2 is connected. + + + + USB-Mic: Failed to start player {} audio stream. + USB-Mic: Failed to start player {} audio stream. + + + + Microphone + Microphone + + + + Singstar + Singstar + + + + Logitech + Logitech + + + + Konami + Konami + + + + Player 1 Device + Player 1 Device + + + + Selects the input for the first player. + Selects the input for the first player. + + + + Player 2 Device + Player 2 Device + + + + Selects the input for the second player. + Selects the input for the second player. + + + + usb-msd: Could not open image file '{}' + usb-msd: Could not open image file '{}' + + + + Mass Storage Device + Mass Storage Device + + + + Modification time to USB mass storage image changed, reattaching. + Modification time to USB mass storage image changed, reattaching. + + + + Iomega Zip-100 (Generic) + Iomega Zip-100 (Generic) + + + + Sony MSAC-US1 (PictureParadise) + Sony MSAC-US1 (PictureParadise) + + + + + Image Path + Image Path + + + + + Sets the path to image which will back the virtual mass storage device. + Sets the path to image which will back the virtual mass storage device. + + + + + + Steering Left + Steering Left + + + + + + Steering Right + Steering Right + + + + + + Throttle + Throttle + + + + + + + + Brake + Brake + + + + + + Cross + Cross + + + + + + Square + Square + + + + + + Circle + Circle + + + + + Triangle + Triangle + + + + L1 + L1 + + + + R1 + R1 + + + + + L2 + L2 + + + + + R2 + R2 + + + + + Force Feedback + Force Feedback + + + + Shift Up / R1 + Shift Up / R1 + + + + Shift Down / L1 + Shift Down / L1 + + + + L3 + L3 + + + + R3 + R3 + + + + Menu Up + Menu Up + + + + Menu Down + Menu Down + + + + + X + X + + + + + Y + Y + + + + Off + Off + + + + Low + Low + + + + Medium + Medium + + + + High + High + + + + Steering Smoothing + Steering Smoothing + + + + Smooths out changes in steering to the specified percentage per poll. Needed for using keyboards. + Smooths out changes in steering to the specified percentage per poll. Needed for using keyboards. + + + + + %d%% + %d%% + + + + Steering Deadzone + Steering Deadzone + + + + Steering axis deadzone for pads or non self centering wheels. + Steering axis deadzone for pads or non self centering wheels. + + + + Steering Damping + Steering Damping + + + + Applies power curve filter to steering axis values. Dampens small inputs. + Applies power curve filter to steering axis values. Dampens small inputs. + + + + Workaround for Intermittent FFB Loss + Workaround for Intermittent FFB Loss + + + + Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. + Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. + + + + Wheel Device + Wheel Device + + + + Driving Force + Driving Force + + + + Driving Force Pro + Driving Force Pro + + + + Driving Force Pro (rev11.02) + Driving Force Pro (rev11.02) + + + + GT Force + GT Force + + + + Rock Band Drum Kit + Rock Band Drum Kit + + + + + Blue + Blue + + + + + Green + Green + + + + + Red + Red + + + + + Yellow + Yellow + + + + Orange + Orange + + + + Buzz Controller + Buzz Controller + + + + Player 1 Red + Player 1 Red + + + + Player 1 Blue + Player 1 Blue + + + + Player 1 Orange + Player 1 Orange + + + + Player 1 Green + Player 1 Green + + + + Player 1 Yellow + Player 1 Yellow + + + + Player 2 Red + Player 2 Red + + + + Player 2 Blue + Player 2 Blue + + + + Player 2 Orange + Player 2 Orange + + + + Player 2 Green + Player 2 Green + + + + Player 2 Yellow + Player 2 Yellow + + + + Player 3 Red + Player 3 Red + + + + Player 3 Blue + Player 3 Blue + + + + Player 3 Orange + Player 3 Orange + + + + Player 3 Green + Player 3 Green + + + + Player 3 Yellow + Player 3 Yellow + + + + Player 4 Red + Player 4 Red + + + + Player 4 Blue + Player 4 Blue + + + + Player 4 Orange + Player 4 Orange + + + + Player 4 Green + Player 4 Green + + + + Player 4 Yellow + Player 4 Yellow + + + + KeyboardMania + KeyboardMania + + + + C 1 + C 1 + + + + C# 1 + C# 1 + + + + D 1 + D 1 + + + + D# 1 + D# 1 + + + + E 1 + E 1 + + + + F 1 + F 1 + + + + F# 1 + F# 1 + + + + G 1 + G 1 + + + + G# 1 + G# 1 + + + + A 1 + A 1 + + + + A# 1 + A# 1 + + + + B 1 + B 1 + + + + C 2 + C 2 + + + + C# 2 + C# 2 + + + + D 2 + D 2 + + + + D# 2 + D# 2 + + + + E 2 + E 2 + + + + F 2 + F 2 + + + + F# 2 + F# 2 + + + + G 2 + G 2 + + + + G# 2 + G# 2 + + + + A 2 + A 2 + + + + A# 2 + A# 2 + + + + B 2 + B 2 + + + + Wheel Up + Wheel Up + + + + Wheel Down + Wheel Down + + + + Sega Seamic + Sega Seamic + + + + Stick Left + Stick Left + + + + Stick Right + Stick Right + + + + Stick Up + Stick Up + + + + Stick Down + Stick Down + + + + Z + Z + + + + L + L + + + + R + R + + + + Failed to open '{}' for printing. + Failed to open '{}' for printing. + + + + Printer saving to '{}'... + Printer saving to '{}'... + + + + Printer + Printer + + + + None + None + + + + + + Not Connected + Not Connected + + + + Default Input Device + Default Input Device + + + + Default Output Device + Default Output Device + + + + DJ Hero Turntable + DJ Hero Turntable + + + + Triangle / Euphoria + Triangle / Euphoria + + + + Crossfader Left + Crossfader Left + + + + Crossfader Right + Crossfader Right + + + + Left Turntable Clockwise + Left Turntable Clockwise + + + + Left Turntable Counterclockwise + Left Turntable Counterclockwise + + + + Right Turntable Clockwise + Right Turntable Clockwise + + + + Right Turntable Counterclockwise + Right Turntable Counterclockwise + + + + Left Turntable Green + Left Turntable Green + + + + Left Turntable Red + Left Turntable Red + + + + Left Turntable Blue + Left Turntable Blue + + + + Right Turntable Green + Right Turntable Green + + + + Right Turntable Red + Right Turntable Red + + + + Right Turntable Blue + Right Turntable Blue + + + + Apply a multiplier to the turntable + Apply a multiplier to the turntable + + + + Effects Knob Left + Effects Knob Left + + + + Effects Knob Right + Effects Knob Right + + + + Turntable Multiplier + Turntable Multiplier + + + + Gametrak Device + Gametrak Device + + + + Foot Pedal + Foot Pedal + + + + Left X + Left X + + + + Left Y + Left Y + + + + Left Z + Left Z + + + + Right X + Right X + + + + Right Y + Right Y + + + + Right Z + Right Z + + + + + Invert X axis + Invert X axis + + + + + Invert Y axis + Invert Y axis + + + + + Invert Z axis + Invert Z axis + + + + Limit Z axis [100-4095] + Limit Z axis [100-4095] + + + + - 4095 for original Gametrak controllers +- 1790 for standard gamepads + - 4095 for original Gametrak controllers +- 1790 for standard gamepads + + + + %d + %d + + + + RealPlay Device + RealPlay Device + + + + RealPlay Racing + RealPlay Racing + + + + RealPlay Sphere + RealPlay Sphere + + + + RealPlay Golf + RealPlay Golf + + + + RealPlay Pool + RealPlay Pool + + + + Accel X + Accel X + + + + Accel Y + Accel Y + + + + Accel Z + Accel Z + + + + Trance Vibrator (Rez) + Trance Vibrator (Rez) + + + + Train Controller + Train Controller + + + + Type 2 + Type 2 + + + + Shinkansen + Shinkansen + + + + Ryojōhen + Ryojōhen + + + + + Power + Power + + + + A Button + A Button + + + + B Button + B Button + + + + C Button + C Button + + + + D Button + D Button + + + + Announce + Announce + + + + Horn + Horn + + + + Left Door + Left Door + + + + Right Door + Right Door + + + + Camera Button + Camera Button + + + + Axes Passthrough + Axes Passthrough + + + + Passes through the unprocessed input axis to the game. Enable if you are using a compatible Densha De Go! controller. Disable if you are using any other joystick. + Passes through the unprocessed input axis to the game. Enable if you are using a compatible Densha De Go! controller. Disable if you are using any other joystick. + + + + USBBindingWidget + + + Axes + Axes + + + + Buttons + Buttons + + + + USBBindingWidget_Buzz + + + Player 1 + Player 1 + + + + + + + Red + Red + + + + + + + + + + + + + + + + + + + + + + + PushButton + PushButton + + + + + + + Blue + Blue + + + + + + + Orange + Orange + + + + + + + Green + Green + + + + + + + Yellow + Yellow + + + + Player 2 + Player 2 + + + + Player 3 + Player 3 + + + + Player 4 + Player 4 + + + + USBBindingWidget_DenshaCon + + + Face Buttons + Face Buttons + + + + C + C + + + + B + B + + + + D + D + + + + A + A + + + + Hints + Hints + + + + The Densha Controller Type 2 is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has five progressively higher notches of power. The brake axis starts released, and has eight progressively increasing notches plus an Emergency Brake. This controller is compatible with several games and generally maps well to hardware with one or two physical axes with a similar range of notches, such as the modern "Zuiki One Handle MasCon". + This controller is created for the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. The 'Densha Controller Type 2' and 'Zuiki One Handle MasCon' are specific brands of USB train master controller. Both products are only distributed in Japan, so they do not have official non-Japanese names. + The Densha Controller Type 2 is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has five progressively higher notches of power. The brake axis starts released, and has eight progressively increasing notches plus an Emergency Brake. This controller is compatible with several games and generally maps well to hardware with one or two physical axes with a similar range of notches, such as the modern "Zuiki One Handle MasCon". + + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Power Lever + Power refers to the train's accelerator which causes the train to increase speed. + Power Lever + + + + Brake Lever + Brake Lever + + + + Select + Select + + + + Start + Start + + + + USBBindingWidget_DrivingForce + + + Hints + Hints + + + + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + + + + Force Feedback + Force Feedback + + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + L1 + L1 + + + + L2 + L2 + + + + Brake + Brake + + + + Steering Left + Steering Left + + + + Steering Right + Steering Right + + + + Select + Select + + + + Start + Start + + + + Face Buttons + Face Buttons + + + + Circle + Circle + + + + Cross + Cross + + + + Triangle + Triangle + + + + Square + Square + + + + R1 + R1 + + + + R2 + R2 + + + + Accelerator + Accelerator + + + + USBBindingWidget_GTForce + + + Hints + Hints + + + + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + + + + Force Feedback + Force Feedback + + + + X + X + + + + A + A + + + + Brake + Brake + + + + Steering Left + Steering Left + + + + Steering Right + Steering Right + + + + Left Paddle + Left Paddle + + + + Right Paddle + Right Paddle + + + + Y + Y + + + + B + B + + + + Accelerator + Accelerator + + + + USBBindingWidget_Gametrak + + + Left Hand + Left Hand + + + + + X Axis + X Axis + + + + + + + + + + PushButton + PushButton + + + + + Left=0 / Right=0x3ff + Left=0 / Right=0x3ff + + + + + Y Axis + Y Axis + + + + + Back=0 / Front=0x3ff + Back=0 / Front=0x3ff + + + + + Z Axis + Z Axis + + + + + Top=0 / Bottom=0xfff + Top=0 / Bottom=0xfff + + + + Foot Pedal + Foot Pedal + + + + Right Hand + Right Hand + + + + USBBindingWidget_GunCon2 + + + Buttons + Buttons + + + + A + A + + + + C + C + + + + Start + Start + + + + Select + Select + + + + B + B + + + + D-Pad + D-Pad + + + + + Down + Down + + + + + Left + Left + + + + + Up + Up + + + + + Right + Right + + + + Pointer Setup + Pointer Setup + + + + <p>By default, GunCon2 will use the mouse pointer. To use the mouse, you <strong>do not</strong> need to configure any bindings apart from the trigger and buttons.</p> + +<p>If you want to use a controller, or lightgun which simulates a controller instead of a mouse, then you should bind it to Relative Aiming. Otherwise, Relative Aiming should be <strong>left unbound</strong>.</p> + <p>By default, GunCon2 will use the mouse pointer. To use the mouse, you <strong>do not</strong> need to configure any bindings apart from the trigger and buttons.</p> + +<p>If you want to use a controller, or lightgun which simulates a controller instead of a mouse, then you should bind it to Relative Aiming. Otherwise, Relative Aiming should be <strong>left unbound</strong>.</p> + + + + Relative Aiming + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Relative Aiming + + + + + Trigger + Trigger + + + + Shoot Offscreen + Shoot Offscreen + + + + Calibration Shot + Calibration Shot + + + + Calibration shot is required to pass the setup screen in some games. + Calibration shot is required to pass the setup screen in some games. + + + + USBBindingWidget_RealPlay + + + D-Pad Up + D-Pad Up + + + + + + + + + + + + + + PushButton + PushButton + + + + D-Pad Down + D-Pad Down + + + + D-Pad Left + D-Pad Left + + + + D-Pad Right + D-Pad Right + + + + Red + Red + + + + Green + Green + + + + Yellow + Yellow + + + + Blue + Blue + + + + Accel X + Accel X + + + + Accel Y + Accel Y + + + + Accel Z + Accel Z + + + + USBBindingWidget_RyojouhenCon + + + Hints + Hints + + + + The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. + Ryojōhen refers to a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. For consistency, romanization of 'Ryojōhen' should be kept consistent across western languages, as there is no official translation for this name. + The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. + + + + Door Buttons + Door buttons toggle to open or close train doors when this controller is used with Densha De GO! games. + Door Buttons + + + + + Left + Left + + + + + PushButton + PushButton + + + + + Right + Right + + + + D-Pad + D-Pad + + + + Down + Down + + + + Up + Up + + + + Brake Lever + Brake Lever + + + + Power Lever + Power refers to the train's accelerator which causes the train to increase speed. + Power Lever + + + + Face Buttons + Face Buttons + + + + Select + Select + + + + Start + Start + + + + Announce + Announce is used in-game to trigger the train conductor to make voice over announcements for an upcoming train stop. + Announce + + + + Camera + Camera is used to switch the view point. Original: 視点切替 + Camera + + + + Horn + Horn is used to alert people and cars that a train is approaching. Original: 警笛 + Horn + + + + USBBindingWidget_ShinkansenCon + + + Hints + Hints + + + + The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. + This controller is created for a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains, in this case bullet trains. The product does not have an official name translation, and it is common to refer to the train type as Shinkansen. + The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. + + + + Power Lever + Power refers to the train's accelerator which causes the train to increase speed. + Power Lever + + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Select + Select + + + + Start + Start + + + + Brake Lever + Brake Lever + + + + Face Buttons + Face Buttons + + + + C + C + + + + B + B + + + + D + D + + + + A + A + + + + USBBindingWidget_TranceVibrator + + + Motor + Motor + + + + USBDeviceWidget + + + Device Type + Device Type + + + + Bindings + Bindings + + + + Settings + Settings + + + + Automatic Mapping + Automatic Mapping + + + + Clear Mapping + Clear Mapping + + + + USB Port %1 + USB Port %1 + + + + No devices available + No devices available + + + + Clear Bindings + Clear Bindings + + + + Are you sure you want to clear all bindings for this device? This action cannot be undone. + Are you sure you want to clear all bindings for this device? This action cannot be undone. + + + + Automatic Binding + Automatic Binding + + + + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + + + + VMManager + + + Failed to back up old save state {}. + Failed to back up old save state {}. + + + + Failed to save save state: {}. + Failed to save save state: {}. + + + + PS2 BIOS ({}) + PS2 BIOS ({}) + + + + Unknown Game + Unknown Game + + + + CDVD precaching was cancelled. + CDVD precaching was cancelled. + + + + CDVD precaching failed: {} + CDVD precaching failed: {} + + + + Error + Error + + + + PCSX2 requires a PS2 BIOS in order to run. + +For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). + +Once dumped, this BIOS image should be placed in the bios folder within the data directory (Tools Menu -> Open Data Directory). + +Please consult the FAQs and Guides for further instructions. + PCSX2 requires a PS2 BIOS in order to run. + +For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). + +Once dumped, this BIOS image should be placed in the bios folder within the data directory (Tools Menu -> Open Data Directory). + +Please consult the FAQs and Guides for further instructions. + + + + Resuming state + Resuming state + + + + Boot and Debug + Boot and Debug + + + + Failed to load save state + Failed to load save state + + + + State saved to slot {}. + State saved to slot {}. + + + + Failed to save save state to slot {}. + Failed to save save state to slot {}. + + + + + Loading state + Loading state + + + + Failed to load state (Memory card is busy) + Failed to load state (Memory card is busy) + + + + There is no save state in slot {}. + There is no save state in slot {}. + + + + Failed to load state from slot {} (Memory card is busy) + Failed to load state from slot {} (Memory card is busy) + + + + Loading state from slot {}... + Loading state from slot {}... + + + + Failed to save state (Memory card is busy) + Failed to save state (Memory card is busy) + + + + Failed to save state to slot {} (Memory card is busy) + Failed to save state to slot {} (Memory card is busy) + + + + Saving state to slot {}... + Saving state to slot {}... + + + + Frame advancing + Frame advancing + + + + Disc removed. + Disc removed. + + + + Disc changed to '{}'. + Disc changed to '{}'. + + + + Failed to open new disc image '{}'. Reverting to old image. +Error was: {} + Failed to open new disc image '{}'. Reverting to old image. +Error was: {} + + + + Failed to switch back to old disc image. Removing disc. +Error was: {} + Failed to switch back to old disc image. Removing disc. +Error was: {} + + + + Cheats have been disabled due to achievements hardcore mode. + Cheats have been disabled due to achievements hardcore mode. + + + + Fast CDVD is enabled, this may break games. + Fast CDVD is enabled, this may break games. + + + + Cycle rate/skip is not at default, this may crash or make games run too slow. + Cycle rate/skip is not at default, this may crash or make games run too slow. + + + + Upscale multiplier is below native, this will break rendering. + Upscale multiplier is below native, this will break rendering. + + + + Mipmapping is disabled. This may break rendering in some games. + Mipmapping is disabled. This may break rendering in some games. + + + + Renderer is not set to Automatic. This may cause performance problems and graphical issues. + Renderer is not set to Automatic. This may cause performance problems and graphical issues. + + + + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. + + + + No Game Running + No Game Running + + + + Trilinear filtering is not set to automatic. This may break rendering in some games. + Trilinear filtering is not set to automatic. This may break rendering in some games. + + + + Blending Accuracy is below Basic, this may break effects in some games. + Blending Accuracy is below Basic, this may break effects in some games. + + + + Hardware Download Mode is not set to Accurate, this may break rendering in some games. + Hardware Download Mode is not set to Accurate, this may break rendering in some games. + + + + EE FPU Round Mode is not set to default, this may break some games. + EE FPU Round Mode is not set to default, this may break some games. + + + + EE FPU Clamp Mode is not set to default, this may break some games. + EE FPU Clamp Mode is not set to default, this may break some games. + + + + VU0 Round Mode is not set to default, this may break some games. + VU0 Round Mode is not set to default, this may break some games. + + + + VU1 Round Mode is not set to default, this may break some games. + VU1 Round Mode is not set to default, this may break some games. + + + + VU Clamp Mode is not set to default, this may break some games. + VU Clamp Mode is not set to default, this may break some games. + + + + 128MB RAM is enabled. Compatibility with some games may be affected. + 128MB RAM is enabled. Compatibility with some games may be affected. + + + + Game Fixes are not enabled. Compatibility with some games may be affected. + Game Fixes are not enabled. Compatibility with some games may be affected. + + + + Compatibility Patches are not enabled. Compatibility with some games may be affected. + Compatibility Patches are not enabled. Compatibility with some games may be affected. + + + + Frame rate for NTSC is not default. This may break some games. + Frame rate for NTSC is not default. This may break some games. + + + + Frame rate for PAL is not default. This may break some games. + Frame rate for PAL is not default. This may break some games. + + + + EE Recompiler is not enabled, this will significantly reduce performance. + EE Recompiler is not enabled, this will significantly reduce performance. + + + + VU0 Recompiler is not enabled, this will significantly reduce performance. + VU0 Recompiler is not enabled, this will significantly reduce performance. + + + + VU1 Recompiler is not enabled, this will significantly reduce performance. + VU1 Recompiler is not enabled, this will significantly reduce performance. + + + + IOP Recompiler is not enabled, this will significantly reduce performance. + IOP Recompiler is not enabled, this will significantly reduce performance. + + + + EE Cache is enabled, this will significantly reduce performance. + EE Cache is enabled, this will significantly reduce performance. + + + + EE Wait Loop Detection is not enabled, this may reduce performance. + EE Wait Loop Detection is not enabled, this may reduce performance. + + + + INTC Spin Detection is not enabled, this may reduce performance. + INTC Spin Detection is not enabled, this may reduce performance. + + + + Fastmem is not enabled, this will reduce performance. + Fastmem is not enabled, this will reduce performance. + + + + Instant VU1 is disabled, this may reduce performance. + Instant VU1 is disabled, this may reduce performance. + + + + mVU Flag Hack is not enabled, this may reduce performance. + mVU Flag Hack is not enabled, this may reduce performance. + + + + GPU Palette Conversion is enabled, this may reduce performance. + GPU Palette Conversion is enabled, this may reduce performance. + + + + Texture Preloading is not Full, this may reduce performance. + Texture Preloading is not Full, this may reduce performance. + + + + Estimate texture region is enabled, this may reduce performance. + Estimate texture region is enabled, this may reduce performance. + + + + Texture dumping is enabled, this will continually dump textures to disk. + Texture dumping is enabled, this will continually dump textures to disk. + + + diff --git a/pcsx2-qt/Translations/pcsx2-qt_he-IL.ts b/pcsx2-qt/Translations/pcsx2-qt_he-IL.ts index 53309a8b19ecf..5e9f99836f392 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_he-IL.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_he-IL.ts @@ -12,12 +12,12 @@ SCM Version SCM= Source Code Management - גרסאת ניהול קוד מקור + גרסת ניהול קוד מקור <html><head/><body><p>PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.</p></body></html> - PCSX2 הינו אימולטור חינמי לPlaystation 2 (PS2) בעל קוד פתוח. מטרתו לדמות חומרת PS2, ע״י שילוב של זיכרות המערכת של ה PS2, מפרשי מעבד MIPS, ריקומפילציה ומכונה וירטואלית אשר מנהלת את מצב החומרה וזיכרון המערכת של ה PS2. בדרך זו אנו מאפשרים לשחק משחקי PS2 על המחשב שלך, עם עוד הרבה פיצ׳רים והטבות + <html><head/><body><p>PCSX2 הינו אימולטור חינמי לPlaystation 2 (PS2) בעל קוד פתוח. מטרתו לדמות חומרת PS2', ע״י שילוב של זיכרות המערכת של ה PS2, מפרשי מעבד MIPS, ריקומפילציה ומכונה וירטואלית אשר מנהלת את מצב החומרה וזיכרון המערכת של ה PS2. בדרך זו אנו מאפשרים לשחק משחקי PS2 על המחשב שלך, עם עוד הרבה פיצ׳רים והטבות. </p></body></html> @@ -350,11 +350,11 @@ Login token generated at: %n seconds - + + שניה %n + %n שניות + %n שניות %n שניות - %n seconds - %n seconds - %n seconds @@ -407,22 +407,22 @@ Login token generated on %2. You have unlocked {} of %n achievements Achievement popup - - יש לכם {} מתוך %n מההשגים - השגתם {} מתוך %n השגים - You have unlocked {} of %n achievements - You have unlocked {} of %n achievements + + יש לכם {} מתוך %n מההישגים + השגתם {} מתוך %n הישגים + צברתם {} מתוך %n הישגים + פתחתם {} מתוך %n הישגים and earned {} of %n points Achievement popup - - זכיתם ב {} מתוך %n נקודות - and earned {} of %n points - and earned {} of %n points - and earned {} of %n points + + זכיתם ב{} מתוך %n נקודות + צברתם {} מתוך %n נקודות + השגתם {} מתוך %n נקודות + השגתם {} מתוך %n נקודות @@ -444,22 +444,22 @@ Login token generated on %2. %n achievements Mastery popup - - %n השגים - %n achievements - %n achievements - %n achievements + + הישג %n + %n הישגים + %n הישגים + %n הישגים %n points Mastery popup - + + נקודה %n + %n נקודות + %n נקודות %n נקודות - %n points - %n points - %n points @@ -549,7 +549,7 @@ Unread messages: {2} Leaderboard Download Failed - Leaderboard Download Failed + הורדת טבלת שיאים נכשלה @@ -570,14 +570,13 @@ Unread messages: {2} {0} Leaderboard Position: {1} of {2} - {0} -Leaderboard Position: {1} of {2} + מקום בטבלת השיאים: {1} מתוך {2} Server error in {0}: {1} - Server error in {0}: + שגיאת סרבר ב{0}: {1} @@ -593,7 +592,7 @@ Leaderboard Position: {1} of {2} You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. - You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. + השגת {0} מתוך {1} הישגים, וצברת {2} מתוך {3} נקודות אפשריות. @@ -608,7 +607,7 @@ Leaderboard Position: {1} of {2} Unlocked - Unlocked + נפתח @@ -623,57 +622,58 @@ Leaderboard Position: {1} of {2} Recently Unlocked - Recently Unlocked + נפתח לאחרונה Active Challenges - Active Challenges + אתגרים פעילים Almost There - Almost There + כמעט שם {} points - {} points + {} נקודות {} point - {} point + {} נקודה XXX points - XXX points + XXX נקודות Unlocked: {} - Unlocked: {} + נפתח: {} This game has {} leaderboards. - This game has {} leaderboards. + למשחק הזה יש {} טבלאות שיאים. Submitting scores is disabled because hardcore mode is off. Leaderboards are read-only. - Submitting scores is disabled because hardcore mode is off. Leaderboards are read-only. + העלאת תוצאות מבוטלת כי מצב קשה מכובה. טבלאות שיאים במצב קריאה-בלבד. + Show Best - Show Best + הראה את הכי טוב Show Nearby - Show Nearby + הראה את הכי קרוב @@ -738,307 +738,318 @@ Leaderboard Position: {1} of {2} השתמש בהגדרה גלובלית [%1] - + Rounding Mode מצב עיגול - - - + + + Chop/Zero (Default) חתוך/אפס (ברירת מחדל) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> שינויים לאיך ש-PCSX2 מתנהל בעיגול מספר בזמן אימולציה של מנוע רגש ' יחידה/ות נקודה צפה (EE FPU). זה בגלל שמספר FPU בתוך PS2 הם לא גמישים עם מוסכמות בין-לאומיות, יכול להיות שחלק מהמשחקים יהיו צריכים מצבים שונים בכדי לעשות את המתמתיקה נכון. הערך ברירת מחדל מנהל את הרוב הגדול של המשחקים;<b> עריכה של ההגדרה הזאת בזמן שמשחק לא מציג בעיה שניתנת לראיה יכולה ליצור אי יציבות.</b> - + Division Rounding Mode - Division Rounding Mode + מצב עיגול חלוקה - + Nearest (Default) - Nearest (Default) + הכי קרוב (ברירת מחדל) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + קובע כיצד התוצאות של חלוקת נקודה צפה מעוגלים. משחקים מסוימים זקוקים להגדרות ספציפיות; <b>שינוי הגדרה זו כאשר למשחק אין בעיה גלויה עלול לגרום לאי יציבות.</b> - + Clamping Mode - Clamping Mode + מצב הידוק - - - + + + Normal (Default) רגיל (ברירת מחדל) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + משנה את האופן שבו PCSX2 מטפל בשמירה על ציפה בטווח x86 סטנדרטי. ערך ברירת המחדל מטפל ברוב המכריע של המשחקים; <b>שינוי הגדרה זו כאשר למשחק אין בעיה גלויה עלול לגרום לאי יציבות.</b> - - + + Enable Recompiler Enable Recompiler - + - - - + + + - + - - - - + + + + + Checked נבדק - + + Use Save State Selector + השתמש בבוחר מצב שמירה + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + הראה תפריט של בוחר מצב שמירה כשמחליפים סלוטים במקום להראות בועת התראה. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). מזהה לולאת השהייה - + Moderate speedup for some games, with no known side effects. - Moderate speedup for some games, with no known side effects. + העלאת מהירות בינונית למשחקים מסוימים, בלי תופעות לוואי ידועות. - + Enable Cache (Slow) הפעל מטמון (איטי) - - - - + + + + Unchecked לא נבדק - + Interpreter only, provided for diagnostic. - Interpreter only, provided for diagnostic. + לפרשנות בלבד, לאבחונים דיאגנוסטים. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. שיפור ביצועים אדיר במשחקים מסוימים, וכמעת ללא בעיות תאימות. - + Enable Fast Memory Access הפעל נגישות זיכרון מהירה - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Uses backpatching to avoid register flushing on every memory access. - + Pause On TLB Miss - Pause On TLB Miss + עצור בהחטאת TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. - + Enable 128MB RAM (Dev Console) - Enable 128MB RAM (Dev Console) + הפעלת 128MB זיכרון ראם (קונסולת מפתחים) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 - Enable Instant VU1 + הפעל VU1 מיידי - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. הפעל קומפילציה מחדש של מעבד ה-VU0 (מצב מיקרו) - + Enables VU0 Recompiler. מפעיל קומפילציה מחדש של מעבד ה-VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. הפעל קומפילציה מחדש של מעבד ה-VU1 - + Enables VU1 Recompiler. מפעיל קומפילציה מחדש של מעבד ה-VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) הפעל את מודיפיקציית רכיב ה-mVU - + Good speedup and high compatibility, may cause graphical errors. - Good speedup and high compatibility, may cause graphical errors. + העלאת מהירות טובה למשחקים ותאימות גבוהה, יכול לגרום לשגיאות גרפיות. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. - + Enable Game Fixes הפעלת תיקוני משחק - + Automatically loads and applies fixes to known problematic games on game start. - Automatically loads and applies fixes to known problematic games on game start. + אוטומטית טוען ומיישם תיקונים למשחקים שידועים כבעייתים מהפעלת המשחק. - + Enable Compatibility Patches הפעלת עדכוני תאימות - + Automatically loads and applies compatibility patches to known problematic games. - Automatically loads and applies compatibility patches to known problematic games. + . - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1212,7 +1223,7 @@ Leaderboard Position: {1} of {2} Enable Instant VU1 - Enable Instant VU1 + הפעלת VU1 מיידי. @@ -1258,54 +1269,54 @@ Leaderboard Position: {1} of {2} Create Save State Backups - Create Save State Backups + יצירת גיבויים לשמירות - + Save State On Shutdown - Save State On Shutdown + שמירה בכיבוי - + Frame Rate Control שליטה בכמות תמונות לשנייה - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. הרץ - + PAL Frame Rate: תמונות לשנייה PAL: - + NTSC Frame Rate: תמונות לשנייה NTSC: Savestate Settings - Savestate Settings + הגדרות שמירות Compression Level: - Compression Level: + רמת דחיסה: - + Compression Method: - Compression Method: + שיטת דחיסה: Uncompressed - Uncompressed + לא דחוס @@ -1325,35 +1336,40 @@ Leaderboard Position: {1} of {2} Low (Fast) - Low (Fast) + נמוך (מהיר) Medium (Recommended) - Medium (Recommended) + בינוני (מומלץ) High - High + גבוה Very High (Slow, Not Recommended) - Very High (Slow, Not Recommended) + גבוה מאוד (איטי, לא מומלץ) + + + + Use Save State Selector + השתמש בבוחר מצב שמירה - + PINE Settings הגדרות PINE - + Slot: תאים: - + Enable אפשר @@ -1363,7 +1379,7 @@ Leaderboard Position: {1} of {2} Analysis Options - Analysis Options + אפשריות ניתוח נתונים @@ -1373,17 +1389,17 @@ Leaderboard Position: {1} of {2} Close dialog after analysis has started - Close dialog after analysis has started + סגירות דיאלוג אחרי שניתוח הנתונים התחיל Analyze - Analyze + נתח נתונים Close - Close + סגירה @@ -1391,7 +1407,7 @@ Leaderboard Position: {1} of {2} Audio Expansion Settings - Audio Expansion Settings + הגדרות הרחבת אודיו @@ -1402,7 +1418,7 @@ Leaderboard Position: {1} of {2} 30 - 30 + 30 @@ -1418,27 +1434,27 @@ Leaderboard Position: {1} of {2} 20 - 20 + 20 Depth: - Depth: + עומק: 10 - 10 + 10 Focus: - Focus: + פוקוס: Center Image: - Center Image: + תמונה מרכזית: @@ -1476,24 +1492,24 @@ Leaderboard Position: {1} of {2} Configuration - Configuration + תצורה Driver: - Driver: + דרייבר: Expansion Settings - Expansion Settings + הגדרות הרחבה Stretch Settings - Stretch Settings + הגדרות מתיחה @@ -1503,7 +1519,7 @@ Leaderboard Position: {1} of {2} Maximum latency: 0 frames (0.00ms) - Maximum latency: 0 frames (0.00ms) + מקסימום שהייה: 0 פריימים (0.00ms) @@ -1514,17 +1530,17 @@ Leaderboard Position: {1} of {2} 0 ms - 0 ms + 0 ms Controls - Controls + כפתורים Output Volume: - Output Volume: + : @@ -1768,7 +1784,7 @@ Leaderboard Position: {1} of {2} Null (No Output) - Null (No Output) + Null (אין פלט) @@ -1778,17 +1794,17 @@ Leaderboard Position: {1} of {2} SDL - SDL + SDL Disabled (Stereo) - Disabled (Stereo) + מבוטל (סטריאו) Stereo with LFE - Stereo with LFE + סטריאו עם LFE @@ -1803,18 +1819,18 @@ Leaderboard Position: {1} of {2} 5.1 Surround - 5.1 Surround + 5.1 סראונד 7.1 Surround - 7.1 Surround + 7.1 סראונד Default - Default + ברירת מחדל @@ -1822,17 +1838,17 @@ Leaderboard Position: {1} of {2} Audio Stretch Settings - Audio Stretch Settings + הגדרות מתיחת אודיו Sequence Length: - Sequence Length: + משך הסיקוונס: 30 - 30 + 30 @@ -1842,7 +1858,7 @@ Leaderboard Position: {1} of {2} 20 - 20 + 20 @@ -1852,7 +1868,7 @@ Leaderboard Position: {1} of {2} 10 - 10 + 10 @@ -1874,8 +1890,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater מעדכן אוטומטי @@ -1897,7 +1913,7 @@ Leaderboard Position: {1} of {2} Download Size: - Download Size: + גודל הורדה: @@ -1915,70 +1931,70 @@ Leaderboard Position: {1} of {2} הזכר לי מאוחר יותר - - + + Updater Error שגיאת עדכון - + <h2>Changes:</h2> - <h2>Changes:</h2> + <h2>שינויים:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> + <h2>אזהרת מצב שמירה<p>התקנת העדכון הזה תאפס את תצורת התוכנה שלך. שים לב שאתה תצרך לסדר מחש את ההגדרות שלך אחרי העדכון הזה.</p> - + Savestate Warning - Savestate Warning + אזהרת מצב שמירה - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> + <h1>אזהרה!</h1><p style='font-size:12pt;'>התקנת העדכון הזה יגרום <b>למצבי השמירה שלך להיות אי תאימות</b>, <i> כדאי לך לשמור כל התקדמות לכרטיסי הזיכרון שלך לפני שאתה מתקדם</i>.</p><p>אתה רוצה להמשיך?</p> - + Downloading %1... מוריד %1... - + No updates are currently available. Please try again later. אין עדכונים זמינים כרגע. אנא נסה שנית מאוחר יותר. - + Current Version: %1 (%2) גרסה נוכחית: %1 (%2) - + New Version: %1 (%2) גרסה חדשה: %1 (%2) - + Download Size: %1 MB - Download Size: %1 MB + גודל הורדה: %1 MB - + Loading... טוען... - + Failed to remove updater exe after update. - Failed to remove updater exe after update. + נכשל בהסרת updater exe לאחר העדכון. @@ -1991,7 +2007,7 @@ Leaderboard Position: {1} of {2} PCSX2 will search for BIOS images in this directory. - PCSX2 will search for BIOS images in this directory. + PCSX2 יחפש קבצי BIOS בתיקייה הזאת. @@ -2011,7 +2027,7 @@ Leaderboard Position: {1} of {2} Open BIOS Folder... - Open BIOS Folder... + פתיחת תיקיית BIOS... @@ -2140,21 +2156,21 @@ Leaderboard Position: {1} of {2} הפעל - - + + Invalid Address - Invalid Address + כתובת לא חוקית - - + + Invalid Condition - Invalid Condition + מצב לא חוקי - + Invalid Size - Invalid Size + גודל לא חוקי @@ -2189,7 +2205,7 @@ Leaderboard Position: {1} of {2} Write(C) (C) = changes, as in "look for changes". - Write(C) + כתיבה(C) @@ -2212,25 +2228,25 @@ Leaderboard Position: {1} of {2} SIZE / LABEL Warning: limited space available. Abbreviate if needed. - SIZE / LABEL + גודל / תג INSTRUCTION Warning: limited space available. Abbreviate if needed. - INSTRUCTION + הוראה CONDITION Warning: limited space available. Abbreviate if needed. - CONDITION + מצב HITS Warning: limited space available. Abbreviate if needed. - HITS + פגיעות @@ -2242,17 +2258,18 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. + מקום דיסק המשחק הוא בכונן נשלף, ירידות בביצוע כדוגמה כקפיצות או תקיעות יכולות לקרות. + - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2277,7 +2294,7 @@ Leaderboard Position: {1} of {2} לא ידוע - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3234,29 +3251,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3267,40 +3289,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error שגיאה - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3313,12 +3338,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3327,12 +3367,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3345,13 +3385,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3359,8 +3399,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3368,26 +3408,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4011,63 +4051,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4138,17 +4178,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4800,53 +4855,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run הרץ - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4864,48 +4919,48 @@ Do you want to overwrite? Disassembly - + Copy Address העתק כתובת - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function הוסף פונקציה - - + + Rename Function שנה שם פונקציה - + Remove Function הסר פונקציה @@ -4926,23 +4981,23 @@ Do you want to overwrite? Assemble Instruction - + Function name שם הפונקציה - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. שם הפונקציה לא יכול להיות כלום. - + No function / symbol is currently selected. לא נבחר כרגע פונקציה/סמל. @@ -4952,72 +5007,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 כתובת לא חוקית @@ -5044,86 +5099,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) משחק: %1 (%2) - + Rich presence inactive or unsupported. נוכחות עשירה לא פעילה או לא נתמכת. - + Game not loaded or no RetroAchievements available. המשחק לא נטען או שאין RetroAchievements זמינים. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5498,81 +5553,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5706,342 +5756,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting השתמש בהגדרה גלובלית - + Automatic binding failed, no devices are available. מיפוי אוטומטי נכשל, אין מכשירים זמינים. - + Game title copied to clipboard. כותרת המשחק הועתקה ללוח. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. סוג המשחק הועתק ללוח. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. נתיב המשחק הועתק ללוח. - + Controller settings reset to default. הגדרות הבקר אופסו לברירת המחדל. - + No input profiles available. אין פרופילי קלט זמינים. - + Create New... צור חדש... - + Enter the name of the input profile you wish to create. הזן את השם של פרופיל הקלט שברצונך ליצור. - + Are you sure you want to restore the default settings? Any preferences will be lost. האם אתה בטוח שברצונך לשחזר את הגדרות ברירת המחדל? כל ההעדפות יאבדו. - + Settings reset to defaults. ההגדרות אופסו לברירות המחדל. - + No save present in this slot. אין שמירה נוכחת בחריץ זה. - + No save states found. לא נמצאו מצבי שמירה. - + Failed to delete save state. מחיקת מצב השמירה נכשלה. - + Failed to copy text to clipboard. ההעתקה של הטקסט ללוח נכשלה. - + This game has no achievements. למשחק הזה אין הישגים. - + This game has no leaderboards. למשחק הזה אין לוחות הישגים. - + Reset System אתחל מערכת - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown לא ידוע - + OK OK - + Select Device בחירת התקן - + Details פרטים - + Options אפשרויות - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour התנהגות - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. מסתיר את מצביע/סמן העכבר כאשר האמולטור נמצא במצב מסך מלא. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. מציג הודעות על המסך כאשר מתרחשים אירועים כגון מצבי שמירה שנוצרים/נטענים, צילומי מסך מבוצעים וכו'. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. מציג את מהירות האמולציה הנוכחית של המערכת בפינה הימנית העליונה של התצוגה באחוזים. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic אוטומטי - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default ברירת מחדל - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6050,1977 +6100,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display תצוגה על המסך - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration תצורת BIOS - + BIOS Selection בחירת BIOS - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. מדלג על מסך הפתיחה ועוקף את בדיקות האזור. - + Speed Control בקרת מהירות - + Normal Speed מהירות רגילה - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings הגדרות מערכת - + EE Cycle Rate קצב מחזור EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats אפשר צ'יטים - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display תצוגה - + Aspect Ratio יחס גובה-רוחב - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing ביטול שזירה (Deinterlacing) - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) קצה AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes תיקוני חומרה - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures טען טקסטורות - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders תיקיות - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness חדות CAS - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters מסננים - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration תצורה - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources מקורות קלט - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor מעבד I/O - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings הגדרות - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8029,2071 +8084,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: - Region: + אזור: - + Compatibility: תאימות: - + No Game Selected - No Game Selected + לא נבחר משחק. - + Search Directories - Search Directories + חיפוש בתיקיות - + Adds a new directory to the game search list. - Adds a new directory to the game search list. + מוסיף תיקיה חדשה לרשימת חיפוש המשחקים. - + Scanning Subdirectories - Scanning Subdirectories + סורק תת-תיקיות - + Not Scanning Subdirectories - Not Scanning Subdirectories + לא סורק תת-תיקיות - + List Settings הגדרות רשימה - + Sets which view the game list will open to. - Sets which view the game list will open to. + קובע באיזה תצוגה רשימת המשחקים תיפתח. - + Determines which field the game list will be sorted by. - Determines which field the game list will be sorted by. + קובע באיזה צורה רשימת המשחקים תסודר על פי. - + Reverses the game list sort order from the default (usually ascending to descending). - Reverses the game list sort order from the default (usually ascending to descending). + הופך את הסדר של רשימת המשחקים מברירת המחדל (בדרך כלל מעלייה לירידה) - + Cover Settings - Cover Settings + הגדרות עטיפה - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations - Operations + מבצעים - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. - Identifies any new files added to the game directories. + מזהה כל קובץ חדש שנוסף לתיקיות המשחקים. - + Forces a full rescan of all games previously identified. - Forces a full rescan of all games previously identified. + כופה סריקה מחדש מלאה של כל המשחקים שזוהו כבר. - + Download Covers הורד עטיפות - + About PCSX2 אודות PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account חשבון - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game משחק נוכחי - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (נוכחי) - + {} (Folder) {} (תיקייה) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} נמחק. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: שמאל: - + Top: Top: - + Right: ימין: - + Bottom: Bottom: - + Summary סיכום - + Interface Settings Interface Settings - + BIOS Settings הגדרות BIOS - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings הגדרות שמע - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings הגדרות תיקייה - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% מהירות - + 60% Speed 60% מהירות - + 75% Speed 75% מהירות - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% מהירות - + 180% Speed 180% מהירות - + 300% Speed 300% מהירות - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None ללא - + Extra + Preserve Sign Extra + Preserve Sign - + Full מלא - + Extra תוספות - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null ריק - + Off כבוי - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) טבעי (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High גבוה - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) כבוי (ברירת מחדל) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial חלקי - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode מצב צופה - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (מושבת) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half חצי - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed לא דחוס - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type סוג - + Serial Serial - + Title כותרת - + File Title כותרת הקובץ - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size גודל - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region אזור - + Compatibility Rating Compatibility Rating - + Path נתיב - + Disc Path נתיב דיסק - + Select Disc Path Select Disc Path - + Copy Settings העתק הגדרות - + Clear Settings נקה הגדרות - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu השהה בתפריט - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme השתמש בערכת נושא בהירה - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages הצג הודעות - + Show Speed הצג מהירות - + Show FPS הצג FPS - + Show CPU Usage הצג שימוש ב-CPU - + Show GPU Usage הצג שימוש ב-GPU - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings הצג הגדרות - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings אפס הגדרות - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume עוצמת פלט - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel ביטול - + Load Profile טען פרופיל - + Save Profile שמור פרופיל - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons מקשים - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} יציאת USB {} - + Device Type סוג מכשיר - + Device Subtype סוג משנה של התקן - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} הגדרות - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game המשך משחק - + Toggle Frame Limit Toggle Frame Limit - + Game Properties מאפייני משחק - + Achievements הישגים - + Save Screenshot שמירת צילום מסך - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game סגור משחק - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards לוח תוצאות - + Delete Save מחיקת שמירה - + Close Menu סגור תפריט - + Delete State Delete State - + Default Boot אתחול ברירת מחדל - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View תצוגת ברירת מחדל - + Sort By מיין לפי - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close סגור - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects אפקטים קוליים - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} שם משתמש: {} - + Login token generated on {} Login token generated on {} - + Logout התנתק/י - + Not Logged In לא מחובר/ת - + Login התחבר - + Game: {0} ({1}) משחק: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card הוצא כרטיס @@ -11085,32 +11145,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11586,11 +11656,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) כבוי (ברירת מחדל) @@ -11600,10 +11670,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11670,7 +11740,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11736,29 +11806,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11769,7 +11829,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11779,18 +11839,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11842,7 +11902,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11889,7 +11949,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11905,7 +11965,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11941,7 +12001,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11957,31 +12017,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11993,15 +12053,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12029,8 +12089,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (מושבת) @@ -12087,18 +12147,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12197,13 +12257,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12217,16 +12277,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12299,25 +12349,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12328,7 +12378,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12387,25 +12437,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures טען טקסטורות @@ -12415,6 +12465,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12432,13 +12492,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12461,8 +12521,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12483,7 +12543,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12535,7 +12595,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12550,7 +12610,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne ניגודיות: - + Saturation רוויה @@ -12571,50 +12631,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage הצג שימוש ב-GPU - + Show Settings הצג הגדרות - + Show FPS הצג FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12630,13 +12690,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12647,13 +12707,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage הצג שימוש ב-CPU - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12679,7 +12739,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12690,43 +12750,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12835,19 +12895,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12900,7 +12960,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12910,1214 +12970,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. תוכנה - + Null Null here means that this is a graphics backend that will show nothing. ריק - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked לא נבדק - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled מושבת - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio יחס גובה-רוחב - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing ביטול שזירה (Deinterlacing) - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode מצב מסך מלא - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left שמאל - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right ימין - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness חדות - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness בהירות - - - + + + 50 50 - + Contrast ניגודיות - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank השאר את זה ריק - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate מדויק - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. ברירת מחדל - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14125,7 +14185,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14342,254 +14402,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System מערכת - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume הגבר את עוצמת הקול - + Decrease Volume הנמך את עוצמת הקול - + Toggle Mute הפעל/כבה השתקה - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15469,594 +15529,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &עזרה - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &גודל חלון - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar סרגל כלים - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &בקרי משחק - + &Hotkeys &מקשי קיצור - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - מסך מלא - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &אודות PCSX2... - + Fullscreen In Toolbar מסך מלא - + Change Disc... In Toolbar שנה דיסק... - + &Audio &Audio - - Game List - Game List - - - - Interface - ממשק + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - מקובץ...‏ + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar כיבוי - + Reset In Toolbar איפוס - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar בקרי משחק - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar הגדרות - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar צילום מסך - + &Memory Cards &Memory Cards - + &Network && HDD &רשת && דיסק קשיח - + &Folders &תיקיות - + &Toolbar &סרגל כלים - - Lock Toolbar - נעל סרגל כלים + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++‎ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - חדש + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - עצור + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - הגדרות + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++‎ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar תמונה גדולה - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - ערוך צ'יטים... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16069,297 +16143,297 @@ Are you sure you want to continue? האם אתה בטוח שאתה רוצה להמשיך? - + %1 Files (*.%2) %1 קבצים (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error שגיאה - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot אתחול ברירת מחדל - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16368,12 +16442,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16386,89 +16460,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16477,42 +16551,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... שמירה לקובץ... - + Empty ריק - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset איפוס @@ -16535,25 +16609,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16570,28 +16644,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17383,7 +17462,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18223,12 +18302,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18239,7 +18318,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18250,7 +18329,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18261,7 +18340,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18362,47 +18441,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18535,7 +18614,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21748,42 +21827,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error שגיאה - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21800,272 +21879,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_hi-IN.ts b/pcsx2-qt/Translations/pcsx2-qt_hi-IN.ts index 4e7c622709851..00417fe67d48b 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_hi-IN.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_hi-IN.ts @@ -734,307 +734,318 @@ Leaderboard Position: {1} of {2} ग्लोबल समायोजन इस्तमाल करें [%1] - + Rounding Mode राऊंडिंग मोड - - - + + + Chop/Zero (Default) चौप / जिरो (डिफौलट) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) सबसे पास वाला (डिफॉल्ट) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode क्लैंपिंग मोड - - - + + + Normal (Default) नॉर्मल (डिफॉल्ट) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler रिकम्पाईलर सक्षम करे - + - - - + + + - + - - - - + + + + + Checked जांचा हुआ - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. 64-बीट MIPS-IV मशीन कोड को x86 मे जस्ट-ईन-टाईम अनुवाद कर्ता है। - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). वेट लुप डिटेक्शन - + Moderate speedup for some games, with no known side effects. कुछ गेम्स के लिए मध्यम गतिबढ़न, बगेर किसी जाने माने दूश प्रभाव के साथ। - + Enable Cache (Slow) द्रुतिका सक्षम करे (धीमा) - - - - + + + + Unchecked अनियंत्रित - + Interpreter only, provided for diagnostic. केवल ईनटरर्पेटर, निदान के लिए प्रदान किया गया। - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC स्पिन डिटेक्शन - + Huge speedup for some games, with almost no compatibility side effects. कुछ गेम्स के लिए विशाल गतिबढ़न, बगैर किसी सुसंगति दूश प्रभाव के साथ। - + Enable Fast Memory Access तेज मेमोरी एक्सेस सक्षम करे - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) बेकपैचिंग का उपयोग करके रजिस्टर फ्लशिंग का बचाव कर्ता है हर मेमोरी एक्सेस पर। - + Pause On TLB Miss TLB चुकने पर ठेरना - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. TLB चुकने पर वर्चुअल मशीन को अनदेखा करने और जारी रखने के बजाय उसे रोक देता है। ध्यान दें कि VM ब्लॉक के अंत के बाद रुकेगा, न कि उस निर्देश पर जिसके कारण अपवाद हुआ। उस पते को देखने के लिए कंसोल का संदर्भ लें जहां अमान्य पहुंच हुई थी। - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 राऊंडिंग मोड - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 राऊंडिंग मोड - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 क्लैंपिंग मोड - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 क्लैंपिंग मोड - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. VU0 रिकम्पाईलर सक्षम करे (माइक्रो मोड) - + Enables VU0 Recompiler. VU0 रिकम्पाईलर सक्षम कर्ता है - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. VU1 रिकम्पाईलर सक्षम करे - + Enables VU1 Recompiler. VU1 रिकम्पाईलर सक्षम कर्ता है - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU फ्लैग हैक - + Good speedup and high compatibility, may cause graphical errors. अच्छा गतिबढ़ण और उच्च अनुकूलता, मगर ग्राफिकल त्रुटियाँ कर सकता है। - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. 32-बीट MIPS-IV मशीन कोड को x86 मे जस्ट-ईन-टाईम अनुवाद कर्ता है। - + Enable Game Fixes गेम फिक्स सक्षम करें - + Automatically loads and applies fixes to known problematic games on game start. खुद ब खुद ज्ञात समस्यात्मक गेम्स मे फिक्स लगाता है गेम के शुरू होने पर। - + Enable Compatibility Patches कम्पेटिबिलीटी पेचीस सक्षम करे - + Automatically loads and applies compatibility patches to known problematic games. खुद ब खुद ज्ञात समस्यात्मक गेम्स मे सुसंगति पैच लगाता है। - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1257,29 +1268,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control फ्रेम रेट नियंत्रण - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL फ्रेम रेट: - + NTSC Frame Rate: NTSC फ्रेम रेट: @@ -1294,7 +1305,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1339,17 +1350,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE सेटिंग्स - + Slot: स्लॉट: - + Enable सक्षम @@ -1870,8 +1886,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater स्वत: अद्यतन @@ -1911,68 +1927,68 @@ Leaderboard Position: {1} of {2} मुझे बाद में याद दिलाएं - - + + Updater Error अपडेट त्रुटि - + <h2>Changes:</h2> <h2>परिवर्तन:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>सेव स्टेट चेतावनी</h2><p>इस अपडेट को इंस्टॉल करने से आपके सेव स्टेट्स <b>असंगत</b> हो जाएंगे। कृपया सुनिश्चित करें कि आपने इस अद्यतन को स्थापित करने से पहले अपने गेम को मेमोरी कार्ड में सेव कर लिया है अन्यथा आप प्रगति खो देंगे।</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>सेटिंग्स चेतावनी</h2><p>इस अपडेट को इंस्टॉल करने से आपका प्रोग्राम कॉन्फ़िगरेशन रीसेट हो जाएगा। कृपया ध्यान दें कि इस अपडेट के बाद आपको अपनी सेटिंग्स को फिर से कॉन्फ़िगर करना होगा।</p> - + Savestate Warning सेवस्टेट चेतावनी - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>चेतावनी</h1><p style='font-size:12pt;'>इस अपडेट को इंस्टॉल करने से आपके <b>सेव स्टेट्स असंगत</b> हो जाएंगे, <i>सुनिश्चित करें आगे बढ़ने से पहले अपने मेमोरी कार्ड में किसी भी प्रगति को सहेजने के लिए</i>.</p><p>क्या आप जारी रखना चाहते हैं?</p> - + Downloading %1... डाउनलोड कर रहा है %1... - + No updates are currently available. Please try again later. फिलहाल कोई अपडेट उपलब्ध नहीं है. कृपया बाद में पुन: प्रयास करें। - + Current Version: %1 (%2) वर्तमान संस्करण: %1 (%2) - + New Version: %1 (%2) नया संस्करण: %1 (%2) - + Download Size: %1 MB डाउनलोड माप: %1 MB - + Loading... लोड हो रहा है... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2136,19 +2152,19 @@ Leaderboard Position: {1} of {2} सक्षम - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2238,17 +2254,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. गेम डिस्क का स्थान हटाने योग्य ड्राइव पर है, घबराहट और अटकने जैसी प्रदर्शन समस्याएं हो सकती हैं। - + Saving CDVD block dump to '{}'. CDVD ब्लॉक डंप को '{}' में सहेजा जा रहा है। - + Precaching CDVD Precaching CDVD @@ -2273,7 +2289,7 @@ Leaderboard Position: {1} of {2} अनजान - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3230,29 +3246,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3263,40 +3284,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3309,12 +3333,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3323,12 +3362,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3341,13 +3380,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3355,8 +3394,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3364,26 +3403,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4007,63 +4046,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4134,17 +4173,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4796,53 +4850,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4860,48 +4914,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4922,23 +4976,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4948,72 +5002,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5040,86 +5094,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5493,81 +5547,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5701,342 +5750,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6045,1977 +6094,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display ऑन-स्क्रीन डिस्प्ले - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS विन्यास - + BIOS Selection BIOS Selection - + Options and Patches विकल्प ऐवम पैच - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes अपस्केलिंग फिक्सीस - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging लॉगिंग - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8024,2071 +8078,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. टेक्स्चर प्रतिपादन करते समय अनीसोर्टोपिक फिल्टरिंग कहा उपयोग की जाएगी वह चयन कर्ता है। - + Use alternative method to calculate internal FPS to avoid false readings in some games. कुछ गेम्स मे असत्य पढ़ने से बचने के लिए विकल्प माध्यम का प्रयोग करके अंदरूनी FPS की गणना करना। - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account खाता - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game मौजूदा गेम - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11076,32 +11135,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11577,11 +11646,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11591,10 +11660,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11661,7 +11730,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11727,29 +11796,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11760,7 +11819,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11770,18 +11829,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11833,7 +11892,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11880,7 +11939,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11896,7 +11955,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11932,7 +11991,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11948,31 +12007,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11984,15 +12043,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12020,8 +12079,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12078,18 +12137,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12188,13 +12247,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12208,16 +12267,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12290,25 +12339,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12319,7 +12368,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12378,25 +12427,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12406,6 +12455,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12423,13 +12482,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12452,8 +12511,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12474,7 +12533,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12526,7 +12585,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12541,7 +12600,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12562,50 +12621,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12621,13 +12680,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12638,13 +12697,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12670,7 +12729,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12681,43 +12740,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12826,19 +12885,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12891,7 +12950,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12901,1214 +12960,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14116,7 +14175,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14333,254 +14392,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15458,594 +15517,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16058,297 +16131,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16357,12 +16430,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16375,89 +16448,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16466,42 +16539,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16524,25 +16597,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16559,28 +16632,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17372,7 +17450,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18212,12 +18290,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18226,7 +18304,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18235,7 +18313,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18244,7 +18322,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18345,47 +18423,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18518,7 +18596,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21731,42 +21809,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21783,272 +21861,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_hr-HR.ts b/pcsx2-qt/Translations/pcsx2-qt_hr-HR.ts index a3ad4c94d9d70..02b8c2e611b36 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_hr-HR.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_hr-HR.ts @@ -738,307 +738,318 @@ Pozicija na ljestvici: {1} od {2} Koristi globalnu postavku [%1] - + Rounding Mode Način zaokruživanja - - - + + + Chop/Zero (Default) Zaokruži/Manje (Zadano) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Promijeni kako PCSX2 podnosi zaokruživanje dok oponaša the Emotion Engine's Floating Point Unit (EE FPU). Jer razni FPUovi u PS2 nisu sukladni sa internacionalnim standardima, neke igre mogu zahtijevati drugačije načine rada da obavljaju matematiku ispravno. Početna vrijednost podnosi većinu igrica; <b>modificiranje ove postavke dok igra nema vidljivih problema može izazvati nestabilnost.</b> - + Division Rounding Mode Način rada zaokruživanja dijeljenja - + Nearest (Default) Najbliže (Zadano) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Odredi kako se rezultati brojeva sa pomočnim zarezom zaokružuju. Neke igre zahtjevaju specifične postavke; <b>modificiranje ove postavke dok igra nema vidljivih problema može izazvati nestabilnost.</b> - + Clamping Mode Način stezanja - - - + + + Normal (Default) Normalno (Zadano) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Promijeni kako PCSX2 podnosi čuvanje brojeva sa pomičnim zarezom u standardnom x86 dosegu. Početna vrijednost podnosi većinu igrica;<b>modificiranje ove postavke dok igra nema vidljivih problema može izazvati nestabilnost.</b> - - + + Enable Recompiler Omogući Rekompilator - + - - - + + + - + - - - - + + + + + Checked Provjeren - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Izvodi pravovremeni binarni prijevod 64-bitnog MIPS-IV strojnog koda na x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Otkrivanje Petlje Čekanja - + Moderate speedup for some games, with no known side effects. Moderiraj ubrzanje za neke igre, bez poznatih nuspojava. - + Enable Cache (Slow) Omogući Predmemoriju (Sporo) - - - - + + + + Unchecked Neprovjeren - + Interpreter only, provided for diagnostic. Samo interpreter, predviđen za dijagnostiku. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Otkrivanje Centrifuge - + Huge speedup for some games, with almost no compatibility side effects. Ogromna ubrzanje za neke igre, gotovo bez nuspojava kompatibilnosti. - + Enable Fast Memory Access Omogući Brzi Pristup Memoriji - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Koristi backpatching kako bi izbjegao ispiranje registra pri svakom pristupu memoriji. - + Pause On TLB Miss Pauziraj na TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauzira virtualnu mašinu kada dođe do promašaja TLB-a, umjesto da ga ignorira i nastavlja. Imajte na umu da će VM pauzirati nakon završetka bloka, a ne prema uputama koje su uzrokovale iznimku. Pogledajte konzolu da biste vidjeli adresu na kojoj je došlo do nevaljanog pristupa. - + Enable 128MB RAM (Dev Console) Omogući 128MB RAM (Dev konzola) - + Exposes an additional 96MB of memory to the virtual machine. Otvara dodatnih 96 MB memorije virtualnom stroju. - + VU0 Rounding Mode Način Zaokruživanja VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Mijenja kako PCSX2 zaokružuje brojeve dok se emulira Emotion Engine Vector Unit 0 (EE VU0). Zadana vrijednost obrađuje veliku većinu igara; <b>mijenjanje ove postavke dok igra nema vidljivih problema može uzrokovati probleme sa stabilnošću i/ili rušenje.</b> - + VU1 Rounding Mode Način Zaokruživanja VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Mijenja kako PCSX2 zaokružuje brojeve dok se emulira Emotion Engine Vector Unit 1 (EE VU1). Zadana vrijednost obrađuje veliku većinu igara; <b>mijenjanje ove postavke dok igra nema vidljivih problema može uzrokovati probleme sa stabilnošću i/ili rušenje.</b> - + VU0 Clamping Mode Način Stezanja VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Mijenja kako PCSX2 obrađuje čuvanje brojeva s pomičnim zarezom u standardnom x86 rasponu u Emotion Engine Vector Unit 0 (EE VU0). Zadana vrijednost obrađuje veliku većinu igara; <b>mijenjanje ove postavke dok igra nema vidljivih problema može uzrokovati nestabilnost.</b> - + VU1 Clamping Mode Način Stezanja VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Mijenja kako PCSX2 obrađuje čuvanje brojeva s pomičnim zarezom u standardnom x86 rasponu u Emotion Engine Vector Unit 1 (EE VU1). Zadana vrijednost obrađuje veliku većinu igara; <b>mijenjanje ove postavke dok igra nema vidljivih problema može uzrokovati nestabilnost.</b> - + Enable Instant VU1 Omogući trenutni VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Pokreće VU1 istog trena, dajući skromno ubrzanje u izvođenju većine igara. Sigurno za korištenje za većinu igara, no može prouzročiti grafičke greške u nekoliko igara. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Omogući Rekompajler za VU0 (Mikro način rada) - + Enables VU0 Recompiler. Omogućuje Rekompajler za VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Omogući Rekompajler za VU1 - + Enables VU1 Recompiler. Omogućuje Rekompajler za VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. Dobro ubrzanje i visoka kompatibilnost mogu uzrokovati grafičke pogreške. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Izvodi pravovremeni binarni prijevod 32-bitnog MIPS-I strojnog koda na x86. - + Enable Game Fixes Omogući Popravke Igara - + Automatically loads and applies fixes to known problematic games on game start. Automatski učitava i primjenjuje popravke na poznate problematične igre pri pokretanju igre. - + Enable Compatibility Patches Omogući Zakrpe za Kompatibilnost - + Automatically loads and applies compatibility patches to known problematic games. Automatski učitava i primjenjuje zakrpe za kompatibilnost na poznate problematične igre. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1261,29 +1272,29 @@ Pozicija na ljestvici: {1} od {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Upravljanje brzinom sličica po sekundi - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL sličice po sekundi: - + NTSC Frame Rate: NTSC sličice po sekundi: @@ -1298,7 +1309,7 @@ Pozicija na ljestvici: {1} od {2} Compression Level: - + Compression Method: Compression Method: @@ -1343,17 +1354,22 @@ Pozicija na ljestvici: {1} od {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings Postavke PINE-a - + Slot: Utor: - + Enable Dopusti @@ -1874,8 +1890,8 @@ Pozicija na ljestvici: {1} od {2} AutoUpdaterDialog - - + + Automatic Updater Automatski ažuriratelj @@ -1915,69 +1931,69 @@ Pozicija na ljestvici: {1} od {2} Podsjeti me kasnije - - + + Updater Error Greška ažuriratelja - + <h2>Changes:</h2> <h2>Promjene:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Upozorenje Sacuvane Pozicije</h2><p>instaliranje ovog ažuriranja će učiniti vaše sačuvane pozicije <b>nekompatibilnima</b>.Molimo osigurajte da ste sačuvali vaše igre na Memorijsku Karticu prije instaliranja ovog ažuriranja ili će te izgubiti napredak.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Postavke Upozorenje</h2><p>Instaliranjem ovog ažuriranja će resetirati vaš programski oblik. Molimo zabilježite da ćete morati ponovno configurirati vaše postavke nakon ovog ažuriranja</p> - + Savestate Warning Upozorenje Savestateova - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>UPOZORENJE</h1><p style='font-size:12pt;'>;instaliranje ovog ažuriranja će učiniti vaše <b> sačuvane pozicije ne upotreblivimae</b>, <i>budite sigurni da savučate bilo koji napredak na vaše memory kartice prije postupka </i>.</p><p> Želite li nastaviti?</p> - + Downloading %1... Preuzimanje %1... - + No updates are currently available. Please try again later. Nije dostupno nijedno ažuriranje. Molimo pokušajte ponovo kasnije. - + Current Version: %1 (%2) Trenutna verzija: %1 (%2) - + New Version: %1 (%2) Nova verzija: %1 (%2) - + Download Size: %1 MB Veličina Preuzimanja: %1 MB - + Loading... Učitavanje... - + Failed to remove updater exe after update. Uklanjanje updater exe datoteke nije uspjelo nakon ažuriranja. @@ -2141,19 +2157,19 @@ Pozicija na ljestvici: {1} od {2} Dopusti - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2243,17 +2259,17 @@ Pozicija na ljestvici: {1} od {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Lokacija diska s igrom je na prijenosnom disku, mogu se pojaviti problemi s performansama poput podrhtavanja i zamrzavanja. - + Saving CDVD block dump to '{}'. ČUvanje CDVD da se blokira istovarenje do '{}'. - + Precaching CDVD Predmemoriranje CDVD @@ -2278,7 +2294,7 @@ Pozicija na ljestvici: {1} od {2} Nepoznato - + Precaching is not supported for discs. Predmemoriranje nije podržano za diskove. @@ -3235,29 +3251,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Izbriši Profil - + Mapping Settings Mapping Settings - - + + Restore Defaults Vrati na Zadano - - - + + + Create Input Profile Izradi Ulazni Profil - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3268,40 +3289,43 @@ Kako bi ste stavili prilagođeni ulazni profil na igru, idite nja njena svojstva Upišite ime za novi ulazni profil: - - - - + + + + + + Error Greška - + + A profile with the name '%1' already exists. Profil s imenom '%1' već postoji. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3314,12 +3338,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3328,12 +3367,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3346,13 +3385,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3360,8 +3399,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3369,26 +3408,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4012,63 +4051,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4139,17 +4178,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4801,53 +4855,53 @@ Do you want to overwrite? PCSX2 Otklanjač Grešaka - + Run Pokreni - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Prikaži ovaj prozor na vrhu - + Analyze Analyze @@ -4865,48 +4919,48 @@ Do you want to overwrite? Disassembly - + Copy Address Kopiraj Adresu - + Copy Instruction Hex Kopiraj Heksadekadsku Vrijendnost Instrukcije - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Dodaj Funkciju - - + + Rename Function Preimenuj Funkciju - + Remove Function Ukloni Funkciju @@ -4927,23 +4981,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4953,72 +5007,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5045,86 +5099,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Nema Slike - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Zapisivanje '%1' neuspješno. @@ -5498,81 +5552,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5706,342 +5755,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Koristi Globalnu Postavku - + Automatic binding failed, no devices are available. Automatsko spajanje neuspjelo, nijedan uređaj nije dostupan. - + Game title copied to clipboard. Naziv igre kopiran u međuspremnik. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Regija igre kopirana u međuspremnik. - + Game compatibility copied to clipboard. Kompatibilnost igre kopirana u međuspremnik. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Stvori Novi... - + Enter the name of the input profile you wish to create. Unesite ime profila ulaza koje želite stvoriti. - + Are you sure you want to restore the default settings? Any preferences will be lost. Jeste li sigurni da želite vratiti početne postavke? Sve preference će biti poništene. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Nepoznat - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6050,1977 +6099,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Omjer Prikaza - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Okomito Rastezanje - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Obreži - + Crops the image, while respecting aspect ratio. Obrezuje sliku, zadržavši omjer slike. - + %dpx %d px - - Enable Widescreen Patches - Omogući Zakrpe Širokog Ekrana - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Unutarnja Rezolucija - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Omogućava FXAA poslije-procesni shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Oštrina - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filteri - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Prilagodba svjetline. 50 je normalno. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Prilagodba kontrasta. 50 je normalno. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaderi - + Advanced Napredno - + Skip Presenting Duplicate Frames Preskoči Prikazivanje Dupliciranih Slika - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Okidač - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Promijeni Odabir - + Select Odaberi - + Parent Directory Parent Directory - + Enter Value Unesite Vrijednost - + About O programu - + Toggle Fullscreen Uključi/Isključi cijeli zaslon - + Navigate Navigiraj - + Load Global State Učitaj Globalno Stanje - + Change Page Promjeni Stranicu - + Return To Game Vrati se Igri - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Stvori Memorijsku Karticu - + Configuration Podešavanje - + Start Game Započni Igru - + Launch a game from a file, disc, or starts the console without any disc inserted. Pokreni igru s datoteke, diska, ili započni igru bez umetnutog diska. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Nazad - + Return to the previous menu. Povratak na prethodni meni. - + Exit PCSX2 Izađi iz PCSX2 - + Completely exits the application, returning you to your desktop. Potpuni izlaz iz aplikacije, vraćajući Vas na radnu površinu. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Izlaz iz Moda Velike Slike, vraćajući Vas na sučelje radne površine. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Pruža podršku za vibraciju i kontrolu LED-ica preko Bluetootha. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Spremi Stanje - + Load Resume State Učitaj Spremljeno Stanje - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8029,2071 +8083,2076 @@ Do you want to load this save and continue? Želite li učitati ovo stanje i nastaviti? - + Region: Regija: - + Compatibility: Kompatibilnost: - + No Game Selected Igra Nije Izabrana - + Search Directories Search Directories - + Adds a new directory to the game search list. Dodaje novu direktorij za traženje igara. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Postavke Naslovnice - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Zvučni poslužitelj - + The audio backend determines how frames produced by the emulator are submitted to the host. Zvučni poslužitelj određuje kako su sličice proizvedene od strane emulatora predane domaćinu. - + Expansion Proširenje - + Determines how audio is expanded from stereo to surround for supported games. Određuje kako se zvuk širi sa stereo načina na surround način u podržanim igrama. - + Synchronization Sinkronizacija - + Buffer Size Veličina međuspremnika - + Determines the amount of audio buffered before being pulled by the host API. Određuje količinu zvuka u međuspremniku prije nego što se izvadi od strane API-ja domaćina. - + Output Latency Latencija Izlaza - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Direktorij) - + Failed to load '{}'. Učitavanje nije uspjelo '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Ulaz {} Vrsta Kontrolera - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Ulaz {} Uređaj - + Port {} Subtype Ulaz {} Podtip - + {} unlabelled patch codes will automatically activate. {} neoznačeni kodovi zakrpe će se automatski aktivirati. - + {} unlabelled patch codes found but not enabled. {} pronađeni su neoznačeni kodovi zakrpe ali nisu omogućeni. - + This Session: {} Ova sessija: {} - + All Time: {} Svo vrijeme: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings Postakve BIOS-a - + Emulation Settings Postavke Emulacije - + Graphics Settings Postavke Prikaza - + Audio Settings Postavke Zvuka - + Memory Card Settings Postavke Memorijske Kartice - + Controller Settings Postavke Kontrolera - + Hotkey Settings Hotkey Settings - + Achievements Settings Postavke Postignuća - + Folder Settings Postavke Direktorija - + Advanced Settings Napredne Postavke - + Patches Zakrpe - + Cheats Varanje - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Potpuni - + Extra Dodatno - + Automatic (Default) Automatski (Zadano) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Programska podrška - + Null Null - + Off Isključen - + Bilinear (Smooth) Bilinear (Mekano) - + Bilinear (Sharp) Bilinear (Oštro) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Izvorno (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forsirano) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Rezolucija Zaslona - + Internal Resolution (Aspect Uncorrected) Unutarnja Rezolucija (Omjer Neispravljen) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy UPOZORENJE: Memorijska Kartica Zauzeta - + Cannot show details for games which were not scanned in the game list. Nije moguće pokazati detalje o igrama koje nisu skenirane u popisu igara. - + Pause On Controller Disconnection Pauziraj Pri Odspajanju Kontrolera - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Mrtva zona - + Full Boot Puno Paljenje - + Achievement Notifications Obavijest Postignuća - + Leaderboard Notifications Obavijest Ljestvice - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Način Gledatelja - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Pokreni BIOS - + Start Disc Pokreni Disk - + Exit Izlaz - + Set Input Binding Set Input Binding - + Region Regija - + Compatibility Rating Ocjena Kompatibilnosti - + Path Putanja - + Disc Path Putanja Diska - + Select Disc Path Izaberite Putanju Diska - + Copy Settings Kopiranj Postavke - + Clear Settings Izbriši Postavke - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Omogući Diskord Prisutnost - + Pause On Start Pauziraj Na Početku - + Pause On Focus Loss Pauziraj Na Gubljenju Fokusa - + Pause On Menu Pauziraj Na Meniju - + Confirm Shutdown Potvrdite Gašenje - + Save State On Shutdown Spremite Stanje Igre Pri Gašenju - + Use Light Theme Koristi Svijetlu Temu - + Start Fullscreen Pokreni Preko Cijelog Ekrana - + Double-Click Toggles Fullscreen Dvostruki Klik Pali-Gasi Puni Zaslon - + Hide Cursor In Fullscreen Sakrij Pokazivač U Punom Zaslonu - + OSD Scale OSD Scale - + Show Messages Prikaži Poruke - + Show Speed Prikaži Brzinu - + Show FPS Prikaži FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Tipke - + Frequency Frekvencija - + Pressure Pritisak - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB utor {} - + Device Type Vrsta Uređaja - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Izbriši Mapiranja - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Nastavite Igru - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Promijeni Disk - + Close Game Zatvori Igru - + Exit Without Saving Izlaz Bez Spremanja - + Back To Pause Menu Povratak na Meni - + Exit And Save State Izlaz i Spremanja Stanja Igre - + Leaderboards Poredak - + Delete Save Delete Save - + Close Menu Zatvori Izbornik - + Delete State Obriši Stanje - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Testirajte Neslužbena Postignuća - + Username: {} Korisničko Ime: {} - + Login token generated on {} Token za prijavu generiran na {} - + Logout Odjava - + Not Logged In Niste Prijavljeni - + Login Prijava - + Game: {0} ({1}) Igra: {0} ({1}) - + Rich presence inactive or unsupported. Bogata prisutnost je neaktivna ili nepodržana. - + Game not loaded or no RetroAchievements available. Igra nije učitana ili RetroAchievemnts ne radi. - + Card Enabled Card Enabled - + Card Name Naziv Kartice - + Eject Card Eject Card @@ -11083,32 +11142,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11584,11 +11653,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11598,10 +11667,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11668,7 +11737,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11734,29 +11803,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11767,7 +11826,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11777,18 +11836,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11840,7 +11899,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11887,7 +11946,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11903,7 +11962,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11939,7 +11998,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11955,31 +12014,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11991,15 +12050,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12027,8 +12086,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12085,18 +12144,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12195,13 +12254,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12215,16 +12274,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12297,25 +12346,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12326,7 +12375,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12385,25 +12434,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12413,6 +12462,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12430,13 +12489,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12459,8 +12518,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12481,7 +12540,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12533,7 +12592,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12548,7 +12607,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12569,50 +12628,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12628,13 +12687,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12645,13 +12704,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12677,7 +12736,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12688,43 +12747,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12833,19 +12892,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12898,7 +12957,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12908,1214 +12967,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Zadano - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14123,7 +14182,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14340,254 +14399,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15466,594 +15525,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16066,297 +16139,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16365,12 +16438,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16383,89 +16456,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16474,42 +16547,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16532,25 +16605,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16567,28 +16640,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17380,7 +17458,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18220,12 +18298,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18235,7 +18313,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18245,7 +18323,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18255,7 +18333,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18356,47 +18434,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18529,7 +18607,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21742,42 +21820,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21794,272 +21872,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. Konverzija paleta GPU-a je dopuštena, ovo bi moglo smanjiti performanse. - + Texture Preloading is not Full, this may reduce performance. Predučitavanje tekstura nije puno, ovo bi moglo smanjiti performanse. - + Estimate texture region is enabled, this may reduce performance. Procjenjena regija tekstura je dopuštena, ovo bi moglo smanjiti performanse. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_hu-HU.ts b/pcsx2-qt/Translations/pcsx2-qt_hu-HU.ts index b6c7405df3e65..5397623d25fdf 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_hu-HU.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_hu-HU.ts @@ -27,17 +27,17 @@ Website - Kezdőlap + Weboldal Support Forums - Közösségi fórum + Közösségi Fórum GitHub Repository - GitHub repó + GitHub Repó @@ -47,7 +47,7 @@ Third-Party Licenses - Harmadik féltől származó licencek + Harmadik Féltől Származó Licencek @@ -732,307 +732,318 @@ Ranglista Helyezés: {1}/{2} Globális Beállítások Használata [%1] - + Rounding Mode Kerekítési Mód - - - + + + Chop/Zero (Default) Levágás/Nulla (Alapértelmezett) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Megváltoztatja hogyan kezeli a PCSX2 a kerekítést, mikor az Emotion Engine lebegőpontos egységét emulálja (EE FPU). Mivel a PS2 különféle FPU-i nem felelnek meg a nemzetközi szabványoknak, néhány játéknál más módokra lehet szükség, hogy helyesen végezze el a számításokat. Az alap érték megfelelően kezeli a játékok nagy részét; <b> Ennek a beállításnak a megváltoztatása, mikor egy játéknak nincs látható problémája, instabilitáshoz vezethet.</b> - + Division Rounding Mode Osztási Kerekítési Mód - + Nearest (Default) Legközelebbi (Alapértelmezett) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Meghatározza, hogy a lebegőpontos osztás eredményét hogyan kerekíti. Néhány játék csak egy bizonyos beállítással működik megfelelően; <b> Ennek a beállításnak a megváltoztatása, mikor egy játéknak nincs látható problémája, instabilitáshoz vezethet.</b> - + Clamping Mode Rögzítési Mód - - - + + + Normal (Default) Normál (Alapértelmezett) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Megváltoztatja hogyan tartja a PCSX2 a lebegőpontos értékeket az szabvány x86 tartományban. Az alap érték megfelelően kezeli a játékok nagy részét; <b> Ennek a beállításnak a megváltoztatása, mikor egy játéknak nincs látható problémája, instabilitáshoz vezethet.</b> - - + + Enable Recompiler Újrafordító Engedélyezése - + - - - + + + - + - - - - + + + + + Checked Bejelölve - + + Use Save State Selector + Állásmentés Választó Használata + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Grafikus felület megjelenítése mentési foglalat váltásakor információs buborék helyett. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - Valós idejű (JIT) bináris fordítást végez 64-bites MIPS-IV gépi kódról x86 kódra. + Futás idejű (JIT) bináris fordítást végez 64-bites MIPS-IV gépi kódról x86 kódra. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Várakozási Hurok Felismerése - + Moderate speedup for some games, with no known side effects. Szerény teljesítmény növekedés bizonyos játékoknál, ismert problémák nélkül. - + Enable Cache (Slow) Pufferelés bekapcsolása (lassú) - - - - + + + + Unchecked Nincs Bejelölve - + Interpreter only, provided for diagnostic. Kizárólag az értelmező módhoz elérhető, diagnosztikai célokra. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Időzítés Átugrása - + Huge speedup for some games, with almost no compatibility side effects. Nagy teljesítmény növekedés bizonyos játékok esetén, legtöbb esetben problémák nélkül. - + Enable Fast Memory Access Gyors Memória Hozzáférés Engedélyezése - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Visszamenőleges csatolást használ, hogy elkerülje a regiszterek kiürítését minden memória-hozzáféréskor. - + Pause On TLB Miss Szünet TLB kivétel esetén - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. A virtuális gép szüneteltetése ha TLB kivétel történik, a végrehajtás folytatása helyett. Fontos, hogy a virtuális gép az adott blokk végén fog megállni, nem az eseményt kiváltó utasításon. Az konzolkimenetben megtalálható az érvénytelen utasítás címe. - + Enable 128MB RAM (Dev Console) 128MB RAM Engedélyezése (Fejlesztői Konzol) - + Exposes an additional 96MB of memory to the virtual machine. Bővíti a virtuális gép memóriáját további 96MB-al. - + VU0 Rounding Mode VU0 Kerekítési Mód - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Megváltoztatja hogyan kezeli a PCSX2 a kerekítést mikor az Emotion Engine 0-ás vektor egységét emulálja (EE VU0). Az alap érték megfelelően kezeli a játékok nagy részét; <b> Ennek a beállításnak a megváltoztatása, mikor egy játéknak nincs látható problémája, instabilitáshoz és/vagy összeomláshoz vezethet.</b> - + VU1 Rounding Mode VU1 Kerekítési Mód - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Megváltoztatja hogyan kezeli a PCSX2 a kerekítést mikor az Emotion Engine 1-es vektor egységét emulálja (EE VU1). Az alap érték megfelelően kezeli a játékok nagy részét; <b> Ennek a beállításnak a megváltoztatása, mikor egy játéknak nincs látható problémája, instabilitáshoz és/vagy összeomláshoz vezethet.</b> - + VU0 Clamping Mode VU0 Rögzítési Mód - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Megváltoztatja hogyan tartja a PCSX2 a lebegőpontos értékeket az szabvány x86 tartományban az Emotion Engine 0-ás vektor egységében (EE VU0). Az alap érték megfelelően kezeli a játékok nagy részét; <b> Ennek a beállításnak a megváltoztatása, mikor egy játéknak nincs látható problémája, instabilitáshoz vezethet.</b> - + VU1 Clamping Mode VU1 Rögzítési Mód - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Megváltoztatja hogyan tartja a PCSX2 a lebegőpontos értékeket az szabvány x86 tartományban az Emotion Engine 1-es vektor egységében (EE VU1). Az alap érték megfelelően kezeli a játékok nagy részét; <b> Ennek a beállításnak a megváltoztatása, mikor egy játéknak nincs látható problémája, instabilitáshoz vezethet.</b> - + Enable Instant VU1 Azonnali VU1 Engedélyezése - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Azonnal futtatja a VU1-et. Szerény teljesítmény növekedést hozhat a legtöbb játéknál. A legtöbb esetben biztonságos, de néhány játékban grafikai hibákat okozhat. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. VU0 Újrafordító Engedélyezése (Mikro Mód) - + Enables VU0 Recompiler. Újrafordító használata VU0 vektor egység kódjaihoz. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. VU1 Újrafordító Engedélyezése - + Enables VU1 Recompiler. Újrafordító használata VU1 vektor egység kódjaihoz. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Felesleges Flag Kihagyása - + Good speedup and high compatibility, may cause graphical errors. Teljesítmény növekedés és magas kompatibilitás, néha grafikai hibákat okozhat. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Futás idejű (JIT) bináris fordítást végez 32-bites MIPS-I gépi kódról x86 kódra. - + Enable Game Fixes - Játékjavítások Engedélyezése + Játék Tapaszok Engedélyezése - + Automatically loads and applies fixes to known problematic games on game start. - Automatikusan betölti és alkalmazza a javításokat az ismert problémás játékokra a játék indításakor. + Automatikusan betölti és alkalmazza a javításokat az ismert problémás játékokra azok indításakor. - + Enable Compatibility Patches - Kompatibilitási Javítások Engedélyezése + Kompatibilitási Tapaszok Engedélyezése - + Automatically loads and applies compatibility patches to known problematic games. - Automatikusan betölti és alkalmazza a kompatibilitási javításokat az ismert problémás játékokhoz. + Automatikusan betölti és alkalmazza a kompatibilitási tapaszokat az ismert problémás játékokhoz. - + Savestate Compression Method Állásmentés Tömörítési Módja - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Meghatározza a játék állás mentések tömörítési algoritmusát. - + Savestate Compression Level Állásmentések Tömörítési Szintje - + Medium Közepes - + Determines the level to be used when compressing savestates. Meghatározza milyen szinten legyenek tömörítve az állásmentések. - + Save State On Shutdown Állás Mentése Leállításkor - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatikusan menti az emulátor állapotát leállításnál vagy kilépésnél. Következő alkalommal ugyanott folytathatod. - + Create Save State Backups Állásmentés Biztonsági Másolat - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Készít egy biztonsági mentést a játék állás mentéséről ha létezik már egy ilyen fájl a mentés pillanatában. A biztonsági mentés a .backup kiterjesztést kapja. @@ -1247,7 +1258,7 @@ Ranglista Helyezés: {1}/{2} Enable Compatibility Patches - Kompatibilitási Javítások Engedélyezése + Kompatibilitási Tapaszok Engedélyezése @@ -1255,29 +1266,29 @@ Ranglista Helyezés: {1}/{2} Állásmentés Biztonsági Másolat - + Save State On Shutdown Állás Mentése Leállítás Esetén - + Frame Rate Control Képfrissítési Arány Vezérlés - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Képfrissítési Gyakoriság: - + NTSC Frame Rate: NTSC Képfrissítési Gyakoriság: @@ -1292,7 +1303,7 @@ Ranglista Helyezés: {1}/{2} Tömörítési Szint: - + Compression Method: Tömörítési Eljárás: @@ -1337,17 +1348,22 @@ Ranglista Helyezés: {1}/{2} Nagyon Magas (Lassú, Nem Ajánlott) - + + Use Save State Selector + Állásmentés Választó Használata + + + PINE Settings PINE Beállítások - + Slot: Port: - + Enable Engedélyezés @@ -1357,7 +1373,7 @@ Ranglista Helyezés: {1}/{2} Analysis Options - Ellemzés Beállítások + Elemzés Beállítások @@ -1447,12 +1463,12 @@ Ranglista Helyezés: {1}/{2} Low Cutoff: - Alacsony frekvenciák kivágása: + Alacsony frekvenciák levágása: High Cutoff: - Magas frekvenciák kivágása: + Magas frekvenciák levágása: @@ -1649,7 +1665,7 @@ Ranglista Helyezés: {1}/{2} The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. - A hang feldolgozó határozza meg, hogy az emulátor által készített képkockák hogyan kerülnek a gazdagéphez. A Cubeb biztosija a legalacsonyabb késleltetést, ha problémába ütközöl, próbáld ki az SDL feldolgozót. A null letilt minden hang kimenetet. + A hang feldolgozó határozza meg, hogy az emulátor által készített képkockák hogyan kerülnek a gazdagéphez. A Cubeb biztosítja a legalacsonyabb késleltetést, ha problémába ütközöl, próbáld ki az SDL feldolgozót. A null letilt minden hang kimenetet. @@ -1702,7 +1718,7 @@ Ranglista Helyezés: {1}/{2} Disabled (Stereo) - Kikapcsolva (sztereó) + Kikapcsolva (Sztereó) @@ -1782,7 +1798,7 @@ Ranglista Helyezés: {1}/{2} Stereo with LFE - Sztereo LFE-vel + Sztereó LFE-vel @@ -1868,8 +1884,8 @@ Ranglista Helyezés: {1}/{2} AutoUpdaterDialog - - + + Automatic Updater Automatikus Frissítés @@ -1909,69 +1925,69 @@ Ranglista Helyezés: {1}/{2} Emlékeztess Később - - + + Updater Error Frissítési Hiba - + <h2>Changes:</h2> <h2>Változások:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Állapotmentésekkel kapcsolatos figyelmeztetés</ h2><p>Ez a frissítés a jelenlegi állapotmentéseidet <b>használhatatlanná</b> fogja tenni. Győződj meg róla, hogy a játékállásaidat memóriakártyára is lementetted mielőtt frissítenél, különben elveszhetnek.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Beállítások Figyelmeztetés</h2><p>A frissítés telepítése alaphelyzetbe állítja a program beállításait. Kérjük, vedd figyelembe, hogy a frissítés után újra be kell konfigurálnod a beállításaidat.</p> - + Savestate Warning Állásmentések Figyelmeztetés - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>FIGYELEM</h1><p style='font-size:12pt;'>A frissítés telepítése az <b>állás mentéseket inkompatibilissé teszi</b>, <i>a folytatás előtt mindenképpen mentsd el az eddigi játékbeli haladásodat a memóriakártyára</i>.</p><p>Kívánod folytatni?</p> - + Downloading %1... Letöltés %1... - + No updates are currently available. Please try again later. Nincs jelenleg elérhető frissítés. Kérjük próbáld újra később. - + Current Version: %1 (%2) Jelenlegi Verzió: %1 (%2) - + New Version: %1 (%2) Új Verzió: %1 (%2) - + Download Size: %1 MB Letöltési Méret: %1 MB - + Loading... Betöltés... - + Failed to remove updater exe after update. A frissítő exe fájljának eltávolítása sikertelen a frissítés után. @@ -2135,19 +2151,19 @@ h2><p>Ez a frissítés a jelenlegi állapotmentéseidet <b>haszn Engedélyezés - - + + Invalid Address Érvénytelen cím - - + + Invalid Condition Érvénytelen Kondició - + Invalid Size Érvénytelen méret @@ -2237,17 +2253,17 @@ h2><p>Ez a frissítés a jelenlegi állapotmentéseidet <b>haszn CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. A játéklemez egy cserélhető meghajtón található, teljesítmény problémák, mint például szaggatás és lefagyás történhet. - + Saving CDVD block dump to '{}'. CDVD blokk mentése ide: '{}'. - + Precaching CDVD CDVD Előtöltés @@ -2272,7 +2288,7 @@ h2><p>Ez a frissítés a jelenlegi állapotmentéseidet <b>haszn Ismeretlen - + Precaching is not supported for discs. Az előtöltés lemezeknél nem támogatott. @@ -2955,12 +2971,12 @@ h2><p>Ez a frissítés a jelenlegi állapotmentéseidet <b>haszn Multitap on Console Port 1 - Multitap a konzol első csatlakozóján + Multitap a Konzol 1-es Portján Multitap on Console Port 2 - Multitap a konzol második csatlakozóján + Multitap a Konzol 2-es Portján @@ -3057,7 +3073,7 @@ h2><p>Ez a frissítés a jelenlegi állapotmentéseidet <b>haszn Select the trigger to activate this macro. This can be a single button, or combination of buttons (chord). Shift-click for multiple triggers. - Válaszd ki a makró aktiválásához használandó gombot(kat). Ez lehet egyetlen gomb vagy gombok kombinációja (akkord). Több gombhoz Shift-kattintás. + Válaszd ki a makró aktiválásához használandó gombot/gombokat. Ez lehet egyetlen gomb vagy gombok kombinációja (akkord). Több gombhoz Shift-Kattintás. @@ -3077,7 +3093,7 @@ h2><p>Ez a frissítés a jelenlegi állapotmentéseidet <b>haszn Macro will toggle every N frames. - A makró minden N képkockaként kapcsolódni fog. + A makró minden N képkockánként kapcsolódni fog. @@ -3154,7 +3170,7 @@ Not Configured/Buttons configured <html><head/><body><p>Some third party controllers incorrectly flag their analog sticks as inverted on the positive component, but not negative.</p><p>As a result, the analog stick will be &quot;stuck on&quot; even while resting at neutral position. </p><p>Enabling this setting will tell PCSX2 to ignore inversion flags when creating mappings, allowing such controllers to function normally.</p></body></html> - <html><head/><body><p>Néhány harmadik féltől származó játékvezérlő hibásan inverznek jelöli az analóg karját a pozitív irányba, de nem a negatívba.</p><p>Ennek eredményeképp, az analóg kar &quot;beragad&quot; még akkor is ha alaphelyzetben van. </p><p>Ennek a beállításnak az engedélyezése, jelzi a PCSX2-nek hogy ne vegye figyelembe a inverz jelöléseket mikor hozzárendeli őket, így megfelelően működhetnek ezek a játékvezérlők.</p></body></html> + <html><head/><body><p>Néhány harmadik féltől származó játékvezérlő hibásan inverznek jelöli az analóg karját a pozitív irányba, de nem a negatívba.</p><p>Ennek eredményeképp, az analóg kar &quot;beragad&quot; még akkor is ha alaphelyzetben van. </p><p>Ennek a beállításnak az engedélyezése jelzi a PCSX2-nek, hogy ne vegye figyelembe a inverz jelöléseket mikor hozzárendeli őket, így megfelelően működhetnek ezek a játékvezérlők.</p></body></html> @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Profil Átnevezése + + + Delete Profile Profil Törlése - + Mapping Settings Hozzárendelési Beállítások - - + + Restore Defaults Alapértelmezett beállítások visszaállítása - - - + + + Create Input Profile Beviteli Profil Létrehozása - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,58 +3282,76 @@ Ha egyéni bemeneti profilt szeretnél alkalmazni egy játékra, menj a játék Add meg az új bemeneti profil nevét: - - - - + + + + + + Error Hiba - + + A profile with the name '%1' already exists. A profil a(z) '%1' névvel már létezik. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Szeretnéd átmásolni az összes kiosztást a jelenleg kiválasztott profilból egy új profilba? A nem választása esetén egy új üres profil készül. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Szeretnéd átmásolni a jelenlegi gyorsbillentyű kiosztást a globális beállításokból egy új bemeneti profilba? - + Failed to save the new profile to '%1'. Nem sikerült elmenteni az új profilt a következő helyre: '%1'. - + Load Input Profile Beviteli Profil Betöltése - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - Biztos vagy benne, hogy szeretnéd betölteni a'%1' nevű bemeneti profilt? + Biztos vagy benne, hogy szeretnéd betölteni a '%1' nevű bemeneti profilt? Minden jelenlegi globális kiosztás törölve lesz, és a profil beállításai lesznek betöltve. Ez a művelet nem visszavonható. - + + Rename Input Profile + Bemeneti Profil Átnevezése + + + + Enter the new name for the input profile: + Írd be a bemeneti profil új nevét: + + + + Failed to rename '%1'. + Sikertelen a(z) '%1' átnevezése. + + + Delete Input Profile Beviteli Profil Törlése - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. Ez a művelet nem visszavonható. - + Failed to delete '%1'. '%1' törlése sikertelen. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,46 +3378,46 @@ Minden megosztott kiosztás és beállítás elveszik, de a bemeneti profiljaid Ez a művelet nem visszavonható. - + Global Settings Globális Beállítások - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. Játékvezérlő Port %1%2 %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. Játékvezérlő Port %1 %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Gyorsbillentyű - + Shared "Shared" refers here to the shared input profile. Megosztott - + The input profile named '%1' cannot be found. A beviteli profil az alábbi névvel nem található: '%1'. @@ -3403,12 +3442,12 @@ Ez a művelet nem visszavonható. By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. - Alapból a letöltött borítók a játék sorozat számával kerülnek mentésre, hogy ne okozzon problémát a GameDB változtatásokkal és a több régióban megjelent címek ne írják felül egymást. Ha ez nem szükséges jelöld be a "Használja a Címet Fájlnévnek" opciót lent. + Alapból a letöltött borítók a játék sorozatszámával kerülnek mentésre, hogy ne okozzon problémát a GameDB változtatásokkal és a több régióban megjelent címek ne írják felül egymást. Ha ez nem szükséges jelöld be a "Cím Használata Fájlnévként" opciót lent. Use Title File Names - Alapból a letöltött borítók a játék sorozat számával kerülnek mentésre, hogy ne okozzon problémát a GameDB változtatásokkal és a több régióban megjelent címek ne írják felül egymást. Ha ez nem szükséges jelöld be a "Használja a Címet Fájlnévnek" opciót lent. + Cím Használata Fájlnévként @@ -4002,63 +4041,63 @@ Szeretnéd Felülírni? Importálás Fájlból (.elf, .sym stb.): - + Add Hozzáad - + Remove Eltávolít - + Scan For Functions Függvények Keresése - + Scan Mode: Keresési Mód: - + Scan ELF Keresés ELF-ben - + Scan Memory Keresés Memóriában - + Skip Kihagyás - + Custom Address Range: Egyedi Címtartomány: - + Start: Eleje: - + End: Vége: - + Hash Functions Hash Funkciók - + Gray Out Symbols For Overwritten Functions Szürke Szimbólumok a Felülírt Függvényekhez @@ -4081,7 +4120,7 @@ Szeretnéd Felülírni? Import symbol tables stored in the game's boot ELF. - Szimbólumok importálása a játék ELF inditó fájljából. + Szimbólumok importálása a játék ELF indító fájljából. @@ -4129,17 +4168,32 @@ Szeretnéd Felülírni? Generáljon hash-okat az összes felismert függvényhez, és szürkítse ki a hibakeresőben megjelenített szimbólumokat a már nem egyező függvények esetében. - + <i>No symbol sources in database.</i> <i>Nincs szimbólumforrás az adatbázisban.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Indítsa el ezt a játékot a szimbólumforrások listájának módosításához.</i> - + + Path + Útvonal + + + + Base Address + Bázis Cím + + + + Condition + Állapot + + + Add Symbol File Szimbólumfájl Hozzáadása @@ -4579,7 +4633,7 @@ Szeretnéd Felülírni? Log DMA-related MMIO accesses. - Naplózza a DMA-val kapcsolatos MMIO-hozzáféréseket. + Naplózza a DMA-val kapcsolatos MMIO hozzáféréseket. @@ -4791,53 +4845,53 @@ Szeretnéd Felülírni? PCSX2 Hibakereső - + Run Futtatás - + Step Into Lépj bele - + F11 F11 - + Step Over Lépd át - + F10 F10 - + Step Out Lépj vissza - + Shift+F11 Shift+F11 - + Always On Top Mindig felül - + Show this window on top Ezen ablak felül mutatása - + Analyze Elemzés @@ -4852,51 +4906,51 @@ Szeretnéd Felülírni? Disassembly - Disassembly + Visszafejtés - + Copy Address Cím Másolása - + Copy Instruction Hex Utasítás Másolása (Hexadecimálisan) - + NOP Instruction(s) NOP Utasítás(ok) - + Run to Cursor Futtatás a Kurzorig - + Follow Branch Branch Követése - + Go to in Memory View Memória Nézetbe lépés - + Add Function Függvény Hozzáadása - - + + Rename Function Függvény Átnevezése - + Remove Function Függvény Eltávolítása @@ -4917,23 +4971,23 @@ Szeretnéd Felülírni? Utasítás Összerakás - + Function name Függvény neve - - + + Rename Function Error Függvény Hiba Átnevezése - + Function name cannot be nothing. A Függvény nem lehet semmi. - + No function / symbol is currently selected. Nincs függvény / szimbólum jelenleg kiválasztva. @@ -4943,73 +4997,72 @@ Szeretnéd Felülírni? Ugrás ide a disassemblerben - + Cannot Go To - - + Nem Lehet Ide Ugrani - + Restore Function Error Függvény Hiba Visszaállítása - + Unable to stub selected address. Nem sikerült a kiválasztott címet lekötni. - + &Copy Instruction Text - &Utasítás Text Másolása + &Utasítás Szöveg Másolása - + Copy Function Name Függvény Név Másolása - + Restore Instruction(s) Utasítás(ok) visszaállítása - + Asse&mble new Instruction(s) Új utasítás(ok) összeállítása - + &Jump to Cursor &Ugrás a Kurzorhoz - + Toggle &Breakpoint Töréspont &Bekapcsolása - + &Go to Address &Ugrás Címhez - + Restore Function Függvény Visszaállítása - + Stub (NOP) Function Stub (NOP) Függvény - + Show &Opcode &Opcode megjelenítése - + %1 NOT VALID ADDRESS %1 HELYTELEN CÍM @@ -5036,85 +5089,86 @@ Szeretnéd Felülírni? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Foglalat: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Foglalat: %1 | Hangerő: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Foglalat: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Foglalat: %1 | Hangerő: %2% | %3 | EE: %4% | GS: %5% - + No Image Nincs Kép - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Sebesség: %1% - + Game: %1 (%2) - Játék: %1 (%2) + Játék: %1 (%2) + - + Rich presence inactive or unsupported. - Rich presence kikapcsolva vagy nem támogatott. + "Rich presence" kikapcsolva vagy nem támogatott. - + Game not loaded or no RetroAchievements available. Nincs betöltve játék vagy nincs elérhető RetroAchievements. - - - - + + + + Error Hiba - + Failed to create HTTPDownloader. Nem sikerült létrehozni HTTPDownloader-t. - + Downloading %1... - Letöltés... (%1) + Letöltés %1... - + Download failed with HTTP status code %1. Letöltés sikertelen HTTP státuszkóddal: %1. - + Download failed: Data is empty. Letöltés sikertelen: Üres adat. - + Failed to write '%1'. Nem sikerült írni '%1'. @@ -5124,7 +5178,7 @@ Szeretnéd Felülírni? Speed Control - Sebesség Vezérlés + Sebességvezérlés @@ -5436,7 +5490,7 @@ A legtöbb játéknál biztonságos, de van néhány ami nem kompatibilis és le Speeds up emulation so that the guest refresh rate matches the host. This results in the smoothest animations possible, at the cost of potentially increasing the emulation speed by less than 1%. Sync to Host Refresh Rate will not take effect if the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays should disable this option. Felgyorsítja annyira az emulációt, hogy a virtuális gép képfrissítése megegyezzen a gazdagépével. Ez a lehető legsimább animációkat eredményezi, de megnöveli az emuláció sebességét kevesebb mint 1%-al. -Ez a funkció nem lép működésbe, ha a konzol képfrissítése túl messze van a gazdagép képfrissitésétől. A váltakozó képfrissítésű kijelzővel rendelkező felhasználóknak ajánlott ezt az opciót kikapcsolni. +Ez a funkció nem lép működésbe, ha a konzol képfrissítése túl messze van a gazdagép képfrissítésétől. A váltakozó képfrissítésű kijelzővel rendelkező felhasználóknak ajánlott ezt az opciót kikapcsolni. @@ -5446,7 +5500,7 @@ Ez a funkció nem lép működésbe, ha a konzol képfrissítése túl messze va When synchronizing with the host refresh rate, this option disable's PCSX2's internal frame timing, and uses the host instead. Can result in smoother frame pacing, <strong>but at the cost of increased input latency</strong>. - Mikor szinkronizál a gazdagép képfrissitésével, ez az opció letiltja a PCSX2 belső képkocka időzítését, és a gazdagépét használja helyette. Ennek az eredménye egyenletesebb képkocka ütemezés lehet, <strong>megnőtt bemeneti késleltetésért cserébe</strong>. + Mikor szinkronizál a gazdagép képfrissítésével, ez az opció letiltja a PCSX2 belső képkocka időzítését, és a gazdagépét használja helyette. Ennek az eredménye egyenletesebb képkocka ütemezés lehet, <strong>megnőtt bemeneti késleltetésért cserébe</strong>. @@ -5490,81 +5544,76 @@ Ez a funkció nem lép működésbe, ha a konzol képfrissítése túl messze va ExpressionParser - + Invalid memory access size %d. Érvénytelen memória hozzáférési méret %d. - + Invalid memory access (unaligned). Érvénytelen memória hozzáférés (nem előjelzett). - - + + Token too long. Időtúllépés. - + Invalid number "%s". Érvénytelen szám "%s". - + Invalid symbol "%s". Érvénytelen szimbólum "%s". - + Invalid operator at "%s". Érvénytelen operátor "%s". - + Closing parenthesis without opening one. Zárójel bezárása a megnyitása nélkül. - + Closing bracket without opening one. Szögletes zárójel bezárása a megnyitása nélkül. - + Parenthesis not closed. - Zárójel nincs bezárva + Zárójel nincs bezárva. - + Not enough arguments. Nincs elég argumentum. - + Invalid memsize operator. Érvénytelen memsize operátor. - + Division by zero. Osztás nullával. - + Modulo by zero. Modul nullával. - + Invalid tertiary operator. Érvénytelen harmadlagos operátor. - - - Invalid expression. - Érvénytelen kifejezés. - FileOperations @@ -5586,7 +5635,7 @@ A fájl: %1 Show in Folder Windows action to show a file in Windows Explorer - Megjelenítés Mappában + Tartalmazó Mappa Megnyitása @@ -5598,7 +5647,7 @@ A fájl: %1 Open Containing Directory Opens the system file manager to the directory containing a selected file - Tartalmazó Mappa Megnyítása + Tartalmazó Mappa Megnyitása @@ -5698,342 +5747,342 @@ A cím: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Nem található CD/DVD-ROM eszköz. Kérjük, győződj meg arról, hogy van-e csatlakoztatott meghajtó és megfelelő jogosultságokkal rendelkezel-e a hozzáféréshez. - + Use Global Setting Globális beállítások használata - + Automatic binding failed, no devices are available. Automatikus hozzárendelés sikertelen, nincs elérhető eszköz. - + Game title copied to clipboard. A játék címe másolva a vágólapra. - + Game serial copied to clipboard. Játék sorozatszáma másolva a vágólapra. - + Game CRC copied to clipboard. Játék CRC másolva a vágólapra. - + Game type copied to clipboard. A játék típusa másolva a vágólapra. - + Game region copied to clipboard. A játék régiója másolva a vágólapra. - + Game compatibility copied to clipboard. A játék kompatibilitása másolva a vágólapra. - + Game path copied to clipboard. Játék elérhetőségi útja másolva a vágólapra. - + Controller settings reset to default. Játékvezérlő beállítások visszaállítva alapértékre. - + No input profiles available. Nincs elérhető bemeneti profil. - + Create New... Új Létrehozása... - + Enter the name of the input profile you wish to create. Írd be a készítendő bemeneti profil nevét. - + Are you sure you want to restore the default settings? Any preferences will be lost. Biztos hogy szeretnéd visszaállítani az alapértelmezett beállításokat? Minden beállítás elvész. - + Settings reset to defaults. Beállítások visszaállítása alapértelmezettre. - + No save present in this slot. Nincs mentés ebben a foglalatban. - + No save states found. Nem található mentett állás. - + Failed to delete save state. Nem sikerült a mentett állás törlése. - + Failed to copy text to clipboard. Nem sikerült a szöveget a vágólapra másolni. - + This game has no achievements. Ennek a játéknak nincsenek trófeái. - + This game has no leaderboards. Ennek a játéknak nincsenek ranglistái. - + Reset System Rendszer Újrainditása - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? A Hardcore mód nem lesz engedélyezve a rendszer újraindításáig. Szeretnéd most újraindítani a rendszert? - + Launch a game from images scanned from your game directories. Játék indítása a játék könyvtáraidban talált képfájlokból. - + Launch a game by selecting a file/disc image. Indíts el egy játékot fájl/lemezkép kiválasztásával. - + Start the console without any disc inserted. Konzol indítása behelyezett lemez nélkül. - + Start a game from a disc in your PC's DVD drive. Indíts el egy játékot lemezről, a számítógéped DVD meghajtóját használva. - + No Binding Nincs Hozzárendelve - + Setting %s binding %s. Beállítás %s hozzárendelés %s. - + Push a controller button or axis now. Nyomj meg egy játékvezérlő gombot vagy tengelyt most. - + Timing out in %.0f seconds... Időtúllépés %.0f másodperc múlva... - + Unknown Ismeretlen - + OK OK - + Select Device Eszköz Kiválasztása - + Details Részletek - + Options Opciók - + Copies the current global settings to this game. Másolja a jelenlegi globális beállításokat ehhez a játékhoz. - + Clears all settings set for this game. Eltávolítja ennek a játéknak a beállításait. - + Behaviour Viselkedés - + Prevents the screen saver from activating and the host from sleeping while emulation is running. - Megakadályozza a képernyő kímélőt, és a gazdagépet az alvó állapottól mikor fut az emuláció. + Megakadályozza a képernyőkímélőt, és a gazdagépet az alvó állapottól mikor fut az emuláció. - + Shows the game you are currently playing as part of your profile on Discord. Megjeleníti az éppen játszott játékot a Discord profilodon. - + Pauses the emulator when a game is started. Szüneteli az emulációt játék indításánál. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - Leszüneteli az emulátort ha kis méretbe rakod az ablakot, vagy átváltasz egy másik alkalmazásra, mikor visszaváltasz, automatikusan folytatja. + Szüneteli az emulátort ha kis méretbe rakod az ablakot vagy átváltasz egy másik alkalmazásra, mikor visszaváltasz, automatikusan folytatja. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Szüneteli az emulátort ha megnyitod a gyors menüt, és folytatja mikor bezárod. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Meghatározza hogy megjelenjen-e egy ablak ami megerősíti a leállítását a virtuális gépnek, mikor lenyomásra kerül a gyorsbillentyű. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatikusan menti az emulátor állapotát leállításnál vagy kilépésnél. Következő alkalommal ugyanott folytathatod. - + Uses a light coloured theme instead of the default dark theme. Világos színű téma használata az alapértelmezett sötét helyett. - + Game Display Játék Képernyő - + Switches between full screen and windowed when the window is double-clicked. Teljes képernyős és ablakos mód között vált dupla kattintásra. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Elrejti az egér mutatót/kurzort mikor az emulátor teljes képernyős módba van. - + Determines how large the on-screen messages and monitor are. Meghatározza a méretét a képernyőn megjelenő üzeneteknek és a monitornak. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Megjelenít képernyőmenü üzeneteket mikor olyan események történnek mint a játék állások mentése/betöltése, képernyőkép készült, stb. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Megjeleníti a jelenlegi emulációs sebességét a kijelző jobb felső sarkában százalék formában. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Kiírja hány PS2 képkocka-megjelenítés (vagy vertikális szinkronizáció) történt egy másodpercben a kép jobb felső sarkában. - + Shows the CPU usage based on threads in the top-right corner of the display. Kiírja a CPU szálankénti kihasználtságát a képernyő jobb felső sarkában. - + Shows the host's GPU usage in the top-right corner of the display. Megjeleníti a játék felbontását a képernyő jobb felső sarkában. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Kiírja a releváns GS statisztikákat (primitívek, rajzolási kérelmek száma) a képernyő jobb felső sarkában. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Jelzéseket mutat, ha a gyorsítás, szünet, vagy bármilyen más rendellenes állapot van érvényben. - + Shows the current configuration in the bottom-right corner of the display. Megjeleníti az aktuális PCSX2 verzióját a képernyő jobb felső sarkában. - + Shows the current controller state of the system in the bottom-left corner of the display. Megjeleníti a jelenleg a rendszerhez kapcsolódó játékvezérlők állapotát a képernyő bal alsó sarkában. - + Displays warnings when settings are enabled which may break games. - Figyelmeztetést jelenít meg, ha olyan beállitások vannak engedélyezve amik problémákat okozhatnak. + Figyelmeztetést jelenít meg, ha olyan beállítások vannak engedélyezve amik problémákat okozhatnak. - + Resets configuration to defaults (excluding controller settings). Beállítások visszaállítása alapértékre (kivéve a játékvezérlő beállítások). - + Changes the BIOS image used to start future sessions. - Kiválasztható a BIOS képfájl ami a jövőbeni indításokhoz használ. + Kiválasztható a BIOS képfájl ami a jövőbeni indításokhoz lesz használva. - + Automatic Automatikus - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Alapértelmezett - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6042,1978 +6091,1983 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatikusan teljes képernyős módba vált játék indításánál. - + On-Screen Display Képernyő Menü - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Megjeleníti a játék felbontását a kijelző jobb felső sarkában. - + BIOS Configuration BIOS Konfiguráció - + BIOS Selection BIOS Választás - + Options and Patches - Opciók és Javítások + További Lehetőségek - + Skips the intro screen, and bypasses region checks. Kihagyja a bevezetőképernyőt, és felülírja a régió ellenőrzést. - + Speed Control - Sebbeség Vezérlés + Sebességvezérlés - + Normal Speed Normális Sebesség - + Sets the speed when running without fast forwarding. Beállítja a sebességet mikor gyorsítás nélkül fut az emulátor. - + Fast Forward Speed Gyorsított Sebesség - + Sets the speed when using the fast forward hotkey. Beállítja a sebességet a gyorsított sebesség gomb lenyomásakor. - + Slow Motion Speed Lassított Sebesség - + Sets the speed when using the slow motion hotkey. Beállítja a sebességet a lassított sebesség gomb lenyomásakor. - + System Settings Rendszerbeállítások - + EE Cycle Rate EE Ciklus Ráta - + Underclocks or overclocks the emulated Emotion Engine CPU. Növeli vagy csökkenti az emulált Emotion Engine órajelét. - + EE Cycle Skipping EE Ciklus Kihagyás - + Enable MTVU (Multi-Threaded VU1) MTVU Engedélyezése (Több Szálon Futó VU1) - + Enable Instant VU1 Azonnali VU1 Engedélyezése - + Enable Cheats Csalások Engedélyezése - + Enables loading cheats from pnach files. Engedélyezi a csalások betöltését pnach fájlokból. - + Enable Host Filesystem Gazda Fájlrendszer Engedélyezése - + Enables access to files from the host: namespace in the virtual machine. Engedélyezi a hozzáférés fájlokhoz a gazdagépről: névtér a virtuális gépben. - + Enable Fast CDVD Gyors CDVD Engedélyezése - + Fast disc access, less loading times. Not recommended. Gyors lemez hozzáférés, rövidebb betöltési idők. Nem ajánlott. - + Frame Pacing/Latency Control Képkocka Ütemezés / Késleltetés Vezérlés - + Maximum Frame Latency Maximum Képkocka Késleltetés - + Sets the number of frames which can be queued. Beállítható az előre elkészített képkockák száma. - + Optimal Frame Pacing Optimális Képkocka Ütemezés - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Szinkronizálja az EE és a GS szálakat minden képkockánál. Alacsonyabb késleltetés, de növeli a rendszer igényeket. - + Speeds up emulation so that the guest refresh rate matches the host. Felgyorsítja az emulációt, hogy a virtuális gép képfrissítése azonos legyen a gazdagépével. - + Renderer Leképező - + Selects the API used to render the emulated GS. Kiválasztható a API amit az emulált GS a leképezéshez használ. - + Synchronizes frame presentation with host refresh. Szinkronizálja az emulált konzol képfrissítéseit a kijelzőjével. - + Display Kijelző - + Aspect Ratio Képarány - + Selects the aspect ratio to display the game content at. - Kiválasztható a képarány, amivel a játékot megjeleníti. + Kiválasztható a képarány, amivel a játék tartalma megjelenik. - + FMV Aspect Ratio Override FMV Képarány Felülírás - + Selects the aspect ratio for display when a FMV is detected as playing. - Kiválasztható a képarány, amikor egy FMV játszódik le. + Kiválasztható a képarány, amikor FMV lejátszása érzékelhető. - + Deinterlacing - Deinterlace + Váltottsorosság Megszüntetés - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Kiválasztható az algoritmus, amivel a PS2 váltottsoros kimenete progresszívvá lesz alakítva. - + Screenshot Size - Képernyőmentés Mérete + Képernyőkép Mérete - + Determines the resolution at which screenshots will be saved. - Megállapítja, milyen felbontásban mentse a képernyőmentéseket. + Meghatározza, milyen felbontásban kerülnek mentésre a képernyőképek. - + Screenshot Format Képernyőkép Formátuma - + Selects the format which will be used to save screenshots. - Megállapítja a formátumot, amibe menti a képernyőmentéseket. + Kiválasztható a formátum, amiben mentésre kerülnek a képernyőképek. - + Screenshot Quality - Képernyőmentés Minősége + Képernyőkép Minősége - + Selects the quality at which screenshots will be compressed. - Megállapítja, milyen minőségben lesznek tömörítve a képernyőmentések. + Kiválasztható milyen minőségben legyenek a képernyőképek tömörítve. - + Vertical Stretch Függőleges Nyújtás - + Increases or decreases the virtual picture size vertically. Növeli vagy csökkenti a virtuális kép függőleges méretét. - + Crop Levágás - + Crops the image, while respecting aspect ratio. Levágja a képet, megtartva a képarányt. - + %dpx %dpx - - Enable Widescreen Patches - Szélesvásznú Javítások Engedélyezése - - - - Enables loading widescreen patches from pnach files. - Engedélyezi a szélesvásznú javítások betöltését pnach fájlokból. - - - - Enable No-Interlacing Patches - Váltottsoros Megjelenítést Megszüntető Javítások Engedélyezése - - - - Enables loading no-interlacing patches from pnach files. - Engedélyezi a váltottsoros megjelenítést megszüntető javítások betöltését pnach fájlokból. - - - + Bilinear Upscaling Bilineáris Felskálázás - + Smooths out the image when upscaling the console to the screen. Kisimítja a konzol felskálázott kimeneti képét amikor a kijelző méretéhez nyújtja. - + Integer Upscaling Egész Szám Felskálázás - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Kitölti a képernyő területet, hogy a konzol és a gazdagép közötti pixel arány egész szám legyen. Élesebb képet eredményezhet 2D játékokban. - + Screen Offsets Képernyő Eltolás Értékek - + Enables PCRTC Offsets which position the screen as the game requests. Engedélyezi a PCRTC eltolás figyelembe vételét, amik a kijelző pozícióját határozzák meg, ha a játék utasítást ad rá. - + Show Overscan Túlpásztázás Megjelenítése - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Engedélyezi hogy megjelenjen a játékok túlpásztázási területe, ami többet mutat a képernyőből mint a biztonságos terület. - + Anti-Blur Elmosódottság Csökkentése - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Engedélyezi a beépített homályos kép elleni javításokat. Kevésbé lesz hű az eredeti PS2 megjelenítéshez, de rengeteg játékot kevésbé elmosódottá tesz. - + Rendering Leképezés - + Internal Resolution Leképezési Felbontás - + Multiplies the render resolution by the specified factor (upscaling). Növeli a leképezési felbontást a megadott szorzó szám szerint (felskálázás) - + Mipmapping Mipmappok Használata - + Bilinear Filtering Bilineáris Szűrő - + Selects where bilinear filtering is utilized when rendering textures. Kiválasztható mikor legyen bilineáris szűrés használva a textúrák megjelenítésénél. - + Trilinear Filtering Trilineáris Szűrés - + Selects where trilinear filtering is utilized when rendering textures. Kiválasztható mikor legyen trilineáris szűrés használva a textúrák megjelenítésénél. - + Anisotropic Filtering Anizotróp Szűrés - + Dithering Zajmoduláció - + Selects the type of dithering applies when the game requests it. Kiválasztható milyen típusú zajmoduláció alkalmazódjon mikor a játék ezt kéri. - + Blending Accuracy Keverés Pontossága - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - Meghatározza a pontosságot ha a kiválasztott leképező által nem támogatott keverési módokat emulál. + Meghatározza a pontosságot ha a gazdagép leképezője által nem támogatott keverési módokat emulál. - + Texture Preloading Textúra Előtöltés - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. A teljes textúrák feltölti a GPU-nak, nem csak a használatban lévő területét. Növelheti a teljesítményt néhány játékban. - + Software Rendering Threads Szoftveres Leképezés Szálai - + Number of threads to use in addition to the main GS thread for rasterization. A használt folyamat szálak száma a fő GS szálak mellet a képalkotáshoz. - + Auto Flush (Software) Auto Ürítés (szoftveres) - + Force a primitive flush when a framebuffer is also an input texture. Kényszerít egy primitív ürítést, ha a képpuffer a bemeneti textúra is egyben. - + Edge AA (AA1) Szél AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Engedélyezi a GS élsimításának emulációját (AA1). - + Enables emulation of the GS's texture mipmapping. Engedélyezi hogy a GS emulálja a mipmappokat. - + The selected input profile will be used for this game. A kiválasztott bemeneti profil lesz használva ehhez a játékhoz. - + Shared Megosztott - + Input Profile Bemeneti Profil - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Grafikus felület megjelenítése mentési foglalat váltásakor információs buborék helyett. + + + Shows the current PCSX2 version on the top-right corner of the display. Megjeleníti az aktuális PCSX2 verzióját a kijelző jobb felső sarkában. - + Shows the currently active input recording status. Megjeleníti az éppen aktív bemenet rögzítés állapotát. - + Shows the currently active video capture status. Megjeleníti az éppen aktív videó felvétel állapotát. - + Shows a visual history of frame times in the upper-left corner of the display. Megjeleníti vizuálisan a történetét a képkocka időknek a képernyő bal felső sarkában. - + Shows the current system hardware information on the OSD. Megjeleníti a jelenlegi rendszer hardver információkat a képernyőmenün. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Hozzárendeli a szálakat a CPU maghoz, lehetségesen növelve a teljesítményt/képkocka időt. - + + Enable Widescreen Patches + Szélesvásznú Tapaszok Engedélyezése + + + + Enables loading widescreen patches from pnach files. + Engedélyezi a szélesvásznú tapaszok betöltését pnach fájlokból. + + + + Enable No-Interlacing Patches + Váltottsorosságot Megszüntető Tapaszok Engedélyezése + + + + Enables loading no-interlacing patches from pnach files. + Engedélyezi a váltottsoros megjelenítést megszüntető tapaszok betöltését pnach fájlokból. + + + Hardware Fixes Hardveres Javítások - + Manual Hardware Fixes Manuális Hardveres Javítások - + Disables automatic hardware fixes, allowing you to set fixes manually. Letiltja az automatikus hardveres javításokat, engedélyezve a kézi beállításukat. - + CPU Sprite Render Size CPU Sprite Leképezés Mérete - + Uses software renderer to draw texture decompression-like sprites. A szoftveres leképezőt használja a textúra kitömörítéses spriteok megjelenítéséhez. - + CPU Sprite Render Level CPU Sprite Leképezés Mérete - + Determines filter level for CPU sprite render. Meghatározza a CPU sprite leképező szűrési szintjét. - + Software CLUT Render Szoftveres CLUT Leképezés - + Uses software renderer to draw texture CLUT points/sprites. Szoftveres leképezés használata CLUT pont/sprite textúrákhoz. - + Skip Draw Start Rajzolás Kihagyásának a Kezdete - + Object range to skip drawing. A tartomány ahol kihagyja a rajzolást. - + Skip Draw End Rajzolási Határ Kihagyás - + Auto Flush (Hardware) Auto Ürítés (Hardver) - + CPU Framebuffer Conversion CPU Képpuffer Átalakítás - + Disable Depth Conversion Mélység Átalakítás Letiltása - + Disable Safe Features Biztonsági Funkciók Letiltása - + This option disables multiple safe features. Ez az opció kikapcsol számos biztonsági funkciót. - + This option disables game-specific render fixes. Ez az opció letiltja a játék specifikus javításokat. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Feltölti a GS tartalmát új képkockák leképezésekor, hogy néhány hatást pontosabban tudjon megjeleníteni. - + Disable Partial Invalidation Részleges Érvénytelenítés Letiltása - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Minden átfedett textúrát töröl a textúra-gyorsítótárból, nem csak az átfedett területeket. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Engedélyezi a textúra gyorsítótárnák, hogy újra használja bemeneti textúraként az előző képpuffer belső részét. - + Read Targets When Closing Célok Beolvasása Bezárásnál - + Flushes all targets in the texture cache back to local memory when shutting down. Minden célt visszaürít a textúra gyorsítótárból a helyi memóriába leállításnál. - + Estimate Texture Region Textúra Terület Megállapítása - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Megpróbálja csökkenteni a textúra méretet ha a játék nem teszi ezt meg (pl. Snowblind játékok). - + GPU Palette Conversion GPU Paletta Átalakítás - + Upscaling Fixes Felskálázási Javítások - + Adjusts vertices relative to upscaling. Vertexek finomhangolása relatívan a felskálázáshoz. - + Native Scaling Natív Skálázás - + Attempt to do rescaling at native resolution. Megpróbál a natív felbontáson újraskálázni. - + Round Sprite Kerekített Sprite - + Adjusts sprite coordinates. Meghatározza a sprite koordinátákat. - + Bilinear Upscale Bilineáris Felskálázás - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Kisimíthatja a textúrákat, hogy bilineáris szűrő alkalmazódjon rájuk felskálázásnál. Pl. Nap fény lencse hatás. - + Adjusts target texture offsets. Cél textúra eltolás értékek finomítása. - + Align Sprite Sprite Illesztés - + Fixes issues with upscaling (vertical lines) in some games. Javítja a felskálázási problémákat (függőleges vonalak) bizonyos játékokban. - + Merge Sprite Sprite Egyesítés - + Replaces multiple post-processing sprites with a larger single sprite. Lecseréli a több utófeldolgozó spriteokat egy nagy spriteval. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Csökkenti a GS pontosságát, hogy elkerülje a pixelek közötti réseket felskálázásnál. Javítja a szöveget a Wild Arms játékoknál. - + Unscaled Palette Texture Draws Skálázatlan Paletta Textúra Rajzolás - + Can fix some broken effects which rely on pixel perfect precision. Javíthat néhány rosszul megjelenő hatást, ha a pixel elhelyezkedésre támaszkodnak. - + Texture Replacement Textúra Lecserélés - + Load Textures Textúrák Betöltése - + Loads replacement textures where available and user-provided. Betölti a cseretextúrákat ha elérhetők. - + Asynchronous Texture Loading Aszinkron Textúrabetöltés - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Egy külön szálat használ a cseretextúrák betöltéséhez, csökkentve ezzel a mikroszaggatásokat mikor a csere engedélyezve van. - + Precache Replacements Cseretextúrák Előtöltése - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Minden cseretextúrát betölt a memóriába. Nem szükséges aszinkron betöltésnél. - + Replacements Directory Cserék Mappája - + Folders Mappák - + Texture Dumping Textúra Mentés - + Dump Textures Textúrák Lementése - + Dump Mipmaps Mipmappok Lementése - + Includes mipmaps when dumping textures. A mipmappokat is hozzáadja a lementett textúrákhoz. - + Dump FMV Textures FMV Textúrák Lementése - + Allows texture dumping when FMVs are active. You should not enable this. Akkor is lementi a textúrákat mikor egy FMV aktív. Nem ajánlott engedélyezni. - + Post-Processing Utófeldolgozás - + FXAA FXAA - + Enables FXAA post-processing shader. Engedélyezi az FXAA útó-feldolgozó árnyékolót. - + Contrast Adaptive Sharpening Kontraszt Adaptív Élesítés - + Enables FidelityFX Contrast Adaptive Sharpening. Engedélyezi a FidelityFX kontraszt adaptív élesítést. - + CAS Sharpness CAS Élesség - + Determines the intensity the sharpening effect in CAS post-processing. Meghatározza az élesítő hatást intenzitását CAS útó-feldólgozásnál - + Filters Szűrők - + Shade Boost - Árnyalat Nővelés + Árnyalat Növelés - + Enables brightness/contrast/saturation adjustment. Engedélyezi a fényerő/kontraszt/telítettség beállítását. - + Shade Boost Brightness Fényerő - + Adjusts brightness. 50 is normal. Beállítja a fényerőt. 50 az alap. - + Shade Boost Contrast Kontraszt - + Adjusts contrast. 50 is normal. Beállítja a kontrasztot. 50 az alap. - + Shade Boost Saturation Telítettség - + Adjusts saturation. 50 is normal. Beállítja a telítettséget. 50 az alap. - + TV Shaders TV Szűrök - + Advanced Szakértő - + Skip Presenting Duplicate Frames Duplikált Képkockák Átugrása - + Extended Upscaling Multipliers Kiterjesztett Felskálázási Szorzók - + Displays additional, very high upscaling multipliers dependent on GPU capability. Megjelenít további, nagyon magas felskálázási szorzókat a GPU képességei függvényében. - + Hardware Download Mode Hardveres Letöltési Mód - + Changes synchronization behavior for GS downloads. Megváltoztatja a GS letöltések szinkronizációjának viselkedését. - + Allow Exclusive Fullscreen Exkluzív Teljes Képernyő Engedélyezése - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Felülírja az illesztőprogram heurisztikáját, hogy engedélyezze az exkluzív teljes képernyőt, vagy közvetlen váltást/kiolvasást. - + Override Texture Barriers Textúra Határok Felülbírálása - + Forces texture barrier functionality to the specified value. Kényszeríti a textúra határ funkcionalitást egy megadott értékre. - + GS Dump Compression GS Adat Tömörítése - + Sets the compression algorithm for GS dumps. Beállítja a tömörítési algoritmust a lementett GS adathoz. - + Disable Framebuffer Fetch Képpuffer Lekérdezés Letiltása - + Prevents the usage of framebuffer fetch when supported by host GPU. Megakadályozza a képpuffer lekérését ha támogatja a gazdagép GPU-ja. - + Disable Shader Cache Shader Gyorsítótár Letiltása - + Prevents the loading and saving of shaders/pipelines to disk. Megakadályozza a betöltését és a mentését az árnyékolóknak/csővezeték architektúráknak a lemezre. - + Disable Vertex Shader Expand Vertex Árnyékolók Kiterjesztésének Letiltása - + Falls back to the CPU for expanding sprites/lines. A CPU-ra ugrik vissza a spriteok/vonalak kiterjesztéséhez. - + Changes when SPU samples are generated relative to system emulation. Megváltoztatja hány SPU minta kerül generálásra a rendszer emulációval arányosan. - + %d ms %d ms - + Settings and Operations Beállítások és Műveletek - + Creates a new memory card file or folder. Új memória kártya mappát vagy fájlt készít. - + Simulates a larger memory card by filtering saves only to the current game. Nagyobb memória kártyát szimulál, azzal hogy kiszűri csak a jelenlegi játék mentéseit. - + If not set, this card will be considered unplugged. Ha nincs kiválasztva, akkor ez a kártya nem behelyezettnek számít. - + The selected memory card image will be used for this slot. - A kiválaszott memória kártya fájl lesz használva ebben a foglalatban. + A kiválasztott memória kártya fájl lesz használva ebben a foglalatban. - + Enable/Disable the Player LED on DualSense controllers. Engedélyezi/Letiltja a Játékon LED-et DualSense játékvezérlőkön. - + Trigger Ravasz - + Toggles the macro when the button is pressed, instead of held. Bekapcsólja a makrót a gomb lenyomásánál, lenntartás helyett. - + Savestate Állásmentés - + Compression Method Tömörítési Eljárás - + Sets the compression algorithm for savestate. Beállítja a tömörítési algoritmust az állásmentésekhez. - + Compression Level Tömörítési Szint - + Sets the compression level for savestate. Beállítja a tömörítési szintet az állásmentésekhez. - + Version: %s Verzió: %s - + {:%H:%M} {:%H:%M} - + Slot {} Foglalat {} - + 1.25x Native (~450px) 1.25x Natív (~450px) - + 1.5x Native (~540px) 1.5x Natív (~540px) - + 1.75x Native (~630px) 1.75x Natív (~630px) - + 2x Native (~720px/HD) 2x Natív (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Natív (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Natív (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Natív (~1260px) - + 4x Native (~1440px/QHD) 4x Natív (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Natív (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Natív (~2160px/4K UHD) - + 7x Native (~2520px) 7x Natív (~2520px) - + 8x Native (~2880px/5K UHD) 8x Natív (~2880px/5K UHD) - + 9x Native (~3240px) 9x Natív (~3240px) - + 10x Native (~3600px/6K UHD) 10x Natív (~3600px/6K UHD) - + 11x Native (~3960px) 11x Natív (~3960px) - + 12x Native (~4320px/8K UHD) 12x Natív (~4320px/8K UHD) - + WebP WebP - + Aggressive Agresszív - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Alacsony (Gyors) - + Medium (Recommended) Közepes (Ajánlott) - + Very High (Slow, Not Recommended) Nagyon Magas (Lassú, Nem Ajánlott) - + Change Selection Kijelölés Módosítása - + Select Kiválasztás - + Parent Directory Szülőkönyvtár - + Enter Value Érték Megadása - + About Névjegy - + Toggle Fullscreen Váltás Teljes Képernyőre - + Navigate Navigálás - + Load Global State Globális Állapot Betöltése - + Change Page Lapozás - + Return To Game Vissza a Játékba - + Select State Állás Választása - + Select Game Játék Kiválasztása - + Change View Nézet Módosítása - + Launch Options Indítási Beállítások - + Create Save State Backups Állásmentés Biztonsági Másolat - + Show PCSX2 Version PCSX2 Verziójának Megjelenítése - + Show Input Recording Status Bemenet Rögzítési Állapot Megjelenítése - + Show Video Capture Status Videó Rögzítési Állapot Megjelenítése - + Show Frame Times Képkocka Idők Megjelenítése - + Show Hardware Info Hardver Információ Megjelenítése - + Create Memory Card Memória Kártya Létrehozása - + Configuration Konfiguráció - + Start Game Játék indítása - + Launch a game from a file, disc, or starts the console without any disc inserted. Játék indítása fájlból, lemezről, vagy a konzol elindítása behelyezett lemez nélkül. - + Changes settings for the application. Az alkalmazás beállításainak módosítása. - + Return to desktop mode, or exit the application. Visszatérés asztali módba, vagy kilépés az alkalmazásból. - + Back Vissza - + Return to the previous menu. Visszatérés az előző menübe. - + Exit PCSX2 PCSX2 Bezárása - + Completely exits the application, returning you to your desktop. Kilép az alkalmazásból, és visszatérsz az asztalra. - + Desktop Mode Asztali Mód - + Exits Big Picture mode, returning to the desktop interface. Kilép a Nagy Kép módból, és visszatér az asztali kezelőfelületre. - + Resets all configuration to defaults (including bindings). - Visszaállít minden beállítást az alapértékre (a gombkiosztást is) + Visszaállít minden beállítást az alapértékre (a gombkiosztást is). - + Replaces these settings with a previously saved input profile. Kicseréli ezeket a beállításokat előzőleg mentett bemeneti profillal. - + Stores the current settings to an input profile. Tárolja a jelenlegi beállításokat egy bemeneti profilban. - + Input Sources Bemeneti Források - + The SDL input source supports most controllers. Az SDL bemeneti forrás támogatja a legtöbb játékvezérlőt. - + Provides vibration and LED control support over Bluetooth. Lehetővé teszi a rezgést és a led vezérlését bluetooth-on keresztül. - + Allow SDL to use raw access to input devices. Engedélyezi az SDL-nek, hogy nyers hozzáférést kapjon a bemeneti eszközökhöz. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Az XInput forrás biztosít támogatást az XBox 360/XBox One/XBox Series játékvezérlőkhöz. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Engedélyez további három játékvezérlő foglalatot. Nem minden játék támogatja. - + Attempts to map the selected port to a chosen controller. Megpróbálja a kiválasztott portot a kiválasztott játékvezérlőhöz kiosztani. - + Determines how much pressure is simulated when macro is active. Meghatározza mekkora nyomás erősség legyen szimulálva ha a makró aktív. - + Determines the pressure required to activate the macro. Meghatározza a szükséges nyomás erősséget a makró aktiválásához. - + Toggle every %d frames Átkapcsolás %d képkockánként - + Clears all bindings for this USB controller. Minden az ehhez az USB játékvezérlőhöz tartozó hozzárendelést eltávolít. - + Data Save Locations Adat Mentési Helyek - + Show Advanced Settings Szakértő Beállítások Megjelenítése - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Ezeknek a beállításoknak a módosítása játékok működésképtelenségét okozhatja. Csak saját felelősségre módosítsd, a PCSX2 csapata nem tud segítséget nyújtani, ha ezek a beállítások meg lettek változtatva. - + Logging Naplózás - + System Console Rendszer Konzol - + Writes log messages to the system console (console window/standard output). - Napló üzeneteket ír a rendszer konzolba (konzol ablak/hagyományos kimenet) + Napló üzeneteket ír a rendszer konzolba (konzol ablak/hagyományos kimenet). - + File Logging Fájl Naplózás - + Writes log messages to emulog.txt. Napló üzeneteket ír az emulog.txt-be. - + Verbose Logging Részletes Naplózás - + Writes dev log messages to log sinks. Fejlesztői napló üzeneteket ír a napló gyűjtőbe. - + Log Timestamps Napló Időbélyegek - + Writes timestamps alongside log messages. Dátumbélyegeket ír a napló üzenetek elé. - + EE Console EE Konzol - + Writes debug messages from the game's EE code to the console. Hibakeresési üzeneteket ír a játék EE kódjából a konzolba. - + IOP Console IOP Konzol - + Writes debug messages from the game's IOP code to the console. Hibakeresési üzeneteket ír a játék IOP kódjából a konzolba. - + CDVD Verbose Reads CDVD Olvasások - + Logs disc reads from games. Naplóza a játékok lemez olvasását. - + Emotion Engine Emotion Engine - + Rounding Mode Kerekítési Mód - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Meghatározza hogy a lebegőpontos számítások hogyan legyenek kerekítve. Vannak játékok, amikben egy bizonyos beállításra van szüksége. - + Division Rounding Mode Osztási Kerekítési Mód - + Determines how the results of floating-point division is rounded. Some games need specific settings. Meghatározza, hogy a lebegőpontos osztás eredményét hogyan kerekíti. Néhány játék csak egy bizonyos beállítással működik megfelelően. - + Clamping Mode Rögzítési mód - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Meghatározza hogy a határon túlépő lebegőpontos számítások hogyan legyenek kezelve. Vannak játékok, amikben egy bizonyos beállításra van szüksége. - + Enable EE Recompiler EE Újrafordító Engedélyezése - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Futás idejű (JIT) bináris fordítást végez 64-bites MIPS-IV gépi kódról x86 kódra. - + Enable EE Cache EE Gyorsítótár Engedélyezése - + Enables simulation of the EE's cache. Slow. Engedélyezi az EE gyorsítótár szimulálását. Lassú. - + Enable INTC Spin Detection INTC Időzítés Átugrásának Engedélyezése - + Huge speedup for some games, with almost no compatibility side effects. Nagy teljesítmény növekedés bizonyos játékok esetén, legtöbb esetben problémák nélkül. - + Enable Wait Loop Detection Várakozási Hurok Felismerés Engedélyezése - + Moderate speedup for some games, with no known side effects. Szerény teljesítmény növekedés bizonyos játékoknál, ismert problémák nélkül. - + Enable Fast Memory Access Gyors Memória Hozzáférés Engedélyezése - + Uses backpatching to avoid register flushing on every memory access. Backpatching használatával elkerüli a regiszterek kiürítését minden memória-hozzáférés során. - + Vector Units Vektor Egységek - + VU0 Rounding Mode VU0 Kerekítési Mód - + VU0 Clamping Mode VU0 Rögzítési mód - + VU1 Rounding Mode VU1 Kerekítési Mód - + VU1 Clamping Mode VU1 Rögzítési mód - + Enable VU0 Recompiler (Micro Mode) VU0 Újraforditó Engedélyezése (Mikro Mód) - + New Vector Unit recompiler with much improved compatibility. Recommended. Az új VU újrafordító, jóval szélesebb kompatibilitással. Ajánlott. - + Enable VU1 Recompiler VU1 Újrafordító Engedélyezése - + Enable VU Flag Optimization VU Jelölök Optimalizációja - + Good speedup and high compatibility, may cause graphical errors. Teljesítmény növekedés és magas kompatibilitás, néha grafikai hibákat okozhat. - + I/O Processor I/O Processzor - + Enable IOP Recompiler IOP Újrafordító Engedélyezése - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Futás idejű (JIT) bináris fordítást végez 32-bites MIPS-I gépi kódról x86 kódra. - + Graphics Grafika - + Use Debug Device Hibakeresési Eszköz Használata - + Settings Beállítások - + No cheats are available for this game. Nincs elérhető csalás ehhez a játékhoz. - + Cheat Codes Csaláskódok - + No patches are available for this game. - Nincs elérhető javítás ehhez a játékhoz. + Nincs elérhető tapasz ehhez a játékhoz. - + Game Patches - Játék Javítások + Játék Tapaszok - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. A csalások engedélyezése nem várt működést eredményezhet, összeomlást, nem folytatható játékot, tönkrement mentéseket - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - A javítások engedélyezése nem várt működést eredményezhet, összeomlást, nem folytatható játékot, tönkrement mentéseket. + A tapaszok engedélyezése nem várt működést eredményezhet, összeomlást, nem folytatható játékot, tönkrement mentéseket. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - Csak saját felelősségre használj javításokat, a PCSX2 csapat nem tud támogatás nyújtani a javításokat engedélyező felhasználóknak. + Csak saját felelősségre használj tapaszokat, a PCSX2 csapat nem tud támogatás nyújtani a tapaszokat engedélyező felhasználóknak. - + Game Fixes Játékjavítások - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - A játék javítások módosítása nem ajánlott, hacsak pontosan nem tudod melyik opció mit csinál, és milyen hatása van. + A játékjavítások módosítása nem ajánlott, hacsak pontosan nem tudod melyik opció mit csinál, és milyen hatása van. - + FPU Multiply Hack FPU Szorzás Hack - + For Tales of Destiny. A Tales of Destiny-hez. - + Preload TLB Hack TLB Előtöltése Hack - + Needed for some games with complex FMV rendering. Szükséges néhány játékhoz amik komplexen képezik le az FMV-ket. - + Skip MPEG Hack MPEG Kihagyás Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Kihagyja a videókat/FMV-ket a játékokban, hogy megakadályozza a lefagyást. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Időzítés Hack - + Instant DMA Hack Azonnali DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. A következő játékokra van hatással: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines - + For SOCOM 2 HUD and Spy Hunter loading hang. A SOCOM 2 HUD és Spy Hunter betöltés elakadásához. - + VU Add Hack VU Hozzáadás Hack - + Full VU0 Synchronization Teljes VU0 Szinkronizáció - + Forces tight VU0 sync on every COP2 instruction. Szoros VU0 szinkront kényszerít minden COP2 utasításnál. - + VU Overflow Hack VU Túlcsordulás Hack - + To check for possible float overflows (Superman Returns). Ellenőrzi a lehetséges lebegőpontos túlcsordulást (Superman Returns) - + Use accurate timing for VU XGKicks (slower). Precíz időzítést használ a VU XGKiscks-hez (lassabb). - + Load State Állás Betöltése - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Kényszeríti az Emotion Engine-t hogy kihagyjon ciklusokat. Néhány játéknál segíthet, mint például a Shadow of The Colossus. De a legtöbb esetben csökkenti a teljesítményt. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Általában növeli a teljesítményt a 4 vagy több magos processzoroknál. A legtöbb játéknál biztonságos, de van néhány ami nem kompatibilis és lefagyhat. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Azonnal futtatja a VU1-et. Szerény teljesítmény növekedést hozhat a legtöbb játéknál. A legtöbb esetben biztonságos, de néhány játékban grafikai hibákat okozhat. - + Disable the support of depth buffers in the texture cache. Kikapcsolja a mélységbufferek támogatását a textúra-gyorsítótárban. - + Disable Render Fixes Leképezési Javítások Letiltása - + Preload Frame Data Képkocka Adat Előtöltése - + Texture Inside RT Textúra a Leképezési Célban - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Ha engedélyezve van a GPU alakítja át a színtérkép-textúrákat, egyéb esetben a CPU. Ez egy kompromisszum a CPU és a GPU között. - + Half Pixel Offset Fél Pixel Eltolás - + Texture Offset X Textúra Eltolás X - + Texture Offset Y Textúra Eltolás Y - + Dumps replaceable textures to disk. Will reduce performance. Lementi a lecserélhető textúrákat a lemezre. Csökkenti a teljesítményt. - + Applies a shader which replicates the visual effects of different styles of television set. Árnyékolót alkalmaz, ami imitálja a megjelenését többféle típusú televíziós készüléknek. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Nem jeleníti meg azokat a képkockákat amik nem változnak 25/30fps játékokban. Javíthatja a sebességet, de növelheti a bemeneti késleltetés/rosszabb lehet a képkocka elosztás. - + Enables API-level validation of graphics commands. Engedélyezi az API-szintű érvényesítését a grafikai parancsoknak. - + Use Software Renderer For FMVs Szoftveres Leképező Használata FMV-hez - + To avoid TLB miss on Goemon. TLB kivétel elkerüléséhez a Goemonban. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Általános célú időzítési hack. Ismerten hatással van az alábbi játékokra: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Jó a gyorsítótár emulációs problémákra. Ismerten hatással van az alábbi játékokra: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. A következő játékokat befolyásolja: Bleach Blade Battlers, Growlanser II és III, Wizardry. - + Emulate GIF FIFO GIF FIFO Emulálása - + Correct but slower. Known to affect the following games: Fifa Street 2. Pontosabb de lassabb. Hatása van a következő játékra: Fifa Street 2. - + DMA Busy Hack DMA Lefoglalás Hack - + Delay VIF1 Stalls VIF1 Megakadás Késleltetése - + Emulate VIF FIFO VIF FIFO Emulálása - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. VIF1 FIFO előreolvasást szimulál. Ismerten hatással van az alábbi játékokra: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Engedélyezi a folyamatos újrafordítást bizonyos játékokban. Ismerten hatással van az alábbi játékokra:Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. A Tri-Ace játékokhoz: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Szinkron - + Run behind. To avoid sync problems when reading or writing VU registers. - Lemaradás. Hogy elkerülje a problémákat a VU regiszterek írásánál vagy olvasásánál. + Késleltetés. Hogy elkerülje a problémákat a VU regiszterek írásánál vagy olvasásánál. - + VU XGKick Sync VU XGKick Szinkron - + Force Blit Internal FPS Detection BLIT Belső FPS Azonosítás Kényszerítése - + Save State Állás Mentése - + Load Resume State Gyorsmentés Betöltése - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Szeretnéd betölteni ezt az állást és folytatni? - + Region: Régió: - + Compatibility: Kompatibilitás: - + No Game Selected Nincs Kiválasztott Játék - + Search Directories Mappák Vizsgálása - + Adds a new directory to the game search list. Új mappát ad hozzá a játék keresési listához. - + Scanning Subdirectories Alkönyvtárak Vizsgálása - + Not Scanning Subdirectories Alkönyvtárak Nincsenek Vizsgálva - + List Settings Lista Beállítások - + Sets which view the game list will open to. Kiválasztható melyik megjelenéssel nyíljon meg a játék lista. - + Determines which field the game list will be sorted by. Meghatározza, hogy a játéklista melyik mező szerint legyen rendezve. - + Reverses the game list sort order from the default (usually ascending to descending). Megfordítja a játéklista sorrendjét az alapértelmezettől (általában növekvő sorrendről csökkenőre). - + Cover Settings Borító Beállítások - + Downloads covers from a user-specified URL template. Borítókat tölt le a felhasználó által megadott címről. - + Operations Műveletek - + Selects where anisotropic filtering is utilized when rendering textures. Kiválasztható mikor legyen bilineáris szűrés használva a textúrák megjelenítésénél. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Alternatív módszer használata a belső FPS számításához, amivel elkerülhető a hamis eredmény néhány játéknál. - + Identifies any new files added to the game directories. Azonosítja az újonnan hozzáadott fájlokat a játék könyvtárakból. - + Forces a full rescan of all games previously identified. Kényszeríti az összes eddig hozzáadott játék újrakeresését. - + Download Covers Borítók Letöltése - + About PCSX2 A PCSX2 Névjegye - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 egy ingyenes és nyílt forráskódú PlayStation 2 (PS2) emulátor. Célja a PS2 hardver emulálása MIPS CPU értelmezők, újrafordítók és egy virtuális gép kombinációjával, ami a hardverállapotot és a PS2 rendszer memóriáját kezeli. Ez lehetővé teszi, hogy PS2 játékokkal játszhass PC-n, számos hozzáadott funkcióval és előnnyel. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 és a PS2 a Sony Interactive Entertainment bejegyzett védjegyei. Ez az alkalmazás nem áll semmiféle kapcsolatban a Sony Interactive Entertainment-el - + When enabled and logged in, PCSX2 will scan for achievements on startup. Ha be van jelölve és be vagy jelentkezve, a PCSX2 össze fogja gyűjteni a játékhoz tartozó trófeákat a játék inditásakor. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Nehezített" mód a trófeák megszerzésére, külön ranglistán vezetve. Kikapcsolja az állásmentéseket, a csalásokat, és a játéksebesség-manipulációt. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Felugró üzeneteket jelenít meg az olyan eseményekről, mint például a trófeák feloldása és a ranglistára kerülés. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Hanghatások lejátszása olyan eseményekhez, mint például az trófeák feloldása és a ranglistán való szereplés. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Ikon megjelenítése a képernyő jobb alsó sarkában, ha egy kihívás/elérhető trófea aktív. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Ha engedélyezve van, a PCSX2 listázza a nem hivatalos gyűjtemények trófeáit is. Kérjük, vedd figyelembe, hogy ezeket az eredményeket a RetroAchievements nem követi nyomon. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Ha engedélyezve van, a PCSX2 azt feltételezi, hogy minden eredmény le van zárva, és nem küld értesítést a feloldásról a szervernek. - + Error Hiba - + Pauses the emulator when a controller with bindings is disconnected. Szüneteli az emulátort mikor egy játékvezérlővel aminek vannak kiosztott gombjai, megszakad a kapcsolat. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Készít egy biztonsági mentést a játék pillanat mentéséről ha létezik már egy ilyen fájl a mentés pillanatában. A biztonsági mentés a .backup kiterjesztést kapja - + Enable CDVD Precaching CDVD Előtöltés Engedélyezése - + Loads the disc image into RAM before starting the virtual machine. Betölti a játék képfájlt a RAM-ba a virtuális gép indítása előtt. - + Vertical Sync (VSync) Függőleges Szinkronizáció (Vsync) - + Sync to Host Refresh Rate Szinkronizálás a Gazdagép Képfrissítéséhez - + Use Host VSync Timing Gazda Gép VSync Időzítésének Használata - + Disables PCSX2's internal frame timing, and uses host vsync instead. Letiltja a PCSX2 belső képkocka időzítését, és a gazdagépét használja inkább. - + Disable Mailbox Presentation Mailbox Prezentáció Letiltása - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Kényszeríti a FIFO használatát a Mailbox bemutatással szemben, azaz kettős pufferelés a hármas pufferelés helyett. Általában rosszabb képkocka elosztást eredményez. - + Audio Control Hang Vezérlés - + Controls the volume of the audio played on the host. Szabályozza a gazdagépen lejátszott hang hangerősségét. - + Fast Forward Volume Gyorsított Sebesség Hangereje - + Controls the volume of the audio played on the host when fast forwarding. Szabályozza a gazdagépen lejátszott hang hangerősségét gyorsításkor. - + Mute All Sound Minden Hang Némítása - + Prevents the emulator from producing any audible sound. Megakadályozza, hogy az emulátor bármiféle hangot adjon ki. - + Backend Settings Feldolgozó Beállítások - + Audio Backend Hang feldolgozó - + The audio backend determines how frames produced by the emulator are submitted to the host. A hang feldolgozó határozza meg, hogy az emulátor által készített képkockák hogyan kerülnek a gazdagéphez. - + Expansion Kiterjesztés - + Determines how audio is expanded from stereo to surround for supported games. Meghatározza hogyan legyen a hang kiterjesztve sztereóról térhangzásúra, a támogatott játékoknál. - + Synchronization Szinkronizáció - + Buffer Size Puffer Méret - + Determines the amount of audio buffered before being pulled by the host API. Meghatározza mennyi hang legyen pufferelve, mielőtt megkapja azokat a gazdagép feldolgozója. - + Output Latency Kimeneti késleltetés - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Meghatározza mekkora késleltetés legyen aközött, hogy a gazdagép feldolgozója felvette a hangot, és a hangszórón lejátszódik. - + Minimal Output Latency Minimális Kimeneti Késleltetés - + When enabled, the minimum supported output latency will be used for the host API. Ha engedélyezve van, a legkisebb támogatott késleltetés lesz használva. - + Thread Pinning - Szál Megjelőlés + Szál Megjelölés - + Force Even Sprite Position Egyenlő Sprite Pozíció Kényszerítése - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Felugró üzeneteket jelenít meg, amikor elindul, beküldésre kerül vagy elbukik egy ranglista-kihívás. - + When enabled, each session will behave as if no achievements have been unlocked. Ha be van jelölve, mindegyik játékmenet úgy fog viselkedni, mintha nem lenne feloldva semmilyen trófea. - + Account Fiók - + Logs out of RetroAchievements. - Kijelentkezik a RetroAchievements-ből. + Kijelentkezés a RetroAchievements-ből. - + Logs in to RetroAchievements. - Bejelentkezik a RetroAchievements-be. + Bejelentkezés a RetroAchievements-be. - + Current Game Jelenlegi Játék - + An error occurred while deleting empty game settings: {} Egy hiba történt az üres játék beállítások törlése közben: {} - + An error occurred while saving game settings: {} Egy hiba történt a játék beállítások mentése során: {} - + {} is not a valid disc image. {} nem egy érvényes lemezkép. - + Automatic mapping completed for {}. Automatikus hozzárendelés sikeres a {}-hoz - + Automatic mapping failed for {}. Automatikus hozzárendelés sikertelen a {}-hoz. - + Game settings initialized with global settings for '{}'. Játék beállítások inicializálva a globális beállítások alapján a '{}' játékhoz. - + Game settings have been cleared for '{}'. Játék beállítások eltávolítva a '{}' játékhoz. - + {} (Current) {} (Jelenlegi) - + {} (Folder) {} (Mappa) - + Failed to load '{}'. Sikertelen a '%1' betöltése. - + Input profile '{}' loaded. Bemeneti profil '{}' betöltve. - + Input profile '{}' saved. Bemeneti profil '{}' mentve. - + Failed to save input profile '{}'. Bemeneti profil '{}' mentése sikertelen. - + Port {} Controller Type Port {} Játékvezérlő Típus - + Select Macro {} Binds {} Makró Hozzárendelés Kiválasztása - + Port {} Device Port {} Eszköz - + Port {} Subtype Port {} Altípusa - + {} unlabelled patch codes will automatically activate. - %1 nem címkézett javítás kód automatikusan betöltődik. + {} nem címkézett tapasz kód automatikusan betöltődik. - + {} unlabelled patch codes found but not enabled. - %1 nem címkézett javítás kód található de nincs engedélyezve. + {} nem címkézett tapasz kód található de nincs engedélyezve. - + This Session: {} Ez a Munkamenet: {} - + All Time: {} Összes Idő: {} - + Save Slot {0} Mentési Foglalat {0} - + Saved {} Mentve {} - + {} does not exist. {} nem létezik. - + {} deleted. {} törölve. - + Failed to delete {}. {} törlése sikertelen. - + File: {} Fájl: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Játékidő: {} - + Last Played: {} Utoljára Megnyitva: {} - + Size: {:.2f} MB Méret: {:.2f} MB - + Left: Bal: - + Top: Fent: - + Right: Jobb: - + Bottom: Lent: - + Summary Összegzés - + Interface Settings Felület Beállítások - + BIOS Settings BIOS Beállítások - + Emulation Settings Emuláció Beállítások - + Graphics Settings Grafikai Beállítások - + Audio Settings Hang Beállítások - + Memory Card Settings Memória Kártya Beállítások - + Controller Settings Játékvezérlő Beállítások - + Hotkey Settings Gyorsbillentyű Beállítások - + Achievements Settings Trófea Beállítások - + Folder Settings Könyvtár Beállítások - + Advanced Settings Szakértő Beállítások - + Patches - Javítások + Tapaszok - + Cheats Csalások - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Sebesség - + 60% Speed 60% Sebesség - + 75% Speed 75% Sebesség - + 100% Speed (Default) 100% Sebesség - + 130% Speed 130% Sebesség - + 180% Speed 180% Sebesség - + 300% Speed 300% Sebesség - + Normal (Default) Normál (Alapértelmezett) - + Mild Underclock Alacsony Órajel Csökkentés - + Moderate Underclock Jelentős Órajel Csökkentés - + Maximum Underclock Maximum Órajel Csökkentés - + Disabled Letiltva - + 0 Frames (Hard Sync) 0 Képkocka (Direkt Szinkron) - + 1 Frame 1 Képkocka - + 2 Frames 2 Képkocka - + 3 Frames 3 Képkocka - + None Nincs - + Extra + Preserve Sign Extra + Előjel Megtartás - + Full Teljes - + Extra Extra - + Automatic (Default) Automatikus (Alapértelmezett) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Szoftveres - + Null Nincs Leképezés - + Off Ki - + Bilinear (Smooth) Bilineáris (Simított) - + Bilinear (Sharp) Bilineáris (Éles) - + Weave (Top Field First, Sawtooth) Összefésülés (Felső Mező Először, Fűrészfog) - + Weave (Bottom Field First, Sawtooth) Összefésülés (Alsó Mező Először, Fűrészfog) - + Bob (Top Field First) Ugráló (Felső Mező Először) - + Bob (Bottom Field First) Ugráló (Alsó Mező Először) - + Blend (Top Field First, Half FPS) Összeolvasztás (Felső Mező Először, Fél FPS) - + Blend (Bottom Field First, Half FPS) Összeolvasztás (Alsó Mező Először, Fél FPS) - + Adaptive (Top Field First) Adaptív (Felső Mező Először) - + Adaptive (Bottom Field First) Összefésülés (Alsó Mező Először) - + Native (PS2) Natív (PS2) - + Nearest Legközelebbi - + Bilinear (Forced) Bilineáris (Kényszerített) - + Bilinear (PS2) Bilineáris (PS2) - + Bilinear (Forced excluding sprite) Bilineáris (Kényszerített kivéve 2D spriteok) - + Off (None) Ki (Nincs) - + Trilinear (PS2) Trilineáris (PS2) - + Trilinear (Forced) Trilineáris (Kényszerített) - + Scaled Skálázott - + Unscaled (Default) Skálázatlan (Alapértelmezett) - + Minimum Minimum - + Basic (Recommended) Egyszerű (Ajánlott) - + Medium Közepes - + High Magas - + Full (Slow) Teljes (Lassú) - + Maximum (Very Slow) Maximum (Nagyon Lassú) - + Off (Default) Ki (Alapértelmezett) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Részleges - + Full (Hash Cache) Teljes (Hash Gyorsítótár) - + Force Disabled Kényszerített Letiltás - + Force Enabled Kényszerített Engedélyezés - + Accurate (Recommended) Precíz (Ajánlott) - + Disable Readbacks (Synchronize GS Thread) Visszaolvasás Letiltása (GS Szál Szinkronizálása) - + Unsynchronized (Non-Deterministic) Nem Szinkronizált - + Disabled (Ignore Transfers) Letiltva (Átvitel Figyelmen Kívül Hagyása) - + Screen Resolution Képernyőfelbontás - + Internal Resolution (Aspect Uncorrected) Leképezési Felbontás (Arány Nem Javított) - + Load/Save State Állás Mentése/Betöltése - + WARNING: Memory Card Busy FIGYELEM: Memóriakártya Használatban - + Cannot show details for games which were not scanned in the game list. Nem lehet olyan játékok részleteit megjeleníteni, amik nincsenek benne a játék listában. - + Pause On Controller Disconnection Szünet a Játékvezérlő Lecsatlakozása Esetén - + + Use Save State Selector + Állásmentés Választó Használata + + + SDL DualSense Player LED SDL DualSense Fénysáv - + Press To Toggle Lenyomás az Átkapcsoláshoz - + Deadzone Holttér - + Full Boot Teljes Indítás - + Achievement Notifications Trófea Értesítések - + Leaderboard Notifications Ranglista Értesítések - + Enable In-Game Overlays Játékon Belüli Átfedések Engedélyezése - + Encore Mode Ráadás Mód - + Spectator Mode Megfigyelő Mód - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. A 4-bites és 8-bites képpuffert a CPU-n alakítja át a GPU helyett. - + Removes the current card from the slot. Kiadja a lejenlegi kártyát a foglalatból. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Meghatározza, hogy a makró milyen gyakorisággal kapcsolja be és ki a gombokat (más néven automatikus tűz). - + {} Frames {} Képkocka - + No Deinterlacing Nincs Deinterlace - + Force 32bit 32bit Kényszerítése - + JPEG JPEG - + 0 (Disabled) 0 (Letiltva) - + 1 (64 Max Width) 1 (64 Max Széllesség) - + 2 (128 Max Width) 2 (128 Max Széllesség) - + 3 (192 Max Width) 3 (192 Max Széllesség) - + 4 (256 Max Width) 4 (256 Max Széllesség) - + 5 (320 Max Width) 5 (320 Max Széllesség) - + 6 (384 Max Width) 6 (384 Max Széllesség) - + 7 (448 Max Width) 7 (448 Max Széllesség) - + 8 (512 Max Width) 8 (512 Max Széllesség) - + 9 (576 Max Width) 9 (576 Max Széllesség) - + 10 (640 Max Width) 10 (640 Max Széllesség) - + Sprites Only Csak Spriteok - + Sprites/Triangles Spriteok/Háromszögek - + Blended Sprites/Triangles Összeolvasztott Spriteok/Háromszögek - + 1 (Normal) 1 (Alap) - + 2 (Aggressive) 2 (Agresszív) - + Inside Target A Célon Belül - + Merge Targets Célok Összeolvasztása - + Normal (Vertex) Normális (Vertex) - + Special (Texture) Speciális (Textúra) - + Special (Texture - Aggressive) Speciális (Textúra - Agresszív) - + Align To Native Natívhoz Igazítás - + Half Fél - + Force Bilinear Bilineáris Kényszerítése - + Force Nearest Legközelebbi Kényszerítése - + Disabled (Default) Letiltott (Alapértelmezett) - + Enabled (Sprites Only) Engedélyezve (Csak Spriteok) - + Enabled (All Primitives) Engedélyezve (Minden Primitív) - + None (Default) Nincs (Alapértelmezett) - + Sharpen Only (Internal Resolution) Csak Élesítés (Leképezési Felbontás) - + Sharpen and Resize (Display Resolution) Élesítés és Méretezés (Kijelző Felbontás) - + Scanline Filter Képsor Filter - + Diagonal Filter Diagonális Filter - + Triangular Filter Háromszöges Filter - + Wave Filter Hullám Filter - + Lottes CRT Lottes Képcső - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Tömörítetlen - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negatív - + Positive Pozitív - + Chop/Zero (Default) Levágás/Nulla (Alapértelmezett) - + Game Grid Játék Négyzetrács - + Game List Játék Lista - + Game List Settings - Játék Lista Beállitásai + Játék Lista Beállításai - + Type Típus - + Serial Sorozatszám - + Title Cím - + File Title Fájl Név - + CRC CRC - + Time Played Játékidő - + Last Played Utoljára Megnyitva - + Size Méret - + Select Disc Image Lemez Képfájl Kiválasztása - + Select Disc Drive Lemez Meghajtó Kiválasztása - + Start File Fájl Indítása - + Start BIOS Bios Indítása - + Start Disc Lemez Indítása - + Exit Kilépés - + Set Input Binding Bemeneti Hozzárendelés Kiválasztása - + Region Régió - + Compatibility Rating Kompatibilitási Szint - + Path Elérési Út - + Disc Path Lemez Útvonal - + Select Disc Path Lemez Meghajtó Kiválasztása - + Copy Settings Beállítások Másolása - + Clear Settings - Beállítások Elvávolítása + Beállítások Eltávolítása - + Inhibit Screensaver Képernyőkímélő Megakadályozása - + Enable Discord Presence Discord Jelenlét Engedélyezése - + Pause On Start Szünet Indításnál - + Pause On Focus Loss Szünet Fókusz Elvesztése Esetén - + Pause On Menu Szünet a Menüben - + Confirm Shutdown Bezárás Megerősítése - + Save State On Shutdown Állás Mentése Leállítás Esetén - + Use Light Theme Világos Téma Használata - + Start Fullscreen Indítás Teljes Képernyőn - + Double-Click Toggles Fullscreen - A Dupla Kattintás Bekapcsolja a Teljes Képernyőt + Dupla Kattintásra Teljes Képernyő - + Hide Cursor In Fullscreen Kurzor Elrejtése Teljes Képernyőn - + OSD Scale Képernyőmenü Mérete - + Show Messages Üzenetek Megjelenítése - + Show Speed - Sebesség Megjelenítése. + Sebesség Megjelenítése - + Show FPS Képkocka Számláló Megjelenítése - + Show CPU Usage CPU Használat Megjelenítése - + Show GPU Usage GPU Használat Megjelenítése - + Show Resolution Felbontás Megjelenítése - + Show GS Statistics GS Statisztika Megjelenítése - + Show Status Indicators Státusz Indikátorok Megjelenítése - + Show Settings Beállítások Megjelenítése - + Show Inputs Bemenet Megjelenítése - + Warn About Unsafe Settings Figyelmeztetés a Nem Biztonságos Beállításokról - + Reset Settings Beállítások Visszaállítása - + Change Search Directory Játék Könyvtár Kiválasztása - + Fast Boot Gyors Indítás - + Output Volume Kimeneti Hangerő - + Memory Card Directory Memória Kártyák Mappája - + Folder Memory Card Filter Mappa Memória Kártya Szűrő - + Create Létrehozás - + Cancel Mégse - + Load Profile Profil Betöltése - + Save Profile Profil Mentése - + Enable SDL Input Source SDL Bemenetforrás Használata - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Bővített Mód - + SDL Raw Input SDL Nyers Bemenet - + Enable XInput Input Source XInput Bemenetforrás Használata - + Enable Console Port 1 Multitap Port 1 Multitap Engedélyezése - + Enable Console Port 2 Multitap Port 2 Multitap Engedélyezése - + Controller Port {}{} Játékvezérlő Port {}{} - + Controller Port {} Játékvezérlő Port {} - + Controller Type Játékvezérlő Típus - + Automatic Mapping Automatikus Hozzárendelés - + Controller Port {}{} Macros Játékvezérlő Port {}{} Makrók - + Controller Port {} Macros Játékvezérlő Port {} Makrók - + Macro Button {} Makró Gomb {} - + Buttons Gombok - + Frequency Gyakoriság - + Pressure Nyomás - + Controller Port {}{} Settings Játékvezérlő Port {}{} Beállításai - + Controller Port {} Settings Játékvezérlő Port {} Beállításai - + USB Port {} USB Port {} - + Device Type Eszköz Típusa - + Device Subtype Eszköz Altípusa - + {} Bindings {} Gomb Kiosztása - + Clear Bindings Hozzárendelések Elvávolítása - + {} Settings {} Beállításai - + Cache Directory Gyorsítótár Elérési Útvonala - + Covers Directory Borítok Elérési Útvonala - + Snapshots Directory Képernyőképek Könyvtár - + Save States Directory Állásmentések Mappája - + Game Settings Directory Játék Beállítások Mappája - + Input Profile Directory Bemeneti Profilok Mappája - + Cheats Directory Csalások Elérési Útvonala - + Patches Directory - Javítások Mappája + Tapaszok Mappája - + Texture Replacements Directory Cseretextúrák Mappája - + Video Dumping Directory Videó Mentések Mappája - + Resume Game Játék Folytatása - + Toggle Frame Limit Képkocka Limit Ki/Be - + Game Properties Játék Tulajdonságai - + Achievements Trófeák - + Save Screenshot Képernyőkép Készítése - + Switch To Software Renderer Váltás Szoftveres Leképezésre - + Switch To Hardware Renderer Váltás Hardveres Leképezésre - + Change Disc Lemez Cseréje - + Close Game Játék Bezárása - + Exit Without Saving Kilépés Mentés Nélkül - + Back To Pause Menu Vissza A Szünet Menübe - + Exit And Save State Kilépés És Állás Mentése - + Leaderboards Ranglisták - + Delete Save Mentés Törlése - + Close Menu Menü Bezárása - + Delete State Állás Törlése - + Default Boot Normál Indítás - + Reset Play Time - Játék Idő Nullázása + Játékidő Nullázása - + Add Search Directory Keresendő Mappa Hozzáadása - + Open in File Browser Megnyitás Böngészőben - + Disable Subdirectory Scanning Almappák Keresésének Letiltása - + Enable Subdirectory Scanning Almappák Keresésének Engedélyezése - + Remove From List Eltávolítás a Listáról - + Default View Alapértelmezett Nézet - + Sort By Rendezés - + Sort Reversed Fordított Rendezés - + Scan For New Games Új Játékok Keresése - + Rescan All Games Minden Játék Újrakeresése - + Website Honlap - + Support Forums Közösségi fórum - + GitHub Repository GitHub Repó - + License - Licensz + Licenc - + Close Bezárás - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration lesz használatban a beépített trófea megoldás helyett. - + Enable Achievements Trófeák Engedélyezése - + Hardcore Mode Hardcore mód - + Sound Effects Hanghatások - + Test Unofficial Achievements Nem Hivatalos Trófeák Kipróbálása - + Username: {} Felhasználónév: {} - + Login token generated on {} Bejelentkezési azonosító létrehozva {} - + Logout Kijelentkezés - + Not Logged In Nincs Bejelentkezve - + Login Bejelentkezés - + Game: {0} ({1}) Játék: {0} ({1}) - + Rich presence inactive or unsupported. Gazdag jelenlét inaktív vagy nem támogatott. - + Game not loaded or no RetroAchievements available. Nincs játék betöltve vagy nem elérhető a RetroAchievements adatbázisban. - + Card Enabled Kártya Engedélyezve - + Card Name Kártya Neve - + Eject Card Kártya Kiadása @@ -10218,7 +10277,8 @@ A Vulkan leképező használatához el kell távolítani ezt az alkalmazáscsoma You should update all graphics drivers in your system, including any integrated GPUs to use the Vulkan renderer. A Vulkan leképező lett automatikusan kiválasztva, azonban nem található kompatibilis eszköz. - Próbáld meg frissíteni a videokártya illesztőprogramot, beleérve az integrált kártyáét is, hogy használhasd a Vulkan leképezőt. + Próbáld meg frissíteni a videokártya illesztőprogramot, beleérve az integrált kártyáét is, + hogy használhasd a Vulkan leképezőt. @@ -10358,7 +10418,7 @@ További információkért kérjük, olvasd el a hivatalos dokumentációnkat. Disable All - Összes Letíltása + Összes Letiltása @@ -10383,12 +10443,12 @@ További információkért kérjük, olvasd el a hivatalos dokumentációnkat. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - Bekapcsolja a javítás fájlok keresését a játék összes CRC-jéhez. Ezzel minden elérhető javítás a játék sorozatszámához különböző CRC-kel is betöltődik. + Bekapcsolja a tapasz fájlok keresését a játék összes CRC-jéhez. Ezzel minden elérhető tapasz a játék sorozatszámához különböző CRC-kel is betöltődik. %1 unlabelled patch codes will automatically activate. - %1 nem címkézett javítás kód automatikusan betöltődik. + %1 nem címkézett tapasz kód automatikusan betöltődik. @@ -10636,7 +10696,7 @@ grafikai minőséget, de ez megnöveli a rendszerkövetelményeket. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - A következő játékokra van hatással: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines + A következő játékokra van hatással: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. @@ -10661,7 +10721,7 @@ grafikai minőséget, de ez megnöveli a rendszerkövetelményeket. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - Engedélyezi a folyamatos újrafordítást bizonyos játékokban. Ismerten hatással van az alábbi játékokra:Scarface The World is Yours, Crash Tag Team Racing. + Elkerüli a folyamatos újrafordítást bizonyos játékokban. Ismerten hatással van az alábbi játékokra: Scarface The World is Yours, Crash Tag Team Racing. @@ -10671,12 +10731,12 @@ grafikai minőséget, de ez megnöveli a rendszerkövetelményeket. Run behind. To avoid sync problems when reading or writing VU registers. - Lemaradás. Hogy elkerülje a problémákat a VU regiszterek írásánál vagy olvasásánál. + Késleltetés. Hogy elkerülje a problémákat a VU regiszterek írásánál vagy olvasásánál. To check for possible float overflows (Superman Returns). - Ellenőrzi a lehetséges lebegőpontos túlcsordulást (Superman Returns) + Ellenőrzi a lehetséges lebegőpontos túlcsordulást (Superman Returns). @@ -10850,7 +10910,7 @@ grafikai minőséget, de ez megnöveli a rendszerkövetelményeket. Time Played - Játék Idő + Játékidő @@ -10910,7 +10970,7 @@ grafikai minőséget, de ez megnöveli a rendszerkövetelményeket. Excluded Paths (will not be scanned) - Kihagyott Útvonalak (nem lesz itt keresve) + Kihagyott Útvonalak (itt nem lesz keresve) @@ -11027,7 +11087,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Patch Title - Javítás Neve + Tapasz Neve @@ -11039,7 +11099,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. <html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Készítő: </span>Javítás Készítője</p><p>Ide kerül a leírás</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Készítő: </span>Tapasz Készítője</p><p>Ide kerül a leírás</p></body></html> @@ -11054,7 +11114,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. No description provided. - Nincs leírás megadva + Nincs leírás megadva. @@ -11062,42 +11122,52 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - A javítások engedélyezése nem várt működést eredményezhet, összeomlást, nem folytatható játékot, tönkrement mentéseket. Csak saját felelősségre használj javításokat, a PCSX2 csapat nem tud támogatást nyújtani azoknak a felhasználóknak, akik javításokat használnak. + A tapaszok engedélyezése nem várt működést eredményezhet, összeomlást, nem folytatható játékot, tönkrement mentéseket. Csak saját felelősségre használj tapaszokat, a PCSX2 csapat nem tud támogatást nyújtani azoknak a felhasználóknak, akik tapaszokat használnak. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - Minden a PCSX2-be épített javítás ehhez a játékhoz letiltódik, mert nem címkézett javításokat töltöttél be. + Minden a PCSX2-be épített tapasz ehhez a játékhoz letiltódik, mert nem címkézett tapaszokat töltöttél be. + + + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>A szélesvásznú tapaszok jelenleg <span style=" font-weight:600;">ENGEDÉLYEZVE</span> vannak globálisan.</p></body></html> - + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>A Váltottsorosságot megszüntető tapaszok jelenleg <span style=" font-weight:600;">ENGEDÉLYEZVE</span> vannak globálisan.</p></body></html> + + + All CRCs Minden CRC - + Reload Patches - Javítások Újratöltése + Tapaszok Újratöltése - + Show Patches For All CRCs - Javítások Megjelenítése Minden CRC-hez + Tapaszok Megjelenítése Minden CRC-hez - + Checked Bejelölve - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - Bekapcsolja a javítás fájlok keresését a játék összes CRC-jéhez. Ezzel minden elérhető javítás a játék sorozatszámához különböző CRC-kel is betöltődik. + Bekapcsolja a tapasz fájlok keresését a játék összes CRC-jéhez. Ezzel minden elérhető tapasz a játék sorozatszámához különböző CRC-kel is betöltődik. - + There are no patches available for this game. - Nincs elérhető javítás ehhez a játékhoz. + Nincs elérhető tapasz ehhez a játékhoz. @@ -11414,7 +11484,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Game is not a CD/DVD. - A játék nem egy CD/DVD + A játék nem egy CD/DVD. @@ -11486,7 +11556,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Cannot verify image while a game is running. - Nem ellenőrihető a képfájl ha a játék fut. + Nem ellenőrizhető a képfájl ha a játék fut. @@ -11509,7 +11579,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. unknown function - Ismeretlen függvény + ismeretlen függvény @@ -11571,11 +11641,11 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. - - - - - + + + + + Off (Default) Ki (Alapértelmezett) @@ -11585,10 +11655,10 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. - - - - + + + + Automatic (Default) Automatikus (Alapértelmezett) @@ -11655,7 +11725,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilineáris (Simított) @@ -11721,29 +11791,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Képernyő Eltolás Értékek - + Show Overscan Túlpásztázási Terület Megjelenítése - - - Enable Widescreen Patches - Szélesvásznú Javítások Engedélyezése - - - - Enable No-Interlacing Patches - Váltott-soros Megjelenítést Tiltó Javítások Engedélyezése - - + Anti-Blur Elmosódottság Csökkentése @@ -11754,7 +11814,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Váltott-Sor Eltolás Letiltása @@ -11764,18 +11824,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Képernyő Mentés Mérete: - + Screen Resolution Képernyő Felbontás - + Internal Resolution - Renderelési Felbontás + Belső Felbontás - + PNG PNG @@ -11793,12 +11853,12 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Rendering - Renderelés + Leképezés Internal Resolution: - Renderelési Felbontás: + Belső Felbontás: @@ -11827,7 +11887,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilineáris (PS2) @@ -11860,7 +11920,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Anisotropic Filtering: - Anizotrop Szűrés: + Anizotróp Szűrés: @@ -11874,7 +11934,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Skálázatlan (Alapértelmezett) @@ -11890,7 +11950,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Egyszerű (Ajánlott) @@ -11926,7 +11986,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Teljes (Hash Gyorsítótár) @@ -11942,31 +12002,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Mélység Átalakítás Letiltása - + GPU Palette Conversion GPU Paletta Átalakítás - + Manual Hardware Renderer Fixes Manuális Hardveres Leképező Javítások - + Spin GPU During Readbacks GPU Lefoglalása Visszaolvasásnál - + Spin CPU During Readbacks CPU Lefoglalása Visszaolvasásnál @@ -11978,15 +12038,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmappok Használata - - + + Auto Flush Automatikus Ürítés @@ -12014,8 +12074,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Letiltva) @@ -12072,18 +12132,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Biztonsági Funkciók Letiltása - + Preload Frame Data Képkocka Adat Előtöltése - + Texture Inside RT Textúra a Leképezési Célban @@ -12182,13 +12242,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Sprite Egyesítés - + Align Sprite Sprite Illesztés @@ -12202,16 +12262,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Nincs Váltottsorosság Megszüntetés - - - Apply Widescreen Patches - Szélesvásznú Javítások Alkalmazása - - - - Apply No-Interlacing Patches - Váltottsorosságot Megszüntető Javítások Alkalmazása - Window Resolution (Aspect Corrected) @@ -12284,25 +12334,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Részleges Forrás Érvénytelenítés Letiltása - + Read Targets When Closing Célok Beolvasása Bezárásnál - + Estimate Texture Region Textúra Terület Megállapítása - + Disable Render Fixes Leképezési Javítások Letiltása @@ -12313,7 +12363,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Skálázatlan Paletta Textúra Rajzolás @@ -12372,25 +12422,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Textúrák Lementése - + Dump Mipmaps Mipmappok Lementése - + Dump FMV Textures FMV Textúrák Lementése - + Load Textures Textúrák Betöltése @@ -12400,6 +12450,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Natív (10:7) + + + Apply Widescreen Patches + Szélesvásznú Tapaszok Alkalmazása + + + + Apply No-Interlacing Patches + Váltottsorosságot Megszüntető Tapaszok Alkalmazása + Native Scaling @@ -12417,13 +12477,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Egyenlő Sprite Pozíció Kényszerítése - + Precache Textures Textúrák Előtöltése @@ -12446,8 +12506,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Nincs (Alapértelmezett) @@ -12468,7 +12528,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12520,14 +12580,14 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost - Árnyalat Nővelés + Árnyalat Növelés Brightness: - Fényerő + Fényerő: @@ -12535,7 +12595,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontraszt: - + Saturation Telítettség @@ -12556,50 +12616,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Indikátorok Megjelenítése - + Show Resolution Felbontás Megjelenítése - + Show Inputs Bemenet Megjelenítése - + Show GPU Usage GPU Használat Megjelenítése - + Show Settings Beállítások Megjelenítése - + Show FPS Képkocka Számláló Megjelenítése - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Mailbox Prezentáció Letiltása - + Extended Upscaling Multipliers Kiterjesztett Felskálázási Szorzók @@ -12615,13 +12675,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Statisztika Megjelenítése - + Asynchronous Texture Loading Aszinkron Textúrabetöltés @@ -12632,13 +12692,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage CPU Használat Megjelenítése - + Warn About Unsafe Settings Figyelmeztetés a Nem Biztonságos Beállításokról @@ -12664,7 +12724,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Bal (Alapértelmezett) @@ -12675,43 +12735,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Jobb (Alapértelmezett) - + Show Frame Times Képkocka Idők Megjelenítése - + Show PCSX2 Version PCSX2 Verziójának Megjelenítése - + Show Hardware Info Hardver Információ Megjelenítése - + Show Input Recording Status Bemenet Rögzítési Állapot Megjelenítése - + Show Video Capture Status Videó Rögzítési Állapot Megjelenítése - + Show VPS VPS Megjelenítése @@ -12820,19 +12880,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Duplikált Képkockák Átugrása - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12885,7 +12945,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Sebesség Százalékok Megjelenítése @@ -12895,1214 +12955,1214 @@ Swap chain: see Microsoft's Terminology Portal. Képpuffer Lekérdezés Letiltása - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Szoftver - + Null Null here means that this is a graphics backend that will show nothing. Nincs Leképezés - + 2x 2x - + 4x 4x - + 8x 8x - + 16x - 16x - - - - - - - Use Global Setting [%1] - Globális beállítások használata [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 16x + + + + + + + Use Global Setting [%1] + Globális beállítások használata [%1] + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Nincs Bejelölve - + + Enable Widescreen Patches + Szélesvásznú Tapaszok Engedélyezése + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Automatikusan betölti és alkalmazza a szélesvásznú javításokat. Problémákat okozhat. + Automatikusan betölti és alkalmazza a szélesvásznú tapaszokat a játék indításakor. Problémákat okozhat. + + + + Enable No-Interlacing Patches + Váltottsorosságot Megszüntető Tapaszok Engedélyezése - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Automatikusan betölti és alkalmazza a váltotsorosság megszüntető javításokat. Problémákat okozhat. + Automatikusan betölti és alkalmazza a váltotsorosság megszüntető tapaszokat a játék indításakor. Problémákat okozhat. - + Disables interlacing offset which may reduce blurring in some situations. Letiltja a váltottsoros eltolást, ami bizonyos esetekben csökkentheti az elmosódottságot. - + Bilinear Filtering Bilineáris Szűrő - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Engedélyezi a bilineáris utófeldolgozó szűrőt. Kisimítja a képet ahogy megjelenik a kijelzőn. Javítja a pozicionálást a pixelek között. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Engedélyezi a PCRTC eltolást, ami áthelyezi a képernyőt a játék kérésére. Hasznos olyan játékoknál mint például a WipEout Fusion ami ezt használja a rázkódó képernyő hatáshoz, de elmosódottá teheti a képet. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Engedélyezi hogy megjelenjen a játékok túlpásztázási területe, ami többet mutat a képernyőn mint a biztonságos terület. - + FMV Aspect Ratio Override FMV Képarány Felülírás - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Meghatározza a milyen eljárással legyen megszüntetve a váltottsoroság az emulált konzol váltottsoros képernyőjén. Az automatikus beállítás a legtöbb játéknál megfelelően megszünteti a váltottsoroságot, de ha remegőnek látod a képet, próbáld meg az elérhető opciókat. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Szabályozza a GS keverő egységének emulációs pontosságát.<br> Minél magasabb a beállítás, annál pontosabban emulálódik a keverés a shaderben, és annál nagyobb lesz az erőforrás igény.<br> Vegyed figyelembe, hogy a Direct3D keverési képességei elmaradnak az OpenGL/Vulkanhoz képest. - + Software Rendering Threads Szoftveres Leképezés Szálai - + CPU Sprite Render Size CPU Sprite Leképezés Mérete - + Software CLUT Render Szoftveres CLUT Leképezés - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Megpróbálja érzékelni ha egy játék a saját színpalettáját rajzolja, és leképezi a GPU-ba különleges eljárással. - + This option disables game-specific render fixes. Ez az opció letiltja a játék specifikus javításokat. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Alapból a textúra gyorsítótár kezeli a részleges érvénytelenítést. Sajnálatos módon ez nagyon számítás igényes a processzornak. Ez a funkció lecseréli a részleges érvénytelenítést a textúra teljes törlésére ezzel csökkentve a számítás igényt. Segít a Snowblind motorral készült játékokon. - + Framebuffer Conversion Képpuffer Átalakítás - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. A 4-bites és a 8-bites képpuffer átalakítását a processzor végzi a videokártya helyett. Segít a Harry Potter és a Stuntman játékokon. A funkciónak nagy hatása van a teljesítményre. - - + + Disabled Letiltva - - Remove Unsupported Settings - Nem Támogatott Beállítások Törlése - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Jelenleg engedélyezve van a <strong>Szélesvásznú Javítások</strong> vagy a <strong>Váltottsoroság Megszüntető Javítások</strong> ehhez a játékhoz.<br><br>Ezeket az opciókat már nem támogatjuk, helyette <strong>inkább válaszd ki a "Javítások" szekciót, és engedélyezd a kívánt javításokat.</strong><br><br>Szeretnéd törölni ezeket az opciókat a játék beállításaiból? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Felülírja a játékba ágyazott videók (FMV) képarányát. Ha nincs engedélyezve, a videók ugyanazt a képarányt használják, ami a játékhoz be lett állítva. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Engedélyezi a mipmappokat, ami bizonyos játékokhoz szükséges a helyes megjelenítéshez. A mipmappok folyamatosan csökkenő felbontású verziói egy textúrának, amik a távolságtól függően változnak, hogy csökkentség a számítási igényt és megakadályozzák a vizuális hibákat. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Megváltoztatja a szűrési algoritmust ami a felületeken lévő textúrákra alkalmazódik.<br> Legközelebbi: Nem próbálja összemosni a színeket.<br> Bilineáris (Kényszerített): Összemossa a színeket, hogy eltüntesse az élek határokat a különféle színek között, még akkor is, ha erre a játék a PS2-őt nem utasítja.<br> Bilineáris (PS2): Minden olyan felületre szűrést alkalmaz, amire a játék a PS2-őt utasítja.<br> Bilineáris (Kényszerített Kivéve Spriteok) Minden felületre szűrőt alkalmaz, akkor is, ha erre a játék a PS2-őt nem utasítja, kivéve a spriteokat (2D). - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Csökkenti a kis, meredek szögű felületekre alkalmazott nagyméretű textúrák elmosódottságát a két legközelebbi Mipmapból történő színmintavételezéssel. A Mipmappingnek 'engedélyezett' állapotban kell lennie.<br> Ki: Kikapcsolja a funkciót.<br> Trilineáris (PS2): Trilineáris szűrést alkalmaz minden olyan felületre, amelyre a játék utasítja a PS2-t.<br> Trilineáris (Kényszerített): Trilineáris szűrést alkalmaz minden felületre, még akkor is, ha a játék azt mondja a PS2-nek, hogy ne tegye. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Csökkenti a színek közötti sávokat, és növeli az érzékelt színmélységet.<br> Ki: Letiltja a zajmodulációt.<br> Skálázott: Figyelembe veszi a felskálázást / Legnagyobb zajmodulációs hatás.<br> Skálázatlan: Natív Zajmoduláció / Legkisebb zajmodulációs hatás, nem növeli a négyzetek méretét felskálázásnál.<br> 32-bit Kényszerítése: Minden rajzolást 32-bitesként kezel, hogy elkerülje a sávozást és a zajmodulációt. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Hasztalan műveleteket hajtat végre a processzorral visszaolvasásánál, hogy megakadályozza, hogy energiakímélő módba lépjen. Növelheti a teljesítményt visszaolvasásnál, de nagymértékben emeli az energiafogyasztást. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Hasztalan műveleteket hajtat végre a videokártyával visszaolvasásánál, hogy megakadályozza, hogy energiakímélő módba lépjen. Növelheti a teljesítményt visszaolvasásnál, de nagymértékben emeli az energiafogyasztást. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Leképezési szálak száma: 0 egy szálhoz, 2 vagy több a többszálúhoz (1 a hibakereséshez) 2-4 szál az ajánlott, ennél több nagy eséllyel lassabb lesz mint gyorsabb. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Letiltja a mélység puffer támogatását a textúra gyorsítótárban. Nagy eséllyel hibákat fog okozni ezért ez csak hibakereséshez használatos. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Engedélyezi a textúra gyorsítótárnák, hogy újra használja bemeneti textúraként az előző képpuffer belső részét. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - Minden célt visszaüríti a textúra gyorsítótárból a helyi memóriába leállításnál. Megakadályozhatja az elveszett képrészleteket állás mentésnél vagy leképező váltásnál, de grafikai hibákat is okozhat. + Minden célt visszaürít a textúra gyorsítótárból a helyi memóriába leállításnál. Megakadályozhatja az elveszett képrészleteket állás mentésnél vagy leképező váltásnál, de grafikai hibákat is okozhat. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Megpróbálja csökkenteni a textúra méretet ha a játék nem teszi ezt meg (pl. Snowblind játékok). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Javítja a problémákat a felskálázással (függőleges vonalak) a Namco játékokban mint a Ace Combat, Tekken, Soul Calibur, stb. - + Dumps replaceable textures to disk. Will reduce performance. Lementi a lecserélhető textúrákat a lemezre. Csökkenti a teljesítményt. - + Includes mipmaps when dumping textures. A mipmappokat is hozzáadja a lementett textúrákhoz. - + Allows texture dumping when FMVs are active. You should not enable this. Akkor is lementi a textúrákat mikor egy FMV aktív. Nem ajánlott engedélyezni. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Egy külön szálat használ a cseretextúrák betöltéséhez, csökkentve ezzel a mikroszaggatásokat mikor a csere engedélyezve van. - + Loads replacement textures where available and user-provided. Betölti a cseretextúrákat ha elérhetők. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Minden cseretextúrát betölt a memóriába. Nem szükséges aszinkron betöltésnél. - + Enables FidelityFX Contrast Adaptive Sharpening. Engedélyezi a FidelityFX kontraszt adaptív élesítést. - + Determines the intensity the sharpening effect in CAS post-processing. - Meghatározza az élesítő hatást intenzitását CAS útó-feldólgozásnál + Meghatározza az élesítő hatást intenzitását CAS utófeldolgozásnál. - + Adjusts brightness. 50 is normal. Növeli a fényerőt. Az 50 az alap. - + Adjusts contrast. 50 is normal. Növeli a kontrasztot. Az 50 az alap. - + Adjusts saturation. 50 is normal. Növeli a telítettséget. Az 50 az alap. - + Scales the size of the onscreen OSD from 50% to 500%. - Skálázza a képernyőmenü méretét 50%-tól 500%-ig + Skálázza a képernyőmenü méretét 50%-tól 500%-ig. - + OSD Messages Position Képernyőmenü Üzenetek Pozíciója - + OSD Statistics Position Képernyőmenü Statisztikák Pozíciója - + Shows a variety of on-screen performance data points as selected by the user. Többféle teljesítmény adatot jelenít meg a képernyőn, amiket a felhasználó kiválasztott. - + Shows the vsync rate of the emulator in the top-right corner of the display. Megjeleníti a függőleges szinkronizáció folyamát a képernyő jobb felső sarkában. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Ikonokat jelenít meg a képernyőmenün olyan emulációs állapotokhoz, mint a Szünet, Turbó, Gyorsítás, Lassítás. - + Displays various settings and the current values of those settings, useful for debugging. Megjelenít különféle beállításokat, és a jelenlegi értékeit ezeknek a beállításoknak, hibakereséshez lehet hasznos. - + Displays a graph showing the average frametimes. Megjelenít egy grafikát az átlagos képkocka időkkel. - + Shows the current system hardware information on the OSD. Megjeleníti a jelenlegi rendszer hardver információkat a képernyőmenün. - + Video Codec Videótömörítő - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Kiválasztható melyik videó kódoló legyen használva a videó rögzítéshez. <b>Ha bizonytalan vagy, hagyd alapértéken.<b> - + Video Format Videó Formátum - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Kiválasztható melyik videó formátum legyen használva videó rögzítéshez. Ha a kódoló esetleg nem támogatja ezt a formátumot, akkor az első elérhető lesz használva helyette.<b>Ha bizonytalan vagy, hagyd alapértéken.<b> - + Video Bitrate Videó Bitráta - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Beállítja a használandó videó bitrátát. A nagyobb bitráta általában jobb videóminőséget eredményez, de a fájl mérete nagyobb lesz. - + Automatic Resolution Automatikus Felbontás - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Ha be van jelölve, a videofelvétel felbontása követi a futó játék belső felbontását.<br><br><b> Legyél óvatos ennek a beállításnak a használatával, különösen a felskálázás során, mivel a nagyobb belső felbontás (4x feletti) nagyon nagy méretű videofelvételt eredményezhet, és a rendszer leterhelését okozhatja.</b> - + Enable Extra Video Arguments További Videó Paraméterek Engedélyezése - + Allows you to pass arguments to the selected video codec. Lehetővé teszi az argumentumok átadását a kiválasztott videokodeknek. - + Extra Video Arguments További Paraméterek - + Audio Codec - Audiótömörítő + Audiotömörítő - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Kiválasztható melyik hang kódoló legyen használva a videó rögzítéshez. <b>Ha bizonytalan vagy, hagyd alapértéken.<b> - + Audio Bitrate Hang Bitráta - + Enable Extra Audio Arguments További Hang Paraméterek Engedélyezése - + Allows you to pass arguments to the selected audio codec. Lehetővé teszi az argumentumok átadását a kiválasztott audiokodeknek. - + Extra Audio Arguments További Hang Paraméterek - + Allow Exclusive Fullscreen Exkluzív Teljes Képernyő Engedélyezése - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Felülírja az illesztőprogram heurisztikáját az exkluzív teljes képernyő vagy a közvetlen lapozás/kiolvasás engedélyezéséhez.<br>Az exkluzív teljes képernyő letiltása simább feladatváltást és átfedéseket tesz lehetővé, de növeli a bemeneti késleltetést. - + 1.25x Native (~450px) 1.25x Natív (~450px) - + 1.5x Native (~540px) 1.5x Natív (~540px) - + 1.75x Native (~630px) 1.75x Natív (~630px) - + 2x Native (~720px/HD) 2x Natív (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Natív (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Natív (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Natív (~1260px) - + 4x Native (~1440px/QHD) 4x Natív (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Natív (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Natív (~2160px/4K UHD) - + 7x Native (~2520px) 7x Natív (~2520px) - + 8x Native (~2880px/5K UHD) 8x Natív (~2880px/5K UHD) - + 9x Native (~3240px) 9x Natív (~3240px) - + 10x Native (~3600px/6K UHD) 10x Natív (~3600px/6K UHD) - + 11x Native (~3960px) 11x Natív (~3960px) - + 12x Native (~4320px/8K UHD) 12x Natív (~4320px/8K UHD) - + 13x Native (~4680px) 13x Natív (~4680px) - + 14x Native (~5040px) 14x Natív (~5040px) - + 15x Native (~5400px) 15x Natív (~5400px) - + 16x Native (~5760px) 16x Natív (~5760px) - + 17x Native (~6120px) 17x Natív (~6120px) - + 18x Native (~6480px/12K UHD) 18x Natív (~6480px/12K UHD) - + 19x Native (~6840px) 19x Natív (~6840px) - + 20x Native (~7200px) 20x Natív (~7200px) - + 21x Native (~7560px) 21x Natív (~7560px) - + 22x Native (~7920px) 22x Natív (~7920px) - + 23x Native (~8280px) 23x Natív (~8280px) - + 24x Native (~8640px/16K UHD) 24x Natív (~8640px/16K UHD) - + 25x Native (~9000px) 25x Natív (~9000px) - - + + %1x Native %1x Natív - - - - - - - - - + + + + + + + + + Checked Bejelölve - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Engedélyezi a beépített homályos kép elleni javításokat. Kevésbé lesz hű az eredeti PS2 megjelenítéshez, de rengeteg játékot kevésbé elmosódottá tesz. - + Integer Scaling Egész Számos Skálázás - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Kitölti a képernyő területet, hogy a konzol és a gazdagép közötti pixel arány egész szám legyen. Élesebb képet eredményezhet 2D játékokban. - + Aspect Ratio Képarány - + Auto Standard (4:3/3:2 Progressive) Automatikus Szabvány (4:3/3:2 Progresszív) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Megváltoztatja a képarányt amivel megjeleníti a konzol kimenetét a képernyőn. Az alapértelmezett az Automatikus Szabvány (4:3/3:2 Progresszív), ami úgy állítja be a képarányt, ahogy a játék megjelent volna egy korabeli TV-n. - + Deinterlacing Deinterlace - + Screenshot Size Képernyőmentés Mérete - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Meghatározza milyen felbontásban kerüljenek mentésre a képernyőképek. A leképezési felbontások több részletet tartalmaznak a fájl méret hátrányára. - + Screenshot Format Képernyőmentés Formátuma - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Kiválasztható milyen formátumban legyenek mentve a képernyőképek. A JPEG kisebb méretű, de veszít a részletekből. - + Screenshot Quality Képernyőmentés Minősége - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Kiválasztható milyen minőségben legyenek a képernyőképek tömörítve. A magasabb értékek növelik a JPEG részletességét, és csökkentik a PNG fájl méretét. - - + + 100% 100% - + Vertical Stretch Függőleges Nyújtás - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Kinyújtja (&lt; 100%) vagy összenyomja (&gt; 100%) a képernyő függőleges részét. - + Fullscreen Mode Teljes Képernyős Mód - - - + + + Borderless Fullscreen Keret Nélküli Teljes Képernyő - + Chooses the fullscreen resolution and frequency. - Kiválaszta a teljes képernyő felbontását és frissitését. + Kiválasztja a teljes képernyő felbontását és frissítését. - + Left Bal - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Megváltoztatja, hogy hány pixel legyen levágva a képernyő bal oldaláról. - + Top Fent - + Changes the number of pixels cropped from the top of the display. Megváltoztatja, hogy hány pixel legyen levágva a képernyő tetejéről. - + Right Jobb - + Changes the number of pixels cropped from the right side of the display. Megváltoztatja, hogy hány pixel legyen levágva a képernyő jobb oldaláról. - + Bottom Lent - + Changes the number of pixels cropped from the bottom of the display. Megváltoztatja, hogy hány pixel legyen levágva a képernyő aljáról. - - + + Native (PS2) (Default) Natív (PS2) (Alapértelmezett) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Vezérli a felbontást, amivel a játékok leképezésre kerülnek. A nagy felbontások csökkenthetik a teljesítményt régebbi vagy alsó kategóriás videó kártyákon.<br>A nem natív felbontások apróbb grafikai hibákat okozhatnak bizonyos játékokban.<br>A videók (FMV) felbontása változatlan marad, mivel a videó fájlok előre le vannak képezve. - + Texture Filtering Textúra Szűrés - + Trilinear Filtering Trilineáris Szűrés - + Anisotropic Filtering Anizotróp Szűrés - + Reduces texture aliasing at extreme viewing angles. Csökkenti a textúra aliasing hatást szélsőséges látószögekből. - + Dithering Zajmoduláció - + Blending Accuracy Keverés Pontossága - + Texture Preloading Textúra Előtöltés - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Teljes textúrákat tölt fel kis részletek helyett, elkerülve a felesleges feltöltéseket mikor lehetséges. A legtöbb játékban növeli a teljesítményt, de néhányat lassabbá is tehet. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Ha engedélyezve van a GPU alakítja át a színtérkép-textúrákat, egyéb esetben a CPU. Ez egy kompromisszum a CPU és a GPU között. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Ez az opció lehetőséget ad a leképező és a felskálázási javítások beállításainak manuális megváltoztatására. Azonban HA ez az opció ENGEDÉLYEZVE VAN, akkor LETILTOD AZ AUTOMATIKUS BEÁLLÍTÁSOKAT, ha ezt az opciót kikapcsolod, akkor ismét aktiválódnak az automatikus beállítások. - + 2 threads 2 szál - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Kényszerít egy primitív ürítést ha a képpuffer bemeneti textúra is. Javít néhány speciális hatást, mint például az árnyék a Jak sorozatban, vagy a sugárzást a GTA:SA-ban. - + Enables mipmapping, which some games require to render correctly. Engedélyezi a mipmappokat, ami bizonyos játékoknak szükséges, hogy megfelelően jelenjenek meg. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. A maximális célmemória-szélesség, amelyen a CPU Sprite Leképező aktiválódhat. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Megpróbálja érzékelni ha egy játék a saját színpalettáját rajzolja, és ezután leképezi szoftveresen, nem pedig a GPU-val. - + GPU Target CLUT GPU Cél CLUT - + Skipdraw Range Start Rajzolás Kihagyás Eleje - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Teljesen kihagyja a felületek rajzolását a bal oldalon megadott értéktől, a jobb oldalon megadott értékig. - + Skipdraw Range End Rajzolás Kihagyás Vége - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Ez az opció több biztonsági funkciót is letilt. Letiltja a precíz nem skálázott pont és vonal leképezést, ami segíthet a Xenosaga játékokban. Letiltja, hogy a precíz GS memória ürítést a CPU végezze el, és hagyja, hogy a GPU kezelje, ami segíthet a Kingdom Hearts játékoknak. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Feltölti a GS tartalmát új képkockák leképezésekor, hogy néhány hatást pontosabban tudjon megjeleníteni. - + Half Pixel Offset Fél Pixel Eltolás - + Might fix some misaligned fog, bloom, or blend effect. Javíthat rossz helyen lévő ködöt, fényhatásokat, vagy összemosás hatásokat. - + Round Sprite Sprite Kerekítés - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Javítja a mintavételezését a 2D sprite textúráknak felskálázásnál. Javítja a csíkokat a spriteokban olyan játékoknál mint az Ar tonelico felskálázásnál. A Fél opció a lapos spriteokhoz van, a Teljes minden spritehoz. - + Texture Offsets X Textúra Eltolás X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Eltolás az ST/UV textúra koordinátákhoz. Javíthat néhány furcsa textúra hibát, és javíthat rossz pozícióban lévő utóhatásokat. - + Texture Offsets Y Textúra Eltolás Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Csökkenti a GS pontosságát, hogy elkerülje a pixelek közötti réseket felskálázásnál. Javítja a szöveget a Wild Arms játékoknál. - + Bilinear Upscale Bilineáris Felskálázás - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Kisimíthatja a textúrákat, hogy bilineáris szűrő alkalmazódjon rájuk felskálázásnál. Pl. Nap fény lencse hatás. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. A több takaró sprite utólagos feldolgozását egyetlen nagy sprite-ra cseréli. Csökkenti a különböző felskálázási sorokat. - + Force palette texture draws to render at native resolution. Kényszeríti a paletta textúra rajzolásokat, hogy natív felbontások jelenjenek meg. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Kontraszt Adaptív Élesítés - + Sharpness Élesség - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Engedélyezi a telítettség, kontraszt, fényerő értékek szabályozását. A fényerő, telítettség, és kontraszt alap értéke az 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Alkalmazza a FXAA élsimítási algoritmust, hogy növelje a játékok megjelenítési minőségét. - + Brightness Fényerő - - - + + + 50 50 - + Contrast Kontraszt - + TV Shader TV Árnyékoló - + Applies a shader which replicates the visual effects of different styles of television set. Árnyékolót alkalmaz, ami imitálja a megjelenését többféle típusú televíziós készüléknek. - + OSD Scale Képernyőmenü Mérete - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Megjelenít képernyőmenü üzeneteket mikor olyan események történnek mint a játék állások mentése/betöltése, képernyőkép készült, stb. - + Shows the internal frame rate of the game in the top-right corner of the display. Megjeleníti a játék belső képkocka számát a képernyő jobb felső sarkában. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Megjeleníti a jelenlegi emulációs sebességét a kijelző jobb felső sarkában százalék formában. - + Shows the resolution of the game in the top-right corner of the display. Megjeleníti a játék felbontását a kijelző jobb felső sarkában. - + Shows host's CPU utilization. Megjeleníti a gazdagép CPU kihasználtságát. - + Shows host's GPU utilization. Megjeleníti a gazdagép GPU kihasználtságát. - + Shows counters for internal graphical utilization, useful for debugging. Megjeleníti a belső grafikai kihasználtság számlálóit, hasznos a hibakereséshez. - + Shows the current controller state of the system in the bottom-left corner of the display. Megjeleníti a jelenleg a rendszerhez kapcsolódó játékvezérlők állapotát a képernyő bal alsó sarkában. - + Shows the current PCSX2 version on the top-right corner of the display. Megjeleníti az aktuális PCSX2 verzióját a kijelző jobb felső sarkában. - + Shows the currently active video capture status. Megjeleníti az éppen aktív videó felvétel állapotát. - + Shows the currently active input recording status. Megjeleníti az éppen aktív bemeneti rögzítés állapotát. - + Displays warnings when settings are enabled which may break games. - Figyelmeztetést jelenít meg, ha olyan beállitások vannak engedélyezve amik problémákat okozhatnak. + Figyelmeztetést jelenít meg, ha olyan beállítások vannak engedélyezve amik problémákat okozhatnak. - - + + Leave It Blank Hagyd Üresen - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" A kiválasztott videokodeknek átadott paraméterek.<br><b>A '=' kifejezéssel kell elválasztani a kulcsot az értéktől, a ':' pedig két párt választ el egymástól.</b><br>Például: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Beállítja a használni kívánt hangbitrátát. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" A kiválasztott audiokodeknek átadott paraméterek.<br><b>A '=' kifejezéssel kell elválasztani a kulcsot az értéktől, a ':' pedig két párt választ el egymástól.</b><br>Például: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Adat Tömörítése - + Change the compression algorithm used when creating a GS dump. Megváltoztatja melyik tömörítési algoritmus legyen használva a mentett GS adatokhoz. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit A Direct3D 11 leképező használata esetén a lapozás helyett BLIT prezentációs modellt használ. Ez általában lassabb teljesítményt eredményez, de néhány streaming alkalmazásnál vagy egyes rendszereknél a képkockasebesség feloldásához szükséges lehet. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Érzékeli, ha 25/30fps sebességű játékokban tétlen képkockák jelennek meg, és kihagyja ezek megjelenítését. A képkocka továbbra is leképezésre kerül, csak a GPU-nak több ideje van a befejezésre (ez NEM képkocka kihagyás). Kiegyenlítheti a képkockaidő-ingadozásokat, amikor a CPU/GPU maximális kihasználtsága közelében van, de a képkockák ütemét egyenetlenebbé teszi, és növelheti a bemeneti késleltetést. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Megjelenít további, nagyon magas felskálázási szorzókat a GPU képességei függvényében. - + Enable Debug Device Hibakeresési Eszköz Használata - + Enables API-level validation of graphics commands. Engedélyezi az API-szintű érvényesítését a grafikai parancsoknak. - + GS Download Mode GS Letöltési Mód - + Accurate Precíz - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Kihagyja a GS-szál és a gazdagép GPU szinkronizálását a GS-letöltésekhez. Lassúbb rendszereken nagy sebességnövekedést eredményezhet, de sok hibás grafikai hatás árán. Ha a játékok nem megfelelően jelenek meg, és ez az opció be van kapcsolva, kérjük, először kapcsold ki. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Alapértelmezett - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Kényszeríti a FIFO használatát a Mailbox bemutatással szemben, azaz kettős pufferelés a hármas pufferelés helyett. Általában rosszabb képkocka elosztást eredményez. @@ -14110,7 +14170,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Alapértelmezett @@ -14164,7 +14224,7 @@ Swap chain: see Microsoft's Terminology Portal. Increase Upscale Multiplier - Felskálázási Szorzó Nővelése + Felskálázási Szorzó Növelése @@ -14327,261 +14387,261 @@ Swap chain: see Microsoft's Terminology Portal. Nem található állás mentés a {} foglalatban. - - - + + - - - - + + + + - + + System Rendszer - + Open Pause Menu Szünet Menü Megnyitása - + Open Achievements List Trófea Lista Megnyitása - + Open Leaderboards List Ranglista Megnyitása - + Toggle Pause Szünet - + Toggle Fullscreen Teljes Képernyő - + Toggle Frame Limit Képkocka Limit Ki/Be - + Toggle Turbo / Fast Forward Ki/Be Turbó / Gyorsítás - + Toggle Slow Motion Lassítás Ki/Be - + Turbo / Fast Forward (Hold) Turbó / Gyorsítás (Lenyomva Tartott) - + Increase Target Speed Célsebesség Növelése - + Decrease Target Speed Célsebesség Csökkentése - + Increase Volume Hangerő Növelése - + Decrease Volume Hangerő Csökkentése - + Toggle Mute Némítás Ki/Be - + Frame Advance Képkocka Léptetés - + Shut Down Virtual Machine Virtuális Gép Leállítása - + Reset Virtual Machine Virtuális Gép Újraindítása - + Toggle Input Recording Mode Bemenet Rögzítésének Ki/Be Kapcsolása - - + + Save States Állásmentések - + Select Previous Save Slot Előző Állás Foglalat Kiválasztása - + Select Next Save Slot Következő Állás Foglalat Kiválasztása - + Save State To Selected Slot Állás Mentése a Kiválasztott Foglalatba - + Load State From Selected Slot Állás Betöltése a Kiválasztott Foglalatból - + Save State and Select Next Slot Állás Mentése és Ugrás a Következő Foglalatra - + Select Next Slot and Save State Ugrás a Következő Foglalatra és Állás Mentése - + Save State To Slot 1 Állás Mentése az 1. Foglalatba - + Load State From Slot 1 Állás Betöltése az 1. Foglalatból - + Save State To Slot 2 Állás Mentése az 2. Foglalatba - + Load State From Slot 2 Állás Betöltése az 2. Foglalatból - + Save State To Slot 3 Állás Mentése az 3. Foglalatba - + Load State From Slot 3 Állás Betöltése az 3. Foglalatból - + Save State To Slot 4 Állás Mentése az 4. Foglalatba - + Load State From Slot 4 Állás Betöltése az 4. Foglalatból - + Save State To Slot 5 Állás Mentése az 5. Foglalatba - + Load State From Slot 5 Állás Betöltése az 5. Foglalatból - + Save State To Slot 6 Állás Mentése az 6. Foglalatba - + Load State From Slot 6 Állás Betöltése az 6. Foglalatból - + Save State To Slot 7 Állás Mentése az 7. Foglalatba - + Load State From Slot 7 Állás Betöltése az 7. Foglalatból - + Save State To Slot 8 Állás Mentése az 8. Foglalatba - + Load State From Slot 8 Állás Betöltése az 8. Foglalatból - + Save State To Slot 9 Állás Mentése az 9. Foglalatba - + Load State From Slot 9 Állás Betöltése az 9. Foglalatból - + Save State To Slot 10 Állás Mentése az 10. Foglalatba - + Load State From Slot 10 Állás Betöltése az 10. Foglalatból Save slot {0} selected ({1}). - {0} Mentési foglalat kiválasztva ({1}) + {0} Mentési foglalat kiválasztva ({1}). @@ -14678,7 +14738,7 @@ Swap chain: see Microsoft's Terminology Portal. Sensitivity: - Érzékenység: + Érzékenység: @@ -14704,7 +14764,7 @@ Swap chain: see Microsoft's Terminology Portal. Clear Bindings - Hozzárendelések Elvávolítása + Hozzárendelések Eltávolítása @@ -14720,7 +14780,7 @@ Swap chain: see Microsoft's Terminology Portal. Push Button/Axis... [%1] - Nyomj Egy Gombot/Tengelyt + Nyomj Egy Gombot/Tengelyt... [%1] @@ -15051,7 +15111,7 @@ Jobb gomb az eltávolításhoz Double-Click Toggles Fullscreen - A Dupla Kattintás Bekapcsolja a Teljes Képernyőt + Dupla Kattintásra Teljes Képernyő @@ -15111,7 +15171,7 @@ Jobb gomb az eltávolításhoz Enable Automatic Update Check - Automatikus Frissítés Ellenőrzés Bekapcsolása + Automatikus Frissítés Bekapcsolása @@ -15224,7 +15284,7 @@ Jobb gomb az eltávolításhoz Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. - Automatikusan ellenőrzi a frissitéseket a program indulásakor. A frissitéseket később is lehet telepíteni, vagy ki is lehet hagyni. + Automatikusan ellenőrzi a frissítéseket a program indulásakor. A frissítéseket később is lehet telepíteni, vagy ki is lehet hagyni. @@ -15235,7 +15295,7 @@ Jobb gomb az eltávolításhoz Prevents the screen saver from activating and the host from sleeping while emulation is running. - Megakadályozza a képernyő kímélőt és a gazdagépet az alvó állapottól mikor fut az emuláció. + Megakadályozza a képernyőkímélőt és a gazdagépet az alvó állapottól mikor fut az emuláció. @@ -15245,7 +15305,7 @@ Jobb gomb az eltávolításhoz Pauses the emulator when a controller with bindings is disconnected. - Szüneteli az emulátort mikor egy játékvezérlővel aminek vannak kiosztott gombjai, megszakad a kapcsolat. + Szüneteli az emulátort mikor egy játékvezérlővel, amire vannak gombok kiosztva, megszakad a kapcsolat. @@ -15283,7 +15343,7 @@ Jobb gomb az eltávolításhoz Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - Leszüneteli az emulátort ha kis méretbe rakod az ablakot, vagy átváltasz egy másik alkalmazásra, mikor visszaváltasz, automatikusan folytatja. + Szüneteli az emulátort, ha kis méretbe rakod az ablakot vagy átváltasz egy másik alkalmazásra, mikor visszaváltasz, automatikusan folytatja. @@ -15451,594 +15511,608 @@ Jobb gomb az eltávolításhoz &Rendszer - - - + + Change Disc Lemez Cseréje - - + Load State Állás Betöltése - - Save State - Állás Mentése - - - + S&ettings B&eállítások - + &Help &Segítség - + &Debug &Hibakeresés - - Switch Renderer - Leképező Váltása - - - + &View &Nézet - + &Window Size &Ablak Méret - + &Tools &Eszközök - - Input Recording - Bemenet Felvétel - - - + Toolbar Eszköztár - + Start &File... Fájl &Indítása... - - Start &Disc... - Lemez &Indítása... - - - + Start &BIOS Bios &Indítása - + &Scan For New Games &Új Játékok Keresése - + &Rescan All Games &Minden Játék Újra Keresése - + Shut &Down Le&állítás - + Shut Down &Without Saving Leállítás &Mentés Nélkül - + &Reset &Újraindítás - + &Pause &Szünet - + E&xit K&ilépés - + &BIOS &BIOS - - Emulation - Emuláció - - - + &Controllers &Játékvezérlők - + &Hotkeys &Gyorsbillentyűk - + &Graphics &Grafika - - A&chievements - T&rófeák - - - + &Post-Processing Settings... &Utófeldolgozás Beállításai... - - Fullscreen - Teljes-képernyő - - - + Resolution Scale Felbontás Skálája - + &GitHub Repository... &GitHub Repó... - + Support &Forums... Támogatás &Fórum... - + &Discord Server... &Discord Szerver... - + Check for &Updates... Frissítések &Keresése... - + About &Qt... A &Qt Névjegye... - + &About PCSX2... &A PCSX2 Névjegye... - + Fullscreen In Toolbar Teljes Képernyő - + Change Disc... In Toolbar Lemez Cseréje... - + &Audio &Hang - - Game List - Játék Lista - - - - Interface - Kezelőfelület + + Global State + Globális Állapot - - Add Game Directory... - Játék Könyvtár Hozzáadása... + + &Screenshot + &Képernyő Kép - - &Settings - &Beállítások + + Start File + In Toolbar + Fájl Indítása - - From File... - Fájl Megnyitása... + + &Change Disc + &Lemez Cseréje - - From Device... - Eszköz Megnyitása... + + &Load State + &Állás Betöltése - - From Game List... - Játék Listából... + + Sa&ve State + Állás &Mentése - - Remove Disc - Lemez Kiadása + + Setti&ngs + Beállítá&sok - - Global State - Globális Állapot + + &Switch Renderer + &Leképező Váltása - - &Screenshot - &Képernyő Kép + + &Input Recording + &Bemenet Felvétel - - Start File - In Toolbar - Fájl Indítása + + Start D&isc... + Lemez &Indítása... - + Start Disc In Toolbar Lemez Indítása - + Start BIOS In Toolbar Bios Indítása - + Shut Down In Toolbar Leállítás - + Reset In Toolbar Újraindítás - + Pause In Toolbar Szünet - + Load State In Toolbar Állás Betöltése - + Save State In Toolbar Állás Mentése - + + &Emulation + &Emuláció + + + Controllers In Toolbar Játékvezérlők - + + Achie&vements + Tróf&eák + + + + &Fullscreen + &Teljes Képernyő + + + + &Interface + &Kezelőfelület + + + + Add Game &Directory... + Játék Könyvtár &Hozzáadása... + + + Settings In Toolbar Beállítások - + + &From File... + &Fájlból... + + + + From &Device... + Esz&közből + + + + From &Game List... + Játék&listából... + + + + &Remove Disc + &Lemez Kiadása + + + Screenshot In Toolbar Képernyőkép - + &Memory Cards &Memória Kártyák - + &Network && HDD &Hálózat && HDD - + &Folders &Könyvtárak - + &Toolbar &Eszköztár - - Lock Toolbar - Eszköztár Rögzítése + + Show Titl&es (Grid View) + Címek Megjelenítése (Négyzetrács Mód) - - &Status Bar - &Státusz Sáv + + &Open Data Directory... + &Adatkönyvtár Megnyitása... - - Verbose Status - Részletes Állapot + + &Toggle Software Rendering + &Szoftveres Leképezésre Váltás - - Game &List - Játék &Lista + + &Open Debugger + &Hibajavító Eszköztár Megnyitása - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Játék Ké&pernyő + + &Reload Cheats/Patches + &Csalások/Tapaszok Újratöltése - - Game &Properties - Játék &Beállítások + + E&nable System Console + Re&ndszer Konzol Engedélyezése - - Game &Grid - &Játék Négyzetrács + + Enable &Debug Console + Hibajavító &Konzol Engedélyezése - - Show Titles (Grid View) - Címek Megjelenítése (Négyzetrács Mód) + + Enable &Log Window + &Napló Ablak Engedélyezése - - Zoom &In (Grid View) - &Nagyítás (Négyzetrács Mód) + + Enable &Verbose Logging + &Részletes Naplózás Engedélyezése - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + EE Konzol Na&plózás Engedélyezése - - Zoom &Out (Grid View) - &Kicsinyítés (Négyzetrács Mód) + + Enable &IOP Console Logging + I&OP Konzol Naplózás Engedélyezése - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Egy Képkockányi G&S Adat Mentése - - Refresh &Covers (Grid View) - Borítók &Frissítése (Négyzetrács Mód) + + &New + This section refers to the Input Recording submenu. + &Új - - Open Memory Card Directory... - Memória Kártyák Mappájának Megnyitása... + + &Play + This section refers to the Input Recording submenu. + Le&játszás - - Open Data Directory... - Adat Könyvtár Megnyitása... + + &Stop + This section refers to the Input Recording submenu. + &Leállítás - - Toggle Software Rendering - Szoftveres Leképezés Bekapcsolása + + &Controller Logs + &Játékvezérlő Napló - - Open Debugger - Hibajavító Eszköztár Megnyitása + + &Input Recording Logs + &Felvételi Napló - - Reload Cheats/Patches - Csalások/Javítások Újratöltése + + Enable &CDVD Read Logging + C&DVD Napló Engedélyezése - - Enable System Console - Rendszer Konzol Engedélyezése + + Save CDVD &Block Dump + CDVD Blo&kk Mentése - - Enable Debug Console - Hibajavító Konzol Engedélyezése + + &Enable Log Timestamps + Napló D&átumbélyegek Engedélyezése - - Enable Log Window - Napló Ablak Engedélyezése + + Start Big Picture &Mode + Nagy Kép M&ód Indítása - - Enable Verbose Logging - Részletes Naplózás Engedélyezése + + &Cover Downloader... + &Borítók Letöltése... - - Enable EE Console Logging - EE Konzol Naplózás Engedélyezése + + &Show Advanced Settings + &Szakértő Beállítások Megjelenítése - - Enable IOP Console Logging - IOP Konzol Naplózás Engedélyezése + + &Recording Viewer + &Bemeneti Felvétel Megtekintő - - Save Single Frame GS Dump - Egy Képkockányi GS Adat Mentése + + &Video Capture + &Videó Felvétel - - New - This section refers to the Input Recording submenu. - Új + + &Edit Cheats... + &Csalások Szerkesztése... - - Play - This section refers to the Input Recording submenu. - Lejátszás + + Edit &Patches... + Tapaszok Sz&erkesztése... - - Stop - This section refers to the Input Recording submenu. - Leállítás + + &Status Bar + &Állapotsor - - Settings - This section refers to the Input Recording submenu. - Beállítások + + + Game &List + Játék &Lista - - - Input Recording Logs - Felvételi Napló + + Loc&k Toolbar + Eszköztár R&ögzítése - - Controller Logs - Játékvezérlő Napló + + &Verbose Status + R&észletes Állapot - - Enable &File Logging - Fájl &Naplózás Engedélyezése + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Játék Ké&pernyő + + + + Game &Properties + Játék &Beállítások + + + + Game &Grid + &Játék Négyzetrács - - Enable CDVD Read Logging - CDVD Napló Engedélyezése + + Zoom &In (Grid View) + &Nagyítás (Négyzetrács Mód) - - Save CDVD Block Dump - CDVD Blokk Mentése + + Ctrl++ + Ctrl++ - - Enable Log Timestamps - Napló Dátumbélyegek Engedélyezése + + Zoom &Out (Grid View) + &Kicsinyítés (Négyzetrács Mód) - - + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Borítók &Frissítése (Négyzetrács Mód) + + + + Open Memory Card Directory... + Memória Kártyák Mappájának Megnyitása... + + + + Input Recording Logs + Felvételi Napló + + + + Enable &File Logging + Fájl &Naplózás Engedélyezése + + + Start Big Picture Mode Nagy Kép Mód Indítása - - + + Big Picture In Toolbar Nagy Kép - - Cover Downloader... - Borítók Letöltése... - - - - + Show Advanced Settings Szakértő Beállítások Megjelenítése - - Recording Viewer - Felvétel Megtekintő - - - - + Video Capture Videó Felvétel - - Edit Cheats... - Csalások Szerkesztése... - - - - Edit Patches... - Javítások Szerkesztése... - - - + Internal Resolution Leképezési Felbontás - + %1x Scale %1x Skála - + Select location to save block dump: Válaszd ki a blokk adat mentési helyét: - + Do not show again Ne mutassa többet - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16051,298 +16125,298 @@ A PCSX2 csapat nem ad támogatást abban az esetben ha ezek a beállítások meg Biztos hogy folytatni szeretnéd? - + %1 Files (*.%2) %1 Fájlok (*.%2) - + WARNING: Memory Card Busy FIGYELEM: Memóriakártya Használatban - + Confirm Shutdown Bezárás Megerősítése - + Are you sure you want to shut down the virtual machine? Biztos, hogy le akarod állítani a virtuális gépet? - + Save State For Resume Gyorsmentés Létrehozása - - - - - - + + + + + + Error Hiba - + You must select a disc to change discs. Ki kell választanod egy lemezt a lemez váltáshoz. - + Properties... Tulajdonságok... - + Set Cover Image... - Borító Kép Kiválasztása... + Borítókép Kiválasztása... - + Exclude From List Kihagyás a Listáról - + Reset Play Time - Játék Idő Nullázása + Játékidő Nullázása - + Check Wiki Page Wiki Oldal Megnyitása - + Default Boot Normál Indítás - + Fast Boot Gyors Indítás - + Full Boot Teljes Indítás - + Boot and Debug Indítás és Hibakeresés - + Add Search Directory... Keresendő Mappa Hozzáadása... - + Start File Fájl Indítása - + Start Disc Lemez Indítása - + Select Disc Image Lemez Képfájl Kiválasztása - + Updater Error Frissítő Hiba - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p> Sajnáljuk, egy olyan PCSX2 verziót próbálsz frissíteni, amely nem hivatalos GitHub kiadás. Az inkompatibilitások elkerülése érdekében az automatikus frissítés csak a hivatalos buildek esetében engedélyezett.</p><p><p>Hivatalos buildet az alábbi linkről töltheted le:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p></p> - + Automatic updating is not supported on the current platform. Automatikus frissítés nem támogatott ezen a platformon. - + Confirm File Creation Fájl Létrehozásának Jóváhagyása - + The pnach file '%1' does not currently exist. Do you want to create it? A pnach file '%1' jelenleg nem létezik. Szeretnéd létrehozni? - + Failed to create '%1'. Sikertelen a '%1' létrehozása. - + Theme Change Téma Váltás - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? A téma váltása bezárja a hibakereső ablakot. Minden nem mentett adat elveszik. Szeretnéd folytatni? - + Input Recording Failed Bemenet Felvétele Sikertelen - + Failed to create file: {} Nem sikerült a fájlt létrehozni: {} - + Input Recording Files (*.p2m2) Bemeneti Felvétel Fájlok (*.p2m2) - + Input Playback Failed Felvétel Lejátszása Sikertelen - + Failed to open file: {} Fájl megnyitása sikertelen: {} - + Paused Szünetelve - + Load State Failed Állás Betöltése Sikertelen - + Cannot load a save state without a running VM. Nem lehet állást betölteni, ha nem fut a virtuális gép. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Az új ELF nem betölthető a virtuális gép újraindítása nélkül. Szeretnéd most újraindítani a virtuális gépet? - + Cannot change from game to GS dump without shutting down first. Nem lehet játékról GS adatra váltani leállítás nélkül. - + Failed to get window info from widget Sikertelen az ablakinformáció lekérése a widgetből - + Stop Big Picture Mode Nagy Kép Mód Leállítása - + Exit Big Picture In Toolbar Kilépés a Nagy Kép Módból - + Game Properties Játék Tulajdonságai - + Game properties is unavailable for the current game. A játék tulajdonságok nem elérhetők a jelenlegi játékhoz. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Nem található CD/DVD-ROM egység. Kérlek Bizonyosod meg róla, hogy a meghajtó csatlakoztatva van, és a megfelelő hozzáférés biztosított. - + Select disc drive: Lemez meghajtó kiválasztása: - + This save state does not exist. Ez az állás mentés nem létezik. - + Select Cover Image - Válassz Borító Képet + Válassz Borítóképet - + Cover Already Exists Ez A Borító Már Létezik - + A cover image for this game already exists, do you wish to replace it? - Ehhez a játékhoz már található borító kép, szeretnéd lecserélni? + Ehhez a játékhoz már található borítókép, szeretnéd lecserélni? - + + - Copy Error Másolás Hiba - + Failed to remove existing cover '%1' Sikertelen a létező borító törlése '%1' - + Failed to copy '%1' to '%2' Sikertelen a '%1' másolása a '%2'-ba - + Failed to remove '%1' Sikertelen a törlés '%1' - - + + Confirm Reset Újraindítás Jóváhagyása - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Minden Borító Formátum (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. - Másik fájlt kell választanod a jelenlegi borító képhez. + Másik fájlt kell választanod a jelenlegi borítóképhez. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16351,12 +16425,12 @@ This action cannot be undone. Ez a művelet nem visszavonható. - + Load Resume State Gyorsmentés Betöltése - + A resume save state was found for this game, saved at: %1. @@ -16369,133 +16443,133 @@ Do you want to load this state, or start from a fresh boot? Szeretnéd betölteni ezt az állást, vagy-e nélkül indítanád? - + Fresh Boot Friss Indítás - + Delete And Boot Törlés És Indítás - + Failed to delete save state file '%1'. Nem sikerült az állás törlése '%1'. - + Load State File... Állás Fájl Betöltése... - + Load From File... Betöltés Fájlból... - - + + Select Save State File Mentett Állás Fájl Kiválasztása - + Save States (*.p2s) - Állás Mentések (*.p2s) + Állásmentések (*.p2s) - + Delete Save States... - Állás Mentések Törlése... + Állásmentések Törlése... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Minden Fájltípus (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Egy-Sávos Nyers Képfájlok (*.bin *.iso);;Cue Adatlap (*.cue);;Media Leíró Fájl (*.mdf);;MAME CHD Képfájlok (*.chd);;CSO Képfájlok (*.cso);;ZSO Képfájlok (*.zso);;GZ Képfájlok (*.gz);;ELF Végrehajthatók (*.elf);;IRX Végrehajthatók (*.irx);;GS Adatok (*.gs *.gs.xz *.gs.zst);;Blokk Adatok (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Minden Fájltípus (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *. *. *.dump);;Egy-Sávos Nyers Képfájlok (*.bin *.iso);;Cue Adatlap (*.cue);;Media Leíró Fájl (*.mdf);;MAME CHD Képfájlok (*.chd);;CSO Képfájlok (*.cso);;ZSO Képfájlok (*.zso);;GZ Képfájlok (*.gz);;Blokk Adatok (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> FIGYELEM: A memória kártya még mindig adatot ír. Ha most leállítód a játékot az <b>VISSZAVONHATATLANUL KÁROSÍTJA A MEMÓRIA KÁRTYÁT.</b> Erősen ajánlott visszatérni a játékhoz, és hagyni, hogy befejezze az írást a memória kártyára.<br><br>Ennek ellenére szeretnéd mégis leállítani és <b>VISSZAVONHATATLANUL TÖNKRETENNI A MEMÓRIA KÁRTYÁD?</b> - + Save States (*.p2s *.p2s.backup) - Állás Mentések (*.p2s *.p2s.backup) + Állásmentések (*.p2s *.p2s.backup) - + Undo Load State Állás Betöltés Visszavonása - + Resume (%2) Folytatás (%2) - + Load Slot %1 (%2) %1 Foglalat Betöltése (%2) - - + + Delete Save States Mentett Állások Törlése - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. Biztos, hogy törölni szeretnéd a %1 minden mentett állását? -Ezek az állás mentések nem lesznek helyreállíthatók. +Ezek az állásmentések nem lesznek helyreállíthatók. - + %1 save states deleted. A %1 mentett állásai törölve. - + Save To File... Mentés Fájlba... - + Empty Üres - + Save Slot %1 (%2) Mentés a %1 Foglalatba (%2) - + Confirm Disc Change Lemez Csere Megerősítése - + Do you want to swap discs or boot the new image (via system reset)? Szeretnél lemezt cserélni vagy új képfájlt töltesz be (a rendszer újraindításával)? - + Swap Disc Lemez Csere - + Reset Újraindítás @@ -16518,25 +16592,25 @@ Ezek az állás mentések nem lesznek helyreállíthatók. MemoryCard - - + + Memory Card Creation Failed Memória Kártya Létrehozása Sikertelen - + Could not create the memory card: {} Memória kártya létrehozása sikertelen: {} - + Memory Card Read Failed Memória Kártya Olvasása Sikertelen - + Unable to access memory card: {} @@ -16549,30 +16623,36 @@ Close any other instances of PCSX2, or restart your computer. {} Lehetséges hogy a PCSX2 egy már futó példánya használja ezt a kártyát vagy írásvédett mappában található. -Zárd be a többi PCSX2 példányt, vagy indítsd újra a számítógépet. +Zárd be a többi PCSX2 példányt, vagy indítsd újra a számítógépet. + - - + + Memory Card '{}' was saved to storage. A Memória Kártya '{}' mentett a tárhelyre. - + Failed to create memory card. The error was: {} Sikertelen a memória kártya létrehozása. A hiba: {} - + Memory Cards reinserted. Memória Kártyák újra behelyezve. - + Force ejecting all Memory Cards. Reinserting in 1 second. Memória Kártyák kiadásának kényszerítése. Újra behelyezés 1 másodperc múlva. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + A virtuális konzol már jó ideje nem mentett a memóriakártyára. Állásmentések használata a játékban lévő mentés opció helyett nem ajánlott. + MemoryCardConvertDialog @@ -16618,7 +16698,7 @@ Zárd be a többi PCSX2 példányt, vagy indítsd újra a számítógépet. <center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center> - <center><strong>Megjegyzés::</strong> A Memória Kártya konvertálása egy <strong>MÁSOLATOT</strong> készít a már létező Memória Kártyádból. Ez <strong>NEM törli, módosítja, vagy cseréli le</strong> a már létező Memória Kártyádat.</center> + <center><strong>Megjegyzés:</strong> A Memória Kártya konvertálása egy <strong>MÁSOLATOT</strong> készít a már létező Memória Kártyádból. Ez <strong>NEM törli, módosítja, vagy cseréli le</strong> a már létező Memória Kártyádat.</center> @@ -16722,7 +16802,7 @@ Zárd be a többi PCSX2 példányt, vagy indítsd újra a számítógépet. 8 MB [Most Compatible] - 8 MB (Leginkább Kompatibilis) + 8 MB [Leginkább Kompatibilis] @@ -16793,7 +16873,7 @@ Zárd be a többi PCSX2 példányt, vagy indítsd újra a számítógépet. Failed to create the Memory Card, because another card with the name '%1' already exists. - Nem sikerült a Memória Kártya létrehozása, mert ezzel a névvel '%1' már létezik kártya. + Nem sikerült a Memória Kártya létrehozása, mert ezzel a névvel '%1' már létezik kártya. @@ -16920,7 +17000,7 @@ Zárd be a többi PCSX2 példányt, vagy indítsd újra a számítógépet. (Folder type only / Card size: Auto) Loads only the relevant booted game saves, ignoring others. Avoids running out of space for saves. - (Csak mappa típusú / Kártya méret: Automatikus) Csak az elindított játék mentéseit tölti be, a többit figyelmen kívül hagyja. Ezzel elkerülhető, hogy kifogyjon a mentési tárhely. + (Csak mappa típusú / Kártya méret: Automatikus) Csak az elindított játék mentéseit tölti be, a többit figyelmen kívül hagyja. Ezzel elkerülhető, hogy elfogyjon a mentési tárhely. @@ -16960,7 +17040,7 @@ Zárd be a többi PCSX2 példányt, vagy indítsd újra a számítógépet. New name is invalid, it must end with .ps2 - Az új név érvénytelen, .ps2-vel kell végződnie. + Az új név érvénytelen, .ps2-vel kell végződnie @@ -17223,17 +17303,17 @@ Ez a művelet nem visszavonható, és minden mentést elveszítesz ezen a kárty Start address can't be equal to or greater than the end address - A kezdőcím nem lehet egyenlő vagy nagyobb a végcímnél. + A kezdőcím nem lehet egyenlő vagy nagyobb a végcímnél Invalid search value - Érvénytelen keresési érték. + Érvénytelen keresési érték Value is larger than type - Az érték nagyobb mint amennyit a típus megenged. + Az érték nagyobb mint amennyit a típus megenged @@ -17364,7 +17444,7 @@ Ez a művelet nem visszavonható, és minden mentést elveszítesz ezen a kárty Ugrás ide a Memória Böngészőben - + Cannot Go To Nem Lehet Ide Ugrani @@ -17457,7 +17537,7 @@ Ez a művelet nem visszavonható, és minden mentést elveszítesz ezen a kárty <html><head/><body><p align="center"><span style=" color:#ff0000;">Be Warned! Making an input recording that starts from a save-state will fail to work on future versions due to save-state versioning.</span></p></body></html> - <html><head/><body><p align="center"><span style=" color:#ff0000;"">Figyelem! Az állás mentésből induló bemeneti felvétel a állás mentések verziókezelése miatt nem fog működni a későbbi verziókban.</span></p></body></html> + <html><head/><body><p align="center"><span style=" color:#ff0000;">Figyelem! Az állásmentésből induló bemeneti felvétel a állásmentések verziókezelése miatt nem fog működni a későbbi verziókban.</span></p></body></html> @@ -17659,7 +17739,7 @@ Ez a művelet nem visszavonható, és minden mentést elveszítesz ezen a kárty Address is not valid. - Érvénytelen cím + Érvénytelen cím. @@ -18043,7 +18123,7 @@ Ez a művelet nem visszavonható, és minden mentést elveszítesz ezen a kárty Controller port {0}, slot {1} has a {2} connected, but the save state has a {3}. Ejecting {3} and replacing it with {2}. Játékvezérlő port {0}, foglalat {1}-ben egy {2} van csatlakoztatva, de az állás mentésben {3} van. -{3} kiadása és cseréje a(z) {2}-vel +{3} kiadása és cseréje a(z) {2}-vel. @@ -18204,41 +18284,41 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. - Sikertelen a {} megnyitása. Beépített játékjavítások nem állnak rendelkezésre. + Sikertelen a {} megnyitása. Beépített játék tapaszok nem állnak rendelkezésre. - + %n GameDB patches are active. OSD Message - %n GameDB javítás aktív. - %n GameDB javítás aktív. + %n GameDB tapasz aktív. + %n GameDB tapasz aktív. - + %n game patches are active. OSD Message - %n játék javítás aktív. - %n játék javítás aktív. + %n játék tapasz aktív. + %n játék tapasz aktív. - + %n cheat patches are active. OSD Message - %n csalás aktív - %n csalás aktív + %n csalás aktív. + %n csalás aktív. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. - Nincsenek csalások vagy javítások (szélesvászon, kompatibilitás vagy más) találva / engedélyezve + Nincsenek csalások vagy tapaszok (széles vászon, kompatibilitás vagy más) találva / engedélyezve. @@ -18300,7 +18380,7 @@ Ejecting {3} and replacing it with {2}. Failed to create HDD image - HDD képfájl létrehozása sikertelen. + HDD képfájl létrehozása sikertelen @@ -18337,47 +18417,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Bejelentkezett %1-ként (%2 pont, softcore: %3 pont). %4 olvasatlan üzenet. - - + + Error Hiba - + An error occurred while deleting empty game settings: {} Egy hiba történt az üres játék beállítások törlése közben: {} - + An error occurred while saving game settings: {} Egy hiba történt a játék beállítások mentése során: {} - + Controller {} connected. Játékvezérlő {} csatlakoztatva. - + System paused because controller {} was disconnected. A rendszer szünetel mert a {} játékvezérlő lecsatlakozott. - + Controller {} disconnected. Játékvezérlő {} leválasztva. - + Cancel Mégse @@ -18510,7 +18590,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18640,7 +18720,7 @@ Szeretnéd ezt a mappát létrehozni? <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. - <strong>Összegzés</strong><hr>Ez az oldal részleteket mutat a kiválasztott játékról. A bemeneti profil megváltoztatásával beállítható a játékvezérlő gombkiosztása ehhez a játékhoz bármelyik profilra az alapértelmezett (Megosztott) beállítás helyett. A lejátszási lista és képfájl ellenőrzés használható a képfájl összehasonlítására egy ismert jó képfájllal. Ha ez nem egyezik, a játék állomány hibás lehet. + <strong>Összegzés</strong><hr>Ez az oldal részleteket mutat a kiválasztott játékról. A bemeneti profil megváltoztatásával beállítható a játékvezérlő gombkiosztása ehhez a játékhoz bármelyik profilra az alapértelmezett (Megosztott) beállítás helyett. Az adatsáv és képfájl ellenőrzés használható a képfájl összehasonlítására egy ismert jó képfájllal. Ha ez nem egyezik, a játékállomány hibás lehet. @@ -18681,12 +18761,12 @@ Szeretnéd ezt a mappát létrehozni? Patches - Javítások + Tapaszok <strong>Patches</strong><hr>This section allows you to select optional patches to apply to the game, which may provide performance, visual, or gameplay improvements. - <strong>Javítások</strong><hr>Ez a szakasz lehetőséget ad rá, hogy opcionális javításokat alkalmazz a játékra, amik teljesítmény, vizuális, vagy játékmeneti javulásokat hozhatnak. + <strong>Tapaszok</strong><hr>Ez a szakasz lehetőséget ad rá, hogy opcionális tapaszokat alkalmazz a játékra, amik teljesítmény, vizuális, vagy játékmeneti javulásokat hozhatnak. @@ -18766,42 +18846,42 @@ Szeretnéd ezt a mappát létrehozni? <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Kezelőfelület Beállítások</strong><hr>Ezek a beállítások vezérlik a szoftver kinézetét és működését.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>Kezelőfelület Beállítások</strong><hr>Ezek a beállítások vezérlik a szoftver kinézetét és működését.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>BIOS Beállítások</strong><hr>Itt találhatók a BIOS beállításai.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>BIOS Beállítások</strong><hr>Itt találhatók a BIOS beállításai.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Emuláció Beállitásai</strong><hr>Ezek a beállítások határozzák meg a képkocka ütemezés konfigurációját, és a játékok beállításait.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>Emuláció Beállitásai</strong><hr>Ezek a beállítások határozzák meg a képkocka ütemezés konfigurációját, és a játékok beállításait.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Grafikai Beállítások</strong><hr>Ezek a beállítások határozzák meg a grafikai kimenet konfigurációját.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>Grafikai Beállítások</strong><hr>Ezek a beállítások határozzák meg a grafikai kimenet konfigurációját.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Hang Beállítások</strong><hr>Ezek a beállítások vezérlik a konzol hang kimenetét.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>Hang Beállítások</strong><hr>Ezek a beállítások vezérlik a konzol hang kimenetét.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Memória Kártya Beállításai</strong><hr>Itt készítheted és állíthatod be a Memória Kártyáid.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>Memória Kártya Beállításai</strong><hr>Itt készítheted és állíthatod be a Memória Kártyáid.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Hálozat és Merevlemez Beállításai</strong><hr>Ezek a beállítások vezérlik a konzol hálózati kapcsolatát és a belső merevlemezét.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>Hálózat és Merevlemez Beállításai</strong><hr>Ezek a beállítások vezérlik a konzol hálózati kapcsolatát és a belső merevlemezét.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Szakértő Beállítások</strong><hr>Ezek szakértői beállítások, amik meghatározzák a szimulált konzol konfigurációját.<br><br>Húzd az egeret egy beállítás fölé további információkért, és a Shift+Egérgörgőt hogy tekerd ezt a panelt. + <strong>Szakértő Beállítások</strong><hr>Ezek szakértői beállítások, amik meghatározzák a szimulált konzol konfigurációját.<br><br>Húzd az egérmutatót egy beállítás fölé további információkért, és használd a Shift+Egérgörgőt, hogy tekerd ezt a panelt. @@ -18988,7 +19068,7 @@ Ha ez megvan, ez a BIOS fájl a bios mappába helyezendő az adat könyvtárban <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> - <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Üdvözöl a PCSX2!</span></h1><p>Ez a varázsló végigvezet a konfigurációs beállításokon amik szükségesek az alkalmazás használatához. Ha ez az első alkalom, hogy telepíted a PCSX2-őt, ajánlott megtekinteni a telepítési segédletet <a href="https://pcsx2.net/docs/">itt</a>.</p><p>Alapból a PCSX2 a <a href="https://pcsx2.net/">pcsx2.net</a> szerverhez kapcsolódik, hogy frissítéseket keressen, és ha elérhető és jóváhagyott, letölti a frissítési csomagokat a <a href="https://github.com/">github.com</a>-ról. Ha nem szeretnéd, hogy a PCSX2 kapcsolódjon a hálózathoz indulásnál, vedd ki a jelölést az Automatikus Frissítés opcióból most. Az Automatikus Frissítés később bármikor megváltoztatható a kezelőfelület beállításainál.</p><p>Kérlek válassz nyelvet és témát a kezdéshez.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Üdvözöl a PCSX2!</span></h1><p>Ez a varázsló végigvezet a konfigurációs beállításokon amik szükségesek az alkalmazás használatához. Ha ez az első alkalom, hogy telepíted a PCSX2-őt, ajánlott megtekinteni a telepítési segédletet <a href="https://pcsx2.net/docs/">itt</a>.</p><p>Alapból a PCSX2 a <a href="https://pcsx2.net/">pcsx2.net</a> szerverhez kapcsolódik, hogy frissítéseket keressen, és ha elérhető és jóváhagyott, letölti a frissítési csomagokat a <a href="https://github.com/">github.com</a>-ról. Ha nem szeretnéd, hogy a PCSX2 kapcsolódjon a hálózathoz indulásnál, vedd ki a jelölést az Automatikus Frissítés opcióból most. Az Automatikus Frissítés később bármikor megváltoztatható a kezelőfelület beállításainál.</p><p>Kérlek válassz nyelvet és témát a kezdéshez.</p></body></html> @@ -19004,7 +19084,7 @@ Ha ez megvan, ez a BIOS fájl a bios mappába helyezendő az adat könyvtárban Controller Mapped To: - Játkvezérkő Kiosztva A: + Játékvezérlő Kiosztva A: @@ -19761,7 +19841,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) - Színt alkalmaz a kiválasztott célkereszt képekre, több játékos esetében is használható. HTML/CSS formátumban adható meg (pl. #aabbcc). + Színt alkalmaz a kiválasztott célkereszt képekre, több játékos esetében is használható. HTML/CSS formátumban adható meg (pl. #aabbcc) @@ -20197,7 +20277,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Wheel Device - Görgő Eszköz + Kormány Eszköz @@ -20633,7 +20713,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Right Turntable Red - Jobb Lemez Piros + Jobb Lemez Piros @@ -20998,7 +21078,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. The Densha Controller Type 2 is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has five progressively higher notches of power. The brake axis starts released, and has eight progressively increasing notches plus an Emergency Brake. This controller is compatible with several games and generally maps well to hardware with one or two physical axes with a similar range of notches, such as the modern "Zuiki One Handle MasCon". This controller is created for the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. The 'Densha Controller Type 2' and 'Zuiki One Handle MasCon' are specific brands of USB train master controller. Both products are only distributed in Japan, so they do not have official non-Japanese names. - A Densha Controller Type 2 egy kétkezes vonatvezérlő D-Paddal és hat gombbal. A teljesítménytengely a semleges állásból indul, és öt progresszíven magasabb teljesítményfokozattal rendelkezik. A fék tengely kiengedve indul, és nyolc fokozatosan növekvő fokozattal, valamint egy vészfékkel rendelkezik. Ez a vezérlő számos játékkal kompatibilis, és általában jól illeszkedik az egy vagy két fizikai tengellyel rendelkező hardverekhez, amelyek hasonló fokozatokkal rendelkeznek, mint például a modern "Zuiki One Handle MasCon". + A Densha Controller Type 2 egy kétkezes vonatvezérlő D-Paddal és hat gombbal. A sebességváltókar a semleges állásból indul, és öt progresszíven magasabb teljesítményfokozattal rendelkezik. A fék tengely kiengedve indul, és nyolc fokozatosan növekvő fokozattal, valamint egy vészfékkel rendelkezik. Ez a vezérlő számos játékkal kompatibilis, és általában jól illeszkedik az egy vagy két fizikai tengellyel rendelkező hardverekhez, amelyek hasonló fokozatokkal rendelkeznek, mint például a modern "Zuiki One Handle MasCon". @@ -21029,7 +21109,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Power Lever Power refers to the train's accelerator which causes the train to increase speed. - Teljesítménykar + Sebességváltó @@ -21162,7 +21242,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Accelerator - Gyorsító + Gáz @@ -21230,7 +21310,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Accelerator - Gyorsító + Gáz @@ -21371,7 +21451,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. <p>Alapértelmezés szerint a GunCon2 az egérmutatót használja. Az egér használatához <strong>nem</strong>kell a ravaszt és a gombokat leszámítva semmilyen hozzárendelést konfigurálnod.</p>; -<p>Ha egér helyett egy vezérlőt vagy egy olyan fénypisztolyt szeretnél használni, amely az egér helyett egy vezérlőt szimulál, akkor a Relatív célzáshoz kell kötni. Ellenkező esetben a Relative Aiminget <strong>kötés nélkül kell hagyni</strong>.</p> +<p>Ha egér helyett egy vezérlőt vagy egy olyan fénypisztolyt szeretnél használni, amely az egér helyett egy vezérlőt szimulál, akkor a Relatív célzáshoz kell hozzárendelni. Ellenkező esetben a Relatív Célzást <strong>hozzárendelés nélkül kell hagyni</strong>.</p> @@ -21485,7 +21565,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. Ryojōhen refers to a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. For consistency, romanization of 'Ryojōhen' should be kept consistent across western languages, as there is no official translation for this name. - A Ryojōhen Controller egy kétkezes vonatvezérlő D-paddal és hét gombbal. A teljesítménytengely a semlegesről indul, és négy progresszív, magasabb teljesítményfokozattal rendelkezik. A féktengely analóg, három régióval, amelyek a féknyomás felengedését, a fékek aktuális nyomáson tartását vagy a féknyomás növelését biztosítják. Ha ezt a tengelyt a végsőkig kitoljuk, akkor a vészfék működésbe lép. Ez a vezérlő a Densha De GO! Ryojōhen, és a legjobban két tengellyel rendelkező hardverrel használható, amelyek közül az egyikkel könnyen növelhető vagy csökkenthető a féknyomás. + A Ryojōhen Controller egy kétkezes vonatvezérlő D-paddal és hét gombbal. A sebességváltókar a semlegesről indul, és négy progresszív, magasabb teljesítményfokozattal rendelkezik. A féktengely analóg, három régióval, amelyek a féknyomás felengedését, a fékek aktuális nyomáson tartását vagy a féknyomás növelését biztosítják. Ha ezt a tengelyt a végsőkig kitoljuk, akkor a vészfék működésbe lép. Ez a vezérlő a Densha De GO! Ryojōhen, és a legjobban két tengellyel rendelkező hardverrel használható, amelyek közül az egyikkel könnyen növelhető vagy csökkenthető a féknyomás. @@ -21535,7 +21615,7 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. Power Lever Power refers to the train's accelerator which causes the train to increase speed. - Teljesítménykar + Sebességváltó @@ -21582,13 +21662,13 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. This controller is created for a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains, in this case bullet trains. The product does not have an official name translation, and it is common to refer to the train type as Shinkansen. - A Shinkansen Controller egy kétkezes vonatvezérlő, D-paddal és hat gombbal. A teljesítménytengely a semlegesről indul, és tizenhárom progresszíven magasabb teljesítményfokozattal rendelkezik. A fék tengely elengedve indul, és hét fokozatosan növekvő fokozattal, valamint egy vészfékkel rendelkezik. Ez a vezérlő a Densha De GO! San'yō Shinkansen-hen, és a legjobban olyan hardverrel használható, amely egy tengelyen 14 vagy több fokozatú beállítással rendelkezik. + A Shinkansen Controller egy kétkezes vonatvezérlő, D-paddal és hat gombbal. A sebességváltókar a semlegesről indul, és tizenhárom progresszíven magasabb teljesítményfokozattal rendelkezik. A fék tengely elengedve indul, és hét fokozatosan növekvő fokozattal, valamint egy vészfékkel rendelkezik. Ez a vezérlő a Densha De GO! San'yō Shinkansen-hen, és a legjobban olyan hardverrel használható, amely egy tengelyen 14 vagy több fokozatú beállítással rendelkezik. Power Lever Power refers to the train's accelerator which causes the train to increase speed. - Teljesítménykar + Sebességváltó @@ -21725,42 +21805,42 @@ Ez több időt vehet igénybe, de megtalálja a fájlokat az almappákban is. VMManager - + Failed to back up old save state {}. Sikertelen a régi állásmentés biztonsági mentése {}. - + Failed to save save state: {}. Sikertelen az állás mentése: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Ismeretlen játék - + CDVD precaching was cancelled. CDVD előtöltés megszakítva. - + CDVD precaching failed: {} CDVD előtöltés sikertelen: {} - + Error Hiba - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21772,277 +21852,277 @@ Please consult the FAQs and Guides for further instructions. Jogi okok miatt, a BIOS-t egy a tulajdonodban lévő PS2 egységről *kell* beszerezned (kölcsönkérés nem számít). -Ha ez megvan, ez a BIOS fájl a bios mappába helyezendő az adat könyvtárban (Eszközök -> Adat könyvtár megnyitása). +Ha ez megvan, ez a BIOS fájl a bios mappába helyezendő az adat könyvtárban (Eszközök -> Adatkönyvtár megnyitása). Kérlek tekintsd meg a GYIK-okat és az útmutatókat további segítségért. - + Resuming state Állás folytatása - + Boot and Debug Indítás és Hibakeresés - + Failed to load save state Nem sikerült a mentett állás betöltése - + State saved to slot {}. Állás mentve a {} foglalatba. - + Failed to save save state to slot {}. Nem sikerült az állás mentése a {} foglalatba. - - + + Loading state Állás betöltése - + Failed to load state (Memory card is busy) Nem sikerült az állást betölteni a(z) {} foglalatból (A memória kártya elfoglalt) - + There is no save state in slot {}. Nincs mentés a {} foglalatban. - + Failed to load state from slot {} (Memory card is busy) Nem sikerült az állást betölteni a {} foglalatból (A memória kártya elfoglalt) - + Loading state from slot {}... Állás betöltése a {} foglalatból... - + Failed to save state (Memory card is busy) Nem sikerült az állást menteni (A memória kártya elfoglalt) - + Failed to save state to slot {} (Memory card is busy) Nem sikerült az állást menteni a(z) {} foglalatba (A memória kártya elfoglalt) - + Saving state to slot {}... Állás mentése a {} foglalatba... - + Frame advancing Képkocka Léptetés - + Disc removed. Lemez kiadva. - + Disc changed to '{}'. Lemez lecserélve a következőre '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Sikertelen az új képfájl megnyitása '{}'. Előző képfájl visszaállítása. A hiba: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Sikertelen a régi képfájlra visszaváltás. Lemez kiadása. A hiba: {} - + Cheats have been disabled due to achievements hardcore mode. Csalások letiltva a trófea hardcore mód miatt. - + Fast CDVD is enabled, this may break games. A gyors CDVD engedélyezve van, néhány játék nem kompatibilis vele. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Ciklus ráta/kihagyás nem az alapbeállításon van, ez összeomlást vagy lassú játékot eredményezhet. - + Upscale multiplier is below native, this will break rendering. A felskálázási szorzó a natív alatt van, ez problémákat okozhat a leképezésben. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping letiltva. Ez grafikai hibákat okozhat. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. A leképező nem Automatikusra van állítva. Ez teljesítmény problémákat és grafikai hibákat okozhat. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. A textúra szűrés nem Bilineáris (PS2)-re van állítva. Ez grafikai hibákat okozhat bizonyos játékoknál. - + No Game Running Nem fut játék - + Trilinear filtering is not set to automatic. This may break rendering in some games. A trilineáris szűrő nem automatikuson van. Ez grafikai hibákat okozhat bizonyos játékoknál. - + Blending Accuracy is below Basic, this may break effects in some games. A Keverés Pontosság az egyszerű beállítás alatt van, ez néhány játékban pontatlan effekteket okozhat. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardveres Letöltési Mód nincs Precízre állítva, ez leképezési problémákat okozhat. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU kerekítési mód nincs alapértelmezetten, ez problémákat okozhat. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU rögzítési mód nincs alapértelmezetten, ez problémákat okozhat. - + VU0 Round Mode is not set to default, this may break some games. VU0 kerekítési mód nincs alapértelmezetten, ez problémákat okozhat. - + VU1 Round Mode is not set to default, this may break some games. VU1 kerekítési mód nincs alapértelmezetten, ez problémákat okozhat. - + VU Clamp Mode is not set to default, this may break some games. VU rögzítési mód nincs alapértelmezetten, ez problémákat okozhat. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM engedélyezve. Néhány játék kompatibilitását befolyásolhatja. - + Game Fixes are not enabled. Compatibility with some games may be affected. Játék javítások nincsenek engedélyezve. Ez hatással lehet a játékok kompatibilitására. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. - Kompatibilitási javítások nincsenek engedélyezve. Ez hatással lehet a játékok kompatibilitására. + Kompatibilitási tapaszok nincsenek engedélyezve. Ez hatással lehet a játékok kompatibilitására. - + Frame rate for NTSC is not default. This may break some games. Az NTSC képfrissítés nincs alapértéken. Ez hibákat okozhat. - + Frame rate for PAL is not default. This may break some games. A PAL képfrissítés nincs alapértéken. Ez hibákat okozhat. - + EE Recompiler is not enabled, this will significantly reduce performance. EE újrafordító nincs engedélyezve, ez jelentősen csökkenti a teljesítményt. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 újrafordító nincs engedélyezve, ez jelentősen csökkenti a teljesítményt. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 újrafordító nincs engedélyezve, ez jelentősen csökkenti a teljesítményt. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP újrafordító nincs engedélyezve, ez jelentősen csökkenti a teljesítményt. - + EE Cache is enabled, this will significantly reduce performance. EE gyorsítótár engedélyezve, ez jelentősen csökkenti a teljesítményt. - + EE Wait Loop Detection is not enabled, this may reduce performance. Emotion Engine Várakozási Hurok Felismerése opció nincs engedélyezve, ez csökkentheti a teljesítményt. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Időzítés Átugrása nincs engedélyezve, ez csökkentheti a teljesítményt. - + Fastmem is not enabled, this will reduce performance. Gyors Memória nincs engedélyezve, ez csökkenti a teljesítményt. - + Instant VU1 is disabled, this may reduce performance. Azonnali VU1 letiltva, ez csökkentheti a teljesítményt. - + mVU Flag Hack is not enabled, this may reduce performance. Az mVU Felesleges Flag Kihagyása opció nem engedélyezett, ez csökkentheti a teljesítményt. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Paletta Átalakítás engedélyezve, egy csökkentheti a teljesítményt. - + Texture Preloading is not Full, this may reduce performance. Textúra Előtöltés nem teljes, ez csökkentheti a teljesítményt. - + Estimate texture region is enabled, this may reduce performance. Becsült textúra terület engedélyezve, egy csökkentheti a teljesítményt. - + Texture dumping is enabled, this will continually dump textures to disk. Textúra mentés engedélyezve, folyamatosan menteni fogja a textúrákat a lemezre. diff --git a/pcsx2-qt/Translations/pcsx2-qt_id-ID.ts b/pcsx2-qt/Translations/pcsx2-qt_id-ID.ts index b4f2bd6b124fc..2bbded4652bac 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_id-ID.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_id-ID.ts @@ -97,7 +97,7 @@ <strong>Your RetroAchievements login token is no longer valid.</strong> You must re-enter your credentials for achievements to be tracked. Your password will not be saved in PCSX2, an access token will be generated and used instead. - <strong>Token masuk RetroAchievements Anda sudah tidak berlaku lagi.</strong> Masukkan ulang kredensial Anda agar pencapaian dapat dilacak. Kata sandi tidak akan disimpan di PCSX2, token akses akan dibuat dan digunakan sebagai gantinya. + <strong>Token login RetroAchievements Anda sudah tidak berlaku lagi.</strong> Anda harus memasukkan ulang kredensial Anda agar prestasi dapat dilacak. Kata sandi Anda tidak akan disimpan di PCSX2, token akses akan dibuat dan digunakan sebagai gantinya. @@ -120,8 +120,8 @@ Error: %1 Please check your username and password, and try again. - %1Gagal masuk. -Eror: %1 + Gagal masuk. +Erorr: %1 Periksa nama pengguna dan kata sandi Anda, lalu coba lagi. @@ -295,12 +295,12 @@ Token masuk dibuat pada: When enabled, PCSX2 will list achievements from unofficial sets. Please note that these achievements are not tracked by RetroAchievements, so they unlock every time. - Saat diaktifkan, PCSX2 akan menampilkan daftar pencapaian dari set tidak resmi. Pencapaian tersebut tidak dilacak oleh RetroAchievements, jadi akan terbuka setiap Anda raih. + Jika diaktifkan, PCSX2 akan menampilkan daftar prestasi dari set tidak resmi. Daftar prestasi tersebut tidak akan dilacak oleh RetroAchievements, dan akan terbuka setiap anda meraihnya. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - Mode "tantangan" untuk pencapaian serta pelacakan papan peringkat. Ini menonaktifkan save state, cheat, dan gerak lambat. + Mode "tantangan" untuk prestasi dan pelacakan papan peringkat. Akan menonaktifkan fungsi save state, cheat, dan juga gerak lambat. @@ -313,22 +313,22 @@ Token masuk dibuat pada: Plays sound effects for events such as achievement unlocks and leaderboard submissions. - Memutar efek suara untuk kejadian seperti mendapat pencapaian dan mengirim papan peringkat. + Putar efek suara untuk aktivitas seperti pencapaian prestasi dan peningkatan di papan peringkat. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - Menampilkan ikon di pojok kanan bawah layar saat pencapaian utama/tantangan sedang aktif. + Tampilkan ikon di pojok kanan bawah layar saat prestasi utama/tantangan sedang aktif. When enabled and logged in, PCSX2 will scan for achievements on startup. - Setelah diaktifkan dan masuk, PCSX2 akan memindai pencapaian saat mulai. + Setelah diaktifkan dan masuk, PCSX2 akan memindai prestasi saat dimulai. Displays popup messages on events such as achievement unlocks and game completion. - Menampilkan sembulan untuk kejadian seperti mendapat pencapaian dan menamatkan permainan. + Tampilkan pesan popup untuk aktivitas seperti pencapaian prestasi dan penyelesaian game. @@ -338,7 +338,7 @@ Token masuk dibuat pada: When enabled, each session will behave as if no achievements have been unlocked. - Saat diaktifkan, setiap sesi akan seolah-olah seperti belum membuka pencapaian apa-apa. + Saat diaktifkan, setiap sesi akan seolah-olah seperti belum membuka prestasi apa-apa. @@ -409,7 +409,7 @@ Token masuk dibuat pada %2. You have unlocked {} of %n achievements Achievement popup - Anda membuka {} dari %n pencapaian + Anda telah membuka {} dari %n prestasi @@ -440,7 +440,7 @@ Token masuk dibuat pada %2. %n achievements Mastery popup - %n pencapaian + %n prestasi @@ -489,7 +489,7 @@ Token masuk dibuat pada %2. An unlock request could not be completed. We will keep retrying to submit this request. - Pembukaan pencapaian tidak dapat diselesaikan. Permintaan ini akan terus kami coba kirim. + Pembukaan prestasi tidak dapat diselesaikan. Permintaan ini akan terus kami coba kirim. @@ -499,7 +499,7 @@ Token masuk dibuat pada %2. All pending unlock requests have completed. - Pembukaan pencapaian yang tadi tertunda telah selesai. + Semua permintaan buka prestasi yang sebelumnya tertunda telah selesai. @@ -522,7 +522,7 @@ Pesan belum dibaca: {2} Active Challenge Achievements - Pencapaian Tantangan Aktif + Prestasi Tantangan Aktif @@ -582,7 +582,7 @@ Posisi Papan Peringkat: {1} dari {2} You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. - Anda membuka {0} dari {1} pencapaian, mendapat {2} dari {3} poin yang dapat diperoleh. + Anda telah membuka {0} dari {1} prestasi, dan telah mendapatkan {2} dari {3} poin yang dapat diperoleh. @@ -709,12 +709,12 @@ Posisi Papan Peringkat: {1} dari {2} This game has no achievements. - Permainan ini tidak tersedia pencapaian. + Prestasi tidak tersedia untuk game ini. Failed to read executable from disc. Achievements disabled. - Gagal membaca executable dari kaset. Pencapaian dinonaktifkan. + Gagal membaca eksekutabel dari disk. Prestasi dinonaktifkan. @@ -727,307 +727,318 @@ Posisi Papan Peringkat: {1} dari {2} Gunakan Pengaturan Global [%1] - + Rounding Mode Mode Pembulatan - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ubah cara PCSX2 menangani pembulatan saat mengemulasi Floating Point Unit (FPU) dari EmotionEngine (EE). Karena berbagai FPU di PS2 tidak sesuai dengan standar internasional, beberapa game mungkin memerlukan mode yang berbeda untuk melakukan perhitungan dengan benar. Nilai default mampu menangani sebagian besar game; <b>mengubah pengaturan ini saat game tidak memiliki masalah yang terlihat dapat menyebabkan ketidakstabilan.</b> - + Division Rounding Mode Mode Pembulatan Pembagian - + Nearest (Default) Terdekat (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Tentukan bagaimana hasil pembagian floating-point dibulatkan. Beberapa game memerlukan pengaturan khusus; <b>mengubah pengaturan ini ketika game tidak mengalami masalah yang terlihat dapat menyebabkan ketidakstabilan.</b> - + Clamping Mode Mode Clamping - - - + + + Normal (Default) Normal (Default) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ubah cara PCSX2 menangani penyimpanan float dalam rentang x86 standar. Nilai default mampu menangani sebagian besar game; <b>mengubah pengaturan ini saat game tidak memiliki masalah yang terlihat dapat menyebabkan ketidakstabilan.</b> - - + + Enable Recompiler Aktifkan Recompiler - + - - - + + + - + - - - - + + + + + Checked Dicentang - + + Use Save State Selector + Gunakan Pemilih Save State + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Tampilkan UI untuk memilih save state saat berpindah slot, daripada hanya menampilkan notifikasi. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Jalankan terjemahan biner just-in-time dari kode mesin MIPS-IV 64-bit ke x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Deteksi Wait Loop - + Moderate speedup for some games, with no known side effects. Meningkatkan performa untuk sebagian game, tanpa efek samping yang diketahui. - + Enable Cache (Slow) Aktifkan Cache (Lambat) - - - - + + + + Unchecked Tidak Dicentang - + Interpreter only, provided for diagnostic. Hanya interpreter, khusus untuk diagnostik. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Deteksi Spin INTC - + Huge speedup for some games, with almost no compatibility side effects. Meningkatkan performa dengan sangat signifikan untuk sebagian game, dengan hampir tanpa efek samping terhadap kompatibilitas. - + Enable Fast Memory Access Aktifkan Akses Memori Cepat - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Gunakan backpatching untuk menghindari register flush pada setiap akses memori. - + Pause On TLB Miss Jeda Saat Miss TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Jeda mesin virtual saat TLB miss terjadi, alih-alih mengabaikan dan melanjutkannya. Mesin virtual akan dijeda pada akhir blok, bukan pada instruksi yang menyebabkan kesalahan terjadi. Lihat konsol untuk melihat alamat di mana akses invalid terjadi. - + Enable 128MB RAM (Dev Console) Aktifkan RAM 128MB (Konsol Developer) - + Exposes an additional 96MB of memory to the virtual machine. Beri 96MB memori tambahan ke mesin virtual. - + VU0 Rounding Mode Mode Rounding VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Ubah cara PCSX2 menangani pembulatan saat mengemulasi Vector Unit 0 (EE VU0) dari EmotionEngine. Nilai default mampu menangani sebagian besar game; <b>mengubah pengaturan ini ketika game tidak mengalami masalah yang terlihat akan menyebabkan masalah stabilitas dan/atau crash.</b> - + VU1 Rounding Mode Mode Rounding VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Ubah cara PCSX2 menangani pembulatan saat mengemulasi Vector Unit 1 (EE VU1) dari EmotionEngine. Nilai default mampu menangani sebagian besar game; <b>mengubah pengaturan ini ketika game tidak mengalami masalah yang terlihat akan menyebabkan masalah stabilitas dan/atau crash.</b> - + VU0 Clamping Mode Mode Clamping VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ubah cara PCSX2 menangani penyimpanan float dalam rentang x86 standar di Vector Unit 0 (VU0) dari Emotion Engine (EE). Nilai default menangani sebagian besar game; <b>mengubah pengaturan ini ketika game tidak memiliki masalah yang terlihat dapat menyebabkan ketidakstabilan.</b> - + VU1 Clamping Mode Mode Clamping VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ubah cara PCSX2 menangani penyimpanan float dalam rentang x86 standar di Vector Unit 1 (VU1) dari Emotion Engine (EE). Nilai default menangani sebagian besar game; <b>mengubah pengaturan ini ketika game tidak memiliki masalah yang terlihat dapat menyebabkan ketidakstabilan.</b> - + Enable Instant VU1 Aktifkan Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Jalankan VU1 dengan instan. Dapat menambah performa di kebanyakan game. Aman untuk kebanyakan game, namun dapat menyebabkan error grafis pada beberapa game. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Aktifkan Recompiler VU0 (Mode Mikro) - + Enables VU0 Recompiler. Aktifkan Recompiler VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Aktifkan Recompiler VU1 - + Enables VU1 Recompiler. Aktifkan VU1 Recompiler. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) - mVU Flag Hack + Hack Flag mVU - + Good speedup and high compatibility, may cause graphical errors. Meningkatkan performa dan memiliki kompatibilitas tinggi, dapat menyebabkan eror pada grafis. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Menjalankan terjemahan biner just-in-time dari kode mesin MIPS-I 32-bit ke x86. - + Enable Game Fixes Aktifkan Perbaikan Game - + Automatically loads and applies fixes to known problematic games on game start. Secara otomatis, muat dan terapkan perbaikan untuk game yang diketahui bermasalah saat game dimulai. - + Enable Compatibility Patches Aktifkan Patch Kompatibilitas - + Automatically loads and applies compatibility patches to known problematic games. Secara otomatis, muat dan terapkan perbaikan untuk game yang diketahui bermasalah. - + Savestate Compression Method Metode Kompresi Savestate - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Menentukan algoritma yang akan digunakan saat mengompresi savestate. - + Savestate Compression Level Level Kompresi Savestate - + Medium Menengah - + Determines the level to be used when compressing savestates. Menentukan level Kompresi yang akan digunakan saat mengompresi savestate. - + Save State On Shutdown Simpan Save State Saat Mematikan - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Secara otomatis menyimpan save state lanjutan saat mesin virtual dimatikan. Anda dapat melanjutkan langsung dari titik terakhir yang Anda tinggalkan dengan save state tersebut. - + Create Save State Backups Buat Backup Save State - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Membuat backup save state lama dengan sufiks .backup saat menyimpan save state baru di slot yang sudah terisi. @@ -1250,29 +1261,29 @@ Posisi Papan Peringkat: {1} dari {2} Buat Backup Save State - + Save State On Shutdown Simpan Save State Saat Mematikan - + Frame Rate Control Kontrol Frame Rate - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: Frame Rate PAL: - + NTSC Frame Rate: Frame Rate NTSC: @@ -1287,7 +1298,7 @@ Posisi Papan Peringkat: {1} dari {2} Level Kompresi: - + Compression Method: Metode Kompresi: @@ -1332,17 +1343,22 @@ Posisi Papan Peringkat: {1} dari {2} Sangat Tinggi (Lambat, Tidak Direkomendasikan) - + + Use Save State Selector + Gunakan Pemilih Save State + + + PINE Settings Pengaturan PINE - + Slot: Slot: - + Enable Aktifkan @@ -1863,8 +1879,8 @@ Posisi Papan Peringkat: {1} dari {2} AutoUpdaterDialog - - + + Automatic Updater Pembaruan Otomatis @@ -1904,68 +1920,68 @@ Posisi Papan Peringkat: {1} dari {2} Ingatkan Saya Nanti - - + + Updater Error Update Bermasalah - + <h2>Changes:</h2> <h2>Catatan Perubahan:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Peringatan Save State</h2><p>Update ini <b>tidak kompatibel dengan Save State Anda</b>. Pastikan Anda telah menyimpan Save Data Anda ke Memory Card sebelum mengunduh update ini, atau progres game Anda akan hilang.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Peringatan Pengaturan</h2><p>Menginstal update ini akan me-reset konfigurasi program anda. Anda harus membuat konfigurasi baru setelah memasang update ini.</p> - + Savestate Warning Peringatan Savestate - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>PERINGATAN</h1><p style='font-size:12pt;'>Memasang update ini akan <b>membuat save state Anda menjadi tidak kompatibel</b>, <i>pastikan Anda sudah menyimpan save data anda kedalam memory card sebelum melanjutkan</i>.</p><p>Apakah anda ingin melanjutkan pemasangan update?</p> - + Downloading %1... Sedang mengunduh PCSX2 %1... - + No updates are currently available. Please try again later. Tidak ada update tersedia. Coba lagi nanti. - + Current Version: %1 (%2) Versi Saat Ini: %1 (%2) - + New Version: %1 (%2) Versi Terbaru: %1 (%2) - + Download Size: %1 MB Ukuran Unduhan: %1 MB - + Loading... Sedang memuat... - + Failed to remove updater exe after update. Gagal menghapus executable pemutakhiran setelah pembaruan. @@ -2129,19 +2145,19 @@ Posisi Papan Peringkat: {1} dari {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2231,17 +2247,17 @@ Posisi Papan Peringkat: {1} dari {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - Kaset permainan berlokasi di removable drive, dapat terjadi isu kinerja seperti terbata-bata dan macet. + Disk game berlokasi di drive yang dapat dilepas, isu performa seperti jittering dan freezing dapat terjadi. - + Saving CDVD block dump to '{}'. Menyimpan dump blok CDVD ke '{}'. - + Precaching CDVD Pramuat Game @@ -2266,9 +2282,9 @@ Posisi Papan Peringkat: {1} dari {2} Tidak Diketahui - + Precaching is not supported for discs. - Pramuat tidak tersedia untuk kaset. + Pramuat tidak tersedia untuk disc. @@ -2299,12 +2315,12 @@ Posisi Papan Peringkat: {1} dari {2} Virtual Controller Type - Jenis Kontroler Virtual + Tipe Kontroler Virtual Bindings - Atur Tombol + Penetapan Tombol @@ -2324,7 +2340,7 @@ Posisi Papan Peringkat: {1} dari {2} Clear Mapping - Kosongkan Pemetaan + Bersihkan Penetapan Tombol @@ -2340,23 +2356,23 @@ Posisi Papan Peringkat: {1} dari {2} Clear Bindings Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). - Kosongkan Atur Tombol + Bersihkan Penetapan Tombol Are you sure you want to clear all bindings for this controller? This action cannot be undone. Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). - Apakah yakin ingin mengosongkan semua atur tombol kontroler ini? Ini tidak dapat diurungkan. + Apakah Anda yakin ingin menghapus semua penetapan tombol untuk kontroler ini? Tindakan ini tidak dapat dibatalkan. Automatic Binding - Atur Tombol Otomatis + Penetapan Tombol Otomatis No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. - Tidak ada atur tombol generik untuk perangkat '%1'. Kontroler/sumber mungkin tidak mendukung pemetaan otomatis. + Penetapan tombol generik untuk perangkat '%1' tidak tersedia. Kontroler/sumber mungkin tidak mendukung penetapan tombol otomatis. @@ -2546,7 +2562,7 @@ Posisi Papan Peringkat: {1} dari {2} Orange - Jingga + Oranye @@ -2576,7 +2592,7 @@ Posisi Papan Peringkat: {1} dari {2} Tilt - Memiring + Miring @@ -2840,12 +2856,12 @@ Posisi Papan Peringkat: {1} dari {2} Browse... - Telusur... + Telusuri... Select File - Pilih Berkas + Pilih File @@ -2858,7 +2874,7 @@ Posisi Papan Peringkat: {1} dari {2} The SDL input source supports most controllers, and provides advanced functionality for DualShock 4 / DualSense pads in Bluetooth mode (Vibration / LED Control). - Sumber masukan SDL mendukung kebanyakan kontroler, dan menawarkan fungsi lebih untuk DualShock 4 / DualSense di mode Bluetooth (Getaran / Kendali LED). + Sumber input SDL mendukung kebanyakan kontroler, dan menawarkan fungsionalitas lebih untuk DualShock 4 / DualSense di mode Bluetooth (Getaran / Kontrol Panel Lampu). @@ -2888,7 +2904,7 @@ Posisi Papan Peringkat: {1} dari {2} The DInput source provides support for legacy controllers which do not support XInput. Accessing these controllers via SDL instead is recommended, but DirectInput can be used if they are not compatible with SDL. - Sumber DInput mendukung kontroler lawas yang tidak mendukung XInput. Kami sarankan gunakan sumber masukan SDL, tapi DirectInput dapat digunakan jika kontroler tidak kompatibel dengan SDL. + Sumber DInput mendukung kontroler lama yang tidak mendukung XInput. Kami menyarankan menggunakan sumber input SDL, namun DirectInput dapat digunakan apabila kontroler tidak kompatibel dengan SDL. @@ -2934,7 +2950,7 @@ Posisi Papan Peringkat: {1} dari {2} The XInput source provides support for Xbox 360 / Xbox One / Xbox Series controllers, and third party controllers which implement the XInput protocol. - Sumber XInput mendukung kontroler Xbox 360 / Xbox One / Xbox Series, dan kontroler pihak ketiga dengan protokol XInput. + Sumber XInput mendukung kontroler Xbox 360 / Xbox One / Xbox Series dan kontroler pihak ketiga yang mendukung protokol XInput. @@ -2944,7 +2960,7 @@ Posisi Papan Peringkat: {1} dari {2} The multitap enables up to 8 controllers to be connected to the console. Each multitap provides 4 ports. Multitap is not supported by all games. - Multitap membuat 8 kontroler dapat dihubungkan bersamaan ke konsol. Setiap multitap terdapat 4 port. Tidak semua permainan mampu multitap. + Multitap memungkinkan 8 kontroler untuk dihubungkan ke konsol secara bersamaan. Setiap multitap menyediakan 4 port. Tidak semua game mendukung multitap. @@ -3134,7 +3150,7 @@ Not Configured/Buttons configured Controller Mapping Settings - Pengaturan Pemetaan Kontroler + Pengaturan Penetapan Kontroler @@ -3223,29 +3239,34 @@ Not Configured/Buttons configured + Rename Profile + Ubah Nama Profil + + + Delete Profile Hapus Profil - + Mapping Settings Pengaturan Penetapan - - + + Restore Defaults Kembalikan Pengaturan Default - - - + + + Create Input Profile Buat Profil Input - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3256,40 +3277,43 @@ Untuk menerapkan profil input kustom ke game, buka Pengaturan Game, lalu ubah &a Masukkan nama untuk profil input yang baru: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. Profil dengan nama '%1' sudah ada. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Apakah Anda ingin menyalin semua penetapan tombol dari profil yang saat ini dipilih ke profil baru? Memilih Tidak akan membuat profil baru yang kosong. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Apakah Anda ingin menyalin binding hotkey saat ini dari pengaturan global ke profil input yang baru? - + Failed to save the new profile to '%1'. Gagal menyimpan profil baru ke '%1'. - + Load Input Profile Muat Profil Input - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3302,12 +3326,27 @@ Semua penetapan tombol global akan dihapus dan penetapan tombol dari profil inpu Anda tidak dapat membatalkan aksi ini. - + + Rename Input Profile + Ubah Nama Profil Input + + + + Enter the new name for the input profile: + Masukkan nama untuk profil input baru: + + + + Failed to rename '%1'. + Gagal mengganti nama '%1'. + + + Delete Input Profile Hapus Profil Input - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3316,12 +3355,12 @@ You cannot undo this action. Anda tidak dapat membatalkan aksi ini. - + Failed to delete '%1'. Gagal menghapus '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3334,13 +3373,13 @@ Semua konfigurasi dan penetapan tombol global akan dihapus, namun profil input A Anda tidak dapat membatalkan aksi ini. - + Global Settings Pengaturan Global - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3348,8 +3387,8 @@ Anda tidak dapat membatalkan aksi ini. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3357,28 +3396,28 @@ Anda tidak dapat membatalkan aksi ini. %2 - - + + USB Port %1 %2 Port USB %1 %2 - + Hotkeys Tombol Pintasan - + Shared "Shared" refers here to the shared input profile. Global - + The input profile named '%1' cannot be found. - Profil bernama '%1' tidak ditemukan. + Profil input '%1' tidak ditemukan. @@ -4000,63 +4039,63 @@ Apakah Anda ingin menimpanya? Import from file (.elf, .sym, etc): - + Add Tambah - + Remove Hapus - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Lewati - + Custom Address Range: Custom Address Range: - + Start: Mulai: - + End: Akhir: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4127,17 +4166,32 @@ Apakah Anda ingin menimpanya? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Lokasi + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4789,53 +4843,53 @@ Apakah Anda ingin menimpanya? Debugger PCSX2 - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Selalu di Atas - + Show this window on top Tampilkan jendela ini diatas jendela lainnya - + Analyze Analisa @@ -4853,48 +4907,48 @@ Apakah Anda ingin menimpanya? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4915,23 +4969,23 @@ Apakah Anda ingin menimpanya? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4941,72 +4995,72 @@ Apakah Anda ingin menimpanya? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5016,7 +5070,7 @@ Apakah Anda ingin menimpanya? <html><head/><body><p><span style=" font-weight:700;">No games in supported formats were found.</span></p><p>Please add a directory with games to begin.</p><p>Game dumps in the following formats will be scanned and listed:</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Tidak ditemukan permainan dalam format yang didukung.</span></p><p>Mohon tambahkan permainan dulu.</p><p>Permainan berformat berikut akan dipindai dan ditampilkan:</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Game dalam format yang didukung tidak ditemukan. </span></p><p>Silakan tambahkan direktori game untuk memulai.</p><p>Game dalam format berikut akan dipindai dan ditampilkan:</p></body></html> @@ -5033,86 +5087,86 @@ Apakah Anda ingin menimpanya? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot Savestate: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot Savestate: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Tidak Ada Gambar - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Kecepatan: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence tidak aktif atau tidak didukung. - + Game not loaded or no RetroAchievements available. Tidak ada game yang berjalan atau tidak ada RetroAchievements yang tersedia. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Gagal untuk membuat HTTPDownloader. - + Downloading %1... Sedang mengunduh %1... - + Download failed with HTTP status code %1. Unduhan gagal dengan kode status HTTP %1. - + Download failed: Data is empty. Unduhan gagal: Data kosong. - + Failed to write '%1'. Gagal untuk menulis '%1'. @@ -5339,7 +5393,7 @@ Apakah Anda ingin menimpanya? Fast disc access, less loading times. Check HDLoader compatibility lists for known games that have issues with this. - Akses kaset cepat, mengurangi lama memuat. Periksa daftar kompatibilitas HDLoader untuk permainan yang ada isu dengan opsi ini. + Akses disk cepat, mengurangi waktu loading. Periksa daftar kompatibilitas HDLoader untuk game yang diketahui bermasalah dengan opsi ini. @@ -5407,7 +5461,7 @@ Apakah Anda ingin menimpanya? Loads the disc image into RAM before starting the virtual machine. Can reduce stutter on systems with hard drives that have long wake times, but significantly increases boot times. - Memuat disc image ke RAM sebelum memulai mesin virtual. Dapat mengurangi patah-patah pada sistem yang menggunakan hard disk, tetapi secara signifikan meningkatkan waktu mulai. + Memuat disc image ke RAM sebelum memulai mesin virtual. Dapat mengurangi patah-patah pada sistem yang menggunakan hard disk, tetapi secara signifikan meningkatkan waktu untuk memuat game. @@ -5486,81 +5540,76 @@ Apakah Anda ingin menimpanya? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5694,342 +5743,342 @@ Tautan nya adalah: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Perangkat CD/DVD-ROM tidak ditemukan. Pastikan drive CD/DVD Anda telah terhubung dan memiliki izin akses yang memadai. - + Use Global Setting Gunakan Pengaturan Global - + Automatic binding failed, no devices are available. Penetapan tombol otomatis gagal, tidak ada perangkat yang tersedia. - + Game title copied to clipboard. Judul game telah disalin ke clipboard. - + Game serial copied to clipboard. Kode serial game telah disalin ke clipboard. - + Game CRC copied to clipboard. Kode CRC game telah disalin ke clipboard. - + Game type copied to clipboard. Tipe game telah disalin ke clipboard. - + Game region copied to clipboard. Region game telah disalin ke clipboard. - + Game compatibility copied to clipboard. Kompatibilitas game telah disalin ke clipboard. - + Game path copied to clipboard. Path game telah disalin ke clipboard. - + Controller settings reset to default. - Pengaturan kontroler diatur ulang ke bawaan. + Pengaturan kontroller dikembalikan ke default. - + No input profiles available. Tidak ada profil masukan yang tersedia. - + Create New... Buat Profil Baru... - + Enter the name of the input profile you wish to create. Tentukan nama untuk profil masukan yang ingin Anda buat. - + Are you sure you want to restore the default settings? Any preferences will be lost. Apakah Anda yakin ingin mengembalikan pengaturan default? Semua pengaturan yang tersimpan akan hilang. - + Settings reset to defaults. Pengaturan telah direset ke default. - + No save present in this slot. Tidak ada savesate pada slot ini. - + No save states found. - Save state tak ditemukan. + Savestate tidak ditemukan. - + Failed to delete save state. Gagal untuk menghapus savestate. - + Failed to copy text to clipboard. Gagal menyalin teks ke cliipboard. - + This game has no achievements. Prestasi tidak tersedia untuk game ini. - + This game has no leaderboards. Game ini tidak memiliki papan peringkat. - + Reset System Reset Sistem - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Mode hardcore tidak akan aktif hingga sistem di reset ulang. Apakah Anda ingin me-reset sistem sekarang? - + Launch a game from images scanned from your game directories. Jalankan game dari image yang telah dipindai dari direktori game anda. - + Launch a game by selecting a file/disc image. - Memulai permainan dengan memilih berkas/disc image. + Memulai permainan dengan memilih file/disc image. - + Start the console without any disc inserted. - Memulai konsol tanpa ada kaset. + Jalankan konsol tanpa memasukan disk. - + Start a game from a disc in your PC's DVD drive. - Memulai permainan dari kaset yang ditaruh di DVD drive komputer. + Jalankan game dari disk yang dimasukkan ke DVD drive PC Anda. - + No Binding Tidak ada penetapan tombol - + Setting %s binding %s. Mengatur %s ke %s. - + Push a controller button or axis now. Harap tekan tombol controller sekarang. - + Timing out in %.0f seconds... Membatalkan dalam %.0f detik... - + Unknown Tidak Diketahui - + OK OK - + Select Device Pilih Perangkat - + Details Rincian - + Options Pengaturan - + Copies the current global settings to this game. Salin pengaturan global saat ini ke game ini. - + Clears all settings set for this game. Hapus semua pengaturan yang ditetapkan untuk game ini. - + Behaviour Perilaku - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Mencegah screen saver aktif saat emulasi berjalan. - + Shows the game you are currently playing as part of your profile on Discord. Menunjukkan permainan yang sedang dimainkan sebagai status profil Discord. - + Pauses the emulator when a game is started. Menjeda emulator saat game dimulai. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Menjeda emulator saat jendela dikecilkan atau saat jendela sedang tidak dalam fokus (mis. saat Anda beralih ke aplikasi lain). Emulator akan dilanjutkan saat jendela emulator kembali dalam fokus. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Menjeda emulator saat Anda membuka menu cepat, dan melanjutkan saat Anda menutupnya. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Menentukan apakah prompt akan ditampilkan untuk mengonfirmasi mematikan mesin virtual saat tombol pintasan ditekan. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Secara otomatis menyimpan save state lanjutan saat mesin virtual dimatikan. Anda dapat melanjutkan langsung dari titik terakhir yang Anda tinggalkan dengan save state tersebut. - + Uses a light coloured theme instead of the default dark theme. Gunakan tema terang alih-alih tema gelap default. - + Game Display Tampilan Game - + Switches between full screen and windowed when the window is double-clicked. Mengganti antara full screen dan windowed saat window di double click. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Menyembunyikan kursor mouse saat emulator sedang menggunakan mode layar penuh. - + Determines how large the on-screen messages and monitor are. Menentukan seberapa besar ukuran teks pesan dan OSD di layar dan monitor. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Menampilkan pesan pada layar seperti notifikasi save state yang sedang dibuat/dimuat, tangkapan layar yang sedang diambil, dsb. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Menampilkan kecepatan emulasi sistem saat ini pada pojok kanan atas layar dengan persentase. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Tampilkan jumlah frame video (atau v-syncs) yang ditampilkan setiap detiknya oleh sistem pada pojok kanan atas layar. - + Shows the CPU usage based on threads in the top-right corner of the display. Menampilkan penggunaan CPU berdasarkan dari threads pada pojok kanan atas layar. - + Shows the host's GPU usage in the top-right corner of the display. Menunjukkan host dan 's pemakaian GPU di ujung atas kanan display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Menampilkan statistik tentang GS (primitives, draw calls) di sudut kanan atas layar. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Menampilkan indikator saat mempercepat, menjeda, dan status abnormal lainnya sedang aktif. - + Shows the current configuration in the bottom-right corner of the display. Menunjukan konfigurasi saat ini di sudut kanan bawah layar. - + Shows the current controller state of the system in the bottom-left corner of the display. Menampilkan status kontroler sistem saat ini di sudut kiri bawah layar. - + Displays warnings when settings are enabled which may break games. Menampilkan peringatan jika ada pengaturan di aktifkan yang mungkin mempengaruhi stabilitas di game. - + Resets configuration to defaults (excluding controller settings). Merubah ulang kepengaturan awal (kecuali pengaturan controller/stik). - + Changes the BIOS image used to start future sessions. Mengganti gambar BIOS yang digunakan untuk sesi selanjutnya. - + Automatic Otomatis - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6038,1977 +6087,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Secara otomatis, beralih ke mode layar penuh saat game dimulai. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Menampilkan resolusi game di pojok kanan atas layar. - + BIOS Configuration Konfigurasi BIOS - + BIOS Selection Pilihan BIOS - + Options and Patches Pengaturan dan Patch - + Skips the intro screen, and bypasses region checks. Lewati layar intro, dan mem-bypass regional cek. - + Speed Control Kontrol Kecepatan - + Normal Speed Kecepatan Normal - + Sets the speed when running without fast forwarding. Atur kecepatan saat emulator berjalan tanpa fast fowarding. - + Fast Forward Speed Kecepatan Maju Cepat - + Sets the speed when using the fast forward hotkey. Atur kecepatan saat menggunakan tombol pintasan maju cepat. - + Slow Motion Speed Kecepatan Gerak Lambat - + Sets the speed when using the slow motion hotkey. Atur kecepatan saat menggunakan tombol pintasan gerak lambat. - + System Settings Pengaturan Sistem - + EE Cycle Rate Rate Siklus EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclock atau overclock Cpu Emotion Engine yang di emulasi. - + EE Cycle Skipping Lewati Siklus EE - + Enable MTVU (Multi-Threaded VU1) Aktifkan MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Aktifkan Instant VU1 - + Enable Cheats Aktifkan Cheat - + Enables loading cheats from pnach files. Mengaktifkan cheat loading dari file pnach. - + Enable Host Filesystem Aktifkan Sistem File Host - + Enables access to files from the host: namespace in the virtual machine. Mengaktifkan akses ke file dari host: namespace di mesin virtual. - + Enable Fast CDVD Aktifkan CDVD Cepat - + Fast disc access, less loading times. Not recommended. - Akses kaset cepat, mengurangi lama memuat. Tidak dianjurkan. + Mengakses disk dengan cepat, mengurangi waktu loading. Tidak direkomendasikan. - + Frame Pacing/Latency Control Kontrol Frame Pacing / Latensi - + Maximum Frame Latency Latensi Frame Maksimal - + Sets the number of frames which can be queued. Tetapkan jumlah frame yang dapat di antrikan/queued. - + Optimal Frame Pacing Frame Pacing Optimal - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Singkronasi EE dan GS thread setelah per gambar. Mengurangi latensi input, tetapi meningkatkan kebutuhan system/hardware. - + Speeds up emulation so that the guest refresh rate matches the host. Mengatur kecepatan emulasi sehingga refresh rate konsol sesuai dengan refresh rate host. - + Renderer Perender - + Selects the API used to render the emulated GS. Pilih API yang akan di gunakan untuk merender emulasi GS. - + Synchronizes frame presentation with host refresh. Mensinkronisasikan presentasi frame dengan refresh rate host. - + Display Tampilan - + Aspect Ratio Rasio Aspek - + Selects the aspect ratio to display the game content at. - Memilih rasio aspek layar untuk di permainan. + Memilih rasio aspek layar untuk di tampilkan dalam permainan. - + FMV Aspect Ratio Override Timpa Rasio Aspek FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Memilih rasio aspek layar saat FMV terdeteksi diputar. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Memilih algoritma yang digunakan untuk mengonversi output interlaced PS2 ke progresif untuk ditampilkan. - + Screenshot Size Ukuran Tangkapan Layar - + Determines the resolution at which screenshots will be saved. Menentukan resolusi screenshot saat di simpan. - + Screenshot Format Format Tangkapan Layar - + Selects the format which will be used to save screenshots. Pilih format file saat screenshot di simpan. - + Screenshot Quality Kualitas Tangkapan Layar - + Selects the quality at which screenshots will be compressed. Pilih kualitas screenshot yang mana akan di kecilkan/compressed. - + Vertical Stretch Peregangan Vertikal - + Increases or decreases the virtual picture size vertically. Tambahkan atau kurangi ukuran gambar virtual secara vertikal. - + Crop Pangkas Layar - + Crops the image, while respecting aspect ratio. Memangkas gambar tanpa mengubah rasio aspek. - + %dpx %dpx - - Enable Widescreen Patches - Aktifkan patch layar lebar - - - - Enables loading widescreen patches from pnach files. - Mengaftikan patch loading layar lebar dari file pnach. - - - - Enable No-Interlacing Patches - Aktifkan Patch No-Interlacing - - - - Enables loading no-interlacing patches from pnach files. - Aktifkan patch loading no-interlacing dari file pnach. - - - + Bilinear Upscaling Pembesaran gambar Bilinear - + Smooths out the image when upscaling the console to the screen. Menhaluskan gambar ketika upscaling dari konsole ke layar. - + Integer Upscaling Penskalaan Integer - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Menambahkan padding ke area tampilan untuk memastikan bahwa rasio antara piksel pada host dan piksel di konsol adalah bilangan bulat. Dapat menghasilkan gambar yang lebih tajam pada beberapa game 2D. - + Screen Offsets Offset Layar - + Enables PCRTC Offsets which position the screen as the game requests. Mengaktifkan fungsi Offset PCRTC untuk menyeimbangkan posisi layar sesuai permintaan game. - + Show Overscan Tampilkan Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Menampilkan area overscan di game yang me-render grafis lebih dari area aman layar. - + Anti-Blur Anti Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Mengaktifkan hack anti blur internal. Tidak akurat dengan render PS2 namun dapat membuat sebagian besar game tampak lebih jernih. - + Rendering Render - + Internal Resolution Resolusi Internal - + Multiplies the render resolution by the specified factor (upscaling). Mengalikan resolusi render dengan faktor yang ditentukan (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Filter Bilinear - + Selects where bilinear filtering is utilized when rendering textures. Memilih di mana pemfilteran bilinear digunakan ketika merender tekstur. - + Trilinear Filtering Filter Trilinear - + Selects where trilinear filtering is utilized when rendering textures. Memilih di mana pemfilteran trilinear digunakan ketika merender tekstur. - + Anisotropic Filtering Filter Anisotropis - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Memilih jenis dithering yang berlaku saat game memintanya. - + Blending Accuracy Akurasi Blending - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Menentukan tingkat akurasi saat mengemulasikan mode campuran yang tidak didukung oleh API grafis host. - + Texture Preloading Pramuat Tekstur - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Mengunggah tekstur secara penuh pada GPU yang digunakan, alih-alih menggunakan daerah yang digunakan. Dapat meningkatkan performa di beberapa permainan. - + Software Rendering Threads Thread Perender Software - + Number of threads to use in addition to the main GS thread for rasterization. Jumlah thread yang digunakan selain thread GS utama untuk rasterisasi. - + Auto Flush (Software) Flush Otomatis (Software) - + Force a primitive flush when a framebuffer is also an input texture. Paksa flush primitif ketika framebuffer juga merupakan tekstur input. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Memungkinkan emulasi anti-aliasing edge GS (AA1). - + Enables emulation of the GS's texture mipmapping. Mengaktifkan emulasi mipmapping tekstur GS. - + The selected input profile will be used for this game. Profil input yang dipilih akan digunakan untuk game ini. - + Shared Global - + Input Profile Profil Input - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Tampilkan UI untuk memilih save state saat berpindah slot, daripada hanya menampilkan notifikasi. + + + Shows the current PCSX2 version on the top-right corner of the display. Menampilkan versi PCSX2 saat ini di pojok kanan atas layar. - + Shows the currently active input recording status. Menampilkan status perekam input yang aktif saat ini. - + Shows the currently active video capture status. Menampikan status perekam video yang aktif saat ini. - + Shows a visual history of frame times in the upper-left corner of the display. Menampilkan riwayat visual dari frame times di sudut kiri atas di layar. - + Shows the current system hardware information on the OSD. Menampilkan informasi dari hardware saat ini pada OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Menyematkan thread untuk emulasi ke core CPU yang mungkin dapat meningkatkan performa / perbedaan frame time. - + + Enable Widescreen Patches + Aktifkan Patch Layar Lebar + + + + Enables loading widescreen patches from pnach files. + Mengaktifkan patch layar lebar dari file pnach. + + + + Enable No-Interlacing Patches + Aktifkan Patch No-Interlacing + + + + Enables loading no-interlacing patches from pnach files. + Mengaktifkan patch no-interlacing dari file pnach. + + + Hardware Fixes Perbaikan Hardware - + Manual Hardware Fixes Perbaikan Hardware secara manual - + Disables automatic hardware fixes, allowing you to set fixes manually. Menonaktifkan perbaikan otomatis hardware, sehingga Anda dapat mengatur perbaikan secara manual. - + CPU Sprite Render Size Ukuran Render Sprite CPU - + Uses software renderer to draw texture decompression-like sprites. Menggunakan perender software untuk gambar yang terlihat seperti untuk mendekompresi tekstur. - + CPU Sprite Render Level Tingkat Render Sprite CPU - + Determines filter level for CPU sprite render. Menentukan tingkat filter untuk render sprite CPU. - + Software CLUT Render Render CLUT Software - + Uses software renderer to draw texture CLUT points/sprites. Gunakan perender software untuk menggambar titik dan sprite yang memanfaatkan tekstur CLUT. - + Skip Draw Start Skipdraw Awal - + Object range to skip drawing. Rentang objek untuk skipdraw. - + Skip Draw End Skipdraw Akhir - + Auto Flush (Hardware) Flush Otomatis (Hardware) - + CPU Framebuffer Conversion Konversi CPU Framebuffer - + Disable Depth Conversion Nonaktifkan Konversi Depth - + Disable Safe Features Nonaktifkan Fitur Aman - + This option disables multiple safe features. Opsi ini menonaktifkan beberapa fitur aman. - + This option disables game-specific render fixes. Menonaktifkan perbaikan render per game. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Mengunggah data GS saat me-render frame baru untuk mereproduksi beberapa efek secara lebih akurat. - + Disable Partial Invalidation Nonaktifkan Invalidasi Parsial - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Menghapus antrian cache tekstur saat ada persimpangan, bukan hanya pada area persimpangan. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Memungkinkan cache tekstur untuk digunakan kembali sebagai tekstur input bagian dalam dari framebuffer sebelumnya. - + Read Targets When Closing Baca Target Saat Menutup - + Flushes all targets in the texture cache back to local memory when shutting down. Membuat semua target di cache tekstur di-flush kembali ke memori lokal saat mematikan. - + Estimate Texture Region Perkirakan Region Tekstur - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Mengupayakan pengurangan ukuran tekstur jika game tidak mengaturnya (mis. game dengan Snowblind engine). - + GPU Palette Conversion Konversi Palet GPU - + Upscaling Fixes Perbaikan Upscaling - + Adjusts vertices relative to upscaling. Menyesuaikan titik sudut relatif terhadap upscaling. - + Native Scaling Scaling Native - + Attempt to do rescaling at native resolution. Mencoba melakukan rescaling pada resolusi native. - + Round Sprite Sprite bundar - + Adjusts sprite coordinates. Menyesuaikan koordinat sprite. - + Bilinear Upscale Pembesaran Bilinear - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Dapat menghaluskan tekstur dengan di-filter secara bilinear saat upscaling. Mis. Efek sinar matahari di game Brave. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Sejajarkan Sprite - + Fixes issues with upscaling (vertical lines) in some games. Memperbaiki masalah upscaling (garis vertikal) di beberapa permainan. - + Merge Sprite Gabungkan Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Menggantikan beberapa sprite post-processing dengan satu sprite yang lebih besar. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Menurunkan presisi GS untuk menghindari celah antar piksel saat upscaling. Memperbaiki teks di seri game Wild Arms. - + Unscaled Palette Texture Draws Render Palet Tekstur Tidak Berskala - + Can fix some broken effects which rely on pixel perfect precision. Dapat memperbaiki sebagian efek yang rusak, yang mengandalkan presisi piksel yang sempurna. - + Texture Replacement Penggantian Tekstur - + Load Textures Muat Tekstur - + Loads replacement textures where available and user-provided. Memuat tekstur pengganti jika tersedia dan disediakan oleh pengguna. - + Asynchronous Texture Loading Pemuat Tekstur Asinkron - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Memuat tekstur pengganti pada thread pekerja, mengurangi microstutter apabila penggantian diaktifkan. - + Precache Replacements Prechache Penggantian Tekstur - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Memuat semua tekstur pengganti ke memori. Tidak diperlukan dengan pemuatan asinkron. - + Replacements Directory Direktori Penggantian - + Folders Folder - + Texture Dumping Dump Tekstur - + Dump Textures Dump Tekstur - + Dump Mipmaps Dump Mipmap - + Includes mipmaps when dumping textures. Masukkan mipmap saat dump tekstur. - + Dump FMV Textures Dump Tekstur FMV - + Allows texture dumping when FMVs are active. You should not enable this. Mengizinkan dump tekstur saat FMV aktif. Sebaiknya tidak usah mengaktifkan ini. - + Post-Processing Post Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Mengaktifkan shader post processing FXAA. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Aktifkan FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness Ketajaman CAS - + Determines the intensity the sharpening effect in CAS post-processing. Menentukan intensitas efek penajaman dalam post processing CAS. - + Filters Filter - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Memungkinkan penyesuaian kecerahan, kontras, dan saturasi. - + Shade Boost Brightness Kecerahan Shade Boost - + Adjusts brightness. 50 is normal. Menyesuaikan kecerahan. Normalnya 50. - + Shade Boost Contrast Kontras Shade Boost - + Adjusts contrast. 50 is normal. Menyesuaikan kontras. Normalnya 50. - + Shade Boost Saturation Saturasi Shade Boost - + Adjusts saturation. 50 is normal. Menyesuaikan saturasi. Normalnya 50. - + TV Shaders Shader TV - + Advanced Tingkat Lanjut - + Skip Presenting Duplicate Frames Lewati Menampilkan Frame Duplikat - + Extended Upscaling Multipliers Pengali Upscale Tambahan - + Displays additional, very high upscaling multipliers dependent on GPU capability. Menampilkan tambahan pengali upscale yang sangat tinggi yang bergantung dengan kapabilitas GPU Anda. - + Hardware Download Mode Mode Unduhan Hardware - + Changes synchronization behavior for GS downloads. Mengubah perilaku sinkronisasi untuk unduhan GS. - + Allow Exclusive Fullscreen Izinkan Mode Layar Penuh Eksklusif - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Mengambil alih heuristis driver untuk mengaktifkan layar penuh ekslusif, atau direct flip/scanout. - + Override Texture Barriers Timpa Barier Tekstur - + Forces texture barrier functionality to the specified value. Memaksakan fungsi penghalang tekstur ke nilai yang ditentukan. - + GS Dump Compression Kompresi GS Dump - + Sets the compression algorithm for GS dumps. Mengatur algoritma kompresi untuk dump GS. - + Disable Framebuffer Fetch Nonaktifkan Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Mencegah penggunaan framebuffer fetch bila didukung oleh GPU host. - + Disable Shader Cache Nonaktifkan Cache Shader - + Prevents the loading and saving of shaders/pipelines to disk. Mencegah pemuatan dan penyimpanan shader/pipeline ke disk. - + Disable Vertex Shader Expand Nonaktifkan Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Kembali ke CPU untuk memperluas sprite/baris. - + Changes when SPU samples are generated relative to system emulation. Mengubah kapan sampel SPU dihasilkan relatif terhadap emulasi sistem. - + %d ms %d ms - + Settings and Operations Pengaturan dan Pengoperasian - + Creates a new memory card file or folder. Membuat file atau folder memory card baru. - + Simulates a larger memory card by filtering saves only to the current game. Mensimulasikan Memory Card yang lebih besar dengan memfilter penyimpanan hanya untuk permainan saat ini saja. - + If not set, this card will be considered unplugged. Jika tidak di aktifkan, Memory Card ini akan dianggap tercabut. - + The selected memory card image will be used for this slot. Image Memory Card yang dipilih akan digunakan untuk slot ini. - + Enable/Disable the Player LED on DualSense controllers. Mengaktifkan/Menonaktifkan Player LED pada kontroler DualSense. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Mengaktifkan makro ketika tombol ditekan, bukan saat ditahan. - + Savestate Savestate - + Compression Method Metode Kompresi - + Sets the compression algorithm for savestate. Mengatur algoritma kompresi untuk savestate. - + Compression Level Level Kompresi - + Sets the compression level for savestate. Mengatur level kompresi untuk savestate. - + Version: %s Versi: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Agresif - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Rendah (Cepat) - + Medium (Recommended) Menengah (Direkomendasikan) - + Very High (Slow, Not Recommended) Sangat Tinggi (Lambat, Tidak Direkomendasikan) - + Change Selection Ubah Opsi Terpilih - + Select Pilih - + Parent Directory Direktori induk - + Enter Value Masukkan Nilai - + About Tentang - + Toggle Fullscreen Layar Penuh - + Navigate Navigasi - + Load Global State Muat Save State Global - + Change Page Ubah Halaman - + Return To Game Kembali Ke Permainan - + Select State Pilih Save State - + Select Game Pilih Game - + Change View Ubah Tampilan - + Launch Options Opsi Peluncuran - + Create Save State Backups Buat Backup Save State - + Show PCSX2 Version Tampilkan Versi PCSX2 - + Show Input Recording Status Tampilkan Status Perekam Input - + Show Video Capture Status Tampilkan Status Perekam Video - + Show Frame Times Tampilkan Frame Time - + Show Hardware Info Tampilkan Informasi Hardware - + Create Memory Card Buat Memory Card - + Configuration Konfigurasi - + Start Game Jalankan Game - + Launch a game from a file, disc, or starts the console without any disc inserted. - Memulai permainan dari berkas, kaset, atau memulai konsol tanpa ada kaset. + Jalankan game dari file, disk, atau memulai konsol tanpa memasukkan disk apa pun. - + Changes settings for the application. Ubah pengaturan dari aplikasi. - + Return to desktop mode, or exit the application. Kembali ke mode desktop atau keluar dari aplikasi. - + Back Kembali - + Return to the previous menu. Kembali ke menu sebelumnya. - + Exit PCSX2 Keluar dari PCSX2 - + Completely exits the application, returning you to your desktop. Keluar dari aplikasi sepenuhnya dan mengembalikan anda ke desktop. - + Desktop Mode Mode Desktop - + Exits Big Picture mode, returning to the desktop interface. Keluar dari mode Big Picture dan kembali ke antarmuka utama. - + Resets all configuration to defaults (including bindings). Mengatur ulang semua konfigurasi ke default (termasuk penetapan tombol). - + Replaces these settings with a previously saved input profile. Mengganti pengaturan ini dengan profil input yang disimpan sebelumnya. - + Stores the current settings to an input profile. Menyimpan pengaturan saat ini ke profil input. - + Input Sources Sumber Input - + The SDL input source supports most controllers. Sumber input SDL mendukung kebanyakan kontroler. - + Provides vibration and LED control support over Bluetooth. Menyediakan dukungan kontrol getaran dan LED melalui Bluetooth. - + Allow SDL to use raw access to input devices. Izinkan SDL menggunakan akses ke perangkat input. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Sumber XInput mendukung kontroler Xbox 360 / Xbox One / Xbox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Mengaktifkan tiga slot kontroler tambahan. Tidak didukung di semua game. - + Attempts to map the selected port to a chosen controller. Mencoba memetakan port yang dipilih ke kontroler yang dipilih. - + Determines how much pressure is simulated when macro is active. Menentukan berapa banyak tekanan yang disimulasikan ketika makro aktif. - + Determines the pressure required to activate the macro. Menentukan tekanan yang diperlukan untuk mengaktifkan makro. - + Toggle every %d frames Ubah setiap %d frame - + Clears all bindings for this USB controller. Hapus semua penetapan tombol untuk kontroler USB ini. - + Data Save Locations Lokasi Penyimpanan Data - + Show Advanced Settings Tampilkan Pengaturan Lanjutan - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Mengubah pengaturan berikut dapat menyebabkan game gagal berfungsi. Ubah pengaturan dengan risiko Anda sendiri, tim PCSX2 tidak akan memberikan dukungan untuk konfigurasi dengan perubahan pengaturan berikut. - + Logging Pencatatan Log - + System Console Konsol Sistem - + Writes log messages to the system console (console window/standard output). Menulis pesan log ke konsol sistem (jendela konsol/output standar). - + File Logging Logging File - + Writes log messages to emulog.txt. Menulis pesan log ke emulog.txt. - + Verbose Logging Logging Detail - + Writes dev log messages to log sinks. Menulis pesan log dev ke log sink. - + Log Timestamps Cap Waktu Log - + Writes timestamps alongside log messages. Menulis cap waktu di samping pesan log. - + EE Console Konsol EE - + Writes debug messages from the game's EE code to the console. Menulis pesan debug dari kode EE game ke konsol. - + IOP Console Konsol IOP - + Writes debug messages from the game's IOP code to the console. Menulis pesan debug dari kode IOP game ke konsol. - + CDVD Verbose Reads Pembacaan Detail CDVD - + Logs disc reads from games. - Mencatat bacaan kaset dari permainan. + Mencatat pembacaan disk yang dibaca dari game. - + Emotion Engine Emotion Engine - + Rounding Mode Mode Pembulatan - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Menentukan bagaimana hasil operasi floating-point dibulatkan. Beberapa game memerlukan pengaturan khusus. - + Division Rounding Mode Mode Pembulatan Pembagian - + Determines how the results of floating-point division is rounded. Some games need specific settings. Menentukan bagaimana hasil pembagian floating-point dibulatkan. Beberapa game memerlukan pengaturan khusus. - + Clamping Mode Mode Clamping - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Menentukan bagaimana angka floating point di luar jangkauan ditangani. Beberapa game memerlukan pengaturan khusus. - + Enable EE Recompiler Aktifkan EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Menjalankan penerjemahan binary yang tepat waktu dari kode mesin MIPS-IV 64-bit ke kode asli. - + Enable EE Cache Aktifkan Cache EE - + Enables simulation of the EE's cache. Slow. Mengaktifkan simulasi cache EE. Lambat. - + Enable INTC Spin Detection Aktifkan Deteksi Spin INTC - + Huge speedup for some games, with almost no compatibility side effects. Meningkatkan performa dengan sangat signifikan untuk sebagian game, dengan hampir tanpa efek samping terhadap kompatibilitas. - + Enable Wait Loop Detection Aktifkan Deteksi Wait Loop - + Moderate speedup for some games, with no known side effects. Meningkatkan performa untuk sebagian game, tanpa efek samping yang diketahui. - + Enable Fast Memory Access Aktifkan Akses Memori Cepat - + Uses backpatching to avoid register flushing on every memory access. Menggunakan backpatching untuk menghindari register flush pada setiap akses memori. - + Vector Units Vector Units - + VU0 Rounding Mode Mode Pembulatan VU0 - + VU0 Clamping Mode Mode Clamping VU0 - + VU1 Rounding Mode Mode Pembulatan VU1 - + VU1 Clamping Mode Mode Clamping VU1 - + Enable VU0 Recompiler (Micro Mode) Aktifkan Recompiler VU0 (Mode Mikro) - + New Vector Unit recompiler with much improved compatibility. Recommended. Vector Unit recompiler baru dengan kompabilitas yang lebih baik. Direkomendasikan. - + Enable VU1 Recompiler Aktifkan Recompiler VU1 - + Enable VU Flag Optimization Aktifkan Flag Optimisasi VU - + Good speedup and high compatibility, may cause graphical errors. Meningkatkan performa dan memiliki kompatibilitas tinggi, dapat menyebabkan error pada grafis. - + I/O Processor Prosesor I/O - + Enable IOP Recompiler Aktifkan IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Menjalankan penerjemahan kode binari yang tepat waktu dari kode mesin MIPS-I 32-bit ke kode asli. - + Graphics Grafis - + Use Debug Device Gunakan Perangkat Debug - + Settings Pengaturan - + No cheats are available for this game. Tidak ada cheat yang tersedia untuk game ini. - + Cheat Codes Kode Cheat - + No patches are available for this game. Tidak ada patch yang tersedia untuk game ini. - + Game Patches Patch Game - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Mengaktifkan cheat dapat menyebabkan perilaku yang tidak dapat diprediksi, crash, soft-lock, atau merusak save game. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Mengaktifkan cheat dapat menyebabkan perilaku yang tidak dapat diprediksi, crash, soft-lock, atau merusak save game. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Gunakan patch dengan risiko Anda sendiri, tim PCSX2 tidak akan memberikan dukungan bagi pengguna yang telah mengaktifkan patch game. - + Game Fixes Perbaikan Game - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Perbaikan game tidak seharusnya dimodifikasi kecuali Anda mengetahui apa fungsi dari setiap opsi dan implikasinya. - + FPU Multiply Hack Hack Perkalian FPU - + For Tales of Destiny. Untuk Tales of Destiny. - + Preload TLB Hack Pramuat Hack TLB - + Needed for some games with complex FMV rendering. Diperlukan untuk beberapa game dengan rendering FMV yang kompleks. - + Skip MPEG Hack Hack Lewati MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. Melompati video/FMV dalam game untuk menghindari game hang/macet. - + OPH Flag Hack Hack Flag OPH - + EE Timing Hack Hack Timing EE - + Instant DMA Hack Hack DMA Instan - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Diketahui mempengaruhi game-game berikut: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Untuk SOCOM 2 HUD dan Spy Hunter hang saat memuat. - + VU Add Hack Hack Add VU - + Full VU0 Synchronization Sinkronisasi Penuh VU0 - + Forces tight VU0 sync on every COP2 instruction. Memaksakan sinkronisasi VU0 yang ketat pada setiap instruksi COP2. - + VU Overflow Hack Hack Overflow VU - + To check for possible float overflows (Superman Returns). Untuk memeriksa kemungkinan float overflow (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Gunakan pengaturan waktu yang akurat untuk VU XGKicks (lebih lambat). - + Load State Muat Savestate - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Melewati siklus Emotion Engine yang diemulasikan. Membantu sebagian kecil game seperti SOTC. Namun dapat berdampak buruk pada performa di kebanyakan game. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Meningkatkan performa pada CPU dengan 4 core atau lebih. Aman untuk sebagian besar game, namun beberapa game tidak kompatibel dengan opsi ini dan mungkin akan hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Jalankan VU1 dengan instan. Dapat menambah performa di kebanyakan game. Aman untuk kebanyakan game, namun dapat menyebabkan error grafis di beberapa game. - + Disable the support of depth buffers in the texture cache. Nonaktifkan dukungan buffer kedalaman di cache tekstur. - + Disable Render Fixes Nonaktifkan Perbaikan Render - + Preload Frame Data Pramuat Data Frame - + Texture Inside RT Tekstur Dalam RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Jika diaktifkan, GPU akan mengonversi tekstur colormap, jika tidak diaktifkan, tekstur colormap akan dikonversi oleh CPU. Opsi ini memilih kompromi antara CPU dan GPU. - + Half Pixel Offset Offset Setengah Piksel - + Texture Offset X Offset Tekstur X - + Texture Offset Y Offset Tekstur Y - + Dumps replaceable textures to disk. Will reduce performance. Dump tekstur yang dapat diganti ke disk. Akan mengurangi performa. - + Applies a shader which replicates the visual effects of different styles of television set. Menerapkan shader yang mereplikasi efek visual dari berbagai jenis televisi. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Melewatkan tampilan frame yang tidak berubah dalam game 25/30fps. Dapat meningkatkan kecepatan tetapi meningkatkan jeda input/membuat frame pacing menjadi lebih buruk. - + Enables API-level validation of graphics commands. Mengaktifkan validasi tingkat API untuk perintah grafis. - + Use Software Renderer For FMVs Gunakan Perender Software untuk FMV - + To avoid TLB miss on Goemon. Untuk menghindari TLB Miss dalam Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Hack timing untuk berbagai tujuan. Diketahui dapat mempengaruhi game-game berikut ini: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Baik untuk masalah emulasi cache. Diketahui dapat mempengaruhi game-game berikut ini: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Diketahui dapat mempengaruhi game-game berikut: Bleach Blade Battles, Growlanser II dan III, Wizardry. - + Emulate GIF FIFO Emulasi GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Benar tetapi lebih lambat. Diketahui dapat mempengaruhi game-game berikut ini: FIFA Street 2. - + DMA Busy Hack Hack DMA Sibuk - + Delay VIF1 Stalls Mengundur VIF1 Stalls - + Emulate VIF FIFO Emulasi VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulasikan Readahead VIF1 FIFO. Diketahui dapat mempengaruhi game berikut ini: Test Drive Unlimited, Transformers. - + VU I Bit Hack Hack VU I Bit - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Menghindari rekompilasi yang konstan di beberapa game. Diketahui mempengaruhi game-game berikut ini: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Untuk Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync Sinkron VU - + Run behind. To avoid sync problems when reading or writing VU registers. Untuk menghindari masalah sinkronisasi saat membaca atau menulis register VU. - + VU XGKick Sync Sinkron VU XGKick - + Force Blit Internal FPS Detection Paksa Deteksi Blit FPS Internal - + Save State Simpan Savestate - + Load Resume State Muat Save State Lanjutan - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8018,2071 +8072,2076 @@ Do you want to load this save and continue? Apakah ingin Anda muatkan dan lanjutkan? - + Region: Region: - + Compatibility: Kompatibilitas: - + No Game Selected Tidak Ada Game yang Dipilih - + Search Directories Direktori Pencarian - + Adds a new directory to the game search list. Menambahkan direktori baru ke daftar pencarian game. - + Scanning Subdirectories Memindai subdirektori - + Not Scanning Subdirectories Tidak memindai subdirektori - + List Settings Pengaturan Daftar - + Sets which view the game list will open to. Mengatur tampilan mana yang akan digunakan untuk daftar game. - + Determines which field the game list will be sorted by. Menentukan field mana daftar permainan akan diurutkan. - + Reverses the game list sort order from the default (usually ascending to descending). Membalikkan urutan daftar game dari default (biasanya atas ke bawah). - + Cover Settings Pengaturan Sampul - + Downloads covers from a user-specified URL template. Mengunduh sampul dari URL yang ditentukan pengguna. - + Operations Tindakan - + Selects where anisotropic filtering is utilized when rendering textures. Memilih di mana pemfilteran anisotropis digunakan ketika merender tekstur. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Gunakan metode alternatif untuk menghitung FPS internal untuk menghindari pembacaan yang salah di beberapa game. - + Identifies any new files added to the game directories. Mengidentifikasi file baru yang ditambahkan ke direktori game. - + Forces a full rescan of all games previously identified. Memaksa pemindaian ulang penuh semua game yang telah diidentifikasi sebelumnya. - + Download Covers Unduh Sampul - + About PCSX2 Tentang PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 adalah sebuah emulator PlayStation 2 (PS2) yang bebas dan bersumber terbuka (open-source). Bertujuan untuk mengemulasikan perangkat keras PS2 menggunakan kombinasi dari Interpreter CPU MIPS, Recompiler, dan Mesin Virtual yang mengelola berbagai perangkat dan sistem memori dari PS2. Memungkinkan Anda untuk memainkan game PS2 di PC dengan banyak fitur tambahan. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 dan PS2 adalah merek dagang terdaftar dari Sony Interactive Entertainment. Aplikasi ini sama sekali tidak berafiliasi dengan Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Apabila diaktifkan dan telah masuk, PCSX2 akan memindai prestasi saat pengaktifan. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. Mode "tantangan" untuk prestasi dan pelacakan papan peringkat. Menonaktifkan fungsi save state, cheat, dan juga gerak lambat. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Menampilkan pesan popup untuk aktivitas seperti pencapaian prestasi dan peningkatan di papan peringkat. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Memainkan efek suara untuk aktivitas seperti pencapaian prestasi dan peningkatan di papan peringkat. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Menampilkan ikon indikator di pojok kanan bawah layar saat prestasi utama/tantangan sedang aktif. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Jika diaktifkan, PCSX2 akan menampilkan daftar prestasi dari set tidak resmi. Daftar prestasi tersebut tidak akan dilacak oleh RetroAchievements, dan akan terbuka setiap anda meraihnya. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Jika diaktifkan, PCSX2 akan menganggap semua prestasi terkunci dan tidak akan mengirimkan notifikasi pencapaian prestasi ke server RetroAchievements. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Menjeda emulator saat kontroler terputus. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Membuat backup save state lama dengan sufiks .backup saat menyimpan save state baru di slot yang sudah terisi - + Enable CDVD Precaching Pramuat Game Ke Memori Sistem - + Loads the disc image into RAM before starting the virtual machine. Memuat disc image ke RAM sebelum memulai mesin virtual. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sinkronisasi Ke Refresh Rate Host - + Use Host VSync Timing Gunakan Timing VSync Host - + Disables PCSX2's internal frame timing, and uses host vsync instead. Menonaktifkan pengaturan frame timing internal PCSX2, dan menggunakan host vsync sebagai gantinya. - + Disable Mailbox Presentation Nonaktifkan Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Paksakan penggunaan presentasi FIFO dari pada Mailbox, yaitu double buffering dari pada triple buffering. biasanya dapat menghasilkan frame pacing yang lebih buruk. - + Audio Control Kontrol Audio - + Controls the volume of the audio played on the host. Mengontrol volume audio yang diputar pada host. - + Fast Forward Volume Volume Maju Cepat - + Controls the volume of the audio played on the host when fast forwarding. Mengontrol volume audio yang diputar pada host ketika melakukan maju cepat. - + Mute All Sound Bisukan Semua Suara - + Prevents the emulator from producing any audible sound. Mencegah emulator membuat suara yang dapat didengar. - + Backend Settings Pengaturan Backend - + Audio Backend Backend Audio - + The audio backend determines how frames produced by the emulator are submitted to the host. Backend audio menentukan bagaimana suara yang dihasilkan oleh emulator akan dikirimkan ke host. - + Expansion Ekspansi - + Determines how audio is expanded from stereo to surround for supported games. Menentukan bagaimana audio diekspansi dari stereo ke surround untuk game yang didukung. - + Synchronization Sinkronisasi - + Buffer Size Ukuran Buffer - + Determines the amount of audio buffered before being pulled by the host API. Menentukan jumlah audio yang di-buffer sebelum ditarik oleh API host. - + Output Latency Latensi Output - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Menentukan berapa banyak latensi yang ada antara audio yang diambil oleh API host, dan diputar melalui speaker. - + Minimal Output Latency Latensi Output Minimal - + When enabled, the minimum supported output latency will be used for the host API. Apabila diaktifkan, latensi output minimum yang didukung akan digunakan untuk API host. - + Thread Pinning Penyematan Thread - + Force Even Sprite Position Paksakan Posisi Sprite Genap - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Menampilkan pesan popup ketika memulai, mengirimkan, atau gagal dalam tantangan papan peringkat. - + When enabled, each session will behave as if no achievements have been unlocked. Ketika diaktifkan, setiap sesi akan berperilaku seolah-olah tidak ada prestasi yang belum dibuka. - + Account Akun - + Logs out of RetroAchievements. Keluar dari RetroAchievements. - + Logs in to RetroAchievements. Masuk ke RetroAchievements. - + Current Game Game Saat Ini - + An error occurred while deleting empty game settings: {} Terjadi kesalahan saat menghapus pengaturan game yang kosong: {} - + An error occurred while saving game settings: {} Terjadi kesalahan saat menyimpan setelan game: {} - + {} is not a valid disc image. {} bukan disc image yang absah. - + Automatic mapping completed for {}. Penetapan tombol otomatis telah selesai untuk {}. - + Automatic mapping failed for {}. Penetapan tombol otomatis gagal untuk {}. - + Game settings initialized with global settings for '{}'. Pengaturan game diinisialisasi dengan pengaturan global untuk '{}'. - + Game settings have been cleared for '{}'. Pengaturan game telah dihapus untuk '{}'. - + {} (Current) {} (Saat Ini) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Gagal memuat '{}'. - + Input profile '{}' loaded. Profil input '{}' berhasil dimuat. - + Input profile '{}' saved. Profil input '{}' berhasil disimpan. - + Failed to save input profile '{}'. Gagal menyimpan profil input '{}'. - + Port {} Controller Type Port {} Tipe Kontroler - + Select Macro {} Binds Pilih Makro {} Penetapan Tombol - + Port {} Device Perangkat Port {} - + Port {} Subtype Subtipe Port {} - + {} unlabelled patch codes will automatically activate. {} kode patch yang tidak berlabel akan diaktifkan secara otomatis. - + {} unlabelled patch codes found but not enabled. - {} kode tambalan tanpa label ditemukan tapi tidak aktif. + {} kode patch yang tidak berlabel ditemukan tetapi tidak diaktifkan. - + This Session: {} Sesi Ini: {} - + All Time: {} Total Waktu: {} - + Save Slot {0} Slot Savestate {0} - + Saved {} Tersimpan pada {} - + {} does not exist. {} tidak ada. - + {} deleted. {} dihapus. - + Failed to delete {}. Gagal menghapus {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Lama Bermain: {} - + Last Played: {} Terakhir Dimainkan: {} - + Size: {:.2f} MB Ukuran: {:.2f} MB - + Left: Kiri: - + Top: Atas: - + Right: Kanan: - + Bottom: Bawah: - + Summary Ringkasan - + Interface Settings Pengaturan Antarmuka - + BIOS Settings Pengaturan BIOS - + Emulation Settings Pengaturan Emulasi - + Graphics Settings Pengaturan Grafis - + Audio Settings Pengaturan Audio - + Memory Card Settings Pengaturan Memory Card - + Controller Settings Pengaturan Kontroler - + Hotkey Settings Pengaturan Tombol Pintasan - + Achievements Settings Pengaturan Prestasi - + Folder Settings Pengaturan folder - + Advanced Settings Pengaturan Lanjutan - + Patches Patch - + Cheats Cheat - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed Kecepatan 50% - + 60% Speed Kecepatan 60% - + 75% Speed Kecepatan 75% - + 100% Speed (Default) Kecepatan 100% (Default) - + 130% Speed Kecepatan 130% - + 180% Speed Kecepatan 180% - + 300% Speed Kecepatan 300% - + Normal (Default) Normal (Default) - + Mild Underclock Underclock Ringan - + Moderate Underclock Underclock Sedang - + Maximum Underclock Underclock Maksimum - + Disabled Nonaktif - + 0 Frames (Hard Sync) 0 Frames (Sinkronisasi Keras) - + 1 Frame 1 Frame - + 2 Frames 2 Frame - + 3 Frames 3 Frame - + None Nonaktif - + Extra + Preserve Sign Ekstra + Pertahankan Simbol - + Full Penuh - + Extra Ekstra - + Automatic (Default) Otomatis (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Nonaktif - + Bilinear (Smooth) Bilinear (Halus) - + Bilinear (Sharp) Bilinear (Tajam) - + Weave (Top Field First, Sawtooth) Weave (Bidang Atas Terlebih Dahulu, Gerigi) - + Weave (Bottom Field First, Sawtooth) Weave (Bidang Bawah Terlebih Dahulu, Gerigi) - + Bob (Top Field First) Bob (Bidang Atas Lebih Dulu) - + Bob (Bottom Field First) Bob (Bidang Bawah Lebih Dulu) - + Blend (Top Field First, Half FPS) Blend (Bidang Atas Terlebih Dahulu, Setengah FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bidang Bawah Terlebih Dahulu, Setengah FPS) - + Adaptive (Top Field First) Adaptive (Bidang Atas Terlebih Dahulu) - + Adaptive (Bottom Field First) Adaptive (Bidang Bawah Terlebih Dahulu) - + Native (PS2) Native (PS2) - + Nearest Terdekat - + Bilinear (Forced) Bilinear (Paksa) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Paksa tanpa sprite) - + Off (None) Nonaktif (Tidak Ada) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Paksa) - + Scaled Berskala - + Unscaled (Default) Tidak Berskala (Default) - + Minimum Minimum - + Basic (Recommended) Dasar (Disarankan) - + Medium Menengah - + High Tinggi - + Full (Slow) Penuh (Lambat) - + Maximum (Very Slow) Maksimum (Sangat Lambat) - + Off (Default) Nonaktif (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Sebagian - + Full (Hash Cache) Penuh (Hash Cache) - + Force Disabled Paksa Nonaktifkan - + Force Enabled Paksa Aktifkan - + Accurate (Recommended) Akurat (Disarankan) - + Disable Readbacks (Synchronize GS Thread) Nonaktifkan Readback (Sinkronisasi Thread GS) - + Unsynchronized (Non-Deterministic) Tidak Disinkronisasi (Non Deterministik) - + Disabled (Ignore Transfers) Nonaktif (Abaikan Transfer) - + Screen Resolution Resolusi Layar - + Internal Resolution (Aspect Uncorrected) - Resolusi Internal (Rasio Aspek Diabaikan) + Resolusi Internal (Tanpa Koreksi Aspek Rasio) - + Load/Save State Muat/Simpan Save State - + WARNING: Memory Card Busy PERINGATAN: Memory Card Sedang Digunakan - + Cannot show details for games which were not scanned in the game list. Tidak dapat menampilkan detail untuk game yang tidak dipindai dalam daftar game. - + Pause On Controller Disconnection Jeda Jika Kontroler Terputus - + + Use Save State Selector + Gunakan Pemilih Save State + + + SDL DualSense Player LED SDL LED Player DualSense - + Press To Toggle Tekan Untuk Aktifkan - + Deadzone Deadzone - + Full Boot Boot Penuh - + Achievement Notifications Pemberitahuan Prestasi - + Leaderboard Notifications Tampilkan Pemberitahuan Papan Peringkat - + Enable In-Game Overlays Aktifkan Overlay Dalam Game - + Encore Mode Mode Encore - + Spectator Mode Mode Penonton - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Konversikan framebuffer 4-bit dan 8-bit di CPU daripada di GPU. - + Removes the current card from the slot. Mencabut Memory Card saat ini dari slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Menentukan seberapa sering makro akan mengaktifkan dan menonaktifkan tombol (auto fire). - + {} Frames {} Frame - + No Deinterlacing Tanpa Deinterlace - + Force 32bit Paksa 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Nonaktif) - + 1 (64 Max Width) 1 (64 Lebar Maksimal) - + 2 (128 Max Width) 2 (128 Lebar Maksimal) - + 3 (192 Max Width) 3 (192 Lebar Maksimal) - + 4 (256 Max Width) 4 (256 Lebar Maksimal) - + 5 (320 Max Width) 5 (320 Lebar Maksimal) - + 6 (384 Max Width) 6 (384 Lebar Maksimal) - + 7 (448 Max Width) 7 (448 Lebar Maksimal) - + 8 (512 Max Width) 8 (512 Lebar Maksimal) - + 9 (576 Max Width) 9 (576 Lebar Maksimal) - + 10 (640 Max Width) 10 (640 Lebar Maksimal) - + Sprites Only Hanya Sprite - + Sprites/Triangles Sprite/Segitiga - + Blended Sprites/Triangles Sprite Campuran/Segitiga - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Agresif) - + Inside Target Di Dalam Target - + Merge Targets Gabungkan Target - + Normal (Vertex) Normal (Verteks) - + Special (Texture) Spesial (Tekstur) - + Special (Texture - Aggressive) Spesial (Tekstur - Agresif) - + Align To Native Sesuaikan Dengan Native - + Half Setengah - + Force Bilinear Paksa Bilinear - + Force Nearest Paksa Terdekat - + Disabled (Default) Nonaktif (Default) - + Enabled (Sprites Only) Aktif (Hanya Sprite) - + Enabled (All Primitives) Aktif (Semua Primitif) - + None (Default) Nonaktif (Default) - + Sharpen Only (Internal Resolution) Hanya Pertajam (Resolusi Internal) - + Sharpen and Resize (Display Resolution) Pertajam dan Ubah Ukuran (Resolusi Layar) - + Scanline Filter Filter Scanline - + Diagonal Filter Filter Diagonal - + Triangular Filter Filter Triangular - + Wave Filter Filter Gelombang - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Tidak Dikompres - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negatif - + Positive Positif - + Chop/Zero (Default) Chop / Zero (Default) - + Game Grid Tampilan Kisi - + Game List Daftar Game - + Game List Settings Pengaturan Daftar Game - + Type Tipe - + Serial Serial - + Title Judul - + File Title Judul File - + CRC CRC - + Time Played Lama Bermain - + Last Played Terakhir Dimainkan - + Size Ukuran - + Select Disc Image - Pilih Disc Image + Pilih Image Disk - + Select Disc Drive - Pilih Disc Drive + Pilih Drive Disk - + Start File Jalankan File - + Start BIOS Jalankan BIOS - + Start Disc Jalankan Disk - + Exit Keluar - + Set Input Binding Atur Input Penetapan Tombol - + Region Region - + Compatibility Rating Peringkat Kompatibilitas - + Path Lokasi - + Disc Path Lokasi Disk - + Select Disc Path Pilih Lokasi Disk - + Copy Settings Salin Pengaturan - + Clear Settings Hapus Pengaturan - + Inhibit Screensaver Nonaktifkan Screensaver - + Enable Discord Presence Aktifkan Discord Rich Presence - + Pause On Start Pause Saat Memulai Game - + Pause On Focus Loss Pause Saat Jendela Tidak Dalam Fokus - + Pause On Menu Pause Saat Membuka Menu - + Confirm Shutdown Konfirmasi Matikan - + Save State On Shutdown Simpan Save State Saat Mematikan - + Use Light Theme Gunakan Tema Terang - + Start Fullscreen Mulai Dengan Mode Layar Penuh - + Double-Click Toggles Fullscreen Layar Penuh Dengan Klik Ganda - + Hide Cursor In Fullscreen Sembunyikan Kursor di Mode Layar Penuh - + OSD Scale Skala OSD - + Show Messages Tampilkan Pesan - + Show Speed Tampilkan Kecepatan - + Show FPS Tampilkan FPS - + Show CPU Usage Tampilkan Penggunaan CPU - + Show GPU Usage Tampilkan Penggunaan GPU - + Show Resolution Tampilkan Resolusi - + Show GS Statistics Tampilkan Statistik GS - + Show Status Indicators Tampilkan Indikator Status - + Show Settings Tampilkan Pengaturan - + Show Inputs Tampilkan Tekan Tombol - + Warn About Unsafe Settings Peringatkan Tentang Pengaturan Tidak Aman - + Reset Settings Atur Ulang Pengaturan - + Change Search Directory Ganti Direktori Pencarian - + Fast Boot Boot Cepat - + Output Volume Volume Keluaran - + Memory Card Directory Direktori Memory Card - + Folder Memory Card Filter Filter Memory Card Folder - + Create Buat Baru - + Cancel Batalkan - + Load Profile Muat Profil - + Save Profile Simpan profil - + Enable SDL Input Source Aktifkan Sumber Input SDL - + SDL DualShock 4 / DualSense Enhanced Mode Mode Enhanced DualShock 4 / DualSense SDL - + SDL Raw Input Input Raw SDL - + Enable XInput Input Source Aktifkan Sumber Input XInput - + Enable Console Port 1 Multitap Aktifkan Port Konsol 1 Multitap - + Enable Console Port 2 Multitap Aktifkan Port Konsol 2 Multitap - + Controller Port {}{} Port Kontroler {}{} - + Controller Port {} Port Kontroler {} - + Controller Type Tipe Kontroler - + Automatic Mapping Penetapan Tombol Otomatis - + Controller Port {}{} Macros Makro Kontroler Port {}{} - + Controller Port {} Macros Makro Kontroler Port {} - + Macro Button {} Tombol Makro {} - + Buttons Tombol - + Frequency Frekuensi - + Pressure Tekanan - + Controller Port {}{} Settings Pengaturan Port Konroller {}{} - + Controller Port {} Settings Pengaturan Port Konroller {} - + USB Port {} Port USB {} - + Device Type Jenis Perangkat - + Device Subtype Subtipe Perangkat - + {} Bindings {} Penetapan Tombol - + Clear Bindings Bersihkan Penetapan Tombol - + {} Settings {} Pengaturan - + Cache Directory Direktori Cache - + Covers Directory Direktori Sampul - + Snapshots Directory Direktori Snapshot - + Save States Directory Direktori Save State - + Game Settings Directory Direktorin Pengaturan Game - + Input Profile Directory Direktori Profil Input - + Cheats Directory Direktori Cheat - + Patches Directory Direktori Patch - + Texture Replacements Directory Direktori Penggantian Tekstur - + Video Dumping Directory Direktori Dump Video - + Resume Game Lanjutkan Game - + Toggle Frame Limit Pembatas Frame - + Game Properties Pengaturan Game - + Achievements Prestasi - + Save Screenshot Simpan Tangkapan Layar - + Switch To Software Renderer Beralih ke Perender Software - + Switch To Hardware Renderer Beralih ke Perender Hardware - + Change Disc - Ubah Kaset + Ganti Disk - + Close Game Tutup Game - + Exit Without Saving Tutup Tanpa Membuat Save State - + Back To Pause Menu Kembali ke Menu Pause - + Exit And Save State Tutup dan Buat Save State - + Leaderboards Papan Peringkat - + Delete Save Hapus Save - + Close Menu Tutup Menu - + Delete State Hapus State - + Default Boot Boot Default - + Reset Play Time Reset Waktu Permainan - + Add Search Directory Tambah Direktori Pencarian - + Open in File Browser Buka di Penjelajah File - + Disable Subdirectory Scanning Nonaktifkan Pemindaian Subdirektori - + Enable Subdirectory Scanning Aktifkan Pemindaian Subdirektori - + Remove From List Hapus Dari Daftar - + Default View Tampilan Default - + Sort By Urutkan Berdasarkan - + Sort Reversed Urutkan Terbalik - + Scan For New Games Pindai Game Baru - + Rescan All Games Pindai Ulang Semua Game - + Website Situs Web - + Support Forums Forum Dukungan - + GitHub Repository Repositori GitHub - + License Lisensi - + Close Tutup - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration digunakan sebagai pengganti implementasi prestasi bawaan. - + Enable Achievements Aktifkan Prestasi - + Hardcore Mode Mode Hardcore - + Sound Effects Efek Suara - + Test Unofficial Achievements Uji Coba Prestasi Tidak Resmi - + Username: {} Nama Pengguna: {} - + Login token generated on {} Token masuk dibuat pada {} - + Logout Keluar - + Not Logged In Belum Masuk - + Login Masuk - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence tidak aktif atau tidak didukung. - + Game not loaded or no RetroAchievements available. Tidak ada game yang berjalan atau tidak ada RetroAchievements yang tersedia. - + Card Enabled Memory Card Diaktifkan - + Card Name Nama Memory Card - + Eject Card Keluarkan Memory Card @@ -10213,7 +10272,7 @@ PCSX2 di beberapa GPU. Untuk menggunakan perender Vulkan, Anda harus menghapus p You should update all graphics drivers in your system, including any integrated GPUs to use the Vulkan renderer. Perender Vulkan dipilih otomatis, tapi tidak ditemukan perangkat yang kompatibel. - Perbarui semua pengandar grafis di sistem Anda, termasuk GPU terpadu yang ada + Perbarui semua driver GPU di sistem Anda, termasuk GPU bawaan yang ada untuk menggunakan perender Vulkan. @@ -10294,7 +10353,7 @@ Harap periksa dokumentasi resmi kami untuk informasi lebih lanjut. Aborted {} due to encoding error in '{}'. - Berhenti {} karena galat enkode di '{}'. + Membatalkan {} karena kesalahan enkode pada '{}'. @@ -11068,32 +11127,42 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa Patch apa pun yang dibundel dengan PCSX2 untuk game ini akan dinonaktifkan karena Anda memuat patch yang tidak berlabel. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Patch layar lebar saat ini <span style=" font-weight:600;">DIAKTIFKAN</span> secara global.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Patch no-interlacing saat ini <span style=" font-weight:600;">DIAKTIFKAN</span> secara global.</p></body></html> + + + All CRCs Tampilkan Semua CRC - + Reload Patches Muat Ulang Patch - + Show Patches For All CRCs Tampilkan Patch Untuk Semua CRC - + Checked Dicentang - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Mengaktifkan pemindaian file patch untuk semua CRC game. Dengan mengaktifkan ini, patch yang tersedia untuk serial game dengan CRC yang berbeda juga akan dimuat. - + There are no patches available for this game. Tidak ada patch yang tersedia untuk game ini. @@ -11569,11 +11638,11 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa - - - - - + + + + + Off (Default) Nonaktif (Default) @@ -11583,10 +11652,10 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa - - - - + + + + Automatic (Default) Otomatis (Default) @@ -11653,7 +11722,7 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Halus) @@ -11719,29 +11788,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Offset Layar - + Show Overscan Tampilkan Overscan - - - Enable Widescreen Patches - Aktifkan Patch Layar Lebar - - - - Enable No-Interlacing Patches - Aktifkan Patch No-Interlacing - - + Anti-Blur Anti Blur @@ -11752,7 +11811,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Nonaktifkan Offset Interlace @@ -11762,18 +11821,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Ukuran Tangkapan Layar: - + Screen Resolution Resolusi Layar - + Internal Resolution Resolusi Internal - + PNG PNG @@ -11825,7 +11884,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11872,7 +11931,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Tidak Berskala (Default) @@ -11888,7 +11947,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Dasar (Disarankan) @@ -11924,7 +11983,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Penuh (Hash Cache) @@ -11940,31 +11999,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Nonaktifkan Emulasi Depth - + GPU Palette Conversion Konversi Palet GPU - + Manual Hardware Renderer Fixes Perbaikan Perender Hardware Manual - + Spin GPU During Readbacks Jaga GPU Siaga Saat Readback - + Spin CPU During Readbacks Jaga CPU Siaga Saat Readback @@ -11976,15 +12035,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Flush Otomatis @@ -12012,8 +12071,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Nonaktif) @@ -12070,18 +12129,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Nonaktifkan Fitur Aman - + Preload Frame Data Pramuat Data Frame - + Texture Inside RT Tekstur Dalam RT @@ -12180,13 +12239,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Gabungkan Sprite - + Align Sprite Sejajarkan Sprite @@ -12200,16 +12259,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Tanpa Deinterlace - - - Apply Widescreen Patches - Terapkan patch layar lebar - - - - Apply No-Interlacing Patches - Terapkan Patch No-Interlacing - Window Resolution (Aspect Corrected) @@ -12282,25 +12331,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Nonaktifkan Invalidasi Sumber Parsial - + Read Targets When Closing Baca Target Saat Menutup - + Estimate Texture Region Perkirakan Region Tekstur - + Disable Render Fixes Nonaktifkan Perbaikan Render @@ -12311,7 +12360,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Render Palet Tekstur Tidak Berskala @@ -12370,25 +12419,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Tekstur - + Dump Mipmaps Dump Mipmap - + Dump FMV Textures Dump Tekstur FMV - + Load Textures Muat Tekstur @@ -12398,6 +12447,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Terapkan Patch Layar Lebar + + + + Apply No-Interlacing Patches + Terapkan Patch No-Interlacing + Native Scaling @@ -12415,13 +12474,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Paksakan Posisi Sprite Genap - + Precache Textures Pramuat Tekstur @@ -12444,8 +12503,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Nonaktif (Default) @@ -12466,7 +12525,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12518,7 +12577,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12533,7 +12592,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontras: - + Saturation Saturasi @@ -12554,50 +12613,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Tampilkan Indikator - + Show Resolution Tampilkan Resolusi - + Show Inputs Tampilkan Input - + Show GPU Usage Tampilkan Penggunaan GPU - + Show Settings Tampilkan Pengaturan - + Show FPS Tampilkan FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Nonaktifkan Mailbox Presentation - + Extended Upscaling Multipliers Pengali Upscale Tambahan @@ -12613,13 +12672,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Tampilkan Statistik - + Asynchronous Texture Loading Pemuat Tekstur Asinkron @@ -12630,13 +12689,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Tampilkan Penggunaan CPU - + Warn About Unsafe Settings Peringatkan Tentang Pengaturan Tidak Aman @@ -12658,58 +12717,58 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne OSD Messages Position: - Posisi Pesan OSD: + Posisi OSD Pesan: - + Left (Default) Kiri (Default) OSD Performance Position: - Posisi Kinerja OSD: + Posisi OSD Performa: - + Right (Default) Kanan (Default) - + Show Frame Times Tampilkan Frame Time - + Show PCSX2 Version Tampilkan Versi PCSX2 - + Show Hardware Info Tampilkan Informasi Hardware - + Show Input Recording Status Tampilkan Status Perekam Input - + Show Video Capture Status Tampilkan Status Perekam Video - + Show VPS Tampilkan VPS @@ -12818,19 +12877,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Lewati Menampilkan Frame Duplikat - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12883,7 +12942,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Tampilkan Persentase Kecepatan @@ -12893,1214 +12952,1214 @@ Swap chain: see Microsoft's Terminology Portal. Nonaktifkan Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x - 16x - - - - - - - Use Global Setting [%1] - Gunakan Pengaturan Global [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 16x + + + + + + + Use Global Setting [%1] + Gunakan Pengaturan Global [%1] + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Tidak Dicentang - + + Enable Widescreen Patches + Aktifkan Patch Layar Lebar + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Secara otomatis, memuat dan menerapkan patch layar lebar saat game dimulai. Dapat menimbulkan masalah pada game. - + + Enable No-Interlacing Patches + Aktifkan Patch No-Interlacing + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Secara otomatis, memuat dan menerapkan patch no-interlacing saat game dimulai. Dapat menimbulkan masalah pada game. - + Disables interlacing offset which may reduce blurring in some situations. Menonaktifkan offset interlacing, dapat mengurangi blur di beberapa situasi. - + Bilinear Filtering Filter Bilinear - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Mengaktifkan filter post processing bilinear. Menghaluskan kualitas gambar yang terpancar di layar. Mengoreksi posisi antar piksel. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Mengaktifkan fungsi Offset PCRTC untuk menyeimbangkan posisi layar sesuai permintaan game. Berguna untuk beberapa game, misalnya untuk efek layar bergoyang di WipEout Fusion. Namun opsi ini dapat membuat grafis menjadi buram. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Menampilkan area overscan di game yang me-render grafis lebih dari area aman layar. - + FMV Aspect Ratio Override Timpa Rasio Aspek FMV - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Menentukan metode deinterlacing yang akan digunakan pada layar interlace konsol yang diemulasi. Otomatis seharusnya dapat mendeinterlace sebagian besar game dengan benar, tetapi jika Anda melihat grafik yang terlihat bergetar, cobalah memilih salah satu opsi yang tersedia. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Kontrol level akurasi emulasi unit blending.<br> Semakin tinggi pengaturannya, semakin akurat emulasi blending di shader, dan semakin berat emulasinya.<br> Kapabilitas blending di Direct3D tidak sebaik OpenGL/Vulkan. - + Software Rendering Threads Thread Perender Software - + CPU Sprite Render Size Ukuran Render Sprite CPU - + Software CLUT Render Render CLUT Software - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Mencoba mendeteksi ketika game menggambar palet warnanya sendiri dan kemudian merendernya pada GPU dengan penanganan khusus. - + This option disables game-specific render fixes. Menonaktifkan perbaikan render per game. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Secara default, cache tekstur mengendalikan invalidasi parsial. Sayangnya, komputasi ini sangat membebankan CPU. Hack ini mengganti invalidasi parsial dengan penghapusan tekstur seluruhnya untuk mengurangi load CPU. Membantu game dengan engine Snowblind. - + Framebuffer Conversion Konversi Framebuffer - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Konversikan framebuffer 4-bit dan 8-bit kepada CPU alih-alih GPU. Berguna untuk game Harry Potter dan Stuntman. Berdampak besar pada performa. - - + + Disabled Nonaktif - - Remove Unsupported Settings - Hapus Pengaturan Yang Tidak Didukung - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Saat ini Anda memiliki opsi <strong>Aktifkan Patch Layar Lebar</strong> atau <strong>Aktifkan Patch No-Interlacing</strong> yang diaktifkan untuk game ini. Kami tidak lagi mendukung opsi-opsi ini, sebagai gantinya <strong>Anda harus memilih bagian "Patches", dan secara eksplisit mengaktifkan patch yang Anda inginkan.</strong><br><br>Apakah Anda ingin menghapus opsi-opsi ini dari konfigurasi game Anda sekarang? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Menimpa rasio aspek FMV (video gerak penuh). Jika nonaktif, Rasio Aspek FMV akan disamakan dengan nilai di pengaturan Rasio Aspek umum. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Mengaktifkan mipmapping, yang diperlukan beberapa game agar dapat dirender dengan benar. Mipmapping menggunakan varian tekstur dengan resolusi yang semakin rendah pada jarak yang semakin jauh untuk mengurangi beban pemrosesan dan menghindari artefak visual. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Mengubah algoritma filtering yang digunakan untuk memetakan tekstur ke permukaan.<br> Terdekat: Tidak berupaya untuk memadukan warna.<br> Bilinear (Paksa): Akan memadukan warna bersama-sama untuk menghilangkan tepi tajam antara piksel berwarna berbeda bahkan jika game tersebut memberi tahu PS2 untuk tidak melakukannya.<br> Bilinear (PS2): Akan menerapkan filtering ke semua permukaan yang diperintahkan game untuk difilter oleh PS2.<br> Bilinear (Paksa tanpa sprite): Akan menerapkan filtering ke semua permukaan, bahkan jika game tersebut memberi tahu PS2 untuk tidak melakukannya, kecuali sprite. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Mengurangi blur tekstur besar yang diterapkan pada permukaan kecil dengan sudut tajam dengan mengambil sampel warna dari dua Mipmap terdekat. Mipmapping harus dalam keadaan 'aktif'.<br> Nonaktif: Menonaktifkan fitur.<br> Trilinear (PS2): Menerapkan filtering Trilinear ke semua permukaan yang diperintahkan oleh game kepada PS2.<br> Trilinear (Paksa): Menerapkan filtering Trilinear ke semua permukaan, meskipun game tersebut meminta PS2 untuk tidak melakukannya. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Mengurangi banding di antara warna dan meningkatkan kedalaman warna yang terlihat.<br> Nonaktif: Menonaktifkan semua dithering.<br> Berskala: Mendukung peningkatan skala / Efek dithering tertinggi.<br> Tidak Berskala: Dithering Asli / Efek dithering terendah tidak meningkatkan ukuran kotak saat peningkatan skala.<br> Paksa 32bit: Perlakukan semua draw seolah-olah 32bit untuk menghindari banding dan dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Melakukan tugas tidak berguna di CPU saat readback untuk mencegah CPU masuk ke mode hemat daya. Dapat meningkatkan performa saat melakukan readback namun meningkatkan penggunaan daya secara signifikan. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Mengirimkan tugas tidak berguna di GPU saat readback untuk mencegah GPU masuk ke mode hemat daya. Dapat meningkatkan performa saat melakukan readback namun meningkatkan penggunaan daya secara signifikan. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Jumlah thread untuk rendering: 0 untuk thread tunggal, 2 atau lebih untuk multithread (1 untuk debugging). Direkomendasikan 2 hingga 4 thread, lebih dari itu kemungkinan akan mengurangi performa, bukan meningkatkannya. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Nonaktifkan dukungan buffer depth dalam cache tekstur. Kemungkinan akan menimbulkan berbagai gangguan grafis dan hanya berguna untuk debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Mengizinkan cache tekstur untuk digunakan kembali sebagai tekstur input di bagian dalam framebuffer sebelumnya. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Membuat semua target di cache tekstur di-flush kembali ke memori lokal saat mematikan. Dapat mencegah hilangnya visual saat menyimpan save state atau mengubah perender, namun dapat menyebabkan kerusakan grafis. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Mengupayakan pengurangan ukuran tekstur jika game tidak mengaturnya (mis. game dengan Snowblind engine). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Memperbaiki masalah upscaling (garis vertikal) di game Namco seperti Ace Combat, Tekken, Soul Calibur, dsb. - + Dumps replaceable textures to disk. Will reduce performance. Dump tekstur yang dapat diganti ke disk. Akan mengurangi performa. - + Includes mipmaps when dumping textures. Masukkan mipmap saat dump tekstur. - + Allows texture dumping when FMVs are active. You should not enable this. Mengizinkan dump tekstur saat FMV aktif. Anda sebaiknya tidak mengaktifkan ini. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Memuat tekstur pengganti pada thread pekerja, mengurangi microstutter apabila penggantian diaktifkan. - + Loads replacement textures where available and user-provided. Memuat tekstur pengganti jika tersedia dan disediakan oleh pengguna. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Memuat semua tekstur pengganti ke memori. Tidak diperlukan dengan pemuatan asinkron. - + Enables FidelityFX Contrast Adaptive Sharpening. Aktifkan FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Menentukan intensitas efek penajaman dalam post processing CAS. - + Adjusts brightness. 50 is normal. Menyesuaikan kecerahan. Normalnya 50. - + Adjusts contrast. 50 is normal. Menyesuaikan kontras. Normalnya 50. - + Adjusts saturation. 50 is normal. Menyesuaikan saturasi. Normalnya 50. - + Scales the size of the onscreen OSD from 50% to 500%. Mengubah skala OSD dari 50% hingga 500%. - + OSD Messages Position Posisi Pesan OSD - + OSD Statistics Position Posisi Statistik OSD - + Shows a variety of on-screen performance data points as selected by the user. Menampilkan berbagai titik data performa di layar seperti yang dipilih oleh pengguna. - + Shows the vsync rate of the emulator in the top-right corner of the display. Menunjukkan tingkat vsync emulator di sudut kanan atas layar. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Menampilkan ikon indikator untuk status emulasi seperti Pause, Turbo, Maju Cepat, dan Gerak Lambat. - + Displays various settings and the current values of those settings, useful for debugging. Menampilkan berbagai macam pengaturan dan nilai dari pengaturan tersebut, berguna untuk debugging. - + Displays a graph showing the average frametimes. Menampilkan grafik frametime rata-rata. - + Shows the current system hardware information on the OSD. Menampilkan informasi dari hardware saat ini pada OSD. - + Video Codec Kodek Video - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Tentukan Kodek Video yang akan digunakan untuk Perekam Video. <b>Jika tidak yakin, biarkan pada pengaturan default.<b> - + Video Format Format Video - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Memilih Format Video yang akan digunakan untuk Perekam Video. Jika yang dipilih codec tidak mendukung format tersebut, format pertama yang tersedia akan digunakan. <b>Jika tidak yakin, biarkan pada pengaturan default.<b> - + Video Bitrate Bitrate Video - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Menentukan jumlah bitrate video yang akan digunakan. Bitrate yang lebih besar umumnya menghasilkan kualitas video yang lebih baik dengan mengorbankan ukuran file yang lebih besar. - + Automatic Resolution Resolusi Otomatis - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Ketika diaktifkan, resolusi pengambilan video akan mengikuti resolusi internal game yang sedang berjalan.<br><br><b>Berhati-hatilah ketika menggunakan pengaturan ini, terutama ketika Anda melakukan upscale, karena resolusi internal yang lebih tinggi (di atas 4x) dapat menghasilkan ukuran pengambilan video yang sangat besar dan dapat menyebabkan beban berlebih pada sistem.</b> - + Enable Extra Video Arguments Aktifkan Argumen Video Ekstra - + Allows you to pass arguments to the selected video codec. Memungkinkan Anda meneruskan argumen ke codec video yang dipilih. - + Extra Video Arguments Argumen Video Tambahan - + Audio Codec Kodek Audio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Tentukan Kodek Audio yang akan digunakan untuk Perekam Video. <b>Jika tidak yakin, biarkan pada pengaturan default.<b> - + Audio Bitrate Bitrate Audio - + Enable Extra Audio Arguments Aktifkan Argumen Audio Ekstra - + Allows you to pass arguments to the selected audio codec. Memungkinkan Anda meneruskan argumen ke codec audio yang dipilih. - + Extra Audio Arguments Argumen Audio Ekstra - + Allow Exclusive Fullscreen Izinkan Mode Layar Penuh Eksklusif - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Mengambil alih heuristis driver untuk mengaktifkan layar penuh ekslusif, atau direct flip/scanout.<br>Melarang layar penuh ekslusif dapat menghaluskan overlay dan penggantian jendela, namun dapat meningkatkan latensi input. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Dicentang - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Mengaktifkan hack anti blur internal. Tidak akurat dengan render PS2 namun dapat membuat sebagian besar game tampak lebih jernih. - + Integer Scaling Penskalaan Integer - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Menambahkan padding ke area tampilan untuk memastikan bahwa rasio antara piksel pada host dan piksel di konsol adalah bilangan bulat. Dapat menghasilkan gambar yang lebih tajam pada beberapa game 2D. - + Aspect Ratio Rasio Aspek - + Auto Standard (4:3/3:2 Progressive) Standar Otomatis (4:3 Interlaced / 3:2 Progresif) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Mengubah rasio aspek untuk keluaran konsol ke layar. Opsi bawaannya Standar Otomatis (4:3/3:2 Progresif) yang menyesuaikan rasio layar agar mirip dengan tampilan permainan di TV khas pada zamannya. - + Deinterlacing Deinterlacing - + Screenshot Size Ukuran Tangkapan Layar - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Menentukan resolusi tangkapan layar akan disimpan. Resolusi internal memiliki detail paling baik namun ukuran file-nya lebih besar. - + Screenshot Format Format Tangkapan Layar - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Memilih format tangkapan layar. JPEG menghasilkan file yang lebih kecil, namun mengorbankan detail. - + Screenshot Quality Kualitas Tangkapan Layar - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Memilih kualitas tangkapan layar yang akan dikompresi. Nilai yang lebih tinggi mempertahankan lebih banyak detail untuk JPEG, dan mengurangi ukuran file untuk PNG. - - + + 100% 100% - + Vertical Stretch Regangan Vertikal - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Meregangkan (&lt; 100%) atau menyusutkan (&gt; 100%) komponen vertikal layar. - + Fullscreen Mode Mode Layar Penuh - - - + + + Borderless Fullscreen Layar Penuh Borderless - + Chooses the fullscreen resolution and frequency. Memilih frekuensi dan resolusi mode layar penuh. - + Left Kiri - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Mengubah jumlah piksel yang dipangkas dari sisi kiri layar. - + Top Atas - + Changes the number of pixels cropped from the top of the display. Mengubah jumlah piksel yang dipangkas dari sisi atas layar. - + Right Kanan - + Changes the number of pixels cropped from the right side of the display. Mengubah jumlah piksel yang dipangkas dari sisi kanan layar. - + Bottom Bawah - + Changes the number of pixels cropped from the bottom of the display. Mengubah jumlah piksel yang dipangkas dari sisi bawah layar. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Mengontrol resolusi yang digunakan untuk me-render game. Resolusi tinggi dapat memengaruhi kinerja pada GPU yang lebih tua atau yang lebih lemah.<br>Resolusi selain native dapat menyebabkan masalah grafis kecil pada beberapa game.<br>Resolusi FMV tidak akan berubah karena file video telah di-render sebelumnya. - + Texture Filtering Filter Tekstur - + Trilinear Filtering Filter Trilinear - + Anisotropic Filtering Filter Anisotropis - + Reduces texture aliasing at extreme viewing angles. Mengurangi alias tekstur pada sudut pandang ekstrim. - + Dithering Dithering - + Blending Accuracy Akurasi Blending - + Texture Preloading Pramuat Tekstur - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Mengunggah keseluruhan tekstur bersamaan alih-alih dalam potongan kecil, mengurangi unggahan yang tidak diperlukan saat memungkinkan. Meningkatkan performa di kebanyakan game, namun dapat membuat sebagian kecil game lebih lambat. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Jika diaktifkan, GPU akan mengonversi tekstur colormap, jika tidak diaktifkan, tekstur colormap akan dikonversi oleh CPU. Opsi ini memilih kompromi antara CPU dan GPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Mengaktifkan opsi ini memungkinkan Anda untuk mengganti perbaikan render dan upscaling untuk game Anda. JIKA opsi ini DIAKTIFKAN, PENGATURAN OTOMATIS AKAN DINONAKTIFKAN dan Anda dapat mengaktifkannya kembali dengan menghapus centang opsi ini. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Memaksa flush primitif jika framebuffer juga berperan sebagai tekstur input. Memperbaiki beberapa efek processing seperti bayangan di seri Jak dan radiositas di GTA:SA. - + Enables mipmapping, which some games require to render correctly. Mengaktifkan mipmapping, dibutuhkan beberapa game untuk me-render dengan benar. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. Target maksimum lebar memori yang memungkinkan CPU Sprite Renderer dapat diaktifkan. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Mencoba mendeteksi ketika game menggambar palet warnanya sendiri dan kemudian merendernya di perangkat lunak, bukan di GPU. - + GPU Target CLUT Target CLUT GPU - + Skipdraw Range Start Awal Jangkauan Skipdraw - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Sepenuhnya melewati render permukaan dari permukaan di kotak kiri hingga permukaan yang ditentukan di kotak sebelah kanan. - + Skipdraw Range End Akhir Jangkauan Skipdraw - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Menonaktifkan beberapa fitur aman. Menonaktifkan render titik dan garis tidak berskala yang akurat yang dapat membantu game Xenosaga. Menonaktifkan pembersihan memori GS yang akurat pada GPU alih-alih CPU, yang dapat membantu game Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Mengunggah data GS saat me-render frame baru untuk mereproduksi beberapa efek secara lebih akurat. - + Half Pixel Offset Offset Setengah Piksel - + Might fix some misaligned fog, bloom, or blend effect. Dapat memperbaiki beberapa efek kabut, bloom, atau blend yang tidak selaras. - + Round Sprite Bulatkan Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Mengoreksi pengambilan sampel tekstur sprite 2D saat upscaling. Memperbaiki garis dalam sprite seperti di game Ar tonelico saat upscaling. Opsi Setengah untuk sprite datar, Penuh untuk semua sprite. - + Texture Offsets X Offset Tekstur X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset untuk koordinat tekstur ST/UV. Memperbaiki beberapa masalah tekstur dan dapat memperbaiki efek post processing yang tidak selaras. - + Texture Offsets Y Offset Tekstur Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Menurunkan presisi GS untuk menghindari celah antar piksel saat upscaling. Memperbaiki teks di seri game Wild Arms. - + Bilinear Upscale Upscale Bilinear - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Dapat menghaluskan tekstur dengan di-filter secara bilinear saat upscaling. Mis. Efek sinar matahari di game Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Mengganti beberapa sprite paving post processing dengan satu sprite gemuk. Mengurangi garis yang dapat muncul di beberapa game saat upscaling. - + Force palette texture draws to render at native resolution. Memaksa gambar tekstur palet untuk dirender pada resolusi native. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Ketajaman - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Memungkinkan penyesuaian saturasi, kontras, dan kecerahan. Secara default, nilai kecerahan, saturasi, dan kontras adalah 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Terapkan algoritma anti alias FXAA untuk meningkatkan kualitas visual game. - + Brightness Kecerahan - - - + + + 50 50 - + Contrast Kontras - + TV Shader Shader TV - + Applies a shader which replicates the visual effects of different styles of television set. Menerapkan shader yang mereplikasi efek visual dari berbagai jenis televisi. - + OSD Scale Skala OSD - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Menampilkan pesan pada layar seperti notifikasi save state yang sedang dibuat/dimuat, tangkapan layar yang sedang diambil, dsb. - + Shows the internal frame rate of the game in the top-right corner of the display. Menampilkan frame rate internal game di pojok kanan atas layar. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Menampilkan kecepatan emulasi sistem saat ini pada pojok kanan atas layar dengan persentase. - + Shows the resolution of the game in the top-right corner of the display. Menampilkan resolusi game di pojok kanan atas layar. - + Shows host's CPU utilization. Menampilkan penggunaan CPU host. - + Shows host's GPU utilization. Menampilkan penggunaan GPU host. - + Shows counters for internal graphical utilization, useful for debugging. Menampilkan penghitung untuk penggunaan grafis internal, berguna untuk debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Menampilkan status kontroler sistem saat ini di sudut kiri bawah layar. - + Shows the current PCSX2 version on the top-right corner of the display. Menampilkan versi PCSX2 saat ini di pojok kanan atas layar. - + Shows the currently active video capture status. Menampikan status perekam video yang aktif saat ini. - + Shows the currently active input recording status. Menampilkan status perekam input yang aktif saat ini. - + Displays warnings when settings are enabled which may break games. Menampilkan peringatan jika ada pengaturan aktif yang dapat memengaruhi stabilitas game. - - + + Leave It Blank Biarkan Kosong - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameter yang akan diteruskan ke codec video yang dipilih.<br><b>Anda harus menggunakan '=' untuk memisahkan nama dari nilai dan ':' untuk memisahkan dua pasangan satu sama lain.</b><br>Sebagai contoh: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Mengatur bitrate audio yang akan digunakan. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameter yang akan diteruskan ke codec audio yang dipilih.<br><b>Anda harus menggunakan '=' untuk memisahkan nama dari nilai dan ':' untuk memisahkan dua pasangan satu sama lain.</b><br>Sebagai contoh: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression Kompresi GS Dump - + Change the compression algorithm used when creating a GS dump. Ubah algoritma kompresi GS Dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Menggunakan model presentasi blit alih-alih flipping saat menggunakan perender Direct3D 11. Umumnya mengurangi performa, namun opsi ini mungkin dibutuhkan untuk aplikasi streaming, atau untuk menghilangkan batas frame rate di beberapa sistem. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Mendeteksi saat frame diam sedang ditampilkan di game 25/30 FPS dan melewati menampilkan frame-frame diam tersebut. Framenya tetap di-render, namun GPU kini memiliki lebih banyak waktu untuk menyelesaikannya (TIDAK sama dengan frame skipping). Dapat menghaluskan fluktuasi frame time saat CPU/GPU hampir sepenuhnya dipakai, namun membuat frame pacing lebih inkonsisten dan dapat menambah input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Menampilkan tambahan pengali upscale yang sangat tinggi yang bergantung dengan kapabilitas GPU Anda. - + Enable Debug Device Aktifkan Perangkat Debug - + Enables API-level validation of graphics commands. Mengaktifkan validasi tingkat API untuk perintah grafis. - + GS Download Mode Mode Unduhan GS - + Accurate Akurat - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Melewati sinkronisasi thread GS dan GPU host untuk unduhan GS. Dapat meningkatkan performa secara signifikan pada sistem yang lambat dengan mengorbankan banyak efek grafis. Jika game Anda mengalami eror grafis dan Anda mengaktifkan opsi ini, harap nonaktifkan opsi ini. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Paksakan penggunaan presentasi FIFO dari pada Mailbox, yaitu double buffering dari pada triple buffering. biasanya dapat menghasilkan frame pacing yang lebih buruk. @@ -14108,7 +14167,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14325,254 +14384,254 @@ Swap chain: see Microsoft's Terminology Portal. Save state tidak ditemukan di slot {}. - - - + + - - - - + + + + - + + System Sistem - + Open Pause Menu Buka Menu Pause - + Open Achievements List Buka Daftar Prestasi - + Open Leaderboards List Buka Daftar Papan Peringkat - + Toggle Pause Pause - + Toggle Fullscreen Layar Penuh - + Toggle Frame Limit Pembatas Frame - + Toggle Turbo / Fast Forward Turbo / Maju Cepat - + Toggle Slow Motion Gerak Lambat - + Turbo / Fast Forward (Hold) Turbo / Maju Cepat (Tekan) - + Increase Target Speed Tingkatkan Kecepatan Target - + Decrease Target Speed Turunkan Kecepatan Target - + Increase Volume Tingkatkan Volume - + Decrease Volume Turunkan Volume - + Toggle Mute Bisukan/Bunyikan Audio - + Frame Advance Maju Satu Frame - + Shut Down Virtual Machine Matikan Mesin Virtual - + Reset Virtual Machine Reset Mesin Virtual - + Toggle Input Recording Mode Mode Rekaman Input - - + + Save States Save State - + Select Previous Save Slot Pilih Slot Save Sebelumnya - + Select Next Save Slot Pilih Slot Save Selanjutnya - + Save State To Selected Slot Simpan Save State Ke Slot Yang Dipilih - + Load State From Selected Slot Muat Save State Dari Slot Yang Dipilih - + Save State and Select Next Slot Simpan Save State dan Pilih Slot Selanjutnya - + Select Next Slot and Save State Pilih Slot Berikutnya dan Simpan Save State - + Save State To Slot 1 Simpan Save State Ke Slot 1 - + Load State From Slot 1 Muat Save State Dari Slot 1 - + Save State To Slot 2 Simpan Save State Ke Slot 2 - + Load State From Slot 2 Muat Save State Dari Slot 2 - + Save State To Slot 3 Simpan Save State Ke Slot 3 - + Load State From Slot 3 Muat Save State Dari Slot 3 - + Save State To Slot 4 Simpan Save State Ke Slot 4 - + Load State From Slot 4 Muat Save State Dari Slot 4 - + Save State To Slot 5 Simpan Save State Ke Slot 5 - + Load State From Slot 5 Muat Save State Dari Slot 5 - + Save State To Slot 6 Simpan Save State Ke Slot 6 - + Load State From Slot 6 Muat Save State Dari Slot 6 - + Save State To Slot 7 Simpan Save State Ke Slot 7 - + Load State From Slot 7 Muat Save State Dari Slot 7 - + Save State To Slot 8 Simpan Save State Ke Slot 8 - + Load State From Slot 8 Muat Save State Dari Slot 8 - + Save State To Slot 9 Simpan Save State Ke Slot 9 - + Load State From Slot 9 Muat Save State Dari Slot 9 - + Save State To Slot 10 Simpan Save State Ke Slot 10 - + Load State From Slot 10 Muat Save State Dari Slot 10 @@ -14771,7 +14830,7 @@ Klik kanan untuk membersihkan penetapan tombol Started new input recording - Mulai baru rekam tekan tombol + Memulai sesi perekam input baru @@ -14786,12 +14845,12 @@ Klik kanan untuk membersihkan penetapan tombol Replaying input recording - Putar ulang rekaman tekan tombol + Putar ulang rekaman perekam input Input recording stopped - Rekam tekan tombol berhenti + Perekam Input Dihentikan @@ -14811,12 +14870,12 @@ Klik kanan untuk membersihkan penetapan tombol Record Mode Enabled - Mode Rekam Diaktifkan + Mode Perekam Diaktifkan Replay Mode Enabled - Mode Putar Ulang Diaktifkan + Mode Putar Ulang Perekam Input Diaktifkan @@ -15449,594 +15508,608 @@ Klik kanan untuk membersihkan penetapan tombol &Sistem - - - + + Change Disc - Ubah Kaset + Ubah Disk - - + Load State Muat Save State - - Save State - Simpan Save State - - - + S&ettings P&engaturan - + &Help &Bantuan - + &Debug &Debug - - Switch Renderer - Ubah Perender - - - + &View &Tampilan - + &Window Size &Ukuran Jendela - + &Tools &Peralatan - - Input Recording - Perekam Input - - - + Toolbar Toolbar - + Start &File... Jalankan &File... - - Start &Disc... - Jalankan &Kaset... - - - + Start &BIOS Jalankan &BIOS - + &Scan For New Games &Pindai Untuk Game Baru - + &Rescan All Games &Pindai Ulang Semua Game - + Shut &Down &Matikan - + Shut Down &Without Saving Matikan &Tanpa Menyimpan Save State - + &Reset &Reset - + &Pause &Pause - + E&xit K&eluar - + &BIOS &BIOS - - Emulation - Emulasi - - - + &Controllers &Kontroler - + &Hotkeys Tombol &Pintasan - + &Graphics &Grafis - - A&chievements - &Prestasi - - - + &Post-Processing Settings... Pengaturan &Post Processing... - - Fullscreen - Layar Penuh - - - + Resolution Scale Skala Resolusi - + &GitHub Repository... &Repositori GitHub... - + Support &Forums... &Forum Dukungan... - + &Discord Server... &Server Discord... - + Check for &Updates... Periksa &Update... - + About &Qt... Tentang &Qt... - + &About PCSX2... &Tentang PCSX2... - + Fullscreen In Toolbar Layar Penuh - + Change Disc... In Toolbar - Ubah Kaset... + Ganti Disk... - + &Audio &Audio - - Game List - Daftar Game - - - - Interface - Antarmuka + + Global State + Status Global - - Add Game Directory... - Tambah Direktori Game... + + &Screenshot + &Tangkap Layar - - &Settings - &Pengaturan + + Start File + In Toolbar + Jalankan File - - From File... - Dari File... + + &Change Disc + &Ganti Disk - - From Device... - Dari Perangkat... + + &Load State + &Muat Savestate - - From Game List... - Dari Daftar Game... + + Sa&ve State + &Simpan Savestate - - Remove Disc - Lepas Kaset + + Setti&ngs + Setela&n - - Global State - Status Global + + &Switch Renderer + &Ubah Perender - - &Screenshot - &Tangkap Layar + + &Input Recording + Perekam &Input - - Start File - In Toolbar - Jalankan File + + Start D&isc... + Jalankan &Disk... - + Start Disc In Toolbar - Jalankan Kaset + Jalankan Disk - + Start BIOS In Toolbar Jalankan BIOS - + Shut Down In Toolbar Matikan - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Muat Savestate - + Save State In Toolbar Simpan Savestate - + + &Emulation + &Emulasi + + + Controllers In Toolbar Kontroler - + + Achie&vements + &Prestasi + + + + &Fullscreen + &Layar Penuh + + + + &Interface + &Antarmuka + + + + Add Game &Directory... + Tambah &Direktori Game... + + + Settings In Toolbar Pengaturan - + + &From File... + Dari &File... + + + + From &Device... + Dari &Perangkat... + + + + From &Game List... + Dari &Daftar Game... + + + + &Remove Disc + &Keluarkan Disk + + + Screenshot In Toolbar Tangkap Layar - + &Memory Cards &Memory Card - + &Network && HDD &Jaringan && HDD - + &Folders &Folder - + &Toolbar &Toolbar - - Lock Toolbar - Kunci Toolbar + + Show Titl&es (Grid View) + Tampilkan &Judul (Tampilan Kisi) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Buka Direktori Data... - - Verbose Status - Detail Status + + &Toggle Software Rendering + &Ubah Perender Software - - Game &List - &Daftar Game + + &Open Debugger + Buka &Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - &Tampilan Sistem + + &Reload Cheats/Patches + &Muat Ulang Cheat/Patch - - Game &Properties - &Pengaturan Game + + E&nable System Console + Aktifkan Konsol &Sistem - - Game &Grid - Tampilan &Kisi + + Enable &Debug Console + Aktifkan &Konsol Debug - - Show Titles (Grid View) - Tampilkan Judul (Tampilan Kisi) + + Enable &Log Window + Aktifkan Tampilan &Log - - Zoom &In (Grid View) - Per&besar Tampilan (Tampilan Kisi) + + Enable &Verbose Logging + Aktifkan Logging &Detail - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Aktifkan Logging &EE Konsol - - Zoom &Out (Grid View) - Per&kecil Tampilan (Tampilan Kisi) + + Enable &IOP Console Logging + Aktifkan Logging &IOP Konsol - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Simpan Satu Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Sampul (Tampilan Kisi) + + &New + This section refers to the Input Recording submenu. + &Baru - - Open Memory Card Directory... - Buka Direktori Memory Card... + + &Play + This section refers to the Input Recording submenu. + &Mainkan - - Open Data Directory... - Buka Direktori Data... + + &Stop + This section refers to the Input Recording submenu. + &Hentikan - - Toggle Software Rendering - Ubah Perender Software + + &Controller Logs + Log &Kontroler - - Open Debugger - Buka Debugger + + &Input Recording Logs + Log R&ekaman Input - - Reload Cheats/Patches - Muat Ulang Cheat/Patch + + Enable &CDVD Read Logging + Aktifkan Log Baca C&DVD - - Enable System Console - Aktifkan Konsol Sistem + + Save CDVD &Block Dump + Simpan Dump &Block CDVD - - Enable Debug Console - Aktifkan Konsol Debug + + &Enable Log Timestamps + Aktifkan Cap &Waktu Log - - Enable Log Window - Aktifkan Tampilan Log + + Start Big Picture &Mode + Mulai Mode &Big Picture - - Enable Verbose Logging - Aktifkan Logging Detail + + &Cover Downloader... + Pengunduh &Sampul... - - Enable EE Console Logging - Aktifkan Logging EE Konsol + + &Show Advanced Settings + &Tampilkan Pengaturan Lanjutan - - Enable IOP Console Logging - Aktifkan Logging IOP Konsol + + &Recording Viewer + Penampil &Rekaman - - Save Single Frame GS Dump - Simpan GS Dump Frame Tunggal + + &Video Capture + Perekam &Video - - New - This section refers to the Input Recording submenu. - Baru + + &Edit Cheats... + Ubah &Cheat... - - Play - This section refers to the Input Recording submenu. - Mainkan + + Edit &Patches... + Ubah &Patch... - - Stop - This section refers to the Input Recording submenu. - Berhenti + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Pengaturan + + + Game &List + &Daftar Game - - - Input Recording Logs - Log Rekaman Input + + Loc&k Toolbar + &Kunci Toolbar - - Controller Logs - Log Kontroler + + &Verbose Status + &Detail Status - - Enable &File Logging - Aktifkan Logging &File + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + &Tampilan Sistem + + + + Game &Properties + &Pengaturan Game + + + + Game &Grid + Tampilan &Kisi + + + + Zoom &In (Grid View) + Per&besar Tampilan (Tampilan Kisi) - - Enable CDVD Read Logging - Aktifkan Log Baca CDVD + + Ctrl++ + Ctrl++ - - Save CDVD Block Dump - Simpan Dump Block CDVD + + Zoom &Out (Grid View) + Per&kecil Tampilan (Tampilan Kisi) - - Enable Log Timestamps - Aktifkan Cap Waktu Log + + Ctrl+- + Ctrl+- - - + + Refresh &Covers (Grid View) + Refresh &Sampul (Tampilan Kisi) + + + + Open Memory Card Directory... + Buka Direktori Memory Card... + + + + Input Recording Logs + Log Rekaman Input + + + + Enable &File Logging + Aktifkan Logging &File + + + Start Big Picture Mode Mulai Mode Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Pengunduh Sampul... - - - - + Show Advanced Settings Tampilkan Pengaturan Lanjutan - - Recording Viewer - Penampil Rekaman - - - - + Video Capture Perekam Video - - Edit Cheats... - Ubah Cheat... - - - - Edit Patches... - Ubah Patch... - - - + Internal Resolution Resolusi Internal - + %1x Scale Skala %1x - + Select location to save block dump: Pilih lokasi untuk menyimpan dump block: - + Do not show again Jangan tampilkan lagi - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16049,297 +16122,297 @@ Tim PCSX2 tidak akan memberi dukungan dalam bentuk apapun untuk konfigurasi yang Apakah Anda ingin melanjutkan? - + %1 Files (*.%2) %1 File (*.%2) - + WARNING: Memory Card Busy PERINGATAN: Memory Card Sedang Digunakan - + Confirm Shutdown Konfirmasi Matikan - + Are you sure you want to shut down the virtual machine? Apakah Anda yakin ingin mematikan mesin virtual? - + Save State For Resume Simpan Save State Untuk Dilanjutkan Lain Waktu - - - - - - + + + + + + Error Error - + You must select a disc to change discs. - Harus pilih kaset untuk mengubah kaset. + Anda harus memilih suatu disk untuk mengganti disk. - + Properties... Pengaturan Game... - + Set Cover Image... Pasang Gambar Sampul... - + Exclude From List Hapus Dari Daftar Game - + Reset Play Time Reset Waktu Total Bermain - + Check Wiki Page Buka Halaman Wiki - + Default Boot Boot Default - + Fast Boot Boot Cepat - + Full Boot Boot Penuh - + Boot and Debug Boot dan Debug - + Add Search Directory... Tambah Direktori Pencarian... - + Start File Jalankan File - + Start Disc - Jalankan Kaset + Jalankan Disk - + Select Disc Image - Pilih Disc Image + Pilih Image Disk - + Updater Error Update Bermasalah - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Maaf, Anda mencoba memperbarui versi PCSX2 yang bukan dirilis resmi dari GitHub. Untuk mencegah ketidakcocokan, update otomatis hanya diaktifkan pada versi resmi. Untuk mendapatkan versi resmi, silakan unduh dari tautan di bawah ini:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Update otomatis tidak didukung pada platform ini. - + Confirm File Creation Konfirmasi Pembuatan File - + The pnach file '%1' does not currently exist. Do you want to create it? File pnach '%1' saat ini tidak ada. Apakah Anda ingin membuatnya? - + Failed to create '%1'. Gagal membuat '%1'. - + Theme Change Ganti Tema - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Mengubah tema akan menutup jendela debugger. Semua data yang belum disimpan akan hilang. Apakah Anda ingin melanjutkan? - + Input Recording Failed Perekam Input Gagal - + Failed to create file: {} Gagal membuat file: {} - + Input Recording Files (*.p2m2) File Rekaman Input (*.p2m2) - + Input Playback Failed Pemutaran Input Gagal - + Failed to open file: {} Gagal membuka file: {} - + Paused Pause - + Load State Failed Gagal Memuat Save State - + Cannot load a save state without a running VM. Tidak dapat memuat Save State tanpa mesin virtual yang sedang berjalan. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? ELF baru tidak dapat dimuat tanpa mereset ulang mesin virtual. Apakah Anda ingin mereset ulang mesin virtual sekarang? - + Cannot change from game to GS dump without shutting down first. Tidak dapat mengubah dari game ke GS dump tanpa mematikan game terlebih dahulu. - + Failed to get window info from widget Gagal mendapat info jendela dari widget - + Stop Big Picture Mode Hentikan Mode Big Picture - + Exit Big Picture In Toolbar Keluar Big Picture - + Game Properties Pengaturan Game - + Game properties is unavailable for the current game. Pengaturan game tidak tersedia untuk game ini. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Perangkat CD/DVD-ROM tidak ditemukan. Pastikan drive CD/DVD Anda telah terhubung dan memiliki izin akses yang memadai. - + Select disc drive: - Pilih disc drive: + Pilih drive disk: - + This save state does not exist. Save state ini tidak ada. - + Select Cover Image Pilih Gambar Sampul - + Cover Already Exists Sampul Sudah Ada - + A cover image for this game already exists, do you wish to replace it? Gambar sampul untuk game ini sudah ada, apakah Anda ingin menggantinya? - + + - Copy Error Salin Error - + Failed to remove existing cover '%1' Gagal menghapus sampul '%1' - + Failed to copy '%1' to '%2' Gagal menyalin '%1' ke '%2' - + Failed to remove '%1' Gagal menghapus '%1' - - + + Confirm Reset Konfirmasi Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Semua Jenis Gambar Sampul (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Anda harus memilih file yang berbeda dengan gambar sampul saat ini. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16348,12 +16421,12 @@ This action cannot be undone. Aksi ini tidak dapat dibatalkan. - + Load Resume State Muat Save State Lanjutan - + A resume save state was found for this game, saved at: %1. @@ -16366,89 +16439,89 @@ Do you want to load this state, or start from a fresh boot? Apakah Anda ingin memuat save state ini, atau memulai dari boot baru? - + Fresh Boot Boot Baru - + Delete And Boot Hapus dan Boot Baru - + Failed to delete save state file '%1'. Gagal menghapus file save state '%1'. - + Load State File... Muat File Save State... - + Load From File... Muat Dari file... - - + + Select Save State File Pilih File Save State - + Save States (*.p2s) Save State (*.p2s) - + Delete Save States... Hapus Save State... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Semua Tipe File (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Semua Tipe File (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> PERINGATAN: Memory Card Anda sedang menulis data. Menghentikan game Anda sekarang <b>AKAN MENGHANCURKAN MEMORY CARD</b> Anda secara permanen. Sangat disarankan untuk melanjutkan game Anda dan membiarkannya selesai menulis ke Memory Card Anda.<br><br><b><b>Apakah Anda ingin menghentikan game dan <b>MENGHANCURKAN MEMORY CARD</b> Anda secara permanen? - + Save States (*.p2s *.p2s.backup) Save State (*.p2s *.p2s.backup) - + Undo Load State Batalkan Pemuatan Save State - + Resume (%2) Lanjutkan (%2) - + Load Slot %1 (%2) Muat Slot %1 (%2) - - + + Delete Save States Hapus Save State - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16457,42 +16530,42 @@ The saves will not be recoverable. Save State tidak akan dapat dipulihkan. - + %1 save states deleted. %1 save state dihapus. - + Save To File... Simpan Ke file... - + Empty Kosong - + Save Slot %1 (%2) Simpan Slot %1 (%2) - + Confirm Disc Change - Konfirmasi Ubah Kaset + Konfirmasi Penggantian Disk - + Do you want to swap discs or boot the new image (via system reset)? - Apakah ingin mengganti kaset atau memulai yang baru (lewat atur ulang reset sistem)? + Apakah Anda ingin mengganti disk atau boot file image baru (via reset sistem)? - + Swap Disc - Ganti Kaset + Ganti Disk - + Reset Reset @@ -16515,25 +16588,25 @@ Save State tidak akan dapat dipulihkan. MemoryCard - - + + Memory Card Creation Failed Gagal Membuat Memory Card - + Could not create the memory card: {} Tidak dapat membuat memory card: {} - + Memory Card Read Failed Gagal Membaca Memory Card - + Unable to access memory card: {} @@ -16551,28 +16624,33 @@ Tutup semua PCSX2 lainnya yang berjalan, atau restart komputer Anda. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' berhasil disimpan. - + Failed to create memory card. The error was: {} Gagal membuat kartu memori. Errornya adalah: {} - + Memory Cards reinserted. Memory Card berhasil dimasukkan ulang. - + Force ejecting all Memory Cards. Reinserting in 1 second. Mengeluarkan paksa semua Memory Card. Memasukkan kembali dalam 1 detik. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + Konsol virtual belum menyimpan data ke Memory Card Anda selama beberapa waktu. Savestate tidak boleh digunakan sebagai pengganti penyimpanan dalam game. + MemoryCardConvertDialog @@ -17244,7 +17322,7 @@ Tindakan ini tidak dapat dibatalkan, dan Anda akan kehilangan semua save data pa %0 results found - ketemu %0 hasil + Ditemukan %0 hasil @@ -17365,7 +17443,7 @@ Tindakan ini tidak dapat dibatalkan, dan Anda akan kehilangan semua save data pa Go To In Memory View - + Cannot Go To Cannot Go To @@ -18205,12 +18283,12 @@ Mengeluarkan {3} dan menggantinya dengan {2}. Patch - + Failed to open {}. Built-in game patches are not available. Gagal membuka {}. Patch game bawaan tidak tersedia. - + %n GameDB patches are active. OSD Message @@ -18218,7 +18296,7 @@ Mengeluarkan {3} dan menggantinya dengan {2}. - + %n game patches are active. OSD Message @@ -18226,7 +18304,7 @@ Mengeluarkan {3} dan menggantinya dengan {2}. - + %n cheat patches are active. OSD Message @@ -18234,7 +18312,7 @@ Mengeluarkan {3} dan menggantinya dengan {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Tidak ada cheat atau tambalan (layar lebar, kompatibilitas, atau lainnya) yang aktif / ketemu. @@ -18335,47 +18413,47 @@ Mengeluarkan {3} dan menggantinya dengan {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Masuk sebagai %1 (%2 poin, softcore: %3 poin). %4 pesan belum dibaca. - - + + Error Error - + An error occurred while deleting empty game settings: {} Terjadi kesalahan saat menghapus pengaturan game yang kosong: {} - + An error occurred while saving game settings: {} Terjadi kesalahan saat menyimpan setelan game: {} - + Controller {} connected. Kontroler {} terhubung. - + System paused because controller {} was disconnected. Sistem dijeda karena kontroler {} terputus. - + Controller {} disconnected. Kontroler {} terputus. - + Cancel Batalkan @@ -18508,7 +18586,7 @@ Mengeluarkan {3} dan menggantinya dengan {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18640,7 +18718,7 @@ Apakah Anda ingin membuat direktori ini? <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. - <strong>Ringkasan</strong><hr>Halaman ini berisi rincian permainan yang dipilih. Mengubah Profil Masukan akan menetapkan atur tombol kontroler permainan ini ke profil mana pun yang dipilih, alih-alih konfigurasi bawaan (Global). Daftar track dan verifikasi dump digunakan untuk menentukan kecocokan kaset dengan dump terverifikasi. Jika tidak cocok, permainan mungkin bermasalah. + <strong>Ringkasan</strong><hr>Halaman ini menampilkan ringkasan tentang game yang dipilih. Mengubah Profil Input akan mengatur skema penetapan tombol kontroler untuk game ini ke profil mana pun yang dipilih, alih-alih konfigurasi default (Global). Daftar trek dan verifikasi dump dapat digunakan untuk menentukan apakah image disk Anda cocok dengan dump yang telah terverifikasi. Jika tidak cocok, game mungkin akan bermasalah. @@ -18761,7 +18839,7 @@ Apakah Anda ingin membuat direktori ini? Are you sure you want to restore the default settings? Any existing preferences will be lost. - Apakah Anda yakin ingin mengembalikan pengaturan default? Semua pengaturan yang tersimpan akan hilang. + Apakah Anda yakin ingin mengembalikan pengaturan default? Semua pengaturan yang saat ini tersimpan akan hilang. @@ -18821,7 +18899,7 @@ Apakah Anda ingin membuat direktori ini? Reset UI Settings - Reset Pengaturan UI + Reset Pengaturan Tampilan @@ -18954,17 +19032,17 @@ Apakah Anda ingin melanjutkan? Refresh List - Segarkan Daftar + Refresh Daftar <html><head/><body><p>PCSX2 will automatically scan and identify games from the selected directories below, and populate the game list.<br>These games should be dumped from discs you own. Guides for dumping discs can be found <a href="https://pcsx2.net/docs/setup/dumping">here</a>.</p><p>Supported formats for dumps include:</p><p><ul><li>.bin/.iso (ISO Disc Images)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Compressed ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip Compressed ISO)</li></ul></p></p></body></html> - <html><head/><body><p>PCSX2 akan otomatis memindai dan mengidentifikasi permainan dari direktori terpilih di bawah, dan mengisi daftar permainan.<br>Permainan dapat di-dump dari kaset milik Anda. Panduan membuat dump kaset ada <a href="https://pcsx2.net/docs/setup/dumping">di sini</a>.</p><p>Format hasil dump yang didukung meliputi:</p><p><ul><li>.bin/.iso (Disc Image)</li><li>.mdf (Berkas Penjabar Media)</li><li>.chd (Bongkahan Data Terpampat)</li><li>.cso (ISO Terpampat)</li><li>.zso (ISO Terpampat)</li><li>.gz (ISO Terpampat Gzip)</li></ul></p></p></body></html> + <html><head/><body><p>PCSX2 akan secara otomatis memindai dan mengidentifikasi game dari direktori yang dipilih di bawah ini, kemudian akan menambahkannya ke daftar game.<br>Game-game ini harus didapatkan dari disk yang Anda miliki. Panduan untuk membuat backup disk dapat ditemukan <a href="https://pcsx2.net/docs/setup/dumping">di sini</a>.</p><p>Format yang didukung untuk backup disk meliputi:</p><p><ul><li>.bin/.iso (Gambar Disk ISO).</li><li>. mdf (File Deskriptor Media) </li><li>.chd (Bongkahan Data Terkompresi) </li><li>.cso (ISO Terkompresi) </li><li>. zso (ISO Terkompresi)</li><li>.gz (ISO Terkompresi Gzip)</li></ul></p></p></body></html> Search Directories (will be scanned for games) - Direktori Pencarian (akan memindai permainan) + Direktori Pencarian (akan di pindai untuk game) @@ -18985,7 +19063,7 @@ Apakah Anda ingin melanjutkan? Scan Recursively - Pindai Berulang + Rekursif @@ -19206,7 +19284,7 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa Size - Size + Ukuran @@ -19984,7 +20062,7 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa Iomega Zip-100 (Generic) - Iomega Zip-100 (Awam) + Iomega Zip-100 @@ -20856,7 +20934,7 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa Axes Passthrough - Passthrough Axes + Penyalur Sumbu @@ -21564,13 +21642,13 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa Camera Camera is used to switch the view point. Original: 視点切替 - Camera + Kamera Horn Horn is used to alert people and cars that a train is approaching. Original: 警笛 - Horn + Klakson @@ -21584,7 +21662,7 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. This controller is created for a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains, in this case bullet trains. The product does not have an official name translation, and it is common to refer to the train type as Shinkansen. - Pengendali Shinkansen adalah pengendali utama kereta dengan dua pegangan, D-Pad, dan enam tombol. Sumbu daya dimulai dari posisi netral dan memiliki tiga belas takik daya yang semakin tinggi. Sumbu rem mulai dilepaskan, dan memiliki tujuh takik yang semakin meningkat ditambah Rem Darurat. Pengendali ini dirancang untuk digunakan dengan Densha De GO! San'yō Shinkansen-hen, dan paling baik digunakan dengan perangkat keras dengan 14 atau lebih pengaturan takik pada sumbu. + Kontroler Shinkansen adalah kontroler utama kereta dengan dua pegangan, D-Pad, dan enam tombol. Sumbu daya dimulai dari posisi netral dan memiliki tiga belas tingkat daya yang semakin tinggi. Sumbu rem dimulai dalam keadaan terlepas, dan memiliki tujuh tingkat yang semakin meningkat ditambah Rem Darurat. Kontroler ini dirancang untuk digunakan dengan Densha De GO! San'yō Shinkansen-hen, dan paling baik digunakan dengan perangkat keras dengan 14 atau lebih pengaturan tingkat pada sumbu. @@ -21727,42 +21805,42 @@ Pemindaian rekursif akan membuat proses pencarian menjadi lebih lama, namun dapa VMManager - + Failed to back up old save state {}. Gagal membuat backup save state lama {}. - + Failed to save save state: {}. Gagal menyimpan save state: {}. - + PS2 BIOS ({}) - PS2 BIOS ({}) + BIOS PS2 ({}) - + Unknown Game Game Tidak Diketahui - + CDVD precaching was cancelled. Memuat game ke memori sistem dibatalkan. - + CDVD precaching failed: {} Gagal untuk pramuat game: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21779,272 +21857,272 @@ Setelah di dump, Image BIOS ini harus ditempatkan di folder bios yang tersimpan Silakan baca FAQ dan Panduan untuk petunjuk lebih lanjut. - + Resuming state Melanjutkan savestate - + Boot and Debug Boot dan Debug - + Failed to load save state Gagal memuat save state - + State saved to slot {}. Save state disimpan ke slot {}. - + Failed to save save state to slot {}. Gagal menyimpan save sate ke slot {}. - - + + Loading state Memuat savestate - + Failed to load state (Memory card is busy) Gagal memuat save state (Memory Card sedang digunakan) - + There is no save state in slot {}. Tidak ada save state di slot {}. - + Failed to load state from slot {} (Memory card is busy) Gagal memuat save state dari slot {} (Memory Card sedang digunakan) - + Loading state from slot {}... Memuat save state dari slot {}... - + Failed to save state (Memory card is busy) Gagal menyimpan save state (Memory Card sedang digunakan) - + Failed to save state to slot {} (Memory card is busy) Gagal menyimpan save state ke slot {} (Memory Card sedang digunakan) - + Saving state to slot {}... Menyimpan save state ke slot {}... - + Frame advancing Maju Satu Frame - + Disc removed. - Kaset dilepas. + Disk dikeluarkan. - + Disc changed to '{}'. - Kaset diubah ke '{}'. + Disk diganti ke '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} - Gagal membuka disc image baru '{}'. Balik lagi ke kaset sebelumnya. -Hasil galat: {} + Gagal membuka disc image baru '{}'. Mengembalikan ke disc sebelumnya... +Pesan Error: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} - Gagal mengubah ke disc image lama. Melepas kaset. -Hasil galat: {} + Gagal mengubah ke disc image lama. Disc dikeluarkan. +Pesan Error: {} - + Cheats have been disabled due to achievements hardcore mode. Cheat telah dinonaktifkan karena mode hardcore prestasi. - + Fast CDVD is enabled, this may break games. CDVD Cepat aktif, dapat merusak game. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Lewati/rate siklus EE tidak diatur ke default, dapat menyebabkan crash atau mengurangi performa game secara signifikan. - + Upscale multiplier is below native, this will break rendering. Nilai pengali upscale di bawah native, dapat merusak render. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping tidak diaktifkan. Ini dapat merusak render di beberapa game. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. - Renderer tidak diatur ke Automatic (Otomatis). Hal ini dapat menyebabkan masalah performa dan masalah grafis. + Renderer tidak diatur ke Automatic (Otomatis). Hal ini dapat menyebabkan masalah performa dan grafis. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Filter tekstur tidak di atur ke Bilinear (PS2). Akan merusak render di beberapa game. - + No Game Running Tidak Ada Game Berjalan - + Trilinear filtering is not set to automatic. This may break rendering in some games. Filter trilinear tidak diatur ke otomatis. Dapat merusak render di beberapa game. - + Blending Accuracy is below Basic, this may break effects in some games. Akurasi Blending di bawah Basic, hal ini dapat merusak efek di beberapa game. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Mode Unduhan Hardware tidak diatur ke Akurat, dapat merusak render di beberapa game. - + EE FPU Round Mode is not set to default, this may break some games. Mode pembulatan FPU EE tidak diatur ke default, dapat merusak beberapa game. - + EE FPU Clamp Mode is not set to default, this may break some games. Mode Clamping FPU EE tidak diatur ke default, dapat merusak beberapa game. - + VU0 Round Mode is not set to default, this may break some games. Mode Pembulatan VU0 tidak diatur ke default, dapat merusak beberapa game. - + VU1 Round Mode is not set to default, this may break some games. Mode Pembulatan VU1 tidak diatur ke default, dapat merusak beberapa game. - + VU Clamp Mode is not set to default, this may break some games. Mode Clamping VU tidak diatur ke default, dapat merusak beberapa game. - + 128MB RAM is enabled. Compatibility with some games may be affected. RAM 128MB diaktifkan. Kompatibilitas dengan beberapa game mungkin terpengaruh. - + Game Fixes are not enabled. Compatibility with some games may be affected. Perbaikan Game nonaktif. Dapat memengaruhi kompatibilitas dengan beberapa game. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Patch Kompatibilitas nonaktif. Dapat berpengaruh pada kompatibilitas dengan beberapa game. - + Frame rate for NTSC is not default. This may break some games. Frame rate untuk NTSC bukan default. Dapat merusak beberapa game. - + Frame rate for PAL is not default. This may break some games. Frame rate untuk PAL bukan default. Dapat merusak beberapa game. - + EE Recompiler is not enabled, this will significantly reduce performance. Recompiler EE tidak aktif. Dapat mengurangi performa secara signifikan. - + VU0 Recompiler is not enabled, this will significantly reduce performance. Recompiler VU0 tidak aktif. Dapat mengurangi performa secara signifikan. - + VU1 Recompiler is not enabled, this will significantly reduce performance. Recompiler VU1 tidak aktif. Dapat mengurangi performa secara signifikan. - + IOP Recompiler is not enabled, this will significantly reduce performance. Recompiler IOP tidak aktif. Dapat mengurangi performa secara signifikan. - + EE Cache is enabled, this will significantly reduce performance. Cach EE aktif. Dapat mengurangi performa secara signifikan. - + EE Wait Loop Detection is not enabled, this may reduce performance. Deteksi Wait Loop EE nonaktif, dapat mengurangi performa. - + INTC Spin Detection is not enabled, this may reduce performance. Deteksi Spin INTC nonaktif, dapat mengurangi performa. - + Fastmem is not enabled, this will reduce performance. Fastmem nonaktif. Dapat mengurangi performa. - + Instant VU1 is disabled, this may reduce performance. VU1 Instan nonaktif, dapat mengurangi performa. - + mVU Flag Hack is not enabled, this may reduce performance. Hack Flag mVU nonaktif. Dapat mengurangi performa. - + GPU Palette Conversion is enabled, this may reduce performance. Konversi Palet GPU aktif, dapat mengurangi performa. - + Texture Preloading is not Full, this may reduce performance. Pramuat Tekstur tidak diatur ke Penuh, dapat mengurangi performa. - + Estimate texture region is enabled, this may reduce performance. Estimasi region tekstur aktif, dapat mengurangi performa. - + Texture dumping is enabled, this will continually dump textures to disk. Dump tekstur diaktifkan, ini akan secara terus-menerus men-dump tekstur ke disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_it-IT.ts b/pcsx2-qt/Translations/pcsx2-qt_it-IT.ts index e0d7f0f65cec1..1e1901c5631b2 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_it-IT.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_it-IT.ts @@ -12,7 +12,7 @@ SCM Version SCM= Source Code Management - Versione SCM + SCM Version @@ -732,307 +732,318 @@ Posizione Classifica: {1} di {2} Usa impostazione globale [%1] - + Rounding Mode Modalità di arrotondamento - - - + + + Chop/Zero (Default) Taglia/Zero (Predefinito) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia il modo in cui PCSX2 gestisce l'arrotondamento durante l'emulazione dell'unità Emotion Engine a virgola mobile (EE FPU). Poiché i vari FPU nella PS2 non sono conformi agli standard internazionali, alcuni giochi possono avere bisogno di diverse modalità per eseguire in modo corretto i calcoli matematici. Il valore predefinito gestisce la stragrande maggioranza dei giochi; <b>modificare questa impostazione quando un gioco non ha un problema visibile può causare instabilità.</b> - + Division Rounding Mode Modalità Arrotondamento Divisione - + Nearest (Default) Più Vicino (Predefinito) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determina come vengono arrotondati i risultati della divisione in virgola mobile. Alcuni giochi hanno bisogno di impostazioni specifiche; <b>modificare questa impostazione quando un gioco non ha problemi visibili può causare instabilità.</b> - + Clamping Mode Modalità Clamping - - - + + + Normal (Default) Normale (predefinito) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia il modo in cui PCSX2 gestisce l'adattamento dei calcoli in virgola mobile in una gamma standard di x86. Il valore predefinito gestisce la stragrande maggioranza dei giochi; <b>modificare questa impostazione quando un gioco non ha un problema visibile può causare instabilità.</b> - - + + Enable Recompiler Abilita ricompilatore - + - - - + + + - + - - - - + + + + + Checked Spuntato - + + Use Save State Selector + Usa Selettore Salvataggio di Stato + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostra un'interfaccia utente per il salvataggio di stato quando si cambiano gli slot invece di mostrare un riquadro di notifica. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Esegue una traduzione binaria just-in-time del codice macchina MIPS-IV a 64-bit in x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Rilevamento Wait Loop - + Moderate speedup for some games, with no known side effects. Aumento di velocità moderato per alcuni giochi, senza effetti collaterali noti. - + Enable Cache (Slow) Abilita cache (lento) - - - - + + + + Unchecked Non spuntato - + Interpreter only, provided for diagnostic. Solo interprete, fornito per diagnostica. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Rilevamento Spin INTC - + Huge speedup for some games, with almost no compatibility side effects. Enorme aumento di velocità per alcuni giochi, con quasi nessun effetto collaterale sulla compatibilità. - + Enable Fast Memory Access Abilita accesso rapido alla memoria - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Usa il backpatching per evitare lo svuotamento del registro su ogni accesso alla memoria. - + Pause On TLB Miss Pausa Su Miss TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Mette in pausa la macchina virtuale quando avviene un TLB Miss, invece di ignorarlo e continuare. Tieni conto che la MV verrà messa in pausa dopo la fine del blocco, non sull'istruzione che ha causato l'eccezione. Fare riferimento alla console per vedere l'indirizzo in cui è avvenuto l'accesso non valido. - + Enable 128MB RAM (Dev Console) Abilita RAM 128MB (Console Dev) - + Exposes an additional 96MB of memory to the virtual machine. Espone un ulteriore 96MB di memoria alla macchina virtuale. - + VU0 Rounding Mode Modalità Arrotondamento VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Cambia il modo in cui PCSX2 gestisce l'arrotondamento quando emula la Vector Unit 0 dell'Emotion Engine (EE VU0). Il valore predefinito gestisce la stragrande maggioranza dei giochi; <b>modificare questa impostazione quando un gioco non ha un problema visibile può causare instabilità.</b> - + VU1 Rounding Mode Modalità Arrotondamento VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Cambia il modo in cui PCSX2 gestisce l'arrotondamento quando emula la Vector Unit 1 dell'Emotion Engine (EE VU1). Il valore predefinito gestisce la stragrande maggioranza dei giochi; <b>modificare questa impostazione quando un gioco non ha un problema visibile può causare instabilità.</b> - + VU0 Clamping Mode Modalità Clamping VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia il modo in cui PCSX2 gestisce l'adattamento dei calcoli in virgola mobile in una gamma standard di x86 nella Vector Unit 0 dell'Emotion Engine (EE VU0). Il valore predefinito gestisce la stragrande maggioranza dei giochi; <b>modificare questa impostazione quando un gioco non ha un problema visibile può causare instabilità.</b> - + VU1 Clamping Mode Modalità Clamping VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Cambia il modo in cui PCSX2 gestisce l'adattamento dei calcoli in virgola mobile in una gamma standard di x86 nella Vector Unit 1 dell'Emotion Engine (EE VU1). Il valore predefinito gestisce la stragrande maggioranza dei giochi; <b>modificare questa impostazione quando un gioco non ha un problema visibile può causare instabilità.</b> - + Enable Instant VU1 Abilita VU1 istantanea - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Esegue la VU1 istantaneamente. Fornisce un modesto miglioramento della velocità nella maggior parte dei giochi. Sicuro per la maggior parte dei giochi, ma alcuni giochi potrebbero mostrare errori grafici. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Abilita Ricompilatore VU0 (Modalità Micro) - + Enables VU0 Recompiler. Abilita Ricompilatore VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Abilita Ricompilatore VU1 - + Enables VU1 Recompiler. Abilita il ricompilatore VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Hack flag mVU - + Good speedup and high compatibility, may cause graphical errors. Buon aumento di velocità e alta compatibilità, potrebbe causare errori grafici. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Esegue una traduzione binaria just-in-time del codice macchina MIPS-I a 32 bit in codice x86. - + Enable Game Fixes Abilita correzioni dei giochi - + Automatically loads and applies fixes to known problematic games on game start. Carica e applica automaticamente correzioni ai giochi notoriamente problematici al loro avvio. - + Enable Compatibility Patches Abilità patch di compatibilità - + Automatically loads and applies compatibility patches to known problematic games. Carica e applica automaticamente patch di compatibilità ai giochi notoriamente problematici. - + Savestate Compression Method Metodo Di Compressione dei Salvataggi di Stato - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determina l'algoritmo da usare durante la compressione dei salvataggi di stato. - + Savestate Compression Level Metodo Di Compressione dei Salvataggi di Stato - + Medium Medio - + Determines the level to be used when compressing savestates. Determina il livello da usare durante la compressione dei salvataggi di stato. - + Save State On Shutdown Salva stato allo spegnimento - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Salva automaticamente lo stato dell'emulatore allo spegnimento o all'uscita. Puoi quindi riprendere direttamente da dove hai smesso, la volta successiva. - + Create Save State Backups Crea backup degli stati salvati - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Crea una copia di backup di uno stato salvato se esiste già quando il salvataggio viene creato. La copia di backup ha come suffisso .backup. @@ -1255,29 +1266,29 @@ Posizione Classifica: {1} di {2} Crea backup degli stati salvati - + Save State On Shutdown Salva stato allo spegnimento - + Frame Rate Control Controllo frame rate - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: Frame Rate PAL: - + NTSC Frame Rate: Frame Rate NTSC: @@ -1292,7 +1303,7 @@ Posizione Classifica: {1} di {2} Livello Di Compressione: - + Compression Method: Metodo Di Compressione: @@ -1337,17 +1348,22 @@ Posizione Classifica: {1} di {2} Molto Alto (Lento, Non Consigliato) - + + Use Save State Selector + Usa Selettore Salvataggio di Stato + + + PINE Settings Impostazioni PINE - + Slot: Slot: - + Enable Abilita @@ -1868,8 +1884,8 @@ Posizione Classifica: {1} di {2} AutoUpdaterDialog - - + + Automatic Updater Aggiornamento automatico @@ -1909,68 +1925,68 @@ Posizione Classifica: {1} di {2} Ricordami Più Tardi - - + + Updater Error Errore Aggiornamento - + <h2>Changes:</h2> <h2>Cambiamenti:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Avviso stati salvati</h2><p>Installare questo aggiornamento renderà i tuoi stati salvati <b>incompatibili</b>. Assicurati di aver salvato i tuoi progressi su una Memory Card prima d'installare questo aggiornamento o verranno persi.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Avviso impostazioni</h2><p>Installare questo aggiornamento resetterà la tua configurazione del programma. Tieni presente che dovrai riconfigurare le tue impostazioni dopo questo aggiornamento.</p> - + Savestate Warning Avviso stato salvato - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>AVVISO</h1><p style='font-size:12pt;'>Installare questo aggiornamento renderà i tuoi <b>stati salvati incompatibili</b>, <i>assicurati di salvare qualunque progresso sulle tue Memory Card prima di procedere </i>.</p><p>Desideri continuare?</p> - + Downloading %1... Download di %1 in corso... - + No updates are currently available. Please try again later. Nessun aggiornamento è al momento disponibile. Riprova più tardi. - + Current Version: %1 (%2) Versione attuale: %1 (%2) - + New Version: %1 (%2) Nuova versione: %1 (%2) - + Download Size: %1 MB Dimensione del Download: %1 MB - + Loading... Caricamento... - + Failed to remove updater exe after update. Rimozione del file exe dell'updater non riuscita dopo l'aggiornamento. @@ -2134,19 +2150,19 @@ Posizione Classifica: {1} di {2} Abilita - - + + Invalid Address Indirizzo non valido - - + + Invalid Condition Condizione Non Valida - + Invalid Size Dimensione Non Valida @@ -2236,17 +2252,17 @@ Posizione Classifica: {1} di {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Il disco di gioco si trova in un dispositivo rimovibile, potrebbero verificarsi problemi di prestazioni come jitteraggio e blocchi. - + Saving CDVD block dump to '{}'. Salvataggio del dump del blocco CDVD in '{}'. - + Precaching CDVD Pre-caricamento CDVD @@ -2271,7 +2287,7 @@ Posizione Classifica: {1} di {2} Sconosciuto - + Precaching is not supported for discs. Il pre-caricamento non è supportato con i dischi di gioco. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rinomina Profilo + + + Delete Profile Elimina Profilo - + Mapping Settings Impostazioni di mappatura - - + + Restore Defaults Ripristina Predefiniti - - - + + + Create Input Profile Crea Profilo di Input - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Per applicare un profilo di input personalizzato a un gioco, vai nelle sue Propr Inserisci il nome per il nuovo Profilo di Input: - - - - + + + + + + Error Errore - + + A profile with the name '%1' already exists. Un profilo con il nome '%1' esiste già. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Vuoi copiare tutte le associazioni dal profilo attualmente selezionato al nuovo profilo? Selezionare No creerà un profilo completamente vuoto. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Vuoi copiare i tasti di scelta rapida attuali dalle impostazioni globali al nuovo profilo di input? - + Failed to save the new profile to '%1'. Salvataggio del nuovo profilo in '%1' non riuscito. - + Load Input Profile Carica Profilo di Input - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Tutte le associazioni globali attuali verranno rimosse, e le associazioni del pr Non puoi annullare quest'azione. - + + Rename Input Profile + Rinomina Profilo di Input + + + + Enter the new name for the input profile: + Inserisci il nuovo nome per il profilo di input: + + + + Failed to rename '%1'. + Impossibile rinominare '%1'. + + + Delete Input Profile Elimina Profilo di Input - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. Non puoi annullare quest'azione. - + Failed to delete '%1'. Eliminazione di '%1' non riuscita. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Tutte le associazioni e la configurazione condivise verranno perse, ma i tuoi pr Non puoi annullare quest'azione. - + Global Settings Impostazioni Globali - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ Non puoi annullare quest'azione. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ Non puoi annullare quest'azione. %2 - - + + USB Port %1 %2 Porta USB %1 %2 - + Hotkeys Tasti di scelta rapida - + Shared "Shared" refers here to the shared input profile. Condiviso - + The input profile named '%1' cannot be found. Impossibile trovare il profilo di input denominato '%1'. @@ -4005,63 +4044,63 @@ Vuoi sovrascriverla? Importa da file (.elf, .sym, ecc): - + Add Aggiungi - + Remove Rimuovi - + Scan For Functions Ricerca Funzioni - + Scan Mode: Modalità Scansione: - + Scan ELF Scansione ELF - + Scan Memory Scansione Memoria - + Skip Salta - + Custom Address Range: Intervallo Di Indirizzo Personalizzato: - + Start: Avvio: - + End: Fine: - + Hash Functions Funzioni Hash - + Gray Out Symbols For Overwritten Functions Disabilita Simboli per le Funzioni Sovrascritte @@ -4132,17 +4171,32 @@ Vuoi sovrascriverla? Genera hash per tutte le funzioni rilevate, e disabilita i simboli visualizzati nel debugger per le funzioni che non corrispondono più. - + <i>No symbol sources in database.</i> <i>Nessuna fonte di simboli nel database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Inizia questo gioco per modificare la lista di fonti dei simboli.</i> - + + Path + Percorso + + + + Base Address + Indirizzo Di Base + + + + Condition + Condizione + + + Add Symbol File Aggiungi File Simbolo @@ -4794,53 +4848,53 @@ Vuoi sovrascriverla? Debugger PCSX2 - + Run Esegui - + Step Into Passa a - + F11 F11 - + Step Over Passa oltre - + F10 F10 - + Step Out Esci - + Shift+F11 Shift+F11 - + Always On Top Sempre in primo piano - + Show this window on top Mostra questa finestra sopra - + Analyze Analizza @@ -4858,48 +4912,48 @@ Vuoi sovrascriverla? Disassemblaggio - + Copy Address Copia indirizzo - + Copy Instruction Hex Copia esadecimale dell'istruzione - + NOP Instruction(s) Istruzione(i) NOP - + Run to Cursor Esegui fino al cursore - + Follow Branch Segui Ramo - + Go to in Memory View Vai a in Vista Memoria - + Add Function Aggiungi funzione - - + + Rename Function Rinomina funzione - + Remove Function Rimuovi Funzione @@ -4920,23 +4974,23 @@ Vuoi sovrascriverla? Istruzione Assemblaggio - + Function name Nome funzione - - + + Rename Function Error Errore nella rinominazione della funzione - + Function name cannot be nothing. Il nome della funzione non può essere vuoto. - + No function / symbol is currently selected. Nessuna funzione / simbolo è attualmente selezionata / o. @@ -4946,72 +5000,72 @@ Vuoi sovrascriverla? Vai in Disassembly - + Cannot Go To Impossibile Passare A - + Restore Function Error Errore nella Funzione di Ripristino - + Unable to stub selected address. Impossibile utilizzare stub nell'indirizzo selezionato. - + &Copy Instruction Text &Copia Testo Istruzione - + Copy Function Name Copia Nome Funzione - + Restore Instruction(s) Istruzione(i) di Ripristino - + Asse&mble new Instruction(s) Asse&mbla nuova(e) istruzione(i) - + &Jump to Cursor &Vai al cursore - + Toggle &Breakpoint Attiva/disattiva &punto d'interruzione - + &Go to Address &Vai a Indirizzo - + Restore Function Funzione Ripristino - + Stub (NOP) Function Funzione Stub (NOP) - + Show &Opcode Mostra &Opcode - + %1 NOT VALID ADDRESS %1 NON È UN INDIRIZZO VALIDO @@ -5038,86 +5092,86 @@ Vuoi sovrascriverla? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot Stato Salvato: %1 | Volume: %2% | %3 |EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot Stato Salvato: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Nessuna Immagine - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Velocità: %1% - + Game: %1 (%2) Gioco: %1 (%2) - + Rich presence inactive or unsupported. Rich presence disattivata o non supportata. - + Game not loaded or no RetroAchievements available. Gioco non caricato o nessun RetroAchievement disponibile. - - - - + + + + Error Errore - + Failed to create HTTPDownloader. Creazione dell'HTTPDownloader non riuscita. - + Downloading %1... Download di %1 in corso... - + Download failed with HTTP status code %1. Scaricamento fallito con il codice di stato HTTP %1. - + Download failed: Data is empty. Download non riuscito: i dati sono vuoti. - + Failed to write '%1'. Scrittura di '%1' non riuscita. @@ -5491,81 +5545,76 @@ Vuoi sovrascriverla? ExpressionParser - + Invalid memory access size %d. Dimensione accesso alla memoria non valida %d. - + Invalid memory access (unaligned). Accesso alla memoria non valido (non allineato). - - + + Token too long. Token troppo lungo. - + Invalid number "%s". Numero non valido "%s". - + Invalid symbol "%s". Simbolo non valido "%s". - + Invalid operator at "%s". Operatore non valido in "%s". - + Closing parenthesis without opening one. Parentesi chiusa senza averne aperta una. - + Closing bracket without opening one. Parentesi quadra chiusa senza averne aperta una. - + Parenthesis not closed. Parentesi non chiusa. - + Not enough arguments. Parametri non sufficienti. - + Invalid memsize operator. Operatore dimensione memoria non valido. - + Division by zero. Divisione per zero. - + Modulo by zero. Modulo per zero. - + Invalid tertiary operator. Operatore terziario non valido. - - - Invalid expression. - Espressione non valida. - FileOperations @@ -5699,342 +5748,342 @@ L'URL era: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Non è stato possibile trovare alcun dispositivo CD/DVD-ROM. Per favore, assicurati di avere un'unità collegata e permessi sufficienti per accedervi. - + Use Global Setting Utilizza le impostazioni generali - + Automatic binding failed, no devices are available. Associazione automatica non riuscita, nessun dispositivo disponibile. - + Game title copied to clipboard. Titolo del gioco copiato negli appunti. - + Game serial copied to clipboard. Numero di serie del gioco copiato negli appunti. - + Game CRC copied to clipboard. CRC del gioco copiato negli appunti. - + Game type copied to clipboard. Tipo di gioco copiato negli appunti. - + Game region copied to clipboard. Regione del gioco copiata negli appunti. - + Game compatibility copied to clipboard. Compatibilità del gioco copiata negli appunti. - + Game path copied to clipboard. Percorso del gioco copiato negli appunti. - + Controller settings reset to default. Impostazioni del controller ripristinate ai valori predefiniti. - + No input profiles available. Nessun profilo di input disponibile. - + Create New... Crea nuovo... - + Enter the name of the input profile you wish to create. Inserisci il nome del profilo di input che vuoi creare. - + Are you sure you want to restore the default settings? Any preferences will be lost. Sei sicuro di voler ripristinare le impostazioni predefinite? Qualunque preferenza andrà persa. - + Settings reset to defaults. Impostazioni reimpostate ai valori predefiniti. - + No save present in this slot. Nessun salvataggio presente in questo slot. - + No save states found. Nessuno stato di salvataggio trovato. - + Failed to delete save state. Impossibile eliminare lo stato di salvataggio. - + Failed to copy text to clipboard. Impossibile copiare il testo negli appunti. - + This game has no achievements. Questo gioco non ha obiettivi. - + This game has no leaderboards. Questo gioco non ha classifiche. - + Reset System Resetta il sistema - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? La modalità hardcore non verrà abilitata finchè il sistema non viene resettato. Vuoi resettare il sistema adesso? - + Launch a game from images scanned from your game directories. Avvia un gioco dalle immagini scansionate dalle cartelle di gioco. - + Launch a game by selecting a file/disc image. Avvia un gioco selezionando un'immagine di file/disco. - + Start the console without any disc inserted. Avvia la console senza alcun disco inserito. - + Start a game from a disc in your PC's DVD drive. Avvia un gioco dal drive DVD del tuo PC. - + No Binding Nessuna Associazione - + Setting %s binding %s. Impostazione %s associazione %s. - + Push a controller button or axis now. Premi un pulsante o un asse del controller adesso. - + Timing out in %.0f seconds... Timing out in %.0f secondi... - + Unknown Sconosciuto - + OK OK - + Select Device Seleziona dispositivo - + Details Dettagli - + Options Opzioni - + Copies the current global settings to this game. Copia le attuali impostazioni globali in questo gioco. - + Clears all settings set for this game. Cancella tutte le impostazioni per questo gioco. - + Behaviour Comportamento - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Impedisce che il salvaschermo si attivi e che l'host entri in sospensione mentre l'emulazione è in esecuzione. - + Shows the game you are currently playing as part of your profile on Discord. Mostra il gioco a cui stai attualmente giocando come parte del tuo profilo su Discord. - + Pauses the emulator when a game is started. Mette in pausa l'emulatore quando viene avviato un gioco. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Mette in pausa l'emulatore quando riduci la finestra a icona o passi ad un'altra applicazione, e continua quando si passa di nuovo all'emulatore. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Mette in pausa l'emulatore quando apri il menu veloce e continua l'emulazione quando lo chiudi. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determina se verrà visualizzato un prompt per confermare l'arresto della macchina virtuale quando il tasto di scelta rapida viene premuto. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Salva automaticamente lo stato dell'emulatore allo spegnimento o all'uscita. Puoi quindi riprendere direttamente da dove hai smesso, la volta successiva. - + Uses a light coloured theme instead of the default dark theme. Usa un tema chiaro invece del tema scuro predefinito. - + Game Display Display di gioco - + Switches between full screen and windowed when the window is double-clicked. Passa tra schermo intero e finestra quando si clicca due volte sulla finestra. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Nasconde il puntatore del mouse/cursore quando l'emulatore è in modalità a schermo intero. - + Determines how large the on-screen messages and monitor are. Determina la grandezza dei messaggi sullo schermo e sul monitor. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Mostra messaggi a schermo quando si verificano eventi come la creazione/il caricamento di stati salvati, l'acquisizione di screenshot, ecc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Mostra la velocità di emulazione attuale del sistema nell'angolo in alto a destra dello schermo in percentuale. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Mostra il numero di fotogrammi video (o v-sync) visualizzati al secondo dal sistema nell'angolo in alto a destra del display. - + Shows the CPU usage based on threads in the top-right corner of the display. Mostra l'utilizzo della CPU in base ai thread nell'angolo in alto a destra del display. - + Shows the host's GPU usage in the top-right corner of the display. Mostra la risoluzione del gioco nell'angolo in alto a destra dello schermo. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Mostra le statistiche su GS (primitive, draw call) nell'angolo in alto a destra del display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Mostra gli indicatori quando sono attivi avanti veloce, la pausa e altri stati anomali. - + Shows the current configuration in the bottom-right corner of the display. Mostra la configurazione attuale nell'angolo in basso a destra del display. - + Shows the current controller state of the system in the bottom-left corner of the display. Mostra lo stato attuale del controller del sistema nell'angolo in basso a sinistra dello schermo. - + Displays warnings when settings are enabled which may break games. Mostra avvisi quando sono abilitate impostazioni che potrebbero corrompere i giochi. - + Resets configuration to defaults (excluding controller settings). Reimposta la configurazione ai valori predefiniti (escluse le impostazioni del controller). - + Changes the BIOS image used to start future sessions. Cambia l'immagine BIOS utilizzata per avviare sessioni future. - + Automatic Automatico - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Predefinito - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Passa automaticamente alla modalità a schermo intero quando si avvia un gioco. - + On-Screen Display Mostra A Schermo - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Mostra la risoluzione del gioco nell'angolo in alto a destra dello schermo. - + BIOS Configuration Configurazione BIOS - + BIOS Selection Selezione del BIOS - + Options and Patches Opzioni e Patch - + Skips the intro screen, and bypasses region checks. Salta la schermata introduttiva e bypassa i controlli della regione. - + Speed Control Controllo velocità - + Normal Speed Velocità Normale - + Sets the speed when running without fast forwarding. Imposta la velocità in esecuzione senza l' avanzamento rapido. - + Fast Forward Speed Velocità di Avanzamento Rapido - + Sets the speed when using the fast forward hotkey. Imposta la velocità in esecuzione quando si utilizza l' avanzamento rapido. - + Slow Motion Speed Velocità al rallentatore - + Sets the speed when using the slow motion hotkey. Imposta la velocità in esecuzione quando si utilizza il tasto di scelta rapido per il rallentatore. - + System Settings Impostazioni di sistema - + EE Cycle Rate Frequenza Cicli EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocca od Overclocca la CPU emulata Emotion Engine. - + EE Cycle Skipping Salto Ciclo EE - + Enable MTVU (Multi-Threaded VU1) MTVU (VU1 Multi-threaded) - + Enable Instant VU1 Abilita VU1 istantanea - + Enable Cheats Abilita Trucchi - + Enables loading cheats from pnach files. Abilita il caricamento delle patch widescreen dai file pnach. - + Enable Host Filesystem Abilita filesystem dell'host - + Enables access to files from the host: namespace in the virtual machine. Abilita l'accesso ai file dall'host: namespace nella macchina virtuale. - + Enable Fast CDVD Abilita CDVD Veloce - + Fast disc access, less loading times. Not recommended. Accesso rapido al disco, tempi di caricamento ridotti. Non consigliato. - + Frame Pacing/Latency Control Frame Pacing / Controllo Latenza - + Maximum Frame Latency Latenza Massima Frame - + Sets the number of frames which can be queued. Imposta il numero di fotogrammi che possono essere accodati. - + Optimal Frame Pacing Frame Pacing Ottimale - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Sincronizza i thread EE e GS dopo ogni fotogramma. Latenza d'ingresso più bassa, ma aumenta i requisiti di sistema. - + Speeds up emulation so that the guest refresh rate matches the host. Accelera l'emulazione in modo che la frequenza di aggiornamento dell'ospite corrisponda all'host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Seleziona l'API utilizzata per renderizzare il GS emulato. - + Synchronizes frame presentation with host refresh. Sincronizza la presentazione del frame con la frequenza di aggiornamento dell'host. - + Display Schermo - + Aspect Ratio Rapporto d'aspetto - + Selects the aspect ratio to display the game content at. Seleziona il rapporto d'aspetto con cui visualizzare il contenuto del gioco. - + FMV Aspect Ratio Override Sostituisci Proporzioni FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Seleziona il rapporto di aspetto da visualizzare quando viene rilevata la riproduzione un FMV. - + Deinterlacing Deinterlacciamento - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Seleziona l'algoritmo utilizzato per convertire l'output interlacciato della PS2 in progressivo per il display. - + Screenshot Size Dimensione Screenshot - + Determines the resolution at which screenshots will be saved. Determina la risoluzione in cui verranno salvati gli screenshot. - + Screenshot Format Formato screenshot - + Selects the format which will be used to save screenshots. Seleziona il formato che verrà utilizzato per salvare gli screenshot. - + Screenshot Quality Qualità screenshot - + Selects the quality at which screenshots will be compressed. Seleziona la qualità di compressione degli screenshot. - + Vertical Stretch Allungamento verticale - + Increases or decreases the virtual picture size vertically. Aumenta o diminuisce la dimensione dell'immagine virtuale verticalmente. - + Crop Ritaglia - + Crops the image, while respecting aspect ratio. Ritaglia l'immagine, pur rispettando il rapporto di aspetto. - + %dpx %dpx - - Enable Widescreen Patches - Abilita patch widescreen - - - - Enables loading widescreen patches from pnach files. - Abilita il caricamento delle patch widescreen dai file pnach. - - - - Enable No-Interlacing Patches - Abilita le patch No-Interlacciamento - - - - Enables loading no-interlacing patches from pnach files. - Abilita il caricamento delle patch no-interlacciamento dai file pnach. - - - + Bilinear Upscaling Upscaling bilineare - + Smooths out the image when upscaling the console to the screen. Rende più morbida l'immagine durante l'upscaling della console sullo schermo. - + Integer Upscaling Upscaling per integrali - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Aggiunge dei "cuscinetti" all'area del display per assicurare che il rapporto fra pixel sull'host e pixel nella console sia un numero intero. Potrebbe risultare in un'immagine più nitida in alcuni giochi in 2D. - + Screen Offsets Offset Schermo - + Enables PCRTC Offsets which position the screen as the game requests. Abilita l'Offset PCRTC che posiziona lo schermo come impostato nel gioco. - + Show Overscan Mostra overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Abilita l'opzione per mostrare l'area di overscan su giochi che disegnano più dell'area sicura dello schermo. - + Anti-Blur Anti-Sfocatura - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Abilita gli hack interni anti-sfocatura. Meno accurato rispetto al rendering della PS2 ma farà sembrare molti giochi meno sfocati. - + Rendering Rendering - + Internal Resolution Risoluzione Interna - + Multiplies the render resolution by the specified factor (upscaling). Moltiplica la risoluzione del rendering per il fattore specificato (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Filtraggio bilineare - + Selects where bilinear filtering is utilized when rendering textures. Seleziona dove viene utilizzato il filtraggio bilineare durante il rendering delle texture. - + Trilinear Filtering Filtraggio trilineare - + Selects where trilinear filtering is utilized when rendering textures. Seleziona dove viene utilizzato il filtraggio bilineare durante il rendering delle texture. - + Anisotropic Filtering Filtraggio anisotropico - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Seleziona il tipo di dithering che si applica quando il gioco lo richiede. - + Blending Accuracy Precisione del blending - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determina il livello di precisione quando si emulano modalità di blend non supportate dall'API grafica dell'host. - + Texture Preloading Precaricamento delle texture - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Carica le texture complete alla GPU in uso, piuttosto che solo le regioni utilizzate. Puoi migliorare le prestazioni in alcuni giochi. - + Software Rendering Threads Thread di rendering software - + Number of threads to use in addition to the main GS thread for rasterization. Numero di thread da utilizzare in aggiunta al thread GS principale per la rasterizzazione. - + Auto Flush (Software) Scaricamento automatico (software) - + Force a primitive flush when a framebuffer is also an input texture. Forza un flush primitivo quando anche un framebuffer è una texture di input. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Abilita l'emulazione dell' Edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Abilita l'emulazione della mappatura delle texture del GS. - + The selected input profile will be used for this game. Il profilo di input selezionato verrà utilizzato per questo gioco. - + Shared Condiviso - + Input Profile Profilo di input - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostra un'interfaccia utente per il salvataggio di stato quando si cambiano gli slot invece di mostrare un riquadro di notifica. + + + Shows the current PCSX2 version on the top-right corner of the display. Mostra l'attuale versione di PCSX2 nell'angolo in alto a destra del display. - + Shows the currently active input recording status. Mostra lo stato di registrazione input attualmente attivo. - + Shows the currently active video capture status. Mostra lo stato di registrazione video attualmente attivo. - + Shows a visual history of frame times in the upper-left corner of the display. Mostra una cronologia visiva dei tempi dei fotogrammi nell'angolo in alto a sinistra del display. - + Shows the current system hardware information on the OSD. Mostra informazioni sull'hardware in uso nell'OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Fissa i thread di emulazione ai core della CPU per migliorare potenzialmente la variabilità delle prestazioni/fotogrammi. - + + Enable Widescreen Patches + Abilita patch widescreen + + + + Enables loading widescreen patches from pnach files. + Abilita il caricamento delle patch widescreen dai file pnach. + + + + Enable No-Interlacing Patches + Abilita le patch No-Interlacciamento + + + + Enables loading no-interlacing patches from pnach files. + Abilita il caricamento delle patch no-interlacciamento dai file pnach. + + + Hardware Fixes Correzioni hardware - + Manual Hardware Fixes Correzioni manuali renderer hardware - + Disables automatic hardware fixes, allowing you to set fixes manually. Disabilita le correzioni hardware automatiche, consentendo d'impostare le correzioni manualmente. - + CPU Sprite Render Size Dimensione del renderer delle sprite nella CPU - + Uses software renderer to draw texture decompression-like sprites. Utilizza il renderer software per disegnare gli sprite simili a quelli della decompressione delle texture. - + CPU Sprite Render Level Dimensione del renderer delle sprite nella CPU - + Determines filter level for CPU sprite render. Determina la dimensione del renderer delle sprite nella CPU. - + Software CLUT Render Render Software CLUT - + Uses software renderer to draw texture CLUT points/sprites. Utilizza il renderer software per disegnare i punti CLUT / sprite. - + Skip Draw Start Salta Inizio Disegno - + Object range to skip drawing. Intervallo di oggetti per saltare il disegno. - + Skip Draw End Salta Fine Disegno - + Auto Flush (Hardware) Scaricamento automatico (Hardware) - + CPU Framebuffer Conversion Conversione del framebuffer della CPU - + Disable Depth Conversion Disabilita Conversione Profondità - + Disable Safe Features Disabilita Funzionalità Sicure - + This option disables multiple safe features. Questa opzione disabilita molteplici funzioni sicure. - + This option disables game-specific render fixes. Quest'opzione disabilita le correzioni del rendering specifiche per il gioco. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Carica i dati GS durante il rendering di un nuovo fotogramma per riprodurre accuratamente alcuni effetti. - + Disable Partial Invalidation Disabilita Invalidazione Parziale - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Rimuove le voci della cache delle texture quando c'è un'intersezione, invece che solo le aree intersecate. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Consente alla cache delle texture di riutilizzare come texture di input la porzione interna di un precedente framebuffer. - + Read Targets When Closing Leggi Target Alla Chiusura - + Flushes all targets in the texture cache back to local memory when shutting down. Cancella tutte le destinazioni nella cache delle texture sulla memoria locale quando si spegne. - + Estimate Texture Region Stima Regione delle Texture - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Tenta di ridurre la dimensione delle texture quando i giochi non la impostano da soli (ad es. giochi Snowblind). - + GPU Palette Conversion Conversione palette GPU - + Upscaling Fixes Correzioni per l'Upscaling - + Adjusts vertices relative to upscaling. Regola i vertici relativamente all'upscaling. - + Native Scaling Ridimensionamento Nativo - + Attempt to do rescaling at native resolution. L'opzione tenta di riscalare alla risoluzione nativa. - + Round Sprite Arrotondamento sprite - + Adjusts sprite coordinates. Regola le coordinate delle sprite. - + Bilinear Upscale Upscale bilineare - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Può smussare le texture che devono essere filtrate bilinearmente nel ridimensionamento. Ad es. il bagliore del sole in Brave. - + Adjusts target texture offsets. Regola le compensazioni delle texture designate. - + Align Sprite Allinea Sprite - + Fixes issues with upscaling (vertical lines) in some games. Risolve i problemi con l'upscaling (linee verticali) in alcuni giochi. - + Merge Sprite Unisci Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Sostituisce più sprite post-elaborazione con un singolo sprite più grande. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Riduce la precisione del GS per evitare spazi fra i pixel quando si ridimensiona. Corregge il testo nei giochi di Wild Arms. - + Unscaled Palette Texture Draws Draw di Texture Palette Non Scalate - + Can fix some broken effects which rely on pixel perfect precision. Può correggere alcuni effetti corrotti che dipendono da una precisione perfetta al pixel. - + Texture Replacement Sostituzione delle texture - + Load Textures Carica Texture - + Loads replacement textures where available and user-provided. Carica le texture di rimpiazzo dove disponibili e fornite dall'utente. - + Asynchronous Texture Loading Caricamento Asincrono delle Texture - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carica le texture di rimpiazzo su un thread di lavoro, riducendo il microstuttering quando i rimpiazzi sono abilitati. - + Precache Replacements Precarica Rimpiazzi nella cache - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Precarica tutte le texture di rimpiazzo in memoria. Non necessario con il caricamento asincrono. - + Replacements Directory Cartella dei Rimpiazzi - + Folders Cartelle - + Texture Dumping Scaricamento delle Texture - + Dump Textures Scarica Texture - + Dump Mipmaps Scarica Mipmaps - + Includes mipmaps when dumping textures. Include le mipmap quando si scaricano le texture. - + Dump FMV Textures Scarica Texture degli FMV - + Allows texture dumping when FMVs are active. You should not enable this. Consente lo scaricamento delle texture quando gli FMV sono attivi. Non dovresti abilitare quest'opzione. - + Post-Processing Post-elaborazione - + FXAA FXAA - + Enables FXAA post-processing shader. Abilita shader di post-elaborazione FXAA. - + Contrast Adaptive Sharpening Nitificatore a Contrasto Adattivo (CAS) - + Enables FidelityFX Contrast Adaptive Sharpening. Abilita il Nitificatore a Contrasto Adattivo FidelityFX. - + CAS Sharpness Nitidezza CAS - + Determines the intensity the sharpening effect in CAS post-processing. Determina l'intensità dell'effetto di nitificazione nella post-elaborazione del CAS. - + Filters Filtri - + Shade Boost Aumento Ombre - + Enables brightness/contrast/saturation adjustment. Abilita la regolazione della luminosità/del contrasto/della saturazione. - + Shade Boost Brightness Luminosità Aumento Ombre - + Adjusts brightness. 50 is normal. Regola la luminosità. 50 è quella normale. - + Shade Boost Contrast Contrasto Aumento Ombre - + Adjusts contrast. 50 is normal. Regola il contrasto. 50 è quello normale. - + Shade Boost Saturation Saturazione Aumento Ombre - + Adjusts saturation. 50 is normal. Regola la saturazione. 50 è quella normale. - + TV Shaders Shader TV - + Advanced Avanzate - + Skip Presenting Duplicate Frames Salta la Presentazione di Frame Duplicati - + Extended Upscaling Multipliers Moltiplicatori Di Upscaling Estesi - + Displays additional, very high upscaling multipliers dependent on GPU capability. Visualizza ulteriori moltiplicatori di upscaling molto elevati che dipendono dalle capacità della GPU. - + Hardware Download Mode Modalità Download Hardware - + Changes synchronization behavior for GS downloads. Cambia il comportamento di sincronizzazione per i download del GS. - + Allow Exclusive Fullscreen Consenti Schermo Intero Esclusivo - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Ignora l'euristica del driver per abilitare lo schermo intero esclusivo, o il flip/scanout diretto. - + Override Texture Barriers Ignora Barriere delle Texture - + Forces texture barrier functionality to the specified value. Forza la funzionalità delle barriere delle texture sul valore specificato. - + GS Dump Compression Compressione Dump del GS - + Sets the compression algorithm for GS dumps. Imposta l'algoritmo di compressione per gli scaricamenti del GS. - + Disable Framebuffer Fetch Disabilita Fetch del Framebuffer - + Prevents the usage of framebuffer fetch when supported by host GPU. Impedisce l'uso del fetch del framebuffer quando supportato dalla GPU host. - + Disable Shader Cache Disabilita Cache Shader - + Prevents the loading and saving of shaders/pipelines to disk. Impedisce il caricamento e il salvataggio di shaders/pipeline su disco. - + Disable Vertex Shader Expand Disabilita Espansione Shader Vertici - + Falls back to the CPU for expanding sprites/lines. Ripiega sulla CPU per espandere sprite/linee. - + Changes when SPU samples are generated relative to system emulation. Cambia quando dei campioni SPU vengono generati relativamente all'emulazione del sistema. - + %d ms %d ms - + Settings and Operations Impostazioni e Operazioni - + Creates a new memory card file or folder. Crea un nuovo file o una nuova cartella Memory Card. - + Simulates a larger memory card by filtering saves only to the current game. Simula una Memory Card più grande filtrando i salvataggi solo per il gioco attuale. - + If not set, this card will be considered unplugged. Se non impostato, questa Card verrà considerata scollegata. - + The selected memory card image will be used for this slot. L'immagine selezionata della Memory Card verrà usata per questo ingresso. - + Enable/Disable the Player LED on DualSense controllers. Abilita/Disabilita il LED giocatore sui controller DualSense. - + Trigger Attivatore - + Toggles the macro when the button is pressed, instead of held. Attiva/Disattiva la macro quando il pulsante viene premuto, invece che tenuto. - + Savestate Salvataggio di Stato - + Compression Method Metodo Di Compressione - + Sets the compression algorithm for savestate. Imposta l'algoritmo di compressione per i salvataggi di stato. - + Compression Level Livello Di Compressione - + Sets the compression level for savestate. Imposta il livello di compressione per i salvataggi di stato. - + Version: %s Versione: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Nativo (~450px) - + 1.5x Native (~540px) 1.5x Nativo (~540px) - + 1.75x Native (~630px) 1.75x Nativo (~630px) - + 2x Native (~720px/HD) 2x Nativo (~720px/HD) - + 2.5x Native (~900px/HD+) 2,5x Nativo (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Nativo (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Nativo (~1260px) - + 4x Native (~1440px/QHD) 4x Nativo (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Nativo (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Nativo (~2160px/4K UHD) - + 7x Native (~2520px) 7x Nativo (~2520px) - + 8x Native (~2880px/5K UHD) 8x Nativo (~2880px/5K UHD) - + 9x Native (~3240px) 9x Nativo (~3240px) - + 10x Native (~3600px/6K UHD) 10x Nativo (~3600px/6K UHD) - + 11x Native (~3960px) 11x Nativo (~3960px) - + 12x Native (~4320px/8K UHD) 12x Nativo (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressivo - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Basso (veloce) - + Medium (Recommended) Medio (consigliato) - + Very High (Slow, Not Recommended) Molto Alto (Lento, Non Consigliato) - + Change Selection Modifica Selezione - + Select Seleziona - + Parent Directory Directory principale - + Enter Value Inserisci valore - + About Informazioni su - + Toggle Fullscreen Attiva/Disattiva Schermo Intero - + Navigate Naviga - + Load Global State Carica Stato Globale - + Change Page Modifica pagina - + Return To Game Torna al Gioco - + Select State Selezionare lo Stato - + Select Game Seleziona Gioco - + Change View Cambia visualizzazione - + Launch Options Opzioni di lancio - + Create Save State Backups Crea backup degli stati salvati - + Show PCSX2 Version Mostra Versione Pcsx2 - + Show Input Recording Status Mostra Stato Registrazione Input - + Show Video Capture Status Mostra Stato Cattura Video - + Show Frame Times Mostra frame time - + Show Hardware Info Mostra informazioni Hardware - + Create Memory Card Crea Memory Card - + Configuration Configurazione - + Start Game Avvia la Partita - + Launch a game from a file, disc, or starts the console without any disc inserted. Avviare un gioco da un file, disco o avviare la console senza alcun disco inserito. - + Changes settings for the application. Modifica le impostazioni per l'applicazione. - + Return to desktop mode, or exit the application. Ritorna alla modalità desktop o esci dall'applicazione. - + Back Indietro - + Return to the previous menu. Ritorna al menu precedente. - + Exit PCSX2 Esci Da Pcsx2 - + Completely exits the application, returning you to your desktop. Esce completamente dall'applicazione, riportandoti al desktop. - + Desktop Mode Modalità desktop - + Exits Big Picture mode, returning to the desktop interface. Esci dalla modalità Big Picture, ritornando all'interfaccia desktop. - + Resets all configuration to defaults (including bindings). Reimposta tutta la configurazione ai valori predefiniti (incluse le associazioni). - + Replaces these settings with a previously saved input profile. Sostituisce queste impostazioni con un profilo di input precedentemente salvato. - + Stores the current settings to an input profile. Archivia le impostazioni attuali su un profilo di input. - + Input Sources Sorgenti di Input - + The SDL input source supports most controllers. La sorgente di input SDL supporta la maggior parted dei controller. - + Provides vibration and LED control support over Bluetooth. Fornisce il supporto per la vibrazione e il controllo dei LED tramite Bluetooth. - + Allow SDL to use raw access to input devices. Consenti a SDL di usare l'accesso puro ai dispositivi di input. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. La sorgente XInput fornisce supporto per i controller XBox 360/XBox One/XBox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Abilita tre ingressi aggiuntivi per i controller. Non supportato in tutti i giochi. - + Attempts to map the selected port to a chosen controller. Tenta di mappare la porta selezionata su un controller scelto. - + Determines how much pressure is simulated when macro is active. Determina quanta pressione viene simulata quando la macro è attiva. - + Determines the pressure required to activate the macro. Determina la pressione richiesta per attivare la macro. - + Toggle every %d frames Attiva/Disattiva ogni %d frame - + Clears all bindings for this USB controller. Cancella tutte le associazioni per questo controller USB. - + Data Save Locations Posizioni dei Salvataggi di Dati - + Show Advanced Settings Mostra Impostazioni Avanzate - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Cambiare queste opzioni potrebbe rendere i giochi non funzionanti. Modificale a tuo rischio e pericolo, il team PCSX2 non fornirà alcun supporto per configurazioni con queste impostazioni cambiate. - + Logging Registrazione - + System Console Console di Sistema - + Writes log messages to the system console (console window/standard output). Scrive i messaggi del registro sulla console di sistem (finestra della console/output standard). - + File Logging Registrazione dei File - + Writes log messages to emulog.txt. Scrive i messaggi del registro su emulog.txt. - + Verbose Logging Registrazione Dettagliata - + Writes dev log messages to log sinks. Scrive i messaggi del registro di sviluppo nelle destinazioni dei registri. - + Log Timestamps Timestamp del Registro - + Writes timestamps alongside log messages. Scrive i timestamp a fianco dei messaggi del registro. - + EE Console Console dell'EE - + Writes debug messages from the game's EE code to the console. Scrive i messaggi di debug dal codice EE del gioco sulla console. - + IOP Console Console dell'IOP - + Writes debug messages from the game's IOP code to the console. Scrive i messaggi di debug dal codice IOP del gioco sulla console. - + CDVD Verbose Reads Letture Dettagliate del CDVD - + Logs disc reads from games. Registra le letture del disco dai giochi. - + Emotion Engine Emotion Engine - + Rounding Mode Modalità di arrotondamento - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determina come vengono arrotondati i risultati delle operazioni in virgola mobile. Alcuni giochi necessitano di impostazioni specifiche. - + Division Rounding Mode Modalità Arrotondamento Divisione - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determina come vengono arrotondati i risultati della divisione in virgola mobile. Alcuni giochi necessitano di impostazioni specifiche. - + Clamping Mode Modalità Clamping - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determina come vengono gestiti i numeri in virgola mobile fuori intervallo. Alcuni giochi necessitano di impostazioni specifiche. - + Enable EE Recompiler Abilita EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Esegue la traduzione binaria just-in-time del codice macchina MIPS-IV a 64 bit in codice nativo. - + Enable EE Cache Abilita Cache EE - + Enables simulation of the EE's cache. Slow. Abilita la simulazione della cache EE. Lento. - + Enable INTC Spin Detection Abilita Rilevamento Spin INTC - + Huge speedup for some games, with almost no compatibility side effects. Enorme aumento di velocità per alcuni giochi, con quasi nessun effetto collaterale sulla compatibilità. - + Enable Wait Loop Detection Abilita rilevamento Wait Loop - + Moderate speedup for some games, with no known side effects. Aumento di velocità moderato per alcuni giochi, senza effetti collaterali noti. - + Enable Fast Memory Access Abilita accesso rapido alla memoria - + Uses backpatching to avoid register flushing on every memory access. Usa il backpatching per evitare lo svuotamento del registro su ogni accesso alla memoria. - + Vector Units Vector Units (VU - + VU0 Rounding Mode Modalità Arrotondamento VU0 - + VU0 Clamping Mode Modalità Clamping VU0 - + VU1 Rounding Mode Modalità Arrotondamento VU1 - + VU1 Clamping Mode Modalità Clamping VU1 - + Enable VU0 Recompiler (Micro Mode) Abilita Ricompilatore VU0 (Modalità Micro) - + New Vector Unit recompiler with much improved compatibility. Recommended. Nuovo ricompilatore Vector Unit con compatibilità molto migliorata. Consigliato. - + Enable VU1 Recompiler Abilita Ricompilatore VU1 - + Enable VU Flag Optimization Abilita l'Ottimizzazione VU Flag - + Good speedup and high compatibility, may cause graphical errors. Buon aumento di velocità e alta compatibilità, potrebbe causare errori grafici. - + I/O Processor Processore I/O - + Enable IOP Recompiler Abilita Ricompilatore IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Esegue la traduzione binaria just-in-time del codice macchina MIPS-I a 32 bit in codice nativo. - + Graphics Grafica - + Use Debug Device Usa Dispositivo di Debug - + Settings Impostazioni - + No cheats are available for this game. Non sono disponibili trucchi per questo gioco. - + Cheat Codes Trucchi - + No patches are available for this game. Non sono disponibili patch per questo gioco. - + Game Patches Patch di gioco - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Attivare i trucchi può causare comportamenti imprevedibili, crash, soft-locks, o giochi salvati corrotti. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Attivare patch per i giochi può causare comportamenti imprevedibili, crash, soft-locks, o giochi salvati corrotti. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Usa le patch a tuo rischio, il team PCSX2 non fornirà supporto agli utenti che hanno abilitato le patch di gioco. - + Game Fixes Correzioni di Gioco - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Le correzioni di gioco non dovrebbero essere modificate a meno che tu non sia consapevole di ciò che ogni opzione fa e delle implicazioni di farlo. - + FPU Multiply Hack Hack Moltiplicazione FPU - + For Tales of Destiny. Per Tales of Destiny. - + Preload TLB Hack Precarica Hack TLB - + Needed for some games with complex FMV rendering. Necessario per alcuni giochi con rendering FMV complesso. - + Skip MPEG Hack Hack Salto MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. Salta i video/gli FMV nei giochi per evitare blocchi/freeze del gioco. - + OPH Flag Hack Hack Flag OPH - + EE Timing Hack Hack Timing EE - + Instant DMA Hack Hack DMA Istantaneo - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Può riguardare i seguenti giochi: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Per l'HUD di SOCOM 2 e i blocchi nel caricamento di Spy Hunter. - + VU Add Hack Hack Aggiunta VU - + Full VU0 Synchronization Sincronizzazione VU0 Completa - + Forces tight VU0 sync on every COP2 instruction. Forza una sincronizzazione VU0 coordinata su ogni istruzione COP2. - + VU Overflow Hack Hack Overflow VU - + To check for possible float overflows (Superman Returns). Per controllare se ci sono possibili overflow dei float (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Usa timing accurato per gli XGKick VU (più lento). - + Load State Carica Stato - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Fa sì che l'Emotion Engine emulato salti dei cicli. Aiuta un piccolo sottoinsieme di giochi come Shadow of the Colossus. Nella maggior parte dei casi è dannoso per le prestazioni. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generalmente porta a un aumento di velocità su CPU con 4 o più core. Sicuro per la maggior parte dei giochi, ma alcuni sono incompatibili e potrebbero bloccarsi. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Esegue la VU1 istantaneamente. Fornisce un modesto miglioramento della velocità nella maggior parte dei giochi. Sicuro per la maggior parte dei giochi, ma alcuni giochi potrebbero mostrare errori grafici. - + Disable the support of depth buffers in the texture cache. Disabilita il supporto del buffer di profondità nella cache delle texture. - + Disable Render Fixes Disabilita Correzioni Render - + Preload Frame Data Precarica Dati Frame - + Texture Inside RT Texture dentro RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Quando è abilitato la GPU converte le texture colormap, in caso contrario lo farà la CPU. È uno scambio fra GPU e CPU. - + Half Pixel Offset Offset Half Pixel - + Texture Offset X Offset X delle texture - + Texture Offset Y Offset Y delle texture - + Dumps replaceable textures to disk. Will reduce performance. Scarica texture sostituibili sul disco. Ridurrà le prestazioni. - + Applies a shader which replicates the visual effects of different styles of television set. Applica uno shader che replica gli effetti visivi di diversi stili di televisore. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Salta la visualizzazione di frame che non cambiano in giochi a 25/30fps. Può migliorare la velocità ma aumentare l'input lag/peggiorare il frame pacing. - + Enables API-level validation of graphics commands. Abilita la validazione a livello API dei comandi grafici. - + Use Software Renderer For FMVs Usa renderer software per gli FMV - + To avoid TLB miss on Goemon. Per evitare dei miss TLB su Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Hack di temporizzazione per scopi generali. Influisce sui giochi seguenti: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Utile per problemi di emulazione della cache. Influisce sui giochi seguenti: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Influisce sui giochi seguenti: Bleach Blade Battlers, Growlanser II e III, Wizardry. - + Emulate GIF FIFO Emula GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Corretto ma più lento. Influisce sui giochi seguenti: Fifa Street 2. - + DMA Busy Hack Hack DMA Occupato - + Delay VIF1 Stalls Ritardo Blocchi VIF1 - + Emulate VIF FIFO Emula VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simula VIF1 FIFO di tipo read ahead. Influisce sui giochi seguenti: Test Drive Unlimited, Transformers. - + VU I Bit Hack Hack VU I Bit - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Evita la ricompilazione costante in alcuni giochi. Influisce sui giochi seguenti: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Per i giochi Tri-Ace: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. Per evitare problemi di sincronizzazione quando si leggono o scrivono i registri VU. - + VU XGKick Sync Sincronizzazione VU XGkick - + Force Blit Internal FPS Detection Forza Rilevamento FPS Interno Blit - + Save State Salva Stato - + Load Resume State Carica Stato di Ripresa - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Vuoi caricare questo salvataggio e continuare? - + Region: Regione: - + Compatibility: Compatibilità: - + No Game Selected Nessun Gioco Selezionato - + Search Directories Cartelle di Ricerca - + Adds a new directory to the game search list. Aggiunge una nuova directory alla lista di ricerca dei giochi. - + Scanning Subdirectories Scansione delle Sottocartelle - + Not Scanning Subdirectories Nessuna Scansione delle Sottocartelle - + List Settings Impostazioni Elenco - + Sets which view the game list will open to. Imposta come sarà visualizzata la lista di gioco. - + Determines which field the game list will be sorted by. Determina secondo quale campo verrà ordinato l'elenco dei giochi. - + Reverses the game list sort order from the default (usually ascending to descending). Inverte l'ordine di ordinamento della lista giochi dal valore predefinito (solitamente crescente in discendente). - + Cover Settings Impostazioni Copertina - + Downloads covers from a user-specified URL template. Scarica copertine da un modello di URL specificato dall'utente. - + Operations Operazioni - + Selects where anisotropic filtering is utilized when rendering textures. Seleziona dove viene utilizzato il filtraggio bilineare durante il rendering delle texture. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Usa metodo alternativo per calcolare gli FPS interni per evitare false letture in alcuni giochi. - + Identifies any new files added to the game directories. Identifica qualsiasi nuovo file aggiunto alle directory dei giochi. - + Forces a full rescan of all games previously identified. Forza una nuova scansione completa di tutti i giochi precedentemente identificati. - + Download Covers Scarica Copertine - + About PCSX2 Informazioni su PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 è un emulatore gratuito e open-source della PlayStation 2 (PS2). Il suo scopo è quello di emulare l'hardware della PS2, usando una combinazione di interpreti della CPU MIPS, ricompilatori e una macchina virtuale che gestisce stati hardware e la memoria di sistema della PS2. Questo ti permette di giocare ai giochi PS2 sul tuo PC, con molte funzioni e vantaggi aggiuntivi. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 e PS2 sono marchi registrati di Sony Interactive Entertainment. Questa applicazione non è affiliata in alcun modo con Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Quando abilitato e si è loggati, PCSX2 farà una scansione per gli obiettivi al caricamento del gioco. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. Modalità "Sfida" per gli obiettivi, incluso il monitoraggio della classifica. Disabilita le funzioni di salvataggio dello stato, trucchi e rallentamento. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Mostra messaggi popup su eventi come lo sblocco degli obiettivi e gli invii alle classifiche. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Riproduce effetti sonori per eventi come obiettivi sbloccati e invii alle classifiche. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Mostra le icone nell'angolo in basso a destra dello schermo quando una sfida/un obiettivo appuntato è attivo. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Quando abilitato, PCSX2 elencherà obiettivi dai set non ufficiali. Nota che questi obiettivi non vengono monitorati da RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Quando abilitato, PCSX2 presumerà che tutti gli obiettivi sono bloccati e non invierà alcuna notifica di sblocco al server. - + Error Errore - + Pauses the emulator when a controller with bindings is disconnected. Mette in pausa l'emulatore quando un controller con associazioni è disconnesso. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Crea una copia di backup di uno stato salvato se esiste già quando il salvataggio viene creato. La copia di backup ha come suffisso .backup - + Enable CDVD Precaching Abilita pre-caricamento CDVD - + Loads the disc image into RAM before starting the virtual machine. Carica l'immagine del disco nella RAM prima di avviare la macchina virtuale. - + Vertical Sync (VSync) Sincronizzazione verticale (Vsync) - + Sync to Host Refresh Rate Sincronizza con frequenza di aggiornamento host - + Use Host VSync Timing Usa Timing VSync dell'Host - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disabilita il frame time interno di PCSX2 e usa invece il vsync dell'host. - + Disable Mailbox Presentation Disabilita Presentazione Mailbox - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forza l'utilizzo della presentazione FIFO invece di quella Mailbox, cioè il doppio buffering invece del triplo buffering. Di solito si traduce in un peggioramento del ritmo dei fotogrammi. - + Audio Control Controllo audio - + Controls the volume of the audio played on the host. Controlla il volume dell'audio riprodotto sull'host. - + Fast Forward Volume Volume Avanzamento Rapido - + Controls the volume of the audio played on the host when fast forwarding. Controlla il volume dell'audio riprodotto sull'host durante l'avanzamento rapido. - + Mute All Sound Disattiva tutti i suoni - + Prevents the emulator from producing any audible sound. Impedisce all'emulatore di produrre qualsiasi suono udibile. - + Backend Settings Impostazioni Backend - + Audio Backend Backend Audio - + The audio backend determines how frames produced by the emulator are submitted to the host. Il backend audio determina come i frame prodotti dall'emulatore sono inviati all'host. - + Expansion Espansione - + Determines how audio is expanded from stereo to surround for supported games. Determina come l'audio viene espanso dallo stereo al surround per i giochi supportati. - + Synchronization Sincronizzazione - + Buffer Size Dimensione del Buffer - + Determines the amount of audio buffered before being pulled by the host API. Determina la quantità di buffer audio prima di essere ottenuto dall'API host. - + Output Latency Latenza di Output - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determina la latenza tra l'audio raccolto dall'API host e quello riprodotto attraverso gli altoparlanti. - + Minimal Output Latency Latenza Di Uscita Minima - + When enabled, the minimum supported output latency will be used for the host API. Se abilitato, verrà utilizzata la latenza minima di uscita supportata per l'API host. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Forza Posizione Sprite in Pari - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Visualizza i messaggi popup quando si avvia, si invia o si fallisce una sfida di leaderboard. - + When enabled, each session will behave as if no achievements have been unlocked. Se abilitata, ogni sessione si comporterà come se nessun risultato fosse stato sbloccato. - + Account Account - + Logs out of RetroAchievements. Disconnettiti da RetroAchievments. - + Logs in to RetroAchievements. Accedi a RetroAchievments. - + Current Game Gioco Attuale - + An error occurred while deleting empty game settings: {} Si è verificato un errore durante l'eliminazione delle impostazioni di gioco vuote: {} - + An error occurred while saving game settings: {} Si è verificato un errore durante il salvataggio delle impostazioni di gioco: {} - + {} is not a valid disc image. {} non è un'immagine disco valida. - + Automatic mapping completed for {}. Mappatura automatica completata per {}. - + Automatic mapping failed for {}. Mappatura automatica fallita per {}. - + Game settings initialized with global settings for '{}'. Impostazioni del gioco inizializzate con impostazioni globali per '{}'. - + Game settings have been cleared for '{}'. Le impostazioni del gioco sono state cancellate per '{}'. - + {} (Current) {} (Attuale) - + {} (Folder) {} (Cartella) - + Failed to load '{}'. Caricamento di '{}' non riuscito. - + Input profile '{}' loaded. Profilo di input '{}' caricato. - + Input profile '{}' saved. Profilo di input '{}' salvato. - + Failed to save input profile '{}'. Salvataggio del profilo di input '{}' non riuscito. - + Port {} Controller Type Tipo Controller Porta {} - + Select Macro {} Binds Seleziona Associazioni Macro {} - + Port {} Device Dispositivo Porta {} - + Port {} Subtype Sottotipo Porta {} - + {} unlabelled patch codes will automatically activate. {} codici di patch non etichettati si attiveranno automaticamente. - + {} unlabelled patch codes found but not enabled. {} codici di patch non etichettati trovati ma non abilitati. - + This Session: {} Questa sessione: {} - + All Time: {} Tempo Totale: {} - + Save Slot {0} Slot di Salvataggio {0} - + Saved {} Salvato {} - + {} does not exist. {} non esiste. - + {} deleted. {} eliminato. - + Failed to delete {}. Eliminazione di {} non riuscita. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Tempo giocato: {} - + Last Played: {} Giocato: {} - + Size: {:.2f} MB Dimensione: {:.2f} MB - + Left: Sinistra: - + Top: Sopra: - + Right: Destra: - + Bottom: Sotto: - + Summary Riepilogo - + Interface Settings Impostazioni Interfaccia - + BIOS Settings Impostazioni BIOS - + Emulation Settings Impostazioni Emulazione - + Graphics Settings Impostazioni grafiche - + Audio Settings Impostazioni audio - + Memory Card Settings Impostazioni Memory Card - + Controller Settings Impostazioni del controller - + Hotkey Settings Impostazioni Scorciatoie - + Achievements Settings Impostazioni Obiettivi - + Folder Settings Impostazioni cartelle - + Advanced Settings Impostazioni avanzate - + Patches Patch - + Cheats Trucchi - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed Velocità 50% - + 60% Speed Velocità 60% - + 75% Speed Velocità 75% - + 100% Speed (Default) Velocità 100% (predefinita) - + 130% Speed Velocità 130% - + 180% Speed Velocità 180% - + 300% Speed Velocità 300% - + Normal (Default) Normale (predefinita) - + Mild Underclock Underclock leggero - + Moderate Underclock Underclock moderato - + Maximum Underclock Underclock massimo - + Disabled Disabilitato - + 0 Frames (Hard Sync) 0 Frame (Hard Sync) - + 1 Frame 1 frame - + 2 Frames 2 Frame - + 3 Frames 3 Frame - + None Nessuno - + Extra + Preserve Sign Extra + preserva segno - + Full Completo - + Extra Extra - + Automatic (Default) Automatico (Predefinito) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Nessuno - + Off Disattivato - + Bilinear (Smooth) Bilineare (Smussato) - + Bilinear (Sharp) Bilineare (Nitido) - + Weave (Top Field First, Sawtooth) Trama (Dal campo superiore in giù, a dente di sega) - + Weave (Bottom Field First, Sawtooth) Trama (Dal campo inferiore in su, a dente di sega) - + Bob (Top Field First) Bob (prima il campo superiore) - + Bob (Bottom Field First) Bob (prima il campo in basso) - + Blend (Top Field First, Half FPS) Blend (Prima il campo superiore, metà FPS) - + Blend (Bottom Field First, Half FPS) Blend (Prima il campo inferiore, metà FPS) - + Adaptive (Top Field First) Adattivo (prima il campo superiore) - + Adaptive (Bottom Field First) Adattivo (prima il campo inferiore) - + Native (PS2) Nativo (PS2) - + Nearest Più vicino - + Bilinear (Forced) Bilineare (Forzato) - + Bilinear (PS2) Bilineare (PS2) - + Bilinear (Forced excluding sprite) Bilineare (forzato eccetto sprite) - + Off (None) Disattivato (nessuno) - + Trilinear (PS2) Trilineare (PS2) - + Trilinear (Forced) Trilineare (Forzato) - + Scaled Ridimensionato - + Unscaled (Default) Non ridimensionato (Predefinito) - + Minimum Minimo - + Basic (Recommended) Di base (consigliato) - + Medium Medio - + High Elevato - + Full (Slow) Completo (lento) - + Maximum (Very Slow) Massimo (Molto Lento) - + Off (Default) Disattivato (predefinito) - + 2x x2 - + 4x x4 - + 8x x8 - + 16x x16 - + Partial Parziale - + Full (Hash Cache) Completa (Cache Hash) - + Force Disabled Forza disabilitazione - + Force Enabled Forza abilitazione - + Accurate (Recommended) Accurata (consigliata) - + Disable Readbacks (Synchronize GS Thread) Disabilita Readback (Sincronizza thread GS) - + Unsynchronized (Non-Deterministic) Non sincronizzato (Non deterministico) - + Disabled (Ignore Transfers) Disabilitato (Ignora trasferimenti) - + Screen Resolution Risoluzione dello Schermo - + Internal Resolution (Aspect Uncorrected) Risoluzione Interna (Aspetto Non Corretto) - + Load/Save State Carica/Salva Stato - + WARNING: Memory Card Busy ATTENZIONE: Memory Card Occupata - + Cannot show details for games which were not scanned in the game list. Impossibile mostrare i dettagli per i giochi che non sono stati analizzati nell'elenco dei giochi. - + Pause On Controller Disconnection Metti in pausa quando il controller è disconnesso - + + Use Save State Selector + Usa Selettore Salvataggio di Stato + + + SDL DualSense Player LED LED SDL giocatore del controller DualSense - + Press To Toggle Premi Per Attivare/Disattivare - + Deadzone Zona morta - + Full Boot Avvio Completo - + Achievement Notifications Mostra Notifiche Obiettivi - + Leaderboard Notifications Mostra Notifiche Classifiche - + Enable In-Game Overlays Abilita Overlay Nel Gioco - + Encore Mode Encore Mode - + Spectator Mode Modalità spettatore - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Converti frame buffer a 4 e 8 bit sulla CPU anziché sulla GPU. - + Removes the current card from the slot. Rimuove la Memory Card attuale dall'ingresso. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determina la frequenza con cui la macro attiverà/disattiverà i pulsanti (come il fuoco automatico). - + {} Frames {} Fotogrammi - + No Deinterlacing Nessun Deinterlacciamento - + Force 32bit Forza 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabilitato) - + 1 (64 Max Width) 1 (Larghezza Massima 64) - + 2 (128 Max Width) 2 (Larghezza Massima 128) - + 3 (192 Max Width) 3 (Larghezza Massima 192) - + 4 (256 Max Width) 4 (Larghezza Massima 256) - + 5 (320 Max Width) 5 (Larghezza Massima 320) - + 6 (384 Max Width) 6 (Larghezza Massima 384) - + 7 (448 Max Width) 7 (Larghezza Massima 448) - + 8 (512 Max Width) 8 (Larghezza Massima 512) - + 9 (576 Max Width) 9 (Larghezza Massima 576) - + 10 (640 Max Width) 10 (Larghezza Massima 640) - + Sprites Only Solo Sprite - + Sprites/Triangles Sprite/Triangoli - + Blended Sprites/Triangles Sprite/Triangoli Miscelati - + 1 (Normal) 1 (Normale) - + 2 (Aggressive) 2 (Aggressivo) - + Inside Target Target Interno - + Merge Targets Unisci Target - + Normal (Vertex) Normale (Vertice) - + Special (Texture) Speciale (Texture) - + Special (Texture - Aggressive) Speciale (Texture - Aggressivo) - + Align To Native Allinea A Nativo - + Half Metà - + Force Bilinear Forza Bilineare - + Force Nearest Forza Più vicino - + Disabled (Default) Disabilitato (Predefinito) - + Enabled (Sprites Only) Abilitato (Solo Sprite) - + Enabled (All Primitives) Abilitato (Tutte le Primitive) - + None (Default) Nessuno (Predefinito) - + Sharpen Only (Internal Resolution) Solo nitidezza (risoluzione interna) - + Sharpen and Resize (Display Resolution) Rende nitido e ridimensiona (risoluzione dello schermo) - + Scanline Filter Filtro linee di scansione - + Diagonal Filter Filtro diagonale - + Triangular Filter Filtro Triangolare - + Wave Filter Filtro onda - + Lottes CRT CRT di Lottes - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Non compresso - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negativo - + Positive Positivo - + Chop/Zero (Default) Taglia/Zero (Predefinito) - + Game Grid Griglia dei Giochi - + Game List Lista dei giochi - + Game List Settings Impostazioni Elenco - + Type Tipo - + Serial Seriale - + Title Titolo - + File Title Titolo del File - + CRC CRC - + Time Played Tempo giocato - + Last Played Giocato - + Size Dimensione - + Select Disc Image Seleziona immagine del disco - + Select Disc Drive Seleziona unità disco - + Start File Avvia File - + Start BIOS Avvia BIOS - + Start Disc Avvia Disco - + Exit Esci - + Set Input Binding Imposta Associazione Input - + Region Regione - + Compatibility Rating Valutazione di compatibilità - + Path Percorso - + Disc Path Percorso del disco - + Select Disc Path Seleziona Percorso del disco - + Copy Settings Copia Impostazioni - + Clear Settings Cancella impostazioni - + Inhibit Screensaver Blocca salvaschermo - + Enable Discord Presence Attiva la Discord Rich Presence - + Pause On Start Pausa all'avvio - + Pause On Focus Loss Metti in pausa al passaggio in secondo piano - + Pause On Menu Pausa Nel Menu - + Confirm Shutdown Conferma spegnimento - + Save State On Shutdown Salva stato allo spegnimento - + Use Light Theme Usa Tema Chiaro - + Start Fullscreen Avvia a schermo intero - + Double-Click Toggles Fullscreen Il doppio clic passa allo schermo intero - + Hide Cursor In Fullscreen Nascondi il cursore a schermo intero - + OSD Scale Scala OSD - + Show Messages Mostra i messaggi - + Show Speed Mostra velocità - + Show FPS Mostra FPS - + Show CPU Usage Mostra utilizzo CPU - + Show GPU Usage Mostra utilizzo GPU - + Show Resolution Mostra risoluzione - + Show GS Statistics Mostra Statistiche GS - + Show Status Indicators Mostra indicatori di stato - + Show Settings Mostra impostazioni - + Show Inputs Mostra input - + Warn About Unsafe Settings Avvisa quando si utilizzano impostazioni non sicure - + Reset Settings Ripristina Impostazioni - + Change Search Directory Cambia Cartella Di Ricerca - + Fast Boot Avvio veloce - + Output Volume Volume di uscita - + Memory Card Directory Cartella delle Memory Card - + Folder Memory Card Filter Filtro della Memory Card Cartella - + Create Crea - + Cancel Annulla - + Load Profile Carica Profilo - + Save Profile Salva Profilo - + Enable SDL Input Source Abilita sorgente di input SDL - + SDL DualShock 4 / DualSense Enhanced Mode Modalità potenziata DualShock 4 / DualSense - + SDL Raw Input Input Grezzo SDL - + Enable XInput Input Source Abilita sorgente di input XInput - + Enable Console Port 1 Multitap Abilita Multitap Console Porta 1 - + Enable Console Port 2 Multitap Abilita Multitap Console Porta 2 - + Controller Port {}{} Ingresso Controller {}{} - + Controller Port {} Ingresso Controller {} - + Controller Type Tipo di Controller - + Automatic Mapping Mappatura Automatica - + Controller Port {}{} Macros Macro per Porta Controller %1 - + Controller Port {} Macros Macro per Porta Controller %1 - + Macro Button {} Pulsante Macro {} - + Buttons Pulsanti - + Frequency Frequenza - + Pressure Pressione - + Controller Port {}{} Settings Impostazioni Porta Controller {}{} - + Controller Port {} Settings Impostazioni Porta Controller {} - + USB Port {} Porta USB {} - + Device Type Tipo di dispositivo - + Device Subtype Sottotipo di dispositivo - + {} Bindings {} Associazioni - + Clear Bindings Elimina Associazioni - + {} Settings {} Impostazioni - + Cache Directory Cartella Cache - + Covers Directory Cartella delle copertine - + Snapshots Directory Cartella screenshot - + Save States Directory Cartella stati salvati - + Game Settings Directory Cartella Impostazioni Di Gioco - + Input Profile Directory Cartella Profilo Input - + Cheats Directory Cartella dei trucchi - + Patches Directory Cartella delle Patch - + Texture Replacements Directory Cartella Delle Sostituzioni Delle Texture - + Video Dumping Directory Cartella Di Dumping Video - + Resume Game Riprendi la partita - + Toggle Frame Limit Attiva/Disattiva Limitatore di Frame - + Game Properties Proprietà del Gioco - + Achievements Obiettivi - + Save Screenshot Cattura Schermata - + Switch To Software Renderer Passa Al Renderer Software - + Switch To Hardware Renderer Passa Al Renderer Hardware - + Change Disc Cambia Disco - + Close Game Chiudi Gioco - + Exit Without Saving Esci senza salvare - + Back To Pause Menu Torna Al Menu Pausa - + Exit And Save State Esci E Salva Stato - + Leaderboards Classifiche - + Delete Save Elimina Salvataggio - + Close Menu Chiudi Menu - + Delete State Elimina stato - + Default Boot Avvio Predefinito - + Reset Play Time Reimposta tempo di gioco - + Add Search Directory Aggiungi cartella di ricerca - + Open in File Browser Apri nel File Browser - + Disable Subdirectory Scanning Disabilita Scansione Sottocartella - + Enable Subdirectory Scanning Abilita Scansione Sottocartella - + Remove From List Rimuovi dall'elenco - + Default View Visualizzazione predefinita - + Sort By Ordina per - + Sort Reversed Ordinamento Invertito - + Scan For New Games Scansione nuovi giochi - + Rescan All Games Riscansiona tutti i giochi - + Website Sito web - + Support Forums Forum di supporto - + GitHub Repository Repository GitHub - + License Licenza - + Close Chiudi - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration è in uso al posto dell'implementazione degli obiettivi integrata. - + Enable Achievements Abilita obiettivi - + Hardcore Mode Modalità Hardcore - + Sound Effects Effetti Sonori - + Test Unofficial Achievements Testa Obiettivi non ufficiali - + Username: {} Nome utente: {} - + Login token generated on {} Token di login generato su {} - + Logout Disconnettiti - + Not Logged In Accesso non effettuato - + Login Accedi - + Game: {0} ({1}) Gioco: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence disattivata o non supportata. - + Game not loaded or no RetroAchievements available. Gioco non caricato o nessun RetroAchievement disponibile. - + Card Enabled Scheda Abilitata - + Card Name Nome della Scheda - + Eject Card Espelli Memory Card @@ -11072,32 +11131,42 @@ La scansione ricorsiva richiede più tempo, ma identificherà i file nelle sotto Qualsiasi patch inclusa in PCSX2 per questo gioco sarà disabilitata dal momento che hai caricato delle patch senza etichetta. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Le patch Widescreen sono attualmente <span style=" font-weight:600;">ABILITATE</span> globalmente.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Le patch No-Interlacciamento sono attualmente <span style=" font-weight:600;">ABILITATE</span> globalmente.</p></body></html> + + + All CRCs Tutti i CRC - + Reload Patches Ricarica Patch - + Show Patches For All CRCs Mostra Patch Per Tutti I CRC - + Checked Spuntato - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Attiva/Disattiva la scansione dei file patch per tutti i CRC del gioco. Abilitando questa opzione verranno caricate anche le patch disponibili con lo stesso numero di serie ma con CRC diversi. - + There are no patches available for this game. Non sono disponibili patch per questo gioco. @@ -11573,11 +11642,11 @@ La scansione ricorsiva richiede più tempo, ma identificherà i file nelle sotto - - - - - + + + + + Off (Default) Disattivato (predefinito) @@ -11587,10 +11656,10 @@ La scansione ricorsiva richiede più tempo, ma identificherà i file nelle sotto - - - - + + + + Automatic (Default) Automatico (Predefinito) @@ -11657,7 +11726,7 @@ La scansione ricorsiva richiede più tempo, ma identificherà i file nelle sotto - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilineare (Smussato) @@ -11723,29 +11792,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Offset Schermo - + Show Overscan Mostra overscan - - - Enable Widescreen Patches - Abilita patch widescreen - - - - Enable No-Interlacing Patches - Abilita le patch No-Interlacciamento - - + Anti-Blur Anti-Sfocatura @@ -11756,7 +11815,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disattiva offset per l'interlacciamento @@ -11766,18 +11825,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Dimensione Screenshot: - + Screen Resolution Risoluzione dello Schermo - + Internal Resolution Risoluzione Interna - + PNG PNG @@ -11829,7 +11888,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilineare (PS2) @@ -11876,7 +11935,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Non ridimensionato (Predefinito) @@ -11892,7 +11951,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Di base (consigliata) @@ -11928,7 +11987,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Completa (Cache Hash) @@ -11944,31 +12003,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disabilita Conversione Profondità - + GPU Palette Conversion Conversione palette GPU - + Manual Hardware Renderer Fixes Correzioni manuali renderer hardware - + Spin GPU During Readbacks Mantieni attiva la GPU durante la lettura - + Spin CPU During Readbacks Mantieni attiva la CPU durante la lettura @@ -11980,15 +12039,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Cancellazione automatica @@ -12016,8 +12075,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabilitato) @@ -12074,18 +12133,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disabilita le funzioni sicure - + Preload Frame Data Precarica Dati Frame - + Texture Inside RT Texture dentro RT @@ -12184,13 +12243,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Unisci Sprite - + Align Sprite Allinea Sprite @@ -12204,16 +12263,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Nessun Deinterlacciamento - - - Apply Widescreen Patches - Applica patch widescreen - - - - Apply No-Interlacing Patches - Applica le patch No-Interlacciamento - Window Resolution (Aspect Corrected) @@ -12286,25 +12335,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disabilita Invalidazione Parziale della Sorgente - + Read Targets When Closing Leggi Target Alla Chiusura - + Estimate Texture Region Stima Regione delle Texture - + Disable Render Fixes Disabilita Correzioni Render @@ -12315,7 +12364,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Draw di Texture Gamma Non Scalate @@ -12374,25 +12423,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Scarica Texture - + Dump Mipmaps Scarica Mipmaps - + Dump FMV Textures Scarica Texture degli FMV - + Load Textures Carica Texture @@ -12402,6 +12451,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Nativo (10:7) + + + Apply Widescreen Patches + Applica patch widescreen + + + + Apply No-Interlacing Patches + Applica le patch No-Interlacciamento + Native Scaling @@ -12419,13 +12478,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Forza Posizione Sprite in Pari - + Precache Textures Precarica Texture @@ -12448,8 +12507,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Nessuno (Predefinito) @@ -12470,7 +12529,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12522,7 +12581,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Aumento Ombre @@ -12537,7 +12596,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrasto: - + Saturation Saturazione @@ -12558,50 +12617,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Mostra Indicatori - + Show Resolution Mostra risoluzione - + Show Inputs Mostra input - + Show GPU Usage Mostra utilizzo GPU - + Show Settings Mostra impostazioni - + Show FPS Mostra FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disabilita Presentazione Mailbox - + Extended Upscaling Multipliers Moltiplicatori Di Upscaling Estesi @@ -12617,13 +12676,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Mostra Statistiche - + Asynchronous Texture Loading Caricamento Asincrono delle Texture @@ -12634,13 +12693,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Mostra utilizzo CPU - + Warn About Unsafe Settings Avvisa sulle impostazioni non sicure @@ -12666,7 +12725,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Sinistra (Predefinito) @@ -12677,43 +12736,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Destra (Predefinito) - + Show Frame Times Mostra frame time - + Show PCSX2 Version Mostra Versione Pcsx2 - + Show Hardware Info Mostra informazioni Hardware - + Show Input Recording Status Mostra Stato Registrazione Input - + Show Video Capture Status Mostra Stato Cattura Video - + Show VPS Mostra VPS @@ -12822,19 +12881,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Salta la presentazione di frame duplicati - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12887,7 +12946,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Mostra Percentuali di Velocità @@ -12897,1214 +12956,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disabilita Fetch del Framebuffer - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Nessuno - + 2x x2 - + 4x x4 - + 8x x8 - + 16x x16 - - - - + + + + Use Global Setting [%1] Usa impostazione globale [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Non spuntato - + + Enable Widescreen Patches + Abilita patch widescreen + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Carica e applica automaticamente le patch widescreen all'avvio del gioco. Può causare problemi. - + + Enable No-Interlacing Patches + Abilita le patch No-Interlacciamento + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Carica e applica automaticamente le patch elimina-interlacciamento all'avvio del gioco. Può causare problemi. + Carica e applica automaticamente le patch no-interlacciamento all'avvio del gioco. Può causare problemi. - + Disables interlacing offset which may reduce blurring in some situations. Disabilita l'offset dell'interlacciamento che potrebbe ridurre la sfocatura in alcune situazioni. - + Bilinear Filtering Filtraggio bilineare - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Abilita il filtro bilineare per il post-processing. Smussa l'immagine complessiva mentre viene visualizzata sullo schermo. Corregge il posizionamento fra i pixel. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Abilita gli offset PCRTC che posizionano lo schermo come il gioco richiede. Utile per alcuni giochi come WipEout Fusion per il suo effetto di screen shake, ma può rendere l'immagine sfocata. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Abilita l'opzione per mostrare l'area di overscan in giochi che disegnano più dell'area sicura dello schermo. - + FMV Aspect Ratio Override Sostituisci Proporzioni FMV - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determina il metodo di deinterlacciamento da utilizzare sullo schermo interlacciato della console emulata. Automatico dovrebbe essere in grado di deinterlacciare correttamente la maggior parte dei giochi, ma se si notano tremolii evidenti nell'immagine provare a scegliere una delle opzioni disponibili. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Controlla il livello di precisione dell'emulazione dell'unità di blending del GS.<br> Quanto più alto viene impostato, tanto più accuratamente viene emulato il blending nello shader e tanto più grande sarà la penalizzazione per la velocità.<br> Nota che il blending Direct3D è di capacità ridotta rispetto a OpenGL/Vulkan. - + Software Rendering Threads Thread di rendering software - + CPU Sprite Render Size Dimensione del renderer delle sprite nella CPU - + Software CLUT Render Render Software CLUT - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Cerca di rilevare quando un gioco sta disegnando la propria tavolozza di colori e poi lo renderizza nella GPU con un trattamento speciale. - + This option disables game-specific render fixes. Quest'opzione disabilita le correzioni del render specifiche per il gioco. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Per impostazione predefinita, la cache delle texture gestisce le invalidazioni parziali. Sfortunatamente è molto costosa da calcolare a livello di CPU. Questo hack sostituisce l'invalidazione parziale con una cancellazione completa della texture per ridurre il carico sulla CPU. Aiuta i giochi con motore Snowblind. - + Framebuffer Conversion Conversione del Buffer dei Frame - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Converte i frame buffer da 4-bit e 8-bit sulla CPU invece che sulla GPU. Aiuta con i giochi di Harry Potter e Stuntman. Ha un forte impatto sulle prestazioni. - - + + Disabled Disabilitato - - Remove Unsupported Settings - Rimuovi Impostazioni Non Supportate - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Al momento le opzioni <strong>Abilita Patch Widescreen</strong> oppure <strong>Abilita patch No-Interlacciamento</strong> sono attive per questo gioco.<br><br>Non supportiamo più queste opzioni, invece <strong>dovresti selezionare la sezione "Patch" e abilitare esplicitamente le patch che vuoi.</strong><br><br>Vuoi rimuovere queste opzioni dalla tua configurazione di gioco ora? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Sovrascrive il rapporto d'aspetto dei filmati (FMV). Se viene disabilitato, le proporzioni dei filmati saranno le stesse indicate nell'impostazione Generale Rapporto d'Aspetto. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Abilita il mipmapping, che alcuni giochi richiedono per renderizzare correttamente. Il mipmapping utilizza variazioni di risoluzione delle texture progressivamente più basse a distanze sempre maggiori per ridurre il carico di elaborazione ed evitare artefatti visivi. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Cambia l'algoritmo di filtraggio utilizzato per mappare le texture alle superfici.<br> Più vicino: non fa alcun tentativo di miscelare i colori.<br> Bilineare (forzato): fonderà i colori insieme per rimuovere i bordi duri tra diversi pixel colorati anche se il gioco non lo richiede sull'hardware Ps2.<br> Bilineare (PS2): Applicherà il filtraggio su tutte le superfici allo stesso modo in cui avviene sull'hardware PS2.<br> Bilineare (Forzato Eccetto Sprite): Applicerà il filtraggio su tutte le superfici, tranne agli sprite, anche se il gioco sull'hardware Ps2 non lo richiede. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Riduce la sfocatura di grandi texture applicate a piccole superfici inclinate, campionando i colori dai due Mipmaps più vicini. Richiede che il Mipmapping sia 'abilitato'.<br> Off: Disabilita la funzione.<br> Trilineare (PS2): Applica filtraggio trilineare a tutte le superfici come avviene sull'hardware Ps2.<br> Trilineare (forzato): Applica filtraggio trilineare a tutte le superfici, anche se il gioco non lo richiede sull'hardware Ps2. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Riduce il banding fra i colori e migliora la profondità di colore percepita.<br> Disattivato: Disabilita il dithering.<br> Ridimensionato: basato sul fattore di upscaling / Effetto dithering più evidente. <br> Non ridimensionato: Dithering Nativo / Effetto di dithering più basso che non aumenta la dimensione dei quadrati quando si ridimensiona.<br> Forza 32bit: Tratta tutti i disegni come se fossero 32bit per evitare il banding e il dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Esegue carichi inutili sulla CPU durante le riletture per impedire che essa vada in modalità di risparmio energetico. Potrebbe migliorare le prestazioni durante le riletture ma con un significativo aumento del consumo energetico. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Invia carichi inutili alla GPU durante le riletture per impedire che essa vada in modalità di risparmio energetico. Potrebbe migliorare le prestazioni durante le riletture ma con un significativo aumento del consumo energetico. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Numero di thread di renderizzazione: 0 per singolo thread, 2 o più per il multi-thread (1 è per il debug). Si raccomandano da 2 a 4 thread, qualsiasi numero maggiore di 4 è probabile che porti ad un rallentamento invece che ad un aumento di prestazioni. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disabilita il supporto dei buffer di profondità nella cache delle texture. Potrebbe creare vari problemi ed è utile solo per il debug. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Consente alla cache delle texture di riutilizzare come texture di input la porzione interna di un precedente framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Scarta tutti i target nella cache delle texture sulla memoria locale quando si spegne. Può prevenire la perdita di grafica quando si salva lo stato o si cambia il renderer, ma può anche causare corruzione grafica. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Tenta di ridurre la dimensione delle texture quando i giochi non la impostano da soli (ad es. giochi Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Corregge i problemi con il ridimensionamento (linee verticali) in giochi della Namco come Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Scarica texture sostituibili sul disco. Ridurrà le prestazioni. - + Includes mipmaps when dumping textures. Include le mipmap quando si scaricano le texture. - + Allows texture dumping when FMVs are active. You should not enable this. Consente lo scaricamento delle texture quando gli FMV sono attivi. Non dovresti abilitare quest'opzione. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carica le texture di sostituzione su un thread di lavoro, riducendo il microstuttering quando sono abilitate le sostituzioni. - + Loads replacement textures where available and user-provided. Carica le texture di sostituzione se disponibili e fornite dall'utente. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Precarica tutte le texture sostituite in memoria. Non necessario con il caricamento asincrono. - + Enables FidelityFX Contrast Adaptive Sharpening. Abilita la nitidezza adattiva del contrasto FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. Determina l'intensità dell'effetto di nitidezza nell'effetto post processing CAS. - + Adjusts brightness. 50 is normal. Regola la luminosità. 50 è quella normale. - + Adjusts contrast. 50 is normal. Regola il contrasto. 50 è quello normale. - + Adjusts saturation. 50 is normal. Regola la saturazione. 50 è quella normale. - + Scales the size of the onscreen OSD from 50% to 500%. Ridimensiona l'OSD in sovraimpressione da 50% a 100%. - + OSD Messages Position Posizione dei Messaggi OSD - + OSD Statistics Position Posizione delle Statistiche OSD - + Shows a variety of on-screen performance data points as selected by the user. Mostra una varietà di dati delle performance a schermo secondo le preferenze dell'utente. - + Shows the vsync rate of the emulator in the top-right corner of the display. Mostra la frequenza di aggiornamento vsync dell'emulatore nell'angolo in alto a destra del display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Mostra indicatori icona OSD per stati di emulazione come In Pausa, Turbo, Avanzamento Rapido, e Rallentatore. - + Displays various settings and the current values of those settings, useful for debugging. Visualizza varie impostazioni e i valori attuali di quelle impostazioni, utile per debuggare. - + Displays a graph showing the average frametimes. Visualizza un grafico che mostra i frametime medi. - + Shows the current system hardware information on the OSD. Mostra informazioni sull'hardware in uso nell'OSD. - + Video Codec Codec Video - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Seleziona il codec video da usare per l'acquisizione video. <b>Se non si è sicuri, lasciare il codec predefinito.<b> - + Video Format Formato video - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Seleziona il formato video da usare per l'acquisizione video. Se il codec non può utilizzare il formato scelto, verrà utilizzato il primo formato disponibile. <b>Se non si è sicuri, utilizzare il formato predefinito.<b> - + Video Bitrate Bitrate del video - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Determina la quantità di bitrate video da utilizzare. Un bitrate maggiore generalmente produce una migliore qualità video al costo di una maggiore dimensione del file ottenuto. - + Automatic Resolution Risoluzione Automatica - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Se selezionato, la risoluzione di acquisizione video segue la risoluzione interna del gioco in esecuzione.<br><br><b>Fai attenzione quando usi questa impostazione, specialmente quando stai usando l'upscale, poichè una risoluzione interna superiore (superiore a 4x) può portare a catturare video molto grandi e può causare sovraccarico di sistema.</b> - + Enable Extra Video Arguments Abilita Argomenti Video Extra - + Allows you to pass arguments to the selected video codec. Consente di passare gli argomenti al codec video selezionato. - + Extra Video Arguments Argomenti Video Extra - + Audio Codec Codec audio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Seleziona il codec audio da usare per l'acquisizione audio. <b>Se non si è sicuri, lasciare il codec predefinito.<b> - + Audio Bitrate Bitrate Audio - + Enable Extra Audio Arguments Abilita Argomenti Audio Extra - + Allows you to pass arguments to the selected audio codec. Consente di passare gli argomenti al codec audio selezionato. - + Extra Audio Arguments Argomenti Audio Extra - + Allow Exclusive Fullscreen Abilita Schermo Intero Esclusivo - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Ignora l'euristica del driver per abilitare lo schermo intero esclusivo, o il flip/scanout diretto.<br>Non consentire lo schermo intero esclusivo potrebbe portare a task switching e overlay più fluidi, ma aumentare la latenza dell'input. - + 1.25x Native (~450px) 1.25x Nativo (~450px) - + 1.5x Native (~540px) 1.5x Nativo (~540px) - + 1.75x Native (~630px) 1.75x Nativo (~630px) - + 2x Native (~720px/HD) 2x Nativo (~720px/HD) - + 2.5x Native (~900px/HD+) 2,5x Nativo (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Nativo (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Nativo (~1260px) - + 4x Native (~1440px/QHD) 4x Nativo (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Nativo (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Nativo (~2160px/4K UHD) - + 7x Native (~2520px) 7x Nativo (~2520px) - + 8x Native (~2880px/5K UHD) 8x Nativo (~2880px/5K UHD) - + 9x Native (~3240px) 9x Nativo (~3240px) - + 10x Native (~3600px/6K UHD) 10x Nativo (~3600px/6K UHD) - + 11x Native (~3960px) 11x Nativo (~3960px) - + 12x Native (~4320px/8K UHD) 12x Nativo (~4320px/8K UHD) - + 13x Native (~4680px) 13x Nativo (~4680px) - + 14x Native (~5040px) 14x Nativo (~5040px) - + 15x Native (~5400px) 15x Nativo (~5400px) - + 16x Native (~5760px) 16x Nativo (~5760px) - + 17x Native (~6120px) 17x Nativo (~6120px) - + 18x Native (~6480px/12K UHD) 18x Nativo (~6480px/12K UHD) - + 19x Native (~6840px) 19x Nativo (~6840px) - + 20x Native (~7200px) 20x Nativo (~7200px) - + 21x Native (~7560px) 21x Nativo (~7560px) - + 22x Native (~7920px) 22x Nativo (~7920px) - + 23x Native (~8280px) 23x Nativo (~8280px) - + 24x Native (~8640px/16K UHD) 24x Nativo (~8640px/16K UHD) - + 25x Native (~9000px) 25x Nativo (~9000px) - - + + %1x Native %1x Nativo - - - - - - - - - + + + + + + + + + Checked Spuntato - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Abilita gli hack interni anti-sfocatura. Meno accurato rispetto al rendering della PS2 ma farà sembrare molti giochi meno sfocati. - + Integer Scaling Ridimensionamento per interi - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Aggiunge dei "cuscinetti" all'area del display per assicurare che il rapporto fra pixel sull'host e pixel nella console sia un numero intero. Potrebbe risultare in un'immagine più nitida in alcuni giochi in 2D. - + Aspect Ratio Rapporto d'aspetto - + Auto Standard (4:3/3:2 Progressive) Standard Automatico (4:3/3:2 Progressivo) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Cambia il rapporto d'aspetto usato per visualizzare l'output della console sullo schermo. Quello predefinito è Auto Standard (4:3/3:2 Progressivo) che regola automaticamente le proporzioni per corrispondere al modo in cui un gioco verrebbe mostrato su una TV tipica dell'epoca. - + Deinterlacing Deinterlacciamento - + Screenshot Size Dimensione Screenshot - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determina la risoluzione in cui gli screenshot verranno salvati. Le risoluzioni interne preservano più dettagli a costo di maggiori dimensioni del file. - + Screenshot Format Formato screenshot - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Seleziona il formato che verrà usato per salvare gli screenshot. JPEG produce file più piccoli, ma perde dettagli. - + Screenshot Quality Qualità screenshot - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Seleziona la qualità in cui verranno compressi gli screenshot. Valori più elevati preservano più dettagli in JPEG, e riducono la dimensione del file in PNG. - - + + 100% 100% - + Vertical Stretch Allungamento verticale - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Allunga (&lt; 100%) o comprime (&gt; 100%) la componente verticale dello schermo. - + Fullscreen Mode Modalità schermo intero - - - + + + Borderless Fullscreen Schermo intero senza bordi - + Chooses the fullscreen resolution and frequency. Sceglie la risoluzione e la frequenza a schermo intero. - + Left Sinistra - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Cambia il numero di pixel tagliati dal lato sinistro dello schermo. - + Top Sopra - + Changes the number of pixels cropped from the top of the display. Cambia il numero di pixel tagliati dal lato superiore dello schermo. - + Right Destra - + Changes the number of pixels cropped from the right side of the display. Cambia il numero di pixel tagliati dal lato destro dello schermo. - + Bottom Sotto - + Changes the number of pixels cropped from the bottom of the display. Cambia il numero di pixel tagliati dal lato inferiore dello schermo. - - + + Native (PS2) (Default) Nativa (PS2) (Predefinita) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Controlla la risoluzione a cui vengono renderizzati i giochi. Risoluzioni più alte possono avere un impatto sulle prestazioni delle GPU più vecchie o di fascia bassa.<br>La risoluzione non nativa può causare piccoli problemi grafici in alcuni giochi.<br>La risoluzione degli FMV rimarrà invariata, poiché i file video sono pre-renderizzati. - + Texture Filtering Filtraggio texture - + Trilinear Filtering Filtraggio trilineare - + Anisotropic Filtering Filtraggio anisotropico - + Reduces texture aliasing at extreme viewing angles. Riduce l'aliasing delle texture in angoli di visione estremi. - + Dithering Dithering - + Blending Accuracy Precisione del blending - + Texture Preloading Precaricamento delle texture - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Carica intere texture contemporaneamente invece che a piccoli pezzi, evitando caricamenti ridondanti quando possibile. Migliora le prestazioni nella maggior parte dei giochi, ma può rallentarne una piccola selezione. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Quando è abilitato la GPU converte le texture colormap, in caso contrario lo farà la CPU. È uno scambio fra GPU e CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Abilitare quest'opzione ti dà la possibilità di cambiare il renderer e le correzioni di ridimensionamento per i tuoi giochi. Tuttavia SE hai ABILITATO quest'opzione, DISABILITERAI LE IMPOSTAZIONI AUTOMATICHE e potrai riabilitarle togliendo la spunta a quest'opzione. - + 2 threads 2 thread - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Forza uno svuotamento primitivo quando un framebuffer è anche una texture di input. Corregge alcuni effetti di elaborazione come le ombre nella serie di Jak e la radiosità in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Abilita il mipmapping, che alcuni giochi richiedono per renderizzare correttamente. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. La massima larghezza di memoria di destinazione che permetterà al Renderer Sprite CPU di attivarsi. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Cerca di rilevare quando un gioco sta disegnando la propria tavolozza di colori e poi lo renderizza nel software, invece che sulla GPU. - + GPU Target CLUT CLUT obiettivo GPU - + Skipdraw Range Start Inizio dell'intervallo di Skipdraw - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Salta completamente il disegno delle superfici dalla superficie nella casella sinistra fino alla superficie specificata nella casella sulla destra. - + Skipdraw Range End Fine dell'intervallo di Skipdraw - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Quest'opzione disabilita multiple funzioni sicure. Disabilita il rendering preciso di punti e linee di non ridimensionamento che possono aiutare nei giochi di Xenosaga. Disabilita l'esecuzione accurata della pulizia della memoria del GS sulla CPU, e lascia che se ne occupi la GPU, cosa che può aiutare nei giochi di Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Carica i dati GS durante il rendering di un nuovo fotogramma per riprodurre accuratamente alcuni effetti. - + Half Pixel Offset Offset di mezzo pixel - + Might fix some misaligned fog, bloom, or blend effect. Potrebbe correggere qualche effetto di nebbia, bloom o blend disallineato. - + Round Sprite Arrotondamento sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corregge il campionamento di texture delle sprite in 2D quando si ridimensiona. Corregge le linee nelle sprite di giochi come Ar Tonelico quando si ridimensiona. L' opzione Metà è per sprite piatte, l'opzione Completo è per tutte le sprite. - + Texture Offsets X Offset X delle texture - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset per le coordinate ST/UV delle texture. Corregge alcuni problemi strani di texture e potrebbe correggere anche dell'allineamento di post elaborazione. - + Texture Offsets Y Offset Y delle texture - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Riduce la precisione del GS per evitare spazi fra i pixel quando si ridimensiona. Corregge il testo nei giochi di Wild Arms. - + Bilinear Upscale Upscale bilineare - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Può smussare le texture che devono essere filtrate bilinearmente nel ridimensionamento. Ad es. il bagliore del sole in Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Sostituisce la post elaborazione di multiple sprite lastricate con una singola grossa sprite. Riduce varie linee di ridimensionamento. - + Force palette texture draws to render at native resolution. Forza i disegni della tavolozza della texture a renderizzare in risoluzione nativa. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Nitificatore a contrasto adattivo (CAS) - + Sharpness Nitidezza - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Abilita la regolazione di saturazione, contrasto e luminosità. Il valore predefinito di luminosità, saturazione e contrasto è 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applica l'algoritmo di anti-aliasing FXAA per migliorare la qualità visiva dei giochi. - + Brightness Luminosità - - - + + + 50 50 - + Contrast Contrasto - + TV Shader Shader TV - + Applies a shader which replicates the visual effects of different styles of television set. Applica uno shader che replica gli effetti visivi di diversi stili di televisore. - + OSD Scale Scala OSD - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Mostra messaggi a schermo quando si verificano eventi come la creazione/il caricamento di stati salvati, l'acquisizione di screenshot, ecc. - + Shows the internal frame rate of the game in the top-right corner of the display. Mostra il frame rate interno del gioco nell'angolo in alto a destra dello schermo. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Mostra la velocità di emulazione attuale del sistema nell'angolo in alto a destra dello schermo in percentuale. - + Shows the resolution of the game in the top-right corner of the display. Mostra la risoluzione del gioco nell'angolo in alto a destra dello schermo. - + Shows host's CPU utilization. Mostra l'utilizzo della CPU dell'host. - + Shows host's GPU utilization. Mostra l'utilizzo della GPU dell'host. - + Shows counters for internal graphical utilization, useful for debugging. Mostra dei contatori dell'utilizzo grafico interno, utili per il debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Mostra lo stato attuale del controller del sistema nell'angolo in basso a sinistra dello schermo. - + Shows the current PCSX2 version on the top-right corner of the display. Mostra l'attuale versione di PCSX2 nell'angolo in alto a destra del display. - + Shows the currently active video capture status. Mostra lo stato di registrazione video attualmente attivo. - + Shows the currently active input recording status. Mostra lo stato di registrazione input attualmente attivo. - + Displays warnings when settings are enabled which may break games. Mostra avvisi quando sono abilitate impostazioni che potrebbero corrompere i giochi. - - + + Leave It Blank Lasciare Vuoto - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parametri passati al codec video selezionato.<br> Devi usare '=' per separare la chiave dal valore e ':' per separare due paia le une dalle altre.<br> Per esempio: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Imposta il bitrate audio da usare. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parametri passati al codec audio selezionato.<br> <b>Devi usare '=' per separare la chiave dal valore e ':' per separare due paia le una dalle altre.<b><br> <>Per esempio: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression Compressione dump del GS - + Change the compression algorithm used when creating a GS dump. Cambia l'algoritmo di compressione usato quando si crea un dump GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Usa un modello di presentazione blit invece di invertire quando si usa il renderer Direct3D11. Questo solitamente risulta in prestazioni più lente, ma potrebbe essere richiesto per alcune applicazioni di streaming, o per rimuovere limitazioni al framerate su alcuni sistemi. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Rileva quando i frame inattivi vengono presentati nei giochi a 25/30fps, e salta la presentazione di quei frame. Il frame viene comunque renderizzato, ma la GPU ha più tempo per completarlo (questo NON è un salto dei frame). Può rendere più morbide le fluttuazioni del frame time quando la CPU/GPU sono vicine al massimo dell'utilizzo, ma rende il ritmo dei frame più incostante e può aumentare l'input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Visualizza ulteriori moltiplicatori di upscaling molto elevati che dipendono dalle capacità della GPU. - + Enable Debug Device Abilita Dispositivo Di Debug - + Enables API-level validation of graphics commands. Abilita la validazione a livello API dei comandi grafici. - + GS Download Mode Modalità di download del GS - + Accurate Accurata - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Salta la sincronizzazione con il thread GS e la GPU host per i download del GS. Può risultare in un grande aumento della velocità su sistemi più lenti, al costo di molti effetti grafici difettosi. Se i giochi sono rotti e hai abilitato quest'opzione, innanzitutto disabilitala. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Predefinito - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forza l'utilizzo della presentazione FIFO invece di quella Mailbox, cioè il doppio buffering invece del triplo buffer. Di solito si traduce in un peggioramento del ritmo dei fotogrammi. @@ -14112,7 +14171,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Predefinito @@ -14329,254 +14388,254 @@ Swap chain: see Microsoft's Terminology Portal. Nessuno stato salvato trovato nello slot {}. - - - + + - - - - + + + + - + + System Sistema - + Open Pause Menu Apri Menu di Pausa - + Open Achievements List Apri Lista Obiettivi - + Open Leaderboards List Apri Lista delle Classifiche - + Toggle Pause Attiva/Disattiva Pausa - + Toggle Fullscreen Attiva/Disattiva Schermo Intero - + Toggle Frame Limit Attiva/Disattiva Limitatore di Frame - + Toggle Turbo / Fast Forward Attiva/Disattiva Turbo / Avanzamento Rapido - + Toggle Slow Motion Attiva/Disattiva Rallentatore - + Turbo / Fast Forward (Hold) Turbo / Avanzamento Veloce (Tieni premuto) - + Increase Target Speed Aumenta la Velocità Obiettivo - + Decrease Target Speed Riduci la Velocità Obiettivo - + Increase Volume Aumenta il Volume - + Decrease Volume Riduci il Volume - + Toggle Mute Attiva/Disattiva Modalità Muto - + Frame Advance Avanzamento Fotogrammi - + Shut Down Virtual Machine Spegni Macchina Virtuale - + Reset Virtual Machine Riavvia Macchina Virtuale - + Toggle Input Recording Mode Attiva/Disattiva Modalità Registrazione dell'Input - - + + Save States Stati Salvati - + Select Previous Save Slot Seleziona Slot di Salvataggio Precedente - + Select Next Save Slot Seleziona Slot di Salvataggio Successivo - + Save State To Selected Slot Salva Stato Nello Slot Selezionato - + Load State From Selected Slot Carica Stato Dallo Slot Selezionato - + Save State and Select Next Slot Salva lo stato e seleziona lo slot successivo - + Select Next Slot and Save State Seleziona Slot successivo e Salva Stato - + Save State To Slot 1 Salva Stato Nello Slot 1 - + Load State From Slot 1 Carica Stato Dallo Slot 1 - + Save State To Slot 2 Salva Stato Nello Slot 2 - + Load State From Slot 2 Carica Stato Dallo Slot 2 - + Save State To Slot 3 Salva Stato Nello Slot 3 - + Load State From Slot 3 Carica Stato Dallo Slot 3 - + Save State To Slot 4 Salva Stato Nello Slot 4 - + Load State From Slot 4 Carica Stato Dallo Slot 4 - + Save State To Slot 5 Salva Stato Nello Slot 5 - + Load State From Slot 5 Carica Stato Dallo Slot 5 - + Save State To Slot 6 Salva Stato Nello Slot 6 - + Load State From Slot 6 Carica Stato Dallo Slot 6 - + Save State To Slot 7 Salva Stato Nello Slot 7 - + Load State From Slot 7 Carica Stato Dallo Slot 7 - + Save State To Slot 8 Salva Stato Nello Slot 8 - + Load State From Slot 8 Carica Stato Dallo Slot 8 - + Save State To Slot 9 Salva Stato Nello Slot 9 - + Load State From Slot 9 Carica Stato Dallo Slot 9 - + Save State To Slot 10 Salva Stato Nello Slot 10 - + Load State From Slot 10 Carica Stato Dallo Slot 10 @@ -15454,594 +15513,608 @@ Clic destro per cancellare l'associazione &Sistema - - - + + Change Disc Cambia disco - - + Load State Carica stato - - Save State - Salva stato - - - + S&ettings &Impostazioni - + &Help &Aiuto - + &Debug &Debug - - Switch Renderer - Cambia Renderer - - - + &View &Visualizza - + &Window Size Dimensione della &Finestra - + &Tools &Strumenti - - Input Recording - Registrazione di input - - - + Toolbar Barra degli strumenti - + Start &File... Avvia &File... - - Start &Disc... - Avvia &Disco... - - - + Start &BIOS Avvia &BIOS - + &Scan For New Games &Scansiona nuovi giochi - + &Rescan All Games &Riscansiona tutti i giochi - + Shut &Down A&rresta - + Shut Down &Without Saving Arresta &senza salvare - + &Reset &Resetta - + &Pause &Pausa - + E&xit &Esci - + &BIOS &BIOS - - Emulation - Emulazione - - - + &Controllers &Controller - + &Hotkeys &Tasti di scelta rapida - + &Graphics &Grafica - - A&chievements - &Obiettivi - - - + &Post-Processing Settings... &Impostazioni di post-elaborazione... - - Fullscreen - Schermo intero - - - + Resolution Scale Scala della risoluzione - + &GitHub Repository... Repository di &GitHub... - + Support &Forums... Forum di &Supporto... - + &Discord Server... Server &Discord... - + Check for &Updates... Verifica la presenza di &Aggiornamenti... - + About &Qt... Informazioni su &Qt... - + &About PCSX2... &Informazioni su PCSX2... - + Fullscreen In Toolbar Schermo Intero - + Change Disc... In Toolbar Cambia Disco... - + &Audio &Audio - - Game List - Lista dei giochi - - - - Interface - Interfaccia + + Global State + Stato Globale - - Add Game Directory... - Aggiungi Cartella Giochi... + + &Screenshot + &Screenshot - - &Settings - &Impostazioni + + Start File + In Toolbar + Avvia File - - From File... - Da File... + + &Change Disc + &Cambia Disco - - From Device... - Dal dispositivo... + + &Load State + &Carica Stato - - From Game List... - Dalla Lista dei giochi... + + Sa&ve State + Sal&va stato - - Remove Disc - Rimuovi Disco + + Setti&ngs + Im&postazioni - - Global State - Stato Globale + + &Switch Renderer + &Cambia Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Registrazione di input - - Start File - In Toolbar - Avvia File + + Start D&isc... + Avvia D&isco... - + Start Disc In Toolbar Avvia Disco - + Start BIOS In Toolbar Avvia BIOS - + Shut Down In Toolbar Arresta - + Reset In Toolbar Resetta - + Pause In Toolbar Pausa - + Load State In Toolbar Carica Stato - + Save State In Toolbar Salva Stato - + + &Emulation + &Emulazione + + + Controllers In Toolbar Controller - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Schermo Intero + + + + &Interface + &Interfaccia + + + + Add Game &Directory... + Aggiungi &Cartella Giochi... + + + Settings In Toolbar Impostazioni - + + &From File... + &Da File... + + + + From &Device... + Dal &Dispositivo... + + + + From &Game List... + Dalla &Lista dei giochi... + + + + &Remove Disc + &Rimuovi Disco + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Card - + &Network && HDD &Rete && HDD - + &Folders &Cartelle - + &Toolbar Barra degli &Strumenti - - Lock Toolbar - Blocca la barra degli strumenti + + Show Titl&es (Grid View) + Mostra Tit&oli (Vista a Griglia) - - &Status Bar - Barra di &Stato + + &Open Data Directory... + &Apri Cartella dei Dati... - - Verbose Status - Stato dettagli + + &Toggle Software Rendering + &Attiva/Disattiva Rendering Software - - Game &List - &Lista dei giochi + + &Open Debugger + &Apri Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Mostra &Sistema + + &Reload Cheats/Patches + &Ricarica Trucchi/Patch - - Game &Properties - &Proprietà del gioco + + E&nable System Console + A&bilita Console di Sistema - - Game &Grid - &Griglia dei Giochi + + Enable &Debug Console + Abilita Console di &Debug - - Show Titles (Grid View) - Mostra Titoli (Vista a Griglia) + + Enable &Log Window + Abilita Finestra Di &Log - - Zoom &In (Grid View) - &Ingrandisci (Vista a Griglia) + + Enable &Verbose Logging + Attiva Logging &Dettagliato - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Abilita &Logging Console EE - - Zoom &Out (Grid View) - &Rimpicciolisci (Vista a Griglia) + + Enable &IOP Console Logging + Abilita Logging &IOP Console - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Salva Dump di un Singolo Frame del &GS - - Refresh &Covers (Grid View) - Aggiorna &Copertine (Vista a Griglia) + + &New + This section refers to the Input Recording submenu. + &Nuova - - Open Memory Card Directory... - Apri Cartella delle Memory Card... + + &Play + This section refers to the Input Recording submenu. + &Riproduci - - Open Data Directory... - Apri Cartella dei Dati... + + &Stop + This section refers to the Input Recording submenu. + &Ferma - - Toggle Software Rendering - Attiva/disattiva rendering software + + &Controller Logs + Registri dei &Controller - - Open Debugger - Apri Debugger + + &Input Recording Logs + Registri della Registrazione dell'&Input - - Reload Cheats/Patches - Ricarica Trucchi/Patch + + Enable &CDVD Read Logging + Abilita Registrazione della Lettura del &CDVD - - Enable System Console - Abilita Console di Sistema + + Save CDVD &Block Dump + Salva Dump del &Blocco del CDVD - - Enable Debug Console - Abilita Console di Debug + + &Enable Log Timestamps + &Abilita Registro Marche Temporali - - Enable Log Window - Abilita Finestra Di Log + + Start Big Picture &Mode + Avvia &Modalità Big Picture - - Enable Verbose Logging - Abilita la registrazione dettagliata + + &Cover Downloader... + Scarica &Copertine... - - Enable EE Console Logging - Abilita la registrazione della console EE + + &Show Advanced Settings + &Mostra Impostazioni Avanzate - - Enable IOP Console Logging - Abilita la registrazione della console IOP + + &Recording Viewer + Visualizzatore &Registrazioni - - Save Single Frame GS Dump - Salva dump di un singolo frame del GS + + &Video Capture + Acquisizione &Video - - New - This section refers to the Input Recording submenu. - Nuova + + &Edit Cheats... + &Modifica Trucchi... - - Play - This section refers to the Input Recording submenu. - Riproduci + + Edit &Patches... + Modifica &Patch... - - Stop - This section refers to the Input Recording submenu. - Ferma + + &Status Bar + Barra di &Stato - - Settings - This section refers to the Input Recording submenu. - Impostazioni + + + Game &List + &Lista dei giochi - - - Input Recording Logs - Registri della registrazione dell'input + + Loc&k Toolbar + Bloc&ca la Barra degli Strumenti - - Controller Logs - Registri dei controller + + &Verbose Status + Stato &Dettagliato - - Enable &File Logging - Abilita registrazione &File + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Mostra &Sistema + + + + Game &Properties + &Proprietà del gioco - - Enable CDVD Read Logging - Abilita registrazione della lettura dei CDVD + + Game &Grid + &Griglia dei Giochi - - Save CDVD Block Dump - Salva dump del blocco del CDVD + + Zoom &In (Grid View) + &Ingrandisci (Vista a Griglia) - - Enable Log Timestamps - Abilita marche temporali nei registri + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + &Rimpicciolisci (Vista a Griglia) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Aggiorna &Copertine (Vista a Griglia) + + + + Open Memory Card Directory... + Apri Cartella delle Memory Card... + + + + Input Recording Logs + Registri della registrazione dell'input + + + + Enable &File Logging + Abilita registrazione &File + + + Start Big Picture Mode Avvia Modalità Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Scarica copertine... - - - - + Show Advanced Settings Mostra le impostazioni avanzate - - Recording Viewer - Visualizzatore registrazioni - - - - + Video Capture Acquisizione video - - Edit Cheats... - Modifica Trucchi... - - - - Edit Patches... - Modifica Patch... - - - + Internal Resolution Risoluzione Interna - + %1x Scale Scala %1x - + Select location to save block dump: Seleziona una posizione per salvare i dump del blocco: - + Do not show again Non mostrare nuovamente - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16054,297 +16127,297 @@ Il team di PCSX2 non fornirà alcun supporto per configurazioni che modificano q Sei sicuro di voler continuare? - + %1 Files (*.%2) File %1 (*.%2) - + WARNING: Memory Card Busy ATTENZIONE: Memory Card Occupata - + Confirm Shutdown Conferma spegnimento - + Are you sure you want to shut down the virtual machine? Sei sicuro di voler arrestare la macchina virtuale? - + Save State For Resume Salva stato per continuare - - - - - - + + + + + + Error Errore - + You must select a disc to change discs. Devi selezionare un disco per cambiare dischi. - + Properties... Proprietà... - + Set Cover Image... Imposta immagine di copertina... - + Exclude From List Escludi dalla Lista - + Reset Play Time Reimposta tempo di gioco - + Check Wiki Page Controlla la pagina Wiki - + Default Boot Avvio Predefinito - + Fast Boot Avvio veloce - + Full Boot Avvio Completo - + Boot and Debug Avvio e debug - + Add Search Directory... Aggiungi cartella di ricerca... - + Start File Avvia File - + Start Disc Avvia Disco - + Select Disc Image Seleziona immagine del disco - + Updater Error Errore di Aggiornamento - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Spiacente, stai provando ad aggiornare una versione di PCSX2 che non è una release ufficiale di GitHub. Per impedire incompatibilità, l'aggiornamento automatico è abilitato solo su build ufficiali.</p><p>Per ottenere una build ufficiale, per favore scaricala dal link qui sotto:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. L'aggiornamento automatico non è supportato sulla piattaforma attuale. - + Confirm File Creation Conferma Creazione del File - + The pnach file '%1' does not currently exist. Do you want to create it? Il file pnach '%1' non esiste attualmente. Vuoi crearlo? - + Failed to create '%1'. Creazione di '%1' non riuscita. - + Theme Change Cambio Tema - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Cambiando il tema si chiuderà la finestra del debugger. Eventuali dati non salvati andranno persi. Vuoi continuare? - + Input Recording Failed Registrazione Input Fallita - + Failed to create file: {} Impossibile creare il file: {} - + Input Recording Files (*.p2m2) File di registrazione dell'input (*.p2m2) - + Input Playback Failed Riproduzione Input Non Riuscita - + Failed to open file: {} Impossibile aprire il file: {} - + Paused In pausa - + Load State Failed Caricamento dello stato fallito - + Cannot load a save state without a running VM. Non è possibile caricare uno stato salvato senza una Macchina Virtuale in esecuzione. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Il nuovo ELF non può essere caricato senza resettare la macchina virtuale. Vuoi resettare la macchina virtuale ora? - + Cannot change from game to GS dump without shutting down first. Impossibile passare da gioco a dump GS senza aver prima interrotto l' emulazione attuale. - + Failed to get window info from widget Recupero delle informazioni della finestra dal widget non riuscito - + Stop Big Picture Mode Arresta Modalità Big Picture - + Exit Big Picture In Toolbar Esci dalla Modalità Big Picture - + Game Properties Proprietà del Gioco - + Game properties is unavailable for the current game. Le proprietà del gioco non sono disponibili per il gioco attuale. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Non è stato possibile trovare alcun dispositivo CD/DVD-ROM. Per favore, assicurati di avere un'unità collegata e permessi sufficienti per accedervi. - + Select disc drive: Seleziona unità disco: - + This save state does not exist. Questo stato salvato non esiste. - + Select Cover Image Seleziona immagine di copertina - + Cover Already Exists La copertina già esiste - + A cover image for this game already exists, do you wish to replace it? Già esiste un'immagine di copertina per questo gioco, desideri sostituirla? - + + - Copy Error Errore di copia - + Failed to remove existing cover '%1' Rimozione della copertina esistente '%1' fallita - + Failed to copy '%1' to '%2' Copia di '%1' a '%2' fallita - + Failed to remove '%1' Rimozione di '%1' non riuscita - - + + Confirm Reset Conferma reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Tutti i tipi di immagine di copertina (*.jpg *.jpeg *.png) - + You must select a different file to the current cover image. Devi selezionare un file diverso dalla immagine di copertina attuale. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16353,12 +16426,12 @@ This action cannot be undone. Quest'azione non può essere annullata. - + Load Resume State Carica stato di ripresa - + A resume save state was found for this game, saved at: %1. @@ -16371,89 +16444,89 @@ Do you want to load this state, or start from a fresh boot? Vuoi caricare questo stato, o iniziare da un nuovo avvio? - + Fresh Boot Nuovo avvio - + Delete And Boot Elimina e avvia - + Failed to delete save state file '%1'. Eliminazione del file dello stato salvato '%1' fallita. - + Load State File... Carica file stato... - + Load From File... Carica da file... - - + + Select Save State File Seleziona file dello stato salvato - + Save States (*.p2s) Stati salvati (*.p2s) - + Delete Save States... Elimina stati salvati... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Tutti i Tipi di File (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Immagini Grezze a Singola Traccia (*.bin *.iso);;Sheet Cue (*.cue);;Media Descriptor File (*.mdf);;Immagini CHD MAME (*.chd);;Immagini CSO (*.cso);;Immagini ZSO (*.zso);;Immagini GZ (*.gz);;Eseguibili ELF (*.elf);;Eseguibili IRX (*.irx);;Dump del GS (*.gs *.gs.xz *.gs.zst);;Dump del Blocco (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Tutti i Tipi di File (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Immagini Grezze a Singola Traccia (*.bin *.iso);;Sheet Cue (*.cue);;Media Descriptor File (*.mdf);;Immagini CHD MAME (*.chd);;Immagini CSO (*.cso);;Immagini ZSO (*.zso);;Immagini GZ (*.gz);;Dump del Blocco (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> ATTENZIONE: la Memory Card sta ancora scrivendo dati. Chiudere adesso l'emulazione <b>RENDERA' LA MEMORY CARD INUTILIZZABILE IRRIMEDIABILMENTE.</b> Si consiglia vivamente di riprendere il gioco e lasciare che l'emulatore completi la scrittura sulla Memory Card.<br><br>Vuoi spegnere comunque e <b> RENDERE INUTILIZZABILE IRRIMEDIABILMENTE LA MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Stati salvati (*.p2s *.p2s.backup) - + Undo Load State Annulla caricamento dello stato - + Resume (%2) Riprendi (%2) - + Load Slot %1 (%2) Carica Slot %1 (%2) - - + + Delete Save States Elimina stati salvati - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16462,42 +16535,42 @@ The saves will not be recoverable. I salvataggi non saranno recuperabili. - + %1 save states deleted. %1 stati salvati eliminati. - + Save To File... Salva su File... - + Empty Vuoto - + Save Slot %1 (%2) Slot di salvataggio %1 (%2) - + Confirm Disc Change Conferma Cambio Disco - + Do you want to swap discs or boot the new image (via system reset)? Vuoi scambiare i dischi o avviare la nuova immagine (tramite un reset di sistema)? - + Swap Disc Scambia Disco - + Reset Resetta @@ -16520,25 +16593,25 @@ I salvataggi non saranno recuperabili. MemoryCard - - + + Memory Card Creation Failed Creazione Memory Card non riuscita - + Could not create the memory card: {} Impossibile creare la memory card: {} - + Memory Card Read Failed Lettura Memory Card fallita - + Unable to access memory card: {} @@ -16555,28 +16628,33 @@ Chiudere altre istanze di PCSX2 o riavviare il computer. - - + + Memory Card '{}' was saved to storage. La Memory Card '{}' è stata salvata nel dispositivo di archiviazione. - + Failed to create memory card. The error was: {} Impossibile creare la memory card. L'errore è stato: {} - + Memory Cards reinserted. Memory Card reinserite. - + Force ejecting all Memory Cards. Reinserting in 1 second. Forza l'espulsione di tutte le Memory Card. Reinserimento in 1 secondo. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + La console virtuale non ha salvato sulla Memory Card per un bel pò di tempo. I salvataggi di stato non dovrebbero essere utilizzati come sostituti dei salvataggi di gioco su Memory Card. + MemoryCardConvertDialog @@ -17368,7 +17446,7 @@ Quest'azione non può essere annullata, e perderai qualunque salvataggio sulla M Vai Alla Visualizzazione Memoria - + Cannot Go To Impossibile Passare A @@ -18208,12 +18286,12 @@ Espulsione di {3} e sostituzione con {2}. Patch - + Failed to open {}. Built-in game patches are not available. Apertura di {} non riuscita. Le patch di gioco integrate non sono disponibili. - + %n GameDB patches are active. OSD Message @@ -18222,7 +18300,7 @@ Espulsione di {3} e sostituzione con {2}. - + %n game patches are active. OSD Message @@ -18231,7 +18309,7 @@ Espulsione di {3} e sostituzione con {2}. - + %n cheat patches are active. OSD Message @@ -18240,7 +18318,7 @@ Espulsione di {3} e sostituzione con {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Nessun trucco o patch (widescreen, compatibilità o altre) è stato trovato / abilitato. @@ -18341,47 +18419,47 @@ Espulsione di {3} e sostituzione con {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Loggato come %1 (%2 pti, softcore:%3 pti). %4 messaggi non letti. - - + + Error Errore - + An error occurred while deleting empty game settings: {} Si è verificato un errore durante l'eliminazione delle impostazioni di gioco vuote: {} - + An error occurred while saving game settings: {} Si è verificato un errore durante il salvataggio delle impostazioni di gioco: {} - + Controller {} connected. Controller {} collegato. - + System paused because controller {} was disconnected. Sistema in pausa perché il controller {} è stato disconnesso. - + Controller {} disconnected. Controller {} disconnesso. - + Cancel Annulla @@ -18514,7 +18592,7 @@ Espulsione di {3} e sostituzione con {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21728,42 +21806,42 @@ La scansione ricorsiva richiede più tempo, ma identificherà i file nelle sotto VMManager - + Failed to back up old save state {}. Backup dello stato salvato vecchio {} non riuscito. - + Failed to save save state: {}. Salvataggio stato salvato non riuscito: {}. - + PS2 BIOS ({}) BIOS PS2 ({}) - + Unknown Game Gioco Sconosciuto - + CDVD precaching was cancelled. Il pre-caricamento CDVD è stato annullato. - + CDVD precaching failed: {} Pre-caricamento CDVD non riuscito: {} - + Error Errore - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21780,88 +21858,88 @@ Una volta scaricata, quest'immagine del BIOS dovrebbe essere posizionata nella c Per favore, consulta le FAQ e le Guide per ulteriori istruzioni. - + Resuming state Ripresa stato - + Boot and Debug Avvio e debug - + Failed to load save state Impossibile caricare il file di salvataggio. - + State saved to slot {}. Stato salvato nello slot {}. - + Failed to save save state to slot {}. Salvataggio stato salvato nello slot {} non riuscito. - - + + Loading state Caricamento Stato - + Failed to load state (Memory card is busy) Impossibile caricare lo stato ( la Memory Card è occupata) - + There is no save state in slot {}. Non c'è alcuno stato salvato nello slot {}. - + Failed to load state from slot {} (Memory card is busy) Impossibile caricare lo stato dallo slot {} ( la Memory Card è occupata) - + Loading state from slot {}... Caricamento dello stato dallo slot {}... - + Failed to save state (Memory card is busy) Impossibile salvare lo stato ( la Memory Card è occupata) - + Failed to save state to slot {} (Memory card is busy) Impossibile salvare lo stato nello slot {} ( la Memory Card è occupata) - + Saving state to slot {}... Salvataggio dello stato nello slot {}... - + Frame advancing Avanzamento Fotogrammi - + Disc removed. Disco rimosso. - + Disc changed to '{}'. Disco cambiato in '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Apertura della nuova immagine del disco '{}' non riuscita. @@ -21869,183 +21947,183 @@ Ripristino della vecchia immagine. Errore: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Ritorno alla vecchia immagine del disco non riuscito. Rimozione del disco. Errore: {} - + Cheats have been disabled due to achievements hardcore mode. I trucchi sono stati disabilitati a causa della modalità obiettivi hardcore. - + Fast CDVD is enabled, this may break games. CDVD Veloce è abilitato, questo potrebbe causare malfunzionamenti nei giochi. - + Cycle rate/skip is not at default, this may crash or make games run too slow. La frequenza cicli/salti non è quella predefinita, questo potrebbe causare crash o far girare i giochi troppo lentamente. - + Upscale multiplier is below native, this will break rendering. Il moltiplicatore upscaling è al di sotto della risoluzione nativa, questo corromperà il rendering. - + Mipmapping is disabled. This may break rendering in some games. Il mipmapping è disabilitato. Questo potrebbe corrompere il rendering in alcuni giochi. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Il Renderer non è impostato su Automatico. Questo potrebbe causare problemi di performance e grafici. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Il filtraggio delle texture non è impostato su Bilineare (PS2). Questo corromperà il rendering in alcuni giochi. - + No Game Running Nessun gioco in esecuzione - + Trilinear filtering is not set to automatic. This may break rendering in some games. Il filtraggio trilineare non è impostato su automatico. Questo potrebbe corrompere il rendering in alcuni giochi. - + Blending Accuracy is below Basic, this may break effects in some games. La precisione del blending è al di sotto del livello Di base, questo potrebbe corrompere gli effetti in alcuni giochi. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. La Modalità Download dell'Hardware non è impostata su Accurata, questo potrebbe corrompere il rendering in alcuni giochi. - + EE FPU Round Mode is not set to default, this may break some games. La Modalità Arrotondamento dell'FPU dell'EE non è impostata su predefinita, questo potrebbe causare malfunzionamenti in alcuni giochi. - + EE FPU Clamp Mode is not set to default, this may break some games. La Modalità Clamp dell'FPU dell'EE non è impostata su predefinita, questo potrebbe causare malfunzionamenti in alcuni giochi. - + VU0 Round Mode is not set to default, this may break some games. La Modalità Arrotondamento del VU0 non è impostata su predefinita, questo potrebbe causare malfunzionamenti in alcuni giochi. - + VU1 Round Mode is not set to default, this may break some games. La Modalità Arrotondamento del VU non è impostata su predefinita, questo potrebbe causare malfunzionamenti in alcuni giochi. - + VU Clamp Mode is not set to default, this may break some games. La Modalità Clamp del VU non è impostata su predefinita, questo potrebbe causare malfunzionamenti in alcuni giochi. - + 128MB RAM is enabled. Compatibility with some games may be affected. È stata abilitata la RAM 128MB. Si potrebbero verificare problemi di compatibilità con alcuni giochi. - + Game Fixes are not enabled. Compatibility with some games may be affected. Le Correzioni di Gioco non sono abilitate. La compatibilità con alcuni giochi potrebbe essere compromessa. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Le Patch di Compatibilità non sono abilitate. La compatibilità con alcuni giochi potrebbe essere compromessa. - + Frame rate for NTSC is not default. This may break some games. Il frame rate per NTSC non è quello predefinito. Questo potrebbe causare malfunzionamenti in alcuni giochi. - + Frame rate for PAL is not default. This may break some games. Il frame rate per PAL non è quello predefinito. Questo potrebbe causare malfunzionamenti in alcuni giochi. - + EE Recompiler is not enabled, this will significantly reduce performance. Il Ricompilatore EE non è abilitato, questo ridurrà significativamente le prestazioni. - + VU0 Recompiler is not enabled, this will significantly reduce performance. Il Ricompilatore VU0 non è abilitato, questo ridurrà significativamente le prestazioni. - + VU1 Recompiler is not enabled, this will significantly reduce performance. Il Ricompilatore VU1 non è abilitato, questo ridurrà significativamente le prestazioni. - + IOP Recompiler is not enabled, this will significantly reduce performance. Il Ricompilatore IOP non è abilitato, questo ridurrà significativamente le prestazioni. - + EE Cache is enabled, this will significantly reduce performance. La Cache EE è abilitata, questo ridurrà significativamente le prestazioni. - + EE Wait Loop Detection is not enabled, this may reduce performance. Il Rilevamento dei Loop Wait dell'EE non è abilitato, questo potrebbe ridurre le prestazioni. - + INTC Spin Detection is not enabled, this may reduce performance. Il Rilevamento degli Spin dell'INTC non è abilitato, questo potrebbe ridurre le prestazioni. - + Fastmem is not enabled, this will reduce performance. Fastmem non è abilitato, questo ridurrà le prestazioni. - + Instant VU1 is disabled, this may reduce performance. Il VU1 Istantaneo è disabilitato, questo potrebbe ridurre le prestazioni. - + mVU Flag Hack is not enabled, this may reduce performance. L'Hack del Flag dell'mVU non è abilitato, questo potrebbe ridurre le prestazioni. - + GPU Palette Conversion is enabled, this may reduce performance. La Conversione della Gamma della GPU è abilitata, questo potrebbe ridurre le prestazioni. - + Texture Preloading is not Full, this may reduce performance. Il Precaricamento delle Texture non è Pieno, questo potrebbe ridurre le prestazioni. - + Estimate texture region is enabled, this may reduce performance. La stima della regione della texture è abilitata, questo potrebbe ridurre le prestazioni. - + Texture dumping is enabled, this will continually dump textures to disk. Il dumping delle texture è abilitato, questo scaricherà continuamente le texture sul disco. diff --git a/pcsx2-qt/Translations/pcsx2-qt_ja-JP.ts b/pcsx2-qt/Translations/pcsx2-qt_ja-JP.ts index 0aaf3a91a0242..b18d79c6874bc 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_ja-JP.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_ja-JP.ts @@ -538,7 +538,7 @@ Unread messages: {2} Leaderboard Download Failed - Leaderboard Download Failed + リーダーボードのダウンロードに失敗しました @@ -727,307 +727,318 @@ Leaderboard Position: {1} of {2} グローバル設定を使用 [%1] - + Rounding Mode 丸めモード - - - + + + Chop/Zero (Default) Chop/Zero (既定) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2 が Emotion Engine の浮動小数点ユニット(EE FPU)の丸め処理をどのように行うかを変更します。PS2 の FPU は国際標準に準拠していないため、一部のゲームは正しく演算処理を行うために複数のラウンドモードが必要になります。既定値で大半のゲームに対応しています。<b>ゲームに明らかな問題がないにも関わらず設定を変更すると、不安定になる恐れがあります。</b> - + Division Rounding Mode 除算端数処理モード - + Nearest (Default) ニアレスト (既定) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 浮動小数点除算の結果を丸める方法を指定します。 一部のゲームでは、特定の設定が必要です。 <b>ゲームに明らかな問題がない場合にこの設定を変更すると、不安定になる可能性があります。</b> - + Clamping Mode クランプモード - - - + + + Normal (Default) 通常 (既定) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2 が浮動小数点数を x86 での標準の範囲に収める方法を変更します。既定値で大半のゲームに対応しています。<b>ゲームに問題がないのに設定を変更すると、ゲームが不安定になるおそれがあります。</b> - - + + Enable Recompiler リコンパイラを有効化 - + - - - + + + - + - - - - + + + + + Checked チェックを入れる - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. 64 ビット MIPS-IV 機械語の x86 へのバイナリ変換を JIT (Just-In-Time) 方式で行います。 - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). 待機ループを検出 - + Moderate speedup for some games, with no known side effects. 一部のゲームではそこそこの高速化を実現し、副作用は確認されていません。 - + Enable Cache (Slow) キャッシュを有効化 (低速) - - - - + + + + Unchecked チェックを外す - + Interpreter only, provided for diagnostic. インタープリタのみ 解析用 - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC スピン検出 - + Huge speedup for some games, with almost no compatibility side effects. 一部のゲームでは大幅な高速化を実現し、互換性の副作用がほとんどありません。 - + Enable Fast Memory Access 高速メモリアクセスを有効化 - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) すべてのメモリアクセスでレジスタフラッシュを避けるためにバックパッチングを使用します。 - + Pause On TLB Miss TLB ミス時に一時停止 - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. TLB ミスの発生ごとに仮想マシンを一時停止させます (通常は無視して続行させる)。例外が発生した命令ではなく、ブロックの終了後に一時停止することに注意してください。無効なアクセスが発生したアドレスを確認するには、コンソールを参照してください。 - + Enable 128MB RAM (Dev Console) 128MB RAM を有効にする (開発機) - + Exposes an additional 96MB of memory to the virtual machine. 仮想マシンに96MBのメモリを追加します。 - + VU0 Rounding Mode VU0 ラウンドモード - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> PCSX2 が Emotion Engine の Vector Unit 0 (EE VU0) の丸め処理をどのように扱うかを変更します。初期設定で大半のゲームに対応しています。<b>ゲームに明らかな問題が無いにも関わらず設定を変更すると、安定性の問題やクラッシュの発生が見込まれます。</b> - + VU1 Rounding Mode VU1ラウンドモード - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> PCSX2が Emotion Engine の Vector Unit 1 (EE VU1) の丸め処理をどのように行うかを変更します。初期設定で大半のゲームに対応できます。<b>ゲームに明らかな問題が無いにも関わらず設定を変更すると、安定性の問題やクラッシュの発生が見込まれます。</b> - + VU0 Clamping Mode VU0 クランプモード - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2 が Emotion Engine の Vector Unit 0 (EE VU0) で浮動小数点数を標準的な x86 範囲内に保持する方式を変更します。既定値で大半のゲームに対応しています。<b>ゲームに明らかな問題がないにも関わらず設定を変更すると、不安定になる恐れがあります。</b> - + VU1 Clamping Mode VU1 クランプモード - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2 が Emotion Engine の Vector Unit 1 (EE VU1) で浮動小数点数を標準的な x86 範囲内で保持する方法をどのように扱うかを変更します。既定値は大半のゲームに対応しています。<b>ゲームに明らかな問題がないにも関わらず設定を変更すると、不安定になる恐れがあります。</b> - + Enable Instant VU1 VU1の即時実行 (Instant VU1) を有効化 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1 を即座に実行します。ほとんどのゲームで速度が向上します。ほとんどのゲームでは安全ですが、一部のゲームでグラフィックが乱れる可能性があります。 - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. VU0 リコンパイラを有効化 (マイクロモード) - + Enables VU0 Recompiler. VU0 リコンパイラを有効にします。 - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. VU1 リコンパイラを有効化 - + Enables VU1 Recompiler. VU1 リコンパイラを有効にします。 - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. 互換性が高く、高速化もしますが、グラフィックが乱れる可能性があります。 - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. 32 ビット MIPS-I 機械語の x86 へのバイナリ変換を JIT (Just-In-Time) 方式で行います。 - + Enable Game Fixes ゲーム修正を有効化 - + Automatically loads and applies fixes to known problematic games on game start. ゲーム開始時に既知の問題のあるゲームに自動的に修正を適用します。 - + Enable Compatibility Patches 互換性パッチを有効化 - + Automatically loads and applies compatibility patches to known problematic games. 既知の問題を抱えるゲームに互換性パッチを自動的にロードして適用します。 - + Savestate Compression Method - Savestate Compression Method + Savestate圧縮方法 - + Zstandard - Zstandard + Zstandard - + Determines the algorithm to be used when compressing savestates. セーブステートを圧縮する際に使用するアルゴリズムを指定します。 - + Savestate Compression Level - Savestate Compression Level + Saveste圧縮レベル - + Medium - Medium + - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown - Save State On Shutdown + シャットダウン時にステートセーブ - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups - Create Save State Backups + セーブステートのバックアップを作成する - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1250,46 +1261,46 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown - Save State On Shutdown + シャットダウン時にステートセーブする - + Frame Rate Control フレームレート制御 - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL フレームレート: - + NTSC Frame Rate: NTSC フレームレート: Savestate Settings - Savestate Settings + セーブステート設定 Compression Level: - Compression Level: + 圧縮レベル: - + Compression Method: - Compression Method: + 圧縮方法: @@ -1304,12 +1315,12 @@ Leaderboard Position: {1} of {2} Zstandard - Zstandard + Zstandard LZMA2 - LZMA2 + LZMA2 @@ -1324,7 +1335,7 @@ Leaderboard Position: {1} of {2} High - High + @@ -1332,17 +1343,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE 設定 - + Slot: スロット: - + Enable 有効化 @@ -1863,8 +1879,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater 自動更新 @@ -1904,68 +1920,68 @@ Leaderboard Position: {1} of {2} 後で再通知 - - + + Updater Error 更新エラー - + <h2>Changes:</h2> <h2>変更点:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>ステートセーブに関する警告</h2><p>このアップデートをインストールすると、現在保存されているステートセーブが<b>ロードできなくなります</b>。アップデートする前に、ゲームの進捗をメモリーカードにセーブしておくことを推奨します。</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>設定に関する警告</h2><p>この更新をインストールすると、PCSX2 の設定がリセットされます。更新の後、手動で再設定が必要となります。ご了承ください。</p> - + Savestate Warning ステートセーブに関する警告 - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>警告</h1><p style='font-size:12pt;'>この更新をインストールすると、<b>ステートセーブの互換性が失われます</b>。<i>続行する前に、進行状況をメモリーカードに保存してください</i>。</p><p>続行しますか?</p> - + Downloading %1... %1 をダウンロード中… - + No updates are currently available. Please try again later. 現在利用可能な更新はありません。後でもう一度お試しください。 - + Current Version: %1 (%2) 現在のバージョン: %1 (%2) - + New Version: %1 (%2) 最新バージョン: %1 (%2) - + Download Size: %1 MB ダウンロードサイズ: %1 MB - + Loading... 読み込み中... - + Failed to remove updater exe after update. 更新後、updater.exe の削除に失敗しました。 @@ -2129,19 +2145,19 @@ Leaderboard Position: {1} of {2} 有効化 - - + + Invalid Address 無効なアドレス - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2231,17 +2247,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. ゲームディスクがリムーバブルドライブにある場合、ジッターやフリーズなどのパフォーマンスの問題が発生する可能性があります。 - + Saving CDVD block dump to '{}'. CDVD ブロックダンプを '{}' に保存しています。 - + Precaching CDVD CDVDプリキャッシュ中 @@ -2266,7 +2282,7 @@ Leaderboard Position: {1} of {2} 不明 - + Precaching is not supported for discs. 事前読み込みはディスクではサポートされていません。 @@ -3223,29 +3239,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile プロファイルを削除 - + Mapping Settings マッピング設定 - - + + Restore Defaults 初期設定を復元 - - - + + + Create Input Profile 入力プロファイルを作成 - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3256,40 +3277,43 @@ Enter the name for the new input profile: 新規入力プロファイルの名前を入力: - - - - + + + + + + Error エラー - + + A profile with the name '%1' already exists. 名前 %1 は既に他のプロファイルで使用されています。 - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. 現在表示中のプロファイルの割り当てを新規プロファイルにコピーしますか?『いいえ』を選択すると、完全に空のプロファイルが作成されます。 - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. 新規プロファイル '%1' の保存に失敗しました。 - + Load Input Profile 入力プロファイルを読み込む - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3302,12 +3326,27 @@ You cannot undo this action. この操作は取り消せません。 - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile 入力プロファイルを削除 - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3316,12 +3355,12 @@ You cannot undo this action. この操作は取り消せません。 - + Failed to delete '%1'. '%1' の削除に失敗しました。 - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3334,13 +3373,13 @@ You cannot undo this action. この操作は取り消せません。 - + Global Settings グローバル設定 - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3348,8 +3387,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3357,26 +3396,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB ポート %1 %2 - + Hotkeys ホットキー - + Shared "Shared" refers here to the shared input profile. 共有 - + The input profile named '%1' cannot be found. 入力プロファイル '%1' が見つかりません。 @@ -3997,66 +4036,66 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - Import from file (.elf, .sym, etc): + ファイル (.elf, .symなど) からインポート: - + Add - Add + 追加 - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF - Scan ELF + ELFをスキャン - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4114,7 +4153,7 @@ Do you want to overwrite? Unchecked - Unchecked + チェックを外す @@ -4127,17 +4166,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4261,7 +4315,7 @@ Do you want to overwrite? EE - EE + EE @@ -4292,12 +4346,12 @@ Do you want to overwrite? Cache - Cache + キャッシュ GIF - GIF + GIF @@ -4377,7 +4431,7 @@ Do you want to overwrite? CDVD - CDVD + CDVD @@ -4422,7 +4476,7 @@ Do you want to overwrite? Checked - Checked + チェックを入れる @@ -4469,7 +4523,7 @@ Do you want to overwrite? Unchecked - Unchecked + チェックを外す @@ -4789,53 +4843,53 @@ Do you want to overwrite? PCSX2 デバッガー - + Run 実行 - + Step Into ステップイン - + F11 F11 - + Step Over ステップオーバー - + F10 F10 - + Step Out ステップアウト - + Shift+F11 Shift + F11 - + Always On Top 常に手前に表示 - + Show this window on top 常に最前面で表示 - + Analyze Analyze @@ -4853,48 +4907,48 @@ Do you want to overwrite? 逆アセンブル - + Copy Address アドレスをコピー - + Copy Instruction Hex メモリ値をコピー - + NOP Instruction(s) 命令を削除 - + Run to Cursor カーソルまで実行 - + Follow Branch 分岐を追跡する - + Go to in Memory View メモリビューで表示 - + Add Function 関数を追加 - - + + Rename Function 関数名を変更 - + Remove Function 関数を削除 @@ -4915,23 +4969,23 @@ Do you want to overwrite? 命令をアセンブル - + Function name 関数名 - - + + Rename Function Error 関数名変更のエラー - + Function name cannot be nothing. 関数名は空欄にできません。 - + No function / symbol is currently selected. 関数 / シンボルが選択されていません。 @@ -4941,72 +4995,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error 関数の復元によるエラー - + Unable to stub selected address. 選択中のアドレスが無効にできません。 - + &Copy Instruction Text 命令テキストをコピー(&C) - + Copy Function Name 関数名をコピー - + Restore Instruction(s) 命令を元に戻す - + Asse&mble new Instruction(s) 新しいインストラクションを組み立てる - + &Jump to Cursor カーソルにジャンプ(&J) - + Toggle &Breakpoint ブレークポイントの切り替え(&B) - + &Go to Address アドレスに移動(&G) - + Restore Function 関数の復元 - + Stub (NOP) Function 関数を無効にする - + Show &Opcode 表示 & オペコード - + %1 NOT VALID ADDRESS %1 無効なアドレス @@ -5033,86 +5087,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - スロット: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - スロット: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image 画像がありません - + %1x%2 %1x%2 - + FPS: %1 - FPS: %1 + FPS: %1 - + VPS: %1 - VPS: %1 + VPS: %1 - + Speed: %1% - Speed: %1% + 速度: %1% - + Game: %1 (%2) ゲーム: %1 (%2) - + Rich presence inactive or unsupported. リッチプレゼンスが非アクティブまたはサポートされていません。 - + Game not loaded or no RetroAchievements available. ゲームがロードされていないか、利用可能な RetroAchievements がありません。 - - - - + + + + Error エラー - + Failed to create HTTPDownloader. HTTPDownloader の作成に失敗しました。 - + Downloading %1... %1 をダウンロード中… - + Download failed with HTTP status code %1. HTTP ステータス・コード %1 でダウンロードに失敗しました。 - + Download failed: Data is empty. ダウンロード失敗: データがありません。 - + Failed to write '%1'. '%1' の書き込みに失敗しました。 @@ -5486,81 +5540,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. トークンが長すぎます。 - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. - Not enough arguments. + 引数が不足しています。 - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. - Division by zero. + ゼロによる除算。 - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5694,342 +5743,342 @@ URL: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. CD/DVD-ROM デバイスが見つかりませんでした。ドライブが接続されていて、アクセスするための十分な権限があることを確認してください。 - + Use Global Setting グローバル設定を使用 - + Automatic binding failed, no devices are available. 自動割り当てに失敗しました。利用可能なデバイスがありません。 - + Game title copied to clipboard. ゲームタイトルがクリップボードに保存されました。 - + Game serial copied to clipboard. ゲームのシリアルがクリップボードに保存されました。 - + Game CRC copied to clipboard. ゲームCRCがクリップボードに保存されました。 - + Game type copied to clipboard. ゲームの種類がクリップボードに保存されました。 - + Game region copied to clipboard. ゲーム領域がクリップボードに保存されました。 - + Game compatibility copied to clipboard. ゲームの互換性がクリップボードに保存されました。 - + Game path copied to clipboard. ゲームパスがクリップボードに保存されました。 - + Controller settings reset to default. コントローラーの設定がデフォルトにリセットされました。 - + No input profiles available. 入力プロファイルがありません。 - + Create New... 新規作成... - + Enter the name of the input profile you wish to create. 作成する入力プロファイルの名前を入力します。 - + Are you sure you want to restore the default settings? Any preferences will be lost. 既定の設定を復元してもよろしいですか?すべての設定は失われます。 - + Settings reset to defaults. 設定をデフォルトに戻しました。 - + No save present in this slot. このスロットにセーブデータはありません。 - + No save states found. ステートセーブが見つかりません。 - + Failed to delete save state. ステートセーブの削除に失敗しました。 - + Failed to copy text to clipboard. テキストをクリップボードにコピーできませんでした。 - + This game has no achievements. このゲームには実績がありません。 - + This game has no leaderboards. このゲームにはリーダーボードがありません。 - + Reset System システムをリセット - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? エミュレータがリセットされるまでハードコアモードは有効になりません。今すぐエミュレータをリセットしますか? - + Launch a game from images scanned from your game directories. ゲームディレクトリからスキャンしたROMからゲームを起動します。 - + Launch a game by selecting a file/disc image. ファイルまたはディスクイメージを選択してゲームを起動します。 - + Start the console without any disc inserted. ディスクを挿入せずにコンソールを起動します。 - + Start a game from a disc in your PC's DVD drive. PCの's DVD ドライブのディスクからゲームを開始します。 - + No Binding 未割り当て - + Setting %s binding %s. %s バインディング %sを設定しました。 - + Push a controller button or axis now. コントローラーボタンまたは入力軸を操作してください。 - + Timing out in %.0f seconds... %.0f 秒でタイムアウトします... - + Unknown 不明 - + OK OK - + Select Device デバイスを選択 - + Details 詳細 - + Options オプション - + Copies the current global settings to this game. 現在のグローバル設定をこのゲームの固有設定にコピーします。 - + Clears all settings set for this game. このゲームのすべての固有設定をクリアします。 - + Behaviour 動作 - + Prevents the screen saver from activating and the host from sleeping while emulation is running. エミュレーションの実行中にスクリーンセーバーの起動やホストがスリープ状態になるのを防ぎます。 - + Shows the game you are currently playing as part of your profile on Discord. Discord上で現在プレイしているゲームを表示します。 - + Pauses the emulator when a game is started. ゲームの開始時にエミュレータを一時停止します。 - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. ウィンドウを最小化したり、他のアプリケーションに切り替えた際にエミュレータをポーズし、元に戻すとポーズを解除します。 - + Pauses the emulator when you open the quick menu, and unpauses when you close it. クイックメニューを開いたときにエミュレータを一時停止し、閉じると一時停止を解除します。 - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. ホットキーが押されたときにエミュレータ/ゲームのシャットダウンを確認するプロンプトを表示するかどうかを決定します。 - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. シャットダウン時または終了時に自動でステートセーブします。次回中断した場所から直接再開できます。 - + Uses a light coloured theme instead of the default dark theme. デフォルトのダークテーマの代わりに明るい色のテーマを使用します。 - + Game Display ゲームの表示 - + Switches between full screen and windowed when the window is double-clicked. ウインドウがダブルクリックされたときにフルスクリーンとウインドウを切り替えます。 - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. エミュレータがフルスクリーンモードのときにマウスポインタ/カーソルを非表示にします。 - + Determines how large the on-screen messages and monitor are. 画面上のメッセージとモニターの大きさを決定します。 - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. ステートセーブ/ロード、スクリーンショットなどのイベントが発生したときに、OSD メッセージを表示します。 - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. ディスプレイの右上隅に現在のエミュレーション速度をパーセンテージで表示します。 - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. システムが毎秒表示するビデオ フレーム (または v-sync) の数をディスプレイの右上に表示します。 - + Shows the CPU usage based on threads in the top-right corner of the display. スレッドごとの CPU 使用率をディスプレイの右上に表示します。 - + Shows the host's GPU usage in the top-right corner of the display. ホストの GPU の使用状況をディスプレイの右上に表示します。 - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. GS(プリミティブ、ドローコール) に関する統計情報をディスプレイの右上に表示します。 - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. 早送り、一時停止、その他の通常でない状態がアクティブな場合にインジケータを表示します。 - + Shows the current configuration in the bottom-right corner of the display. 現在の設定をディスプレイの右下に表示します。 - + Shows the current controller state of the system in the bottom-left corner of the display. ディスプレイの左下にシステムの現在のコントローラーの状態を表示します。 - + Displays warnings when settings are enabled which may break games. ゲームの正常な動作を妨げる可能性のある設定が有効になっている場合に警告を表示します。 - + Resets configuration to defaults (excluding controller settings). 設定をデフォルトにリセットします(コントローラ設定を除く)。 - + Changes the BIOS image used to start future sessions. 次回セッションを開始時に使用するBIOSイメージを変更します。 - + Automatic 自動 - + {0}/{1}/{2}/{3} - + Default 既定 - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6038,1977 +6087,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. ゲーム開始時に自動的にフルスクリーンに切り替えます。 - + On-Screen Display オンスクリーンディスプレイ - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. ディスプレイの右上隅にゲームの解像度を表示します。 - + BIOS Configuration BIOS 設定 - + BIOS Selection BIOS 選択 - + Options and Patches オプションとパッチ - + Skips the intro screen, and bypasses region checks. イントロ画面をスキップし、リージョンチェックを回避します。 - + Speed Control 速度制御 - + Normal Speed 通常速度 - + Sets the speed when running without fast forwarding. 早送りせずに実行する際のゲームスピードを設定します。 - + Fast Forward Speed 早送り速度 - + Sets the speed when using the fast forward hotkey. 早送りホットキーを使用するときのゲームスピードを設定します。 - + Slow Motion Speed スローモーション速度 - + Sets the speed when using the slow motion hotkey. スローモーションホットキーを使用するときのゲームスピードを設定します。 - + System Settings システム設定 - + EE Cycle Rate EE サイクルレート - + Underclocks or overclocks the emulated Emotion Engine CPU. エミュレートされたEmotion Engine CPUをアンダーロックまたはオーバークロックします。 - + EE Cycle Skipping EE サイクルスキップ - + Enable MTVU (Multi-Threaded VU1) MTVU(Multi-Threaded VU1)を有効化 - + Enable Instant VU1 インスタント VU1 を有効化 - + Enable Cheats チートを有効化 - + Enables loading cheats from pnach files. pnach ファイルからのチートの読み込みを有効にする。 - + Enable Host Filesystem ホストファイルシステムを有効化 - + Enables access to files from the host: namespace in the virtual machine. 仮想マシンのホスト:名前空間からファイルへのアクセスを有効にします。 - + Enable Fast CDVD 高速 CDVD を有効化 - + Fast disc access, less loading times. Not recommended. ディスクへの高速アクセスを行い、読み込み時間を短縮します。推奨されません。 - + Frame Pacing/Latency Control フレーム速度/遅延の制御 - + Maximum Frame Latency 最大フレーム遅延 - + Sets the number of frames which can be queued. キューに追加できるフレーム数を設定。 - + Optimal Frame Pacing 最適なフレームペーシング - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. EEとGSスレッドを各フレーム後に同期させます。入力レイテンシが最も小さくなりますが、システム要件が高くなります。 - + Speeds up emulation so that the guest refresh rate matches the host. ゲストのリフレッシュレートがホストと一致するようにエミュレーションをスピードアップします。 - + Renderer レンダラー - + Selects the API used to render the emulated GS. エミュレートされたGSのレンダリングに使用するAPIを選択してください。 - + Synchronizes frame presentation with host refresh. フレームの表示をホストのリフレッシュレートと同期します。 - + Display 画面 - + Aspect Ratio アスペクト比 - + Selects the aspect ratio to display the game content at. ゲーム内容を表示するアスペクト比を選択してください。 - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. FMV の再生を検出したときの表示アスペクト比を選択します。 - + Deinterlacing インターレース解除 - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. PS2 のインターレース出力をプログレッシブに変換するためのアルゴリズムを選択します。 - + Screenshot Size スクリーンショットのサイズ - + Determines the resolution at which screenshots will be saved. スクリーンショットを保存する解像度を指定してください。 - + Screenshot Format スクリーンショットの形式 - + Selects the format which will be used to save screenshots. スクリーンショットの保存に使用される形式を選択します。 - + Screenshot Quality スクリーンショットの品質 - + Selects the quality at which screenshots will be compressed. スクリーンショットを圧縮する画質を選択してください。 - + Vertical Stretch 垂直方向の拡縮 - + Increases or decreases the virtual picture size vertically. 仮想画像サイズを縦方向に増減させます。 - + Crop 切り取り - + Crops the image, while respecting aspect ratio. アスペクト比を尊重しながら画像をトリミングします。 - + %dpx %dpx - - Enable Widescreen Patches - ワイドスクリーンパッチを有効化 - - - - Enables loading widescreen patches from pnach files. - pnach ファイルからのワイドスクリーンパッチの読み込みを有効にする。 - - - - Enable No-Interlacing Patches - インターレース解除パッチを有効化 - - - - Enables loading no-interlacing patches from pnach files. - pnach ファイルからのワイドスクリーンパッチの読み込みを有効にします。 - - - + Bilinear Upscaling バイリニアアップスケーリング - + Smooths out the image when upscaling the console to the screen. コンソールを画面にアップスケーリングする際に、画像を滑らかにします。 - + Integer Upscaling 整数アップスケーリング - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. ホストピクセルとコンソールピクセルの比率が整数になるように、表示領域にパディングを追加します。 一部の 2D ゲームでは画像が鮮明になる場合があります。 - + Screen Offsets スクリーンオフセット - + Enables PCRTC Offsets which position the screen as the game requests. PCRTC オフセットを有効にしてゲームのリクエストに応じて画面を配置します。 - + Show Overscan オーバースキャンを表示 - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 画面のセーフエリアを超える描画を行うゲームで、オーバースキャン領域を表示するオプションを有効にします。 - + Anti-Blur アンチブラー - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 内部のブレ防止ハックを有効にします。実際のPS2のレンダリングに忠実ではなくなりますが、多くのゲームで残像が軽減されます。 - + Rendering レンダリング - + Internal Resolution 内部解像度 - + Multiplies the render resolution by the specified factor (upscaling). 指定した係数でレンダリング解像度を倍増します(アップスケール)。 - + Mipmapping ミップマッピング - + Bilinear Filtering バイリニアフィルタリング - + Selects where bilinear filtering is utilized when rendering textures. テクスチャのレンダリング時にバイリニアフィルタリングを適用する場所を選択してください。 - + Trilinear Filtering トライリニアフィルタリング - + Selects where trilinear filtering is utilized when rendering textures. テクスチャのレンダリング時にトライリニアフィルタリングを適用する範囲を選択します。 - + Anisotropic Filtering 異方性フィルタリング - + Dithering ディザリング - + Selects the type of dithering applies when the game requests it. ゲームが要求したときに適用するディザリングの種類を選択してください。 - + Blending Accuracy ブレンド精度 - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. ホストグラフィックスAPIでサポートされていないブレンドモードをエミュレートする際の精度レベルを指定します。 - + Texture Preloading テクスチャのプリロード - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. 使用される領域だけでなく、テクスチャ全体を GPU に転送します。一部のゲームでパフォーマンスを向上させることができます。 - + Software Rendering Threads ソフトウェアレンダリングスレッド - + Number of threads to use in addition to the main GS thread for rasterization. メインGSスレッドの他にラスタライズに使用するスレッド数。 - + Auto Flush (Software) オートフラッシュ (ソフトウェア) - + Force a primitive flush when a framebuffer is also an input texture. フレームバッファが入力テクスチャでもある場合に、プリミティブフラッシュを強制的に行います。 - + Edge AA (AA1) エッジ AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). GS のエッジアンチエイリアシング(AA1)のエミュレーションを有効にします。 - + Enables emulation of the GS's texture mipmapping. GS のテクスチャミップマッピングのエミュレーションを有効にします。 - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. PCSX2のバージョンをディスプレイの右上に表示します。 - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes ハードウェア修正 - + Manual Hardware Fixes ハードウェアの手動修正 - + Disables automatic hardware fixes, allowing you to set fixes manually. ハードウェアの自動修正を無効化して、手動で設定できるようにします。 - + CPU Sprite Render Size CPU スプライトレンダリングサイズ - + Uses software renderer to draw texture decompression-like sprites. ソフトウェアレンダラーを使用して、テクスチャの伸張状態のスプライトを描画します。 - + CPU Sprite Render Level CPU スプライトレンダリングレベル - + Determines filter level for CPU sprite render. CPU スプライトレンダリングのフィルタレベルを指定します。 - + Software CLUT Render ソフトウェア CLUT レンダリング - + Uses software renderer to draw texture CLUT points/sprites. ソフトウェアレンダラーを使用して、テクスチャのCLUTポイントやスプライトを描画します。 - + Skip Draw Start 描画開始をスキップ - + Object range to skip drawing. 描画をスキップするオブジェクトの範囲 - + Skip Draw End 描画終了をスキップ - + Auto Flush (Hardware) オートフラッシュ (ハードウェア) - + CPU Framebuffer Conversion CPU フレームバッファ変換 - + Disable Depth Conversion 深度変換を無効化 - + Disable Safe Features 安全機能を無効化 - + This option disables multiple safe features. このオプションは複数のセーフ機能を無効にします。 - + This option disables game-specific render fixes. このオプションは、ゲーム固有のレンダリング修正を無効にします。 - + Uploads GS data when rendering a new frame to reproduce some effects accurately. 新しいフレームを描画する際に GS データをアップロードし、いくつかのエフェクトを正確に再現します。 - + Disable Partial Invalidation 部分的な無効化を無効化 - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. 交差部分のみだけでなく、交差が存在する場合はテクスチャキャッシュのエントリを除去します。 - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. テクスチャキャッシュが以前のフレームバッファの内側部分を入力テクスチャとして再利用できるようにします。 - + Read Targets When Closing 閉じるときにターゲットを読み込む - + Flushes all targets in the texture cache back to local memory when shutting down. シャットダウン時にテクスチャキャッシュ内のすべてのターゲットをローカルメモリにフラッシュします。 - + Estimate Texture Region テクスチャ領域を推定 - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). ゲーム自体がテクスチャサイズを定義しない場合 (Snowblind など) に、テクスチャサイズの縮小を試みます。 - + GPU Palette Conversion GPU パレット変換 - + Upscaling Fixes アップスケーリング修正 - + Adjusts vertices relative to upscaling. アップスケーリングに合わせて頂点の位置を調節します。 - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite ラウンドスプライト - + Adjusts sprite coordinates. スプライト座標を調整します。 - + Bilinear Upscale バイリニアアップスケール - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. アップスケーリング時にバイリニアフィルタリングを適用することで、テクスチャの滑らかさを向上させることができます。例えば、まぶしい太陽の光などが該当します。 - + Adjusts target texture offsets. ターゲットテクスチャのオフセットを調整します。 - + Align Sprite スプライトを整列 - + Fixes issues with upscaling (vertical lines) in some games. 一部のゲームにおけるアップスケーリングの問題 (縦線) を修正します。 - + Merge Sprite スプライトを統合 - + Replaces multiple post-processing sprites with a larger single sprite. 複数のポストプロセッシングスプライトを、より大きな単一のスプライトで置き換えます。 - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. GS 精度を下げてアップスケール時のピクセル間のギャップを防ぎます。ワイルドアームズのテキストを修正します。 - + Unscaled Palette Texture Draws スケールされていないパレットテクスチャの描画 - + Can fix some broken effects which rely on pixel perfect precision. ピクセルの完璧な精度に依存する一部の壊れたエフェクトを修正できます。 - + Texture Replacement テクスチャ置換 - + Load Textures テクスチャを読み込む - + Loads replacement textures where available and user-provided. ユーザーが提供した利用可能な代替テクスチャを読み込みます。 - + Asynchronous Texture Loading 非同期テクスチャを読み込む - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. 置換が有効の際のカクつきを軽減するため、ワーカースレッドで置換テクスチャを読み込みます。 - + Precache Replacements Precacheの置換 - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. すべての置換テクスチャをメモリに先読みします。非同期ロードを使用している場合、これは不要です。 - + Replacements Directory 置換ディレクトリ - + Folders フォルダ - + Texture Dumping テクスチャダンプ - + Dump Textures テクスチャをダンプ - + Dump Mipmaps ミップマップをダンプ - + Includes mipmaps when dumping textures. テクスチャをダンプする際に、ミップマップを含めます。 - + Dump FMV Textures FMV テクスチャをダンプ - + Allows texture dumping when FMVs are active. You should not enable this. FMV がアクティブな場合にテクスチャダンプを許可します。有効にするべきではありません。 - + Post-Processing ポストプロセス - + FXAA FXAA - + Enables FXAA post-processing shader. FXAA ポストプロセッシングシェーダーを有効にします。 - + Contrast Adaptive Sharpening コントラスト適応型シャープニング - + Enables FidelityFX Contrast Adaptive Sharpening. FidelityFX コントラスト適応シャープを有効にします。 - + CAS Sharpness CAS シャープネス - + Determines the intensity the sharpening effect in CAS post-processing. CASポストプロセッシングにおけるシャープニング効果の強度を決定します。 - + Filters フィルター - + Shade Boost シェーダーブースト - + Enables brightness/contrast/saturation adjustment. 明るさ/コントラスト/彩度の調整を有効にします。 - + Shade Boost Brightness シェーダーブーストの明るさ - + Adjusts brightness. 50 is normal. 明るさを調整します。50 が普通です。 - + Shade Boost Contrast シェーダーブーストのコントラスト - + Adjusts contrast. 50 is normal. コントラストを調整します。50 が普通です。 - + Shade Boost Saturation シェーダーブーストの彩度 - + Adjusts saturation. 50 is normal. 彩度を調整します。50 が普通です。 - + TV Shaders TV シェーダー - + Advanced 高度 - + Skip Presenting Duplicate Frames 重複したフレームの表示をスキップ - + Extended Upscaling Multipliers 拡張アップスケーリング乗数 - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode ハードウェアダウンロードモード - + Changes synchronization behavior for GS downloads. GS ダウンロードの同期動作を変更します。 - + Allow Exclusive Fullscreen 排他的フルスクリーンを許可 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. 排他的フルスクリーン、またはダイレクトフリップ/スキャンアウトを有効にするドライバーのヒューリスティックを上書きします。 - + Override Texture Barriers テクスチャバリアをオーバーライド - + Forces texture barrier functionality to the specified value. テクスチャバリア機能を指定した値に強制します。 - + GS Dump Compression GS ダンプ圧縮形式 - + Sets the compression algorithm for GS dumps. GS ダンプの圧縮アルゴリズムを設定します。 - + Disable Framebuffer Fetch フレームバッファフェッチを無効化 - + Prevents the usage of framebuffer fetch when supported by host GPU. ホスト GPU でサポートされている場合、フレームバッファフェッチの使用を防ぎます。 - + Disable Shader Cache シェーダーキャッシュを無効化 - + Prevents the loading and saving of shaders/pipelines to disk. シェーダー/パイプラインのディスクへの読み込みと保存を防ぎます。 - + Disable Vertex Shader Expand 頂点シェーダー展開を無効化 - + Falls back to the CPU for expanding sprites/lines. スプライト/ラインの拡張のために CPU にフォールバックします。 - + Changes when SPU samples are generated relative to system emulation. SPU サンプルの生成タイミングをシステムエミュレーションに対して変更します。 - + %d ms %d ms - + Settings and Operations 設定と操作 - + Creates a new memory card file or folder. 新しいメモリーカードのファイルまたはフォルダを作成します。 - + Simulates a larger memory card by filtering saves only to the current game. 現在のゲームに保存されるセーブデータのみをフィルタリングして、より大容量のメモリーカードをシミュレートします。 - + If not set, this card will be considered unplugged. 設定されていない場合、このカードは抜いたものとして扱います。 - + The selected memory card image will be used for this slot. 選択したメモリーカードイメージをこのスロットに使用します。 - + Enable/Disable the Player LED on DualSense controllers. DualSense コントローラーのプレイヤー LED を有効/無効にします。 - + Trigger トリガー - + Toggles the macro when the button is pressed, instead of held. 長押しではなく、ボタンを押した時にマクロを切り替えます。 - + Savestate - Savestate + セーブステート - + Compression Method - Compression Method + 圧縮方式 - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level - Compression Level + 圧縮レベル - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} 差込口 %1 - + 1.25x Native (~450px) 1.25x ネイティブ (~450px) - + 1.5x Native (~540px) 1.5x ネイティブ (~540px) - + 1.75x Native (~630px) 1.75x ネイティブ (~630px) - + 2x Native (~720px/HD) 2x ネイティブ (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5 x ネイティブ (~900px/HD+) - + 3x Native (~1080px/FHD) 3x ネイティブ (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x ネイティブ (~1260px) - + 4x Native (~1440px/QHD) 4x ネイティブ (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x ネイティブ (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x ネイティブ (~2160px/4K UHD) - + 7x Native (~2520px) 7x ネイティブ (~2520px) - + 8x Native (~2880px/5K UHD) 8x ネイティブ (~2880px/5K UHD) - + 9x Native (~3240px) 9x ネイティブ (~3240px) - + 10x Native (~3600px/6K UHD) 10x ネイティブ (~3600px/6K UHD) - + 11x Native (~3960px) 11x ネイティブ (~3960px) - + 12x Native (~4320px/8K UHD) 12x ネイティブ (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard - Zstandard + Zstandard - + LZMA2 - LZMA2 + LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection 選択範囲を変更 - + Select 選択 - + Parent Directory 親ディレクトリ - + Enter Value 値を入力してください - + About PCSX2 について - + Toggle Fullscreen フルスクリーンの切替 - + Navigate 移動 - + Load Global State Load Global State - + Change Page ページの変更 - + Return To Game ゲームに戻る - + Select State ステートを選択 - + Select Game ゲームを選択 - + Change View 表示モードの変更 - + Launch Options 起動オプション - + Create Save State Backups ステートセーブのバックアップを作成 - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card メモリーカードを作成 - + Configuration 配置 - + Start Game ゲームを開始 - + Launch a game from a file, disc, or starts the console without any disc inserted. ファイル、ディスクからゲームを起動するか、ディスクを挿入せずにコンソールを起動します。 - + Changes settings for the application. アプリケーションの設定を変更します。 - + Return to desktop mode, or exit the application. デスクトップモードに戻るか、アプリケーションを終了します。 - + Back 戻る - + Return to the previous menu. 前のメニューに戻ります。 - + Exit PCSX2 PCSX2 を終了 - + Completely exits the application, returning you to your desktop. アプリケーションを完全に終了し、デスクトップに戻します。 - + Desktop Mode デスクトップモード - + Exits Big Picture mode, returning to the desktop interface. Big Picture モードを終了し、デスクトップインターフェイスに戻ります。 - + Resets all configuration to defaults (including bindings). すべての設定をデフォルトにリセットします(コントローラーの割り当てを含む)。 - + Replaces these settings with a previously saved input profile. これらの設定を以前保存した入力プロファイルに置き換えます。 - + Stores the current settings to an input profile. 現在の設定を入力プロファイルに保存します。 - + Input Sources 入力ソース - + The SDL input source supports most controllers. SDL 入力ソースは、ほとんどのコントローラーに対応します。 - + Provides vibration and LED control support over Bluetooth. Bluetooth経由で振動とLED制御をサポートします。 - + Allow SDL to use raw access to input devices. SDLに入力デバイスへのRAWアクセスを許可します。 - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. XInput ソースは、XBox 360/XBox One/XBox シリーズコントローラをサポートします。 - + Multitap マルチタップ - + Enables an additional three controller slots. Not supported in all games. 追加の 3 つのコントローラースロットを有効にします。すべてのゲームでサポートされていません。 - + Attempts to map the selected port to a chosen controller. 選択したポートを選択したコントローラにマッピングしてみます。 - + Determines how much pressure is simulated when macro is active. マクロがアクティブなときにどの程度の圧力をシミュレートするかを決定します。 - + Determines the pressure required to activate the macro. マクロを有効にするために必要な圧力を指定します。 - + Toggle every %d frames %d フレームごとに切り替えます - + Clears all bindings for this USB controller. この USB コントローラーへのすべての割り当てをクリアします。 - + Data Save Locations データの保存場所 - + Show Advanced Settings 高度な設定の表示 - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. これらのオプションを変更すると、ゲームが機能しなくなる可能性があります。設定が変更されている場合、PCSX2 チームはサポートを提供しません。自己責任で変更してください。 - + Logging ログ - + System Console システムコンソール - + Writes log messages to the system console (console window/standard output). システムコンソール(コンソールウィンドウ/標準出力) にログメッセージを書き込みます。 - + File Logging ファイルログ - + Writes log messages to emulog.txt. emulog.txt にログメッセージを書き込みます。 - + Verbose Logging 詳細ログ - + Writes dev log messages to log sinks. ログシンクに開発ログメッセージを書き込みます。 - + Log Timestamps ログのタイムスタンプ - + Writes timestamps alongside log messages. ログメッセージと一緒にタイムスタンプを書き込みます。 - + EE Console EE コンソール - + Writes debug messages from the game's EE code to the console. Game's EE コードからデバッグメッセージをコンソールに書き込みます。 - + IOP Console IOP コンソール - + Writes debug messages from the game's IOP code to the console. Game's EE コードからデバッグメッセージをコンソールに書き込みます。 - + CDVD Verbose Reads CDVD の詳細な読み取り操作 - + Logs disc reads from games. ゲームからのディスク読み取りをログに記録します。 - + Emotion Engine Emotion Engine - + Rounding Mode ラウンドモード - + Determines how the results of floating-point operations are rounded. Some games need specific settings. 浮動小数点演算の結果をどのように丸めるかを決定します。一部のゲームは特定の設定が必要です。 - + Division Rounding Mode 除算端数処理モード - + Determines how the results of floating-point division is rounded. Some games need specific settings. 浮動小数点の演算結果をどのように丸めるかを決定します。一部のゲームでは特定の設定が必要です。 - + Clamping Mode クランプモード - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. 範囲外の浮動小数点数の処理方法を決定します。特定の設定が必要なゲームもあります。 - + Enable EE Recompiler EE リコンパイラを有効化 - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. 64bit MIPS-IV 機械語のリアルタイムバイナリ変換を x86 へ行います。 - + Enable EE Cache EE キャッシュを有効化 - + Enables simulation of the EE's cache. Slow. EE's キャッシュのシミュレーションを有効にします。 - + Enable INTC Spin Detection INTC スピン検出を有効化 - + Huge speedup for some games, with almost no compatibility side effects. 一部のゲームでは大幅な高速化を実現し、互換性の副作用がほとんどありません。 - + Enable Wait Loop Detection 待機ループの検出を有効化 - + Moderate speedup for some games, with no known side effects. 一部のゲームではそこそこの高速化を実現し、副作用は確認されていません。 - + Enable Fast Memory Access 高速メモリアクセスを有効化 - + Uses backpatching to avoid register flushing on every memory access. すべてのメモリアクセスでレジスタフラッシュを避けるためにバックパッチングを使用します。 - + Vector Units Vector Units - + VU0 Rounding Mode VU0 ラウンドモード - + VU0 Clamping Mode VU0 クランプモード - + VU1 Rounding Mode VU1 ラウンドモード - + VU1 Clamping Mode VU1 クランプモード - + Enable VU0 Recompiler (Micro Mode) VU0 リコンパイラを有効にする (マイクロモード) - + New Vector Unit recompiler with much improved compatibility. Recommended. 互換性が向上した新しいベクトルユニット再コンパイラ. 推奨. - + Enable VU1 Recompiler VU1 リコンパイラを有効化 - + Enable VU Flag Optimization VU フラグ最適化を有効化 - + Good speedup and high compatibility, may cause graphical errors. 互換性が高く、高速化もしますが、グラフィックが乱れる可能性があります。 - + I/O Processor I/O プロセッサ - + Enable IOP Recompiler IOP リコンパイラを有効化 - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. 32 ビット MIPS-I 機械語のネイティブコードへのバイナリ変換を JIT (Just-In-Time) 方式で行います。 - + Graphics グラフィック - + Use Debug Device デバッグデバイスを使用 - + Settings 設定 - + No cheats are available for this game. このゲームで利用可能なチートはありません。 - + Cheat Codes チートコード - + No patches are available for this game. このゲームで利用可能なパッチはありません。 - + Game Patches ゲームパッチ - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. チートを有効にすると、予期せぬ動作、クラッシュ、停止、またはセーブデータの破損が発生する可能性があります。 - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. ゲームパッチを有効にすると、予期せぬ動作、クラッシュ、ゲームが止まる、あるいはセーブデータが破損する可能性があります。 - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. ゲームパッチを使用する場合は、自己責任でご利用ください。PCSX2 チームは、ゲームパッチを有効にしたユーザーへのサポートを提供しません。 - + Game Fixes ゲーム修正 - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. ゲームの修正は、各オプションが何を行いその結果どう影響するのかを認識していない限り、変更されるべきではありません。 - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. テイルズ オブ デスティニー向け。 - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. 一部の複雑な FMV レンダリングを持つゲームに必要です。 - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. ゲームのハング/フリーズを回避するために、ゲーム内のビデオ/FMV をスキップします。 - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. 次のゲームに影響を与えることが知られています。Mana Khemia 1、Metal Saga、Pilot Down Behind Enemy Lines - + For SOCOM 2 HUD and Spy Hunter loading hang. SOCOM 2のHUDおよびSpy Hunterのローディングハング対策 - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 同期 - + Forces tight VU0 sync on every COP2 instruction. すべてのCOP2命令で厳格なVU0同期を強制します。 - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). 可能性のある浮動小数点のオーバーフローをチェックする(Superman Returns)。 - + Use accurate timing for VU XGKicks (slower). VU XGKicksに正確なタイミングを使用する。(低速) - + Load State ステートロード - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. エミュレートされた Emotion Engine がサイクルをスキップするようにします。「ワンダと巨像」のようなごく一部のゲームにのみ効果的です。ほとんどの場合、パフォーマンスが悪化します。 - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. 4 つ以上のコアを持つ CPU で普遍的に処理を高速化します。ほとんどのゲームでは安全ですが、一部のゲームとは互換性がなく、動作停止に陥ることがあります。 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1 を即座に実行します。ほとんどのゲームで速度が向上します。ほとんどのゲームでは安全ですが、一部のゲームでグラフィックが乱れる可能性があります。 - + Disable the support of depth buffers in the texture cache. テクスチャキャッシュの深度バッファのサポートを無効にします。 - + Disable Render Fixes レンダリング修正を無効化 - + Preload Frame Data フレームデータをプリロード - + Texture Inside RT テクスチャー インサイド RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. 有効な場合、GPU がカラーマップテクスチャを変換します。無効の場合、CPU が行います。GPU と CPU のトレードオフです。 - + Half Pixel Offset ハーフピクセルオフセット - + Texture Offset X テクスチャオフセット X - + Texture Offset Y テクスチャオフセット Y - + Dumps replaceable textures to disk. Will reduce performance. 置き換え可能なテクスチャをディスクにダンプします。パフォーマンスが低下します。 - + Applies a shader which replicates the visual effects of different styles of television set. さまざまなテレビの視覚効果を再現するシェーダーを適用します。 - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. 25 / 30fps のゲームで表示内容が変化しなかったフレームをスキップします。実行速度は向上しますが、入力ラグが増えたり、フレームペースが悪化したりします。 - + Enables API-level validation of graphics commands. グラフィックコマンドの API レベルの検証を有効にします。 - + Use Software Renderer For FMVs FMV にソフトウェアレンダラーを使用する - + To avoid TLB miss on Goemon. ゴエモンで TLB ミスの回避に使われます。 - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. 汎用タイミングハック 次のゲームに影響を与えることが知られています: Digital Devil Saga, SSX - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. キャッシュのエミュレーションの問題に対して有効です。次のゲームに影響を与えることが知られています:Fire Pro Wrestling Z - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. 次のゲームに影響があることが知られています:Bleach Blade Battlers、Growlanser II および III、Wizardry - + Emulate GIF FIFO GIF FIFO をエミュレート - + Correct but slower. Known to affect the following games: Fifa Street 2. 正確で低速 次のゲームに影響を与えることが知られています: FIFAストリート2 - + DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO VIF FIFO をエミュレート - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. VIF1 FIFO の先読みをシミュレートします。Test Drive Unlimited や Transformers などのゲームに影響を与えることが知られています。 - + VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. 一部のゲームでの連続的な再コンパイルを回避します。次のゲームに影響することが知られています:Scarface The World is Yours、Crash Tag Team Racing。 - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. トライエースのゲーム向け:スターオーシャン3、ラジアータ ストーリーズ、ヴァルキリープロファイル2 - + VU Sync VU 同期 - + Run behind. To avoid sync problems when reading or writing VU registers. 遅延実行 (VUレジスタの読み取り/書き込み時の同期の問題を回避) - + VU XGKick Sync VU XGKick 同期 - + Force Blit Internal FPS Detection 内部 FPS の検出を強制的に停止させる - + Save State ステートセーブ - + Load Resume State 中断ステートから再開 - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8016,2071 +8070,2076 @@ Do you want to load this save and continue? このセーブを読み込んで続行しますか? - + Region: リージョン: - + Compatibility: 互換性: - + No Game Selected ゲームが選択されていません - + Search Directories 検索ディレクトリ - + Adds a new directory to the game search list. ゲーム検索リストに新しいディレクトリを追加します。 - + Scanning Subdirectories サブディレクトリをスキャンしています - + Not Scanning Subdirectories サブディレクトリをスキャンしていません - + List Settings リストの設定 - + Sets which view the game list will open to. ゲームリストの表示モードを設定します。 - + Determines which field the game list will be sorted by. ゲームリストの並べ替えの基準を指定します。 - + Reverses the game list sort order from the default (usually ascending to descending). ゲームリストのソート順をデフォルト(通常は降順に昇順) から反転します。 - + Cover Settings カバー画像設定 - + Downloads covers from a user-specified URL template. ダウンロードは、ユーザーが指定した URL テンプレートからカバーされます。 - + Operations 操作 - + Selects where anisotropic filtering is utilized when rendering textures. テクスチャのレンダリング時に異方性フィルタリングを適用する場所を選択してください。 - + Use alternative method to calculate internal FPS to avoid false readings in some games. 一部のゲームで誤った読み取りを避けるために、内部FPSを計算する別の方法を使用します。 - + Identifies any new files added to the game directories. ゲームディレクトリに追加された新規ファイルを探します。 - + Forces a full rescan of all games previously identified. 以前に識別されたすべてのゲームの完全な再スキャンを強制します。 - + Download Covers カバー画像のダウンロード - + About PCSX2 PCSX2 について - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 は、無料でオープンソースのプレイステーション2 (PS2) エミュレータです。MIPS CPU インタプリタ、リコンパイラ、およびハードウェアの状態と PS2 システムメモリを管理する仮想マシンの組み合わせを使用して、PS2 のハードウェアをエミュレートします。多くのメリットや追加機能と共に、PC 上で PS2 ゲームをプレイできます。 - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 および PS2 は、ソニー・インタラクティブエンタテインメントの登録商標です。このアプリケーションは、ソニー・インタラクティブエンタテインメントとは一切関係ありません。 - + When enabled and logged in, PCSX2 will scan for achievements on startup. 有効にしてログインすると、PCSX2 は起動時に実績をスキャンします。 - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. リーダーボードのトラッキングを含む、実績のための"チャレンジモード"です。ステートセーブ、チート、スローダウン機能が無効化されます。 - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. 実績のロック解除やリーダーボードの提出などのイベントに関するポップアップメッセージを表示します。 - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. 実績のロック解除やリーダーボードの提出などのイベントの効果音を再生します。 - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. チャレンジ可能な実績がある場合、画面の右下隅にアイコンを表示します。 - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. 有効にすると、PCSX2は非公式セットからの実績を一覧表示します。これらの実績はRetroAchievementsには追跡されません。 - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. 有効にすると、PCSX2 はすべての実績がロックされていると仮定し、サーバーにロック解除通知を送信しません。 - + Error エラー - + Pauses the emulator when a controller with bindings is disconnected. 接続中のコントローラーが切断された場合、エミュレーターを一時停止します。 - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix セーブステートが作成されたときにそれがすでに存在する場合、バックアップコピーを作成します。バックアップコピーには.backupサフィックスがつきます。 - + Enable CDVD Precaching CDVDプリキャッシュを有効にする - + Loads the disc image into RAM before starting the virtual machine. 仮想マシンを起動する前に、ディスクイメージを RAM にロードします。 - + Vertical Sync (VSync) 垂直同期 (VSync) - + Sync to Host Refresh Rate ホストのリフレッシュレートに同期 - + Use Host VSync Timing ホストのVSyncタイミングを使用する - + Disables PCSX2's internal frame timing, and uses host vsync instead. PCSX2内部フレームタイミングを無効にし、代わりにホスト vsync を使用します。 - + Disable Mailbox Presentation Mailbox Presentationを無効化 - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Mailbox presentationではなくFIFOを強制的に使用します。例えば、トリプルバッファリングではなくダブルバッファリングです。通常、フレームペースが悪化します。 - + Audio Control オーディオコントロール - + Controls the volume of the audio played on the host. ホストで再生されるオーディオの音量をコントロールします。 - + Fast Forward Volume 早送り音量 - + Controls the volume of the audio played on the host when fast forwarding. 早送り時にホストで再生されるオーディオの音量をコントロールします。 - + Mute All Sound すべてのサウンドをミュート - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings バックエンド設定 - + Audio Backend オーディオバックエンド - + The audio backend determines how frames produced by the emulator are submitted to the host. オーディオバックエンドは、エミュレータによって生成されるフレームをホストに送信する方法を決定します。 - + Expansion 拡張 - + Determines how audio is expanded from stereo to surround for supported games. サポートされているゲームでオーディオをステレオからサラウンドに展開する方法を決定します。 - + Synchronization 同期 - + Buffer Size バッファサイズ - + Determines the amount of audio buffered before being pulled by the host API. ホスト API によって取得される前のオーディオバッファの量を指定します。 - + Output Latency 出力レイテンシ - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. ホスト API によってピックアップされるオーディオとスピーカーで再生されるオーディオの間のレイテンシーを決定します。 - + Minimal Output Latency 最小出力レイテンシ - + When enabled, the minimum supported output latency will be used for the host API. 有効にすると、ホストAPIの最小出力レイテンシが使用されます。 - + Thread Pinning スレッドのピン留め - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. リーダーボード チャレンジを開始、提出、または失敗したときにポップアップメッセージを表示します。 - + When enabled, each session will behave as if no achievements have been unlocked. 有効にすると、各セッションはアチーブメントがアンロックされていないように動作します。 - + Account アカウント - + Logs out of RetroAchievements. RetroAchievements からログアウトします。 - + Logs in to RetroAchievements. RetroAchievements にログインします。 - + Current Game 現在のゲーム - + An error occurred while deleting empty game settings: {} 空のゲーム設定の削除中にエラーが発生しました: {} - + An error occurred while saving game settings: {} ゲーム設定の保存中にエラーが発生しました: {} - + {} is not a valid disc image. {} は有効なディスクイメージではありません。 - + Automatic mapping completed for {}. {} の自動マッピングが完了しました。 - + Automatic mapping failed for {}. {} の自動マッピングに失敗しました。 - + Game settings initialized with global settings for '{}'. ゲーム設定は '{}' のグローバル設定で初期化されます。 - + Game settings have been cleared for '{}'. '{}' のゲーム設定をクリアしました。 - + {} (Current) {} (現在) - + {} (Folder) {} (フォルダ) - + Failed to load '{}'. '{}' の読み込みに失敗しました。 - + Input profile '{}' loaded. 入力プロファイル '{}' を読み込みました。 - + Input profile '{}' saved. 入力プロファイル '{}' を保存しました。 - + Failed to save input profile '{}'. 入力プロファイル '{}' の保存に失敗しました。 - + Port {} Controller Type ポート {} コントローラーの種類 - + Select Macro {} Binds マクロを選択 {} バインドする - + Port {} Device ポート {} デバイス - + Port {} Subtype ポート {} サブタイプ - + {} unlabelled patch codes will automatically activate. {} つのラベルの無いパッチコードが自動的に有効になります。 - + {} unlabelled patch codes found but not enabled. {} ラベル付けされていないパッチコードが見つかりましたが有効になっていません。 - + This Session: {} このセッション: {} - + All Time: {} すべての時間: {} - + Save Slot {0} スロット {0} にセーブ - + Saved {} 保存済み {} - + {} does not exist. {} が存在しません。 - + {} deleted. {} を削除しました。 - + Failed to delete {}. {} の削除に失敗しました。 - + File: {} ファイル: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} プレイ時間: {} - + Last Played: {} 最終プレイ日: {} - + Size: {:.2f} MB サイズ: {:.2f} MB - + Left: 左: - + Top: 上: - + Right: 右: - + Bottom: 下: - + Summary 概要 - + Interface Settings インターフェース設定 - + BIOS Settings BIOS 設定 - + Emulation Settings エミュレーション設定 - + Graphics Settings グラフィック設定 - + Audio Settings オーディオ設定 - + Memory Card Settings メモリーカード設定 - + Controller Settings コントローラー設定 - + Hotkey Settings ホットキー設定 - + Achievements Settings 実績設定 - + Folder Settings フォルダ設定 - + Advanced Settings 高度な設定 - + Patches パッチ - + Cheats チート - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% 速度 - + 60% Speed 60% 速度 - + 75% Speed 75% 速度 - + 100% Speed (Default) 100% 速度 (既定) - + 130% Speed 130% 速度 - + 180% Speed 180% 速度 - + 300% Speed 300% 速度 - + Normal (Default) 通常 (既定) - + Mild Underclock 低いアンダークロック - + Moderate Underclock 程々のアンダークロック - + Maximum Underclock 最大のアンダークロック - + Disabled 無効 - + 0 Frames (Hard Sync) 0 フレーム (ハード同期) - + 1 Frame 1 フレーム - + 2 Frames 2 フレーム - + 3 Frames 3 フレーム - + None なし - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) 自動 (既定) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software ソフトウェア - + Null なし - + Off オフ - + Bilinear (Smooth) バイリニア (スムーズ) - + Bilinear (Sharp) バイリニア (シャープ) - + Weave (Top Field First, Sawtooth) Weave (上位フィールド優先、ギザギザ) - + Weave (Bottom Field First, Sawtooth) Weave (下位フィールド優先、ギザギザ) - + Bob (Top Field First) Bob (上位フィールド優先) - + Bob (Bottom Field First) Bob (下位フィールド優先) - + Blend (Top Field First, Half FPS) Blend (上位フィールド優先, 半分 FPS) - + Blend (Bottom Field First, Half FPS) Blend (下位フィールド優先, 半分 FPS) - + Adaptive (Top Field First) Adaptive (上位フィールド優先) - + Adaptive (Bottom Field First) Adaptive (下位フィールド優先) - + Native (PS2) ネイティブ (PS2) - + Nearest ニアレスト - + Bilinear (Forced) バイリニア (強制) - + Bilinear (PS2) バイリニア (PS2) - + Bilinear (Forced excluding sprite) バイリニア (スプライト以外強制) - + Off (None) オフ (なし) - + Trilinear (PS2) トライリニア (PS2) - + Trilinear (Forced) トライリニア (強制) - + Scaled スケール - + Unscaled (Default) 未スケーリング (既定) - + Minimum 最小 - + Basic (Recommended) 基本 (推奨) - + Medium - + High - + Full (Slow) フル (低速) - + Maximum (Very Slow) 最大 (非常に低速) - + Off (Default) オフ (既定) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial 部分的 - + Full (Hash Cache) フル (ハッシュキャッシュ) - + Force Disabled 強制的に無効 - + Force Enabled 強制的に有効 - + Accurate (Recommended) 正確 (推奨) - + Disable Readbacks (Synchronize GS Thread) リードバックを無効化 (GS スレッドを同期) - + Unsynchronized (Non-Deterministic) 非同期 (非決定的) - + Disabled (Ignore Transfers) 無効 (転送を無視) - + Screen Resolution 画面解像度 - + Internal Resolution (Aspect Uncorrected) 内部解像度 (不正確なアスペクト比) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy 警告: メモリーカードがビジー状態です - + Cannot show details for games which were not scanned in the game list. ゲームリストでスキャンされていないゲームの詳細を表示することはできません。 - + Pause On Controller Disconnection コントローラー切断時に一時停止する - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense プレイヤー LED - + Press To Toggle 押して切り替え - + Deadzone 遊び幅 - + Full Boot フル起動 - + Achievement Notifications 実績の通知 - + Leaderboard Notifications リーダーボードの通知 - + Enable In-Game Overlays ゲーム内オーバーレイを有効にする - + Encore Mode アンコールモード - + Spectator Mode 観戦モード - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. 4 ビットと 8 ビットのフレームバッファを、GPUの代わりにCPUで変換する。 - + Removes the current card from the slot. 差込口から現在のメモリーカードを引き抜きます。 - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). マクロがボタンのオンとオフを切り替える頻度 (連射パッドでいう連打間隔) を決定します。 - + {} Frames {} フレーム - + No Deinterlacing インターレース解除なし - + Force 32bit 32bitを強制 - + JPEG JPEG - + 0 (Disabled) 0 (無効) - + 1 (64 Max Width) 1 (最大幅 64) - + 2 (128 Max Width) 2 (最大幅 128) - + 3 (192 Max Width) 3 (最大幅 192) - + 4 (256 Max Width) 4 (最大幅 256) - + 5 (320 Max Width) 5 (最大幅 320) - + 6 (384 Max Width) 6 (最大幅 384) - + 7 (448 Max Width) 7 (最大幅 448) - + 8 (512 Max Width) 8 (最大幅 512) - + 9 (576 Max Width) 9 (最大幅 576) - + 10 (640 Max Width) 10 (最大幅 640) - + Sprites Only スプライトのみ - + Sprites/Triangles スプライト/トライアングル - + Blended Sprites/Triangles ブレンド済みスプライト/トライアングル - + 1 (Normal) 1 (通常) - + 2 (Aggressive) 2 (アグレッシブ) - + Inside Target 内部ターゲット - + Merge Targets ターゲットを結合 - + Normal (Vertex) 通常 (Vertex) - + Special (Texture) 特殊 (テクスチャ) - + Special (Texture - Aggressive) 特殊 (テクスチャ-アグレッシブ) - + Align To Native ネイティブに合わせる - + Half ハーフ - + Force Bilinear バイリニアを強制 - + Force Nearest ニアレストを強制 - + Disabled (Default) 無効 (既定) - + Enabled (Sprites Only) 有効 (スプライトのみ) - + Enabled (All Primitives) 有効 (すべてのプリミティブ) - + None (Default) なし (既定) - + Sharpen Only (Internal Resolution) シャープのみ (内部解像度) - + Sharpen and Resize (Display Resolution) シャープとサイズ変更 (ディスプレイ解像度) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed 無圧縮 - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative 負数 - + Positive 正数 - + Chop/Zero (Default) Chop/Zero (既定) - + Game Grid ゲームグリッド - + Game List ゲームリスト - + Game List Settings ゲームリストの設定 - + Type 種類 - + Serial シリアル番号 - + Title タイトル - + File Title ファイル名 - + CRC CRC - + Time Played プレイ時間 - + Last Played 最終プレイ日 - + Size サイズ - + Select Disc Image ディスクイメージを選択 - + Select Disc Drive ディスクドライブを選択 - + Start File ファイルを起動 - + Start BIOS BIOS を起動 - + Start Disc ディスクを起動 - + Exit 終了 - + Set Input Binding 入力割り当てを設定 - + Region リージョン - + Compatibility Rating 互換性評価 - + Path パス - + Disc Path ディスクパス - + Select Disc Path ディスクパスを選択 - + Copy Settings 設定をコピー - + Clear Settings 設定をクリア - + Inhibit Screensaver スクリーンセーバーを防止 - + Enable Discord Presence Discord Presence を有効化 - + Pause On Start 起動時に一時停止 - + Pause On Focus Loss 非フォーカス時に一時停止 - + Pause On Menu メニューで一時停止 - + Confirm Shutdown シャットダウン時に確認 - + Save State On Shutdown シャットダウン時にステートセーブ - + Use Light Theme ライトテーマを使用 - + Start Fullscreen フルスクリーンで開始 - + Double-Click Toggles Fullscreen ダブルクリックでフルスクリーン表示を切替 - + Hide Cursor In Fullscreen フルスクリーン時にカーソルを非表示 - + OSD Scale OSD スケール - + Show Messages メッセージを表示 - + Show Speed 速度を表示 - + Show FPS FPS を表示 - + Show CPU Usage CPU 使用率を表示 - + Show GPU Usage GPU 使用率を表示 - + Show Resolution 解像度を表示 - + Show GS Statistics GS 統計を表示 - + Show Status Indicators ステータスインジケーターを表示 - + Show Settings 設定を表示 - + Show Inputs 入力を表示 - + Warn About Unsafe Settings 安全でない設定についての警告 - + Reset Settings 設定をリセット - + Change Search Directory 検索ディレクトリを変更 - + Fast Boot 急速起動 - + Output Volume 出力音量 - + Memory Card Directory メモリーカード ディレクトリ - + Folder Memory Card Filter フォルダ式メモリーカードのフィルタリング - + Create 作成 - + Cancel キャンセル - + Load Profile プロファイルを読み込む - + Save Profile プロファイルを保存 - + Enable SDL Input Source SDL 入力ソースを有効化 - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense 拡張モード - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source XInput 入力ソースを有効化 - + Enable Console Port 1 Multitap コンソールポート 1 のマルチタップを有効化 - + Enable Console Port 2 Multitap コンソールポート 2 のマルチタップを有効化 - + Controller Port {}{} コントローラー端子 {}{} - + Controller Port {} コントローラー端子 {} - + Controller Type コントローラーの種類 - + Automatic Mapping 自動マッピング - + Controller Port {}{} Macros コントローラー端子 {}{} マクロ - + Controller Port {} Macros コントローラー端子 {} マクロ - + Macro Button {} マクロボタン {} - + Buttons ボタン - + Frequency 頻度 - + Pressure 圧力 - + Controller Port {}{} Settings コントローラー端子 {}{} 設定 - + Controller Port {} Settings コントローラー端子 {} 設定 - + USB Port {} USB ポート {} - + Device Type デバイスの種類 - + Device Subtype デバイスのサブタイプ - + {} Bindings {} 割り当て - + Clear Bindings 割り当てをクリア - + {} Settings {} 設定 - + Cache Directory キャッシュ ディレクトリ - + Covers Directory カバー画像 ディレクトリ - + Snapshots Directory スナップショット ディレクトリ - + Save States Directory ステートセーブ ディレクトリ - + Game Settings Directory ゲーム設定 ディレクトリ - + Input Profile Directory 入力プロファイル ディレクトリ - + Cheats Directory チート ディレクトリ - + Patches Directory パッチ ディレクトリ - + Texture Replacements Directory テクスチャ置換 ディレクトリ - + Video Dumping Directory ビデオダンプ ディレクトリ - + Resume Game ゲームを再開 - + Toggle Frame Limit フレーム制限のオンオフ - + Game Properties ゲームのプロパティ - + Achievements 実績 - + Save Screenshot スクリーンショットを保存 - + Switch To Software Renderer ソフトウェアレンダラーに切替 - + Switch To Hardware Renderer ハードウェアレンダラーに切替 - + Change Disc ディスク変更 - + Close Game ゲームを閉じる - + Exit Without Saving セーブせずに終了 - + Back To Pause Menu 一時停止メニューに戻る - + Exit And Save State ステートセーブして終了 - + Leaderboards リーダーボード - + Delete Save セーブを削除 - + Close Menu メニューを閉じる - + Delete State ステートを削除 - + Default Boot 通常起動 - + Reset Play Time プレイ時間をリセット - + Add Search Directory 検索ディレクトリを追加 - + Open in File Browser ファイルブラウザーで開く - + Disable Subdirectory Scanning サブディレクトリのスキャンを無効化 - + Enable Subdirectory Scanning サブディレクトリのスキャンを有効化 - + Remove From List リストから削除 - + Default View デフォルトビュー - + Sort By 並べ替え - + Sort Reversed 逆に並べ替え - + Scan For New Games 新しいゲームをスキャン - + Rescan All Games すべてのゲームを再スキャン - + Website ウェブサイト - + Support Forums サポートフォーラム - + GitHub Repository GitHub リポジトリ - + License ライセンス - + Close 閉じる - + RAIntegration is being used instead of the built-in achievements implementation. 組み込みの実装の代わりにRAIntegrationが使用されています。 - + Enable Achievements 実績を有効化 - + Hardcore Mode ハードコアモード - + Sound Effects サウンドエフェクト - + Test Unofficial Achievements 非公式の実績をテスト - + Username: {} ユーザー名: {} - + Login token generated on {} {} で生成されたログイントークン - + Logout ログアウト - + Not Logged In ログインしていません - + Login ログイン - + Game: {0} ({1}) ゲーム: {0} ({1}) - + Rich presence inactive or unsupported. リッチプレゼンスが非アクティブまたはサポートされていません。 - + Game not loaded or no RetroAchievements available. ゲームがロードされていないか、利用可能な RetroAchievements がありません。 - + Card Enabled カードを有効化 - + Card Name カード名 - + Eject Card カードの取り出し @@ -10700,7 +10759,7 @@ graphical quality, but this will increase system requirements. ELF - ELF + ELF @@ -11064,32 +11123,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. ラベルのないパッチが読み込まれているため、このゲーム用に PCSX2 にバンドルされているパッチはすべて無効になります。 - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs すべての CRC - + Reload Patches パッチを再読み込み - + Show Patches For All CRCs すべての CRC のパッチを表示 - + Checked チェックを入れる - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. CRC が一致しないパッチを読み込むかどうかを切り替えます。チェックを入れると、現在の CRC に関わらず、シリアルナンバーが一致しているパッチを全て読み込むようになります。 - + There are no patches available for this game. このゲームに利用可能なパッチがありません。 @@ -11392,13 +11461,13 @@ Scanning recursively takes more time, but will identify files in subdirectories. %0%1 First arg is a GameList compat; second is a string with space followed by star rating OR empty if Unknown compat - %0%1 + %0%1 %0%1 First arg is filled-in stars for game compatibility; second is empty stars; should be swapped for RTL languages - %0%1 + %0%1 @@ -11565,11 +11634,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) オフ (既定) @@ -11579,10 +11648,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) 自動 (既定) @@ -11649,7 +11718,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. バイリニア (スムーズ) @@ -11715,29 +11784,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets スクリーンオフセット - + Show Overscan オーバースキャンを表示 - - - Enable Widescreen Patches - ワイドスクリーンパッチを有効化 - - - - Enable No-Interlacing Patches - インターレース解除パッチを有効化 - - + Anti-Blur アンチブラー @@ -11748,7 +11807,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset インターレースオフセットを無効化 @@ -11758,18 +11817,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne スクリーンショットのサイズ: - + Screen Resolution 画面解像度 - + Internal Resolution 内部解像度 - + PNG PNG @@ -11821,7 +11880,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) バイリニア (PS2) @@ -11868,7 +11927,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) 未スケーリング (既定) @@ -11884,7 +11943,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) 基本 (推奨) @@ -11920,7 +11979,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) フル (ハッシュキャッシュ) @@ -11936,31 +11995,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion 深度変換を無効化 - + GPU Palette Conversion GPU パレット変換 - + Manual Hardware Renderer Fixes ハードウェアレンダラーの手動設定を開く - + Spin GPU During Readbacks リードバック中に GPU を回転させる - + Spin CPU During Readbacks リードバック中に CPU を回転させる @@ -11972,15 +12031,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping ミップマッピング - - + + Auto Flush オートフラッシュ @@ -12008,8 +12067,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (無効) @@ -12066,18 +12125,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features 安全機能を無効化 - + Preload Frame Data フレームデータの事前読み込み - + Texture Inside RT テクスチャー インサイド RT @@ -12176,13 +12235,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite スプライトを統合 - + Align Sprite スプライトを整列 @@ -12196,16 +12255,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing インターレース解除なし - - - Apply Widescreen Patches - ワイドスクリーンパッチを適用する - - - - Apply No-Interlacing Patches - インターレース無効化パッチを適用する - Window Resolution (Aspect Corrected) @@ -12278,25 +12327,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation 部分ソース無効化の無効化 - + Read Targets When Closing 閉じるときにターゲットを読み込む - + Estimate Texture Region テクスチャ領域を推定 - + Disable Render Fixes レンダリング修正を無効化 @@ -12307,7 +12356,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws スケールされていないパレットテクスチャの描画 @@ -12366,25 +12415,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures テクスチャをダンプ - + Dump Mipmaps ミップマップをダンプ - + Dump FMV Textures FMV テクスチャをダンプ - + Load Textures テクスチャを読み込む @@ -12392,7 +12441,17 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) - Native (10:7) + ネイティブ (10:7) + + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches @@ -12411,13 +12470,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures テクスチャを事前にキャッシュ @@ -12440,8 +12499,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) なし (既定) @@ -12462,7 +12521,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12514,7 +12573,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost シェーダーブースト @@ -12529,7 +12588,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne コントラスト: - + Saturation 彩度 @@ -12550,50 +12609,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators インジケーターを表示 - + Show Resolution 解像度を表示 - + Show Inputs 入力を表示 - + Show GPU Usage GPU 使用率を表示 - + Show Settings 設定を表示 - + Show FPS FPS を表示 - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Mailbox Presentationを無効化 - + Extended Upscaling Multipliers 拡張アップスケーリング乗数 @@ -12609,13 +12668,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics 統計情報を表示 - + Asynchronous Texture Loading 非同期テクスチャを読み込む @@ -12626,13 +12685,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage CPU 使用率を表示 - + Warn About Unsafe Settings 安全でない設定を警告 @@ -12658,7 +12717,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12669,45 +12728,45 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version PCSX2 バージョンを表示 - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS - Show VPS + VPSを表示 @@ -12814,19 +12873,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames 重複したフレームの表示をスキップ - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12879,7 +12938,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages 実行速度パーセントを表示 @@ -12889,1214 +12948,1214 @@ Swap chain: see Microsoft's Terminology Portal. フレームバッファフェッチを無効化 - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. ソフトウェア - + Null Null here means that this is a graphics backend that will show nothing. なし - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] グローバル設定を使用 [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked チェックを外す - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - ゲーム開始時にワイドスクリーンパッチを自動的に適用します。何らかの問題が発生する可能性があります。 + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - ゲーム開始時にインターレース解除パッチを自動的に適用します。何らかの問題が発生する可能性があります。 + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. インターレースオフセットを無効にします。グラフィックのボヤけが軽減される可能性があります。 - + Bilinear Filtering バイリニアフィルタリング - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. バイリニアフィルタリングを有効にします。画面に表示されている画像全体を滑らかにして、ピクセル間の位置を修正します。 - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. PCRTC オフセットを有効にしてゲームのリクエストに応じて画面を配置します。WipEout Fusion など、一部ゲームの画面揺れエフェクトに効果的ですが、画像がぼやける可能性があります。 - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 画面のセーフエリアを超える描画を行うゲームで、オーバースキャン領域を表示するオプションを有効にします。 - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. エミュレートされたコンソールのインターレース画面で使用するインターレース解除方法を決定します。Automaticでほとんどのゲームは正しくインターレースを解除できるはずですが、目に見えてグラフィックが揺らぐ場合は、利用可能なオプションのいずれかを試してください。 - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. GS ブレンディングユニットのエミュレーション精度のレベルを変更できます。<br>設定を高くするほど、より多くのブレンドをシェーダー内で正確にエミュレートしますが、その分システム負荷も高まります。<br>なお、Direct3D のブレンディング性能は OpenGL/Vulkan より劣ることにご注意ください。 - + Software Rendering Threads ソフトウェアレンダリングスレッド - + CPU Sprite Render Size CPU スプライトレンダリングサイズ - + Software CLUT Render ソフトウェア CLUT レンダリング - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. ゲームが独自のカラーパレットを描画しているときを検出し、特別な処理でGPUにレンダリングするようにします。 - + This option disables game-specific render fixes. このオプションは、ゲーム固有のレンダリング修正を無効にします。 - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. テクスチャキャッシュは既定で部分的な無効化を処理しますが、残念ながら CPU の計算には非常にコストがかかります。 このハックは部分的な無効化をテクスチャの完全な削除に置き換えて、CPU 負荷を軽減します。 Snowblind エンジンのゲームに役立ちます。 - + Framebuffer Conversion フレームバッファ変換 - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. GPU の代わりに CPU 上の 4 ビットと 8 ビットのフレームバッファを変換します。ハリー・ポッターとスタントマンのゲームに役立ちます。パフォーマンスに大きな影響を与えます。 - - + + Disabled 無効 - - Remove Unsupported Settings - サポートされていない設定を削除する - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - 現在、このゲームでは [ワイドスクリーンパッチの有効化] または [インターレースなしのパッチを有効にする] オプションが有効になっています。これらのオプションはサポートされなくなりましたが、代わりに「パッチ」セクションを選択し、必要なパッチを明示的に有効にする必要があります。これらのオプションをゲーム設定から削除しますか? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. リードバック中に CPU に無駄な作業を行い、CPU が省電力モードにならないようにします。リードバック中のパフォーマンスは向上しますが、電力使用量が大幅に増加します。 - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. リードバック中に GPU に無駄な作業を送信して、GPU が省電力モードにならないようにします。リードバック中のパフォーマンスは向上しますが、消費電力が大幅に増加します。 - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. レンダリング スレッドの数: シングル スレッドの場合は 0、マルチスレッドの場合は 2 以上 (1 はデバッグ用)。2〜4スレッドが推奨され、それを超えると、高速ではなく遅くなる可能性があります。 - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. テクスチャキャッシュのデプスバッファのサポートを無効にします。さまざまな不具合が生じる可能性があり、デバッグにのみ役立ちます。 - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. テクスチャキャッシュが以前のフレームバッファの内側部分を入力テクスチャとして再利用できるようにします。 - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. シャットダウン時にテクスチャキャッシュ内のすべてのターゲットをローカルメモリにフラッシュします。状態を保存したりレンダラーを切り替えたりするときにビジュアルが失われるのを防ぐことができますが、グラフィックの破損を引き起こす可能性もあります。 - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). ゲーム自体がテクスチャサイズを定義しない場合 (Snowblind など) に、テクスチャサイズの縮小を試みます。 - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. エースコンバット、鉄拳、ソウルキャリバーなど、ナムコのゲームにおけるアップスケーリングの問題 (縦線) を修正します。 - + Dumps replaceable textures to disk. Will reduce performance. 置き換え可能なテクスチャをディスクにダンプします。パフォーマンスが低下します。 - + Includes mipmaps when dumping textures. テクスチャをダンプする際に、ミップマップを含めます。 - + Allows texture dumping when FMVs are active. You should not enable this. FMV がアクティブな場合にテクスチャダンプを許可します。有効にするべきではありません。 - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. 置換が有効の際のカクつきを軽減するため、ワーカースレッドで置換テクスチャを読み込みます。 - + Loads replacement textures where available and user-provided. ユーザーが提供した利用可能な代替テクスチャを読み込みます。 - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. すべての置換テクスチャをメモリに先読みします。非同期ロードを使用している場合、これは不要です。 - + Enables FidelityFX Contrast Adaptive Sharpening. FidelityFX コントラスト適応シャープを有効にします。 - + Determines the intensity the sharpening effect in CAS post-processing. CASポストプロセッシングにおけるシャープニング効果の強度を決定します。 - + Adjusts brightness. 50 is normal. 明るさを調整します。50 が普通です。 - + Adjusts contrast. 50 is normal. コントラストを調整します。50 が普通です。 - + Adjusts saturation. 50 is normal. 彩度を調整します。50 が普通です。 - + Scales the size of the onscreen OSD from 50% to 500%. OSD のサイズを 50% ~ 500% の範囲で任意に変更できます。 - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. 一時停止、ターボ、早送り、スローモーションなどのエミュレーション状態のOSDアイコンインジケータを表示します。 - + Displays various settings and the current values of those settings, useful for debugging. さまざまな設定と現在の値を表示します。デバッグに役立ちます。 - + Displays a graph showing the average frametimes. フレームタイムの平均を示すグラフを表示します。 - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec 動画コーデック - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> ビデオキャプチャに使用するビデオコーデックを選択します。<b>分からない場合は、デフォルトのままにしておいてください。<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate 動画ビットレート - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. 録画に使用するビットレートを設定できます。ビットレートを大きくすれば動画の品質は高くなりますが、代償としてファイルサイズが大きくなります。 - + Automatic Resolution 自動解像度 - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> チェックすると、ビデオキャプチャの解像度は、実行中のゲームの内部解像度に従います。<br><br><b>内部解像度が高い (4倍以上) 場合、ビデオキャプチャが非常に大きくなり、システムのオーバーロードを引き起こす可能性があるため、この設定を使用する場合は特にアップスケーリング時に注意してください。</b> - + Enable Extra Video Arguments 追加の動画引数を有効化 - + Allows you to pass arguments to the selected video codec. 選択したビデオコーデックに引数を渡すことができます。 - + Extra Video Arguments 追加の動画引数 - + Audio Codec 音声コーデック - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> 動画に使用するオーディオコーデックを選択してください。<b><b>よくわからない内は、初期設定のままにしておくことを推奨します。<b><b> - + Audio Bitrate 音声ビットレート - + Enable Extra Audio Arguments 追加の音声引数を有効化 - + Allows you to pass arguments to the selected audio codec. 選択中のオーディオコーデックに引数を渡せるようになります。 - + Extra Audio Arguments 追加の音声引数 - + Allow Exclusive Fullscreen 排他的フルスクリーンを許可 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. 排他的フルスクリーン、またはダイレクトフリップ/スキャンアウトを有効にするドライバーのヒューリスティックを上書きします。<br>排他的フルスクリーンを禁止すると、タスクの切り替えやオーバーレイがよりスムーズになる可能性がありますが、入力遅延が増加します。 - + 1.25x Native (~450px) 1.25x ネイティブ (~450px) - + 1.5x Native (~540px) 1.5x ネイティブ (~540px) - + 1.75x Native (~630px) 1.75x ネイティブ (~630px) - + 2x Native (~720px/HD) 2x ネイティブ (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5 x ネイティブ (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x ネイティブ (~1260px) - + 4x Native (~1440px/QHD) 4x ネイティブ (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x ネイティブ (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x ネイティブ (~2160px/4K UHD) - + 7x Native (~2520px) 7x ネイティブ (~2520px) - + 8x Native (~2880px/5K UHD) 8x ネイティブ (~2880px/5K UHD) - + 9x Native (~3240px) 9x ネイティブ (~3240px) - + 10x Native (~3600px/6K UHD) 10x ネイティブ (~3600px/6K UHD) - + 11x Native (~3960px) 11x ネイティブ (~3960px) - + 12x Native (~4320px/8K UHD) 12x ネイティブ (~4320px/8K UHD) - + 13x Native (~4680px) 13x ネイティブ (~4680px) - + 14x Native (~5040px) 14x ネイティブ (~5040px) - + 15x Native (~5400px) 15x ネイティブ (~5400px) - + 16x Native (~5760px) 16x ネイティブ (~5760px) - + 17x Native (~6120px) 17x ネイティブ (~6120px) - + 18x Native (~6480px/12K UHD) 18x ネイティブ (~6480px/12K UHD) - + 19x Native (~6840px) 19x ネイティブ (~6840px) - + 20x Native (~7200px) 20x ネイティブ (~7200px) - + 21x Native (~7560px) 21x ネイティブ (~7560px) - + 22x Native (~7920px) 22x ネイティブ (~7920px) - + 23x Native (~8280px) 23x ネイティブ (~8280px) - + 24x Native (~8640px/16K UHD) 24x ネイティブ (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x ネイティブ - - - - - - - - - + + + + + + + + + Checked チェックを入れる - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 内部のブレ防止ハックを有効にします。実際の PS2 のレンダリングに忠実ではなくなりますが、多くのゲームで残像が軽減されます。 - + Integer Scaling 整数スケーリング - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. ホストピクセルとコンソールピクセルの比率が整数になるように、表示領域にパディングを追加します。 一部の 2D ゲームでは画像が鮮明になる場合があります。 - + Aspect Ratio アスペクト比 - + Auto Standard (4:3/3:2 Progressive) 自動標準 (4:3/3:2 プログレッシブ) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. コンソールの出力を画面に表示するために使用されるアスペクト比を変更します。既定値は自動標準 (4:3/3:2 プログレッシブ)で、当時の典型的なテレビでゲームがどのように表示されるかに合わせてアスペクト比を自動的に調整します。 - + Deinterlacing インターレース解除 - + Screenshot Size スクリーンショットのサイズ - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. スクリーンショットを保存する解像度を指定します。内部解像度は、ファイルサイズを犠牲にして詳細を保持します。 - + Screenshot Format スクリーンショットの形式 - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. スクリーンショットの保存に使用される形式を選択します。JPEG はより小さいファイルを生成しますが、詳細は失われます。 - + Screenshot Quality スクリーンショットの品質 - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. スクリーンショットの圧縮品質を選択します。JPEG の場合は値が大きいほど画質が上がり、PNG の場合はファイルサイズが小さくなります。 - - + + 100% 100% - + Vertical Stretch 垂直方向の拡縮 - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. ディスプレイの垂直方向のコンポーネントを伸ばす(&lt; 100%) または圧縮する(&gt; 100%) 。 - + Fullscreen Mode フルスクリーンモード - - - + + + Borderless Fullscreen ボーダーレスフルスクリーン - + Chooses the fullscreen resolution and frequency. フルスクリーンの解像度と周波数を選択します。 - + Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. ディスプレイの左側からトリミングされるピクセル数を変更します。 - + Top - + Changes the number of pixels cropped from the top of the display. ディスプレイの上部からトリミングされるピクセル数を変更します。 - + Right - + Changes the number of pixels cropped from the right side of the display. ディスプレイの右側からトリミングされるピクセル数を変更します。 - + Bottom - + Changes the number of pixels cropped from the bottom of the display. ディスプレイの下部からトリミングされるピクセル数を変更します。 - - + + Native (PS2) (Default) ネイティブ (PS2) (既定) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. ゲームのレンダリング解像度を変更します。高解像度にすると古い GPU やローエンド GPU でのパフォーマンスに影響を与える可能性があります。<br>非ネイティブ解像度に設定したときに、一部のゲームにおいてグラフィック上の問題が発生するおそれがあります。<br>ビデオファイルは事前にレンダリングされているため、FMV の解像度は変更されません。 - + Texture Filtering テクスチャフィルタリング - + Trilinear Filtering トライリニアフィルタリング - + Anisotropic Filtering 異方性フィルタリング - + Reduces texture aliasing at extreme viewing angles. 極端な視野角でのテクスチャエイリアシングを低減します。 - + Dithering ディザリング - + Blending Accuracy ブレンド精度 - + Texture Preloading テクスチャの事前読み込み - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. 可能な限り冗長なアップロードを避けるため、小さな部分ではなく一度に全体のテクスチャをアップロードします。ほとんどのゲームでパフォーマンスが向上しますが、一部の選択肢は遅くなる可能性があります。 - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. 有効な場合、GPU がカラーマップテクスチャを変換します。無効の場合、CPU が行います。GPU と CPU のトレードオフです。 - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. このオプションは、自動設定を無効化し、ゲームのレンダラーやアップスケーリング修正を変更できるようにします。自動設定を再度有効にするには、このオプションのチェックを外してください。 - + 2 threads 2 スレッド - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. フレームバッファが入力テクスチャでもある場合に、プリミティブフラッシュを強制的に行います。これにより、Jakシリーズの影やGTA:SAの放射状の光のような処理効果が修正されます。 - + Enables mipmapping, which some games require to render correctly. ミップマッピングを有効にします。一部のゲームでは、正しく描画するために必要です。 - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. CPUスプライトレンダラーで有効になるターゲットメモリ幅の上限。 - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. ゲームが独自のカラーパレットを描画するタイミングを検出したら、GPUではなくソフトウェアでレンダリングするようにします。 - + GPU Target CLUT GPU ターゲット CLUT - + Skipdraw Range Start Skipdraw 範囲の開始位置 - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. 左のボックスから右のボックスまで指定されたサーフェスの間の描画を完全にスキップします。 - + Skipdraw Range End Skipdraw 範囲の終了位置 - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. このオプションは複数のセーフ機能を無効にします。精密なUnscale PointとLineレンダリングを無効にします。これはゼノサーガに役立ちます。CPUで行われる正確なGSメモリクリアを無効にし、GPUにそれを処理させます。これはキングダムハーツに役立ちます。 - + Uploads GS data when rendering a new frame to reproduce some effects accurately. 新しいフレームを描画する際に GS データをアップロードし、いくつかのエフェクトを正確に再現します。 - + Half Pixel Offset ハーフピクセルオフセット - + Might fix some misaligned fog, bloom, or blend effect. 一部の不正確なフォグ、ブルーム、またはブレンド効果を修正する可能性があります。 - + Round Sprite ラウンドスプライト - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. アップスケーリング時の 2D スプライト テクスチャのサンプリングを修正します。アルトネリコなどのゲームのアップスケーリング時のスプライトの線を修正しました。 [Half] はフラットスプライト用、[Full] はすべてのスプライト用です。 - + Texture Offsets X テクスチャオフセット X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. ST/UV テクスチャ座標のオフセット。奇妙なテクスチャの問題が修正され、後処理の整列も修正される可能性があります。 - + Texture Offsets Y テクスチャオフセット Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. GS 精度を下げてアップスケール時のピクセル間のギャップを防ぎます。ワイルドアームズのテキストを修正します。 - + Bilinear Upscale バイリニアアップスケール - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. アップスケーリング時にバイリニアフィルタリングを適用することで、テクスチャの滑らかさを向上させることができます。例えば、まぶしい太陽の光などが該当します。 - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. ポストプロセッシングの複数のマルチペービングスプライトを単一の太いスプライトに置き換えます。これにより、さまざまなアップスケーリングラインが減少します。 - + Force palette texture draws to render at native resolution. パレット テクスチャ描画を強制的にネイティブ解像度でレンダリングします。 - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx コントラスト適応型シャープニング - + Sharpness シャープネス - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. 彩度、コントラスト、明るさの調整を有効にします。明るさ、彩度、コントラストの既定値は 50 です。 - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. ゲームの視覚的な品質を向上させるために、FXAA アンチエイリアシングアルゴリズムを適用します。 - + Brightness 明るさ - - - + + + 50 50 - + Contrast コントラスト - + TV Shader TV シェーダー - + Applies a shader which replicates the visual effects of different styles of television set. さまざまなテレビの視覚効果を再現するシェーダーを適用します。 - + OSD Scale OSD スケール - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. ステートセーブ/ロード、スクリーンショットなどのイベントが発生したときに、OSD メッセージを表示します。 - + Shows the internal frame rate of the game in the top-right corner of the display. ディスプレイの右上隅にゲームの内部フレームレートを表示します。 - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. ディスプレイの右上隅に現在のエミュレーション速度をパーセンテージで表示します。 - + Shows the resolution of the game in the top-right corner of the display. ディスプレイの右上隅にゲームの解像度を表示します。 - + Shows host's CPU utilization. ホストの CPU 使用率を表示します。 - + Shows host's GPU utilization. ホスト GPU の使用率を表示します。 - + Shows counters for internal graphical utilization, useful for debugging. 内部のグラフィック使用率のカウンターを表示します。デバッグに役立ちます。 - + Shows the current controller state of the system in the bottom-left corner of the display. 現在のコントローラー状態をディスプレイの左下に表示します。 - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. ゲームの正常な動作を妨げる可能性のある設定が有効になっている場合に警告を表示します。 - - + + Leave It Blank 空白のまま - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" 選択したビデオコーデックに渡されるパラメータです。<br><b>キーと値の間には '='、2つのペアの間には ':' を使用してください。</b><br>例:"crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. 使用するオーディオビットレートを設定します。 - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" 選択したオーディオコーデックに渡されるパラメータです。<br><b>キーと値の間には '='、2つのペアの間には ':' を使用する必要があります。</b><br>例: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS ダンプ圧縮形式 - + Change the compression algorithm used when creating a GS dump. GS ダンプの作成時に使用される圧縮アルゴリズムを変更します。 - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Direct3D 11 レンダラーを使用する際、フリップ プレゼンテーションモデルではなく、blit プレゼンテーションモデルを使用します。通常はパフォーマンスが低下しますが、ストリーミングアプリケーションや、システムのフレームレート上限の解除に必要な場合があります。 - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. GPU の能力に依存したオプションの非常に高いアップスケーリング乗数を表示します。 - + Enable Debug Device デバッグデバイスを有効化 - + Enables API-level validation of graphics commands. グラフィックコマンドの API レベルの検証を有効にします。 - + GS Download Mode GS ダウンロードモード - + Accurate 正確 - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. GS ダウンロードのための GS スレッドとホスト GPU との同期をスキップします。これにより、低速のシステムで大幅な速度向上が見込めますが、多くのグラフィック効果が壊れる可能性があります。ゲームが壊れていてこのオプションを有効にしていた場合は、まずこのオプションを無効にしてください。 - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. 既定 - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Mailbox presentationではなくFIFOを強制的に使用します。例えば、トリプルバッファリングではなくダブルバッファリングです。通常、フレームペースが悪化します。 @@ -14104,7 +14163,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format 既定 @@ -14203,7 +14262,7 @@ Swap chain: see Microsoft's Terminology Portal. Automatic - Automatic + 自動 @@ -14321,254 +14380,254 @@ Swap chain: see Microsoft's Terminology Portal. スロット {} にセーブステートが見つかりません。 - - - + + - - - - + + + + - + + System システム - + Open Pause Menu 一時停止メニューを開く - + Open Achievements List 実績リストを開く - + Open Leaderboards List リーダーボードリストを開く - + Toggle Pause 一時停止 / 再開 - + Toggle Fullscreen フルスクリーンの切替 - + Toggle Frame Limit フレーム制限のオンオフ - + Toggle Turbo / Fast Forward ターボ / 早送りのオンオフ - + Toggle Slow Motion スローモーションのオンオフ - + Turbo / Fast Forward (Hold) ターボ / 早送りの切替 (ホールド) - + Increase Target Speed 目標速度を上げる - + Decrease Target Speed 目標速度を下げる - + Increase Volume 音量を上げる - + Decrease Volume 音量を下げる - + Toggle Mute ミュートのオンオフ - + Frame Advance コマ送り - + Shut Down Virtual Machine 仮想マシンをシャットダウン - + Reset Virtual Machine 仮想マシンをリセット - + Toggle Input Recording Mode 入力記録モードの切替 - - + + Save States ステートセーブ - + Select Previous Save Slot 前のセーブスロットを選択 - + Select Next Save Slot 次のセーブスロットを選択 - + Save State To Selected Slot 選択中のスロットにステートセーブ - + Load State From Selected Slot 選択したスロットからステートロード - + Save State and Select Next Slot ステートセーブして次のスロットを選択 - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 スロット 1 にステートセーブ - + Load State From Slot 1 スロット 1 からステートロード - + Save State To Slot 2 スロット 2 にステートセーブ - + Load State From Slot 2 スロット 2 からステートロード - + Save State To Slot 3 スロット 3 にステートセーブ - + Load State From Slot 3 スロット 3 からステートロード - + Save State To Slot 4 スロット 4 にステートセーブ - + Load State From Slot 4 スロット 4 からステートロード - + Save State To Slot 5 スロット 5 にステートセーブ - + Load State From Slot 5 スロット 5 からステートロード - + Save State To Slot 6 スロット 6 にステートセーブ - + Load State From Slot 6 スロット 6 からステートロード - + Save State To Slot 7 スロット 7 にステートセーブ - + Load State From Slot 7 スロット 7 からステートロード - + Save State To Slot 8 スロット 8 にステートセーブ - + Load State From Slot 8 スロット 8 からステートロード - + Save State To Slot 9 スロット 9 にステートセーブ - + Load State From Slot 9 スロット 9 からステートロード - + Save State To Slot 10 スロット 10 にステートセーブ - + Load State From Slot 10 スロット 10 からステートロード @@ -15445,594 +15504,608 @@ Right click to clear binding システム(&S) - - - + + Change Disc ディスク変更 - - + Load State ステートロード - - Save State - ステートセーブ - - - + S&ettings 設定(&E) - + &Help ヘルプ(&H) - + &Debug デバッグ(&D) - - Switch Renderer - レンダラーの切替 - - - + &View 表示(&V) - + &Window Size ウィンドウサイズ(&W) - + &Tools ツール(&T) - - Input Recording - 入力記録 - - - + Toolbar ツールバー - + Start &File... ファイルを起動(&F)... - - Start &Disc... - ディスクを起動(&D)... - - - + Start &BIOS BIOS を起動(&B) - + &Scan For New Games 新しいゲームをスキャン(&S) - + &Rescan All Games すべてのゲームを再スキャン(&R) - + Shut &Down シャットダウン(&D) - + Shut Down &Without Saving 保存せずにシャットダウン(&W) - + &Reset リセット(&R) - + &Pause 一時停止(&P) - + E&xit 終了(&X) - + &BIOS BIOS(&B) - - Emulation - エミュレーション - - - + &Controllers コントローラー(&C) - + &Hotkeys ホットキー(&H) - + &Graphics グラフィック(&G) - - A&chievements - 実績(&C) - - - + &Post-Processing Settings... ポストプロセス設定(&P)... - - Fullscreen - フルスクリーン - - - + Resolution Scale 解像度スケール - + &GitHub Repository... GitHub リポジトリ(&G)... - + Support &Forums... サポートフォーラム(&F)... - + &Discord Server... Discord サーバー(&D)... - + Check for &Updates... 更新を確認(&U)... - + About &Qt... Qt について(&Q)... - + &About PCSX2... PCSX2 について(&A)... - + Fullscreen In Toolbar フルスクリーン - + Change Disc... In Toolbar ディスク変更... - + &Audio オーディオ(&A) - - Game List - ゲームリスト - - - - Interface - インターフェース + + Global State + グローバルステート - - Add Game Directory... - ゲームディレクトリを追加... + + &Screenshot + スクリーンショット(&S) - - &Settings - 設定(&S) + + Start File + In Toolbar + ファイルを起動 - - From File... - ファイルから... + + &Change Disc + ディスクを交換(&M) - - From Device... - デバイスから… + + &Load State + &Load State - - From Game List... - ゲームリストから... + + Sa&ve State + Sa&ve State - - Remove Disc - ディスク取り出し + + Setti&ngs + Setti&ngs - - Global State - グローバルステート + + &Switch Renderer + レンダラーの切り替え(&S) - - &Screenshot - スクリーンショット(&S) + + &Input Recording + &Input Recording - - Start File - In Toolbar - ファイルを起動 + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar ディスクを起動 - + Start BIOS In Toolbar BIOS を起動 - + Shut Down In Toolbar シャットダウン - + Reset In Toolbar リセット - + Pause In Toolbar 一時停止 - + Load State In Toolbar ステートロード - + Save State In Toolbar ステートセーブ - + + &Emulation + エミュレーション(&E) + + + Controllers In Toolbar コントローラー - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + インターフェース(&I) + + + + Add Game &Directory... + ゲームディレクトリを追加(&D)... + + + Settings In Toolbar 設定 - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar スクリーンショット - + &Memory Cards メモリーカード(&M) - + &Network && HDD ネットワーク && HDD(&N) - + &Folders フォルダ(&F) - + &Toolbar ツールバー(&T) - - Lock Toolbar - ツールバーを固定 + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - ステータスバー(&S) + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - 詳細なステータス + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - ゲームリスト(&L) + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - システム表示(&D) + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - ゲームのプロパティ(&P) + + E&nable System Console + E&nable System Console - - Game &Grid - ゲームグリッド(&G) + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - タイトルを表示 (グリッドビュー) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - ズームイン (グリッドビュー)(&I) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - ズームアウト (グリッドビュー)(&O) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - カバーを更新 (グリッドビュー)(&C) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - メモリーカード ディレクトリを開く... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - データディレクトリを開く... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - ソフトウェアレンダリングの切替 + + &Controller Logs + &Controller Logs - - Open Debugger - デバッガーを開く + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - チート/パッチを再読み込み + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - システムコンソールを有効化 + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - デバッグコンソールを有効化 + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - ログウインドウを有効化 + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - 詳細ログを有効化 + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - EE コンソールログを有効化 + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - IOP コンソールログを有効化 + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - シングルフレーム GS ダンプを保存 + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - 新規 + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - 再生 + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - 停止 + + &Status Bar + ステータスバー(&S) - - Settings - This section refers to the Input Recording submenu. - 設定 + + + Game &List + ゲームリスト(&L) - - - Input Recording Logs - 入力記録のログ + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - コントローラーログ + + &Verbose Status + &Verbose Status - - Enable &File Logging - ファイルログを有効化(&F) + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + システム表示(&D) - - Enable CDVD Read Logging - CDVD読み込みログを有効化 + + Game &Properties + ゲームのプロパティ(&P) - - Save CDVD Block Dump - CDVD ブロックダンプを保存 + + Game &Grid + ゲームグリッド(&G) - - Enable Log Timestamps - ログのタイムスタンプを有効化 + + Zoom &In (Grid View) + ズームイン (グリッドビュー)(&I) - - + + Ctrl++ + Ctrl++ + + + + Zoom &Out (Grid View) + ズームアウト (グリッドビュー)(&O) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + カバーを更新 (グリッドビュー)(&C) + + + + Open Memory Card Directory... + メモリーカード ディレクトリを開く... + + + + Input Recording Logs + 入力記録のログ + + + + Enable &File Logging + ファイルログを有効化(&F) + + + Start Big Picture Mode Big Picture モードを開始 - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - カバー画像ダウンローダー... - - - - + Show Advanced Settings 高度な設定の表示 - - Recording Viewer - 入力記録ビューアー - - - - + Video Capture ビデオキャプチャ - - Edit Cheats... - チートを編集... - - - - Edit Patches... - パッチを編集... - - - + Internal Resolution 内部解像度 - + %1x Scale %1x 倍 - + Select location to save block dump: ブロックダンプの保存場所を選択: - + Do not show again 再度表示しない - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16045,297 +16118,297 @@ PCSX2 チームは、これらの設定を変更するためのサポートを 続行しますか? - + %1 Files (*.%2) %1 ファイル (*.%2) - + WARNING: Memory Card Busy 警告: メモリーカードがビジー状態です - + Confirm Shutdown シャットダウン時に確認 - + Are you sure you want to shut down the virtual machine? 仮想マシンをシャットダウンしてもよろしいですか? - + Save State For Resume ステートセーブして中断 - - - - - - + + + + + + Error エラー - + You must select a disc to change discs. ディスクを変更するにはディスクを選択する必要があります。 - + Properties... プロパティ... - + Set Cover Image... カバー画像を選択... - + Exclude From List リストから除外 - + Reset Play Time プレイ時間をリセット - + Check Wiki Page Check Wiki Page - + Default Boot 既定の起動 - + Fast Boot 急速起動 - + Full Boot フル起動 - + Boot and Debug 起動とデバッグ - + Add Search Directory... 検索ディレクトリを追加... - + Start File ファイルを起動 - + Start Disc ディスクを起動 - + Select Disc Image ディスクイメージを選択 - + Updater Error 更新エラー - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>GitHub の公式リリースではない PCSX2 のバージョンを更新しようとしています。申し訳ありませんが、非互換性を防ぐため、自動アップデートは公式ビルドでのみ有効になっています。</p><p>公式ビルドを入手するには、以下のリンクからダウンロードしてください:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. 現在のプラットフォームでは、自動更新はサポートされていません。 - + Confirm File Creation ファイル作成の確認 - + The pnach file '%1' does not currently exist. Do you want to create it? pnach ファイル '%1' がありません。新規作成しますか? - + Failed to create '%1'. '%1' の作成に失敗しました。 - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed 入力記録に失敗しました - + Failed to create file: {} ファイルの作成に失敗しました: {} - + Input Recording Files (*.p2m2) 入力記録ファイル (*.p2m2) - + Input Playback Failed 入力再生に失敗 - + Failed to open file: {} ファイルを開けませんでした: {} - + Paused 一時停止中 - + Load State Failed ステートロードに失敗 - + Cannot load a save state without a running VM. 実行中の VM が無いため、ステートロードできません。 - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? 新しい ELF は仮想マシンをリセットしないとロードできません。今すぐ仮想マシンをリセットしますか? - + Cannot change from game to GS dump without shutting down first. 最初にシャットダウンしないと、ゲームから GS ダンプに変更できません。 - + Failed to get window info from widget ウィジェットからウィンドウ情報を取得できませんでした - + Stop Big Picture Mode Big Picture モードを停止 - + Exit Big Picture In Toolbar Big Picture を終了 - + Game Properties ゲームのプロパティ - + Game properties is unavailable for the current game. 現在のゲームではゲームのプロパティが利用できません。 - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. CD/DVD-ROM デバイスが見つかりませんでした。ドライブが接続されていて、アクセスするための十分な権限があることを確認してください。 - + Select disc drive: ディスクドライブを選択: - + This save state does not exist. このステートセーブは存在しません。 - + Select Cover Image カバー画像を選択 - + Cover Already Exists カバー画像は既に存在します - + A cover image for this game already exists, do you wish to replace it? このゲームのカバー画像は既に存在します。置換しますか? - + + - Copy Error コピーエラー - + Failed to remove existing cover '%1' カバー画像 '%1' の削除に失敗しました - + Failed to copy '%1' to '%2' '%1' から '%2' へのコピーに失敗しました - + Failed to remove '%1' '%1' の削除に失敗しました - - + + Confirm Reset リセットの確認 - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) すべてのカバー画像形式 (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. 現在のカバー画像とは別のファイルを選択する必要があります。 - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16344,12 +16417,12 @@ This action cannot be undone. この操作は元に戻せません。 - + Load Resume State 中断ステートから再開 - + A resume save state was found for this game, saved at: %1. @@ -16362,89 +16435,89 @@ Do you want to load this state, or start from a fresh boot? これをロードしますか? 使用せずに通常起動しますか? - + Fresh Boot 通常起動 - + Delete And Boot 削除して起動 - + Failed to delete save state file '%1'. ステートセーブファイル '%1' の削除に失敗しました。 - + Load State File... ステートファイルを読み込む... - + Load From File... ファイルから読み込む... - - + + Select Save State File ステートセーブファイルを選択 - + Save States (*.p2s) ステートセーブ (*.p2s) - + Delete Save States... ステートセーブを削除... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) すべてのファイル形式 (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) すべてのファイル形式 (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> 警告: まだメモリーカードへの書き込みが終わっていません。このままシャットダウンすると、<b>メモリーカードは不可逆的に破壊されます</b>。ゲームを再開し、メモリーカードへの書き込みが完了するまで待つことを強くお勧めします。<br><br>メモリーカードが不可逆的に破壊される<b>ことを承知で、強制的にシャットダウンしますか?</b> - + Save States (*.p2s *.p2s.backup) ステートセーブ (*.p2s *.p2s.backup) - + Undo Load State ステートロードを取り消す - + Resume (%2) 再開 (%2) - + Load Slot %1 (%2) スロット %1 (%2) をロード - - + + Delete Save States ステートセーブを削除 - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16453,42 +16526,42 @@ The saves will not be recoverable. 一度削除したステートセーブは復元できなくなります。 - + %1 save states deleted. %1 個のセーブステートを削除しました。 - + Save To File... ファイルにセーブ... - + Empty - + Save Slot %1 (%2) スロット %1 (%2) にセーブ - + Confirm Disc Change ディスク交換の確認 - + Do you want to swap discs or boot the new image (via system reset)? ディスクを交換しますか?それとも、新しいディスクを (システムリセットを介して) 起動しますか? - + Swap Disc ディスク交換 - + Reset リセット @@ -16511,25 +16584,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed メモリーカードの作成に失敗しました - + Could not create the memory card: {} メモリーカードを作成できませんでした: {} - + Memory Card Read Failed メモリーカードの読み取りに失敗しました - + Unable to access memory card: {} @@ -16546,28 +16619,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. メモリーカード '{}' をストレージに保存しました。 - + Failed to create memory card. The error was: {} メモリーカードの作成に失敗しました。エラー: {} - + Memory Cards reinserted. メモリーカードを再挿入しました。 - + Force ejecting all Memory Cards. Reinserting in 1 second. すべてのメモリーカードを強制的に取り出します。1 秒後に再挿入します。 + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17359,7 +17437,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -17379,12 +17457,12 @@ This action cannot be reversed, and you will lose any saves on the card. Size is invalid. - Size is invalid. + サイズが無効です。 Size is not a multiple of 4. - Size is not a multiple of 4. + サイズが 4 の倍数ではありません。 @@ -18199,12 +18277,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. {} を開けませんでした。内蔵のゲームパッチが利用できません。 - + %n GameDB patches are active. OSD Message @@ -18212,7 +18290,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18220,7 +18298,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18228,7 +18306,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. チートまたはパッチ (ワイドスクリーン、互換性など) が見つからないか、有効化されていません。 @@ -18329,47 +18407,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: %1 としてログインしました (%2 ポイント, ソフトスコア: %3 ポイント). %4 未読メッセージ. - - + + Error エラー - + An error occurred while deleting empty game settings: {} 空のゲーム設定の削除中にエラーが発生しました: {} - + An error occurred while saving game settings: {} ゲーム設定の保存中にエラーが発生しました: {} - + Controller {} connected. コントローラ {} が接続されました。 - + System paused because controller {} was disconnected. コントローラー {} が切断されたため、システムは一時停止しました。 - + Controller {} disconnected. コントローラ {} が切断されました。 - + Cancel キャンセル @@ -18502,7 +18580,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21715,42 +21793,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. ステートセーブ {} のバックアップに失敗しました。 - + Failed to save save state: {}. {} のステートセーブに失敗しました。 - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game 不明なゲーム - + CDVD precaching was cancelled. CDVDの事前キャッシングはキャンセルされました。 - + CDVD precaching failed: {} CDVD事前キャッシングに失敗しました: {} - + Error エラー - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21767,272 +21845,272 @@ Please consult the FAQs and Guides for further instructions. 詳しくはFAQとガイドをご覧ください。 - + Resuming state ステートから再開中 - + Boot and Debug 起動とデバッグ - + Failed to load save state ステートセーブの読み込みに失敗しました - + State saved to slot {}. スロット {} にステートセーブしました。 - + Failed to save save state to slot {}. スロット {} へのステートセーブに失敗しました。 - - + + Loading state ステートロード中 - + Failed to load state (Memory card is busy) ステートロードに失敗しました (メモリーカードがビジー状態です) - + There is no save state in slot {}. スロット {} にステートセーブがありません。 - + Failed to load state from slot {} (Memory card is busy) スロット {} からのステートロードに失敗しました (メモリーカードがビジー状態です) - + Loading state from slot {}... スロット {} からステートロード中... - + Failed to save state (Memory card is busy) ステートセーブに失敗しました (メモリーカードがビジー状態です) - + Failed to save state to slot {} (Memory card is busy) スロット {} へのステートセーブに失敗しました (メモリーカードがビジー状態です) - + Saving state to slot {}... スロット {} にステートセーブ中… - + Frame advancing コマ送り - + Disc removed. ディスクを取り出しました。 - + Disc changed to '{}'. ディスクを '{}' に変更しました。 - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} 新しいディスクイメージ '{}' が開けませんでした 。古いイメージに戻します。 エラー: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} 古いディスクイメージに切り替えることができませんでした。ディスクを取り出します。 エラー: {} - + Cheats have been disabled due to achievements hardcore mode. 実績ハードコアモードによりチートが無効になりました。 - + Fast CDVD is enabled, this may break games. 高速 CDVD が有効になっているため、ゲームが壊れる可能性があります。 - + Cycle rate/skip is not at default, this may crash or make games run too slow. サイクルレート/スキップが既定値ではないため、ゲームのクラッシュや、動作が遅くなる可能性があります。 - + Upscale multiplier is below native, this will break rendering. アップスケール乗数がネイティブを下回ると、レンダリングが破壊されます。 - + Mipmapping is disabled. This may break rendering in some games. ミップマッピングが無効になっています。一部のゲームでレンダリングが壊れる可能性があります。 - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. テクスチャフィルタリングが Bilinear (PS2) に設定されていません。一部のゲームでレンダリングが壊れます。 - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. トライリニアフィルタリングが自動に設定されていません。一部のゲームでレンダリングが壊れる可能性があります。 - + Blending Accuracy is below Basic, this may break effects in some games. ブレンド精度が基本未満に設定されているため、一部のゲームでエフェクトが壊れる可能性があります。 - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. ハードウェアダウンロードモードが「正確」に設定されていません。ゲームによってはレンダリングが壊れる可能性があります。 - + EE FPU Round Mode is not set to default, this may break some games. EE FPU 丸めモードが既定値に設定されていないため、一部のゲームが壊れる可能性があります。 - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU クランプモードが既定値に設定されていないため、一部のゲームが壊れる可能性があります。 - + VU0 Round Mode is not set to default, this may break some games. VU0 丸めモードが既定値に設定されていないため、一部のゲームが壊れる可能性があります。 - + VU1 Round Mode is not set to default, this may break some games. VU1 丸めモードが既定値に設定されていないため、一部のゲームが壊れる可能性があります。 - + VU Clamp Mode is not set to default, this may break some games. VU クランプモードが既定値に設定されていないため、一部のゲームが壊れる可能性があります。 - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAMが有効になっています。一部のゲームの互換性が影響を受ける可能性があります。 - + Game Fixes are not enabled. Compatibility with some games may be affected. ゲーム修正が有効になっていません。一部のゲームの互換性に影響する可能性があります。 - + Compatibility Patches are not enabled. Compatibility with some games may be affected. 互換性パッチが有効になっていません。一部のゲームの互換性が影響を受ける可能性があります。 - + Frame rate for NTSC is not default. This may break some games. NTSC のフレームレートが既定値ではありません。一部のゲームが壊れる可能性があります。 - + Frame rate for PAL is not default. This may break some games. PAL のフレームレートが既定値ではありません。一部のゲームが壊れる可能性があります。 - + EE Recompiler is not enabled, this will significantly reduce performance. EE リコンパイラが有効になっていないため、パフォーマンスが大幅に低下します。 - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 リコンパイラが有効になっていないため、パフォーマンスが大幅に低下します。 - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 リコンパイラが有効になっていないため、パフォーマンスが大幅に低下します。 - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP リコンパイラが有効になっていないため、パフォーマンスが大幅に低下します。 - + EE Cache is enabled, this will significantly reduce performance. EE キャッシュが有効になっているため、パフォーマンスが大幅に低下します。 - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection が有効になっていないため、パフォーマンスが低下する可能性があります。 - + INTC Spin Detection is not enabled, this may reduce performance. INTC スピン検出が有効になっていません。パフォーマンスが低下する可能性があります。 - + Fastmem is not enabled, this will reduce performance. Fastmem が有効になっていません。パフォーマンスが低下します。 - + Instant VU1 is disabled, this may reduce performance. インスタント VU1 が無効になっているため、パフォーマンスが低下する可能性があります。 - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack が有効になっていないため、パフォーマンスが低下する可能性があります。 - + GPU Palette Conversion is enabled, this may reduce performance. GPU パレット変換が有効になっているため、パフォーマンスが低下する可能性があります。 - + Texture Preloading is not Full, this may reduce performance. テクスチャのプリロードが Full ではありません。これによりパフォーマンスが低下する可能性があります。 - + Estimate texture region is enabled, this may reduce performance. テクスチャ領域の推定が有効になっているため、パフォーマンスが低下する可能性があります。 - + Texture dumping is enabled, this will continually dump textures to disk. テクスチャダンピングが有効になっているため、テクスチャは継続的にダンプされます。 diff --git a/pcsx2-qt/Translations/pcsx2-qt_ka-GE.ts b/pcsx2-qt/Translations/pcsx2-qt_ka-GE.ts index d7542338c6d6a..d505855f77934 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_ka-GE.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_ka-GE.ts @@ -331,17 +331,17 @@ Login token generated at: Displays popup messages when starting, submitting, or failing a leaderboard challenge. - Displays popup messages when starting, submitting, or failing a leaderboard challenge. + აჩვენებს პოპ-აპ შეტყობინებებს როდესაც იწყებ, აბარებ ან აგებ ლიდერბორდის ჩელენჯს. When enabled, each session will behave as if no achievements have been unlocked. - When enabled, each session will behave as if no achievements have been unlocked. + როდესაც ჩართულია, თითო სესია მოიქცევა ისე, თითქოს არცერთი აჩივმენთი არ ყოფილა მიღწეული. Reset System - Reset System + სისტემის გადატვირთვა @@ -417,7 +417,7 @@ Login token generated on %2. and earned {} of %n points Achievement popup - and earned {} of %n points + და მიიღო {} %n ქულიდან and earned {} of %n points @@ -441,7 +441,7 @@ Login token generated on %2. %n achievements Mastery popup - %n მიღწევები + %n აჩივმენთები %n achievements @@ -730,307 +730,318 @@ Leaderboard Position: {1} of {2} გამოიყენე გლობალური პარამეტრი [%1] - + Rounding Mode დამრგვალების რეჟიმი - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> ცვლის როგორ ამუშავებს PCSX2_ი დამრგვალებას, როდესაც ხდება Emotion Engine' მცურავი წერტილის ერთეულის (EE FPU) ემულაცია. იმის გამო, რომ PS2-ში არსებული სხვადასხვა FPU არ შეესაბამება საერთაშორისო სტანდარტებს, ზოგიერთ თამაშს შეიძლება დასჭირდეს სხვადასხვა რეჟიმი მათემატიკის სწორად შესასრულებლად. ნაგულისხმევი მნიშვნელობა ამუშავებს თამაშების დიდ უმრავლესობას; <b>ამ პარამეტრის შეცვლამ, როდესაც თამაშს არ აქვს ხილული პრობლემა, შეიძლება გამოიწვიოს არასტაბილურობა.</b> - + Division Rounding Mode გაყოფითი დამრგვალების რეჟიმი - + Nearest (Default) უახლოესი (ნაგულისხმები) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> ადგენს როგორ მრგვალდება მცურავი წერტილის გაყოფის შედეგები. ზოგიერთ თამაშს სპეციფიური პარამეტრები სჭირდება; <b>ამ პარამეტრის ცვლილებამ, როდესაც თამაშს არ აქვს ხილული პრობლემა, შეიძლება გამოიწვიოს არასტაბილურობა.</b> - + Clamping Mode დამაგრების რეჟიმი - - - + + + Normal (Default) ჩვეულებრიცი (ნაგულისხმები) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler ჩართე რეკომპილატორი - + - - - + + + - + - - - - + + + + + Checked მონიშნულია - + + Use Save State Selector + სეივ-სტეიტის ამომრჩეველის გამოყენება + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + სეივ-სტეიტ ამომრჩეველის UI-ს ჩვენება პოპ-აპის მაგივრად როდესაც სლოტებს ცვლი. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). დაელოდე ციკლის აღმოჩენას - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Cache (Slow) Enable Cache (Slow) - - - - + + + + Unchecked არ არის მონიშნული - + Interpreter only, provided for diagnostic. მხოლოდ ინტერპრეტატორი, გათვალისწინებული დიაგნოსტიკისთვის. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC ბრუნის აღმოჩენა - + Huge speedup for some games, with almost no compatibility side effects. დიდი აჩქარება ზოგი თამაშისთვის, თითქმის არანაირი თავსებადობის გვერდითი ეფექტებით. - + Enable Fast Memory Access ჩართეთ სწრაფი მეხსიერება - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Uses backpatching to avoid register flushing on every memory access. - + Pause On TLB Miss Pause On TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. - Enable VU0 Recompiler (Micro Mode) + VU0 რეკომპილატორის ჩართვა (მიკრო-რეჟიმი) - + Enables VU0 Recompiler. - Enables VU0 Recompiler. + რთავს VU0 რეკომპილატორს. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. - Enable VU1 Recompiler + VU1 რეკომპილატორის ჩართვა - + Enables VU1 Recompiler. - Enables VU1 Recompiler. + რთავს VU1 რეკომპილატორს. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. - + Enable Game Fixes Enable Game Fixes - + Automatically loads and applies fixes to known problematic games on game start. Automatically loads and applies fixes to known problematic games on game start. - + Enable Compatibility Patches Enable Compatibility Patches - + Automatically loads and applies compatibility patches to known problematic games. Automatically loads and applies compatibility patches to known problematic games. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1253,29 +1264,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control კადრების სიხშირის კონტროლი - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. ჰც - + PAL Frame Rate: PAL კადრების სიხშირე: - + NTSC Frame Rate: NTSC კადრების სიხშირე: @@ -1290,7 +1301,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1335,17 +1346,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE პარამეტრები - + Slot: ადგილი: - + Enable ჩართვა @@ -1866,8 +1882,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automatic Updater @@ -1907,68 +1923,68 @@ Leaderboard Position: {1} of {2} Remind Me Later - - + + Updater Error Updater Error - + <h2>Changes:</h2> <h2>Changes:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - + Savestate Warning Savestate Warning - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - + Downloading %1... Downloading %1... - + No updates are currently available. Please try again later. No updates are currently available. Please try again later. - + Current Version: %1 (%2) Current Version: %1 (%2) - + New Version: %1 (%2) New Version: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... Loading... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2132,19 +2148,19 @@ Leaderboard Position: {1} of {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2234,17 +2250,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2269,7 +2285,7 @@ Leaderboard Position: {1} of {2} Unknown - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3226,29 +3242,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3259,40 +3280,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3305,12 +3329,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3319,12 +3358,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3337,13 +3376,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3351,8 +3390,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3360,26 +3399,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4003,63 +4042,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4130,17 +4169,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4792,53 +4846,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4856,48 +4910,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4918,23 +4972,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4944,72 +4998,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5036,86 +5090,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5489,81 +5543,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5697,342 +5746,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6041,1977 +6090,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8020,2071 +8074,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11072,32 +11131,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11573,11 +11642,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11587,10 +11656,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11657,7 +11726,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11723,29 +11792,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11756,7 +11815,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11766,18 +11825,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11829,7 +11888,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11876,7 +11935,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11892,7 +11951,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11928,7 +11987,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11944,31 +12003,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11980,15 +12039,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12016,8 +12075,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12074,18 +12133,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12184,13 +12243,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12204,16 +12263,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12286,25 +12335,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12315,7 +12364,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12374,25 +12423,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12402,6 +12451,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12419,13 +12478,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12448,8 +12507,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12470,7 +12529,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12522,7 +12581,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12537,7 +12596,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12558,50 +12617,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12617,13 +12676,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12634,13 +12693,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12666,7 +12725,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12677,43 +12736,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12822,19 +12881,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12887,7 +12946,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12897,1214 +12956,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14112,7 +14171,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14329,254 +14388,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15454,594 +15513,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - პარამეტრები + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16054,297 +16127,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16353,12 +16426,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16371,89 +16444,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16462,42 +16535,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty ცარიელი - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc დისკის შეცვლა - + Reset გადატვირთვა @@ -16520,25 +16593,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16555,28 +16628,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17368,7 +17446,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18208,12 +18286,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18222,7 +18300,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18231,7 +18309,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18240,7 +18318,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18341,47 +18419,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel გაუქმება @@ -18514,7 +18592,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21727,42 +21805,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game უცნობი თამაში - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21779,272 +21857,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. დისკი ამოღებულია. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_ko-KR.ts b/pcsx2-qt/Translations/pcsx2-qt_ko-KR.ts index b7322f893be69..5bf877d33e30b 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_ko-KR.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_ko-KR.ts @@ -22,7 +22,7 @@ <html><head/><body><p>PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment.</p></body></html> - <html><head/><body><p>“PlayStation 2” 및 “PS2”는 Sony Interactive Entertainment Inc.의 상표 또는 등록 상표입니다. 이 응용프로그램은 Sony Interactive Entertainment Inc.와 어떠한 제휴도 맺어진 바가 없습니다.</p>한글화 : Hack茶ん &#60;<a href="https://blog.naver.com/jhacker">https://blog.naver.com/jhacker</a>&#62;</body></html> + <html><head/><body><p>“PlayStation 2” 및 “PS2”는 Sony Interactive Entertainment Inc.의 상표 또는 등록 상표입니다. 이 앱은 Sony Interactive Entertainment Inc.와 어떠한 제휴도 맺어진 바가 없습니다.</p>한글화 : Hack茶ん &#60;<a href="https://blog.naver.com/jhacker">https://blog.naver.com/jhacker</a>&#62;</body></html> @@ -727,307 +727,318 @@ Leaderboard Position: {1} of {2} 전체 설정 사용 [%1] - + Rounding Mode 라운딩 모드 - - - + + + Chop/Zero (Default) 잘라내기/제로(기본값) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 이모션 엔진의 부동 소수점 유닛(EE FPU)을 에뮬레이트하는 동안 PCSX2가 반올림을 처리하는 방식을 변경합니다. PS2의 다양한 FPU는 국제 표준을 준수하지 않기 때문에 일부 게임에서는 수학을 올바르게 수행하기 위해 다른 모드가 필요할 수 있습니다. 기본값은 대부분의 게임을 처리하며, <b>눈에 띄는 문제가 없는 게임에서 이 설정을 변경하면 불안정해질 수 있습니다.</b> - + Division Rounding Mode 소수점 반올림 모드 - + Nearest (Default) 근린(기본값) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 부동 소수점 나눗셈 방법을 결정합니다. 일부 게임에는 구체적인 설정이 필요하며, <b>게임에 눈에 띄는 문제가 없는 이 설정을 수정하면 불안정해질 수 있습니다.</b> - + Clamping Mode 클램핑 모드 - - - + + + Normal (Default) 보통(기본값) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2가 표준 x86 범위에서 부동 소수점 유지를 처리하는 방법을 변경합니다. 기본값은 대부분의 게임을 처리합니다. <b>게임에 눈에 띄는 문제가 없는데 이 설정을 변경하면 불안정해질 수 있습니다.</b> - - + + Enable Recompiler 리컴파일러 활성화 - + - - - + + + - + - - - - + + + + + Checked 선택 - + + Use Save State Selector + 상태 저장 선택기 사용 + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + 슬롯을 전환할 때, 알림 풍선을 표시하는 대신 저장 상태 선택기 UI를 표시합니다. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. 64비트 MIPS-IV 기계어 코드를 네이티브 코드로 Just-In-Time 바이너리 변환을 수행합니다. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). 지연 루프 감지 - + Moderate speedup for some games, with no known side effects. 알려진 부작용 없이 일부 게임의 속도가 살짝 향상됩니다. - + Enable Cache (Slow) 캐시 활성화(느림) - - - - + + + + Unchecked 선택 안 함 - + Interpreter only, provided for diagnostic. 통역사 전용, 진단용으로 제공됩니다. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC 회전 감지 - + Huge speedup for some games, with almost no compatibility side effects. 별다른 호환성 문제 없이 일부 게임의 속도가 크게 향상되었습니다. - + Enable Fast Memory Access 고속 메모리 접근 활성화 - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) 백패칭을 통해 모든 메모리 접근에서 레지스터 플러싱을 방지합니다. - + Pause On TLB Miss TLB 실패 시, 일시정지 - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. TLB 누락 발생 시, 이를 무시하고 계속 진행하는 대신 가상 머신을 일시 중지합니다. 가상 머신은 예외를 발생시킨 명령이 아니라 블록이 종료된 후에 일시 중지됩니다. 잘못된 액세스가 발생한 주소를 확인하려면 콘솔을 참조하세요. - + Enable 128MB RAM (Dev Console) 128MB RAM 활성화(개발자 콘솔) - + Exposes an additional 96MB of memory to the virtual machine. 가상 머신에 추가로 96MB의 메모리를 제공합니다. - + VU0 Rounding Mode VU0 라운드 모드 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> 이모션 엔진의 벡터 유닛 0(EE VU0)을 에뮬레이트하는 동안 PCSX2가 반올림을 처리하는 방식을 변경합니다. 기본값은 대부분의 게임을 처리하며, <b>눈에 보이는 문제가 없는 게임에서 이 설정을 변경하면 안정성 문제 및/또는 크래시가 발생할 수 있습니다.</b> - + VU1 Rounding Mode VU1 라운드 모드 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> 이모션 엔진의 벡터 유닛 1(EE VU1)을 에뮬레이트하는 동안 PCSX2가 라운딩을 처리하는 방식을 변경합니다. 기본값은 대부분의 게임을 처리하며, <b>눈에 띄는 문제가 없는 게임에서 이 설정을 변경하면 안정성 문제나 그 밖의 충돌이 발생할 수 있습니다.</b> - + VU0 Clamping Mode VU0 클램핑 모드 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 이모션 엔진의 벡터 유닛 0(EE VU0)에서 표준 x86 범위의 플로트 유지를 처리하는 방법을 변경합니다. 기본값은 대부분의 게임을 처리하며, <b>눈에 띄는 문제가 없는 게임에서 이 설정을 변경하면 불안정해질 수 있습니다.</b> - + VU1 Clamping Mode VU1 클램핑 모드 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 이모션 엔진의 벡터 유닛 1(EE VU1)에서 표준 x86 범위의 플로트 유지를 처리하는 방법을 PCSX2에서 변경합니다. 기본값은 대부분의 게임을 처리하며, <b>눈에 띄는 문제가 없는 게임에서 이 설정을 변경하면 불안정성이 발생할 수 있습니다.</b> - + Enable Instant VU1 인스턴트 VU1 활성화 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1을 즉시 실행합니다. 대부분의 게임에서 약간의 속도 향상을 제공합니다. 대부분의 게임에서 안전하지만 일부 게임에서 그래픽 오류가 발생할 수 있습니다. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. VU0 리컴파일러 활성화(마이크로 모드) - + Enables VU0 Recompiler. VU0 리컴파일러를 활성화합니다. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. VU1 리컴파일러 활성화 - + Enables VU1 Recompiler. VU1 리컴파일러 활성화합니다. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU 플래그 핵 - + Good speedup and high compatibility, may cause graphical errors. - 속도 향상 및 호환성이 우수하지만 그래픽 오류가 발생할 수도 있습니다. + 속도 향상 및 호환성이 우수하지만 그래픽 오류가 발생할 수 있습니다. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. 32비트 MIPS-IV 기계어 코드를 네이티브 코드로 Just-In-Time 바이너리 변환을 수행합니다. - + Enable Game Fixes 게임 픽스 활성화 - + Automatically loads and applies fixes to known problematic games on game start. 게임 시작 시, 문제가 있는 것으로 알려진 게임에 대한 수정 사항을 자동으로 불러오고 적용합니다. - + Enable Compatibility Patches 호환성 패치 활성화 - + Automatically loads and applies compatibility patches to known problematic games. 문제가 있는 것으로 알려진 게임에 호환성 패치를 자동으로 불러오고 적용합니다. - + Savestate Compression Method 상태 저장 압축 방법 - + Zstandard Z표준 - + Determines the algorithm to be used when compressing savestates. 상태 저장을 압축할 때, 사용할 알고리즘을 결정합니다. - + Savestate Compression Level 상태 저장 압축 수준 - + Medium 중간 - + Determines the level to be used when compressing savestates. 상태 저장을 압축할 때, 사용할 수준을 결정합니다. - + Save State On Shutdown 종료 시, 상태 저장 - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. 전원을 끄거나 종료할 때, 에뮬 상태를 자동으로 저장합니다. 그러면 다음 번에 중단한 지점부터 바로 다시 시작할 수 있습니다. - + Create Save State Backups 상태 저장 백업 생성 - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. 저장을 생성할 때 저장 상태가 이미 있는 경우 저장 상태의 백업 사본을 생성합니다. 백업 복사본에는 .backup 접미사가 붙습니다. @@ -1250,29 +1261,29 @@ Leaderboard Position: {1} of {2} 상태 저장 백업 생성 - + Save State On Shutdown 종료 시, 상태 저장 - + Frame Rate Control 프레임 속도 설정 - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. 헤르츠 - + PAL Frame Rate: PAL 프레임 속도 : - + NTSC Frame Rate: NTSC 프레임 속도 : @@ -1287,7 +1298,7 @@ Leaderboard Position: {1} of {2} 압축 수준 : - + Compression Method: 압축 방법 : @@ -1332,17 +1343,22 @@ Leaderboard Position: {1} of {2} 매우 높음(느림, 권장하지 않음) - + + Use Save State Selector + 상태 저장 선택기 사용 + + + PINE Settings PINE 설정 - + Slot: 슬롯 : - + Enable 활성화 @@ -1596,12 +1612,12 @@ Leaderboard Position: {1} of {2} Resets output volume back to the global/inherited setting. - 출력 볼륨을 전역/상속 설정으로 다시 설정합니다. + 출력 음량을 전역/상속 설정으로 다시 설정합니다. Resets output volume back to the default. - 출력 볼륨을 기본값으로 초기화합니다. + 출력 음량을 기본값으로 초기화합니다. @@ -1863,8 +1879,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater 자동 업데이터 @@ -1904,68 +1920,68 @@ Leaderboard Position: {1} of {2} 나중에 알림 - - + + Updater Error 업데이트 오류 - + <h2>Changes:</h2> <h2>변경 사항 :</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>상태 저장 경고</h2><p>이 업데이트를 설치하면 상태 저장이 <b>호환되지 않게</b> 됩니다. 이 업데이트를 설치하기 전에 게임을 메모리 카드에 저장했는지 확인하십시오. 그렇지 않으면 진행 상황이 손실됩니다.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>설정 경고</h2><p>이 업데이트를 설치하면 프로그램 구성이 초기화됩니다. 이 업데이트 후에는 설정을 다시 구성해야 한다는 점에 유의하세요.</p> - + Savestate Warning 상태 저장 경고 - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>경고</h1><p style='font-size:12pt;'>이 업데이트를 설치하면 <b>상태 저장이 호환되지 않습니다</b>, <i>진행 상황을 메모리 카드에 저장한 후 계속 진행하세요</i>.</p><p>계속하시겠습니까?</p> - + Downloading %1... %1 내려받는 중... - + No updates are currently available. Please try again later. 현재 사용 가능한 업데이트가 없습니다. 나중에 다시 시도해 보세요. - + Current Version: %1 (%2) 현재 버전 : %1 (%2) - + New Version: %1 (%2) 새 버전 : %1 (%2) - + Download Size: %1 MB 내려받기 크기 : %1MB - + Loading... 불러오는 중… - + Failed to remove updater exe after update. 업데이트 후, 업데이터 실행 파일을 제거하지 못했습니다. @@ -2129,19 +2145,19 @@ Leaderboard Position: {1} of {2} 활성화 - - + + Invalid Address 유효하지 않은 주소 - - + + Invalid Condition 유효하지 않은 조건 - + Invalid Size 유효하지 않은 크기 @@ -2231,19 +2247,19 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. 게임 디스크 위치가 이동식 드라이브에 있는 경우 지터링 및 멈춤과 같은 성능 문제가 발생할 수 있습니다. - + Saving CDVD block dump to '{}'. - CDVD 블록 덤프를 '{}'에 저장합니다. + CD/DVD 블록 덤프를 '{}'에 저장합니다. - + Precaching CDVD - CDVD 사전 캐싱 + CD/DVD 사전 캐싱 @@ -2266,7 +2282,7 @@ Leaderboard Position: {1} of {2} 알 수 없음 - + Precaching is not supported for discs. 디스크의 경우 사전 캐싱이 지원되지 않습니다. @@ -3223,29 +3239,34 @@ Not Configured/Buttons configured + Rename Profile + 프로필 이름 바꾸기 + + + Delete Profile 프로필 삭제 - + Mapping Settings 매핑 설정 - - + + Restore Defaults 기본값으로 되돌리기 - - - + + + Create Input Profile 입력 프로필 만들기 - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3256,40 +3277,43 @@ Enter the name for the new input profile: 새 입력 프로필의 이름을 입력합니다: - - - - + + + + + + Error 오류 - + + A profile with the name '%1' already exists. 같은 이름 '%1'의 프로필이 이미 있습니다. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. 현재 선택한 프로필의 모든 할당을 새 프로필로 복사하시겠습니까? 아니오를 선택하면 완전히 빈 프로필이 생성됩니다. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? 현재 단축키 할당을 전역 설정에서 새 입력 프로필로 복사하시겠습니까? - + Failed to save the new profile to '%1'. 새 프로필을 '%1'에 저장하지 못했습니다. - + Load Input Profile 입력 프로필 불러오기 - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3302,12 +3326,27 @@ You cannot undo this action. 이 작업은 실행 취소할 수 없습니다. - + + Rename Input Profile + 입력 프로필 이름 바꾸기 + + + + Enter the new name for the input profile: + 입력 프로필의 새 이름을 입력 : + + + + Failed to rename '%1'. + '%1'의 이름을 바꾸지 못했습니다. + + + Delete Input Profile 입력 프로필 삭제 - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3316,12 +3355,12 @@ You cannot undo this action. 이 작업은 실행 취소할 수 없습니다. - + Failed to delete '%1'. '%1'을(를) 삭제하지 못했습니다. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3334,13 +3373,13 @@ You cannot undo this action. 이 작업은 실행 취소할 수 없습니다. - + Global Settings 전체 설정 - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3348,8 +3387,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3357,26 +3396,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB 포트 %1 %2 - + Hotkeys 단축키 - + Shared "Shared" refers here to the shared input profile. 공유 - + The input profile named '%1' cannot be found. '%1'이라는 입력 프로필을 찾을 수 없습니다. @@ -3998,63 +4037,63 @@ Do you want to overwrite? 파일(.elf, .elf 등)에서 가져오기 : - + Add 추가 - + Remove 제거 - + Scan For Functions 함수 검색 - + Scan Mode: 검사 모드 : - + Scan ELF ELF 검사 - + Scan Memory 메모리 검사 - + Skip 건너뛰기 - + Custom Address Range: 맞춤 주소 범위 : - + Start: 시작 : - + End: 끝 : - + Hash Functions 해시 함수 - + Gray Out Symbols For Overwritten Functions 덮어쓴 기능의 회색 표시 함수 @@ -4102,7 +4141,7 @@ Do you want to overwrite? Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. - 함수 스캐너가 함수를 찾는 곳을 선택합니다. 이 옵션은 응용 프로그램이 런타임에 추가 코드를 불러오는 경우에 유용할 수 있습니다. + 함수 스캐너가 함수를 찾는 곳을 선택합니다. 이 옵션은 앱이 런타임에 추가 코드를 불러오는 경우에 유용할 수 있습니다. @@ -4125,17 +4164,32 @@ Do you want to overwrite? 감지된 모든 함수에 대해 해시를 생성하고, 더 이상 일치하지 않는 함수에 대해 디버거에 표시되는 기호를 회색으로 표시합니다. - + <i>No symbol sources in database.</i> <i>데이터베이스에 기호 소스가 없습니다.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>기호 소스 목록을 수정하려면 이 게임을 시작하세요.</i> - + + Path + 경로 + + + + Base Address + 기본 주소 + + + + Condition + 조건 + + + Add Symbol File 기호 파일 추가 @@ -4375,7 +4429,7 @@ Do you want to overwrite? CDVD - CDVD + CD/DVD @@ -4751,12 +4805,12 @@ Do you want to overwrite? IOP CDVD - IOP CDVD + IOP CD/DVD Log CDVD hardware activity. - CDVD 하드웨어 활동을 기록합니다. + CD/DVD 하드웨어 활동을 기록합니다. @@ -4787,53 +4841,53 @@ Do you want to overwrite? PCSX2 디버거 - + Run 실행 - + Step Into 시작하기 - + F11 F11 - + Step Over 다음 단계로 - + F10 F10 - + Step Out 나가기 - + Shift+F11 Shift+F11 - + Always On Top 항상 위에 표시 - + Show this window on top 이 창을 맨 위에 표시 - + Analyze 분석 @@ -4851,48 +4905,48 @@ Do you want to overwrite? 디스어셈블리 - + Copy Address 주소 복사 - + Copy Instruction Hex 16진수(Hex) 명령어 복사 - + NOP Instruction(s) NOP 명령어 - + Run to Cursor 커서로 실행 - + Follow Branch 분기 팔로우 - + Go to in Memory View 메모리 보기로 이동하기 - + Add Function 함수 추가 - - + + Rename Function 함수 이름 바꾸기 - + Remove Function 함수 제거 @@ -4913,23 +4967,23 @@ Do you want to overwrite? 어셈블리 인스트럭션 - + Function name 함수 이름 - - + + Rename Function Error 함수 오류 이름 바꾸기 - + Function name cannot be nothing. 함수 이름은 아무 것도 될 수 없습니다. - + No function / symbol is currently selected. 현재 선택된 함수/기호가 없습니다. @@ -4939,72 +4993,72 @@ Do you want to overwrite? 디렉터리로 이동 - + Cannot Go To 이동할 수 없음 - + Restore Function Error 복원 함수 오류 - + Unable to stub selected address. 선택한 주소를 스텁할 수 없습니다. - + &Copy Instruction Text 지시문 복사(&C) - + Copy Function Name 기능명 복사 - + Restore Instruction(s) 복원 지침 - + Asse&mble new Instruction(s) 새 명령어 조립(&M) - + &Jump to Cursor 커서로 이동(&J) - + Toggle &Breakpoint 중단점 설정/해제(&B) - + &Go to Address 주소로 이동(&G) - + Restore Function 복원 함수 - + Stub (NOP) Function 스터브(NOP) 함수 - + Show &Opcode 연산 코드 표시(&O) - + %1 NOT VALID ADDRESS %1 올바르지 않은 주소 @@ -5031,86 +5085,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - 슬롯 : %1 | %2 | EE : %3% | VU : %4% | GS : %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + 슬롯 : %1 | 음량 : %2% | %3 | EE : %4% | VU : %5% | GS : %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - 슬롯 : %1 | %2 | EE : %3% | GS : %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + 슬롯 : %1 | 음량 : %2% | %3 | EE : %4% | GS : %5% - + No Image 이미지 없음 - + %1x%2 %1x%2 - + FPS: %1 FPS : %1 - + VPS: %1 VPS : %1 - + Speed: %1% 속도 : %1% - + Game: %1 (%2) 게임 : %1(%2) - + Rich presence inactive or unsupported. 활동 상태가 비활성 상태이거나 지원되지 않습니다. - + Game not loaded or no RetroAchievements available. 게임을 불러오지 않아 레트로어테치먼트를 이용할 수 없습니다. - - - - + + + + Error 오류 - + Failed to create HTTPDownloader. HTTP내려받기를 생성하는 데 실패했습니다. - + Downloading %1... %1 내려받는 중... - + Download failed with HTTP status code %1. HTTP 상태 코드 %1로 내려받지 못했습니다. - + Download failed: Data is empty. 내려받기 실패 : 데이터가 비어 있습니다. - + Failed to write '%1'. '%1'을(를) 작성하지 못했습니다. @@ -5169,7 +5223,7 @@ Do you want to overwrite? Enable CDVD Precaching - CDVD 사전 캐싱 활성화 + CD/DVD 사전 캐싱 활성화 @@ -5484,81 +5538,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. 메모리 접근 크기 %d이(가) 유효하지 않습니다. - + Invalid memory access (unaligned). 유효하지 않은 메모리 접근(정렬되지 않음)이 발생했습니다. - - + + Token too long. 토큰이 너무 깁니다. - + Invalid number "%s". "%s"에 유효하지 않은 숫자가 있습니다. - + Invalid symbol "%s". "%s"에 유효하지 않은 기호가 있습니다. - + Invalid operator at "%s". "%s"에 유효하지 않은 연산자가 있습니다. - + Closing parenthesis without opening one. 열지 않고 괄호를 닫습니다. - + Closing bracket without opening one. 열지 않고 브래킷을 닫습니다. - + Parenthesis not closed. 괄호가 닫혀 있지 않습니다. - + Not enough arguments. 인수가 부족합니다. - + Invalid memsize operator. 유효하지 않은 메모리 사이즈 연산자입니다. - + Division by zero. 0으로 나눕니다. - + Modulo by zero. 0으로 모듈화합니다. - + Invalid tertiary operator. 유효하지 않은 삼항 연산자입니다. - - - Invalid expression. - 유효하지 않은 표현식입니다. - FileOperations @@ -5666,7 +5715,7 @@ The URL was: %1 Used for storing covers in the game grid/Big Picture UIs. - 게임 그리드/빅픽처 UI에 표지를 저장하는데 사용됩니다. + 게임 그리드/Big Picture UI에 표지를 저장하는데 사용됩니다. @@ -5692,342 +5741,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. CD/DVD-ROM 장치를 찾을 수 없습니다. 드라이브가 연결되어 있고 드라이브에 액세스할 수 있는 충분한 권한이 있는지 확인하세요. - + Use Global Setting 전체 설정 사용 - + Automatic binding failed, no devices are available. 자동 할당에 실패했습니다. 사용할 수 있는 장치가 없습니다. - + Game title copied to clipboard. 게임 타이틀을 클립보드에 저장했습니다. - + Game serial copied to clipboard. 게임 시리얼을 클립보드에 저장했습니다. - + Game CRC copied to clipboard. 게임 CRC를 클립보드에 저장했습니다. - + Game type copied to clipboard. 게임 유형을 클립보드에 저장했습니다. - + Game region copied to clipboard. 게임 지역 코드를 클립보드에 저장했습니다. - + Game compatibility copied to clipboard. 게임 호환성을 클립보드에 저장했습니다. - + Game path copied to clipboard. 게임 경로를 클립보드에 저장했습니다. - + Controller settings reset to default. 컨트롤러 설정을 기본값으로 초기화합니다. - + No input profiles available. 사용할 수 있는 입력 프로필이 없습니다. - + Create New... 새로 만들기... - + Enter the name of the input profile you wish to create. 만들려는 입력 프로필의 이름을 입력합니다. - + Are you sure you want to restore the default settings? Any preferences will be lost. 기본 설정으로 되돌리시겠습니까? 모든 기본 설정이 손실됩니다. - + Settings reset to defaults. 기본값으로 설정이 초기화됩니다. - + No save present in this slot. 이 슬롯에 저장된 것이 없습니다. - + No save states found. 상태 저장을 찾을 수 없습니다. - + Failed to delete save state. 상태 저장을 삭제하지 못했습니다. - + Failed to copy text to clipboard. 텍스트를 클립보드에 저장하지 못했습니다. - + This game has no achievements. 이 게임에는 도전 과제가 없습니다. - + This game has no leaderboards. 이 게임에는 순위표가 없습니다. - + Reset System 시스템 초기화 - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? 하드코어 모드는 시스템을 초기화할 때까지 활성화되지 않습니다. 지금 시스템을 초기화하시겠습니까? - + Launch a game from images scanned from your game directories. 게임 디렉터리에서 스캔한 이미지로 게임을 실행합니다. - + Launch a game by selecting a file/disc image. 파일/디스크 이미지를 선택하여 게임을 실행합니다. - + Start the console without any disc inserted. 디스크를 삽입하지 않은 상태에서 콘솔을 시작합니다. - + Start a game from a disc in your PC's DVD drive. PC의 DVD 드라이브에 있는 디스크에서 게임을 시작하세요. - + No Binding 할당 없음 - + Setting %s binding %s. 할당 %s을(를) %s(으)로 설정합니다. - + Push a controller button or axis now. 지금 컨트롤러 버튼이나 축을 누릅니다. - + Timing out in %.0f seconds... %.0f초 초과... - + Unknown 알 수 없음 - + OK 확인 - + Select Device 장치 선택 - + Details 세부 정보 - + Options 옵션 - + Copies the current global settings to this game. 현재 전체 설정을 이 게임에 복사합니다. - + Clears all settings set for this game. 이 게임의 모든 설정을 지웁니다. - + Behaviour 동작 - + Prevents the screen saver from activating and the host from sleeping while emulation is running. 에뮬이 실행되는 동안 화면 보호기와 절전 모드 실행을 방지합니다. - + Shows the game you are currently playing as part of your profile on Discord. 현재 디스코드에서 프로필의 일부로 플레이 중인 게임을 표시합니다. - + Pauses the emulator when a game is started. 게임이 시작되면 에뮬을 일시 중지합니다. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - 창을 최소화하거나 다른 응용 프로그램으로 전환하면 에뮬이 일시 중지되고 다시 전환하면 일시 중지가 해제됩니다. + 창을 최소화하거나 다른 앱으로 전환하면 에뮬이 일시 중지되고 다시 전환하면 일시 중지가 해제됩니다. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. 빠른 메뉴를 열면 에뮬이 일시 중지되고 닫으면 일시 중지가 해제됩니다. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. 단축키를 눌렀을 때, 에뮬/게임 종료를 확인하는 메시지를 표시할지 여부를 결정합니다. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. 전원을 끄거나 종료할 때, 에뮬 상태를 자동으로 저장합니다. 그러면 다음 번에 중단한 지점부터 바로 다시 시작할 수 있습니다. - + Uses a light coloured theme instead of the default dark theme. - 기본 다크 테마 대신 라이트 테마를 사용합니다. + 기본 다크 모드 대신 라이트 모드를 사용합니다. - + Game Display 게임 화면 - + Switches between full screen and windowed when the window is double-clicked. 창을 두 번 클릭하면 전체 화면과 창 모드를 전환합니다. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. 에뮬이 전체 화면 모드일 때, 마우스 포인터/커서를 숨깁니다. - + Determines how large the on-screen messages and monitor are. 화면에 표시되는 메시지와 모니터의 크기를 결정합니다. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. 상태 저장 생성/불러오기 중, 스크린샷 촬영 중 등의 이벤트가 발생할 때 화면 표시 메시지를 표시합니다. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. 화면 표시 장치 우측 상단에 시스템의 현재 에뮬레이션 속도를 백분율로 표시합니다. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - 화면 표시 장치 우측 상단에 시스템이 초당 표시하는 영상 프레임 수(혹은 수직 동기화)를 표시합니다. + 화면 우측 상단에 시스템이 초당 표시하는 영상 프레임 수(혹은 수직 동기화)를 표시합니다. - + Shows the CPU usage based on threads in the top-right corner of the display. 화면 우측 상단에 스레드를 기준으로 CPU 사용량을 표시합니다. - + Shows the host's GPU usage in the top-right corner of the display. 화면 우측 상단에 호스트의 GPU 사용량을 표시합니다. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. 화면 우측 상단에 GS(기본값, 그리기 호출)에 대한 통계를 표시합니다. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. 빨리 감기, 일시 정지 및 기타 비정상 상태가 활성화된 경우 표시기를 표시합니다. - + Shows the current configuration in the bottom-right corner of the display. 화면 우 하단에 현재 구성을 표시합니다. - + Shows the current controller state of the system in the bottom-left corner of the display. 화면 좌측 하단에 시스템의 현재 컨트롤러 상태를 표시합니다. - + Displays warnings when settings are enabled which may break games. 게임을 중단시킬 수 있는 설정이 활성화된 경우 경고를 표시합니다. - + Resets configuration to defaults (excluding controller settings). 구성을 기본값으로 초기화합니다.(컨트롤러 설정 제외) - + Changes the BIOS image used to start future sessions. 향후 세션을 시작하는 데 사용되는 바이오스 이미지를 변경합니다. - + Automatic 자동 - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default 기본값 - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6036,1977 +6085,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. 게임이 시작되면 자동으로 전체 화면 모드로 전환됩니다. - + On-Screen Display 화면 표시 - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. 화면 표시 장치 우측 상단에 게임의 해상도를 표시합니다. - + BIOS Configuration 바이오스 설정 - + BIOS Selection 바이오스 선택 - + Options and Patches 옵션 및 패치 - + Skips the intro screen, and bypasses region checks. 인트로 화면을 건너뛰고 지역 확인을 건너뜁니다. - + Speed Control 속도 제어 - + Normal Speed 보통 속도 - + Sets the speed when running without fast forwarding. 빨리 감기 없이 실행할 때 속도를 설정합니다. - + Fast Forward Speed 빨리 감기 속도 - + Sets the speed when using the fast forward hotkey. 빨리 감기 단축키를 사용할 때, 속도를 설정합니다. - + Slow Motion Speed 슬로우 모션 속도 - + Sets the speed when using the slow motion hotkey. 슬로우 모션 핫키를 사용할 때 속도를 설정합니다. - + System Settings 시스템 설정 - + EE Cycle Rate EE 주기율 - + Underclocks or overclocks the emulated Emotion Engine CPU. 에뮬레이트된 이모션 엔진 CPU를 언더클럭 또는 오버클럭합니다. - + EE Cycle Skipping EE 주기 건너뛰기 - + Enable MTVU (Multi-Threaded VU1) MTVU(멀티 스레드 VU1) 활성화 - + Enable Instant VU1 인스턴트 VU1 활성화 - + Enable Cheats 치트 활성화 - + Enables loading cheats from pnach files. pnach 파일에서 치트 불러오기를 활성화합니다. - + Enable Host Filesystem 호스트 파일 시스템 활성화 - + Enables access to files from the host: namespace in the virtual machine. 가상 머신의 호스트 : 네임스페이스에서 파일에 대한 액세스를 활성화합니다. - + Enable Fast CDVD 고속 CD/DVD 활성화 - + Fast disc access, less loading times. Not recommended. 빠른 디스크 접속, 로딩 시간을 단축합니다. 권장하지 않습니다. - + Frame Pacing/Latency Control 프레임 속도/지연 제어 - + Maximum Frame Latency 최대 프레임 지연 시간 - + Sets the number of frames which can be queued. 대기열에 넣을 수 있는 프레임 수를 설정합니다. - + Optimal Frame Pacing 최적의 프레임 속도 - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. 매 프레임마다 EE 및 GS 스레드를 동기화합니다. 입력 지연 시간이 가장 짧지만 시스템 요구 사항이 증가합니다. - + Speeds up emulation so that the guest refresh rate matches the host. 게스트 새로 고침 빈도가 호스트와 일치하도록 에뮬 속도를 높입니다. - + Renderer 렌더러 - + Selects the API used to render the emulated GS. 에뮬레이트된 GS를 렌더링하는 데 사용되는 API를 선택합니다. - + Synchronizes frame presentation with host refresh. 프레임 표시를 호스트 새로 고침과 동기화합니다. - + Display 화면 표시 장치 - + Aspect Ratio 종횡비 - + Selects the aspect ratio to display the game content at. 게임 콘텐츠를 표시할 종횡비를 선택합니다. - + FMV Aspect Ratio Override FMV 종횡비 재정의 - + Selects the aspect ratio for display when a FMV is detected as playing. FMV가 재생 중인 것으로 감지될 때 표시할 종횡비를 선택합니다. - + Deinterlacing 인터레이스 제거 - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. PS2의 인터레이스 출력을 화면 표시 장치용 프로그레시브 출력으로 변환하는 데 사용되는 알고리즘을 선택합니다. - + Screenshot Size 스크린샷 크기 - + Determines the resolution at which screenshots will be saved. 스크린샷을 저장할 해상도를 결정합니다. - + Screenshot Format 스크린샷 형식 - + Selects the format which will be used to save screenshots. 스크린샷을 저장하는 데 사용할 형식을 선택합니다. - + Screenshot Quality 스크린샷 품질 - + Selects the quality at which screenshots will be compressed. 스크린샷 압축 품질을 선택합니다. - + Vertical Stretch 세로 늘이기 - + Increases or decreases the virtual picture size vertically. 가상 사진 크기를 세로로 늘리거나 줄입니다. - + Crop 잘라내기 - + Crops the image, while respecting aspect ratio. 종횡비를 유지하면서 이미지를 잘라냅니다. - + %dpx %d픽셀 - - Enable Widescreen Patches - 와이드스크린 패치 활성화 - - - - Enables loading widescreen patches from pnach files. - pnach 파일에서 와이드스크린 패치를 불러올 수 있습니다. - - - - Enable No-Interlacing Patches - 비인터레이스 패치 활성화 - - - - Enables loading no-interlacing patches from pnach files. - pnach 파일에서 비인터레이싱 패치를 불러올 수 있습니다. - - - + Bilinear Upscaling 쌍선형 업스케일링 - + Smooths out the image when upscaling the console to the screen. 콘솔을 화면으로 확대할 때 이미지를 부드럽게 합니다. - + Integer Upscaling 정수 업스케일링 - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. 호스트의 픽셀과 콘솔의 픽셀 사이의 비율이 정수가 되도록 화면 표시 장치 영역에 패딩을 추가합니다. 일부 2D 게임에서 이미지가 더 선명해질 수 있습니다. - + Screen Offsets 화면 오프세트 - + Enables PCRTC Offsets which position the screen as the game requests. 게임에서 요청하는 대로 화면을 배치하는 PCRTC 오프세트를 활성화합니다. - + Show Overscan 오버스캔 표시 - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 화면의 안전 영역보다 더 많이 그리는 게임에서 오버스캔 영역을 표시하는 옵션을 활성화합니다. - + Anti-Blur 흐림 방지 - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 내부 흐림 방지 핵을 활성화합니다. PS2 렌더링에 비해 정확도는 떨어지지만 많은 게임이 덜 흐릿하게 보입니다. - + Rendering 랜더링 - + Internal Resolution 내부 해상도 - + Multiplies the render resolution by the specified factor (upscaling). 렌더링 해상도에 지정된 계수를 곱합니다.(업스케일링) - + Mipmapping 밉매핑 - + Bilinear Filtering 쌍선형 필터링 - + Selects where bilinear filtering is utilized when rendering textures. 텍스처 렌더링 시, 쌍선형 필터링이 사용되는 위치를 선택합니다. - + Trilinear Filtering 삼선형 필터링 - + Selects where trilinear filtering is utilized when rendering textures. 텍스처 렌더링 시, 삼선형 필터링이 사용되는 위치를 선택합니다. - + Anisotropic Filtering 이방성 필터링 - + Dithering 디더링 - + Selects the type of dithering applies when the game requests it. 게임에서 디더링을 요청할 때, 적용할 디더링 유형을 선택합니다. - + Blending Accuracy 혼합 정확도 - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. 호스트 그래픽 API에서 지원하지 않는 혼합 모드를 에뮬레이션할 때 정확도 수준을 결정합니다. - + Texture Preloading 텍스처 미리 불러오기 - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. 사용 중인 GPU에 사용 중인 영역만 등록하는 것이 아니라 전체 텍스처를 등록합니다. 일부 게임에서 성능을 향상시킬 수 있습니다. - + Software Rendering Threads 소프트웨어 렌더링 스레드 - + Number of threads to use in addition to the main GS thread for rasterization. 래스터화를 위해 기본 GS 스레드 외에 사용할 스레드 수입니다. - + Auto Flush (Software) 자동 플러시(소프트웨어) - + Force a primitive flush when a framebuffer is also an input texture. 프레임 버퍼가 입력 텍스처이기도 한 경우 프리미티브 플러시를 강제합니다. - + Edge AA (AA1) 에지 AA(AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). GS의 에지 앤티 앨리어싱(AA1)을 에뮬레이션할 수 있습니다. - + Enables emulation of the GS's texture mipmapping. GS의 텍스처 밉매핑 에뮬레이션을 활성화합니다. - + The selected input profile will be used for this game. 선택한 입력 프로필이 이 게임에 사용됩니다. - + Shared 공유 - + Input Profile 프로필 입력 - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + 슬롯을 전환할 때, 알림 풍선을 표시하는 대신 저장 상태 선택기 UI를 표시합니다. + + + Shows the current PCSX2 version on the top-right corner of the display. 화면 표시 장치 우측 상단에 현재 PCSX2 버전을 표시합니다. - + Shows the currently active input recording status. 현재 활성화된 입력 레코딩 상태를 표시합니다. - + Shows the currently active video capture status. 현재 활성화된 영상 캡처 상태를 표시합니다. - + Shows a visual history of frame times in the upper-left corner of the display. 화면 좌측 상단 모서리에 프레임 시간의 시각적 기록을 표시합니다. - + Shows the current system hardware information on the OSD. 현재 시스템 하드웨어 정보를 OSD에 표시합니다. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. 에뮬레이션 스레드를 CPU 코어에 고정하여 잠재적으로 성능/프레임 시간 편차를 개선합니다. - + + Enable Widescreen Patches + 와이드스크린 패치 활성화 + + + + Enables loading widescreen patches from pnach files. + pnach 파일에서 와이드스크린 패치를 불러올 수 있습니다. + + + + Enable No-Interlacing Patches + 비인터레이스 패치 활성화 + + + + Enables loading no-interlacing patches from pnach files. + pnach 파일에서 비인터레이싱 패치를 불러올 수 있습니다. + + + Hardware Fixes 하드웨어 수정 - + Manual Hardware Fixes 수동 하드웨어 수정 - + Disables automatic hardware fixes, allowing you to set fixes manually. 자동 하드웨어 수정을 비활성화하여 수동으로 수정을 설정할 수 있습니다. - + CPU Sprite Render Size CPU 스프라이트 렌더 크기 - + Uses software renderer to draw texture decompression-like sprites. 소프트웨어 렌더러를 사용하여 텍스처 압축 해제와 유사한 스프라이트를 그립니다. - + CPU Sprite Render Level CPU 스프라이트 렌더 레벨 - + Determines filter level for CPU sprite render. CPU 스프라이트 렌더링의 필터 레벨을 결정합니다. - + Software CLUT Render 소프트웨어 CLUT 렌더 - + Uses software renderer to draw texture CLUT points/sprites. 소프트웨어 렌더러를 사용하여 텍스처 CLUT 포인트/스프라이트를 그립니다. - + Skip Draw Start 그리기 시작 건너뛰기 - + Object range to skip drawing. 그리기를 건너뛸 개체 범위입니다. - + Skip Draw End 그리기 종료 건너뛰기 - + Auto Flush (Hardware) 자동 플러시(하드웨어) - + CPU Framebuffer Conversion CPU 프레임 버퍼 변환 - + Disable Depth Conversion 심도 변환 비활성화 - + Disable Safe Features 안전 기능 비활성화 - + This option disables multiple safe features. 이 옵션은 여러 안전 기능을 비활성화합니다. - + This option disables game-specific render fixes. 이 옵션은 게임별 렌더링 수정을 비활성화합니다. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. 새 프레임을 렌더링할 때, GS 데이터를 등록하여 일부 효과를 정확하게 재현합니다. - + Disable Partial Invalidation 부분 무효화 비활성화 - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. 교차하는 영역만 제거하지 않고 교차하는 모든 영역이 있을 때 텍스처 캐시 항목을 제거합니다. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. 텍스처 캐시가 이전 프레임 버퍼의 내부 부분을 입력 텍스처로 다시 사용할 수 있도록 합니다. - + Read Targets When Closing 닫을 때, 타겟 읽기 - + Flushes all targets in the texture cache back to local memory when shutting down. 종료 시, 텍스처 캐시에 있는 모든 타깃을 로컬 메모리로 플러시합니다. - + Estimate Texture Region 텍스처 영역 예측 - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). 게임에서 텍스처 크기를 직접 설정하지 않은 경우 텍스처 크기를 줄이려고 시도합니다.(예 : 스노우블라인드 게임) - + GPU Palette Conversion GPU 팔레트 변환 - + Upscaling Fixes 업스케일링 수정 - + Adjusts vertices relative to upscaling. 업스케일링을 기준으로 정점을 조정합니다. - + Native Scaling 기본 크기 조정 - + Attempt to do rescaling at native resolution. 기본 해상도에서 크기 조정을 시도합니다. - + Round Sprite 라운드 스프라이트 - + Adjusts sprite coordinates. 스프라이트 좌표를 조정합니다. - + Bilinear Upscale 쌍선형 업스케일 - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. 업스케일링 시 바이리니어 필터링으로 텍스처를 부드럽게 처리할 수 있습니다.(예 : 강렬한 태양의 눈부심) - + Adjusts target texture offsets. 대상 텍스처 오프세트를 조정합니다. - + Align Sprite 스프라이트 정렬 - + Fixes issues with upscaling (vertical lines) in some games. 일부 게임의 업스케일링(수직선) 문제를 해결합니다. - + Merge Sprite 스프라이트 병합 - + Replaces multiple post-processing sprites with a larger single sprite. 여러 후처리 스프라이트를 더 큰 단일 스프라이트로 대체합니다. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. 업스케일링 시, 픽셀 간 간격을 피하기 위해 GS 정밀도를 낮춥니다. 와일드 암즈 게임의 텍스트를 수정합니다. - + Unscaled Palette Texture Draws 크기 조정되지 않은 팔레트 텍스처 그리기 - + Can fix some broken effects which rely on pixel perfect precision. 픽셀의 완벽한 정밀도에 의존하는 일부 깨진 이펙트를 수정할 수 있습니다. - + Texture Replacement 텍스처 대체 - + Load Textures 텍스처 불러오기 - + Loads replacement textures where available and user-provided. 사용 가능한 경우, 사용자 제공 대체 텍스처를 불러옵니다. - + Asynchronous Texture Loading 비동기 텍스처 불러오기 - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. 작업자 스레드에 대체 텍스처를 불러와 대체가 활성화되면 미세 끊김 현상이 감소합니다. - + Precache Replacements 사전 캐시 대체 - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. 모든 대체 텍스처를 메모리에 사전 불러오기합니다. 비동기 불러오기에서는 필요하지 않습니다. - + Replacements Directory 대체 디렉터리 - + Folders 폴더 - + Texture Dumping 텍스처 덤핑 - + Dump Textures 텍스쳐 덤프 - + Dump Mipmaps 밉맵 덤프 - + Includes mipmaps when dumping textures. 텍스처 덤핑 시, 밉맵을 포함합니다. - + Dump FMV Textures FMV 텍스처 덤프 - + Allows texture dumping when FMVs are active. You should not enable this. FMV가 활성화되어 있을 때 텍스처 덤핑을 허용합니다. 이 옵션을 활성화하면 안 됩니다. - + Post-Processing 후처리 - + FXAA FXAA - + Enables FXAA post-processing shader. FXAA 후처리 셰이더를 활성화합니다. - + Contrast Adaptive Sharpening 대비 적응 선명화 - + Enables FidelityFX Contrast Adaptive Sharpening. FidelityFX 대비 적응형 선명화를 활성화합니다. - + CAS Sharpness CAS 선명도 - + Determines the intensity the sharpening effect in CAS post-processing. CAS 후처리에서 선명하게 하는 효과의 강도를 결정합니다. - + Filters 필터 - + Shade Boost 음영 부스트 - + Enables brightness/contrast/saturation adjustment. 밝기/대비/채도를 조정할 수 있습니다. - + Shade Boost Brightness 음영 부스트 밝기 - + Adjusts brightness. 50 is normal. 밝기를 조정합니다. 50이 기본값입니다. - + Shade Boost Contrast 음영 부스트 대비 - + Adjusts contrast. 50 is normal. 대비를 조정합니다. 50이 기본값입니다. - + Shade Boost Saturation 음영 부스트 채도 - + Adjusts saturation. 50 is normal. 채도를 조정합니다. 50이 기본값입니다. - + TV Shaders TV 셰이더 - + Advanced 고급 - + Skip Presenting Duplicate Frames 중복 프레임 표시 건너뛰기 - + Extended Upscaling Multipliers 확장 업스케일링 배율 - + Displays additional, very high upscaling multipliers dependent on GPU capability. GPU 성능에 따라 매우 높은 업스케일링 배수를 추가로 표시합니다. - + Hardware Download Mode 하드웨어 내려받기 모드 - + Changes synchronization behavior for GS downloads. GS 내려받기 동기화 동작을 변경합니다. - + Allow Exclusive Fullscreen 전체 화면 전용으로 사용 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. 전체 화면 전용 또는 직접 플립/스캔아웃을 활성화하기 위해 드라이버의 휴리스틱을 재정의합니다. - + Override Texture Barriers 텍스처 장벽 재정의 - + Forces texture barrier functionality to the specified value. 텍스처 장벽 기능을 지정된 값으로 강제 적용합니다. - + GS Dump Compression GS 덤프 압축 - + Sets the compression algorithm for GS dumps. GS 덤프에 대한 압축 알고리즘을 설정합니다. - + Disable Framebuffer Fetch 프레임버퍼 가져오기 비활성화 - + Prevents the usage of framebuffer fetch when supported by host GPU. 호스트 GPU에서 지원하는 경우, 프레임 버퍼 가져오기 사용을 방지합니다. - + Disable Shader Cache 셰이더 캐시 비활성화 - + Prevents the loading and saving of shaders/pipelines to disk. 셰이더/파이프라인을 디스크에 불러오고 저장하는 것을 방지합니다. - + Disable Vertex Shader Expand 버텍스 셰이더 확장 비활성화 - + Falls back to the CPU for expanding sprites/lines. 스프라이트/라인 확장을 위해 CPU로 돌아갑니다. - + Changes when SPU samples are generated relative to system emulation. 시스템 에뮬레이션과 관련하여 SPU 표본화가 생성되는 시점이 변경됩니다. - + %d ms %d밀리초 - + Settings and Operations 설정 및 작동 - + Creates a new memory card file or folder. 새 메모리 카드 파일이나 폴더를 만듭니다. - + Simulates a larger memory card by filtering saves only to the current game. 현재 게임에 대한 저장만 필터링하여 더 큰 메모리 카드를 시뮬레이션합니다. - + If not set, this card will be considered unplugged. 설정하지 않으면 이 카드는 연결되지 않은 것으로 간주됩니다. - + The selected memory card image will be used for this slot. 선택한 메모리 카드 이미지가 이 슬롯에 사용됩니다. - + Enable/Disable the Player LED on DualSense controllers. 듀얼센스 컨트롤러에서 플레이어 LED를 활성화/비활성화합니다. - + Trigger 트리거 - + Toggles the macro when the button is pressed, instead of held. 버튼을 누르고 있지 않을 때, 매크로를 전환합니다. - + Savestate 상태 저장 - + Compression Method 압축 방법 - + Sets the compression algorithm for savestate. 상태 저장에 대한 압축 알고리즘을 설정합니다. - + Compression Level 압축 수준 - + Sets the compression level for savestate. 상태 저장의 압축 수준을 설정합니다. - + Version: %s 버전 : %s - + {:%H:%M} {:%H:%M} - + Slot {} 슬롯 {} - + 1.25x Native (~450px) 원본 1.25배(~450px) - + 1.5x Native (~540px) 원본 1.5배(~540px) - + 1.75x Native (~630px) 원본 1.75배(~630px) - + 2x Native (~720px/HD) 원본 2배(~720px/HD) - + 2.5x Native (~900px/HD+) 원본 2.5배(~900px/HD+) - + 3x Native (~1080px/FHD) 원본 3배(~1080px/FHD) - + 3.5x Native (~1260px) 원본 3.5배(~12600px) - + 4x Native (~1440px/QHD) 원본 4배(~1440px/QHD) - + 5x Native (~1800px/QHD+) 원본 5배(~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 원본 6배(~2160px/4K UHD) - + 7x Native (~2520px) 원본 7배(~2520px) - + 8x Native (~2880px/5K UHD) 원본 8배(~2880px/5K UHD) - + 9x Native (~3240px) 원본 9배(~3240px) - + 10x Native (~3600px/6K UHD) 원본 10배(~3600px/6K UHD) - + 11x Native (~3960px) 원본 11배(~3960px) - + 12x Native (~4320px/8K UHD) 원본 12배(~4320px/8K UHD) - + WebP WebP - + Aggressive 공격적 - + Deflate64 Deflate64 - + Zstandard Z표준 - + LZMA2 LZMA2 - + Low (Fast) 낮음(빠름) - + Medium (Recommended) 중간(권장) - + Very High (Slow, Not Recommended) 매우 높음(느림, 권장하지 않음) - + Change Selection 선택 변경 - + Select 선택 - + Parent Directory 상위 디렉터리 - + Enter Value 값 입력 - + About 정보 - + Toggle Fullscreen 전체 화면 적용/해제 - + Navigate 탐색 - + Load Global State 전역 상태 불러오기 - + Change Page 페이지 변경 - + Return To Game 게임으로 돌아가기 - + Select State 상태 선택 - + Select Game 게임 선택 - + Change View 시점 전환 - + Launch Options 실행 옵션 - + Create Save State Backups 상태 저장 백업 생성 - + Show PCSX2 Version PCSX2 버전 보기 - + Show Input Recording Status 입력 레코딩 상태 표시 - + Show Video Capture Status 영상 캡처 상태 표시 - + Show Frame Times 프레임 시간 표시 - + Show Hardware Info 하드웨어 정보 표시 - + Create Memory Card 메모리 카드 만들기 - + Configuration 환경 설정 - + Start Game 게임 시작 - + Launch a game from a file, disc, or starts the console without any disc inserted. 파일, 디스크에서 게임을 시작하거나 디스크를 삽입하지 않고 콘솔을 시작합니다. - + Changes settings for the application. - 응용 프로그램 설정을 변경합니다. + 앱 설정을 변경합니다. - + Return to desktop mode, or exit the application. - 데스크탑 모드로 돌아가거나 응용 프로그램을 종료합니다. + 데스크톱 모드로 돌아가거나 앱을 종료합니다. - + Back 뒤로 - + Return to the previous menu. 이전 메뉴로 돌아갑니다. - + Exit PCSX2 PCSX2 종료 - + Completely exits the application, returning you to your desktop. - 응용 프로그램을 완전히 종료하고 바탕 화면으로 돌아갑니다. + 앱을 완전히 종료하고 바탕 화면으로 돌아갑니다. - + Desktop Mode - 데스크탑 모드 + 데스크톱 모드 - + Exits Big Picture mode, returning to the desktop interface. - 빅 픽처 모드를 종료하고 데스크탑 인터페이스로 돌아갑니다. + Big Picture 모드를 종료하고 데스크톱 인터페이스로 돌아갑니다. - + Resets all configuration to defaults (including bindings). 모든 구성을 기본값(할당 포함)으로 초기화합니다. - + Replaces these settings with a previously saved input profile. 이러한 설정을 이전에 저장한 입력 프로필로 바꿉니다. - + Stores the current settings to an input profile. 입력 프로필에 현재 설정을 저장합니다. - + Input Sources 소스 입력 - + The SDL input source supports most controllers. SDL 입력 소스는 대부분의 컨트롤러를 지원합니다. - + Provides vibration and LED control support over Bluetooth. 블루투스를 통해 진동 및 LED 제어를 지원합니다. - + Allow SDL to use raw access to input devices. SDL이 입력 장치에 대한 원시 액세스를 사용하도록 허용합니다. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. XInput 소스는 XBox 360/XBox One/XBox 시리즈 컨트롤러를 지원합니다. - + Multitap 멀티탭 - + Enables an additional three controller slots. Not supported in all games. 컨트롤러 슬롯을 추가로 3개 사용할 수 있습니다. 모든 게임에서 지원되지는 않습니다. - + Attempts to map the selected port to a chosen controller. 선택한 포트를 선택한 컨트롤러에 매핑하려고 시도합니다. - + Determines how much pressure is simulated when macro is active. 매크로가 활성화되어 있을 때, 시뮬레이션되는 압력의 양을 결정합니다. - + Determines the pressure required to activate the macro. 매크로를 활성화하는 데 필요한 압력을 결정합니다. - + Toggle every %d frames %d 프레임마다 전환 - + Clears all bindings for this USB controller. 이 USB 컨트롤러에 대한 모든 할당을 지웁니다. - + Data Save Locations 데이터 저장 위치 - + Show Advanced Settings 고급 설정 표시 - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. 이러한 설정을 변경하면 게임이 작동하지 않을 수 있습니다. 이러한 설정을 변경한 구성에 대해서는 PCSX2 팀에서 지원을 제공하지 않으므로 사용자 책임 하에 수정하시기 바랍니다. - + Logging 로그 기록 - + System Console 시스템 콘솔 - + Writes log messages to the system console (console window/standard output). 로그 메시지를 시스템 콘솔(콘솔 창/표준 출력)에 기록합니다. - + File Logging 파일 로그 기록 - + Writes log messages to emulog.txt. 로그 메시지를 emulog.txt에 기록합니다. - + Verbose Logging 상세 로그 기록 - + Writes dev log messages to log sinks. 개발 로그 메시지를 로그 싱크에 기록합니다. - + Log Timestamps 타임스탬프 로그 - + Writes timestamps alongside log messages. 로그 메시지와 함께 타임스탬프를 기록합니다. - + EE Console EE 콘솔 - + Writes debug messages from the game's EE code to the console. 게임의 EE 코드에서 콘솔로 디버그 메시지를 작성합니다. - + IOP Console IOP 콘솔 - + Writes debug messages from the game's IOP code to the console. 게임의 IOP 코드에서 디버그 메시지를 콘솔에 기록합니다. - + CDVD Verbose Reads CD/DVD 세부 정보 읽기 - + Logs disc reads from games. 게임에서 디스크를 읽은 내용을 기록합니다. - + Emotion Engine 이모션 엔진 - + Rounding Mode 라운딩 모드 - + Determines how the results of floating-point operations are rounded. Some games need specific settings. 부동 소수점 연산 결과의 반올림 방식을 결정합니다. 일부 게임에는 구체적인 설정이 필요합니다. - + Division Rounding Mode 소수점 반올림 모드 - + Determines how the results of floating-point division is rounded. Some games need specific settings. 부동 소수점 나눗셈 방법를 결정합니다. 일부 게임에는 구체적인 설정이 필요합니다. - + Clamping Mode 클램핑 모드 - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. 범위를 벗어난 부동 소수점 숫자를 처리하는 방법을 결정합니다. 일부 게임에는 특정 설정이 필요합니다. - + Enable EE Recompiler EE 리컴파일러 활성화 - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. 64비트 MIPS-IV 기계어 코드를 네이티브 코드로 적시에 바이너리 변환합니다. - + Enable EE Cache EE 캐시 활성화 - + Enables simulation of the EE's cache. Slow. EE의 캐시 시뮬레이션을 활성화합니다. 느림. - + Enable INTC Spin Detection INTC 스핀 감지 활성화 - + Huge speedup for some games, with almost no compatibility side effects. 일부 게임에서는 속도가 크게 향상되었으며 호환성 부작용이 거의 없습니다. - + Enable Wait Loop Detection 대기 루프 감지 활성화 - + Moderate speedup for some games, with no known side effects. 일부 게임의 속도가 약간 빨라지며, 알려진 부작용은 없습니다. - + Enable Fast Memory Access 고속 메모리 접근 활성화 - + Uses backpatching to avoid register flushing on every memory access. 백패치를 사용하여 모든 메모리 접근에서 레지스터 플러싱을 방지합니다. - + Vector Units 벡터 유닛 - + VU0 Rounding Mode VU0 라운딩 모드 - + VU0 Clamping Mode VU0 클램핑 모드 - + VU1 Rounding Mode VU1 라운딩 모드 - + VU1 Clamping Mode VU1 클램핑 모드 - + Enable VU0 Recompiler (Micro Mode) VU0 리컴파일러 활성화(마이크로 모드) - + New Vector Unit recompiler with much improved compatibility. Recommended. 새로운 Vector Unity는 훨씬 향상된 호환성으로 재컴파일됩니다. 추천. - + Enable VU1 Recompiler VU1 리컴파일러 활성화 - + Enable VU Flag Optimization VU 플래그 최적화 활성화 - + Good speedup and high compatibility, may cause graphical errors. 속도 향상 및 호환성이 우수하지만 그래픽 오류가 발생할 수 있습니다. - + I/O Processor 입출력 프로세서 - + Enable IOP Recompiler IOP 리컴파일러 활성화 - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. 32비트 MIPS-I 기계어 코드를 원시 코드로 적시에 바이너리 변환합니다. - + Graphics 그래픽 - + Use Debug Device 디버그 장치 사용 - + Settings 설정 - + No cheats are available for this game. 이 게임에서 사용할 수 있는 치트가 없습니다. - + Cheat Codes 치트 코드 - + No patches are available for this game. 이 게임에서 사용할 수 있는 패치가 없습니다. - + Game Patches 게임 패치 - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. 치트를 활성화하면 예측할 수 없는 동작, 충돌, 소프트 잠금 또는 저장된 게임이 손상될 수 있습니다. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. 게임 패치를 활성화하면 예측할 수 없는 동작, 충돌, 소프트 잠금 또는 저장된 게임이 손상될 수 있습니다. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. 패치는 사용자 책임 하에 사용해야 하며, 게임 패치를 활성화한 사용자에 대해서는 PCSX2 팀에서 지원하지 않습니다. - + Game Fixes 게임 수정 - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. 각 옵션의 기능과 그 의미를 숙지하지 않은 상태에서 게임 수정을 수정해서는 안 됩니다. - + FPU Multiply Hack FPU 멀티플라이 핵 - + For Tales of Destiny. 테일즈 오브 데스티니용입니다. - + Preload TLB Hack TLB 핵 미리 불러오기 - + Needed for some games with complex FMV rendering. 복잡한 FMV 렌더링을 사용하는 일부 게임에 필요합니다. - + Skip MPEG Hack MPEG 핵 건너뛰기 - + Skips videos/FMVs in games to avoid game hanging/freezes. 게임 중단/정지를 방지하기 위해 게임에서 영상/FMV를 건너뜁니다. - + OPH Flag Hack OPH 플래그 핵 - + EE Timing Hack EE 타이밍 핵 - + Instant DMA Hack 인스턴트 DMA 핵 - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. 영향을 미치는 것으로 알려진 게임 : 마나 케미아 1, 메탈 사가, 에너미 라인스. - + For SOCOM 2 HUD and Spy Hunter loading hang. SOCOM 2 HUD 및 스파이 헌터 로딩이 중단됩니다. - + VU Add Hack VU 추가 핵 - + Full VU0 Synchronization 전체 VU0 동기화 - + Forces tight VU0 sync on every COP2 instruction. 모든 COP2 명령어에 대해 긴밀한 VU0 동기화를 강제합니다. - + VU Overflow Hack VU 오버플로 핵 - + To check for possible float overflows (Superman Returns). 플로트 오버플로 가능성을 확인합니다.(슈퍼맨 리턴즈) - + Use accurate timing for VU XGKicks (slower). VU XGKicks에 정확한 타이밍을 사용합니다.(느림) - + Load State 상태 불러오기 - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. 에뮬레이트된 이모션 엔진이 사이클을 건너뛰도록 합니다. SOTC와 같은 일부 게임에 도움이 됩니다. 대부분의 경우 성능에 해롭습니다. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. 일반적으로 코어가 4개 이상인 CPU에서 속도가 향상됩니다. 대부분의 게임에서 안전하지만 일부 게임은 호환되지 않아 중단될 수 있습니다. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1을 즉시 실행합니다. 대부분의 게임에서 약간의 속도 향상을 제공합니다. 대부분의 게임에서 안전하지만 일부 게임에서 그래픽 오류가 발생할 수 있습니다. - + Disable the support of depth buffers in the texture cache. 텍스처 캐시에서 심도 버퍼 지원을 비활성화합니다. - + Disable Render Fixes 렌더링 수정 비활성화 - + Preload Frame Data 프레임 데이터 미리 불러오기 - + Texture Inside RT 텍스처 내부 RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. 활성화하면 GPU가 컬러맵 텍스처를 변환하고, 그렇지 않으면 CPU가 변환합니다. 이는 GPU와 CPU 간의 절충안입니다. - + Half Pixel Offset 하프 픽셀 오프세트 - + Texture Offset X 텍스처 오프세트 X - + Texture Offset Y 텍스처 오프세트 Y - + Dumps replaceable textures to disk. Will reduce performance. 교체 가능한 텍스처를 디스크에 덤프합니다. 퍼포먼스가 저하됩니다. - + Applies a shader which replicates the visual effects of different styles of television set. 다양한 스타일의 텔레비전 세트의 시각 효과를 재현하는 셰이더를 적용합니다. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. 25/30fps 게임에서 변경되지 않는 프레임 표시를 건너뜁니다. 속도를 향상시킬 수 있지만 입력 지연을 증가시키거나 프레임 속도를 악화시킬 수 있습니다. - + Enables API-level validation of graphics commands. 그래픽 명령의 API 수준 유효성 검사를 활성화합니다. - + Use Software Renderer For FMVs FMV에 소프트웨어 렌더러 사용 - + To avoid TLB miss on Goemon. 고에몬의 TLB 미스를 방지합니다. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. 범용 타이밍 핵. 영향을 미치는 것으로 알려진 게임 : 디지털 데빌 사가, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. 캐시 에뮬레이션 문제에 적합합니다. 영향을 미치는 것으로 알려진 게임 : 파이어 프로 레슬링 Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. 영향을 미치는 것으로 알려진 게임 : 블리치 블레이드 배틀러, 그로울랜서 2/3, 위저드리. - + Emulate GIF FIFO GIF FIFO 에뮬레이트 - + Correct but slower. Known to affect the following games: Fifa Street 2. 정확하지만 느립니다. 영향을 미치는 것으로 알려진 게임 : 피파 스트리트 2. - + DMA Busy Hack DMA 비지 핵 - + Delay VIF1 Stalls VIF1 스톨 지연 - + Emulate VIF FIFO VIF FIFO 에뮬레이트 - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. VIF1 FIFO를 미리 읽어 시뮬레이션합니다. 영향을 미치는 것으로 알려진 게임 : 테스트 드라이브 언리미티드, 트랜스포머. - + VU I Bit Hack VU I 비트 핵 - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. 일부 게임에서 지속적인 재컴파일을 방지합니다. 영향을 미치는 것으로 알려진 게임 : 스카페이스 더 월드 이즈 유어스, 크래시 태그 팀 레이싱. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. 트라이 에이스 게임용 : 스타 오션 3, 라디아타 스토리, 발키리 프로필 2. - + VU Sync VU 동기화 - + Run behind. To avoid sync problems when reading or writing VU registers. 뒤로 실행합니다. VU 레지스터를 읽거나 쓸 때, 동기화 문제를 방지합니다. - + VU XGKick Sync VU XGKick 동기화 - + Force Blit Internal FPS Detection 블리트 내부 FPS 감지 강제 적용 - + Save State 상태 저장 - + Load Resume State 상태 재개 불러오기 - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8015,2071 +8069,2076 @@ Do you want to load this save and continue? 이 저장을 불러와서 계속하시겠습니까? - + Region: 지역 코드 : - + Compatibility: 호환성 : - + No Game Selected 선택한 게임 없음 - + Search Directories 디렉터리 검색 - + Adds a new directory to the game search list. 게임 검색 목록에 새 디렉터리를 추가합니다. - + Scanning Subdirectories 하위 디렉터리 검색 - + Not Scanning Subdirectories 하위 디렉터리 검색 안 함 - + List Settings 목록 설정 - + Sets which view the game list will open to. 게임 목록을 어떤 보기로 열 것인지 설정합니다. - + Determines which field the game list will be sorted by. 게임 목록을 정렬할 필드를 결정합니다. - + Reverses the game list sort order from the default (usually ascending to descending). 게임 목록 정렬 순서를 기본값(일반적으로 오름차순에서 내림차순)에서 반대로 바꿉니다. - + Cover Settings 표지 설정 - + Downloads covers from a user-specified URL template. 사용자가 지정한 URL 템플릿에서 표지를 내려받습니다. - + Operations 운영 - + Selects where anisotropic filtering is utilized when rendering textures. 텍스처 렌더링 시, 이방성 필터링이 사용되는 위치를 선택합니다. - + Use alternative method to calculate internal FPS to avoid false readings in some games. 일부 게임에서 잘못된 수치를 피하려면 대체 방법을 사용하여 내부 FPS를 계산하세요. - + Identifies any new files added to the game directories. 게임 디렉터리에 추가된 새 파일을 식별합니다. - + Forces a full rescan of all games previously identified. 이전에 식별된 모든 게임을 강제로 다시 검사합니다. - + Download Covers 표지 내려받기 - + About PCSX2 PCSX2 정보 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2는 무료 오픈 소스 플레이스테이션2(PS2) 에뮬레이터입니다. 이 에뮬레이터의 목적은 하드웨어 상태와 PS2 시스템 메모리를 관리하는 MIPS CPU 인터프리터, 리컴파일러 및 가상 머신의 조합을 사용하여 PS2의 하드웨어를 에뮬레이션하는 것입니다. 이를 통해 PC에서 PS2 게임을 플레이할 수 있으며 많은 추가 기능과 이점이 있습니다. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - “PlayStation 2” 및 “PS2”는 Sony Interactive Entertainment Inc.의 상표 또는 등록 상표입니다. 이 응용프로그램은 Sony Interactive Entertainment Inc.와 어떠한 제휴도 맺어진 바가 없습니다. + “PlayStation 2” 및 “PS2”는 Sony Interactive Entertainment Inc.의 상표 또는 등록 상표입니다. 이 앱은 Sony Interactive Entertainment Inc.와 어떠한 제휴도 맺어진 바가 없습니다. - + When enabled and logged in, PCSX2 will scan for achievements on startup. 활성화하고 로그인하면 PCSX2는 시작 시 도전 과제를 검색합니다. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. 순위표 추적을 포함한 도전 과제를 위한 "도전" 모드. 저장 상태, 치트, 속도 저하 기능을 비활성화합니다. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. 업적 잠금 해제 및 리더보드 제출과 같은 이벤트에 대한 팝업 메시지를 표시합니다. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. 도전 과제 잠금 해제 및 순위표 제출과 같은 이벤트에서 음향 효과를 재생합니다. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. 도전/준비된 도전 과제가 활성화되면 화면 오른쪽 하단에 아이콘이 표시됩니다. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. 이 옵션을 활성화하면 PCSX2는 비공식 세트의 업적을 나열합니다. 이러한 도전 과제는 레트로어치브먼트에서 추적되지 않습니다. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. 활성화하면 PCSX2는 모든 도전 과제가 잠긴 것으로 간주하고 잠금 해제 알림을 서버로 보내지 않습니다. - + Error 오류 - + Pauses the emulator when a controller with bindings is disconnected. 할당된 컨트롤러의 연결이 끊어지면 에뮬레이터를 일시 중지합니다. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix 저장을 만들 때, 저장 상태가 이미 있는 경우 저장 상태의 백업 복사본을 만듭니다. 백업 사본에는 .backup이 붙습니다. - + Enable CDVD Precaching - CDVD 사전 캐싱 활성화 + CD/DVD 사전 캐싱 활성화 - + Loads the disc image into RAM before starting the virtual machine. 가상 머신을 시작하기 전에 디스크 이미지를 RAM에 불러옵니다. - + Vertical Sync (VSync) 수직 동기화(VSync) - + Sync to Host Refresh Rate 호스트 새로 고침 빈도에 동기화 - + Use Host VSync Timing 호스트 수직 동기화 타이밍 사용 - + Disables PCSX2's internal frame timing, and uses host vsync instead. PCSX2의 내부 프레임 타이밍을 비활성화하고 대신 호스트 수직 동기화를 사용합니다. - + Disable Mailbox Presentation 사서함 표시 비활성화 - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. 사서함 표시에 대해 FIFO를 강제로 사용합니다. 즉, 삼중 버퍼링 대신 이중 버퍼링을 사용합니다. 일반적으로 프레임 속도가 저하됩니다. - + Audio Control 음향 제어 - + Controls the volume of the audio played on the host. 호스트에서 재생되는 음향의 음량을 제어합니다. - + Fast Forward Volume - 빨리 감기 음량 + 빨리 감기 볼륨 - + Controls the volume of the audio played on the host when fast forwarding. 빨리 감기 시, 호스트에서 재생되는 음향의 음량을 제어합니다. - + Mute All Sound 모두 음소거 - + Prevents the emulator from producing any audible sound. 에뮬레이터가 가청 사운드를 생성하는 것을 방지합니다. - + Backend Settings 후단부 설정 - + Audio Backend 음향 후단부 - + The audio backend determines how frames produced by the emulator are submitted to the host. 음향 후단부는 에뮬레이터에서 생성된 프레임이 호스트에 전송되는 방식을 결정합니다. - + Expansion 확장 - + Determines how audio is expanded from stereo to surround for supported games. 지원되는 게임에서 음향이 스테레오에서 서라운드로 확장되는 방식을 결정합니다. - + Synchronization 동기화 - + Buffer Size 버퍼 크기 - + Determines the amount of audio buffered before being pulled by the host API. 호스트 API에서 가져오기 전에 버퍼링되는 음향의 양을 결정합니다. - + Output Latency 출력 대기 시간 - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. 호스트 API가 수신하는 음향과 스피커를 통해 재생되는 음향 사이에 얼마나 많은 지연 시간이 있는지 결정합니다. - + Minimal Output Latency 최소 출력 대기 시간 - + When enabled, the minimum supported output latency will be used for the host API. 활성화하면 호스트 API에 지원되는 최소 출력 대기 시간이 사용됩니다. - + Thread Pinning 스레드 고정 - + Force Even Sprite Position 스프라이트 위치 강제 균일화 - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. 순위표 도전을 시작, 제출 또는 실패할 때 팝업 메시지를 표시합니다. - + When enabled, each session will behave as if no achievements have been unlocked. 활성화하면 각 세션은 잠금 해제된 도전 과제가 없는 것처럼 작동합니다. - + Account 계정 - + Logs out of RetroAchievements. 레트로어치브먼트에서 로그아웃합니다. - + Logs in to RetroAchievements. 레트로어치브먼트에 로그인합니다. - + Current Game 현재 게임 - + An error occurred while deleting empty game settings: {} 빈 게임 설정을 삭제하는 중, 오류 발생 : {} - + An error occurred while saving game settings: {} 게임 설정을 저장하는 중, 오류 발생 : {} - + {} is not a valid disc image. {}은(는) 유효한 디스크 이미지가 아닙니다. - + Automatic mapping completed for {}. {}에 대한 자동 매핑이 완료되었습니다. - + Automatic mapping failed for {}. {}에 대한 자동 매핑에 실패했습니다. - + Game settings initialized with global settings for '{}'. '{}'에 대한 전역 설정으로 게임 설정이 초기화됩니다. - + Game settings have been cleared for '{}'. '{}'에 대한 게임 설정을 지웠습니다. - + {} (Current) {}(현재) - + {} (Folder) {}(폴더) - + Failed to load '{}'. '{}'을(를) 불러오지 못했습니다. - + Input profile '{}' loaded. 입력 프로필 '{}'을(를) 불러왔습니다. - + Input profile '{}' saved. 입력 프로필 '{}'이(가) 저장되었습니다. - + Failed to save input profile '{}'. 입력 프로필 '{}'을(를) 저장하지 못했습니다. - + Port {} Controller Type 포트 {} 컨트롤러 유형 - + Select Macro {} Binds 매크로 {} 할당 선택 - + Port {} Device 포트 {} 장치 - + Port {} Subtype 포트 {} 하위 유형 - + {} unlabelled patch codes will automatically activate. {} 레이블이 지정되지 않은 패치 코드는 자동으로 활성화됩니다. - + {} unlabelled patch codes found but not enabled. {} 레이블이 지정되지 않은 패치 코드를 찾았지만 활성화하지 않았습니다. - + This Session: {} 현재 세션 : {} - + All Time: {} 총 시간 : {} - + Save Slot {0} 슬롯 {0}에 저장 - + Saved {} {} 저장됨 - + {} does not exist. {}이(가) 존재하지 않습니다. - + {} deleted. {}이(가) 삭제되었습니다. - + Failed to delete {}. {}을(를) 삭제하지 못했습니다. - + File: {} 파일 : {} - + CRC: {:08X} CRC : {:08X} - + Time Played: {} 플레이 시간 : {} - + Last Played: {} 마지막 플레이 : {} - + Size: {:.2f} MB 크기 : {:.2f}MB - + Left: ← : - + Top: ↑ : - + Right: → : - + Bottom: ↓ : - + Summary 요약 - + Interface Settings 인터페이스 설정 - + BIOS Settings 바이오스 설정 - + Emulation Settings 에뮬레이션 설정 - + Graphics Settings 그래픽 설정 - + Audio Settings 음향 설정 - + Memory Card Settings 메모리 카드 설정 - + Controller Settings 컨트롤러 설정 - + Hotkey Settings 단축키 설정 - + Achievements Settings 도전 과제 설정 - + Folder Settings 폴더 설정 - + Advanced Settings 고급 설정 - + Patches 패치 - + Cheats 치트 - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1FPS(NTSC)/1 FPS(PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6FPS(NTSC)/5 FPS(PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15FPS(NTSC)/12FPS(PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30FPS(NTSC)/25FPS(PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45FPS(NTSC)/37FPS(PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54FPS(NTSC)/45FPS(PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60FPS(NTSC)/50FPS(PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66FPS(NTSC)/55FPS(PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72FPS(NTSC)/60FPS(PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90FPS(NTSC)/75FPS(PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105FPS(NTSC)/87FPS(PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120FPS(NTSC)/100FPS(PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180FPS(NTSC)/150FPS(PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240FPS(NTSC)/200FPS(PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300FPS(NTSC)/250FPS(PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600FPS(NTSC)/500FPS(PAL)] - + 50% Speed 50% 속도 - + 60% Speed 60% 속도 - + 75% Speed 75% 속도 - + 100% Speed (Default) 100% 속도(기본값) - + 130% Speed 130% 속도 - + 180% Speed 180% 속도 - + 300% Speed 300% 속도 - + Normal (Default) 보통(기본) - + Mild Underclock 가벼운 언더클럭 - + Moderate Underclock 적당한 언더클럭 - + Maximum Underclock 최대 언더클럭 - + Disabled 비활성화 - + 0 Frames (Hard Sync) 0프레임(물리 동기화) - + 1 Frame 1프레임 - + 2 Frames 2프레임 - + 3 Frames 3프레임 - + None 없음 - + Extra + Preserve Sign 추가+보존 기호 - + Full 전체 - + Extra 추가 - + Automatic (Default) 자동(기본값) - + Direct3D 11 Direct3D11 - + Direct3D 12 Direct3D12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software 소프트웨어 - + Null 없음 - + Off - + Bilinear (Smooth) 쌍선형(부드럽게) - + Bilinear (Sharp) 쌍선형(선명하게) - + Weave (Top Field First, Sawtooth) 직조(상단 필드 우선, 톱니) - + Weave (Bottom Field First, Sawtooth) 직조(하단 필드 우선, 톱니) - + Bob (Top Field First) 밥(상단 필드 우선) - + Bob (Bottom Field First) 밥(하단 필드 우선) - + Blend (Top Field First, Half FPS) 혼합(상단 필드 우선, 절반 FPS) - + Blend (Bottom Field First, Half FPS) 혼합(하단 필드 우선, 절반 FPS) - + Adaptive (Top Field First) 적응형(상단 필드 우선) - + Adaptive (Bottom Field First) 적응형(하단 필드 우선) - + Native (PS2) 원본(PS2) - + Nearest 근린 - + Bilinear (Forced) 쌍선형(강제) - + Bilinear (PS2) 쌍선형(PS2) - + Bilinear (Forced excluding sprite) 쌍선형(스프라이트를 제외하고 강제) - + Off (None) 끔(없음) - + Trilinear (PS2) 삼선형(PS2) - + Trilinear (Forced) 삼선형(강제) - + Scaled 스케일 - + Unscaled (Default) 언스케일(기본값) - + Minimum 최저 - + Basic (Recommended) 기본(권장) - + Medium 중간 - + High 높음 - + Full (Slow) 완전(느림) - + Maximum (Very Slow) 최고(매우 느림) - + Off (Default) 끔(기본값) - + 2x 2배 - + 4x 4배 - + 8x 8배 - + 16x 16배 - + Partial 부분 - + Full (Hash Cache) 전체(해시 캐시) - + Force Disabled 비활성화 강제 적용 - + Force Enabled 활성화 강제 적용 - + Accurate (Recommended) 정확(권장) - + Disable Readbacks (Synchronize GS Thread) 다시 읽기 비활성화(GS 스레드 동기화) - + Unsynchronized (Non-Deterministic) 동기화되지 않음(비결정적) - + Disabled (Ignore Transfers) 비활성화(전송 무시) - + Screen Resolution 화면 해상도 - + Internal Resolution (Aspect Uncorrected) 내부 해상도(무보정 종횡비) - + Load/Save State 상태 불러오기/저장하기 - + WARNING: Memory Card Busy 경고 : 메모리 카드 사용 중 - + Cannot show details for games which were not scanned in the game list. 게임 목록에서 스캔하지 않은 게임에 대한 세부 정보를 표시할 수 없습니다. - + Pause On Controller Disconnection 컨트롤러 연결이 끊어지면 일시 중지 - + + Use Save State Selector + 상태 저장 선택기 사용 + + + SDL DualSense Player LED SDL 듀얼센스 플레이어 LED - + Press To Toggle 전환하려면 누르기 - + Deadzone 데드 존 - + Full Boot 전체 부팅 - + Achievement Notifications 도전 과제 알림 - + Leaderboard Notifications 순위표 알림 - + Enable In-Game Overlays 인게임 오버레이 활성화 - + Encore Mode 앙코르 모드 - + Spectator Mode 관전 모드 - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. GPU 대신 CPU에서 4비트 및 8비트 프레임 버퍼를 변환합니다. - + Removes the current card from the slot. 현재 카드를 슬롯에서 제거합니다. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). 매크로가 버튼을 켜고 끄는 빈도(일명 자동 발사)를 결정합니다. - + {} Frames {}프레임 - + No Deinterlacing 인터레이스 제거 없음 - + Force 32bit 32비트 강제 - + JPEG JPEG - + 0 (Disabled) 0(비활성화) - + 1 (64 Max Width) 1(64 최대 너비) - + 2 (128 Max Width) 2(128 최대 너비) - + 3 (192 Max Width) 3(192 최대 너비) - + 4 (256 Max Width) 4(256 최대 너비) - + 5 (320 Max Width) 5(320 최대 너비) - + 6 (384 Max Width) 6(384 최대 너비) - + 7 (448 Max Width) 7(448 최대 너비) - + 8 (512 Max Width) 8(512 최대 너비) - + 9 (576 Max Width) 9(576 최대 너비) - + 10 (640 Max Width) 10(640 최대 너비) - + Sprites Only 스프라이트만 - + Sprites/Triangles 스프라이트/삼각 - + Blended Sprites/Triangles 스프라이트/삼각 혼합 - + 1 (Normal) 1(보통) - + 2 (Aggressive) 2(공격적) - + Inside Target 타겟 내부 - + Merge Targets 타겟 병합 - + Normal (Vertex) 일반(정점) - + Special (Texture) 특수(텍스처) - + Special (Texture - Aggressive) 특수(텍스처 - 공격적) - + Align To Native 기본에 맞게 정렬 - + Half 절반 - + Force Bilinear 쌍선형 강제 적용 - + Force Nearest 근린 강제 적용 - + Disabled (Default) 비활성화(기본값) - + Enabled (Sprites Only) 활성화(스프라이트만) - + Enabled (All Primitives) 활성화됨(모든 기본 요소) - + None (Default) 없음(기본값) - + Sharpen Only (Internal Resolution) 선명도만(내부 해상도) - + Sharpen and Resize (Display Resolution) 선명도 및 크기 조정(화면 표시 장치 해상도) - + Scanline Filter 스캔라인 필터 - + Diagonal Filter 대각선 필터 - + Triangular Filter 삼각 필터 - + Wave Filter 웨이브 필터 - + Lottes CRT Lottes CRT - + 4xRGSS 4배 RGSS - + NxAGSS N배 AGSS - + Uncompressed 압축 해제됨 - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Z표준(zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative 부정 - + Positive 긍정 - + Chop/Zero (Default) 잘라내기/제로(기본값) - + Game Grid 게임 그리드 - + Game List 게임 목록 - + Game List Settings 게임 목록 설정 - + Type 유형 - + Serial 일련번호 - + Title 타이틀 - + File Title 게임 타이틀 - + CRC CRC - + Time Played 플레이 시간 - + Last Played 마지막 플레이 - + Size 크기 - + Select Disc Image 디스크 이미지 선택 - + Select Disc Drive 디스크 드라이브 선택 - + Start File 파일 실행 - + Start BIOS 바이오스 실행 - + Start Disc 디스크 실행 - + Exit 종료 - + Set Input Binding 입력 할당 설정 - + Region 지역 코드 - + Compatibility Rating 호환성 등급 - + Path 경로 - + Disc Path 디스크 경로 - + Select Disc Path 디스크 경로 선택 - + Copy Settings 설정 복사 - + Clear Settings 설정 지우기 - + Inhibit Screensaver 화면 보호기 사용 안 함 - + Enable Discord Presence 디스코드 상태 활성화 - + Pause On Start 시작 시, 일시 중지 - + Pause On Focus Loss 초점 손실 시, 일시 중지 - + Pause On Menu 메뉴에서 일시 중지 - + Confirm Shutdown 시스템 종료 확인 - + Save State On Shutdown 종료 시, 상태 저장 - + Use Light Theme - 라이트 테마 사용 + 라이트 모드 사용 - + Start Fullscreen 전체 화면 시작 - + Double-Click Toggles Fullscreen 두 번 클릭으로 전체 화면 적용/해제 - + Hide Cursor In Fullscreen 전체 화면에서 커서 숨기기 - + OSD Scale 화면 표시 배율 - + Show Messages 메시지 표시 - + Show Speed 속도 표시 - + Show FPS FPS 표시 - + Show CPU Usage CPU 사용량 표시 - + Show GPU Usage GPU 사용량 표시 - + Show Resolution 해상도 표시 - + Show GS Statistics GS 통계 보기 - + Show Status Indicators 상태 표시기 표시 - + Show Settings 설정 표시 - + Show Inputs 입력 표시 - + Warn About Unsafe Settings 안전하지 않은 설정에 대한 경고 - + Reset Settings 설정 초기화 - + Change Search Directory 검색 디렉터리 변경 - + Fast Boot 고속 부팅 - + Output Volume 출력 음량 - + Memory Card Directory 메모리 카드 디렉터리 - + Folder Memory Card Filter 폴더 메모리 카드 필터 - + Create 만들기 - + Cancel 취소 - + Load Profile 프로필 불러오기 - + Save Profile 프로필 저장 - + Enable SDL Input Source SDL 입력 소스 활성화 - + SDL DualShock 4 / DualSense Enhanced Mode SDL 듀얼쇼크 4 / 듀얼센스 강화 모드 - + SDL Raw Input SDL 원시 입력 - + Enable XInput Input Source XInput 입력 소스 활성화 - + Enable Console Port 1 Multitap 콘솔 포트 1 멀티탭 활성화 - + Enable Console Port 2 Multitap 콘솔 포트 2 멀티탭 활성화 - + Controller Port {}{} 컨트롤러 유형 {}{} - + Controller Port {} 컨트롤러 유형 {} - + Controller Type 컨트롤러 유형 - + Automatic Mapping 자동 매핑 - + Controller Port {}{} Macros 컨트롤러 포트 {}{} 매크로 - + Controller Port {} Macros 컨트롤러 포트 {} 매크로 - + Macro Button {} 매크로 버튼 {} - + Buttons 버튼 - + Frequency 주사율 - + Pressure 압력 - + Controller Port {}{} Settings 컨트롤러 포트 {}{} 설정 - + Controller Port {} Settings 컨트롤러 포트 {} 설정 - + USB Port {} USB 포트 {} - + Device Type 장치 유형 - + Device Subtype 장치 하위 유형 - + {} Bindings {} 할당 - + Clear Bindings 할당 지우기 - + {} Settings {} 설정 - + Cache Directory 캐시 디렉터리 - + Covers Directory 표지 디렉터리 - + Snapshots Directory 스냅샷 디렉터리 - + Save States Directory 상태 디렉터리 저장 - + Game Settings Directory 게임 설정 디렉터리 - + Input Profile Directory - 입력 프로필 디렉터리 + 프로필 디렉터리 입력 - + Cheats Directory 치트 디렉터리 - + Patches Directory 패치 디렉터리 - + Texture Replacements Directory 대체 텍스처 디렉터리 - + Video Dumping Directory 영상 덤핑 디렉터리 - + Resume Game 게임 재개 - + Toggle Frame Limit 프레임 제한 적용/해제 - + Game Properties 게임 속성 - + Achievements 도전 과제 - + Save Screenshot 스크린샷 저장 - + Switch To Software Renderer 소프트웨어 렌더러로 전환 - + Switch To Hardware Renderer 하드웨어 렌더러로 전환 - + Change Disc 디스크 변경 - + Close Game 게임 닫기 - + Exit Without Saving 저장하지 않고 종료 - + Back To Pause Menu 일시 중지 메뉴로 돌아가기 - + Exit And Save State 종료 및 상태 저장 - + Leaderboards 순위표 - + Delete Save 저장 삭제 - + Close Menu 메뉴 닫기 - + Delete State 상태 삭제 - + Default Boot 기본 부팅 - + Reset Play Time 플레이 시간 초기화 - + Add Search Directory 검색 디렉터리 추가 - + Open in File Browser 파일 브라우저에서 열기 - + Disable Subdirectory Scanning 하위 디렉터리 검색 비활성화 - + Enable Subdirectory Scanning 하위 디렉터리 검색 활성화 - + Remove From List 목록에서 제거 - + Default View 기본 보기 - + Sort By 정렬 기준 - + Sort Reversed 역순 정렬 - + Scan For New Games 새로운 게임 찾기 - + Rescan All Games 모든 게임 다시 검색 - + Website 웹사이트 - + Support Forums 포럼 문의 - + GitHub Repository Github 저장소 - + License 라이선스 - + Close 닫기 - + RAIntegration is being used instead of the built-in achievements implementation. 기본 제공 도전 과제 구현 대신 RAIntegration이 사용되고 있습니다. - + Enable Achievements 도전 과제 활성화 - + Hardcore Mode 하드코어 모드 - + Sound Effects 음향 효과 - + Test Unofficial Achievements 비공식 도전 과제 테스트 - + Username: {} 사용자 이름 : {} - + Login token generated on {} {}에 생성된 로그인 토큰 - + Logout 로그아웃 - + Not Logged In 로그인 하지 않음 - + Login 로그인 - + Game: {0} ({1}) 게임 : {0}({1}) - + Rich presence inactive or unsupported. 비활성 상태이거나 지원되지 않는 활동 상태입니다. - + Game not loaded or no RetroAchievements available. 게임을 불러오지 않아 레트로어테치먼트를 이용할 수 없습니다. - + Card Enabled 카드 활성화됨 - + Card Name 카드 이름 - + Eject Card 카드 꺼내기 @@ -11063,32 +11122,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. 레이블이 지정되지 않은 패치를 불러왔으므로 이 게임에 PCSX2와 함께 번들로 제공되는 모든 패치가 비활성화됩니다. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>와이드스크린 패치는 현재 전역적으로 <span style=" font-weight:600;">활성화</span>되었습니다.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>비인터레이싱 패치는 현재 전역적으로 <span style=" font-weight:600;">활성화</span>되었습니다.</p></body></html> + + + All CRCs 모든 CRC - + Reload Patches 패치 다시 불러오기 - + Show Patches For All CRCs 모든 CRC에 대한 패치 표시 - + Checked 선택 - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. 게임의 모든 CRC에 대한 패치 파일 검색을 전환합니다. 이 기능을 활성화하면 다양한 CRC가 있는 게임 시리얼에 사용 가능한 패치도 불러옵니다. - + There are no patches available for this game. 이 게임에 사용할 수 있는 패치가 없습니다. @@ -11354,7 +11423,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Input Profile: - 입력 프로필 : + 프로필 입력 : @@ -11564,11 +11633,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) 끔(기본값) @@ -11578,10 +11647,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) 자동(기본값) @@ -11648,7 +11717,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. 쌍선형(부드럽게) @@ -11714,29 +11783,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets 화면 오프세트 - + Show Overscan 오버스캔 표시 - - - Enable Widescreen Patches - 와이드스크린 패치 활성화 - - - - Enable No-Interlacing Patches - 비인터레이스 패치 활성화 - - + Anti-Blur 흐림 방지 @@ -11747,7 +11806,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset 인터레이스 오프세트 사용 안 함 @@ -11757,18 +11816,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne 스크린샷 크기 : - + Screen Resolution 화면 해상도 - + Internal Resolution 내부 해상도 - + PNG PNG @@ -11820,7 +11879,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) 쌍선형(PS2) @@ -11867,7 +11926,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) 언스케일(기본값) @@ -11883,7 +11942,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) 낮음(권장) @@ -11919,7 +11978,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) 전체(해시 캐시) @@ -11935,31 +11994,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion 심도 변환 비활성화 - + GPU Palette Conversion GPU 팔레트 변환 - + Manual Hardware Renderer Fixes 수동 하드웨어 렌더러 수정 - + Spin GPU During Readbacks 다시 읽기 중 GPU 회전 - + Spin CPU During Readbacks 다시 읽기 중 CPU 회전 @@ -11971,15 +12030,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping 밉매핑 - - + + Auto Flush 자동 플러시 @@ -12007,8 +12066,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0(비활성화) @@ -12065,18 +12124,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features 안전 기능 비활성화 - + Preload Frame Data 프레임 데이터 미리 불러오기 - + Texture Inside RT 텍스처 내부 RT @@ -12175,13 +12234,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite 스프라이트 병합 - + Align Sprite 스프라이트 정렬 @@ -12195,16 +12254,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing 인터레이스 제거 없음 - - - Apply Widescreen Patches - 와이드스크린 패치 적용 - - - - Apply No-Interlacing Patches - 비인터레이싱 패치 적용 - Window Resolution (Aspect Corrected) @@ -12277,25 +12326,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation 부분 소스 무효화 사용 안 함 - + Read Targets When Closing 닫을 때 대상 읽기 - + Estimate Texture Region 텍스처 영역 추정 - + Disable Render Fixes 렌더링 수정 사용 안 함 @@ -12306,7 +12355,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws 배율 조정되지 않은 팔레트 텍스처 그리기 @@ -12365,25 +12414,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures 텍스처 덤프 - + Dump Mipmaps 밉맵 덤프 - + Dump FMV Textures FMV 텍스처 덤프 - + Load Textures 텍스처 불러오기 @@ -12393,6 +12442,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) 기본(10:7) + + + Apply Widescreen Patches + 와이드스크린 패치 적용 + + + + Apply No-Interlacing Patches + 비인터레이싱 패치 적용 + Native Scaling @@ -12410,13 +12469,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position 스프라이트 위치 강제 균일화 - + Precache Textures 프리캐시 텍스처 @@ -12439,8 +12498,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) 없음(기본값) @@ -12461,7 +12520,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12513,7 +12572,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost 셰이드 부스트 @@ -12528,7 +12587,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne 대비 : - + Saturation 채도 @@ -12549,50 +12608,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators 표시기 표시 - + Show Resolution 해상도 표시 - + Show Inputs 입력 표시 - + Show GPU Usage GPU 사용량 표시 - + Show Settings 설정 표시 - + Show FPS FPS 표시 - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. 사서함 표시 비활성화 - + Extended Upscaling Multipliers 확장 업스케일링 배율 @@ -12608,13 +12667,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics 통계 보기 - + Asynchronous Texture Loading 비동기 텍스처 불러오기 @@ -12625,13 +12684,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage CPU 사용량 표시 - + Warn About Unsafe Settings 안전하지 않은 설정에 대해 경고 @@ -12657,7 +12716,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) 왼쪽(기본값) @@ -12668,43 +12727,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) 오른쪽(기본값) - + Show Frame Times 프레임 시간 표시 - + Show PCSX2 Version PCSX2 버전 표시 - + Show Hardware Info 하드웨어 정보 표시 - + Show Input Recording Status 입력 레코딩 상태 표시 - + Show Video Capture Status 영상 캡처 상태 표시 - + Show VPS VPS 표시 @@ -12813,19 +12872,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Z스탠다드(zst) - + Skip Presenting Duplicate Frames 중복 프레임 표시 건너뛰기 - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12878,7 +12937,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages 속도 비율 표시 @@ -12888,1214 +12947,1214 @@ Swap chain: see Microsoft's Terminology Portal. 프레임버퍼 가져오기 비활성화 - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. 소프트웨어 - + Null Null here means that this is a graphics backend that will show nothing. 없음 - + 2x 2배 - + 4x 4배 - + 8x 8배 - + 16x 16배 - - - - + + + + Use Global Setting [%1] 전체 설정 사용 [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked 선택 안 함 - + + Enable Widescreen Patches + 와이드스크린 패치 활성화 + + + Automatically loads and applies widescreen patches on game start. Can cause issues. 게임 시작 시, 와이드스크린 패치를 자동으로 불러오고 적용합니다. 문제를 일으킬 수 있습니다. - + + Enable No-Interlacing Patches + 비인터레이스 패치 활성화 + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. 게임 시작 시, 자동으로 노인터레이싱 패치를 불러오고 적용합니다. 문제를 일으킬 수 있습니다. - + Disables interlacing offset which may reduce blurring in some situations. 일부 상황에서 흐려짐을 줄일 수 있는 인터레이스 오프세트를 비활성화합니다. - + Bilinear Filtering 쌍선형 필터링 - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. 쌍선형 포스트 프로세싱 필터를 활성화합니다. 화면에 표시되는 전체 사진을 부드럽게 처리합니다. 픽셀 간 위치를 보정합니다. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. 게임에서 요청하는 대로 화면을 배치하는 PCRTC 오프세트를 활성화합니다. 화면 흔들림 효과로 인해 와이프아웃 퓨전과 같은 일부 게임에서 유용하지만 화면이 흐릿해질 수 있습니다. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 화면의 안전 영역보다 더 많이 그리는 게임에서 오버스캔 영역을 표시하는 옵션을 활성화합니다. - + FMV Aspect Ratio Override FMV 종횡비 재정의 - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. 에뮬레이트된 콘솔의 인터레이스 화면에서 사용할 인터레이스 제거 방법을 결정합니다. 자동을 선택하면 대부분의 게임에서 인터레이스가 올바르게 해제되지만 그래픽이 눈에 띄게 흔들리는 경우 사용 가능한 옵션 중 하나를 시도해 보세요. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. GS 혼합 유닛 에뮬레이션의 정확도 수준을 제어합니다.<br> 설정이 높을수록 셰이더에서 더 많은 블렌딩이 정확하게 에뮬레이션되며 속도 페널티가 높아집니다.<br> Direct3D의 블렌딩은 OpenGL/Vulkan에 비해 기능이 저하된다는 점에 유의하세요. - + Software Rendering Threads 소프트웨어 렌더링 스레드 - + CPU Sprite Render Size CPU 스프라이트 렌더링 크기 - + Software CLUT Render 소프트웨어 CLUT 렌더 - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. 게임이 자체 색상 팔레트를 그리는 시점을 감지한 다음 특수 처리를 통해 GPU에서 렌더링합니다. - + This option disables game-specific render fixes. 이 옵션은 게임별 렌더링 수정을 비활성화합니다. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. 기본적으로 텍스처 캐시는 부분 무효화를 처리합니다. 안타깝게도 이 작업은 CPU 연산 비용이 매우 많이 듭니다. 이 핵은 부분 무효화를 텍스처의 완전한 삭제로 대체하여 CPU 부하를 줄입니다. 스노우블라인드 엔진 게임에 도움이 됩니다. - + Framebuffer Conversion 프레임버퍼 변환 - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. GPU가 아닌 CPU에서 4비트 및 8비트 프레임 버퍼를 변환합니다. 해리포터와 스턴트맨 게임에 도움이 됩니다. 성능에 큰 영향을 미칩니다. - - + + Disabled 비활성화 - - Remove Unsupported Settings - 지원되지 않는 설정 제거 - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - 현재 이 게임에는 <strong>와이드스크린 패치 활성화</strong> 또는 <strong>인터레이스 패치 없음 활성화</strong> 옵션이 활성화되어 있습니다. <br><br>이 옵션은 더 이상 지원되지 않으며, 대신 <strong>"패치" 섹션을 선택하고 원하는 패치를 명시적으로 활성화해야 합니다.</strong><br><br>지금 게임 구성에서 이 옵션을 제거하시겠습니까? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. 풀 모션 동영상(FMV) 종횡비를 재정의합니다. 비활성화하면 FMV 화면비는 일반 화면비 설정과 동일한 값으로 일치합니다. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. 일부 게임이 올바르게 렌더링하는 데 필요한 밉매핑을 활성화합니다. 밉매핑은 점점 더 먼 거리에서 점점 더 낮은 해상도의 텍스처 변형을 사용하여 처리 부하를 줄이고 시각적 아티팩트를 방지합니다. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. 텍스처를 표면에 매핑하는 데 사용되는 필터링 알고리즘을 변경합니다. 근린 : 색상을 혼합하지 않습니다. 쌍선형(강제) : 게임에서 PS2에 혼합하지 말라고 했더라도 서로 다른 색상 픽셀 간의 날카로운 모서리를 제거하기 위해 색상을 혼합합니다. 쌍선형(PS2) : 게임에서 PS2에 필터링하라고 지시한 모든 표면에 필터링을 적용합니다. 쌍선형(스프라이트 제외 강제) : 게임에서 PS2에 혼합하지 말라고 지시했더라도 스프라이트를 제외한 모든 표면에 필터링을 적용합니다. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. 가장 가까운 두 개의 밉맵에서 색을 샘플링하여 작고 가파른 각도의 표면에 적용된 큰 텍스처의 흐릿함을 줄입니다. 밉맵을 '켬'으로 설정해야 합니다.<br> 끔 : 기능을 비활성화합니다.<br> 삼선형(PS2) : 게임에서 PS2에 지시하는 모든 표면에 트라이리니어 필터링을 적용합니다.<br> 삼선형(강제) : 게임에서 PS2에 적용하지 말라고 지시한 경우에도 모든 표면에 삼선형 필터링을 적용합니다. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. 색상 간의 밴딩을 줄이고 인지된 색상 농도를 개선합니다.<br> 끄기 : 디더링을 비활성화합니다.<br> 배율 조됨 : 업스케일링 인식/디더링 효과가 가장 높습니다.<br> 스케일 해제됨 : 네이티브 디더링/최저 디더링 효과는 업스케일링 시, 사각형 크기를 증가시키지 않습니다.<br> 32비트 강제 : 밴딩 및 디더링을 방지하기 위해 모든 그리기를 32비트인 것처럼 처리합니다. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. CPU가 절전 모드로 전환되는 것을 방지하기 위해 다시 읽어들이는 동안 CPU에서 불필요한 작업을 수행합니다. 다시 읽는 동안 성능이 향상될 수 있지만 전력 사용량이 크게 증가합니다. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. 다시 읽어들이는 동안 불필요한 작업을 GPU에 제출하여 GPU가 절전 모드로 전환되는 것을 방지합니다. 다시 읽는 동안 성능이 향상될 수 있지만 전력 사용량이 크게 증가합니다. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. 렌더링 스레드 수 : 단일 스레드의 경우 0, 다중 스레드의 경우 2 이상(1은 디버깅용) 2~4개의 스레드가 권장되며, 그보다 많으면 속도가 빨라지기보다는 느려질 수 있습니다. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. 텍스처 캐시에서 심도 버퍼 지원을 비활성화합니다. 다양한 결함이 발생할 가능성이 높으며 디버깅에만 유용합니다. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. 텍스처 캐시가 이전 프레임버퍼의 내부 부분을 입력 텍스처로 재사용할 수 있도록 합니다. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. 종료 시, 텍스처 캐시의 모든 타깃을 로컬 메모리로 다시 플러시합니다. 상태를 저장하거나 렌더러를 전환할 때 시각적 손실을 방지할 수 있지만 그래픽 손상이 발생할 수도 있습니다. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). 게임에서 텍스처 크기를 직접 설정하지 않은 경우 텍스처 크기를 줄이려고 시도합니다.(예 - 스노우블라인드 게임) - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. 에이스 컴뱃, 철권, 소울 칼리버 등의 남코 게임에서 업스케일링(세로줄) 문제를 수정했습니다. - + Dumps replaceable textures to disk. Will reduce performance. 교체 가능한 텍스처를 디스크에 덤프합니다. 퍼포먼스가 저하됩니다. - + Includes mipmaps when dumping textures. 텍스처 덤핑 시, 밉맵을 포함합니다. - + Allows texture dumping when FMVs are active. You should not enable this. FMV가 활성화되어 있을 때 텍스처 덤핑을 허용합니다. 이 옵션을 활성화하면 안 됩니다. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. 작업자 스레드에 대체 텍스처를 불러와 대체가 활성화되면 미세 끊김 현상이 감소합니다. - + Loads replacement textures where available and user-provided. 사용 가능한 경우, 사용자 제공 대체 텍스처를 불러옵니다. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. 모든 대체 텍스처를 메모리에 사전 불러오기합니다. 비동기 불러오기에서는 필요하지 않습니다. - + Enables FidelityFX Contrast Adaptive Sharpening. FidelityFX 대비 적응형 선명화를 활성화합니다. - + Determines the intensity the sharpening effect in CAS post-processing. CAS 후처리에서 선명하게 하는 효과의 강도를 결정합니다. - + Adjusts brightness. 50 is normal. 밝기를 조정합니다. 50이 기본값입니다. - + Adjusts contrast. 50 is normal. 대비를 조정합니다. 50이 기본값입니다. - + Adjusts saturation. 50 is normal. 채도를 조정합니다. 50이 기본값입니다. - + Scales the size of the onscreen OSD from 50% to 500%. 화면 표시 배율을 50%에서 500%까지 조정할 수 있습니다. - + OSD Messages Position OSD 메시지 위치 - + OSD Statistics Position OSD 통계 위치 - + Shows a variety of on-screen performance data points as selected by the user. 사용자가 선택한 다양한 성능 데이터 포인트를 화면에 표시합니다. - + Shows the vsync rate of the emulator in the top-right corner of the display. 화면 표시 장치 우측 상단에 에뮬레이터의 비동기화 속도를 표시합니다. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. 일시 정지, 터보, 빨리 감기, 슬로우 모션과 같은 에뮬레이션 상태에 대한 화면 표시 아이콘을 표시합니다. - + Displays various settings and the current values of those settings, useful for debugging. 디버깅에 유용한 다양한 설정과 해당 설정의 현재 값을 표시합니다. - + Displays a graph showing the average frametimes. 평균 프레임 시간을 보여주는 그래프를 표시합니다. - + Shows the current system hardware information on the OSD. 현재 시스템 하드웨어 정보를 OSD에 표시합니다. - + Video Codec 영상 코덱 - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - 양상 캡처에 사용할 영상 코덱을 선택합니다. <b>확실하지 않은 경우 기본값으로 둡니다.<b> + 영상 캡처에 사용할 영상 코덱을 선택합니다. <b>확실하지 않은 경우 기본값으로 둡니다.<b> - + Video Format - 비디오 형식 + 영상 형식 - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - 비디오 캡처에 사용할 비디오 형식을 선택합니다. 코덱이 해당 형식을 지원하지 않는 경우에는 사용 가능한 첫 번째 형식이 사용됩니다. <b>잘 모르겠으면 기본값으로 두세요.<b> + 영상 캡처에 사용할 영상 형식을 선택합니다. 코덱이 해당 형식을 지원하지 않는 경우에는 사용 가능한 첫 번째 형식이 사용됩니다. <b>잘 모르겠으면 기본값으로 두세요.<b> - + Video Bitrate 영상 비트 전송률 - + 6000 kbps 6000Kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. 사용할 영상 비트 전송률을 설정합니다. 일반적으로 비트 전송률이 높을수록 파일 크기가 커지는 대신 영상 품질이 향상됩니다. - + Automatic Resolution 자동 해상도 - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> 이 옵션을 선택하면 영상 캡처 해상도가 실행 중인 게임의 내부 해상도를 따릅니다.<br><br><b>특히 업스케일링 시, 이 설정을 사용할 때는 내부 해상도가 높으면(4배 이상) 영상 캡처 용량이 매우 커져 시스템 과부하가 발생할 수 있으므로 주의하세요.</b> - + Enable Extra Video Arguments 추가 영상 인수 활성화 - + Allows you to pass arguments to the selected video codec. 선택한 영상 코덱에 인수를 전달할 수 있습니다. - + Extra Video Arguments 추가 영상 인수 - + Audio Codec 음향 코덱 - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> 영상 캡처에 사용할 음향 코덱을 선택합니다. <b>잘 모르겠으면 기본값으로 둡니다.<b> - + Audio Bitrate 음향 비트 전송률 - + Enable Extra Audio Arguments 추가 음향 인수 활성화 - + Allows you to pass arguments to the selected audio codec. 선택한 음향 코덱에 인수를 전달할 수 있습니다. - + Extra Audio Arguments 추가 음향 인수 - + Allow Exclusive Fullscreen 전체 화면 전용 허용 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. 전체 화면 전용 또는 직접 플립/스캔아웃을 활성화하기 위한 드라이버의 휴리스틱을 재정의합니다.<br>전용 전체 화면을 허용하지 않으면 작업 전환 및 오버레이가 더 원활해질 수 있지만 입력 대기 시간이 늘어날 수 있습니다. - + 1.25x Native (~450px) 원본 1.25배(~450px) - + 1.5x Native (~540px) 원본 1.5배(~540px) - + 1.75x Native (~630px) 원본 1.75배(~630px) - + 2x Native (~720px/HD) 원본 2배(~720px/HD) - + 2.5x Native (~900px/HD+) 원본 2.5배(~900px/HD+) - + 3x Native (~1080px/FHD) 원본 3배(~1080px/FHD) - + 3.5x Native (~1260px) 원본 3.5배(~12600px) - + 4x Native (~1440px/QHD) 원본 4배(~1440px/QHD) - + 5x Native (~1800px/QHD+) 원본 5배(~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 원본 6배(~2160px/4K UHD) - + 7x Native (~2520px) 원본 7배(~2520px) - + 8x Native (~2880px/5K UHD) 원본 8배(~2880px/5K UHD) - + 9x Native (~3240px) 원본 9배(~3240px) - + 10x Native (~3600px/6K UHD) 원본 10배(~3600px/6K UHD) - + 11x Native (~3960px) 원본 11배(~3960px) - + 12x Native (~4320px/8K UHD) 원본 12배(~4320px/8K UHD) - + 13x Native (~4680px) 원본 13배(~4680px) - + 14x Native (~5040px) 원본 14배(~5040px) - + 15x Native (~5400px) 원본 15배(~5400px) - + 16x Native (~5760px) 원본 16배(~5760px) - + 17x Native (~6120px) 원본 17배(~6120px) - + 18x Native (~6480px/12K UHD) 원본 18배(~6480px/12K UHD) - + 19x Native (~6840px) 원본 19배(~6840px) - + 20x Native (~7200px) 원본 20배(~7200px) - + 21x Native (~7560px) 원본 21배(~7560px) - + 22x Native (~7920px) 원본 22배(~7920px) - + 23x Native (~8280px) 원본 23배(~8280px) - + 24x Native (~8640px/16K UHD) 원본 24배(~8640px/16K UHD) - + 25x Native (~9000px) 원본 25배(~9000px) - - + + %1x Native 원본 %1배 - - - - - - - - - + + + + + + + + + Checked 선택 - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 내부 흐림 방지 핵을 적용합니다. PS2 렌더링에 비해 정확도는 떨어지지만 많은 게임이 덜 흐릿하게 보입니다. - + Integer Scaling 정수 스케일링 - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. 호스트의 픽셀과 콘솔의 픽셀 사이의 비율이 정수가 되도록 화면 표시 영역에 패딩을 추가합니다. 일부 2D 게임에서 이미지가 더 선명해질 수 있습니다. - + Aspect Ratio 종횡비 - + Auto Standard (4:3/3:2 Progressive) 자동 표준(4:3/3:2 프로그레시브) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. 콘솔의 출력을 화면에 표시하는 데 사용되는 화면 비율을 변경합니다. 기본값은 자동 표준(4:3/3:2 프로그레시브)으로, 당시의 일반적인 TV에서 게임이 표시되는 방식에 맞게 화면비를 자동으로 조정합니다. - + Deinterlacing 인터레이스 제거 - + Screenshot Size 스크린샷 크기 - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. 스크린샷을 저장할 해상도를 결정합니다. 내부 해상도는 파일 크기를 희생하면서 더 많은 디테일을 보존합니다. - + Screenshot Format 스크린샷 형식 - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. 스크린샷을 저장하는 데 사용할 형식을 선택합니다. JPEG는 더 작은 파일을 생성하지만 디테일이 손실됩니다. - + Screenshot Quality 스크린샷 품질 - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. 스크린샷을 압축할 품질을 선택합니다. 값이 클수록 JPEG의 경우 더 많은 디테일을 보존하고 PNG의 경우 파일 크기를 줄입니다. - - + + 100% 100% - + Vertical Stretch 수직 스트레치 - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. 화면 표시 장치의 세로 구성 요소를 늘리거나(&lt; 100%) 찌그러뜨립니다(&gt; 100%). - + Fullscreen Mode 전체 화면 모드 - - - + + + Borderless Fullscreen 전체 창 화면 - + Chooses the fullscreen resolution and frequency. 전체 화면 해상도 및 주사율을 선택합니다. - + Left - - - - + + + + 0px 0픽셀 - + Changes the number of pixels cropped from the left side of the display. 화면 표시 장치 왼쪽에서 잘라낸 픽셀 수를 변경합니다. - + Top - + Changes the number of pixels cropped from the top of the display. 화면 표시 장치 상단에서 잘린 픽셀 수를 변경합니다. - + Right - + Changes the number of pixels cropped from the right side of the display. 화면 표시 장치 오른쪽에서 잘린 픽셀 수를 변경합니다. - + Bottom - + Changes the number of pixels cropped from the bottom of the display. 화면 표시 장치 하단에서 잘린 픽셀 수를 변경합니다. - - + + Native (PS2) (Default) PS2 원본(기본값) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. 게임이 렌더링되는 해상도를 제어합니다. 고해상도는 구형 또는 저사양 GPU의 성능에 영향을 줄 수 있습니다.<br>기본 해상도가 아닌 경우 일부 게임에서 사소한 그래픽 문제가 발생할 수 있습니다.<br>영상 파일이 사전 렌더링되므로 FMV 해상도는 변경되지 않습니다. - + Texture Filtering 텍스처 필터링 - + Trilinear Filtering 삼선형 필터링 - + Anisotropic Filtering 이방성 필터링 - + Reduces texture aliasing at extreme viewing angles. 극단적인 시야각에서 텍스처 앨리어싱을 줄입니다. - + Dithering 디더링 - + Blending Accuracy 혼합 정확도 - + Texture Preloading 텍스처 미리 불러오기 - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. 작은 조각이 아닌 전체 텍스처를 한 번에 등록하여 가능한 경우 중복 등록을 방지합니다. 대부분의 게임에서 성능을 향상시키지만 작은 선택의 경우 속도가 느려질 수 있습니다. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. 활성화하면 GPU가 컬러맵 텍스처를 변환하고, 그렇지 않으면 CPU가 변환합니다. 이는 GPU와 CPU 간의 절충안입니다. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. 이 옵션을 활성화하면 렌더러 및 게임 업스케일링 수정을 변경할 수 있습니다. 그러나 이 옵션을 활성화하면 자동 설정이 비활성화되며 이 옵션을 선택 취소하여 자동 설정을 다시 활성화할 수 있습니다. - + 2 threads 2 스레드 - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. 프레임버퍼가 입력 텍스처일 때 프리미티브 플러시를 강제합니다. Jak 시리즈의 그림자 및 GTA:SA의 방사성과 같은 일부 처리 효과를 수정합니다. - + Enables mipmapping, which some games require to render correctly. 일부 게임에서 올바르게 렌더링하는 데 필요한 밉매핑을 활성화합니다. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. CPU 스프라이트 렌더러를 활성화할 수 있는 최대 타깃 메모리 폭입니다. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. 게임에서 자체 색상 팔레트를 그리는 시점을 감지하여 GPU가 아닌 소프트웨어에서 렌더링합니다. - + GPU Target CLUT GPU 대상 CLUT - + Skipdraw Range Start 범위 시작 건너뛰기 - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. 왼쪽 상자의 서페이스에서 오른쪽 상자에 지정된 서페이스까지 서페이스 그리기를 완전히 건너뜁니다. - + Skipdraw Range End 범위 끝 건너뛰기 - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. 이 옵션은 여러 안전 기능을 비활성화합니다. 정확한 언스케일 포인트 및 라인 렌더링을 비활성화하여 제노사가 게임에 도움이 될 수 있습니다. 정확한 GS 메모리 지우기를 비활성화하여 CPU에서 수행하도록 하고 GPU가 처리하도록 하여 킹덤 하츠 게임에 도움이 될 수 있습니다. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. 새 프레임을 렌더링할 때, GS 데이터를 등록하여 일부 효과를 정확하게 재현합니다. - + Half Pixel Offset 하프 픽셀 오프세트 - + Might fix some misaligned fog, bloom, or blend effect. 정렬되지 않은 안개, 블룸 또는 블렌드 효과가 수정될 수 있습니다. - + Round Sprite 라운드 스프라이트 - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. 업스케일링 시 2D 스프라이트 텍스처의 표본화를 수정합니다. 업스케일링 시, Ar 토넬리코와 같은 게임 스프라이트의 선을 수정합니다. 하프 옵션은 평면 스프라이트에 풀 옵션은 모든 스프라이트에 적용됩니다. - + Texture Offsets X 텍스처 오프세트 X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. ST/UV 텍스처 좌표에 대한 오프세트입니다. 일부 이상한 텍스처 문제를 수정하고 일부 포스트 프로세싱 정렬도 수정할 수 있습니다. - + Texture Offsets Y 텍스처 오프세트 Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. 업스케일링 시 픽셀 간 간격을 피하기 위해 GS 정밀도를 낮춥니다. 와일드 암즈 게임의 텍스트를 수정합니다. - + Bilinear Upscale 쌍선형 업스케일 - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. 업스케일링 시 바이리니어 필터링으로 텍스처를 부드럽게 처리할 수 있습니다. 예 - 용감한 태양 눈부심. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. 여러 개의 페이빙 스프라이트를 하나의 팻 스프라이트로 포스트 프로세싱하는 것을 대체합니다. 다양한 업스케일링 라인을 줄입니다. - + Force palette texture draws to render at native resolution. 팔레트 텍스처가 기본 해상도로 렌더링되도록 강제 설정합니다. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx 대비 적응형 선명도 - + Sharpness 선명도 - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. 채도, 대비 및 밝기를 조정할 수 있습니다. 밝기, 채도 및 대비의 값은 기본값이 50입니다. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. FXAA 앤티 앨리어싱 알고리즘을 적용하여 게임의 시각적 품질을 개선합니다. - + Brightness 밝기 - - - + + + 50 50 - + Contrast 명암 - + TV Shader TV 셰이더 - + Applies a shader which replicates the visual effects of different styles of television set. 다양한 스타일의 텔레비전 세트의 시각 효과를 재현하는 셰이더를 적용합니다. - + OSD Scale 화면 표시 배율 - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. 저장 상태가 생성/불러오기 되거나 스크린샷이 찍히는 등의 이벤트가 발생하면 화면 화면 표시 장치에 메시지를 표시합니다. - + Shows the internal frame rate of the game in the top-right corner of the display. 화면 표시 장치 오른쪽 상단에 게임의 내부 프레임 속도를 표시합니다. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. 화면 표시 장치 오른쪽 상단에 시스템의 현재 에뮬레이션 속도를 백분율로 표시합니다. - + Shows the resolution of the game in the top-right corner of the display. 화면 표시 장치 오른쪽 상단에 게임의 해상도를 표시합니다. - + Shows host's CPU utilization. 호스트의 CPU 사용률을 표시합니다. - + Shows host's GPU utilization. 호스트의 GPU 사용률을 표시합니다. - + Shows counters for internal graphical utilization, useful for debugging. 디버깅에 유용한 내부 그래픽 사용량에 대한 카운터를 표시합니다. - + Shows the current controller state of the system in the bottom-left corner of the display. 화면 좌측 하단에 시스템의 현재 컨트롤러 상태를 표시합니다. - + Shows the current PCSX2 version on the top-right corner of the display. 화면 표시 장치 우측 상단에 현재 PCSX2 버전을 표시합니다. - + Shows the currently active video capture status. 현재 활성화된 영상 캡처 상태를 표시합니다. - + Shows the currently active input recording status. - 현재 활성화된 레코딩 입력 상태를 표시합니다. + 현재 활성화된 입력 레코딩 상태를 표시합니다. - + Displays warnings when settings are enabled which may break games. 게임을 중단시킬 수 있는 설정이 활성화된 경우 경고를 표시합니다. - - + + Leave It Blank 비워두기 - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" 선택한 영상 코덱에 전달되는 매개변수입니다.<br><b>'='를 사용해야 합니다. 키를 값과 ':'에서 분리합니다. 두 쌍을 서로 분리합니다.</b><br>예 : "crf = 21 : 사전 설정 = 매우빠름" - + Sets the audio bitrate to be used. 사용할 음향 비트 전송률을 설정합니다. - + 160 kbps 160Kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" 선택한 음향 코덱에 전달되는 매개변수입니다.<br><b>'='을 사용해야 합니다. 키를 값과 ':'에서 분리합니다. 두 쌍을 서로 분리합니다.</b><br>예 : "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS 덤프 압축 - + Change the compression algorithm used when creating a GS dump. GS 덤프를 생성할 때 사용되는 압축 알고리즘을 변경합니다. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit - Direct3D 11 렌더러를 사용할 때 플립 대신 블릿 프레젠테이션 모델을 사용합니다. 일반적으로 성능이 느려지지만 일부 스트리밍 응용프로그램이나 일부 시스템에서 프레임 속도를 제한 해제하는 데 필요할 수 있습니다. + Direct3D 11 렌더러를 사용할 때 플립 대신 블릿 프레젠테이션 모델을 사용합니다. 일반적으로 성능이 느려지지만 일부 스트리밍 앱이나 일부 시스템에서 프레임 속도를 제한 해제하는 데 필요할 수 있습니다. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. 25/30fps 게임에서 유휴 프레임이 표시되는 시점을 감지하고 해당 프레임 표시를 건너뜁니다. 프레임은 여전히 렌더링되며, GPU가 프레임을 완료할 시간이 더 많다는 의미일 뿐입니다(프레임 건너뛰기가 아님). CPU/GPU가 최대 활용률에 가까울 때 프레임 시간 변동을 완화할 수 있지만 프레임 속도가 더 일관되지 않고 입력 지연이 증가할 수 있습니다. - + Displays additional, very high upscaling multipliers dependent on GPU capability. GPU 성능에 따라 매우 높은 업스케일링 배수를 추가로 표시합니다. - + Enable Debug Device 디버그 장치 활성화 - + Enables API-level validation of graphics commands. 그래픽 명령의 API 수준 유효성 검사를 활성화합니다. - + GS Download Mode GS 내려받기 모드 - + Accurate 정확성 - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. GS 내려받기 시, GS 스레드 및 호스트 GPU와의 동기화를 건너뜁니다. 느린 시스템에서는 속도가 크게 향상될 수 있지만 그래픽 효과가 많이 손상될 수 있습니다. 게임이 깨지는데 이 옵션이 활성화되어 있다면 먼저 비활성화하세요. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. 기본값 - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. 사서함 표시에 대해 FIFO를 강제로 사용합니다. 즉, 삼중 버퍼링 대신 이중 버퍼링을 사용합니다. 일반적으로 프레임 속도가 저하됩니다. @@ -14103,7 +14162,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format 기본값 @@ -14320,254 +14379,254 @@ Swap chain: see Microsoft's Terminology Portal. 슬롯 {}에서 저장 상태를 찾을 수 없습니다. - - - + + - - - - + + + + - + + System 시스템 - + Open Pause Menu 일시 중지 메뉴 열기 - + Open Achievements List 도전 과제 목록 열기 - + Open Leaderboards List 순위표 목록 열기 - + Toggle Pause 일시 중지 적용/해제 - + Toggle Fullscreen 전체 화면 적용/해제 - + Toggle Frame Limit 프레임 제한 적용/해제 - + Toggle Turbo / Fast Forward 터보/빨리 감기 적용/해제 - + Toggle Slow Motion 슬로 모션 적용/해제 - + Turbo / Fast Forward (Hold) 터보/빨리 감기(보류) - + Increase Target Speed 목표 속도 증가 - + Decrease Target Speed 목표 속도 감소 - + Increase Volume 음량 높이기 - + Decrease Volume 음량 낮추기 - + Toggle Mute 음 소거 적용/해제 - + Frame Advance 프레임 어드밴스 - + Shut Down Virtual Machine 가상 머신 종료 - + Reset Virtual Machine 가상 머신 초기화 - + Toggle Input Recording Mode 입력 레코딩 모드 적용/해제 - - + + Save States 상태 저장 - + Select Previous Save Slot 이전 저장 슬롯 선택 - + Select Next Save Slot 다음 저장 슬롯 선택 - + Save State To Selected Slot 선택한 슬롯에 상태 저장 - + Load State From Selected Slot 선택한 슬롯에 상태 불러오기 - + Save State and Select Next Slot 상태 저장 및 다음 슬롯 선택 - + Select Next Slot and Save State 다음 슬롯을 선택하고 상태 저장 - + Save State To Slot 1 슬롯 1에 상태 저장 - + Load State From Slot 1 슬롯1에서 상태 불러오기 - + Save State To Slot 2 슬롯 2에 상태 저장 - + Load State From Slot 2 슬롯2에서 상태 불러오기 - + Save State To Slot 3 슬롯 3에 상태 저장 - + Load State From Slot 3 슬롯3에서 상태 불러오기 - + Save State To Slot 4 슬롯 4에 상태 저장 - + Load State From Slot 4 슬롯4에서 상태 불러오기 - + Save State To Slot 5 슬롯 5에 상태 저장 - + Load State From Slot 5 슬롯5에서 상태 불러오기 - + Save State To Slot 6 슬롯 6에 상태 저장 - + Load State From Slot 6 슬롯6에서 상태 불러오기 - + Save State To Slot 7 슬롯 7에 상태 저장 - + Load State From Slot 7 슬롯7에서 상태 불러오기 - + Save State To Slot 8 슬롯 8에 상태 저장 - + Load State From Slot 8 슬롯8에서 상태 불러오기 - + Save State To Slot 9 슬롯 9에 상태 저장 - + Load State From Slot 9 슬롯9에서 상태 불러오기 - + Save State To Slot 10 슬롯 10에 상태 저장 - + Load State From Slot 10 슬롯10에서 상태 불러오기 @@ -14587,7 +14646,7 @@ Swap chain: see Microsoft's Terminology Portal. {} Replaying - {} 다시보기 + {} 다시 보기 @@ -14781,12 +14840,12 @@ Right click to clear binding Replaying input recording - 입력 레코딩 재생 + 입력 레코딩 다시 보기 Input recording stopped - 입력 레코딩 중지 + 입력 레코딩이 중지됨 @@ -14806,12 +14865,12 @@ Right click to clear binding Record Mode Enabled - 레코드 모드 활성화 + 레코딩 모드 활성화 Replay Mode Enabled - 재생 모드 활성화 + 다시 보기 모드 활성화 @@ -14819,7 +14878,7 @@ Right click to clear binding Input Recording Viewer - 입력 기록 보기 + 입력 레코딩 보기 @@ -14959,7 +15018,7 @@ Right click to clear binding Opening Recording Failed - 기록 시작 실패 + 레코딩 시작 실패 @@ -15143,7 +15202,7 @@ Right click to clear binding Untouched Lagoon (Grayish Green/-Blue ) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - 손대지 않은 라군(연두/파랑) [라이트] + 때지 않은 라군(연두/파랑) [라이트] @@ -15275,7 +15334,7 @@ Right click to clear binding Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - 창을 최소화하거나 다른 응용프로그램으로 전환하면 에뮬레이터가 일시 중지되고 다시 전환하면 일시 중지가 해제됩니다. + 창을 최소화하거나 다른 앱으로 전환하면 에뮬레이터가 일시 중지되고 다시 전환하면 일시 중지가 해제됩니다. @@ -15443,594 +15502,608 @@ Right click to clear binding 시스템(&S) - - - + + Change Disc 디스크 교체 - - + Load State 상태 불러오기 - - Save State - 상태 저장 - - - + S&ettings 설정(&E) - + &Help 도움말(&H) - + &Debug 디버그(&D) - - Switch Renderer - 렌더러 전환 - - - + &View 보기(&V) - + &Window Size 창 크기(&W) - + &Tools 도구(&T) - - Input Recording - 입력 레코딩 - - - + Toolbar 도구 모음 - + Start &File... 파일 실행(&F)... - - Start &Disc... - 디스크 실행(&D)... - - - + Start &BIOS 바이오스 실행(&B) - + &Scan For New Games 새로운 게임 찾기(&S) - + &Rescan All Games 모든 게임 재검색(&R) - + Shut &Down 시스템 종료(&D) - + Shut Down &Without Saving 저장하지 않고 종료하기(&W) - + &Reset 초기화(&R) - + &Pause 일시 중지(&P) - + E&xit 종료(&E) - + &BIOS 바이오스(&B) - - Emulation - 에뮬레이션 - - - + &Controllers 컨트롤러(&C) - + &Hotkeys 단축키(&H) - + &Graphics 그래픽(&G) - - A&chievements - 도전 과제(&C) - - - + &Post-Processing Settings... 후처리 설정(&P)... - - Fullscreen - 전체 화면 - - - + Resolution Scale 해상도 배율 - + &GitHub Repository... &Github 저장소... - + Support &Forums... 지원 포럼(&F)... - + &Discord Server... 디스코드 서버(&D) - + Check for &Updates... 업데이트 확인(&U)... - + About &Qt... &Qt 정보 - + &About PCSX2... PCSX2 정보(&A)... - + Fullscreen In Toolbar 전체 화면 - + Change Disc... In Toolbar 디스크 교체... - + &Audio 음성(&A) - - Game List - 게임 목록 - - - - Interface - 인터페이스 + + Global State + 전역 상태 - - Add Game Directory... - 게임 디렉터리 추가... + + &Screenshot + 스크린샷(&S) - - &Settings - 설정(&S) + + Start File + In Toolbar + 파일 실행 - - From File... - 파일에서... + + &Change Disc + 디스크 변경(&C) - - From Device... - 장치에서... + + &Load State + 상태 불러오기(&L) - - From Game List... - 게임 목록에서... + + Sa&ve State + 상태 저장(&V) - - Remove Disc - 디스크 꺼내기 + + Setti&ngs + 설정(&N) - - Global State - 전역 상태 + + &Switch Renderer + 렌더러 전환(&S) - - &Screenshot - 스크린샷(&S) + + &Input Recording + 입력 레코딩(&I) - - Start File - In Toolbar - 파일 실행 + + Start D&isc... + 디스크 실행(&I)... - + Start Disc In Toolbar 디스크 실행 - + Start BIOS In Toolbar 바이오스 실행 - + Shut Down In Toolbar 시스템 종료 - + Reset In Toolbar 초기화 - + Pause In Toolbar 일시 중지 - + Load State In Toolbar 상태 불러오기 - + Save State In Toolbar 상태 저장 - + + &Emulation + 에뮬레이션(&E) + + + Controllers In Toolbar 컨트롤러 - + + Achie&vements + 도전 과제(&V) + + + + &Fullscreen + 전체 화면(&F) + + + + &Interface + 인터페이스(&I) + + + + Add Game &Directory... + 게임 디렉터리 추가(&D)... + + + Settings In Toolbar 설정 - + + &From File... + 파일로부터(&F)... + + + + From &Device... + 장치로부터(&D)... + + + + From &Game List... + 게임 목록에서(&G)... + + + + &Remove Disc + 디스크 꺼내기(&R) + + + Screenshot In Toolbar 스크린샷 - + &Memory Cards 메모리 카드(&M) - + &Network && HDD 네트워크 && HDD(&N) - + &Folders 폴더(&F) - + &Toolbar 도구 모음(&T) - - Lock Toolbar - 도구 모음 잠그기 + + Show Titl&es (Grid View) + 그리드뷰 | 타이틀 표시(&E) - - &Status Bar - 상태 표시줄(&S) + + &Open Data Directory... + 데이터 디렉터리 열기(&O)... - - Verbose Status - 상세 상태 + + &Toggle Software Rendering + 소프트웨어 렌더링 적용/해제(&T) - - Game &List - 게임 목록(&L) + + &Open Debugger + 디버거 열기(&O) - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - 시스템 표시(&D) + + &Reload Cheats/Patches + 치트/패치 다시 불러오기(&R) - - Game &Properties - 게임 등록 정보(&P) + + E&nable System Console + 시스템 콘솔 활성화(&N) - - Game &Grid - 게임 그리드(&G) + + Enable &Debug Console + 디버그 콘솔 활성화(&D) - - Show Titles (Grid View) - 그리드뷰 | 타이틀 표시 + + Enable &Log Window + 로그 창 활성화(&L) - - Zoom &In (Grid View) - 그리드뷰 | 확대(&I) + + Enable &Verbose Logging + 자세한 정보 기록 활성화(&V) - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + EE 콘솔 기록 활성화(&L) - - Zoom &Out (Grid View) - 그리드뷰 | 축소(&O) + + Enable &IOP Console Logging + IOP 콘솔 로깅 활성화(&I) - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + 단일 프레임 GS 덤프 저장(&G) - - Refresh &Covers (Grid View) - 그리드뷰 | 표지 새로 고침(&C) + + &New + This section refers to the Input Recording submenu. + 새로 만들기(&N) - - Open Memory Card Directory... - 메모리 카드 디렉터리 열기... + + &Play + This section refers to the Input Recording submenu. + 실행(&P) - - Open Data Directory... - 데이터 디렉터리 열기... + + &Stop + This section refers to the Input Recording submenu. + 중지(&S) - - Toggle Software Rendering - 소프트웨어 렌더링 적용/해제 + + &Controller Logs + 컨트롤러 로그(&C) - - Open Debugger - 디버거 열기 + + &Input Recording Logs + 입력 레코딩 로그(&I) - - Reload Cheats/Patches - 치트/패치 다시 불러오기 + + Enable &CDVD Read Logging + CD/DVD 읽기 로그 기록 활성화(&C) - - Enable System Console - 시스템 콘솔 활성화 + + Save CDVD &Block Dump + CD/DVD 블록 덤프 저장(&B) - - Enable Debug Console - 디버그 콘솔 활성화 + + &Enable Log Timestamps + 로그 타임스탬프 활성화(&E) - - Enable Log Window - 로그 창 활성화 + + Start Big Picture &Mode + Big Picture 모드 시작(&M) - - Enable Verbose Logging - 상세 로그 기록 활성화 + + &Cover Downloader... + 커버 내려받기(&C)... - - Enable EE Console Logging - EE 콘솔 로그 기록 활성화 + + &Show Advanced Settings + 고급 설정 표시(&S) - - Enable IOP Console Logging - IOP 콘솔 로그 기록 활성화 + + &Recording Viewer + 레코딩 보기(&R) - - Save Single Frame GS Dump - 단일 프레임 GS 덤프 저장 + + &Video Capture + 영상 캡처(&V) - - New - This section refers to the Input Recording submenu. - 새로 만들기 + + &Edit Cheats... + 치트 편집(&E)... - - Play - This section refers to the Input Recording submenu. - 재생 + + Edit &Patches... + 패치 편집(&p)... - - Stop - This section refers to the Input Recording submenu. - 중지 + + &Status Bar + 상태 표시줄(&S) - - Settings - This section refers to the Input Recording submenu. - 설정 + + + Game &List + 게임 목록(&L) - - - Input Recording Logs - 입력 레코딩 기록 + + Loc&k Toolbar + 도구 모음 잠그기(&K) - - Controller Logs - 컨트롤러 기록 + + &Verbose Status + 자세한 상태(&V) - - Enable &File Logging - 파일 로그 기록 활성화(&F) + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + 시스템 표시(&D) - - Enable CDVD Read Logging - CD/DVD 읽기 로그 기록 활성화 + + Game &Properties + 게임 등록 정보(&P) - - Save CDVD Block Dump - CD/DVD 블록 덤프 저장 + + Game &Grid + 게임 그리드(&G) - - Enable Log Timestamps - 로그 타임스탬프 활성화 + + Zoom &In (Grid View) + 그리드뷰 | 확대(&I) - - - Start Big Picture Mode - 빅픽처 모드 시작 + + Ctrl++ + Ctrl++ - - - Big Picture - In Toolbar - 빅피처 + + Zoom &Out (Grid View) + 그리드뷰 | 축소(&O) - - Cover Downloader... - 표지 내려받기... + + Ctrl+- + Ctrl+- - - - Show Advanced Settings - 고급 설정 표시 + + Refresh &Covers (Grid View) + 그리드뷰 | 표지 새로 고침(&C) - - Recording Viewer - 레코딩 뷰어 + + Open Memory Card Directory... + 메모리 카드 디렉터리 열기... - - - Video Capture - 영상 캡처 + + Input Recording Logs + 입력 레코딩 로그 + + + + Enable &File Logging + 파일 로그 기록 활성화(&F) + + + + Start Big Picture Mode + Big Picture 모드 시작 + + + + + Big Picture + In Toolbar + Big Picture - - Edit Cheats... - 치트 편집... + + Show Advanced Settings + 고급 설정 표시 - - Edit Patches... - 패치 편집... + + Video Capture + 영상 캡처 - + Internal Resolution 내부 해상도 - + %1x Scale %1배율 - + Select location to save block dump: 블록 덤프를 저장할 위치 선택 : - + Do not show again 다시 표시하지 않음 - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16043,297 +16116,297 @@ Are you sure you want to continue? 계속 진행하시겠습니까? - + %1 Files (*.%2) %1 파일(*.%2) - + WARNING: Memory Card Busy 경고 : 메모리 카드 사용 중 - + Confirm Shutdown 시스템 종료 확인 - + Are you sure you want to shut down the virtual machine? 가상 머신을 종료하시겠습니까? - + Save State For Resume 다시 시작을 위해 상태 저장 - - - - - - + + + + + + Error 오류 - + You must select a disc to change discs. 디스크를 교체하려면 디스크를 선택해야 합니다. - + Properties... 속성... - + Set Cover Image... 표지 이미지 설정... - + Exclude From List 목록에서 제외 - + Reset Play Time 플레이 시간 초기화 - + Check Wiki Page 위키 페이지 확인 - + Default Boot 기본 부팅 - + Fast Boot 고속 부팅 - + Full Boot 풀 부팅 - + Boot and Debug 부팅 및 디버그 - + Add Search Directory... 검색 디렉터리 추가... - + Start File 파일 실행 - + Start Disc 디스크 실행 - + Select Disc Image 디스크 경로 선택 - + Updater Error 업데이터 오류 - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>죄송합니다, 공식 GitHub 릴리스가 아닌 PCSX2 버전을 업데이트하려고 합니다. 호환성 문제를 방지하기 위해 자동 업데이터는 공식 빌드에서만 활성화됩니다.</p><p>공식 빌드를 받으려면 아래 링크에서 내려받기 :</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. 현재 플랫폼에서는 자동 업데이트가 지원되지 않습니다. - + Confirm File Creation 파일 생성 확인 - + The pnach file '%1' does not currently exist. Do you want to create it? pnach 파일 '%1'이(가) 현재 존재하지 않습니다. 생성하시겠습니까? - + Failed to create '%1'. '%1' 생성 실패 - + Theme Change - 테마 변경 + 모드 변경 - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - 테마를 변경하면 디버거 창이 닫힙니다. 저장되지 않은 데이터는 손실됩니다. 계속하시겠습니까? + 모드를 변경하면 디버거 창이 닫힙니다. 저장되지 않은 데이터는 손실됩니다. 계속하시겠습니까? - + Input Recording Failed 입력 레코딩 실패 - + Failed to create file: {} 파일 생성 실패 : {} - + Input Recording Files (*.p2m2) 입력 레코딩 파일(*.p2m2) - + Input Playback Failed 입력 재생 실패 - + Failed to open file: {} 파일 열기 실패 : {} - + Paused 일시 중지 - + Load State Failed 상태 불러오기 실패 - + Cannot load a save state without a running VM. 실행 중인 VM이 없으면 저장 상태를 불러올 수 없습니다. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? 새 ELF를 불러오려면 가상 머신 초기화가 필요합니다. 지금 초기화하시겠습니까? - + Cannot change from game to GS dump without shutting down first. 게임으로부터 GS 덤프를 변경하려면 종료해야 합니다. - + Failed to get window info from widget 위젯에서 창 정보를 가져오는 데 실패했습니다. - + Stop Big Picture Mode - 빅픽처 모드 중지 + Big Picture 모드 중지 - + Exit Big Picture In Toolbar - 빅픽처 종료 + Big Picture 종료 - + Game Properties 게임 등록 정보 - + Game properties is unavailable for the current game. 현재 게임에서는 게임 등록 정보를 사용할 수 없습니다. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. ODD 장치를 찾을 수 없습니다. 드라이브가 연결되어 있는지 혹은 드라이브에 액세스할 수 있는 충분한 권한이 있는지 확인하십시오. - + Select disc drive: 디스크 드라이브 선택 : - + This save state does not exist. 이 상태 저장이 존재하지 않습니다. - + Select Cover Image 표지 이미지 선택 - + Cover Already Exists 이미 존재하는 표지 - + A cover image for this game already exists, do you wish to replace it? 이 게임의 표지 이미지가 이미 존재하는데 교체하시겠습니까? - + + - Copy Error 복사 오류 - + Failed to remove existing cover '%1' 기존 표지 제거 실패 '%1' - + Failed to copy '%1' to '%2' '%1'을(를) '%2'에 복사하지 못했습니다; - + Failed to remove '%1' '%1' 제거 실패 - - + + Confirm Reset 재설정 확인 - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) 모든 표지 이미지 유형(*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. 현재 표지 이미지와 다른 파일을 선택하여 주십시오. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16342,12 +16415,12 @@ This action cannot be undone. 이 작업은 취소할 수 없습니다. - + Load Resume State 상태 이력 불러오기 - + A resume save state was found for this game, saved at: %1. @@ -16360,89 +16433,89 @@ Do you want to load this state, or start from a fresh boot? 이 상태를 불러오시겠습니까, 아니면 새로 시작하시겠습니까? - + Fresh Boot 새로 시작 - + Delete And Boot 삭제 및 부트 - + Failed to delete save state file '%1'. 상태 저장 파일 '%1'을(를) 삭제하지 못했습니다. - + Load State File... 상태 파일 불러오기... - + Load From File... 파일로부터 불러오기... - - + + Select Save State File 상태 저장 파일 선택 - + Save States (*.p2s) 상태 저장(*.p2s) - + Delete Save States... 상태 저장 삭제... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) 모든 파일 유형(*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;싱글 트랙 원시 이미지(*.bin *.iso);;큐 시트(*.cue);;미디어 디스크립터 파일(*. mdf);;MAME CHD 이미지(*.chd);;CSO 이미지(*.cso);;ZSO 이미지(*.zso);;GZ 이미지(*.gz);;ELF 실행 파일(*.elf);;IRX 실행 파일(*.irx);;GS 덤프(*.gs *.gs.xz *.gs.zst);;블록 덤프(*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) 모든 파일 유형(*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;싱글 트랙 원시 이미지(*.bin *.iso);;큐시트(*. cue);;미디어 디스크립터 파일(*.mdf);;MAME CHD 이미지(*.chd);;CSO 이미지(*.cso);;ZSO 이미지(*.zso);;GZ 이미지(*.gz);;블록 덤프(*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> 경고 : 메모리 카드가 아직 데이터를 쓰고 있습니다. 지금 종료하면 메모리 카드가 비가역적으로 손상됩니다.<b>게임을 다시 시작하고 메모리 카드에 쓰기가 완료될 때까지 기다리는 것이 좋습니다.<br><br>그래도 게임을 종료하고 <b>메모리 카드를 영구적으로 삭제하시겠습니까?</b> - + Save States (*.p2s *.p2s.backup) 상태 저장(*.p2s *.p2s.backup) - + Undo Load State 상태 불러오기 취소 - + Resume (%2) 재개(%2) - + Load Slot %1 (%2) 슬롯 불러오기 %1(%2) - - + + Delete Save States 상태 저장 삭제 - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16451,42 +16524,42 @@ The saves will not be recoverable. 저장된 내용은 복구할 수 없습니다. - + %1 save states deleted. %1 상태 저장이 삭제되었습니다. - + Save To File... 파일에 저장... - + Empty 비어 있음 - + Save Slot %1 (%2) 슬롯 저장 %1(%2) - + Confirm Disc Change 디스크 교체 확인 - + Do you want to swap discs or boot the new image (via system reset)? 디스크를 교체하거나 시스템 재설정을 통해 새 이미지로 다시 시작하시겠습니까? - + Swap Disc 디스크 교체 - + Reset 초기화 @@ -16498,7 +16571,7 @@ The saves will not be recoverable. The font file '%1' is required for the On-Screen Display and Big Picture Mode to show messages in your language.<br><br>Do you want to download this file now? These files are usually less than 10 megabytes in size.<br><br><strong>If you do not download this file, on-screen messages will not be readable.</strong> - 화면 표시 및 큰 그림 모드에서 사용자 언어로 메시지를 표시하려면 '%1' 글꼴 파일이 필요합니다.<br><br>지금 이 파일을 내려받으시겠습니까? 이 파일은 일반적으로 크기가 10MB 미만입니다.<br><br><strong>이 파일을 내려지 않으면 화면에 표시된 메시지를 읽을 수 없습니다.</strong> + 화면 표시 및 Big Picture 모드에서 사용자 언어로 메시지를 표시하려면 '%1' 글꼴 파일이 필요합니다.<br><br>지금 이 파일을 내려받으시겠습니까? 이 파일은 일반적으로 크기가 10MB 미만입니다.<br><br><strong>이 파일을 내려지 않으면 화면에 표시된 메시지를 읽을 수 없습니다.</strong> @@ -16509,25 +16582,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed 메모리 카드 생성 실패 - + Could not create the memory card: {} 메모리 카드를 만들 수 없음 : {} - + Memory Card Read Failed 메모리 카드 읽기 실패 - + Unable to access memory card: {} @@ -16543,28 +16616,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. 메모리 카드 '{}'가 저장소에 저장되었습니다. - + Failed to create memory card. The error was: {} 메모리 카드를 만들 수 없음. 오류 : {} - + Memory Cards reinserted. 메모리 카드가 다시 삽입되었습니다. - + Force ejecting all Memory Cards. Reinserting in 1 second. 모든 메모리 카드를 강제로 사출합니다. 1초 후에 다시 삽입합니다. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + 가상 콘솔이 메모리 카드에 꽤 오랫동안 저장되지 않았습니다. 게임 내 저장 대신 상태 저장을 사용해서는 안됩니다. + MemoryCardConvertDialog @@ -17354,7 +17432,7 @@ This action cannot be reversed, and you will lose any saves on the card.메모리 보기로 이동 - + Cannot Go To 이동할 수 없음 @@ -18194,12 +18272,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. {}을(를) 열지 못했습니다. 기본 제공 게임 패치를 사용할 수 없습니다. - + %n GameDB patches are active. OSD Message @@ -18207,7 +18285,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18215,7 +18293,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18223,7 +18301,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. 치트나 패치(와이드스크린, 호환성 또는 기타)가 발견되거나 활성화되지 않았습니다. @@ -18324,47 +18402,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA : %1(%2점, 소프트코어 : %3점)로 로그인했습니다. 읽지 않은 메시지가 %4개 있습니다. - - + + Error 오류 - + An error occurred while deleting empty game settings: {} 빈 게임 설정을 삭제하는 중, 오류 발생 : {} - + An error occurred while saving game settings: {} 게임 설정을 저장하는 중, 오류 발생 : {} - + Controller {} connected. 컨트롤러 {}가 연결되었습니다. - + System paused because controller {} was disconnected. 컨트롤러 {}의 연결이 끊어져서 시스템이 일시 중지되었습니다. - + Controller {} disconnected. 컨트롤러 {}의 연결이 끊어졌습니다. - + Cancel 취소 @@ -18497,7 +18575,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18798,7 +18876,7 @@ Do you want to create this directory? <strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. <strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large amounts of disk space. - <strong>디버그 설정</strong><hr>응용프로그램에 대한 내부 정보를 기록하는 데 사용할 수 있는 옵션입니다. 이 옵션을 수정하면 속도가 크게 느려지고 디스크 공간을 많이 낭비할 수 있으므로 <strong>잘 모르는 경우 수정하지 마세요</strong>. + <strong>디버그 설정</strong><hr>앱에 대한 내부 정보를 기록하는 데 사용할 수 있는 옵션입니다. 이 옵션을 수정하면 속도가 크게 느려지고 디스크 공간을 많이 낭비할 수 있으므로 <strong>잘 모르는 경우 수정하지 마세요</strong>. @@ -18892,7 +18970,7 @@ Do you want to continue? Theme: - 테마 : + 모드 : @@ -18973,7 +19051,7 @@ Do you want to continue? <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> - <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">PCSX2에 오신 것을 환영합니다!</span></h1><p>이 마법사는 응용 프로그램을 사용하는 데 필요한 구성 단계를 안내하는 데 도움이 됩니다. PCSX2를 처음 설치하는 경우 <a href="https://pcsx2.net/docs/">여기</a>.</p><p>에서 설치 가이드를 확인하는 것이 좋습니다. 기본적으로 PCSX2는 <a href="https://pcsx2.net/">pcsx2.net</a>에서 서버에 연결됩니다. 업데이트를 확인하고, 사용 가능하고 확인된 경우 <a href="https://github.com/">github.com</a>에서 업데이트 패키지를 다운로드하세요. PCSX2가 시작 시 네트워크 연결을 설정하지 않도록 하려면 지금 자동 업데이트 옵션을 선택 취소해야 합니다. 자동 업데이트 설정은 나중에 인터페이스 설정에서 언제든지 변경할 수 있습니다.</p><p>시작하려면 언어와 테마를 선택하세요.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">PCSX2에 오신 것을 환영합니다!</span></h1><p>이 마법사는 앱을 사용하는 데 필요한 구성 단계를 안내하는 데 도움이 됩니다. PCSX2를 처음 설치하는 경우 <a href="https://pcsx2.net/docs/">여기</a>.</p><p>에서 설치 가이드를 확인하는 것이 좋습니다. 기본적으로 PCSX2는 <a href="https://pcsx2.net/">pcsx2.net</a>에서 서버에 연결됩니다. 업데이트를 확인하고, 사용 가능하고 확인된 경우 <a href="https://github.com/">github.com</a>에서 업데이트 패키지를 다운로드하세요. PCSX2가 시작 시 네트워크 연결을 설정하지 않도록 하려면 지금 자동 업데이트 옵션을 선택 취소해야 합니다. 자동 업데이트 설정은 나중에 인터페이스 설정에서 언제든지 변경할 수 있습니다.</p><p>시작하려면 언어와 테마를 선택하세요.</p></body></html> @@ -19018,7 +19096,7 @@ Do you want to continue? <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using PCSX2.</p></body></html> - <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">설치 완!</span></h1><p>이제 게임을 실행할 준비가 되었습니다.</p><p>설정 메뉴에서 추가 옵션을 사용할 수 있습니다. 빅 픽처 UI를 사용하여 게임패드로만 탐색할 수도 있습니다.</p><p>PCSX2를 즐겁게 사용하시길 바랍니다.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">설치 완료!</span></h1><p>이제 게임을 실행할 준비가 되었습니다.</p><p>설정 메뉴에서 추가 옵션을 사용할 수 있습니다. Big Picture UI를 사용하여 게임패드로만 탐색할 수도 있습니다.</p><p>PCSX2를 즐겁게 사용하시길 바랍니다.</p></body></html> @@ -21710,42 +21788,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. 이전 저장 상태 {}을(를) 백업하지 못했습니다. - + Failed to save save state: {}. 저장 상태 저장 실패 : {}. - + PS2 BIOS ({}) PS2 바이오스({}) - + Unknown Game 알 수 없는 게임 - + CDVD precaching was cancelled. - CDVD 사전 캐싱이 취소되었습니다. + CD/DVD 사전 캐싱이 취소되었습니다. - + CDVD precaching failed: {} - CDVD 사전 캐싱 실패 : {} + CD/DVD 사전 캐싱 실패 : {} - + Error 오류 - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21762,272 +21840,272 @@ Please consult the FAQs and Guides for further instructions. 자세한 지침은 FAQ 및 가이드를 참조하세요. - + Resuming state 상태 재개 - + Boot and Debug 부팅 및 디버그 - + Failed to load save state 상태 저장 불러오기 실패 - + State saved to slot {}. 슬롯 {}에 상태가 저장되었습니다. - + Failed to save save state to slot {}. 슬롯 {}에 저장 상태를 저장하지 못했습니다. - - + + Loading state 상태 불러오기 - + Failed to load state (Memory card is busy) 불러오지 못한 상태(메모리 카드 사용 중) - + There is no save state in slot {}. 슬롯 {}에 상태 저장이 없습니다. - + Failed to load state from slot {} (Memory card is busy) 슬롯 {}에서 상태를 불러오지 못했습니다(메모리 카드 사용 중). - + Loading state from slot {}... 슬롯 {}에서 상태 볼러오기... - + Failed to save state (Memory card is busy) 저장하지 못한 상태(메모리 카드 사용 중) - + Failed to save state to slot {} (Memory card is busy) 슬롯 {}에서 상태를 저장하지 못했습니다(메모리 카드 사용 중). - + Saving state to slot {}... 슬롯 {}에 상태 저장... - + Frame advancing 프레임 앞으로 - + Disc removed. 디스크가 제거되었습니다. - + Disc changed to '{}'. 디스크가 '{}'로 교체되었습니다. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} 새 디스크 이미지를 열지 못했습니다 '{}'. 이전 이미지로 되돌립니다. 오류 발생 : {} - + Failed to switch back to old disc image. Removing disc. Error was: {} 이전 디스크 이미지로 다시 전환하지 못했습니다. 디스크 제거 중입니다. 오류 발생 : {} - + Cheats have been disabled due to achievements hardcore mode. 도전 과제 하드코어 모드로 인해 치트가 비활성화되었습니다. - + Fast CDVD is enabled, this may break games. 고속 CD/DVD를 활성화하면 게임이 중단될 수 있습니다. - + Cycle rate/skip is not at default, this may crash or make games run too slow. 주기율/스킵을 기본값으로 설정하지 않으면 게임이 충돌하거나 너무 느리게 실행될 수 있습니다. - + Upscale multiplier is below native, this will break rendering. 업스케일 배수가 원본보다 낮으면 렌더링이 중단됩니다. - + Mipmapping is disabled. This may break rendering in some games. 밉매핑이 비활성화되었습니다. 이로 인해 일부 게임에서는 렌더링이 중단될 수 있습니다. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. 렌더러가 자동으로 설정되지 않았습니다. 이로 인해 성능 문제 및 그래픽 문제가 발생할 수 있습니다. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. 텍스처 필터링이 쌍선형(PS2)으로 설정되어 있지 않습니다. 일부 게임에서 렌더링이 중단될 수 있습니다. - + No Game Running 게임이 실행되지 않음 - + Trilinear filtering is not set to automatic. This may break rendering in some games. 삼선형 필터링이 자동으로 설정되어 있지 않습니다. 일부 게임에서 렌더링이 중단될 수 있습니다. - + Blending Accuracy is below Basic, this may break effects in some games. 혼합 정확도가 기본보다 낮아 일부 게임에서는 효과가 깨질 수 있습니다. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. 하드웨어 내려받기 모드가 정확으로 설정되어 있지 않으면 일부 게임에서 렌더링이 중단될 수 있습니다. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU 라운드 모드가 기본값으로 설정되어 있지 않으면 일부 게임이 중단될 수 있습니다. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU 클램프 모드가 기본값으로 설정되어 있지 않으면 일부 게임이 중단될 수 있습니다. - + VU0 Round Mode is not set to default, this may break some games. VU0 라운드 모드가 기본값으로 설정되어 있지 않으면 일부 게임이 중단될 수 있습니다. - + VU1 Round Mode is not set to default, this may break some games. VU1 라운드 모드가 기본값으로 설정되어 있지 않으면 일부 게임이 중단될 수 있습니다. - + VU Clamp Mode is not set to default, this may break some games. VU 클램프 모드가 기본값으로 설정되어 있지 않으면 일부 게임이 중단될 수 있습니다. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM이 활성화되었습니다. 일부 게임과의 호환성에 영향을 미칠 수 있습니다. - + Game Fixes are not enabled. Compatibility with some games may be affected. 게임 수정이 활성화되지 않았습니다. 일부 게임과의 호환성이 영향을 받을 수 있습니다. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. 호환성 패치가 활성화되지 않았습니다. 일부 게임과의 호환성이 영향을 받을 수 있습니다. - + Frame rate for NTSC is not default. This may break some games. NTSC의 프레임 속도는 기본값이 아닙니다. 이로 인해 일부 게임이 중단될 수 있습니다. - + Frame rate for PAL is not default. This may break some games. PAL의 프레임 속도는 기본값이 아닙니다. 이로 인해 일부 게임이 중단될 수 있습니다. - + EE Recompiler is not enabled, this will significantly reduce performance. EE 리컴파일러가 활성화되어 있지 않으면 성능이 크게 저하됩니다. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 리컴파일러를 활성화하지 않으면 성능이 크게 저하됩니다. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 리컴파일러를 활성화하지 않으면 성능이 크게 저하됩니다. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP 리컴파일러가 활성화되어 있지 않으면 성능이 크게 저하됩니다. - + EE Cache is enabled, this will significantly reduce performance. EE 캐시를 활성화하면 성능이 크게 저하됩니다. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE 대기 루프 감지가 활성화되어 있지 않으면 성능이 저하될 수 있습니다. - + INTC Spin Detection is not enabled, this may reduce performance. INTC 회전 감지가 활성화되어 있지 않으면 성능이 저하될 수 있습니다. - + Fastmem is not enabled, this will reduce performance. 패스트멤을 사용하지 않으면 성능이 저하됩니다. - + Instant VU1 is disabled, this may reduce performance. 인스턴트 VU1을 비활성화하면 성능이 저하될 수 있습니다. - + mVU Flag Hack is not enabled, this may reduce performance. mVU 플래그 핵이 활성화되어 있지 않으면 성능이 저하될 수 있습니다. - + GPU Palette Conversion is enabled, this may reduce performance. GPU 팔레트 변환이 활성화되어 있으면 성능이 저하될 수 있습니다. - + Texture Preloading is not Full, this may reduce performance. 미리 불러온 텍스처가 전체가 아니므로 성능이 저하될 수 있습니다. - + Estimate texture region is enabled, this may reduce performance. 텍스처 영역 예상이 활성화되어 있으면 성능이 저하될 수 있습니다. - + Texture dumping is enabled, this will continually dump textures to disk. 텍스처 덤핑이 활성화되면 지속적으로 텍스처를 디스크에 덤프합니다. diff --git a/pcsx2-qt/Translations/pcsx2-qt_lt-LT.ts b/pcsx2-qt/Translations/pcsx2-qt_lt-LT.ts index 0169221a86fa3..9088dc33e22d3 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_lt-LT.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_lt-LT.ts @@ -741,307 +741,318 @@ Lyderių lentelės pozicija: {1} iš {2} Naudoti bendra nustatymą [%1] - + Rounding Mode Apvalinimo režimas - - - + + + Chop/Zero (Default) Pjovimas/Nulis (Numatytasis) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Artimiausias (Numatytasis) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Suspaudimo režimas - - - + + + Normal (Default) Normalus (Numatytas) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Įjungti rekompilatorių - + - - - + + + - + - - - - + + + + + Checked Pažymėta - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Laukimo kilpos aptikimas - + Moderate speedup for some games, with no known side effects. Vidutinis pagreitėjimas kai kuriuose žaidimuose, be jokio žinomo šalutinio poveikio. - + Enable Cache (Slow) Įjungti Podėliavimą (Lėtas) - - - - + + + + Unchecked Nepažymėta - + Interpreter only, provided for diagnostic. Tik interpreteratorius, skirtas diagnostikai. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Milžiniškas kai kurių žaidimų pagreitinimas ir beveik jokio suderinamumo poveikio. - + Enable Fast Memory Access Įjungti greita prieiga prie atminties - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Uses backpatching to avoid register flushing on every memory access. - + Pause On TLB Miss Pauzė dėl TLB praleidimo - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. - + Enable 128MB RAM (Dev Console) Įjungti 128MB Atmintį (Kūrėjų Konsolė) - + Exposes an additional 96MB of memory to the virtual machine. Atskleidžiami Papildomi 96MB Atminties Virtualiai Mašinai. - + VU0 Rounding Mode VU0 Apvalinimo režimas - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Apvalinimo režimas - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Suspaudimo režimas - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Suspaudimo režimas - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Įjungti VU0 rekompilatorių (mikro režimas) - + Enables VU0 Recompiler. Įjungia VU0 rekompilatorių. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Įjungti VU1 rekompilatorių - + Enables VU1 Recompiler. Įjungia VU1 rekompilatorių. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU vėliavos hackas - + Good speedup and high compatibility, may cause graphical errors. Geras spartinimas ir didelis suderinamumas, gali sukelti grafinių klaidų. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. - + Enable Game Fixes Įjungti žaidimų pataisymus - + Automatically loads and applies fixes to known problematic games on game start. Pradėjus žaidimą, automatiškai įkeliami žinomi probleminiai žaidimai ir taikomi pataisymai. - + Enable Compatibility Patches Įjunkti suderinamumo pataisymus - + Automatically loads and applies compatibility patches to known problematic games. Automatiškai įkelia ir pritaiko suderinamumo pataisymus žinomiems probleminiams žaidimams. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1264,29 +1275,29 @@ Lyderių lentelės pozicija: {1} iš {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Kadrų greičio valdymas - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL kadrų greitis: - + NTSC Frame Rate: NTSC kadrų greitis: @@ -1301,7 +1312,7 @@ Lyderių lentelės pozicija: {1} iš {2} Compression Level: - + Compression Method: Compression Method: @@ -1346,17 +1357,22 @@ Lyderių lentelės pozicija: {1} iš {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE nustatymai - + Slot: Slotas: - + Enable Įjungti @@ -1877,8 +1893,8 @@ Lyderių lentelės pozicija: {1} iš {2} AutoUpdaterDialog - - + + Automatic Updater Automatiniai naujinimai @@ -1918,68 +1934,68 @@ Lyderių lentelės pozicija: {1} iš {2} Priminti man vėliau - - + + Updater Error Atnaujinimo klaida - + <h2>Changes:</h2> <h2>Pakeitimai:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Nustatymų Įspėjimas</h2><p>Suinstaliavus šį atnaujinimą atstatys jūsų emuliatoriaus parinktis. Atkreipkite dėmesį į tai, kad jums reikės perkonfigūruoti savo parinktis po šio atnaujinimo.</p> - + Savestate Warning Įspėjimas apie išsaugojimo būseną - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ĮSPĖJIMAS</h1><p style='font-size:12pt;'>Suinstaliavus šį atnaujinimą pavers jūsų „Save States'us" nenaudojamus.</b>, <i>išsaugokite visą žaidimų turimą progresą į savo atminties korteles prieš instaliuojantis šį atnaujinimą</i>.</p><p>Ar norite tęsti?</p> - + Downloading %1... Atsisiunčiama %1... - + No updates are currently available. Please try again later. Šiuo metu nėra jokių atnaujinimų. Pabandykite dar kartą vėliau. - + Current Version: %1 (%2) Dabartinė versija: %1 (%2) - + New Version: %1 (%2) Naujausia versija: %1 (%2) - + Download Size: %1 MB Atsisiuntimo dydis: %1 MB - + Loading... Kraunasi... - + Failed to remove updater exe after update. Nepavyko pašalinti atnaujinimo programos exe po atnaujinimo. @@ -2143,19 +2159,19 @@ Lyderių lentelės pozicija: {1} iš {2} Įjungti - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2245,17 +2261,17 @@ Lyderių lentelės pozicija: {1} iš {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Žaidimo disko vieta yra išimamame diske, todėl gali kilti našumo problemų, tokių kaip šokinėjimas ir užšalimas. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2280,7 +2296,7 @@ Lyderių lentelės pozicija: {1} iš {2} Nežinoma - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3237,29 +3253,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Ištrinti profilį - + Mapping Settings Suplanavimo Nustatymai - - + + Restore Defaults Atkurti numatytuosius nustatymus - - - + + + Create Input Profile Kurti įvesties profilį - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3270,40 +3291,43 @@ Norėdami pritaikyti pasirinktinį įvesties profilį žaidimui, eikite į jo ž Įveskite naujojo įvesties profilio pavadinimą: - - - - + + + + + + Error Klaida - + + A profile with the name '%1' already exists. Profilis, kurio pavadinimas '%1', jau egzistuoja. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Ar norite nukopijuoti visus susiejimus iš šiuo metu pasirinkto profilio į naująjį profilį? Pasirinkus Ne, bus sukurtas visiškai tuščias profilis. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Nepavyko išsaugoti naujo profilio į '%1'. - + Load Input Profile Krauti įvesties profilį - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3316,12 +3340,27 @@ Visi dabartiniai globalūs susiejimai bus pašalinti, o profilio susiejimai įke Šio veiksmo atšaukti negalima. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Ištrinti įvesties profilį - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3330,12 +3369,12 @@ You cannot undo this action. Šio veiksmo atšaukti negalima. - + Failed to delete '%1'. Nepavyko ištrinti '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3348,13 +3387,13 @@ Visi bendri susiejimai ir konfigūracija bus prarasti, bet jūsų įvesties prof Šio veiksmo atšaukti negalima. - + Global Settings Bendrieji nustatymai - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,8 +3401,8 @@ Visi bendri susiejimai ir konfigūracija bus prarasti, bet jūsų įvesties prof %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3371,26 +3410,26 @@ Visi bendri susiejimai ir konfigūracija bus prarasti, bet jūsų įvesties prof %2 - - + + USB Port %1 %2 USB jungtis %1 %2 - + Hotkeys Spartieji klavišai - + Shared "Shared" refers here to the shared input profile. Bendri - + The input profile named '%1' cannot be found. Įvesties profilio, pavadinto '%1', negalima rasti. @@ -4014,63 +4053,63 @@ Ar norite perrašyti? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4141,17 +4180,32 @@ Ar norite perrašyti? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4803,53 +4857,53 @@ Ar norite perrašyti? PCSX2 Debuggeris - + Run Vykdyti - + Step Into Žingsnis į - + F11 F11 - + Step Over Žingsnis per - + F10 F10 - + Step Out Žingsnis iš - + Shift+F11 Shift+F11 - + Always On Top Visada ant viršaus - + Show this window on top Rodyti šį langą ant viršaus - + Analyze Analyze @@ -4867,48 +4921,48 @@ Ar norite perrašyti? Išardymas - + Copy Address Kopijuoti adresą - + Copy Instruction Hex Nukopijuoti instrukcijų Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Vykdyti iki žymeklio - + Follow Branch Follow Branch - + Go to in Memory View Eiti į atminties vaizdą - + Add Function Pridėti funkciją - - + + Rename Function Pervadinimo funkcija - + Remove Function Pašalinti funkciją @@ -4929,23 +4983,23 @@ Ar norite perrašyti? Assemble Instruction - + Function name Funkcijų vardai - - + + Rename Function Error Pervadinimo funkcijos klaida - + Function name cannot be nothing. Funkcijos pavadinimas negali būti niekas. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4955,72 +5009,72 @@ Ar norite perrašyti? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Peršokti prie Žymeklio - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Eiti į Adresa - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NETINKAMAS ADRESAS @@ -5047,86 +5101,86 @@ Ar norite perrašyti? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slotas: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slotas: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Nėra atvaizdo - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Žaidimas: %1 (%2) - + Rich presence inactive or unsupported. Išsamus buvimas neaktyvus arba nepalaikomas. - + Game not loaded or no RetroAchievements available. Žaidimas neįkeltas arba nėra RetroAchievements. - - - - + + + + Error Klaida - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Atsisiunčiama %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Atsisiųsti nepavyko: Duomenys yra tušti. - + Failed to write '%1'. Failed to write '%1'. @@ -5500,81 +5554,76 @@ Ar norite perrašyti? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5708,342 +5757,342 @@ Nuoroda buvo: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Nepavyko rasti jokių CD/DVD-ROM įrenginių. Įsitikinkite, kad yra prijungtas diskas ir turite pakankamas teises jį pasiekti. - + Use Global Setting Naudoti bendra nustatymą - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Žaidimo pavadinimas nukopijuotas į iškarpinę. - + Game serial copied to clipboard. Žaidimo serijinis nukopijuotas į iškarpinę. - + Game CRC copied to clipboard. Žaidimo CRC nukopijuotas į iškarpinę. - + Game type copied to clipboard. Žaidimo tipas nukopijuotas į iškarpinę. - + Game region copied to clipboard. Žaidimo regionas nukopijuotas į iškarpinę. - + Game compatibility copied to clipboard. Žaidimo suderinamumas nukopijuotas į iškarpinę. - + Game path copied to clipboard. Žaidimo kelias nukopijuotas į iškarpinę. - + Controller settings reset to default. Kontrolerio nustatymai iš naujo nustatomi pagal numatytuosius nustatymus. - + No input profiles available. Įvesties profilių nėra. - + Create New... Sukurti naują... - + Enter the name of the input profile you wish to create. Įveskite norimo sukurti įvesties profilio pavadinimą. - + Are you sure you want to restore the default settings? Any preferences will be lost. Ar tikrai norite atkurti numatytuosius nustatymus? Bet kokios nuostatos bus prarastos. - + Settings reset to defaults. Atstatyti nustatymus į numatytus nustatymus. - + No save present in this slot. Šiame slot nėra jokių išsaugojimų. - + No save states found. Išsaugomų būsenų nerasta. - + Failed to delete save state. Nepavyko ištrinti išsaugotos būsenos. - + Failed to copy text to clipboard. Nepavyko nukopijuoti teksto į iškarpinę. - + This game has no achievements. Šis žaidimas neturi pasiekimų. - + This game has no leaderboards. Šis žaidimas neturi lyderių lentelių. - + Reset System Atkurti sistemą - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Sunkusis režimas nebus įjungtas, kol sistema nebus iš naujo paleista. Ar norite iš naujo paleisti sistemą dabar? - + Launch a game from images scanned from your game directories. Paleiskite žaidimą iš vaizdinių, nuskaitytų iš žaidimų direktorijos. - + Launch a game by selecting a file/disc image. Paleiskite žaidimą pasirinkdami failą/disko atvaizdą. - + Start the console without any disc inserted. Paleiskite konsolę be įdėto disko. - + Start a game from a disc in your PC's DVD drive. Pradėkite žaidimą iš disko, esančio kompiuterio DVD įrenginyje. - + No Binding Jokių pririšimų - + Setting %s binding %s. Nustatymas %s susiejimas %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Pasibaigia per kelias %.0f sekundes... - + Unknown Nežinoma - + OK Gerai - + Select Device Pasirinkite įrenginį - + Details Išsamiau - + Options Nustatymai - + Copies the current global settings to this game. Nukopijuoja esamus visuotinius nustatymus į šį žaidimą. - + Clears all settings set for this game. Ištrina visus šiam žaidimui nustatytus nustatymus. - + Behaviour Elgesys - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Neleidžia įjungti ekrano užsklandos ir užmigdyti kompiuterio, kai veikia emuliacija. - + Shows the game you are currently playing as part of your profile on Discord. Rodo žaidimą, kurį šiuo metu žaidžiate kaip jūsų „Discord“ profilio dalį. - + Pauses the emulator when a game is started. Sustabdo emuliatorių, kai paleidžiamas žaidimas. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Sustabdo emuliatorių, kai sumažinate langą arba pereinate prie kitos programos, ir nutraukia, kai vėl įjungiate. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Sustabdo emuliatorių, kai atidaromas greitas meniu ir atstabdo jį, kai greitas meniu išjungiamas. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatiškai išsaugo emuliatoriaus būseną, kai išjungiama arba išeinama iš sistemos. Kitą kartą galėsite tęsti darbą nuo tos vietos, kurioje baigėte. - + Uses a light coloured theme instead of the default dark theme. Naudokite šviesią temą vietoj numatytosios tamsios temos. - + Game Display Žaidimo vaizdas - + Switches between full screen and windowed when the window is double-clicked. Perjungia tarp viso ekrano ir langinio, kai langas paspaudžiamas du kartus. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Paslepia pelės žymeklį / kursorių, kai emuliatorius veikia viso ekrano režimu. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Viršutiniame dešiniajame ekrano kampe rodomas CPU naudojimas pagal threadus. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Rodo statistika apie GS (primityvūs, piešimo skambučiai) viršutiniame dešiniajame ekrano kampe. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Rodyti įspėjimus kai yra įjungti parametrai, su kuriais žaidimas gali neveikti. - + Resets configuration to defaults (excluding controller settings). Atkuria numatytąsias konfigūracijos nuostatas (išskyrus kontrolerio nustatymus). - + Changes the BIOS image used to start future sessions. Pakeičia BIOS atvaizdą, naudojamą būsimoms sesijoms paleisti. - + Automatic Automatiškai - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Numatytasis - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6052,1977 +6101,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatiškai įjungiamas vaizdas per visą ekraną, kai paleidžiamas žaidimas. - + On-Screen Display Ekrano rodinys - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Rodo žaidimo raišką viršutiniame dešiniajame ekrano kampe. - + BIOS Configuration BIOS konfiguracija - + BIOS Selection BIOS pasirinkimas - + Options and Patches Nustatymai ir pataisymai - + Skips the intro screen, and bypasses region checks. Praleidžiamas pradžios ekranas ir apeinami regiono patikrinimai. - + Speed Control Greičio kontrolė - + Normal Speed Normalus greitis - + Sets the speed when running without fast forwarding. Nustato greitį, kai žaidimas veikia be sugreitinto režimo. - + Fast Forward Speed Spartinimo greitis - + Sets the speed when using the fast forward hotkey. Nustato greitį, kai naudojamas klavišas, skirtas įjungti sugreitintą režimą. - + Slow Motion Speed Sulėtintas greitis - + Sets the speed when using the slow motion hotkey. Nustato greitį, kai naudojamas klavišas, skirtas įjungti suletintą režimą. - + System Settings Sistemos nustatymai - + EE Cycle Rate EE ciklo greitis - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE ciklo praleidimas - + Enable MTVU (Multi-Threaded VU1) Įjungti MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Įjungti akimirksni VU1 - + Enable Cheats Įjungti cheatus - + Enables loading cheats from pnach files. Leidžia įkelti cheatus iš pnach failų. - + Enable Host Filesystem Įjungti pagrindinio kompiuterio failų sistemą - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Įjungti greitą CDVD - + Fast disc access, less loading times. Not recommended. Greita disko prieiga, trumpesnis krovimo laikas. Nerekomenduojama. - + Frame Pacing/Latency Control Kadrų tempo/vėlavimo valdymas - + Maximum Frame Latency Didžiausias kadro vėlavimas - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimalus kadrų tempas - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Atvaizduotojas - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Rodymas - + Aspect Ratio Vaizdo santykis - + Selects the aspect ratio to display the game content at. Parenka kraštinių santykį, kuriuo bus vaizduojamas žaidimų vaizdas. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Perėjimo šalinimas - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Ekrano nuotraukos dydis - + Determines the resolution at which screenshots will be saved. Nustato rezoliuciją, pagal kurią bus išsaugotos ekrano nuotraukos. - + Screenshot Format Ekrano nuotraukų formatas - + Selects the format which will be used to save screenshots. Pasirenka formatą, kuris bus naudojamas ekrano nuotraukoms išsaugoti. - + Screenshot Quality Ekrano nuotraukos kokybė - + Selects the quality at which screenshots will be compressed. Pasirenka ekrano nuotraukų suspaudimo kokybę. - + Vertical Stretch Vertikalus tempimas - + Increases or decreases the virtual picture size vertically. Padidina arba sumažina virtualaus vaizdo dydį vertikaliai. - + Crop Apkarpyti - + Crops the image, while respecting aspect ratio. Nukerpamas žaidimo vaizdas laikantis nustatyto kraštinių santykio. - + %dpx %dpx - - Enable Widescreen Patches - Įjungti Widescreen pataisymus - - - - Enables loading widescreen patches from pnach files. - Leidžia krauti widescreen pataisymus iš pnach failų. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Išlygina vaizdą didinant konsolės mastelį ekrane. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Ekrano poslinkiai - + Enables PCRTC Offsets which position the screen as the game requests. Įjungia PCRTC Kompensacijas, kurios sureguliuoja žaidimo poziciją taip, kaip prašo žaidimas. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Prieš neryškumą - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Įjungia vidinius prieš neryškumą hackus. Mažiau atitinka PS2 atvaizdavimą, tačiau daug žaidimų atrodys mažiau neryškūs. - + Rendering Atvaizdavimas - + Internal Resolution Vidinė raiška - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear filtravimas - + Selects where bilinear filtering is utilized when rendering textures. Pasirenka, kur bus naudojamas bilinearinis filtravimas perteikiant tekstūras. - + Trilinear Filtering Trilinear filtravimas - + Selects where trilinear filtering is utilized when rendering textures. Pasirenka, kur bus naudojamas trilinear filtravimas atvaizduojant tekstūras. - + Anisotropic Filtering Anizotropinis filtravimas - + Dithering Ditheriavimas - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Maišymo tikslumas - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Išankstinis tekstūrų įkėlimas - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Programinės įrangos atvaizdavimo gijos - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Automatinis praplovimas (programinė įranga) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Aparatūros taisymai - + Manual Hardware Fixes Rankiniai aparatūros pataisymai - + Disables automatic hardware fixes, allowing you to set fixes manually. Išjungiami automatiniai aparatinės įrangos pataisymai, todėl pataisymus galite nustatyti rankiniu būdu. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Naudojamas programinis atvaizdavimas norint piešti tekstūros dekompresiją primenančius sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Praleisti piešimo pradžią - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Praleisti Piešimo Pabaigą - + Auto Flush (Hardware) Automatinis praplovimas (aparatinė įranga) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Išjungti gylio konvertavimą - + Disable Safe Features Išjungti saugias funkcijas - + This option disables multiple safe features. Šia parinktimi išjungiamos kelios saugios funkcijos. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Išjungti dalinį galiojimo panaikinimą - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU paletės konvertavimas - + Upscaling Fixes Padidinimo pataisymai - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Apvalinti Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Gali išlyginti tekstūras dėl to, kai didinant mastelį jos filtruojamos dvinariu būdu. Pvz., "Brave" saulės atspindžiai. - + Adjusts target texture offsets. Sureguliuoja tikslinės tekstūros poslinkius. - + Align Sprite Sulygiuoti Sprite - + Fixes issues with upscaling (vertical lines) in some games. Ištaiso kai kuriuose žaidimuose didinimo (vertikalių linijų) problemas. - + Merge Sprite Sujungti sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Gali ištaisyti kai kuriuos neveikiančius efektus, kurie priklauso nuo tobulo pikselių tikslumo. - + Texture Replacement Tekstūros pakeitimas - + Load Textures Krauti tekstūras - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asinchroninis tekstūrų krovimas - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Pakeitimų adresynas - + Folders Aplankai - + Texture Dumping Tekstūrų išmetimas - + Dump Textures Išmesti tekstūras - + Dump Mipmaps Išmesti mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Išmesti FMV tekstūras - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Papildomas apdorojimas - + FXAA FXAA - + Enables FXAA post-processing shader. Įjungia FXAA papildomo apdorojimo shaderi. - + Contrast Adaptive Sharpening Kontrasto adaptyvusis paryškinimas - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS ryškumas - + Determines the intensity the sharpening effect in CAS post-processing. Nustato aštrinimo efekto intensyvumą apdorojant CAS. - + Filters Filtrai - + Shade Boost Atspalvio didinimas - + Enables brightness/contrast/saturation adjustment. Įjungiamas šviesumo / kontrasto / saturacijos reguliavimas. - + Shade Boost Brightness Atspalvio ryškumo didinimas - + Adjusts brightness. 50 is normal. Reguliuoja ryškumą. 50 yra normalus. - + Shade Boost Contrast Atspalvio kontrasto didinimas - + Adjusts contrast. 50 is normal. Reguliuoja kontrastą. 50 yra normalus. - + Shade Boost Saturation Atspalvio sodrumo didinimas - + Adjusts saturation. 50 is normal. Reguliuoja sodrumą. 50 yra normalus. - + TV Shaders TV shaderiai - + Advanced Papildomi - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Įtvirtina tekstūros barjero funkcionalumą į nurodytą reikšmę. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Imituoja didesnę atminties kortelę, filtruodamas išsaugojimus tik į dabartinį žaidimą. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. Pasirinktas atminties kortelės vaizdas bus naudojamas šiame lizde. - + Enable/Disable the Player LED on DualSense controllers. Įjungti/išjungti žaidėjo LED indikatorių DualSense kontroleriuose. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slotas {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Keisti pasirinkimą - + Select Pasirinkti - + Parent Directory Parent Directory - + Enter Value Įveskite Reikšmę - + About Apie - + Toggle Fullscreen Perjungti į Viso Ekrano būseną - + Navigate Naviguoti - + Load Global State Įkelti globalią būseną - + Change Page Keisti puslapį - + Return To Game Grįžti į žaidimą - + Select State Pasirinkti Būseną - + Select Game Pasirinkti Žaidimą - + Change View Pakeisti vaizdą - + Launch Options Paleidimo Pasirinkimai - + Create Save State Backups Sukurti išsaugotos būsenos atsargines kopijas - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Sukurti atminties kortelę - + Configuration Konfiguracija - + Start Game Pradėti žaidimą - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Atgal - + Return to the previous menu. Grįžti į ankstesnį meniu. - + Exit PCSX2 Palikti PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Darbalaukio režimas - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Iš naujo nustatomos visos konfigūracijos numatytuosius nustatymus (įskaitant susiejimus). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Įvesties šaltiniai - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. „XInput“ šaltinis palaiko Xbox 360/Xbox One/Xbox serijos kontrolerius. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Įjungia papildomus tris kontrolerio lizdus. Palaikoma ne visuose žaidimuose. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Nustato, kokio dydžio spaudimas imituojamas, kai makrokomanda yra aktyvi. - + Determines the pressure required to activate the macro. Nustato spaudimą, reikalingą makrokomandai įjungti. - + Toggle every %d frames Perjungti kas %d kadrų - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Duomenų išsaugojimo vietos - + Show Advanced Settings Rodyti išplėstinius nustatymus - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Registravimas - + System Console Sistemos konsolė - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging Failų registravimas - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Išsamesni žurnalo įrašymai - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Žurnalo laiko žymės - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE konsolė - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP konsolė - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads Išsamesnis CDVD nuskaitymas - + Logs disc reads from games. Registruoja diskų skaitymus iš žaidimų. - + Emotion Engine Emotion Engine - + Rounding Mode Apvalinimo režimas - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Suspaudimo režimas - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Leidžia imituoti EE talpyklą. Lėtas. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Milžiniškas kai kurių žaidimų pagreitinimas ir beveik jokio suderinamumo poveikio. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Vidutinis pagreitėjimas kai kuriuose žaidimuose, be jokio žinomo šalutinio poveikio. - + Enable Fast Memory Access Įjungti greita prieiga prie atminties - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vektoriniai vienetai - + VU0 Rounding Mode VU0 Apvalinimo režimas - + VU0 Clamping Mode VU0 Suspaudimo režimas - + VU1 Rounding Mode VU1 Apvalinimo režimas - + VU1 Clamping Mode VU1 Suspaudimo režimas - + Enable VU0 Recompiler (Micro Mode) Įjungti VU0 rekompilatorių (mikro režimas) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Įjungti VU1 rekompilatorių - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Geras spartinimas ir didelis suderinamumas, gali sukelti grafinių klaidų. - + I/O Processor I/O procesorius - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Grafika - + Use Debug Device Naudoti Debug įrenginį - + Settings Nustatymai - + No cheats are available for this game. Šiam žaidimui nėra jokių cheatu. - + Cheat Codes Cheat kodai - + No patches are available for this game. Šiam žaidimui nėra jokių pataisymų. - + Game Patches Žaidimų pataisymai - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Suaktyvinus cheatus gali atsirasti nenuspėjamas elgesys, trikdžiai, soft-lock'ai arba sugesti išsaugoti žaidimai. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Suaktyvinus žaidimo pataisymus gali atsirasti nenuspėjamas elgesys, trikdžiai, soft-lock'ai arba sugesti išsaugoti žaidimai. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Pataisymus naudokite savo rizika, PCSX2 komanda neteiks jokios pagalbos naudotojams, įjungusiems žaidimo pataisymus. - + Game Fixes Žaidimų pataisymai - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Žaidimo pataisymai neturėtų būti keičiami, jei nežinote, ką daro kiekviena parinktis ir kokios to pasekmės. - + FPU Multiply Hack FPU dauginimo hackas - + For Tales of Destiny. Tales of Destiny žaidimui. - + Preload TLB Hack Išankstinis TLB hackas - + Needed for some games with complex FMV rendering. Reikalingas kai kuriems žaidimams su sudėtingu FMV atvaizdavimu. - + Skip MPEG Hack Praleisti MPEG hackas - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH vėliavos hackas - + EE Timing Hack EE Timing hackas - + Instant DMA Hack Akimirksnis DMA hackas - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Dėl SOCOM 2 HUD ir Spy Hunter pakrovimo pakibimo. - + VU Add Hack VU pridėjimo hack - + Full VU0 Synchronization Visiškas VU0 sinchronizavimas - + Forces tight VU0 sync on every COP2 instruction. Priverčia VU0 griežtai sinchronizuoti kiekvieną COP2 instrukciją. - + VU Overflow Hack VU perpildymo hackas - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Krauti būseną - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Išjungti vaizdavimo pataisymus - + Preload Frame Data Išanksto krauti kadro duomenis - + Texture Inside RT Tekstūros RT viduje - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Pusės pikselio poslinkis - + Texture Offset X Tekstūros poslinkis X - + Texture Offset Y Tekstūros poslinkis Y - + Dumps replaceable textures to disk. Will reduce performance. Išstumia pakeičiamas tekstūras į diską. Sumažės našumas. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Įjungiamas API lygmens grafikos komandų patvirtinimas. - + Use Software Renderer For FMVs Naudokite programinės įrangos rendererį FMV - + To avoid TLB miss on Goemon. Norėdami išvengti TLB praleidima Goemon žaidime. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Bendrosios paskirties timing hackas. Žinoma, kad turi įtakos šiems žaidimams: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Žinoma, kad turi įtakos šiems žaidimams: Bleach Blade Battlers, Growlanser II ir III, Wizardry. - + Emulate GIF FIFO Emuliuoti GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Teisingai, bet lėčiau. Žinomas poveikis šiems žaidimams: Fifa Street 2. - + DMA Busy Hack DMA užimtas hackas - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emuliuoti VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit hackas - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Skirta Tri-Ace žaidimams: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Išsaugoti būseną - + Load Resume State Pakrauti tęsimo būseną - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8031,2071 +8085,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Regionas: - + Compatibility: Suderinamumas: - + No Game Selected Nepasirinktas žaidimas - + Search Directories Ieškoti direktorijas - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Nuskaitomos subdirektorijos - + Not Scanning Subdirectories Nėra nuskaitomos subdirektorijos - + List Settings Sąrašų nustatymai - + Sets which view the game list will open to. Nustato, kuriame rodinyje bus atveriamas žaidimų sąrašas. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Viršelio nustatymai - + Downloads covers from a user-specified URL template. Atsisiųsti viršelius iš naudotojo nurodyto URL šablono. - + Operations Operacija - + Selects where anisotropic filtering is utilized when rendering textures. Pasirenka, kur bus naudojamas anizotropinis filtravimas perteikiant tekstūras. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Taikyti alternatyvų metodą vidiniam FPS apskaičiuoti, kad kai kuriuose žaidimuose būtų išvengta klaidingų rodmenų. - + Identifies any new files added to the game directories. Identifikuoja visus naujus failus, pridėtus į žaidimo direktorijas. - + Forces a full rescan of all games previously identified. Priverčia iš naujo nuskaityti visus anksčiau nustatytus žaidimus. - + Download Covers Atsisiųsti viršelius - + About PCSX2 Apie PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 yra nemokamas atvirojo kodo PlayStation 2 (PS2) emuliatorius. Jo tikslas yra mėgdžioti PS2 aparatinę įrangą, naudojant MIPS procesoriaus interpretatorių, perkompiliatorių ir virtualios mašinos, valdančios aparatūros būsenas ir PS2 sistemos atmintį. Tai leidžia žaisti PS2 žaidimus kompiuteryje su daugybe papildomų funkcijų ir privalumų. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 ir PS2 yra registruoti Sony Interactive Entertainment prekių ženklai. Ši programa niekaip nesusijusi su „Sony Interactive Entertainment“. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Įjungus ir prisijungus, PCSX2 paleidimo metu nuskaitys pasiekimus. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Iššūkių" režimas pasiekimams, įskaitant lyderių lentelės stebėjimą. Išjungia išsaugotas būsenas, cheatus ir sulėtėjimo funkcijas. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Rodo iššokančius pranešimus apie įvykius, pvz., pasiekimų atrakinimą ir lyderių lentelės pateikimus. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Groja garso efektus, susijusius su tokiais įvykiais kaip pasiekimų atrakinimais ir lyderių lentelės pateikimais. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Rodo ikonus ekrano apatiniame dešiniajame kampe, kai yra aktyvus iššūkis/įvykdytas pasiekimas. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Kai ši funkcija įjungta, PCSX2 pateiks pasiekimų sąrašą iš neoficialių rinkinių. Šių pasiekimų RetroAchievements neseka. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Kai įjungta, PCSX2 manys, kad visi pasiekimai yra užrakinti ir nesiųs jokių atrakinimo pranešimų serveriui. - + Error Klaida - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. Kai įjungta, kiekviena sesija elgsis taip, tarsi jokie pasiekimai nebūtų atrakinti. - + Account Paskyra - + Logs out of RetroAchievements. Atsijungia iš RetroAchievements. - + Logs in to RetroAchievements. Prisijungia prie RetroAchievements. - + Current Game Dabartinis žaidimas - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} nėra galiojantis disko atvaizdas. - + Automatic mapping completed for {}. Automatinis susiejimas užbaigtas skirtui {}. - + Automatic mapping failed for {}. Automatinis susiejimas nepavyko skirtui {}. - + Game settings initialized with global settings for '{}'. Žaidimo nustatymai inicializuoti visuotiniais '{}' nustatymais. - + Game settings have been cleared for '{}'. Žaidimo nustatymai buvo išvalyti '{}'. - + {} (Current) {} (Dabartinis) - + {} (Folder) {} (Aplankas) - + Failed to load '{}'. Nepavyko užkrauti '{}'. - + Input profile '{}' loaded. Įvesties profilis '{}' įkeltas. - + Input profile '{}' saved. Įvesties profilis '{}' išsaugotas. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Pasirinkti makro {} susiejima - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} Ši sesija: {} - + All Time: {} Visas laikas: {} - + Save Slot {0} Išsaugotas Slotas {0} - + Saved {} Išsaugota {} - + {} does not exist. {} neegzistuoja. - + {} deleted. {} ištrinta. - + Failed to delete {}. Nepavyko panaikinti {}. - + File: {} Failas: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Žaista laiko: {} - + Last Played: {} Paskutinį kartą žaista: {} - + Size: {:.2f} MB Dydis: {:.2f} MB - + Left: Kairė: - + Top: Viršus: - + Right: Dešinė: - + Bottom: Apačia: - + Summary Santrauka - + Interface Settings Interfeiso nustatymai - + BIOS Settings BIOS nustatymai - + Emulation Settings Emuliavimo nustatymai - + Graphics Settings Grafikos nustatymai - + Audio Settings Garso nustatymai - + Memory Card Settings Atminties kortelės nustatymai - + Controller Settings Kontrolerio nustatymai - + Hotkey Settings Sparčiujų klavišų nustatymai - + Achievements Settings Pasiekimų nustatymai - + Folder Settings Aplanko nustatymai - + Advanced Settings Išplėstiniai nustatymai - + Patches Pataisymai - + Cheats Cheatai - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Greitis - + 60% Speed 60% Greitis - + 75% Speed 75% Greitis - + 100% Speed (Default) 100% Greitis (Numatytas) - + 130% Speed 130% Greitis - + 180% Speed 180% Greitis - + 300% Speed 300% Greitis - + Normal (Default) Normalus (Numatytas) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Išjungta - + 0 Frames (Hard Sync) 0 kadrų (kietasis sinch.) - + 1 Frame 1 Kadras - + 2 Frames 2 Kadrai - + 3 Frames 3 Kadrai - + None Jokio - + Extra + Preserve Sign Extra + Preserve Sign - + Full Pilnas - + Extra Papildoma - + Automatic (Default) Automatinė (Numatytas) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Programa - + Null Nieko - + Off Išjungta - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Gimtasis (PS2) - + Nearest Arčiausias - + Bilinear (Forced) Bilinear (priverstinis) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Išjungta (nėra) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (priverstinis) - + Scaled Pagal mastelį - + Unscaled (Default) Nesumažinta (numatytasis) - + Minimum Mažiausias - + Basic (Recommended) Paprastas (rekomenduojama) - + Medium Vidutinis - + High Aukštas - + Full (Slow) Visas (lėtas) - + Maximum (Very Slow) Maksimalus (labai lėtas) - + Off (Default) Išjungta (numatytasis) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Dalinis - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Priversti išjungti - + Force Enabled Priversti įjungti - + Accurate (Recommended) Tikslus (rekomenduojama) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Ekrano raiška - + Internal Resolution (Aspect Uncorrected) Vidinė raiška (Aspektas neištaisytas) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy ĮSPĖJIMAS: atminties kortelė yra užimta - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Neveiksnioji zona - + Full Boot Pilnas paleidimas - + Achievement Notifications Pranešimai apie pasiekimus - + Leaderboard Notifications Pranešimai apie lyderių lentą - + Enable In-Game Overlays Įjungti žaidimo perdangas - + Encore Mode Encore Režimas - + Spectator Mode Žiūrovo režimas - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Kadrai - + No Deinterlacing Perėjimo šalinimas - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Išjungta) - + 1 (64 Max Width) 1 (64 maksimalus plotis) - + 2 (128 Max Width) 2 (128 maksimalus plotis) - + 3 (192 Max Width) 3 (192 maksimalus plotis) - + 4 (256 Max Width) 4 (256 maksimalus plotis) - + 5 (320 Max Width) 5 (320 maksimalus plotis) - + 6 (384 Max Width) 6 (384 maksimalus plotis) - + 7 (448 Max Width) 7 (448 maksimalus plotis) - + 8 (512 Max Width) 8 (512 maksimalus plotis) - + 9 (576 Max Width) 9 (576 maksimalus plotis) - + 10 (640 Max Width) 10 (640 maksimalus plotis) - + Sprites Only Tik Sprites - + Sprites/Triangles Sprites/Trikampiai - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normalus) - + 2 (Aggressive) 2 (agresyvus) - + Inside Target Inside Target - + Merge Targets Sujungti taikinius - + Normal (Vertex) Normalus (Vertex) - + Special (Texture) Specialusis (tekstūra) - + Special (Texture - Aggressive) Specialusis (tekstūra - agresyvus) - + Align To Native Align To Native - + Half Pusė - + Force Bilinear Priverstinis bilinear - + Force Nearest Priverstas arčiausias - + Disabled (Default) Išjungtas (numatytasis) - + Enabled (Sprites Only) Įjungta (tik Sprites) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) Nėra (numatytasis) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Skenavimo linijų filtras - + Diagonal Filter Įstrižinis filtras - + Triangular Filter Trikampinis filtras - + Wave Filter Bangų filtras - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Nesuspaustas - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Neigiama - + Positive Teigiamas - + Chop/Zero (Default) Pjovimas / Nulis (Numatytasis) - + Game Grid Žaidimų gridas - + Game List Žaidimų sarašas - + Game List Settings Žaidimų sąrašo nustatymai - + Type Tipas - + Serial Serijinis numeris - + Title Pavadinimas - + File Title Failo pavadinimas - + CRC CRC - + Time Played Žaista laiko - + Last Played Paskutinį kartą žaista - + Size Dydis - + Select Disc Image Pasirinkite disko atvaizdą - + Select Disc Drive Pasirinkite disko įrenginį - + Start File Pradėti failą - + Start BIOS Pradėti BIOS - + Start Disc Pradėti diską - + Exit Išeiti - + Set Input Binding Set Input Binding - + Region Regionas - + Compatibility Rating Suderinamumo įvertinimas - + Path Vieta - + Disc Path Disko kelias - + Select Disc Path Pasirinkti disko kelia - + Copy Settings Kopijuoti nustatymus - + Clear Settings Išvalyti nustatymus - + Inhibit Screensaver Uždrausti ekrano užsklandą - + Enable Discord Presence Įjungti Discord Presence - + Pause On Start Pauzė paleidimo metu - + Pause On Focus Loss Pauzė praradus dėmesį - + Pause On Menu Pauzė, kai Meniu - + Confirm Shutdown Patvirtinkite išjungimą - + Save State On Shutdown Išsaugoti būseną per išjungimą - + Use Light Theme Naudoti šviesia temą - + Start Fullscreen Pradėti per visą ekraną - + Double-Click Toggles Fullscreen Dukart spustelėjus perjungiama į visą ekraną - + Hide Cursor In Fullscreen Slėpti rodykle viso ekrano režime - + OSD Scale OSD skalė - + Show Messages Rodyti pranešimus - + Show Speed Rodyti greiti - + Show FPS Rodyti FPS - + Show CPU Usage Rodyti CPU naudojimą - + Show GPU Usage Rodyti GPU naudojimą - + Show Resolution Rodyti raiška - + Show GS Statistics Rodyti GS statistikas - + Show Status Indicators Rodyti statuso indikatorius - + Show Settings Rodyti nustatymus - + Show Inputs Rodyti įvestis - + Warn About Unsafe Settings Įspėti apie nesaugius nustatymus - + Reset Settings Atstatyti nustatymus - + Change Search Directory Pakeiskite paieškos adresą - + Fast Boot Greitas paleidimas - + Output Volume Išvesties garsumas - + Memory Card Directory Atminties kortelių adresynas - + Folder Memory Card Filter Aplankas Atminties kortelės filtras - + Create Sukurti - + Cancel Atšaukti - + Load Profile Krauti profilį - + Save Profile Išsaugoti profilį - + Enable SDL Input Source Įjunkti SDL įvesties šaltinį - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Patobulintas režimas - + SDL Raw Input SDL neapdorotas įvestis - + Enable XInput Input Source Įjunkti XInput įvesties šaltinį - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Kontrolerio jungtis {}{} - + Controller Port {} Kontrolerio jungtis {} - + Controller Type Kontrolerio tipas - + Automatic Mapping Automatinis susiejimas - + Controller Port {}{} Macros Kontrolerio jungties {}{} macros - + Controller Port {} Macros Kontrolerio jungties {} macros - + Macro Button {} Makro mygtukas {} - + Buttons Mygtukai - + Frequency Dažnis - + Pressure Spaudimas - + Controller Port {}{} Settings Kontrolerio jungties {}{} nustatymai - + Controller Port {} Settings Kontrolerio jungties {} nustatymai - + USB Port {} USB jungtis {} - + Device Type Įrenginio tipas - + Device Subtype Įrenginio Subtype - + {} Bindings {} Susiejimai - + Clear Bindings Išvalyti susiejimus - + {} Settings {} Nustatymai - + Cache Directory Cache adresynas - + Covers Directory Viršelių adresynas - + Snapshots Directory Snapshots adresynas - + Save States Directory Išsaugotų būsenų adresynas - + Game Settings Directory Žaidimo nustatymų adresynas - + Input Profile Directory Įvesties profilio adresynas - + Cheats Directory Cheatu adresynas - + Patches Directory Pataisymų adresynas - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Vaizdo įrašų saugojimo vieta - + Resume Game Tęsti žaidimą - + Toggle Frame Limit Perjungti į kadrų ribojimą - + Game Properties Žaidimo ypatybės - + Achievements Pasiekimai - + Save Screenshot Išsaugoti Ekrano Kopiją - + Switch To Software Renderer Perjungti į programinį atvaizdavimą - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Pakeisti diską - + Close Game Uždaryti žaidimą - + Exit Without Saving Išeiti neišsaugojus - + Back To Pause Menu Grįžti į pauzės meniu - + Exit And Save State Išeiti ir išsaugoti būseną - + Leaderboards Lyderių lenta - + Delete Save Trinti save - + Close Menu Uždaryti meniu - + Delete State Ištrinti būseną - + Default Boot Numatytasis paleidimas - + Reset Play Time Iš naujo nustatyti žaidimo laika - + Add Search Directory Pridėti paieškos adresyną - + Open in File Browser Atidaryti failų naršyklėje - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Pašalinti iš sąrašo - + Default View Numatytasis vaizdas - + Sort By Rūšiuoti pagal - + Sort Reversed Rūšiuoti atvirkščiai - + Scan For New Games Ieškoti naujų žaidimų - + Rescan All Games Nuskaityti visus žaidimus iš naujo - + Website Svetainė - + Support Forums Pagalbos forumai - + GitHub Repository GitHub saugykla - + License Licencija - + Close Uždaryti - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration yra naudojama vietoj integruotos pasiekimų implementacijos. - + Enable Achievements Įjungti pasiekimus - + Hardcore Mode Sunkusis režimas - + Sound Effects Garso efektai - + Test Unofficial Achievements Išbandyti neoficialius pasiekimus - + Username: {} Vartotojo vardas: {} - + Login token generated on {} Login token generated on {} - + Logout Atsijungti - + Not Logged In Nesate prisijungęs - + Login Prisijungti - + Game: {0} ({1}) Žaidimas: {0} ({1}) - + Rich presence inactive or unsupported. Išsamus buvimas neaktyvus arba nepalaikomas. - + Game not loaded or no RetroAchievements available. Žaidimas neįkeltas arba nėra RetroAchievements. - + Card Enabled Kortelė įjungta - + Card Name Kortelės pavadinimas - + Eject Card Išstumti kortelę @@ -11087,32 +11146,42 @@ Skenavimas pakartotinai užima daugiau laiko, tačiau bus nustatyti papildomai s Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs Visi CRCs - + Reload Patches Perkrauti pataisymus - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Pažymėta - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. Šiam žaidimui nėra jokių pataisymų. @@ -11588,11 +11657,11 @@ Skenavimas pakartotinai užima daugiau laiko, tačiau bus nustatyti papildomai s - - - - - + + + + + Off (Default) Išjungta (numatytasis) @@ -11602,10 +11671,10 @@ Skenavimas pakartotinai užima daugiau laiko, tačiau bus nustatyti papildomai s - - - - + + + + Automatic (Default) Automatinė (Numatytas) @@ -11672,7 +11741,7 @@ Skenavimas pakartotinai užima daugiau laiko, tačiau bus nustatyti papildomai s - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11738,29 +11807,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Ekrano poslinkiai - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Įjungti Widescreen pataisymus - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Prieš neryškumą @@ -11771,7 +11830,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11781,18 +11840,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Ekrano nuotraukos dydis: - + Screen Resolution Ekrano raiška - + Internal Resolution Vidinė raiška - + PNG PNG @@ -11844,7 +11903,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11891,7 +11950,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Nesumažinta (numatytasis) @@ -11907,7 +11966,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Paprastas (rekomenduojama) @@ -11943,7 +12002,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11959,31 +12018,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Rankiniai aparatūros pataisymai - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11995,15 +12054,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Automatinis praplovimas @@ -12031,8 +12090,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Išjungta) @@ -12089,18 +12148,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Išjungti saugias funkcijas - + Preload Frame Data Išanksto krauti kadro duomenis - + Texture Inside RT Tekstūros RT viduje @@ -12199,13 +12258,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Sujungti sprite - + Align Sprite Sulygiuoti Sprite @@ -12219,16 +12278,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Perėjimo šalinimas - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12301,25 +12350,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Išjungti vaizdavimo pataisymus @@ -12330,7 +12379,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12389,25 +12438,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Išmesti tekstūras - + Dump Mipmaps Išmesti mipmaps - + Dump FMV Textures Išmesti FMV tekstūras - + Load Textures Krauti tekstūras @@ -12417,6 +12466,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12434,13 +12493,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12463,8 +12522,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Nėra (numatytasis) @@ -12485,7 +12544,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12537,7 +12596,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Atspalvio didinimas @@ -12552,7 +12611,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontrastas: - + Saturation Sodrumas @@ -12573,50 +12632,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Rodyti indikatorius - + Show Resolution Rodyti raiška - + Show Inputs Rodyti įvestis - + Show GPU Usage Rodyti GPU naudojimą - + Show Settings Rodyti nustatymus - + Show FPS Rodyti FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12632,13 +12691,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Rodyti statistiką - + Asynchronous Texture Loading Asinchroninis tekstūrų krovimas @@ -12649,13 +12708,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Rodyti CPU naudojimą - + Warn About Unsafe Settings Įspėti apie nesaugius nustatymus @@ -12681,7 +12740,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12692,43 +12751,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12837,19 +12896,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12902,7 +12961,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12912,1214 +12971,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Programa - + Null Null here means that this is a graphics backend that will show nothing. Nieko - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Naudoti bendra nustatymą [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Nepažymėta - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Automatiškai įkrauna ir pritaiko widescreen pataisymus paleidus žaidimą. Gali sukelti problemų. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Automatiškai įkelia ir pritaiko pataisymus be pynimo paleidus žaidimą. Gali sukelti problemų. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear filtravimas - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. Šis nustatymas išjungia konkretaus žaidimo vaizdavimo pataisymus. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Pagal numatytuosius nustatymus tekstūros talpykla tvarko dalinius panaikinimus. Deja, tai labai brangiai kainuoja procesoriui. Šis pakeitimas pakeičia dalinį panaikinimą visišku tekstūros ištrynimu, kad sumažėtų procesoriaus apkrova. Tai padeda Snowblind variklio žaidimuose. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Išjungta - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Įjungia FidelityFX kontrasto adaptacinį aštrinimą. - + Determines the intensity the sharpening effect in CAS post-processing. Nustato aštrinimo efekto intensyvumą apdorojant CAS. - + Adjusts brightness. 50 is normal. Reguliuoja ryškumą. 50 yra normalus. - + Adjusts contrast. 50 is normal. Reguliuoja kontrastą. 50 yra normalus. - + Adjusts saturation. 50 is normal. Reguliuoja sodrumą. 50 yra normalus. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Vaizdo iškodavimas - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video bitų srautas - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatinė rezoliucija - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Garso iškodavimas - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio bitų srautas - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Pažymėta - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Įjungia vidinius prieš neryškumą hackus. Mažiau atitinka PS2 atvaizdavimą, tačiau daug žaidimų atrodys mažiau neryškūs. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Vaizdo santykis - + Auto Standard (4:3/3:2 Progressive) Automatinis standartas (4:3/3:2 progresyvinis) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Perėjimo šalinimas - + Screenshot Size Ekrano nuotraukos dydis - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Ekrano nuotraukų formatas - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Ekrano nuotraukos kokybė - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Nustato ekrano kopijų suspaudimo kokybę. Didesni išsaugo daugiau detalių JPEG formatui ir sumažina PNG formato failo dydį. - - + + 100% 100% - + Vertical Stretch Vertikalus tempimas - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Pilno ekrano režimas - - - + + + Borderless Fullscreen Be sienų per visą ekraną - + Chooses the fullscreen resolution and frequency. Pasirenka viso ekrano raišką ir dažnį. - + Left Kairė - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Viršus - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Dešinė - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Apačia - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Gimtasis (PS2) (Numatytas) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Tekstūrų filtravimas - + Trilinear Filtering Trilinear filtravimas - + Anisotropic Filtering Anizotropinis filtravimas - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Ditheriavimas - + Blending Accuracy Maišymo tikslumas - + Texture Preloading Išankstinis tekstūrų įkėlimas - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Įkelia visas tekstūras iš karto, o ne mažus fragmentus, ir, jei įmanoma, vengia perteklinių įkėlimų. Tai pagerina daugumos žaidimų našumą, bet gali sulėtinti nedidelį pasirinkimą. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU taikinys CLUT - + Skipdraw Range Start Praleisti piešimo ribos pradžią - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Praleisti piešimo ribos pabaigą - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Pusės pikselio poslinkis - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Apvalinti Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Tekstūros poslinkiai X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Tekstūros poslinkiai Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Ryškumas - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Taikomas FXAA švelninimo algoritmas, kad būtų pagerinta žaidimų vaizdo kokybė. - + Brightness Ryškumas - - - + + + 50 50 - + Contrast Kontrastas - + TV Shader TV shaderis - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD skalė - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Ekrano apatiniame kairiajame kampe rodoma dabartinė sistemos valdiklio būsena. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Palikite tuščią - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Nustato naudojamą audio bitų srautą. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Įjungti Debug įrenginį - + Enables API-level validation of graphics commands. Įjungiamas API lygmens grafikos komandų patvirtinimas. - + GS Download Mode GS Download Mode - + Accurate Tikslus - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Numatytasis - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14127,7 +14186,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Numatytasis @@ -14344,254 +14403,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System Sistema - + Open Pause Menu Atidaryti pristabdymo meniu - + Open Achievements List Atidaryti pasiekimų sąrašą - + Open Leaderboards List Atidaryti lyderių lentelės sąrašą - + Toggle Pause Pristabdyti arba tęsti - + Toggle Fullscreen Perjungti į viso ekrano būseną - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Pagreitinti (Laikyti) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Padidinti garsą - + Decrease Volume Sumažinti garsą - + Toggle Mute Įjungti / Išjungti garsą - + Frame Advance Kadro greitėjimas į priekį - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Iš naujo nustatykite virtualią mašiną - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Išsaugoti būseną - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Pasirinkti kitą saugojimo Slota - + Save State To Selected Slot Saugoti būsena į pasirinkta Slota - + Load State From Selected Slot Pakrauti būsena iš pasirinkto Sloto - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Išsaugoti būseną į Slotą 1 - + Load State From Slot 1 Krauti būseną iš Sloto 1 - + Save State To Slot 2 Išsaugoti būseną į Slotą 2 - + Load State From Slot 2 Krauti būseną iš Sloto 2 - + Save State To Slot 3 Išsaugoti būseną į Slotą 3 - + Load State From Slot 3 Krauti būseną iš Sloto 3 - + Save State To Slot 4 Išsaugoti būseną į Slotą 4 - + Load State From Slot 4 Krauti būseną iš Sloto 4 - + Save State To Slot 5 Išsaugoti būseną į Slotą 5 - + Load State From Slot 5 Krauti būseną iš Sloto 5 - + Save State To Slot 6 Išsaugoti būseną į Slotą 6 - + Load State From Slot 6 Krauti būseną iš Sloto 6 - + Save State To Slot 7 Išsaugoti būseną į Slotą 7 - + Load State From Slot 7 Krauti būseną iš Sloto 7 - + Save State To Slot 8 Išsaugoti būseną į Slotą 8 - + Load State From Slot 8 Krauti būseną iš Sloto 8 - + Save State To Slot 9 Išsaugoti būseną į Slotą 9 - + Load State From Slot 9 Krauti būseną iš Sloto 9 - + Save State To Slot 10 Išsaugoti būseną į Slotą 10 - + Load State From Slot 10 Krauti būseną iš Sloto 10 @@ -15471,594 +15530,608 @@ Right click to clear binding &Sistema - - - + + Change Disc Pakeisti diską - - + Load State Krauti būseną - - Save State - Išsaugoti būseną - - - + S&ettings Nustatymai - + &Help &Pagalba - + &Debug Profilavimas - - Switch Renderer - Perjungti atvaizduotoja - - - + &View &Peržiūrėti - + &Window Size &Lango dydis - + &Tools Įrankiai - - Input Recording - Įvesties įrašymas - - - + Toolbar Įrankių juosta - + Start &File... Pradėti failą... - - Start &Disc... - Pradėti diską... - - - + Start &BIOS Pradėti &BIOS - + &Scan For New Games &Ieškoti naujų žaidimų - + &Rescan All Games &Nuskaityti visus žaidimus iš naujo - + Shut &Down Išsijungti - + Shut Down &Without Saving Išjungti be išsaugojimo - + &Reset &Perkrauti - + &Pause &Pauzė - + E&xit Išeiti - + &BIOS &BIOS - - Emulation - Emuliacija - - - + &Controllers &Kontroleriai - + &Hotkeys &Spartieji klavišai - + &Graphics &Grafika - - A&chievements - P&asiekimai - - - + &Post-Processing Settings... Papildomo apdorojimo nustatymai... - - Fullscreen - Per visą ekraną - - - + Resolution Scale Rezoliucijos skalė - + &GitHub Repository... &GitHub saugykla... - + Support &Forums... Pagalbos forumai... - + &Discord Server... &Discord Serveris... - + Check for &Updates... Ieškoti &atnaujinimų... - + About &Qt... Apie &Qt... - + &About PCSX2... &Apie PCSX2... - + Fullscreen In Toolbar Per visą ekraną - + Change Disc... In Toolbar Pakeisti diską... - + &Audio &Garsas - - Game List - Žaidimų sarašas - - - - Interface - Interfeisas + + Global State + Bendra būsena - - Add Game Directory... - Pridėti žaidimų adresyną... + + &Screenshot + &Ekrano kopija - - &Settings - &Nustatymai + + Start File + In Toolbar + Pradėti failą - - From File... - Iš failo... + + &Change Disc + &Change Disc - - From Device... - Iš įrenginio... + + &Load State + &Load State - - From Game List... - Iš žaidimų sąrašo... + + Sa&ve State + Sa&ve State - - Remove Disc - Pašalinti diską + + Setti&ngs + Setti&ngs - - Global State - Bendra būsena + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Ekrano kopija + + &Input Recording + &Input Recording - - Start File - In Toolbar - Pradėti failą + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Pradėti diską - + Start BIOS In Toolbar Pradėti BIOS - + Shut Down In Toolbar Išsijungti - + Reset In Toolbar Perkrauti - + Pause In Toolbar Pauzė - + Load State In Toolbar Krauti būseną - + Save State In Toolbar Išsaugoti būseną - + + &Emulation + &Emulation + + + Controllers In Toolbar Kontroleriai - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Nustatymai - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Ekrano kopija - + &Memory Cards &Atminties kortelės - + &Network && HDD &Tinklas && HDD - + &Folders &Aplankai - + &Toolbar &Įrankių juosta - - Lock Toolbar - Užrakinti įrankių juostą + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Statuso juosta + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose statusas + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Žaidimų &sąrašas + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Sistemos &rodymas + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Žaidimo ypatybės + + E&nable System Console + E&nable System Console - - Game &Grid - Žaidimų gridas + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Rodyti Pavadinimus (Grido rodinys) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Priartinimas (Grido rodinys) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Sumažinimas (Grido rodinys) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Atnaujinti &viršeliai (Grido rodinys) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Atidaryti atminties kortelės adresyną... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Atidaryti duomenų adresyna... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Perjungti į programinės įrangos atvaizdavimą + + &Controller Logs + &Controller Logs - - Open Debugger - Atidaryti derintuvą + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Perkrauti Cheatus/Pataisymus + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Įjungti sistemos konsolę + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Įjungti Derinimo konsolę + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Įjungti Žurnalo langą + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Įjungti išsamesnį žurnalo įrašymą + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Įjungti EE konsolės žurnalo įrašymą + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Įjungti IOP konsolės žurnalo įrašymą + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Išsaugoti vienetinį kadrą GS išmetime + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - Naujas + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Groti + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Sustabdyti + + &Status Bar + &Statuso juosta - - Settings - This section refers to the Input Recording submenu. - Nustatymai + + + Game &List + Žaidimų &sąrašas - - - Input Recording Logs - Įvesties įrašymo žurnalai + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Kontrolerio žurnalai + + &Verbose Status + &Verbose Status - - Enable &File Logging - Įjungti failų žurnalavimą + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Sistemos &rodymas + + + + Game &Properties + Žaidimo ypatybės - - Enable CDVD Read Logging - Įjungti CDVD nuskaitymo žurnalavimą + + Game &Grid + Žaidimų gridas - - Save CDVD Block Dump - Išsaugoti CDVD blokelio išmetimą + + Zoom &In (Grid View) + Priartinimas (Grido rodinys) - - Enable Log Timestamps - Įjungti žurnalo laiko žymas + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Sumažinimas (Grido rodinys) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Atnaujinti &viršeliai (Grido rodinys) + + + + Open Memory Card Directory... + Atidaryti atminties kortelės adresyną... + + + + Input Recording Logs + Įvesties įrašymo žurnalai + + + + Enable &File Logging + Įjungti failų žurnalavimą + + + Start Big Picture Mode Įjunti didelio vaizdo režimą - - + + Big Picture In Toolbar Didelis vaizdas - - Cover Downloader... - Viršelių atsisiuntėjas... - - - - + Show Advanced Settings Rodyti išplėstinius nustatymus - - Recording Viewer - Įrašų peržiūra - - - - + Video Capture Vaizdo įrašymas - - Edit Cheats... - Redaguoti cheats... - - - - Edit Patches... - Redaguoti pataisymus... - - - + Internal Resolution Vidinė raiška - + %1x Scale %1x skalė - + Select location to save block dump: Pasirinkite vieta, į kurią norite įrašyti blokelio išmetimą: - + Do not show again Daugiau nerodyti - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16071,297 +16144,297 @@ PCSX2 komanda neteiks jokios paramos konfigūracijoms, kuriomis keičiami šie n Ar tikrai norite tęsti? - + %1 Files (*.%2) %1 failai (*.%2) - + WARNING: Memory Card Busy ĮSPĖJIMAS: atminties kortelė yra užimta - + Confirm Shutdown Patvirtinkite išjungimą - + Are you sure you want to shut down the virtual machine? Ar tikrai norite išjungti virtualią mašiną? - + Save State For Resume Išsaugoti būseną vėlesniam tęsimui - - - - - - + + + + + + Error Klaida - + You must select a disc to change discs. Norint pakeisti diską, reikia pasirinkti diską. - + Properties... Savybės... - + Set Cover Image... Nustatyti viršelio vaizdą... - + Exclude From List Išskirti iš sąrašo - + Reset Play Time Iš naujo nustatyti grojimo laiką - + Check Wiki Page Patikrinti Wiki puslapi - + Default Boot Numatytasis paleidimas - + Fast Boot Greitas paleidimas - + Full Boot Pilnas paleidimas - + Boot and Debug Paleidimas ir Profilavimas - + Add Search Directory... Pridėti paieškos adresyną... - + Start File Pradėti failą - + Start Disc Pradėti diską - + Select Disc Image Pasirinkite disko atvaizdą - + Updater Error Atnaujinimo klaida - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Atsiprašome, bandote atnaujinti PCSX2 versiją, kuri nėra oficiali GitHub versija. Kad būtų išvengta nesuderinamumo, automatinis atnaujinimas įjungtas tik oficialiose išleidimuose.</p><p>Norėdami gauti oficialią kompiliaciją, atsisiųskite ją iš toliau pateiktos nuorodos:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatinis atnaujinimas dabartinėje platformoje nepalaikomas. - + Confirm File Creation Patvirtinkite failo sukūrimą - + The pnach file '%1' does not currently exist. Do you want to create it? Pnach failas '%1' šiuo metu neegzistuoja. Ar norite jį sukurti? - + Failed to create '%1'. Nepavyko sukurti '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Įvesties įrašymo failai (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Pristabdyta - + Load State Failed Pakrauti būseną nepavyko - + Cannot load a save state without a running VM. Negalima įkelti išsaugotos būsenos be veikiančios virtualios mašinos. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Naujojo ELF negalima įkelti nenustačius virtualios mašinos iš naujo. Ar norite iš naujo nustatyti virtualią mašiną dabar? - + Cannot change from game to GS dump without shutting down first. Negalima pereiti iš žaidimo į GS dump, prieš tai neišjungus. - + Failed to get window info from widget Nepavyko gauti lango informacijos iš valdiklio - + Stop Big Picture Mode Išjungti didelio vaizdo režimą - + Exit Big Picture In Toolbar Išeiti iš didelio vaizdo - + Game Properties Žaidimo ypatybės - + Game properties is unavailable for the current game. Žaidimo ypatybės nėra prieinamos dabartiniame žaidime. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Nepavyko rasti jokių CD/DVD-ROM įrenginių. Įsitikinkite, kad yra prijungtas diskas ir turite pakankamas teises jį pasiekti. - + Select disc drive: Pasirinkite disko įrenginį: - + This save state does not exist. Šios išsaugojimo būsenos nėra. - + Select Cover Image Pasirinkite viršelio vaizdą - + Cover Already Exists Viršelis jau egzistuoja - + A cover image for this game already exists, do you wish to replace it? Šio žaidimo viršelio vaizdas jau yra, ar norite jį pakeisti? - + + - Copy Error Kopijavimo klaida - + Failed to remove existing cover '%1' Nepavyko panaikinti esamo viršelio '%1' - + Failed to copy '%1' to '%2' Nepavyko nukopijuoti '%1' į '%2' - + Failed to remove '%1' Nepavyko panaikinti '%1' - - + + Confirm Reset Patvirtinti atstatymą - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Visi viršelio vaizdų tipai (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Turite pasirinkti kitą failą nei dabartinis viršelio paveikslėlis. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16369,12 +16442,12 @@ This action cannot be undone. Šio veiksmo negalima atšaukti. - + Load Resume State Pakrauti tęsimo būseną - + A resume save state was found for this game, saved at: %1. @@ -16385,89 +16458,89 @@ Do you want to load this state, or start from a fresh boot? Ar norite įkelti šią būseną, ar pradėti iš naujo? - + Fresh Boot Švarus paleidimas - + Delete And Boot Ištrinti ir paleisti - + Failed to delete save state file '%1'. Nepavyko ištrinti išsaugotos būsenos failo '%1'. - + Load State File... Pakrauti būsenos failą... - + Load From File... Pakrauti iš failo... - - + + Select Save State File Pasirinkite išsaugotos būsenos failą - + Save States (*.p2s) Išsaugoti būsenas (*.p2s) - + Delete Save States... Ištrinti Išsaugotas būsenas... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Visų failų tipai (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Vieno takelio neapdoroti vaizdai (*.bin *.iso);;Glosties lapai (*.cue);;Medijos aprašymo failai (*.mdf);;MAME CHD atvaizdai (*.chd);;CSO vaizdai (*.cso);;ZSO atvaizdai (*.zso);;GZ atvaizdai (*.gz);;ELF vykdomieji failai (*.elf);;IRX vykdomieji failai (*.irx);;GS atkarpų (*.gs *.gs.xz *.gs.zst);;Bloko išmetimai (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Visi failų tipai (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Vieno takelio neapdoroti vaizdai (*.bin *.iso);;Cue lapai (*. cue);;Laikmenos aprašymo failas (*.mdf);;MAME CHD atvaizdai (*.chd);;CSO atvaizdai (*.cso);;ZSO atvaizdai (*.zso);;GZ atvaizdai (*.gz);;Blokų išmetimai (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> ĮSPĖJIMAS: atminties kortelė vis dar įrašinėja duomenis. Išjungimas dabar <b>NEGRĮŽTAMAI SUGADINS JŪSŲ ATMINTIES KORTELĘ</b> Rekomenduojama atnaujinti žaidimą ir leisti jam baigti rašyti duomenis į atminties kortelę.<br><br>Ar norite vis tiek išjungti žaidimą ir <b>NEGRĮŽTAMAI SUGADINTI JŪSŲ ATMINTIES KORTELĘ?</b> - + Save States (*.p2s *.p2s.backup) Išsaugoti būsenas (*.p2s *.p2s.backup) - + Undo Load State Atsisakyti krauti būseną - + Resume (%2) Tęsti (%2) - + Load Slot %1 (%2) Išsaugotas Slotas %1 (%2) - - + + Delete Save States Ištrinti Išsaugotas būsenas - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16476,42 +16549,42 @@ The saves will not be recoverable. Išsaugotų būsenų nebus galima atkurti. - + %1 save states deleted. %1 išsaugotos būsenos ištrintos. - + Save To File... Išsaugoti į failą... - + Empty Tuščia - + Save Slot %1 (%2) Išsaugotas Slotas %1 (%2) - + Confirm Disc Change Patvirtinti disko keitimą - + Do you want to swap discs or boot the new image (via system reset)? Ar norite pakeisti diskus, ar paleisti naują atvaizdą (iš naujo nustatant sistemą)? - + Swap Disc Keisti diską - + Reset Perkrauti @@ -16534,25 +16607,25 @@ Išsaugotų būsenų nebus galima atkurti. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Atminties kortelės nuskaitymas nepavyko - + Unable to access memory card: {} @@ -16569,28 +16642,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Atminties kortelė '{}' buvo įrašyta į saugyklą. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Atminties kortelės vėl įdėtos. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17382,7 +17460,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18222,12 +18300,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18238,7 +18316,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18249,7 +18327,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18260,7 +18338,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Jokių cheatu ar pataisymų (widescreen, suderinamumo ar kt.) nerasta / neįjungta. @@ -18361,47 +18439,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Klaida - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Atšaukti @@ -18534,7 +18612,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21747,42 +21825,42 @@ Skenavimas pakartotinai užima daugiau laiko, tačiau bus nustatyti papildomai k VMManager - + Failed to back up old save state {}. Nepavyko sukurti atsarginės kopijos senos išsaugotos būsenos {}. - + Failed to save save state: {}. Nepavyko išsaugoti išsaugojimo būsenos: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Nežinomas žaidimas - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Klaida - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21799,272 +21877,272 @@ Gavus šį BIOS, jis turi būti įdėtas į duomenų katalogo bios aplanką (įr Daugiau instrukcijų rasite DUK ir vadovuose. - + Resuming state Būsena tęsiama - + Boot and Debug Paleidimas ir Profilavimas - + Failed to load save state Nepavyko užkrauti išsaugotos būsenos - + State saved to slot {}. Būklė įrašyta į slota {}. - + Failed to save save state to slot {}. Nepavyko išsaugoti išsaugojimo būsenos į slota {}. - - + + Loading state Būsena kraunama - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. Slote {} nėra išsaugotos būsenos. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Kraunama būsena iš sloto {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Būklės įrašymas į slota {}... - + Frame advancing Kadro greitėjimas į priekį - + Disc removed. Diskas pašalintas. - + Disc changed to '{}'. Diskas pakeistas į '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Nepavyko atidaryti naujo disko atvaizdo '{}'. Grįžtama prie senojo atvaizdo. Klaida buvo: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Nepavyko grįžti prie senojo disko atvaizdo. Išimamas diskas. Klaida buvo: {} - + Cheats have been disabled due to achievements hardcore mode. Cheatai buvo išjungti dėl pasiekimų sunkiojo režimo. - + Fast CDVD is enabled, this may break games. Įjungtas greitasis CDVD, tai gali sugadinti žaidimus. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Ciklo greitis/praleidimas yra ne pagal numatytuosius nustatymus, dėl to žaidimai gali sutrikti arba veikti per lėtai. - + Upscale multiplier is below native, this will break rendering. Padidinto mastelio daugiklis yra mažesnis už vietinį, dėl to sutriks vaizdavimas. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Tekstūros filtravimas nenustatytas į Bilinear (PS2). Dėl to kai kuriuose žaidimuose sutrinka atvaizdavimas. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinijinis filtravimas nenustatytas kaip automatinis. Tai gali sutrikdyti vaizdavimą kai kuriuose žaidimuose. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Techninės įrangos atsisiuntimo režimas nenustatytas į tikslų, todėl kai kuriuose žaidimuose gali sutrikti vaizdo perteikimas. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU apvalinimo režimas nenustatytas pagal numatytuosius nustatymus, tai gali sugadinti kai kuriuos žaidimus. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU prispaudimo režimas nenustatytas pagal numatytuosius nustatymus, dėl to gali sutrikti kai kurie žaidimai. - + VU0 Round Mode is not set to default, this may break some games. VU0 apvalinimo režimas nenustatytas pagal numatytuosius nustatymus, dėl to gali sutrikti kai kurie žaidimai. - + VU1 Round Mode is not set to default, this may break some games. VU1 apvalinimo režimas nenustatytas pagal numatytuosius nustatymus, dėl to gali sutrikti kai kurie žaidimai. - + VU Clamp Mode is not set to default, this may break some games. VU prispaudimo režimas nenustatytas pagal numatytuosius nustatymus, dėl to gali sutrikti kai kurie žaidimai. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Žaidimo pataisymai neįjungti. Gali būti paveiktas suderinamumas su kai kuriais žaidimais. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Suderinamumo pataisymai neįjungti. Gali būti paveiktas suderinamumas su kai kuriais žaidimais. - + Frame rate for NTSC is not default. This may break some games. NTSC kadrų greitis nėra numatytasis. Tai gali sugadinti kai kuriuos žaidimus. - + Frame rate for PAL is not default. This may break some games. PAL kadrų dažnis nėra numatytasis. Tai gali sugadinti kai kuriuos žaidimus. - + EE Recompiler is not enabled, this will significantly reduce performance. EE rekompilatorius nėra įjungtas, tai gerokai sumažins našumą. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 rekompilatorius nėra įjungtas, tai gerokai sumažins našumą. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 rekompilatorius nėra įjungtas, tai gerokai sumažins našumą. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP rekompilatorius nėra įjungtas, tai gerokai sumažins našumą. - + EE Cache is enabled, this will significantly reduce performance. EE spartinančioji atmintinė yra įjungta, tai gerokai sumažins našumą. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE laukimo kilpos aptikimas neįjungtas, tai gali sumažinti našumą. - + INTC Spin Detection is not enabled, this may reduce performance. INTC sukimosi aptikimas neįjungtas, tai gali sumažinti našumą. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Akimirksnis VU1 yra išjungtas, dėl to gali sumažėti našumas. - + mVU Flag Hack is not enabled, this may reduce performance. mVU vėliavos hackas neįjungtas, tai gali sumažinti našumą. - + GPU Palette Conversion is enabled, this may reduce performance. GPU paletės konvertavimas yra įjungtas, gali sumažėti našumas. - + Texture Preloading is not Full, this may reduce performance. Tekstūrų išankstinis įkėlimas nėra pilnas, dėl to gali sumažėti našumas. - + Estimate texture region is enabled, this may reduce performance. Numatomas tekstūros regionas yra įjungtas, tai gali sumažinti našumą. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_lv-LV.ts b/pcsx2-qt/Translations/pcsx2-qt_lv-LV.ts index 0432ad88cc866..bf22fa2d50b43 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_lv-LV.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_lv-LV.ts @@ -740,307 +740,318 @@ Leaderboard Position: {1} of {2} Izmantot Vispārējo Iestatījumu [%1] - + Rounding Mode Noapaļošanas Režīms - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Saspiešanas Režīms - - - + + + Normal (Default) Normāls (Noklusējums) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Iespējot Pārkompilatoru - + - - - + + + - + - - - - + + + + + Checked Pārbaudīts - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Veic tiešā-laika 64-bitu MIPS-IV mašīnkoda bināro tulkojumu uz x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Gaidīšanas Cikla Novēršana - + Moderate speedup for some games, with no known side effects. Mērens paātrinājums dažām spēlēm, bez zināmām blakusparādībām. - + Enable Cache (Slow) Iespējot Kešatmiņu (Lēni) - - - - + + + + Unchecked Neatzīmēts - + Interpreter only, provided for diagnostic. Interpretors paredzēts tikai diagnostikai. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Griezes Noteikšana - + Huge speedup for some games, with almost no compatibility side effects. Milzīgs paātrinājums dažām spēlēm, ar gandrīz nekādas saderības blakusparādībām. - + Enable Fast Memory Access Iespējot Ātras Atmiņas Piekļuvi - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Izmanto Atpakaļ-Inženieriju lai izvairītos no reģistra pietvīkuma katrā atmiņas piekļuves reizē. - + Pause On TLB Miss Pauzēt Uz TLB Kļūmes - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauzē virtuālo mašīnu, kad rodas TLB kļūme, nevis ignorē to un turpina. Ņemiet vērā, ka virtuālā mašīna apstāsies pēc bloka beigām, nevis pēc instrukcijas, kas izraisīja izņēmumu. Skatiet konsoli, lai redzētu adresi, kurā radās nederīga piekļuve. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Noapaļošanas Režīms - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Noapaļošanas Režīms - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Saspiešanas Režīms - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Saspiešanas Režīms - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Iespējot VU0 Pārkompilatoru (Mikrorežīms) - + Enables VU0 Recompiler. Iespējot VU0 Pārkompilatoru. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Iespējot VU1 Pārkompilatoru - + Enables VU1 Recompiler. Iespējot VU1 Pārkompilatoru. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Indikācijas Korekcija - + Good speedup and high compatibility, may cause graphical errors. Labs paātrinājums un augsta saderība, var izraisīt grafiskas kļūdas. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Veic tiešā-laika 32-bitu MIPS-IV mašīnkoda bināro tulkojumu uz x86. - + Enable Game Fixes Iespējot Spēļu Labojumus - + Automatically loads and applies fixes to known problematic games on game start. Automātiski ielādējas un tiek lietoti labojumi zināmajām problemātiskajām spēlēm spēles sākumā. - + Enable Compatibility Patches Iespējot Saderības Izlabojumus - + Automatically loads and applies compatibility patches to known problematic games. Automātiski ielādē un tiek lietoti labojumi zināmajām problemātiskajām spēlēm spēles sākumā. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1263,29 +1274,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Kadru Ātruma Kontrole - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Kadru Ātrums: - + NTSC Frame Rate: NTSC Kadru Ātrums: @@ -1300,7 +1311,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1345,17 +1356,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Iestatījumi - + Slot: Slots: - + Enable Iespējot @@ -1876,8 +1892,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automātisks Atjauninātājs @@ -1917,68 +1933,68 @@ Leaderboard Position: {1} of {2} Atgādināt vēlāk - - + + Updater Error Kļūda Atjaunojot - + <h2>Changes:</h2> <h2>Izmaiņas:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Saglabāšanas Stāvokļa Brīdinājums</h2><p>Instalējot šo atjauninājumu, tiks iestatīti saglabāšanas statusi <b>nesaderīgs</b>. Pirms šī atjauninājuma instalēšanas pārliecinieties, ka esat saglabājis spēles atmiņas kartē, pretējā gadījumā jūs zaudēsiet progresu.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Istatījumu Brīdinājums</h2><p>Instalējot šo atjauninājumu, jūsu programmas konfigurācija tiks atiestatīta. Lūdzu, ņemiet vērā, ka pēc šī atjauninājuma iestatījumi būs jāpārkonfigurē.</p> - + Savestate Warning Saglabāšanas Brīdinājums - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>BRĪDINĀJUMS</h1><p style='font-size:12pt;'>Instalējot šo atjauninājumu, jūsu <b>saglabāšanas stāvokļi kļūs nesaderīgi</b>, <i> pirms turpināšanas, saglabājiet progresu savās atmiņas kartēs</i>.</p><p>Vai vēlaties turpināt?</p> - + Downloading %1... Lejupielādē %1... - + No updates are currently available. Please try again later. Pašlaik nav pieejami atjauninājumi. Lūdzu, vēlāk mēģiniet vēlreiz. - + Current Version: %1 (%2) Esošā Versija: %1 (%2) - + New Version: %1 (%2) Jauna Versija: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... Notiek ielāde... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2142,19 +2158,19 @@ Leaderboard Position: {1} of {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2244,17 +2260,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2279,7 +2295,7 @@ Leaderboard Position: {1} of {2} Unknown - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3236,29 +3252,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3269,40 +3290,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3315,12 +3339,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3329,12 +3368,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3347,13 +3386,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3361,8 +3400,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3370,26 +3409,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4013,63 +4052,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4140,17 +4179,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4802,53 +4856,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4866,48 +4920,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4928,23 +4982,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4954,72 +5008,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5046,86 +5100,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5499,81 +5553,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5707,342 +5756,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6051,1977 +6100,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8030,2071 +8084,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11084,32 +11143,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11585,11 +11654,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11599,10 +11668,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11669,7 +11738,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11735,29 +11804,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11768,7 +11827,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11778,18 +11837,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11841,7 +11900,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11888,7 +11947,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11904,7 +11963,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11940,7 +11999,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11956,31 +12015,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11992,15 +12051,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12028,8 +12087,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12086,18 +12145,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12196,13 +12255,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12216,16 +12275,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12298,25 +12347,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12327,7 +12376,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12386,25 +12435,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12414,6 +12463,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12431,13 +12490,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12460,8 +12519,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12482,7 +12541,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12534,7 +12593,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12549,7 +12608,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12570,50 +12629,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12629,13 +12688,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12646,13 +12705,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12678,7 +12737,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12689,43 +12748,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12834,19 +12893,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12899,7 +12958,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12909,1214 +12968,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metāls - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Programmatūra - + Null Null here means that this is a graphics backend that will show nothing. Nulle - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14124,7 +14183,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14341,254 +14400,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15467,594 +15526,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16067,297 +16140,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16366,12 +16439,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16384,89 +16457,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16475,42 +16548,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16533,25 +16606,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16568,28 +16641,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17381,7 +17459,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18221,12 +18299,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18236,7 +18314,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18246,7 +18324,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18256,7 +18334,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18357,47 +18435,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18530,7 +18608,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21743,42 +21821,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21795,272 +21873,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_nl-NL.ts b/pcsx2-qt/Translations/pcsx2-qt_nl-NL.ts index 87681934c1041..d45d8068b790d 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_nl-NL.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_nl-NL.ts @@ -732,310 +732,321 @@ Leiderbord Positie: {1} of {2} Gebruik Algemene Instellingen [%1] - + Rounding Mode Afrondingsmodus - - - + + + Chop/Zero (Default) Chop/Zero (Standaard) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Verandert hoe PCSX2 de afrondingen afhandelt tijdens het emuleren van de Emotion Engine's Floating Point Unit (EE FPU). Omdat de verschillende FPU's in de PS2 niet voldoen aan internationale normen, hebben sommige spellen verschillende modi nodig om wiskunde correct te doen. De standaardwaarde behandelt de overgrote meerderheid van spellen; <b>deze instelling wijzigen als een spel geen zichtbaar probleem heeft kan instabiliteit en andere problemen veroorzaken.</b> - + Division Rounding Mode Verdeel-afrondingsmodus - + Nearest (Default) Dichtstbijzijnde (Standaard) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Bepaalt hoe de resultaten van de floating-point deling worden afgerond. Sommige spellen hebben specifieke instellingen nodig; <b> het wijzigen van deze instelling wanneer een spel geen zichtbaar probleem heeft, kan instabiliteit veroorzaken.</b> - + Clamping Mode Klemmende modus - - - + + + Normal (Default) Normaal (Standaard) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Verandert hoe PCSX2 de floats in een standaard x86-bereik behandelt. De standaardwaarde behandelt de overgrote meerderheid van spellen; <b>het wijzigen van deze instelling als een spel geen zichtbaar probleem heeft kan instabiliteit veroorzaken.</b> - - + + Enable Recompiler Recompiler Inschakelen - + - - - + + + - + - - - - + + + + + Checked Ingeschakeld - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Voert just-in-time binaire vertaling uit van 64-bit MIPS-IV machinecode naar oorspronkelijke code. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wachtende Lus Detectie - + Moderate speedup for some games, with no known side effects. Matige versnelling voor sommige spellen, zonder bekende bijwerkingen. - + Enable Cache (Slow) Cache Inschakelen (Langzaam) - - - - + + + + Unchecked Uitgeschakeld - + Interpreter only, provided for diagnostic. Interpreter alleen, voorzien voor diagnostiek. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detectie - + Huge speedup for some games, with almost no compatibility side effects. Enorme versnelling voor sommige spellen, met bijna geen compatibiliteit bijeffecten. - + Enable Fast Memory Access Schakel snelle geheugentoegang in - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Maakt gebruik van terug patching om te voorkomen dat elke geheugentoegang wordt doorgespoeld. - + Pause On TLB Miss Pauzeer op TLB Missers - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauzeert de virtuele machine wanneer een TLB mis gaat, in plaats van het te negeren en verder te zetten. Merk op dat de VM gepauzeerd wordt na het einde van het blok, niet op de instructie die de uitzondering veroorzaakt. Raadpleeg de console om te zien waar de ongeldige toegang heeft plaatsgevonden. - + Enable 128MB RAM (Dev Console) Schakel 128 MB RAM in (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Stelt 96 MB extra geheugen beschikbaar voor de virtuele machine. - + VU0 Rounding Mode VU0 afrondingsmodus - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Verandert hoe PCSX2 de afrondingen afhandelt tijdens het emuleren van de Emotion Engine's Vector Unit 0 (EE VU0). Omdat de verschillende FPU's in de PS2 niet voldoen aan internationale normen, hebben sommige spellen verschillende modi nodig om wiskunde correct te doen. De standaardwaarde behandelt de overgrote meerderheid van spellen; <b>deze instelling wijzigen als een spel geen zichtbaar probleem heeft kan instabiliteit en andere problemen veroorzaken.</b> - + VU1 Rounding Mode VU1 afrondingsmodus - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Verandert hoe PCSX2 de afrondingen afhandelt tijdens het emuleren van de Emotion Engine's Vector Unit 1 (EE VU1). Omdat de verschillende FPU's in de PS2 niet voldoen aan internationale normen, hebben sommige spellen verschillende modi nodig om wiskunde correct te doen. De standaardwaarde behandelt de overgrote meerderheid van spellen; <b>deze instelling wijzigen als een spel geen zichtbaar probleem heeft kan instabiliteit en andere problemen veroorzaken.</b> - + VU0 Clamping Mode VU0 Klemmodus - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Verandert hoe PCSX2 de afrondingen afhandelt tijdens het emuleren van de Emotion Engine's Vector Unit 0 (EE VU0). Omdat de verschillende FPU's in de PS2 niet voldoen aan internationale normen, hebben sommige spellen verschillende modi nodig om wiskunde correct te doen. De standaardwaarde behandelt de overgrote meerderheid van spellen; <b>deze instelling wijzigen als een spel geen zichtbaar probleem heeft kan instabiliteit en andere problemen veroorzaken.</b> - + VU1 Clamping Mode VU1 klemmodus - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Verandert hoe PCSX2 de afrondingen afhandelt tijdens het emuleren van de Emotion Engine's Vector Unit 1 (EE VU1). Omdat de verschillende FPU's in de PS2 niet voldoen aan internationale normen, hebben sommige spellen verschillende modi nodig om wiskunde correct te doen. De standaardwaarde behandelt de overgrote meerderheid van spellen; <b>deze instelling wijzigen als een spel geen zichtbaar probleem heeft kan instabiliteit en andere problemen veroorzaken.</b> - + Enable Instant VU1 Instant VU1 Inschakelen - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Voert onmiddellijk VU1 uit. Biedt een bescheiden snelheidsverbetering in de meeste spellen. Veilig voor de meeste spellen, maar een paar spellen kunnen grafische fouten tentoonspreiden. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. VU0 Recompiler (Micro Modus) Inschakelen - + Enables VU0 Recompiler. VU0 Recompiler Inschakelen. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. VU1 Recompiler Inschakelen - + Enables VU1 Recompiler. VU1 Recompiler Inschakelen. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU vlag Hack - + Good speedup and high compatibility, may cause graphical errors. Een goede versnelling en hoge compatibiliteit, kan grafische fouten veroorzaken. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Voert net op tijd binaire vertaling uit van 32-bit MIPS-I machinecode naar x86. - + Enable Game Fixes Schakel Spel reparaties in - + Automatically loads and applies fixes to known problematic games on game start. Laad automatisch fixes en past deze automatisch toe bij de start van spellen met dat issue. - + Enable Compatibility Patches Compatibiliteitspatches inschakelen - + Automatically loads and applies compatibility patches to known problematic games. Laadt en past automatisch compatibiliteitspatches toe bij bekende problematische spellen. - + Savestate Compression Method Savestate Compression Method - + Zstandard - Zstandard + Zstandaard - + Determines the algorithm to be used when compressing savestates. - Determines the algorithm to be used when compressing savestates. + Bepaalt het algoritme dat wordt gebruikt bij het comprimeren van savestates. - + Savestate Compression Level - Savestate Compression Level + Savestate compressie niveau - + Medium - Medium + Medium - + Determines the level to be used when compressing savestates. - Determines the level to be used when compressing savestates. + Bepaalt het niveau dat gebruikt moet worden bij het comprimeren van savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + Slaat automatisch de emulatorstatus op bij het uitschakelen of afsluiten. Je kunt dan de volgende keer direct verdergaan waar je gebleven was. - + Create Save State Backups - Create Save State Backups + Spelstaatsreservekopieën Opslaan - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. - Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. + Maakt een back-upkopie van een opslagstatus als deze al bestaat wanneer de opslag wordt gemaakt. De back-upkopie heeft een .backup-extensie. @@ -1255,29 +1266,29 @@ Leiderbord Positie: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Frame Rate Controle - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Frame Rate: - + NTSC Frame Rate: NTSC Frame Rate: @@ -1292,7 +1303,7 @@ Leiderbord Positie: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1309,45 +1320,50 @@ Leiderbord Positie: {1} of {2} Zstandard - Zstandard + Zstandaard LZMA2 - LZMA2 + LZMA2 Low (Fast) - Low (Fast) + Laag (snel) Medium (Recommended) - Medium (Recommended) + Gemiddeld (aanbevolen) High - High + Hoog Very High (Slow, Not Recommended) - Very High (Slow, Not Recommended) + Zeer Hoog (Traag, niet aanbevolen) + + + + Use Save State Selector + Use Save State Selector - + PINE Settings PINE-instellingen - + Slot: Gleuf: - + Enable Inschakelen @@ -1357,7 +1373,7 @@ Leiderbord Positie: {1} of {2} Analysis Options - Analysis Options + Analyse Instellingen @@ -1869,8 +1885,8 @@ Leiderbord Positie: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automatische Updater @@ -1910,68 +1926,68 @@ Leiderbord Positie: {1} of {2} Herinner mij later - - + + Updater Error Updater fout - + <h2>Changes:</h2> <h2>Wijzigingen:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Waarschuwing voor spelstatus</h2><p>Als u deze update installeert, worden uw opslagstatussen <b>incompatibel</b>. Zorg ervoor dat je je games op een (virtueel) geheugenkaart hebt opgeslagen voordat je deze update installeert, anders verlies je de voortgang.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Instellingswaarschuwingen</h2><p>Het installeren van deze update zal uw programma-configuratie resetten. Houd er rekening mee dat u uw instellingen na deze update opnieuw moet configureren.</p> - + Savestate Warning Savestate Waarschuwing - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WAARSCHUWING</h1><p style='font-size:12pt;'>Als u deze update installeert, zal uw <b>spelopslagstaten opslaan incompatibel maken</b>, <i>weet u zeker dat u alle voortgang in uw geheugenkaarten opslaat voordat u verdergaat</i>.</p><p>Wilt u doorgaan?</p> - + Downloading %1... %1 downloaden... - + No updates are currently available. Please try again later. Er zijn momenteel geen updates beschikbaar. Probeer het later opnieuw. - + Current Version: %1 (%2) Huidige versie: %1 (%2) - + New Version: %1 (%2) Nieuwe versie: %1 (%2) - + Download Size: %1 MB Download grootte: %1 MB - + Loading... Aan het laden... - + Failed to remove updater exe after update. Verwijderen van updater exe mislukt na de update. @@ -2135,19 +2151,19 @@ Leiderbord Positie: {1} of {2} Inschakelen - - + + Invalid Address - Invalid Address + Ongeldig adres - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2237,17 +2253,17 @@ Leiderbord Positie: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. De locatie van de gamedisc bevindt zich op een verwijderbare schijf, prestatieproblemen zoals haperingen en bevriezingen kunnen optreden. - + Saving CDVD block dump to '{}'. CDVD blok dump opslaan naar '{}'. - + Precaching CDVD Voorbewaard CDVD @@ -2272,7 +2288,7 @@ Leiderbord Positie: {1} of {2} Onbekend - + Precaching is not supported for discs. Voorbewaring wordt niet ondersteund voor CD/DVD-schijven. @@ -2733,7 +2749,7 @@ Leiderbord Positie: {1} of {2} R - R + R @@ -2743,12 +2759,12 @@ Leiderbord Positie: {1} of {2} I - I + I II - II + II @@ -3229,29 +3245,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Profiel verwijderen - + Mapping Settings Toewijzingsinstellingen - - + + Restore Defaults Terug Naar Standaardinstellingen - - - + + + Create Input Profile Invoerprofiel aanmaken - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3262,40 +3283,43 @@ Om een aangepast invoerprofiel toe te passen op een spel, ga naar de Speleigensc Voer de naam in voor het nieuwe invoerprofiel: - - - - + + + + + + Error Fout - + + A profile with the name '%1' already exists. Een profiel met de naam '%1' bestaat al. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Wilt u alle sneltoetsbindingen van het momenteel geselecteerde profiel naar het nieuwe profiel kopiëren? Door Nee te selecteren, wordt een volledig leeg profiel aangemaakt. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Wilt u de huidige sneltoetskoppelingen kopiëren van de globale instellingen naar het nieuwe invoerprofiel? - + Failed to save the new profile to '%1'. Het opslaan van het nieuwe profiel naar '%1' is mislukt. - + Load Input Profile Invoerprofiel Laden - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3308,12 +3332,27 @@ Alle huidige globale sneltoetsbindingen worden verwijderd en de profielsbindinge Je kunt deze actie niet ongedaan maken. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Invoerprofiel Verwijderen - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3322,12 +3361,12 @@ You cannot undo this action. Je kunt deze actie niet ongedaan maken. - + Failed to delete '%1'. Verwijderen van '%1' is mislukt. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3340,13 +3379,13 @@ Alle gedeelde sneltoetsverbindingen en configuratie zullen verloren gaan, maar j U kunt deze actie niet ongedaan maken. - + Global Settings Algemene instellingen - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3354,8 +3393,8 @@ U kunt deze actie niet ongedaan maken. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3363,26 +3402,26 @@ U kunt deze actie niet ongedaan maken. %2 - - + + USB Port %1 %2 USB Poort %1 %2 - + Hotkeys Sneltoetsen - + Shared "Shared" refers here to the shared input profile. Universeel Gedeeld - + The input profile named '%1' cannot be found. Het invoerprofiel genaamd '%1' kon niet gevonden worden. @@ -3496,7 +3535,7 @@ U kunt deze actie niet ongedaan maken. Parameters - Parameters + Parameters @@ -4006,63 +4045,63 @@ Wilt u deze overschrijven? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions - Hash Functions + Hash Functies - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4133,17 +4172,32 @@ Wilt u deze overschrijven? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4362,48 +4416,48 @@ Wilt u deze overschrijven? BIOS - BIOS + BIOS DMA Registers - DMA Registers + DMA Registers GIFTags - GIFTags + GIFTags IOP - IOP + IOP CDVD - CDVD + CDVD R3000A - R3000A + R3000A Memcards - Memcards + Memcards Pad - Pad + Pad MDEC - MDEC + MDEC @@ -4795,53 +4849,53 @@ Wilt u deze overschrijven? PCSX2 Debugger - + Run Uitvoeren - + Step Into Stap Naar - + F11 F11 - + Step Over Stap Voorbij - + F10 F10 - + Step Out Stap Uit - + Shift+F11 Shift+F11 - + Always On Top Altijd op voorgrond - + Show this window on top Toon dit venster bovenaan - + Analyze Analyze @@ -4859,48 +4913,48 @@ Wilt u deze overschrijven? Demonteren - + Copy Address Adres kopiëren - + Copy Instruction Hex Kopieer Instructie Hex - + NOP Instruction(s) NOP Instructie(s) - + Run to Cursor Loop naar Muiscursor - + Follow Branch Volg filiaal - + Go to in Memory View Ga naar in Geheugen Weergave - + Add Function Functie toevoegen - - + + Rename Function Hernoem Functie - + Remove Function Verwijder Functie @@ -4921,23 +4975,23 @@ Wilt u deze overschrijven? Assembleer Instructie - + Function name Functie naam - - + + Rename Function Error Hernoem Functie Fout - + Function name cannot be nothing. Functienaam mag niet leeg zijn. - + No function / symbol is currently selected. Er is momenteel geen functie / symbool geselecteerd. @@ -4947,72 +5001,72 @@ Wilt u deze overschrijven? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Herstelfunctie Fout - + Unable to stub selected address. Kan het geselecteerde tijdelijke adres niet plaatsen. - + &Copy Instruction Text &Kopieer Instructietekst - + Copy Function Name Kopieer Functienaam - + Restore Instruction(s) Instructie(s) Terugzetten - + Asse&mble new Instruction(s) Nieuwe instructie(s) sa&menvoegen - + &Jump to Cursor &Spring naar Muiscursor - + Toggle &Breakpoint &Breekpunt in-/uitschakelen - + &Go to Address &Ga naar Adres - + Restore Function De Functie Herstellen - + Stub (NOP) Function Stub (NOP) Functie - + Show &Opcode Toon &Opcode - + %1 NOT VALID ADDRESS %1 GEEN GELDIG ADRES @@ -5039,86 +5093,86 @@ Wilt u deze overschrijven? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Geen Beeldbestand - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Spel: %1 (%2) - + Rich presence inactive or unsupported. Rich presence is inactief of niet ondersteund. - + Game not loaded or no RetroAchievements available. Spel niet geladen of er zijn geen RetroAchievements beschikbaar. - - - - + + + + Error Fout - + Failed to create HTTPDownloader. Kan HTTPDownloader niet aanmaken. - + Downloading %1... %1 aan het downloaden... - + Download failed with HTTP status code %1. Downloaden mislukt met HTTP-statuscode %1. - + Download failed: Data is empty. Download mislukt: Gegevens zijn leeg. - + Failed to write '%1'. Verwijderen van '%1' is mislukt. @@ -5492,81 +5546,76 @@ Wilt u deze overschrijven? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5700,342 +5749,342 @@ De URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Kon geen CD/DVD-ROM apparaten vinden. Zorg ervoor dat u een schijf verbonden hebt en voldoende machtigingen heeft om deze te openen. - + Use Global Setting Gebruik Globale Instellingen - + Automatic binding failed, no devices are available. Automatische koppeling mislukt, er zijn geen apparaten beschikbaar. - + Game title copied to clipboard. Speltitel gekopieerd naar klembord. - + Game serial copied to clipboard. Spelcode gekopieerd naar klembord. - + Game CRC copied to clipboard. Spel CRC gekopieerd naar klembord. - + Game type copied to clipboard. Speltype gekopieerd naar klembord. - + Game region copied to clipboard. Spelgebied gekopieerd naar klembord. - + Game compatibility copied to clipboard. Spelcompatibiliteit gekopieerd naar klembord. - + Game path copied to clipboard. Spelpad gekopieerd naar klembord. - + Controller settings reset to default. Controller-instellingen herstellen naar standaard. - + No input profiles available. Geen invoerprofielen beschikbaar. - + Create New... Maak nieuwe... - + Enter the name of the input profile you wish to create. Voer de naam in van het invoerprofiel dat u wilt maken. - + Are you sure you want to restore the default settings? Any preferences will be lost. Weet u zeker dat u de standaardinstellingen wilt herstellen? Alle voorkeuren zullen verloren gaan. - + Settings reset to defaults. Instellingen teruggezet naar standaard waarden. - + No save present in this slot. Geen save aanwezig in deze slot. - + No save states found. Geen save states gevonden. - + Failed to delete save state. Kan de save state niet verwijderen. - + Failed to copy text to clipboard. Kopiëren van tekst naar klembord mislukt. - + This game has no achievements. Dit spel heeft geen achievements. - + This game has no leaderboards. Deze game heeft geen scorebord. - + Reset System Systeem Herstarten - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore-modus zal niet worden ingeschakeld totdat het systeem is herstart. Wilt u het systeem nu herstarten? - + Launch a game from images scanned from your game directories. Start een spel uit afbeeldingen gescand uit je game mappen. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Onbekend - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. - Uses a light coloured theme instead of the default dark theme. + Gebruikt een licht gekleurd thema in plaats van het standaard donkere thema. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Schakelt tussen volledig scherm en venster wanneer dubbel wordt geklikt. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + Verbergt de muisaanwijzer/cursor wanneer de emulator in de volledige schermmodus is. - + Determines how large the on-screen messages and monitor are. Bepaalt hoe groot de schermberichten zijn en hoe groot de monitor is. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Toont op het scherm berichten wanneer gebeurtenissen plaatsvinden zoals het opslaan van spelstaten die worden gemaakt/geladen, schermafbeelding gemaakt, enz. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Verandert de BIOS-image die wordt gebruikt om toekomstige sessies te starten. - + Automatic Automatisch - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Standaard - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6044,1977 +6093,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Schakelt automatisch over naar de volledige schermmodus wanneer een spel wordt gestart. - + On-Screen Display Weergave op het scherm - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Toont de resolutie van het spel in de rechterbovenhoek van het scherm. - + BIOS Configuration BIOS instellingen - + BIOS Selection BIOS-selectie - + Options and Patches Opties en patches - + Skips the intro screen, and bypasses region checks. Overslaat het intro scherm en omzeilt regionale veiligheden (PAL/NTSC). - + Speed Control Snelheidsbeheer - + Normal Speed Normale Snelheid - + Sets the speed when running without fast forwarding. Stelt de snelheid in wanneer uitgevoerd zonder de snelle vooruit modus te gaan. - + Fast Forward Speed Snelle Doorspoelsnelheid - + Sets the speed when using the fast forward hotkey. Stelt de snelheid in bij het gebruik van de snelle vooruitsneltoets. - + Slow Motion Speed Trage Bewegingssnelheid - + Sets the speed when using the slow motion hotkey. Stelt de snelheid in bij het gebruik van de langzame bewegingssneltoets. - + System Settings Systeemsinstellingen - + EE Cycle Rate EE Cyclustarief - + Underclocks or overclocks the emulated Emotion Engine CPU. Onderbreekt of overklokt de geëmuleerde Emotion Engine CPU. - + EE Cycle Skipping EE Cyclus Overslaan - + Enable MTVU (Multi-Threaded VU1) MTVU (Multi-threaded VU1) Inschakelen - + Enable Instant VU1 Instant VU1 Inschakelen - + Enable Cheats Cheats Inschakelen - + Enables loading cheats from pnach files. Maakt het laden van cheats in pnach-bestanden (patches) mogelijk. - + Enable Host Filesystem Host-bestandssysteem Inschakelen - + Enables access to files from the host: namespace in the virtual machine. Maakt toegang tot bestanden mogelijk van de host: namespace in de virtuele machine. - + Enable Fast CDVD Snelle CDVD Inschakelen - + Fast disc access, less loading times. Not recommended. Versnelde schijf toegang, lagere laadtijden. Niet aanbevolen. - + Frame Pacing/Latency Control Beeldtijdsvariatie/Vertragingsbediening - + Maximum Frame Latency Maximale Beeldsvertraging - + Sets the number of frames which can be queued. Stelt het aantal frames in die in de wachtrij kunnen worden geplaatst. - + Optimal Frame Pacing Optimale Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchroniseer EE en GS threads na elke frame. Laagste invoerlatentie, maar verhoogt de systeemvereisten. - + Speeds up emulation so that the guest refresh rate matches the host. Versnelt emulatie, zodat de gasten verversingskoers overeenkomt met de host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selecteert de API voor het renderen van de geëmuleerde GS. - + Synchronizes frame presentation with host refresh. Synchroniseert beeldspresentatie met host vernieuwing dus de snelheid van je scherm zelf in Hertz/Monitor FPS. - + Display Scherm - + Aspect Ratio Beeldverhouding - + Selects the aspect ratio to display the game content at. Selecteer de beeldverhouding om de spelinhoud weer te geven. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selecteert de beeldverhouding voor weergave wanneer een FMV/cut-scene wordt gedetecteerd als afspelen. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selecteert het algoritme dat wordt gebruikt voor het converteren van de met elkaar verbonden PS2'naar progressieve output voor weergave. - + Screenshot Size Grootte Schermafbeelding - + Determines the resolution at which screenshots will be saved. Bepaalt de resolutie waarmee screenshots worden opgeslagen. - + Screenshot Format Bestandstype Schermafbeelding - + Selects the format which will be used to save screenshots. Selecteert het bestandstype dat wordt gebruikt voor het opslaan van screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pint geëmuleerde threads aan CPU-kernen om mogelijks de prestatie/tijd tussen beelden per second te verbeteren. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Gebruik de software-renderer om punten en sprites te tekenen die gebruik maken van de textuur CLUT. - + Skip Draw Start Tekenen Overslaan Begin - + Object range to skip drawing. Objectbereik om tekening over te slaan. - + Skip Draw End Tekenen Overslaan Einde - + Auto Flush (Hardware) Automatisch Leegmaken (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversie - + Disable Depth Conversion Diepte Conversie Uitschakelen - + Disable Safe Features Schakel Veilige Functies Uit - + This option disables multiple safe features. Deze optie schakelt meerdere veilige functies uit. - + This option disables game-specific render fixes. Deze optie schakelt game-specifieke renderfixes uit. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploadt GS-gegevens bij het renderen van een nieuw frame om sommige effecten nauwkeurig te reproduceren. - + Disable Partial Invalidation Gedeeltelijke Ongeldigverklaring Uitschakelen - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Verwijdert items in de textuur cache wanneer er sprake is van overlapping, in plaats van alleen de overlappende gebieden. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Stelt de textuurcache in staat om het binnenste gedeelte van een vorige framebuffer opnieuw te gebruiken als invoertextuur. - + Read Targets When Closing Lees Doelen Bij Het Sluiten - + Flushes all targets in the texture cache back to local memory when shutting down. Hiermee wist u alle objecten in de textuur cache terug naar het lokale geheugen wanneer u afsluit. - + Estimate Texture Region Geschatte Textuurgebied - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Pogingen om de textuur grootte te verkleinen wanneer spellen het niet zelf instellen (bijvoorbeeld Snowblind games). - + GPU Palette Conversion GPU Kleurenpalette Conversie - + Upscaling Fixes Opschaling correcties - + Adjusts vertices relative to upscaling. Past de hoekpunten aan in relatie bij de opschaling van interne resolutie. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Pas sprite-coördinaten aan. - + Bilinear Upscale Bilineare Opschaling - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Texturen vloeien weg omdat ze bilinear gefilterd zijn tijdens het opschalen. Bijv. Brave zonschittering. - + Adjusts target texture offsets. Aanpassen van texture-compensaties. - + Align Sprite Uitlijnen Sprite - + Fixes issues with upscaling (vertical lines) in some games. Lost problemen op met opschalen (verticale lijnen) in sommige spellen. - + Merge Sprite Samenvoegen Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Vervangt meerdere na-verwerking sprites door een grotere sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Verlaagt de GS precisie om verschillen tussen pixels te voorkomen bij het upscalen. Corrigeert de tekst zoals op Wild Arms spellen. - + Unscaled Palette Texture Draws Niet-geschaalde Kleurpalette Texture-fragmenten - + Can fix some broken effects which rely on pixel perfect precision. Kan sommige defecte effecten corrigeren die afhankelijk zijn van pixel perfecte precisie. - + Texture Replacement Textuur Vervanging - + Load Textures Texturen Laden - + Loads replacement textures where available and user-provided. Laad vervangende texturen, waar beschikbaar en door de gebruiker geleverd. - + Asynchronous Texture Loading Asynchrone Textuur Laden - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Laad vervangende texturen op een arbeidersthread, verminderd microstotter bij het inschakelen van vervangingen. - + Precache Replacements Voorladen Van Vervangingen - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Voorlaad alle vervangende texturen naar het geheugen. Niet nodig met asynchrone lading. - + Replacements Directory Vervangingsmap - + Folders Folders - + Texture Dumping Texturen Ophalen - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Bevat mipmaps bij het dumpen van textures. - + Dump FMV Textures Dump FMV/Cut-scene Texturen - + Allows texture dumping when FMVs are active. You should not enable this. Staat texturedumping toe wanneer FMV's actief zijn. U moet dit niet activeren. - + Post-Processing Nabewerking - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. - Sets the compression algorithm for GS dumps. + Stelt het compressie-algoritme in voor GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About Over ons - + Toggle Fullscreen Ga naar Fullscreen - + Navigate Navigatie - + Load Global State Globale Speltoestand Laden - + Change Page Pagina Wijzigen - + Return To Game Terug Gaan Naar Het Spel - + Select State Selecteer Spelstaat - + Select Game Selecteer Spel - + Change View Weergave Wijzigen - + Launch Options Startopties - + Create Save State Backups Spelstaatsreservekopieën Opslaan - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Geheugenkaart Aanmaken - + Configuration Configuratie - + Start Game Start Spel - + Launch a game from a file, disc, or starts the console without any disc inserted. Start een spel van een bestand, schijf of start de console zonder enige schijf in een (virtuele) lade. - + Changes settings for the application. Wijzigt de instellingen van de toepassing. - + Return to desktop mode, or exit the application. Ga terug naar bureaublad-modus of sluit de applicatie af. - + Back Terug - + Return to the previous menu. Terug naar het vorige menu. - + Exit PCSX2 PCSX2 Afsluiten - + Completely exits the application, returning you to your desktop. Sluit de applicatie volledig af en stuurt u terug naar uw bureaublad. - + Desktop Mode Desktop Modus - + Exits Big Picture mode, returning to the desktop interface. Verlaat de Big Picture-modus, keert terug naar de bureaublad-modus. - + Resets all configuration to defaults (including bindings). Reset alle configuraties naar standaardwaarden (inclusief sneltoetsen). - + Replaces these settings with a previously saved input profile. Vervangt deze instellingen door een eerder opgeslagen invoersprofiel. - + Stores the current settings to an input profile. Opslaat de huidige instellingen naar een invoersprofiel. - + Input Sources Ingangsbronnen - + The SDL input source supports most controllers. De SDL-invoerbron ondersteunt de meeste controllers. - + Provides vibration and LED control support over Bluetooth. Biedt trillingen- en LED-ondersteuning mee met Bluetooth. - + Allow SDL to use raw access to input devices. Sta SDL toe ruwe toegang tot invoerapparaten te gebruiken. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. De XInput bron biedt ondersteuning voor XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Maakt drie extra controller slots mogelijk. Niet ondersteund in alle spellen. - + Attempts to map the selected port to a chosen controller. Probeert de geselecteerde poort te koppelen aan een gekozen controller. - + Determines how much pressure is simulated when macro is active. Bepaalt hoeveel druk wordt gesimuleerd wanneer macro actief is. - + Determines the pressure required to activate the macro. Bepaalt de druk die nodig is om de macro's te activeren. - + Toggle every %d frames Elke %d frames in-/uitschakelen - + Clears all bindings for this USB controller. Verwijdert alle sneltoetsverbindingen voor deze USB-regelaar. - + Data Save Locations Opslaglocaties Voor Gegevens - + Show Advanced Settings Toon Geavanceerde Instellingen - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Het veranderen van deze opties kan ervoor zorgen dat spellen niet functioneren. Wijzig op eigen risico, het PCSX2-team biedt geen ondersteuning voor configuraties met deze instelling. - + Logging Logboekregistratie - + System Console Systeem Console - + Writes log messages to the system console (console window/standard output). Schrijft logberichten naar de systeemconsole (console-venster/standaard uitvoer). - + File Logging Logboek Van Diagnostische Bestanden - + Writes log messages to emulog.txt. Schrijft log-berichten naar emulog.txt. - + Verbose Logging Breedsprakig/Uitgebreid Loggen - + Writes dev log messages to log sinks. Schrijft ontwikkelaarslog-berichten om verzamelingen te loggen. - + Log Timestamps Tijdstempels loggen - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. Voor Tales of Destiny. - + Preload TLB Hack Voorladen TLB Hack - + Needed for some games with complex FMV rendering. Nodig voor wat spellen met complexe FMV-rendering. - + Skip MPEG Hack Sla MPEG Hack Over - + Skips videos/FMVs in games to avoid game hanging/freezes. Slaat video's/FMV's over in spellen om ophanging/bevriezingen te voorkomen. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Bekend om de volgende spellen te beïnvloeden: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Voor SOCOM 2 HUD en Spy Hunter Bezig met Laden moment. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Volledige VU0 Synchronisatie - + Forces tight VU0 sync on every COP2 instruction. Forceert strakke VU0 sync bij elke COP2 instructie. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). Om te controleren op mogelijke float-overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Gebruik nauwkeurige timing voor VU XGKicks (langzamer). - + Load State Spelstaat Laden - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Maakt de geëmuleerde Emotion Engine overslaan van cycli. Helpt een klein deel van spellen zoals SOTC. Meestal is het schadelijk voor prestaties. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Over het algemeen een versnelling op CPUs met 4 of meer kernen. Veilig voor de meeste spellen, maar een paar zijn niet compatibel en kunnen vastlopen. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Voert onmiddellijk VU1 uit. Biedt een bescheiden snelheidsverbetering in de meeste spellen. Veilig voor de meeste spellen, maar een paar spellen kunnen grafische fouten tentoonstellen. - + Disable the support of depth buffers in the texture cache. Schakel de ondersteuning van de diepte-buffer in de texturecache uit. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Voorladen Framegegevens - + Texture Inside RT Textuur Binnen RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Wanneer ingeschakeld, converteert GPU kleurmap-textures, anders zal de CPU dit doen. Het is een ruil tussen GPU en CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps vervangbare texturen naar schijf. Zal de prestatie verminderen. - + Applies a shader which replicates the visual effects of different styles of television set. Past een shader toe die de visuele effecten van verschillende vormen van (beeldbuis-) televisie herhaalt. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Overslaan het weergeven van frames die niets veranderen in 25/30fps spellen. Kan de snelheid verbeteren, maar de toetseninvoersvertraging/maak het beeldstempo nog erger. - + Enables API-level validation of graphics commands. Maakt validatie op API-niveau van grafische commando's mogelijk. - + Use Software Renderer For FMVs Gebruik Software Renderer voor FMVs/Cut-scenes - + To avoid TLB miss on Goemon. Om te voorkomen dat TLB mist op Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Algemenete Tijdshack. Bekend om de volgende spellen te beïnvloeden: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Goed voor cache emulatieproblemen. Bekend om de volgende spellen te beïnvloeden: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Bekend om de volgende spellen te beïnvloeden: Bleach Blade Battlers, Growlanser II en III, Wizardry. - + Emulate GIF FIFO Emuleer GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct maar langzamer. Bekend om de volgende spellen te beïnvloeden: FIFA Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emuleer VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simuleer VIF1 FIFO vooruit. Bekend om de volgende spellen te beïnvloeden: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Vermijd constante recompilatie in sommige spellen. Bekend om de volgende spellen te beïnvloeden: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Voor Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Achterna lopen. Om problemen te voorkomen bij het lezen of schrijven van VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Forceer Blit Interne FPS-detectie - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8023,2071 +8077,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. - Downloads covers from a user-specified URL template. + Downloads covers van een door de gebruiker gespecificeerde URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Gebruik een alternatieve methode om interne FPS te berekenen om onjuiste metingen in sommige spellen te voorkomen. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers - Download Covers + Covers downloaden - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. - When enabled and logged in, PCSX2 will scan for achievements on startup. + Indien ingeschakeld en ingelogd, zal PCSX2 scannen naar achievements bij het opstarten. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound - Mute All Sound + Alle geluiden dempen - + Prevents the emulator from producing any audible sound. - Prevents the emulator from producing any audible sound. + Voorkomt dat de emulator elk hoorbaar geluid produceert. - + Backend Settings - Backend Settings + Backend Instellingen - + Audio Backend - Audio Backend + Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. De audio backend bepaalt hoe frames van de emulator naar de host worden verstuurd. - + Expansion Expansie - + Determines how audio is expanded from stereo to surround for supported games. Bepaalt hoe audio wordt uitgebreid van stereo naar surround voor ondersteunde spellen. - + Synchronization Synchronisatie - + Buffer Size Buffer Grootte - + Determines the amount of audio buffered before being pulled by the host API. Bepaalt de hoeveelheid audio-bufferingen voordat deze worden getrokken door de host API. - + Output Latency Uitvoersvertraging - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Bepaalt hoeveel vertraging er is tussen de audio die wordt opgepakt door de host API, en de luidsprekers. - + Minimal Output Latency Minimale Uitvoersvertraging - + When enabled, the minimum supported output latency will be used for the host API. Wanneer ingeschakeld, zal de minimale ondersteunende uitvoersvertraging worden gebruikt voor de host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Toont pop-upberichten bij het starten, indienen of mislukken van een scorebordsuitdaging. - + When enabled, each session will behave as if no achievements have been unlocked. Wanneer ingeschakeld, zal elke sessie zich voordoen alsof er geen spelprestaties zijn ontgrendeld. - + Account Account - + Logs out of RetroAchievements. Uitloggen van RetroAchievements. - + Logs in to RetroAchievements. Inloggen bij RetroAchievements. - + Current Game Huidig spel - + An error occurred while deleting empty game settings: {} Er is een fout opgetreden bij het verwijderen van lege spel-instellingen: {} - + An error occurred while saving game settings: {} Er is een fout opgetreden tijdens het opslaan van spel-instellingen: {} - + {} is not a valid disc image. {} is geen geldige schijfsimage. - + Automatic mapping completed for {}. - Automatic mapping completed for {}. + Automatische snelknoptoewijzing mislukt voor {}. - + Automatic mapping failed for {}. Automatische snelknoptoewijzing mislukt voor {}. - + Game settings initialized with global settings for '{}'. Spelinstellingen geïnitialiseerd met algemene instellingen voor '{}'. - + Game settings have been cleared for '{}'. Spelinstellingen zijn gewist voor '{}'. - + {} (Current) {} (Huidig) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Laden '{}' is mislukt. - + Input profile '{}' loaded. Invoersprofiel '{}' geladen. - + Input profile '{}' saved. Invoersprofiel '{}' opgeslagen. - + Failed to save input profile '{}'. Opslaan invoersprofiel '{}' is mislukt. - + Port {} Controller Type Virtueel Controller Type - + Select Macro {} Binds Selecteer Macro {} Toewijzigingen - + Port {} Device Poort {} Apparaat - + Port {} Subtype Poort {} Subtype - + {} unlabelled patch codes will automatically activate. {} patch codes zonder text-labelaanduiding zullen automatisch worden geactiveerd. - + {} unlabelled patch codes found but not enabled. {} patch codes zonder text-labelaanduiding gevonden maar niet ingeschakeld. - + This Session: {} Deze sessie: {} - + All Time: {} Gehele Tijd: {} - + Save Slot {0} Spelstaat Slot {0} - + Saved {} {} Opgeslagen - + {} does not exist. {} bestaat niet. - + {} deleted. {} verwijderd. - + Failed to delete {}. Verwijderen van {} is mislukt. - + File: {} Bestand: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Tijd Gespeeld: {} - + Last Played: {} Laatst Gespeeld: {} - + Size: {:.2f} MB Grootte: {:.2f} MB - + Left: Links: - + Top: Boven: - + Right: Rechts: - + Bottom: - Bottom: + Onder: - + Summary Overzicht - + Interface Settings - Interface Settings + Interface Instellingen - + BIOS Settings - BIOS Settings + BIOS Instellingen - + Emulation Settings - Emulation Settings + Emulatie Instellingen - + Graphics Settings - Graphics Settings + Grafische Instellingen - + Audio Settings - Audio Settings + Audio Instellingen - + Memory Card Settings - Memory Card Settings + Geheugenkaart Instellingen - + Controller Settings - Controller Settings + Controller Instellingen - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] - 175% [105 FPS (NTSC) / 87 FPS (PAL)] + 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] - 200% [120 FPS (NTSC) / 100 FPS (PAL)] + 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] - 300% [180 FPS (NTSC) / 150 FPS (PAL)] + 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] - 400% [240 FPS (NTSC) / 200 FPS (PAL)] + 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] - 500% [300 FPS (NTSC) / 250 FPS (PAL)] + 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - 1000% [600 FPS (NTSC) / 500 FPS (PAL)] + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed - 50% Speed + 50% Snelheid - + 60% Speed - 60% Speed + 60% Snelheid - + 75% Speed - 75% Speed + 75% Snelheid - + 100% Speed (Default) - 100% Speed (Default) + 100% Snelheid (Standaard) - + 130% Speed - 130% Speed + 130% Snelheid - + 180% Speed - 180% Speed + 180% Snelheid - + 300% Speed - 300% Speed + 300% Snelheid - + Normal (Default) - Normal (Default) + Normaal (Standaard) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled - Disabled + Uitgeschakeld - + 0 Frames (Hard Sync) - 0 Frames (Hard Sync) + 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatisch (Standaard) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Uit - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Bovenste Veld Eerst, Zaagtand) - + Weave (Bottom Field First, Sawtooth) Weave (Onderste Veld Eerst, Zaagtand) - + Bob (Top Field First) Bob (Bovenste Veld Eerst) - + Bob (Bottom Field First) Bob (Onderste Veld Eerst) - + Blend (Top Field First, Half FPS) Blend (Bovenste Veld Eerst, Halve FPS) - + Blend (Bottom Field First, Half FPS) Blend (Onderste Veld Eerst, Halve FPS) - + Adaptive (Top Field First) Adaptive (Bovenste Veld Eerst) - + Adaptive (Bottom Field First) Adaptive (Onderste Veld Eerst) - + Native (PS2) Oorspronkelijk (PS2) - + Nearest Dichtsbezijnde - + Bilinear (Forced) Bilineair (Geforceerd) - + Bilinear (PS2) Bilineair (PS2) - + Bilinear (Forced excluding sprite) Bilineair (Geforceerd Uitgesloten Van Sprite) - + Off (None) Uitgeschakeld (Geen) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Geforceerd) - + Scaled Geschaald - + Unscaled (Default) Niet-geschaald (Standaard) - + Minimum Minimaal - + Basic (Recommended) Basis (Aanbevolen) - + Medium Medium - + High Hoog - + Full (Slow) Volledig (Traag) - + Maximum (Very Slow) Maximum (Zeer Traag) - + Off (Default) Uit (Standaard) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Gedeeltelijk - + Full (Hash Cache) Volledige (Hash-cache) - + Force Disabled Geforceerd Uitschakelen - + Force Enabled Geforceerd Inschakelen - + Accurate (Recommended) Nauwkeurig (Aanbevolen) - + Disable Readbacks (Synchronize GS Thread) Readbacks Uitschakelen (Synchroniseren GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11075,32 +11134,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11576,11 +11645,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11590,10 +11659,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11660,7 +11729,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11726,29 +11795,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11759,7 +11818,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11769,18 +11828,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11832,7 +11891,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11879,7 +11938,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11895,7 +11954,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11931,7 +11990,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11947,31 +12006,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11983,15 +12042,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12019,8 +12078,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12077,18 +12136,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12187,13 +12246,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12207,16 +12266,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12289,25 +12338,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12318,7 +12367,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12377,25 +12426,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12405,6 +12454,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12422,13 +12481,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12451,8 +12510,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12473,7 +12532,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12525,7 +12584,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12540,7 +12599,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12561,50 +12620,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12620,13 +12679,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12637,13 +12696,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12669,7 +12728,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12680,43 +12739,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12825,19 +12884,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Overslaan Van Dubbele Beelden - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12890,7 +12949,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12900,1214 +12959,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Laden en automatisch toepassen van breedbeeldpatches bij het starten van het spel. Kan problemen veroorzaken. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Laden en automatisch toepassen van geen-interlacingpatches bij het starten van het spel. Kan problemen veroorzaken. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Schakelt interlacing-offset uit, wat vervaging in sommige situaties kan verminderen. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Schakelt bilineaire post-processingsfilter in. Maakt het algehele beeld gladder zoals het op het scherm wordt weergegeven. Corrigeert de positionering tussen pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Schakelt PCRTC-offsets in die het scherm positioneren zoals het spel verzoekt. Handig voor sommige spellen zoals WipEout Fusion vanwege het schudeffect van het scherm, maar kan het beeld wazig maken. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Schakelt de optie in om het overscan-gebied te tonen bij spellen die meer tekenen dan het veilige gebied van het scherm. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. Deze optie schakelt game-specifieke renderfixes uit. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Normaal gesproken behandelt de textuurcache gedeeltelijke ongeldigverklaringen. Helaas is dit erg kostbaar qua CPU-berekeningen. Deze aanpassing vervangt de gedeeltelijke ongeldigverklaring door een volledige verwijdering van de textuur om de CPU-belasting te verminderen. Het helpt bij spellen die de Snowblind-engine gebruiken. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Converteert het 4-bits en 8-bits framebuffer op de CPU in plaats van de GPU. Helpt bij Harry Potter- en Stuntmanspellen. Heeft een grote invloed op de prestaties. - - + + Disabled Uitgeschakeld - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Stelt de textuurcache in staat om het binnenste gedeelte van een vorige framebuffer opnieuw te gebruiken als invoertextuur. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Maakt alle doelen in de textuurcache leeg terug naar het lokale geheugen bij het afsluiten. Kan voorkomen dat visuals verloren gaan bij het opslaan van de status of het wisselen van renderers, maar kan ook grafische corruptie veroorzaken. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Voegt padding toe aan het weergavegebied om ervoor te zorgen dat de verhouding tussen pixels op de host en pixels in de console een geheel getal is. Dit kan leiden tot een scherper beeld in sommige 2D-spellen. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selecteert de kwaliteit waarmee schermafbeeldingen worden gecomprimeerd. Hogere waarden behouden meer detail voor JPEG en verminderen de bestandsgrootte voor PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Randloos Volledig Scherm - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Natief (PS2) (Standaard) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploadt hele texturen tegelijk in plaats van kleine stukjes, vermijdt redundante uploads wanneer mogelijk. Verbetert de prestaties in de meeste spellen, maar kan een kleine selectie langzamer maken. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Het inschakelen van deze optie geeft je de mogelijkheid om de renderer en upscaling-fixes voor je spellen aan te passen. Echter, ALS je dit HEBT INGESCHAKELD, WORDEN AUTOMATISCHE INSTELLINGEN UITGESCHAKELD en kun je automatische instellingen opnieuw inschakelen door deze optie uit te schakelen. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Dwingt een primitieve flush af wanneer een framebuffer ook een invoertextuur is. Dit lost enkele verwerkingseffecten op, zoals de schaduwen in de Jak-serie en radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Deze optie schakelt meerdere veilige functies uit. Het schakelt nauwkeurige Unscale Point en Line rendering uit, wat kan helpen bij Xenosaga-spellen. Het schakelt nauwkeurige GS Memory Clearing uit om door de CPU te worden gedaan, en laat alleen de GPU het afhandelen, wat Kingdom Hearts-spellen kan helpen. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Vervangt post-processing van meerdere plaveisel-sprites door een enkele dikke sprite. Vermindert verschillende upscaling-lijnen. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Verzadiging, contrast en helderheid kunnen worden aangepast. De standaardwaarde voor helderheid, verzadiging en contrast is ingesteld op 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Slaat het synchroniseren met de GS-thread en host-GPU voor GS-downloads over. Kan leiden tot een grote snelheidsboost op tragere systemen, ten koste van veel gebroken grafische effecten. Als games kapot zijn en je hebt deze optie ingeschakeld, schakel deze dan eerst uit. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14115,7 +14174,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14332,254 +14391,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15457,594 +15516,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan Voor Nieuwe Spellen - + &Rescan All Games &Opnieuw scannen van Games Scannen - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16057,297 +16130,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16356,12 +16429,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16374,89 +16447,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16465,42 +16538,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16523,25 +16596,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16558,28 +16631,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17371,7 +17449,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18211,12 +18289,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18225,7 +18303,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18234,7 +18312,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18243,7 +18321,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18344,47 +18422,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18517,7 +18595,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21730,42 +21808,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21782,272 +21860,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_no-NO.ts b/pcsx2-qt/Translations/pcsx2-qt_no-NO.ts index 6c14a17698d3b..11d754242fae2 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_no-NO.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_no-NO.ts @@ -732,307 +732,318 @@ Ledertavle Posisjon: {1} av {2} Bruk globale innstillinger [%1] - + Rounding Mode Avrundings modus - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nærmeste (standard) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Klemme modus - - - + + + Normal (Default) Normal (standard) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Aktiver rekompilator - + - - - + + + - + - - - - + + + + + Checked Avmerket - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Utfører just-in-time binær oversettelse av 64-bit MIPS-IV maskinkode til x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderat hastighetsøkning for noen spill, uten kjente bivirkninger. - + Enable Cache (Slow) Aktiver hurtiglagring (treg) - - - - + + + + Unchecked Uavmerket - + Interpreter only, provided for diagnostic. Kun kommandotolk, gitt for diagnostikk. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC-spinnoppdagelse - + Huge speedup for some games, with almost no compatibility side effects. Svær hastighetsøkning for noen spill, nesten helt uten kompatibilitetsbivirkninger. - + Enable Fast Memory Access Aktiver hurtig minne tilgang - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Bruker backpatching for å unngå registerskylling ved hver minnetilgang. - + Pause On TLB Miss Pause ved TLB avvik - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Setter den virtuelle maskinen i pause når TLB avvik oppstår, i stedet for å ignorere den og fortsette. Legg merke til at VMen vil settes i pause etter blokkens slutt, ikke på instruksjonen som førte til unntaket. Se konsollen for å finne adressen hvor det ugyldige tilganget oppstod. - + Enable 128MB RAM (Dev Console) Aktiver 128MB RAM (Utviklerkonsoll) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Avrunding Modus - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Avrunding Modus - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Klemme Modus - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Klemme Modus - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Aktiver øyeblikkelig VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Aktiver VU0 Rekompilator (Mikro Modus) - + Enables VU0 Recompiler. Aktiverer VU0 Rekompilator. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Aktiver VU1 Rekompilator - + Enables VU1 Recompiler. Aktiverer VU1 Rekompilator. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU-flaggkorrigering - + Good speedup and high compatibility, may cause graphical errors. God hastighet og høy kompatibilitet, kan forårsake grafiske feil. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Utfør en ''just-in-time'' binær oversettelse av 32-bit MIPS-i maskinkode til x86. - + Enable Game Fixes Aktiver spillfikser - + Automatically loads and applies fixes to known problematic games on game start. Laster automatisk inn og bruker rettelser på kjente problematiske spill ved oppstart av spill. - + Enable Compatibility Patches Aktiver kompatibilitetspatcher - + Automatically loads and applies compatibility patches to known problematic games. Laster automatisk inn og bruker kompatibilitetspatcher på kjente problematiske spill. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1255,29 +1266,29 @@ Ledertavle Posisjon: {1} av {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Bildefrekvens Kontroll - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Bildefrekvens: - + NTSC Frame Rate: NTSC Bildefrekvens: @@ -1292,7 +1303,7 @@ Ledertavle Posisjon: {1} av {2} Compression Level: - + Compression Method: Compression Method: @@ -1337,17 +1348,22 @@ Ledertavle Posisjon: {1} av {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Innstillinger - + Slot: Spor: - + Enable Aktiver @@ -1868,8 +1884,8 @@ Ledertavle Posisjon: {1} av {2} AutoUpdaterDialog - - + + Automatic Updater Automatisk oppdateringsverktøy @@ -1909,68 +1925,68 @@ Ledertavle Posisjon: {1} av {2} Påminn Meg Senere - - + + Updater Error Feil ved oppdatering - + <h2>Changes:</h2> <h2>Endringer:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Savestate advarsel</h2><p>ved å installere denne oppdateringen vil det gjøre savestaten<b>inkompatibel</b>. Forsikre deg om at du har lagret fremgang på spill til minnekort før du installerer denne oppdateringen, eller at du vil miste fremdriften.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Advarsel om innstillinger</h2><p>Installasjon av denne oppdateringen vil tilbakestille programkonfigurasjonen. Vær oppmerksom på at du må konfigurere innstillingene på nytt etter denne oppdateringen.</p> - + Savestate Warning lagretilstander Advarsel - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ADVARSEL</h1><p style='font-size:12pt;'>Installering av denne oppdateringen vil gjøre <b>lagretilstandene inkompatible</b>, <i>Pass på at du lagrer til minnekortene dine før du fortsetter </i>.</p><p>Ønsker du å fortsette?</p> - + Downloading %1... Laster ned %1... - + No updates are currently available. Please try again later. Ingen oppdateringer er tilgjengelig for øyeblikket. Prøv igjen senere. - + Current Version: %1 (%2) Nåværende versjon: %1 (%2) - + New Version: %1 (%2) Ny versjon: %1 (%2) - + Download Size: %1 MB Nedlastingsstørrelse: %1 MB - + Loading... Laster... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2134,19 +2150,19 @@ Ledertavle Posisjon: {1} av {2} Aktiver - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2236,17 +2252,17 @@ Ledertavle Posisjon: {1} av {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Plasseringen av spilldisken er på en flyttbar enhet. Det kan oppstå ytelsesproblemer som hakking og frysing - + Saving CDVD block dump to '{}'. Lagring av CDVD-blokkdump til '{}'. - + Precaching CDVD Precaching CDVD @@ -2271,7 +2287,7 @@ Ledertavle Posisjon: {1} av {2} Ukjent - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Slett profil - + Mapping Settings Mapping Settings - - + + Restore Defaults Gjenopprett standardinnstillinger - - - + + + Create Input Profile Opprett inndataprofil - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Feil - + + A profile with the name '%1' already exists. En profil med navnet '%1' finnes allerede. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Vil du kopiere alle bindinger fra gjeldende profil til den nye profilen? Velger du Nei vil den opprette en helt tom profil. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Kunne ikke lagre den nye profilen til '%1'. - + Load Input Profile Last inn inndataprofil - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Slett inndataprofil - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Globale innstillinger - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB-port %1 %2 - + Hotkeys Tastatursnarveier - + Shared "Shared" refers here to the shared input profile. Delt - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4005,63 +4044,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4132,17 +4171,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4794,53 +4848,53 @@ Do you want to overwrite? PCSX2 Feilsøker - + Run Kjør - + Step Into Gå inn - + F11 F11 - + Step Over Gå over - + F10 F10 - + Step Out Gå ut - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4858,48 +4912,48 @@ Do you want to overwrite? Demonter - + Copy Address Kopier adresse - + Copy Instruction Hex Kopier instruksjonshex - + NOP Instruction(s) NOP instruksjon(er) - + Run to Cursor Hopp til markøren - + Follow Branch Følg grenen - + Go to in Memory View Gå til minnevisning - + Add Function Legg til funksjon - - + + Rename Function Endre funksjonsnavn - + Remove Function Fjern funksjon @@ -4920,23 +4974,23 @@ Do you want to overwrite? Monter instruksjon - + Function name Funksjonsnavn - - + + Rename Function Error Endre navn på funksjonsfeil - + Function name cannot be nothing. Funksjonsnavn kan ikke være ingenting. - + No function / symbol is currently selected. Ingen funksjon / symbol er valgt for øyeblikket. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Gjenopprett funksjon - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 IKKE GYLDIG ADRESSE @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x %2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Spill: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inaktiv eller ikke støttet. - + Game not loaded or no RetroAchievements available. Spillet er ikke lastet inn eller så er ingen RetroAchievements tilgjengelig. - - - - + + + + Error Feil - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Laster ned %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5699,342 +5748,342 @@ URL-en var: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Kunne ikke finne noen CD/DVD-ROM enheter. Pass på at du har en optisk enhet koblet til og tilstrekkelig tilgang til å bruke den. - + Use Global Setting Bruk global Instilling - + Automatic binding failed, no devices are available. Automatisk binding feilet, ingen enhet er tilgjengelig. - + Game title copied to clipboard. Spill tittel kopiert til i utklippstavlen. - + Game serial copied to clipboard. Spill nøkkel kopert til utklippstavlen. - + Game CRC copied to clipboard. Spill CRC kopert til utklippstavlen. - + Game type copied to clipboard. Spill type kopert til utklippstavlen. - + Game region copied to clipboard. Spill region kopert til utklippstavlen. - + Game compatibility copied to clipboard. Spill kompatiblitet kopert til utklippstavlen. - + Game path copied to clipboard. Spill bane kopert til utklippstavlen. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Opprett ny... - + Enter the name of the input profile you wish to create. Skriv inn navnet på den inndataprofilen du ønsker å opprette. - + Are you sure you want to restore the default settings? Any preferences will be lost. Er du sikker på at du vil gjenopprette standardinnstillingene? Alle innstillinger vil gå tapt. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. Ingen lagringstilstander funnet. - + Failed to delete save state. Kunne ikke slette lagringstilstand. - + Failed to copy text to clipboard. Kunne ikke kopiere til utklippstavlen. - + This game has no achievements. Dette spillet har ingen prestasjoner. - + This game has no leaderboards. Dette spillet har ingen ledertavler. - + Reset System Omstart systemet - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start konsollen uten noen disk satt inn. - + Start a game from a disc in your PC's DVD drive. Start et spill fra en plate i din PC's DVD-stasjon. - + No Binding Ingen tastebinding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Trykk på en kontrollerknapp eller kontrollerspak nå. - + Timing out in %.0f seconds... Tidsavbrudd om %.0f sekunder... - + Unknown Ukjent - + OK OK - + Select Device Velg enhet - + Details Detaljer - + Options Innstillinger - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Fjerner alle innstillinger satt for dette spillet. - + Behaviour Oppførsel - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Setter emulatoren på pause når et spill startes opp. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauser emulatoren når du minimerer vinduet eller skifter til en annen applikasjon, og fortsetter når du bytter tilbake. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauser emulatoren når du åpner hurtigmeny, og fortsetter når du lukker. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Bestemmer om det skal vises en melding for å bekrefte at emulator/spill slås av når du trykker på hurtigtasten. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Lagrer emulatortilstanden automatisk når du slår av eller avslutter. Du kan da gjenoppta direkte fra der du slapp neste gang. - + Uses a light coloured theme instead of the default dark theme. Bruker et lys farget tema i stedet for standard mørkt tema. - + Game Display Spillvisning - + Switches between full screen and windowed when the window is double-clicked. Veksler mellom full skjerm og vindu når vinduet dobbeltklikkes. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Skjuler musepeker-/markøren når emulatoren er i fullskjerm-modus. - + Determines how large the on-screen messages and monitor are. Bestemmer hvor store melding overlegg på skjerm er. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Viser emulator sin emulatorhastighet øverst i høyre hjørnet av skjerm, med en prosentverdi. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Viser CPU Bruk basert på trådene øverst til høyre hjørne av skjermen. - + Shows the host's GPU usage in the top-right corner of the display. Viser verten's GPU bruk øverst til høyre hjørne av skjermen. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatisk - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Standard - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display Visning på skjermen - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Viser spillets oppløsning øverst til høyre på skjermen. - + BIOS Configuration BIOS konfigurasjon - + BIOS Selection BIOS utvalg - + Options and Patches Alternativer og Patcher - + Skips the intro screen, and bypasses region checks. Hopper over intro skjermen, og forbigår region kontroller. - + Speed Control Hastighet kontroll - + Normal Speed Normal hastighet - + Sets the speed when running without fast forwarding. Setter hastigheten under kjøring uten spoling. - + Fast Forward Speed Hurtig Fremover Fart - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings Systeminnstillinger - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Skru på juksekoder - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Skjerm - + Aspect Ratio Visningsaspekt - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Avfletting - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Skjermklippstørrelse - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Skjermklippformat - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Skjermklippkvalitet - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertikal strekking - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Klipp - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Heltall oppskalering - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-uskarphet - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Intern oppløsning - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilineær filtrering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilineær filtrering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropisk filtrering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Maskinvarefikser - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU-palettkonvertering - + Upscaling Fixes Oppskaleringsfikser - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Tekstur-utskiftning - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Mapper - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filtre - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV-skyggeleggere - + Advanced Avansert - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Tillat eksklusiv fullskjerm - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %dms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Opprett minnekort - + Configuration Oppsett - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Inndatakilder - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Datalagringssteder - + Show Advanced Settings Vis avanserte innstillinger - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Loggføring - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging Fillogging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Detaljert loggføring - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Avrundingsmodus - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Klemmingsmodus - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Aktiver INTC-spinneoppdagelse - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Aktiver venteløkkeoppdagelse - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vektorenheter - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. Ny vektor enhet rekompilert med forbedret kompatibilitet. Anbefalt. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O-prosessor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Grafikk - + Use Debug Device Use Debug Device - + Settings Innstillinger - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Juksekoder - + No patches are available for this game. No patches are available for this game. - + Game Patches Spillpatcher - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Spillkorrigeringer - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Last inn tilstand - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Skru av rendringsfikser - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Halvpiksel-forskyvning - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Bruk programvare-rendrer for FMV-er - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emuler GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emuler VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU-synkronisering - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Lagre tilstanden - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Kompatibilitet: - + No Game Selected Ingen spill er valgt - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Skanner undermapper - + Not Scanning Subdirectories Skanner ikke undermapper - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Omslagsinnstillinger - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Handlinger - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Last ned omslag - + About PCSX2 Om PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Konto - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Nåværende spill - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Nåværende) - + {} (Folder) {} (Mappe) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} Denne økten: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Lagret {} - + {} does not exist. {} does not exist. - + {} deleted. {} slettet. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Venstre: - + Top: Topp: - + Right: Right: - + Bottom: Bunn: - + Summary Sammendrag - + Interface Settings Grensesnittinnstillinger - + BIOS Settings BIOS-innstillinger - + Emulation Settings Emulator Instillinger - + Graphics Settings Grafikkinnstillinger - + Audio Settings Innstillinger for lyd - + Memory Card Settings Minnekort Instillinger - + Controller Settings Kontroller Instillinger - + Hotkey Settings Hurtigtastinnstillinger - + Achievements Settings Prestasjon Instillinger - + Folder Settings Mappeinnstillinger - + Advanced Settings Avanserte innstillinger - + Patches Patcher - + Cheats Juksekoder - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% fart - + 60% Speed 60% fart - + 75% Speed 75% fart - + 100% Speed (Default) 100% fart (Standard) - + 130% Speed 130% fart - + 180% Speed 180% fart - + 300% Speed 300% fart - + Normal (Default) Normal (standard) - + Mild Underclock Mild underklokking - + Moderate Underclock Moderat underklokking - + Maximum Underclock Maksimal underklokking - + Disabled Skrudd av - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None Ingen - + Extra + Preserve Sign Ekstra + bevar tegn - + Full Full - + Extra Ekstra - + Automatic (Default) Automatisk (standard) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Programvare - + Null Null - + Off Av - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Standard (PS2) - + Nearest Nærmest - + Bilinear (Forced) Bilineær (tvunget) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Av (ingen) - + Trilinear (PS2) Trilineær (PS2) - + Trilinear (Forced) Trilineær (tvunget) - + Scaled Skalert - + Unscaled (Default) Ikke skalert (standard) - + Minimum Minimum - + Basic (Recommended) Grunnleggende (anbefales) - + Medium Middels - + High Høy - + Full (Slow) Full (tregt) - + Maximum (Very Slow) Maksimum (veldig tregt) - + Off (Default) Av (standard) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Delvis - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Tvangsdeaktivert - + Force Enabled Tvangsaktivert - + Accurate (Recommended) Nøyaktig (anbefalt) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Skjermoppløsnin - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Dødsone - + Full Boot Full oppstart - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Tilskuermodus - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (skrudd av) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (normal) - + 2 (Aggressive) 2 (aggressiv) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Spesiell (tekstur) - + Special (Texture - Aggressive) Spesiell (tekstur – aggressiv) - + Align To Native Align To Native - + Half Halv - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) Ingen (standard) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Ukomprimert - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negativ - + Positive Positiv - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Spillrutenett - + Game List Spill-liste - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Tittel - + File Title Filtittel - + CRC CRC - + Time Played Tid spilt - + Last Played Nyligst spilt - + Size Størrelse - + Select Disc Image Velg diskbilde - + Select Disc Drive Select Disc Drive - + Start File Start fil - + Start BIOS Start BIOS - + Start Disc Start disk - + Exit Avslutt - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Sti - + Disc Path Diskens filbane - + Select Disc Path Velg disk-filbane - + Copy Settings Kopier innstillinger - + Clear Settings Tøm innstillinger - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Bekreft avslutning - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD-skala - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Tilbakestill innstillinger - + Change Search Directory Change Search Directory - + Fast Boot Rask oppstart - + Output Volume Utdatavolum - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Opprett - + Cancel Avbryt - + Load Profile Last inn profil - + Save Profile Lagre profil - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Kontrollerport {}{} - + Controller Port {} Kontrollerport {} - + Controller Type Kontrollertype - + Automatic Mapping Automatisk kartlegging - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Knapper - + Frequency Frekvens - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB-port {} - + Device Type Enhetstype - + Device Subtype Device Subtype - + {} Bindings {}-tastebindinger - + Clear Bindings Tøm bindinger - + {} Settings {}-innstillinger - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Fortsett spill - + Toggle Frame Limit Skru av/på bildefrekvensgrense - + Game Properties Spillegenskaper - + Achievements Bragder - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Bytt disk - + Close Game Lukk spillet - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Slett lagrefil - + Close Menu Lukk meny - + Delete State Delete State - + Default Boot Standard oppstart - + Reset Play Time Tilbakestill spilletid - + Add Search Directory Legg til søkemappe - + Open in File Browser Åpne i filutforsker - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Standardvisning - + Sort By Sorter etter - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Nettsted - + Support Forums Supportforum - + GitHub Repository GitHub-kodelager - + License Lisens - + Close Lukk - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore-modus - + Sound Effects Lydeffekter - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Brukernavn: {} - + Login token generated on {} Login token generated on {} - + Logout Logg ut - + Not Logged In Ikke pålogget - + Login Logg inn - + Game: {0} ({1}) Spill: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Kortnavn - + Eject Card Løs ut kortet @@ -11074,32 +11133,42 @@ Rekursiv skanning tar lengre tid, men identifiserer filer i underkataloger.Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Last inn patcher på nytt - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. Det er ingen patcher tilgjengelig for dette spillet. @@ -11575,11 +11644,11 @@ Rekursiv skanning tar lengre tid, men identifiserer filer i underkataloger. - - - - - + + + + + Off (Default) Av (Standard) @@ -11589,10 +11658,10 @@ Rekursiv skanning tar lengre tid, men identifiserer filer i underkataloger. - - - - + + + + Automatic (Default) Automatisk (Standard) @@ -11659,7 +11728,7 @@ Rekursiv skanning tar lengre tid, men identifiserer filer i underkataloger. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilineær (jevn) @@ -11725,29 +11794,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Skjerm forskyvninger - + Show Overscan Vis overskann - - - Enable Widescreen Patches - Aktiver bredskjerm patcher - - - - Enable No-Interlacing Patches - Aktiver patcher som deaktiverer sammenfletting - - + Anti-Blur Anti-uskarphet @@ -11758,7 +11817,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Deaktiver sammenflettingsforskyvning @@ -11768,18 +11827,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Skjermbilde størrelse: - + Screen Resolution Skjermoppløsning - + Internal Resolution Intern oppløsning - + PNG PNG @@ -11831,7 +11890,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilineær (PS2) @@ -11878,7 +11937,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Uskalert (standard) @@ -11894,7 +11953,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Grunnleggende (Anbefalt) @@ -11930,7 +11989,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11946,31 +12005,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU-palettkonvertering - + Manual Hardware Renderer Fixes Manuelle maskinvare-renderingsfikser - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11982,15 +12041,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12018,8 +12077,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (skrudd av) @@ -12076,18 +12135,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12186,13 +12245,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12206,16 +12265,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12288,25 +12337,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Skru av rendringsfikser @@ -12317,7 +12366,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12376,25 +12425,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump teksturer - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV teksturer - + Load Textures Last teksturer @@ -12404,6 +12453,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12421,13 +12480,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache teksturer @@ -12450,8 +12509,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Ingen (Standard) @@ -12472,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12524,7 +12583,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12539,7 +12598,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontrast: - + Saturation Fargemetning @@ -12560,50 +12619,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Vis indikatorer - + Show Resolution Vis oppløsning - + Show Inputs Vis inndata - + Show GPU Usage Vis GPU-bruk - + Show Settings Vis innstillinger - + Show FPS Vis Bildefrekvens - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12619,13 +12678,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Vis statistikk - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12636,13 +12695,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Vis CPU-bruk - + Warn About Unsafe Settings Advar om utrygge innstillinger @@ -12668,7 +12727,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12679,43 +12738,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12824,19 +12883,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Hopp over eksisterende duplikatbilder - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12889,7 +12948,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Vis Hastighetsprosent @@ -12899,1214 +12958,1214 @@ Swap chain: see Microsoft's Terminology Portal. Deaktiver bildebufferhenting - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Programvare - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4 x - + 8x 8 x - + 16x 16 x - - - - + + + + Use Global Setting [%1] Bruk Globale Innstillinger [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Uavmerket - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Laster automatisk inn og bruker bredbildepatcher ved du starter spillet. Kan forårsake problemer. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Laster automatisk inn og bruker patcher som deaktiverer sammenfletting når du starter spillet. Kan forårsake problemer. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Deaktiverer forskyvning av sammenfletting, noe som kan redusere uskarphet i enkelte situasjoner. - + Bilinear Filtering Bilineær filtrering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Aktiverer bilineært etterbehandlingsfilter. Jevner ut hele bildet etter hvert som det vises på skjermen. Korrigerer plasseringen mellom piksler. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Aktiverer PCRTC forskyvninger som posisjonerer skjermen slik spillet krever. Nyttig for enkelte spill, for eksempel WipEout Fusion, på grunn av risteeffekten. Dette kan gjøre bildet uskarpt. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Aktiverer muligheten til å vise overskanningsområdet på spill som tegner mer enn det sikre området på skjermen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Kontroller nøyaktighetsnivået for emuleringen av GS-blandingsenheten.<br> Jo høyere innstilling, desto mer nøyaktig emuleres blanding i shaderen, og desto høyere blir hastighetsreduksjonen.<br> Vær oppmerksom på at Direct3Ds blanding er redusert i forhold til OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Programvare CLUT gjengiver - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. Dette alternativet deaktiverer spillspesifikke gjengivelsesfikser. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Rammebuffer-konvertering - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Deaktivert - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Videobitfrekvens - + 6000 kbps 6000 kb/s - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Lydbitfrekvens - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Tillat eksklusiv fullskjerm - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Avkrysset - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Visningsaspekt - + Auto Standard (4:3/3:2 Progressive) Auto-standard (4:3/3:2 progressiv) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Avfletting - + Screenshot Size Skjermbilde størrelse - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Skjermbilde-format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Skjermbilde kvalitet - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertikal strekking - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Modus for fullskjerm - - - + + + Borderless Fullscreen Kantløs fullskjerm - + Chooses the fullscreen resolution and frequency. Velger oppløsning og frekvens på fullskjerm. - + Left Venstre - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Øverst - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Høyre - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bunn - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Standard (PS2) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Teksturfiltrering - + Trilinear Filtering Trilineær filtrering - + Anisotropic Filtering Anisotropisk filtrering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Teksturforhåndsinnlasting - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 tråder - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw rekkevidde start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Tegning av flater fra flaten i boksen til venstre til flaten som er angitt i boksen til høyre, hoppes helt over. - + Skipdraw Range End Skipdraw rekkevidde slutt - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Dette alternativet deaktiverer flere trygge funksjoner. Deaktiverer nøyaktig punkt og linjegjengivelse uten skalering, noe som kan hjelpe Xenosaga-spill. Deaktiverer nøyaktig GS Memory Clearing som gjøres på CPU-en, og lar GPU-en håndtere det, noe som kan hjelpe Kingdom Hearts-spill. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Halv pikselforskyvning - + Might fix some misaligned fog, bloom, or blend effect. Kan kanskje fikse feiljustert tåke-, bloom- eller blandingseffekt. - + Round Sprite Rund Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Korrigerer samplingen av 2D-sprite-teksturer ved oppskalering. Fikser linjer i sprites i spill som Ar tonelico ved oppskalering. Alternativet Halv er for flate sprites, Full er for alle sprites. - + Texture Offsets X Teksturforskyvninger X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Forskyvning for ST/UV-teksturkoordinatene. Løser noen merkelige teksturproblemer og kan også fikse noen justeringer i etterbehandlingen. - + Texture Offsets Y Teksturforskyvninger Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Senker GS-presisjonen for å unngå mellomrom mellom piksler ved oppskalering. Fikser teksten på Wild Arms-spill. - + Bilinear Upscale Bilineær oppskalering - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Kan jevne ut teksturer på grunn av bilineær filtrering ved oppskalering. F.eks. solblending i spillet Modig. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Erstatter etterbehandling av flere "paving sprites" med én enkelt fet sprite. Dette reduserer oppskaleringslinjer. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Kontrasttilpasset skjerping - + Sharpness Skarphet - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Gjør det mulig å justere metning, kontrast og lysstyrke. Verdiene for lysstyrke, metning og kontrast er som standard 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Bruker FXAA anti-aliasing algoritmen for å forbedre den visuelle kvaliteten på spillene. - + Brightness Lysstyrke - - - + + + 50 50 - + Contrast Kontrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Bruker en shader som gjenskaper de visuelle effektene til ulike typer fjernsyn. - + OSD Scale OSD-skala - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Viser meldinger på skjermen når hendelser inntreffer, for eksempel når lagringstilstander opprettes/lastes inn, skjermbilder tas osv. - + Shows the internal frame rate of the game in the top-right corner of the display. Viser spillets interne bildefrekvens øverst til høyre på skjermen. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Viser systemets gjeldende emuleringshastighet øverst til høyre i på skjermen i prosent. - + Shows the resolution of the game in the top-right corner of the display. Viser spillets oppløsning øverst til høyre på skjermen. - + Shows host's CPU utilization. Viser vertens CPU-utnyttelse. - + Shows host's GPU utilization. Viser vertens GPU-utnyttelse. - + Shows counters for internal graphical utilization, useful for debugging. Viser tellere for intern grafisk bruk, nyttig for feilsøking. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Viser advarsler når innstillinger er aktivert som kan ødelegge spill. - - + + Leave It Blank La det stå tomt - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kb/s - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump kompresjon - + Change the compression algorithm used when creating a GS dump. Endre komprimeringsalgoritmen som brukes når du oppretter en GS-dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Bruker en blit-presentasjonsmodell i stedet for flipping ved bruk av Direct3D 11-rendereren. Dette gir vanligvis lavere ytelse, men kan være nødvendig for enkelte strømmeapplikasjoner eller for å frigjøre bildefrekvenser på enkelte systemer. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS nedlastingsmodus - + Accurate Nøyaktig - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Hopp over synkronisering med GS-tråden og verts-GPUen for GS-nedlastinger. Kan gi en stor hastighetsøkning på tregere systemer, men på bekostning av mange ødelagte grafiske effekter. Hvis spill er ødelagt og du har dette alternativet aktivert, bør du deaktivere det først. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Standard - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14114,7 +14173,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14331,254 +14390,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Åpne pausemeny - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Skru av/på pause - + Toggle Fullscreen Skru av/på fullskjem - + Toggle Frame Limit Skru av/på bildefrekvensgrense - + Toggle Turbo / Fast Forward Skru av/på turbo / fort film - + Toggle Slow Motion Skru av/på sakte film - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Øk målhastigheten - + Decrease Target Speed Reduser målhastigheten - + Increase Volume Øk volum - + Decrease Volume Senk volum - + Toggle Mute Skru av/på lyddemping - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Tilbakestill virtuell maskin - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Last tilstand fra spor 5 - + Save State To Slot 6 Lagre tilstand til spor 6 - + Load State From Slot 6 Last tilstand fra spor 6 - + Save State To Slot 7 Lagre tilstand til spor 7 - + Load State From Slot 7 Last tilstand fra spor 7 - + Save State To Slot 8 Lagre tilstand til spor 8 - + Load State From Slot 8 Last tilstand fra spor 8 - + Save State To Slot 9 Lagre tilstand til spor 9 - + Load State From Slot 9 Last tilstand fra spor 9 - + Save State To Slot 10 Lagre tilstand til spor 10 - + Load State From Slot 10 Last tilstand fra spor 10 @@ -15456,594 +15515,608 @@ Right click to clear binding &System - - - + + Change Disc Bytt disk - - + Load State Last inn tilstand - - Save State - Lagre tilstanden - - - + S&ettings &Innstillinger - + &Help &Hjelp - + &Debug &Problemløsing - - Switch Renderer - Bytt renderer - - - + &View &Vis - + &Window Size &Vindusstørrelse - + &Tools Verk&tøy - - Input Recording - Inndataopptak - - - + Toolbar Verktøylinje - + Start &File... Start &fil … - - Start &Disc... - Start &disk … - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Skann etter nye spill - + &Rescan All Games &Skann alle spill på nytt - + Shut &Down Skru &av - + Shut Down &Without Saving Skru av &uten å lagre - + &Reset &Tilbakestill - + &Pause &Pause - + E&xit A&vslutt - + &BIOS &BIOS - - Emulation - Emulering - - - + &Controllers &Kontrollere - + &Hotkeys &Hurtigtaster - + &Graphics &Grafikk - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullskjerm - - - + Resolution Scale Oppløsningsskalering - + &GitHub Repository... &GitHub-kodelager ... - + Support &Forums... Brukerstøtte&forumer ... - + &Discord Server... &Discord-tjener ... - + Check for &Updates... Se etter &oppdateringer ... - + About &Qt... Om &Qt... - + &About PCSX2... &Om PCSX2 ... - + Fullscreen In Toolbar Fullskjerm - + Change Disc... In Toolbar Bytt disk ... - + &Audio &Lyd - - Game List - Spill-liste - - - - Interface - Grensesnitt + + Global State + Global State - - Add Game Directory... - Legg til spillmappe ... + + &Screenshot + &Skjermbilde - - &Settings - &Innstillinger + + Start File + In Toolbar + Start fil - - From File... - Fra fil … + + &Change Disc + &Change Disc - - From Device... - Fra enhet … + + &Load State + &Load State - - From Game List... - Fra spill-liste… + + Sa&ve State + Sa&ve State - - Remove Disc - Fjern disken + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Skjermbilde + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start fil + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start disk - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Skru av - + Reset In Toolbar Tilbakestill - + Pause In Toolbar Pause - + Load State In Toolbar Last inn tilstand - + Save State In Toolbar Lagre tilstanden - + + &Emulation + &Emulation + + + Controllers In Toolbar Kontrollere - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Innstillinger - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Skjermklipp - + &Memory Cards &Minnekort - + &Network && HDD &Nettverk && HDD - + &Folders &Mapper - + &Toolbar &Verktøylinje - - Lock Toolbar - Lås verktøylinjen + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Statuslinje + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Detaljert status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Spill-&liste + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System&visning + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Spill&egenskaper + + E&nable System Console + E&nable System Console - - Game &Grid - Spill&rutenett + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Vis titler (Rutenettvisning) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Forstørr (Rutenettvisning) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Forminsk (Rutenettvisning) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Oppfrisk &omslag (Rutenettvisning) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Åpne minnekortmappe ... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Åpne datamappe ... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Skru av/på programvare-rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Åpne feilsøking + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Skru på detaljert loggføring + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - Ny + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Spill av + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stopp + + &Status Bar + &Statuslinje - - Settings - This section refers to the Input Recording submenu. - Innstillinger + + + Game &List + Spill-&liste - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Kontrollerloggføringer + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System&visning + + + + Game &Properties + Spill&egenskaper - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Spill&rutenett - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Forstørr (Rutenettvisning) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Forminsk (Rutenettvisning) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Oppfrisk &omslag (Rutenettvisning) + + + + Open Memory Card Directory... + Åpne minnekortmappe ... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Storbilde-modus - - + + Big Picture In Toolbar Storbilde - - Cover Downloader... - Omslagsnedlaster ... - - - - + Show Advanced Settings Vis avanserte innstillinger - - Recording Viewer - Recording Viewer - - - - + Video Capture Videoopptak - - Edit Cheats... - Rediger juksekoder … - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Intern oppløsning - + %1x Scale %1x Skala - + Select location to save block dump: Select location to save block dump: - + Do not show again Ikke vis igjen - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16056,297 +16129,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 filer (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Bekreft avslutning - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Feil - + You must select a disc to change discs. Du må velge en disk for å kunne bytte disker. - + Properties... Egenskaper... - + Set Cover Image... Bestem omslagsbilde ... - + Exclude From List Ekskluder fra listen - + Reset Play Time Tilbakestill spilletid - + Check Wiki Page Check Wiki Page - + Default Boot Standard oppstart - + Fast Boot Hurtig Oppstart - + Full Boot Full Oppstart - + Boot and Debug Start opp og feilsøk - + Add Search Directory... Legg til søkemappe ... - + Start File Start fil - + Start Disc Start disk - + Select Disc Image Velg diskbilde - + Updater Error Feil hos oppdateringsverktøy - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Bekreft filoppretting - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Pauset - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Spillegenskaper - + Game properties is unavailable for the current game. Spillegenskaper er utilgjengelige for det nåværende spillet. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Velg diskstasjon: - + This save state does not exist. This save state does not exist. - + Select Cover Image Velg omslagsbilde - + Cover Already Exists Omslaget finnes allerede - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Feil ved kopiering - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Bekreft tilbakestilling - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16355,12 +16428,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16373,89 +16446,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Oppfrisket oppstart - + Delete And Boot Slett og start opp - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Last inn fra fil ... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Fortsett (%2) - + Load Slot %1 (%2) Last inn spor %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16464,42 +16537,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Lagre til fil … - + Empty Tomt innhold - + Save Slot %1 (%2) Lagreplass %1 (%2) - + Confirm Disc Change Bekreft diskskifte - + Do you want to swap discs or boot the new image (via system reset)? Ønsker du å skifte disker eller å starte opp fra en ny fil (via systemomstart)? - + Swap Disc Bytt disk - + Reset Tilbakestill @@ -16522,25 +16595,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16557,28 +16630,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Minnekort ble satt inn igjen. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17370,7 +17448,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18210,12 +18288,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18224,7 +18302,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18343,47 +18421,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18516,7 +18594,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21729,42 +21807,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Ukjent spill - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Feil - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21781,272 +21859,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disken ble fjernet. - + Disc changed to '{}'. Disken ble endret til '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_pl-PL.ts b/pcsx2-qt/Translations/pcsx2-qt_pl-PL.ts index fa17d4519eb1c..b2a11b7857a7a 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_pl-PL.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_pl-PL.ts @@ -742,307 +742,318 @@ Pozycja w tabeli wyników: {1} z {2} Użyj ustawień globalnych [%1] - + Rounding Mode Tryb zaokrąglania - - - + + + Chop/Zero (Default) Chop / Zero (domyślne) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Zmienia sposób, w jaki PCSX2 obsługuje zaokrąglanie podczas emulowania jednostki zmiennoprzecinkowej Emotion Engine (EE FPU). Ponieważ poszczególne FPU w PS2 nie są zgodne z międzynarodowymi standardami, niektóre gry mogą potrzebować różnych trybów do prawidłowego wykonywania matematyki. Wartość domyślna obsługuje zdecydowaną większość gier; <b>modyfikowanie tego ustawienia, gdy gra nie ma widocznego problemu, może spowodować niestabilność.</b> - + Division Rounding Mode Tryb zaokrąglania dywizji - + Nearest (Default) Najbliższy (domyślne) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Określa sposób zaokrąglenia wyników dzielenia zmiennoprzecinkowego. Niektóre gry wymagają określonych ustawień; <b>modyfikacja tego ustawienia, gdy gra nie ma widocznych problemów, może spowodować niestabilność.</b> - + Clamping Mode Tryb mocowania - - - + + + Normal (Default) Normalne (domyślne) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Zmienia sposób, w jaki PCSX2 obsługuje utrzymywanie pływaków w standardowym zakresie x86. Wartość domyślna obsługuje zdecydowaną większość gier; <b>modyfikowanie tego ustawienia, gdy gra nie ma widocznego problemu, może spowodować niestabilność.</b> - - + + Enable Recompiler Włącz rekompilator - + - - - + + + - + - - - - + + + + + Checked Zaznaczone - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Natychmiastowo tłumaczy 64-bitowy kod maszynowy MIPS-IV na kod zrozumiały dla x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wykrywanie pętli oczekujących - + Moderate speedup for some games, with no known side effects. Umiarkowane przyspieszenie niektórych gier bez znanych działań niepożądanych. - + Enable Cache (Slow) Włącz pamięć podręczną (wolne) - - - - + + + + Unchecked Odznaczone - + Interpreter only, provided for diagnostic. Wyłącznie interpreter, na potrzeby diagnostyki. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Wykrywanie wirowania INTC - + Huge speedup for some games, with almost no compatibility side effects. Ogromne przyśpieszenie dla niektórych gier, niemal bez żadnych niepożądanych działań. - + Enable Fast Memory Access Włącz szybki dostęp do pamięci - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Używa łatania wstecznego, aby uniknąć czyszczenia rejestru przy każdym dostępu do pamięci. - + Pause On TLB Miss Wstrzymaj przy pominięciu TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Zatrzymuje maszynę wirtualną, gdy wystąpi ominięcie TLB, zamiast ignorować je i kontynuować. Pamiętaj, że maszyna wirtualna zatrzyma się po zakończeniu bloku, a nie na instrukcji, która spowodowała wyjątek. Sprawdź konsolę, aby zobaczyć adres, w którym wystąpił nieprawidłowy dostęp. - + Enable 128MB RAM (Dev Console) Włącz 128 MB RAM (Konsola deweloperska) - + Exposes an additional 96MB of memory to the virtual machine. Nadaje maszynie wirtualnej dodatkowe 96MB pamięci. - + VU0 Rounding Mode Tryb zaokrąglania VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Zmienia sposób obsługi zaokrąglania PCSX2 podczas emulowania Emotion Engine - jednostka wektora 0 (EE VU0). Wartość domyślna obsługuje zdecydowaną większość gier; <b>modyfikowanie tego ustawienia, gdy gra nie ma widocznego problemu, spowoduje problemy ze stabilnością i/lub błedy gry.</b> - + VU1 Rounding Mode Tryb zaokrąglania VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Zmienia sposób obsługi zaokrąglania PCSX2 podczas emulowania Emotion Engine - jednostka wektora 1 (EE VU1). Wartość domyślna obsługuje zdecydowaną większość gier; <b>modyfikowanie tego ustawienia, gdy gra nie ma widocznego problemu, spowoduje problemy ze stabilnością i/lub błedy gry.</b> - + VU0 Clamping Mode Tryb mocowania VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Zmienia sposób, w jaki PCSX2 obsługuje utrzymywanie pływaków w standardowym zakresie x86 w jednostce wektora 0 (EE VU0) będący częścią Emotion Engine. Wartość domyślna obsługuje zdecydowaną większość gier; <b>modyfikowanie tego ustawienia, gdy gra nie ma widocznego problemu, może spowodować niestabilność.</b> - + VU1 Clamping Mode Tryb mocowania VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Zmienia sposób, w jaki PCSX2 obsługuje utrzymywanie pływaków w standardowym zakresie x86 w jednostce wektora 1 (EE VU1) będący częścią Emotion Engine. Wartość domyślna obsługuje zdecydowaną większość gier; <b>modyfikowanie tego ustawienia, gdy gra nie ma widocznego problemu, może spowodować niestabilność.</b> - + Enable Instant VU1 Włącz natychmiastowe VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Uruchamia VU1 natychmiastowo. Zapewnia umiarkowaną poprawę szybkości większości gier. Bezpieczne dla większości gier, ale kilka z nich może wykazywać błędy graficzne. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Włącz rekompilator VU0 (Tryb mikro) - + Enables VU0 Recompiler. Włącza rekompilator VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Włącz rekompilator VU1 - + Enables VU1 Recompiler. Włącza rekompilator VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Poprawka dla flagi mVU - + Good speedup and high compatibility, may cause graphical errors. Dobre przyspieszenie i duża kompatybilność, ale może powodować błędy graficzne. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Natychmiastowo tłumaczy 32-bitowy kod maszynowy MIPS-IV na kod zrozumiały dla x86. - + Enable Game Fixes Włącz poprawki do gier - + Automatically loads and applies fixes to known problematic games on game start. Automatycznie ładuje i stosuje poprawki do znanych problematycznych gier przy uruchomieniu. - + Enable Compatibility Patches Włącz kompatybilne łatki - + Automatically loads and applies compatibility patches to known problematic games. Automatycznie ładuje i stosuje poprawki do gier, znanych z bycia problematycznych. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1265,29 +1276,29 @@ Pozycja w tabeli wyników: {1} z {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Kontrola częstotliwości klatek - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: Częstotliwość klatek PAL: - + NTSC Frame Rate: Częstotliwość klatek NTSC: @@ -1302,7 +1313,7 @@ Pozycja w tabeli wyników: {1} z {2} Compression Level: - + Compression Method: Compression Method: @@ -1347,17 +1358,22 @@ Pozycja w tabeli wyników: {1} z {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings Ustawienia PINE - + Slot: Gniazdo: - + Enable Włącz @@ -1878,8 +1894,8 @@ Pozycja w tabeli wyników: {1} z {2} AutoUpdaterDialog - - + + Automatic Updater Asystent aktualizacji @@ -1919,68 +1935,68 @@ Pozycja w tabeli wyników: {1} z {2} Przypomnij mi później - - + + Updater Error Błąd aktualizacji - + <h2>Changes:</h2> <h2>Zmiany:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Ostrzeżenie o zapisach stanu</h2><p>Instalacja tej aktualizacji sprawi, że twoje zapisy <b>będą niekompatybilne</b>. Upewnij się, że gry zostały zapisane na karcie pamięci przed zainstalowaniem tej aktualizacji lub stracisz postęp.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Ostrzeżenie o ustawieniach</h2><p>Instalacja tej aktualizacji zresetuje konfigurację programu. Pamiętaj, że będziesz musiał ponownie skonfigurować swoje ustawienia po tej aktualizacji.</p> - + Savestate Warning Ostrzeżenie dotyczące zapisywania stanu - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>UWAGA</h1><p style='font-size:12pt;'>Instalacja tej aktualizacji sprawi, że twoje <b>zapisy będą niekompatybilne</b>. <i>upewnij się, że gry zostały zapisane na karcie pamięci przed zainstalowaniem tej aktualizacji</i>.</p><p>Jesteś pewien, że chcecz kontynuować?</p> - + Downloading %1... Pobieram %1... - + No updates are currently available. Please try again later. Brak dostępnych aktualizacji. Proszę spróbować później. - + Current Version: %1 (%2) Bieżąca wersja: %1 (%2) - + New Version: %1 (%2) Nowa wersja: %1 (%2) - + Download Size: %1 MB Rozmiar pobierania: %1 MB - + Loading... Wczytywanie... - + Failed to remove updater exe after update. Nie udało się usunąć pliku wykonywalnego asystenta aktualizacji po aktualizacji. @@ -2144,19 +2160,19 @@ Pozycja w tabeli wyników: {1} z {2} Włącz - - + + Invalid Address Nieprawidłowy adres - - + + Invalid Condition Nieprawidłowy warunek - + Invalid Size Nieprawidłowy rozmiar @@ -2246,17 +2262,17 @@ Pozycja w tabeli wyników: {1} z {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Płyta z grą znajduje się na dysku zewnętrznym, mogą wystąpić problemy z wydajnością. - + Saving CDVD block dump to '{}'. Zapisywanie zrzutu bloku CDVD do '{}'. - + Precaching CDVD Wstępne buforowanie CDVD @@ -2281,7 +2297,7 @@ Pozycja w tabeli wyników: {1} z {2} Nieznany - + Precaching is not supported for discs. Wstępne buforowanie nie jest wspierane dla płyt. @@ -3238,29 +3254,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Usuń profil - + Mapping Settings Ustawienia przypisania - - + + Restore Defaults Przywróć domyślne - - - + + + Create Input Profile Utwórz profil sterowania - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3271,40 +3292,43 @@ Aby zastosować własny profil sterowania do gry, przejdź do jej właściwości Wprowadź nazwę dla nowego profilu: - - - - + + + + + + Error Błąd - + + A profile with the name '%1' already exists. Profil o nazwie '%1' już istnieje. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Czy chcesz skopiować wszystkie przypisania przycisków z aktualnie wybranego profilu do nowego profilu? Wybierając "Nie" utworzysz całkowicie pusty profil. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Czy chcesz skopiować bieżący skrót klawiszowy z ustawień globalnych do nowego profilu? - + Failed to save the new profile to '%1'. Nie udało się zapisać nowego profilu do '%1'. - + Load Input Profile Wczytaj profil sterowania - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3317,12 +3341,27 @@ Wszystkie bieżące globalnie przypisane przyciski zostaną usunięte, a załado Nie możesz cofnąć tej akcji. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Usuń profil sterowania - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3331,12 +3370,12 @@ You cannot undo this action. Nie możesz cofnąć tej czynności. - + Failed to delete '%1'. Nie udało się usunąć '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3349,13 +3388,13 @@ Wszystkie współdzielone przypisane przyciski i konfiguracja zostaną utracone, Nie możesz cofnąć tej akcji. - + Global Settings Ustawienia globalne - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3363,8 +3402,8 @@ Nie możesz cofnąć tej akcji. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3372,26 +3411,26 @@ Nie możesz cofnąć tej akcji. %2 - - + + USB Port %1 %2 Port USB %1 %2 - + Hotkeys Skróty klawiszowe - + Shared "Shared" refers here to the shared input profile. Udostępnij - + The input profile named '%1' cannot be found. Nie można znaleźć profilu sterowania o nazwie '%1'. @@ -4015,63 +4054,63 @@ Czy chcesz go nadpisać? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4142,17 +4181,32 @@ Czy chcesz go nadpisać? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4804,53 +4858,53 @@ Czy chcesz go nadpisać? Debugger PCSX2 - + Run Uruchom - + Step Into Pejdź do - + F11 F11 - + Step Over Przekrocz - + F10 F10 - + Step Out Wyjdź z - + Shift+F11 Shift+F11 - + Always On Top Zawsze na wierzchu - + Show this window on top Pokaż to okno na wierzchu - + Analyze Analyze @@ -4868,48 +4922,48 @@ Czy chcesz go nadpisać? Demontaż - + Copy Address Skopiuj adres - + Copy Instruction Hex Skopiuj Hex Instrukcji - + NOP Instruction(s) Instrukcja(-e) NOP - + Run to Cursor Przejdź do kursora - + Follow Branch Obserwuj gałąź - + Go to in Memory View Przejdź do widoku pamięci - + Add Function Dodaj Funkcję - - + + Rename Function Zmień nazwę funkcji - + Remove Function Usuń funkcję @@ -4930,23 +4984,23 @@ Czy chcesz go nadpisać? Instrukcja montażu - + Function name Nazwa funkcji - - + + Rename Function Error Błąd zmiany nazwy funkcji - + Function name cannot be nothing. Nazwa funkcji nie może być pusta. - + No function / symbol is currently selected. Nie wybrano żadnej funkcji / symbolu. @@ -4956,72 +5010,72 @@ Czy chcesz go nadpisać? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Błąd przywracania funkcji - + Unable to stub selected address. Nie można odłączyć wybranego adresu. - + &Copy Instruction Text &Kopiuj tekst Instrukcji - + Copy Function Name Kopiuj nazwę funkcji - + Restore Instruction(s) Instrukcje przywracania - + Asse&mble new Instruction(s) Dodaj nowe instrukcje - + &Jump to Cursor &Przejdź do kursora - + Toggle &Breakpoint Przełącz punkt przerwania - + &Go to Address &Przejdź do adresu - + Restore Function Przywróć funkcję - + Stub (NOP) Function Funkcja odgałęzienia (NOP) - + Show &Opcode &Pokaż kod operacji - + %1 NOT VALID ADDRESS %1 NIEPRAWIDŁOWY ADRES @@ -5048,86 +5102,86 @@ Czy chcesz go nadpisać? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Brak obrazu - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Gra: %1 (%2) - + Rich presence inactive or unsupported. Usługa Rich Presence nieaktywna lub nieobsługiwana. - + Game not loaded or no RetroAchievements available. Gra nie załadowana lub brak dostępnych osiągnięć. - - - - + + + + Error Błąd - + Failed to create HTTPDownloader. Nie udało się utworzyć HTTPDownloader. - + Downloading %1... Pobieranie %1... - + Download failed with HTTP status code %1. Pobieranie nie powiodło się z kodem statusu HTTP %1. - + Download failed: Data is empty. Pobieranie nie powiodło się: Dane są puste. - + Failed to write '%1'. Nie udało się zapisać '%1'. @@ -5501,81 +5555,76 @@ Czy chcesz go nadpisać? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Dzielenie przez zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Nieprawidłowe wyrażenie. - FileOperations @@ -5709,342 +5758,342 @@ Adres URL to: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Nie można znaleźć żadnych urządzeń CD/DVD-ROM. Upewnij się, że masz podłączony dysk i wystarczające uprawnienia, aby uzyskać do niego dostęp. - + Use Global Setting Użyj ustawień globalnych - + Automatic binding failed, no devices are available. Automatyczne powiązanie nie powiodło się, żadne urządzenia nie są dostępne. - + Game title copied to clipboard. Tytuł gry skopiowany do schowka. - + Game serial copied to clipboard. Region gry skopiowany do schowka. - + Game CRC copied to clipboard. CRC do gry skopiowany do schowka. - + Game type copied to clipboard. Typ gry skopiowany do schowka. - + Game region copied to clipboard. Region gry skopiowany do schowka. - + Game compatibility copied to clipboard. Kompatybilność z grą skopiowana do schowka. - + Game path copied to clipboard. Ścieżka do gry skopiowana do schowka. - + Controller settings reset to default. Ustawienia kontrolera zostały zresetowane do domyślnych. - + No input profiles available. Brak dostępnych profili sterowania. - + Create New... Utwórz nowy... - + Enter the name of the input profile you wish to create. Wprowadź nazwę profilu sterowania, który chcesz utworzyć. - + Are you sure you want to restore the default settings? Any preferences will be lost. Czy na pewno chcesz przywrócić ustawienia domyślne? Wszelkie ustawienia zostaną utracone. - + Settings reset to defaults. Ustawienia zresetowane do domyślnych. - + No save present in this slot. Brak zapisów w tym slocie. - + No save states found. Nie znaleziono stanów zapisu gier. - + Failed to delete save state. Nie udało się usunąć zapisanego stanu. - + Failed to copy text to clipboard. Nie udało się skopiować tekstu do schowka. - + This game has no achievements. Ta gra nie ma żadnych osiągnięć. - + This game has no leaderboards. Ta gra nie ma żadnych rankingów. - + Reset System Zresetuj system - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Tryb Hardcore nie zostanie włączony, dopóki system nie zostanie zresetowany. Czy chcesz zresetować system teraz? - + Launch a game from images scanned from your game directories. Uruchom grę ze znalezionych obrazów z katalogów gry. - + Launch a game by selecting a file/disc image. Uruchom grę, wybierając plik / obraz płyty. - + Start the console without any disc inserted. Uruchom konsolę bez włożonej płyty. - + Start a game from a disc in your PC's DVD drive. Rozpocznij grę ze stacji dysków DVD w twoim komputerze. - + No Binding Nie przypisano - + Setting %s binding %s. Ustawiam powiązanie dla %s - %s. - + Push a controller button or axis now. Naciśnij przycisk kontrolera albo oś. - + Timing out in %.0f seconds... Limit czasu upływa za %.0f sekund... - + Unknown Nieznane - + OK OK - + Select Device Wybierz urządzenie - + Details Szczegóły - + Options Opcje - + Copies the current global settings to this game. Kopiuje bieżące ustawienia globalne do tej gry. - + Clears all settings set for this game. Usuwa wszystkie ustawienia dla tej gry. - + Behaviour Ogólne - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Zapobiega aktywacji wygaszacza ekranu i uśpieniu hosta, gdy działa emulacja. - + Shows the game you are currently playing as part of your profile on Discord. Wyświetla, w jaką obecnie grę grasz jako część twojego profilu na Discordzie. - + Pauses the emulator when a game is started. Pauzuje emulator po uruchomieniu gry. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Wstrzymuje emulator przy zminimalizowaniu okna lub przełączeniu się na inną aplikację, wznawiając działanie dopiero po powrocie. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Wstrzymuje emulator, kiedy otwierasz szybkie menu, i wznawia pracę po jego zamknięciu. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Określa czy monit zostanie wyświetlony, aby potwierdzić wyłączenie emulatora/gry po naciśnięciu klawisza skrótu. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatycznie zapisuje stan emulatora przy wyłączeniu albo wyjściu. Możesz wrócić do dokładnie tego samego miejsca po powrocie. - + Uses a light coloured theme instead of the default dark theme. Używa jasnego motywu zamiast domyślnego, ciemnego motywu. - + Game Display Wyświetlacz gry - + Switches between full screen and windowed when the window is double-clicked. Przełącza pomiędzy pełnym ekranem i oknem po dwukrotnym kliknięciu okna. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Ukrywa wskaźnik/kursor myszy, gdy emulator pracuje w trybie pełnoekranowym. - + Determines how large the on-screen messages and monitor are. Określa, jak duże są komunikaty na ekranie i monitorze. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Wyświetla powiadomienia na ekranie przy czynnościach tj. tworzenie i wczytywanie zapisów, robienie zrzutów ekranu itp. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Pokazuje szybkość emulacji w procentach w prawym górnym rogu. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Pokazuje numer klatek wideo (v-sync) wyświetlanych na sekundę przez system w prawym górnym rogu. - + Shows the CPU usage based on threads in the top-right corner of the display. Pokazuje użycie procesora na podstawie wątków w prawym górnym rogu wyświetlacza. - + Shows the host's GPU usage in the top-right corner of the display. Pokazuje zużycie GPU hosta w prawym górnym rogu wyświetlacza. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Pokazuje statystyki o cieniowaniu geometrycznym (prymitywy, wezwania do rysowania obrazu) w prawym górnym rogu. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Pokazuje wskaźniki, kiedy stany takie jak przewijanie czy wstrzymywanie, są aktywne. - + Shows the current configuration in the bottom-right corner of the display. Pokazuje bieżącą konfigurację w prawym dolnym rogu ekranu. - + Shows the current controller state of the system in the bottom-left corner of the display. Pokazuje bieżący stan kontrolera systemu w lewym dolnym rogu ekranu. - + Displays warnings when settings are enabled which may break games. Wyświetla ostrzeżenia, gdy włączone są ustawienia, które mogą zepsuć działanie gry. - + Resets configuration to defaults (excluding controller settings). Resetuje konfigurację do ustawień domyślnych (z wyjątkiem ustawień kontrolera). - + Changes the BIOS image used to start future sessions. Zmienia obraz BIOS-u używany do uruchamiania przyszłych sesji. - + Automatic Automatyczne - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Domyślne - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6053,1977 +6102,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatycznie przełącza się na tryb pełnoekranowy, gdy gra jest uruchomiona. - + On-Screen Display Wyświetlacz ekranowy - + %d%% -%d%% - + Shows the resolution of the game in the top-right corner of the display. Pokazuje rozdzielczość, w jakiej wyświetlana jest gra w prawym górnym rogu ekranu. - + BIOS Configuration Konfiguracja BIOS-u - + BIOS Selection Wybór BIOS-u - + Options and Patches Opcje i łatki - + Skips the intro screen, and bypasses region checks. Pomija ekran wprowadzania i pomija kontrolę regionu. - + Speed Control Kontrola prędkości - + Normal Speed Normalna prędkość - + Sets the speed when running without fast forwarding. Ustawia prędkość podczas działania bez szybkiego przewijania. - + Fast Forward Speed Prędkość przewijania - + Sets the speed when using the fast forward hotkey. Ustawia prędkość podczas używania klawisza szybkiego przewijania. - + Slow Motion Speed Prędkość spowolnienia - + Sets the speed when using the slow motion hotkey. Ustawia prędkość podczas używania klawisza spowolnienia. - + System Settings Ustawienia systemu - + EE Cycle Rate Wskaźnik cyklu EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Obniża lub podkręca emulowany procesor Emotion Engine. - + EE Cycle Skipping Pomijanie cykli EE - + Enable MTVU (Multi-Threaded VU1) Włącz MTVU (wielowątkowy VU1) - + Enable Instant VU1 Włącz natychmiastowe VU1 - + Enable Cheats Włącz kody - + Enables loading cheats from pnach files. Umożliwia wczytywanie kodów z plików pnach. - + Enable Host Filesystem Włącz system plików hosta - + Enables access to files from the host: namespace in the virtual machine. Umożliwia dostęp do plików gospodarza: przestrzeń nazw w maszynie wirtualnej. - + Enable Fast CDVD Włącz szybkie CDVD - + Fast disc access, less loading times. Not recommended. Szybki odczyt z płyty, krótsze czasy ładowania. Nierekomendowane. - + Frame Pacing/Latency Control Pacing / Kontrola opóźnień - + Maximum Frame Latency Maksymalne opóźnienie klatek - + Sets the number of frames which can be queued. Określa liczbę klatek, które mogą być umieszczone w kolejce. - + Optimal Frame Pacing Optymalne nakładanie ramek - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronizuj wątki EE i GS po każdej klatce. Najniższe opóźnienie, ale zwiększa wymagania systemowe. - + Speeds up emulation so that the guest refresh rate matches the host. Przyśpiesza emulację tak, aby częstotliwość odświeżania gościa odpowiadała gospodarzowi. - + Renderer Silnik renderujący - + Selects the API used to render the emulated GS. Wybiera API używane do renderowania emulowanego GS. - + Synchronizes frame presentation with host refresh. Synchronizuje wyświetlanie klatek z odświeżaniem monitora gospodarza. - + Display Wyświetlacz - + Aspect Ratio Format obrazu - + Selects the aspect ratio to display the game content at. Wybiera format obrazu do wyświetlania zawartości gry. - + FMV Aspect Ratio Override Zastąpienie proporcji ekranu dla FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Wybiera format obrazu do wyświetlania, gdy wykryto odtworzenie FMV. - + Deinterlacing Usuwanie przeplotu - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Wybiera algorytm używany do konwersji przełożonego wyjścia PS2 do progresywnego dla wyświetlacza. - + Screenshot Size Rozmiar zrzutu ekranu - + Determines the resolution at which screenshots will be saved. Określa rozdzielczość, w której zrzuty ekranu będą zapisywane. - + Screenshot Format Format zrzutów ekranu - + Selects the format which will be used to save screenshots. Wybiera format, który będzie używany do zapisywania zrzutów ekranu. - + Screenshot Quality Jakość zrzutu ekranu - + Selects the quality at which screenshots will be compressed. Wybiera jakość, w jakiej zrzuty ekranu będą kompresowane. - + Vertical Stretch Rozciągnięcie pionowe - + Increases or decreases the virtual picture size vertically. Zwiększa lub zmniejsza rozmiar wirtualnego obrazu pionowo. - + Crop Przytnij - + Crops the image, while respecting aspect ratio. Przycinanie obrazu, przy jednoczesnym poszanowaniu formatu obrazu. - + %dpx %dpx - - Enable Widescreen Patches - Włącz poprawki szerokiego ekranu - - - - Enables loading widescreen patches from pnach files. - Umożliwia wczytywanie łatek dla ekranów panoramicznych z plików pnach. - - - - Enable No-Interlacing Patches - Włącz łatki usuwające przeplot obrazu - - - - Enables loading no-interlacing patches from pnach files. - Umożliwia wczytywanie łatek usuwających przeplot obrazu z plików pnach. - - - + Bilinear Upscaling Interpolacja dwuliniowa - + Smooths out the image when upscaling the console to the screen. Wygładza obraz przy interpolacji konsoli do ekranu. - + Integer Upscaling Interpolacja z użyciem liczby całkowitej - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Dodaje dopełnienie do obszaru wyświetlania, aby stosunek pikseli hosta do pikseli na konsoli był liczbą całkowitą. Może wyostrzyć obraz w niektórych grach 2D. - + Screen Offsets Przesunięcia ekranu - + Enables PCRTC Offsets which position the screen as the game requests. Włącza kompensacje PCRTC, które umieszczają ekran tak jak żąda gry. - + Show Overscan Pokaż overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Włącza opcję pokazywania obszaru overscan w grach, które rysują więcej niż bezpieczny obszar ekranu. - + Anti-Blur Anty-rozmycie - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Włącza wewnętrzne poprawki przeciw rozmyciu. Mniej wierne renderowaniu używanego przez PS2, ale sprawi, że wiele gier będzie wyglądało na mniej rozmyte. - + Rendering Renderowanie - + Internal Resolution Rozdzielczość wewnętrzna - + Multiplies the render resolution by the specified factor (upscaling). Mnoży rozdzielczość renderowania przez określony współczynnik (interpolacja). - + Mipmapping Mipmapowanie - + Bilinear Filtering Filtrowanie bilinearne - + Selects where bilinear filtering is utilized when rendering textures. Wybiera, gdzie filtrowanie dwuliniowe jest używane podczas renderowania tekstur. - + Trilinear Filtering Filtrowanie trójliniowe - + Selects where trilinear filtering is utilized when rendering textures. Wybiera, gdzie filtrowanie trójliniowe jest używane podczas renderowania tekstur. - + Anisotropic Filtering Filtrowanie Anizotropowe - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Wybiera typ rozpraszania, gdy gra prosi o to. - + Blending Accuracy Dokładność mieszania - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Określa poziom dokładności podczas emulowania trybów mieszania nieobsługiwanych przez API grafiki gospodarza. - + Texture Preloading Wstępne ładowanie tekstur - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Przesyła pełne tekstury do GPU przy użyciu zamiast tylko używanych części. Może poprawić wydajność w niektórych grach. - + Software Rendering Threads Wątki renderowania programowego - + Number of threads to use in addition to the main GS thread for rasterization. Liczba wątków do użycia w dodatku do głównego wątku GS do rasteryzacji. - + Auto Flush (Software) Automatyczne oczyszczanie (w oprogramowaniu) - + Force a primitive flush when a framebuffer is also an input texture. Wymuś prymitywne oczyszczenie, gdy bufor ramek jest także teksturą wejściową. - + Edge AA (AA1) Krawędź AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Umożliwia emulację anti-aliasingu krawędzi GS (AA1). - + Enables emulation of the GS's texture mipmapping. Umożliwia emulację mipmapowania tekstury GS. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Pokazuje bieżącą wersję PCSX2 w prawym górnym rogu ekranu. - + Shows the currently active input recording status. Pokazuje obecny status nagrywania danych wejściowych. - + Shows the currently active video capture status. Pokazuje obecny status przechwytywania wideo. - + Shows a visual history of frame times in the upper-left corner of the display. Pokazuje wizualną historię czasu trwania klatek w lewym górnym rogu. - + Shows the current system hardware information on the OSD. Pokazuje obecne dane o sprzęcie na ekranie. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Przypina wątki emulacji do rdzeni CPU, aby potencjalnie polepszyć wydajność/zmienność czasu trwania klatki. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Poprawki sprzętowe - + Manual Hardware Fixes Ręczne poprawki sprzętu - + Disables automatic hardware fixes, allowing you to set fixes manually. Wyłącza automatyczne poprawki sprzętowe, umożliwiając ręczne poprawki. - + CPU Sprite Render Size Rozmiar renderowania sprite'a procesora - + Uses software renderer to draw texture decompression-like sprites. Używa renderowania programowego do rysowania sprite'ów wyglądających jakby służyły do dekompresji tekstur. - + CPU Sprite Render Level Poziom renderowania sprite'a procesora - + Determines filter level for CPU sprite render. Określa poziom filtra dla renderowania sprite'a procesora. - + Software CLUT Render Renderowanie programowe CLUT - + Uses software renderer to draw texture CLUT points/sprites. Używa renderowania programowego do rysowania sprite'ów/punktów tekstur CLUT. - + Skip Draw Start Początek pominięcia rysownia - + Object range to skip drawing. Zakres obiektu do pominięcia rysowania. - + Skip Draw End Koniec pominięcia rysownia - + Auto Flush (Hardware) Automatyczne oczyszczanie (sprzętowe) - + CPU Framebuffer Conversion Konwersja bufora klatek procesora - + Disable Depth Conversion Wyłącz konwersję głębi - + Disable Safe Features Wyłącz bezpieczne funkcje - + This option disables multiple safe features. Ta opcja wyłącza wiele bezpiecznych funkcji. - + This option disables game-specific render fixes. Ta opcja wyłącza specyficzne dla gry, poprawki renderowania. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Przekazuje dane GS przy renderowaniu nowej klatki w celu dokładniejszej reprodukcji niektórych efektów. - + Disable Partial Invalidation Wyłącz częściowe unieważnienie - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Usuwa wpisy tekstur w pamięci podręcznej przy nachodzeniu na siebie, zamiast tylko na zachodzących miejscach. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Pozwala pamięci podręcznej tekstury na ponowne użycie wewnętrznej części poprzedniego bufora klatki jako teksturę wejściową. - + Read Targets When Closing Odczytaj cele podczas zamykania - + Flushes all targets in the texture cache back to local memory when shutting down. Podczas zamykania opróżnia wszystkie cele w pamięci podręcznej tekstur z powrotem do pamięci lokalnej. - + Estimate Texture Region Szacowany region tekstur - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Próbuje zmniejszyć rozmiar tekstury, gdy gry nie ustawiają go samodzielnie (np. gry używające silnika Snowblind). - + GPU Palette Conversion Konwersja palety karty graficznej - + Upscaling Fixes Poprawki interpolacji - + Adjusts vertices relative to upscaling. Dostosowuje wierzchołki w stosunku do interpolacji. - + Native Scaling Skalowanie natywne - + Attempt to do rescaling at native resolution. Próba zmiany skalowania do natywnej rozdzielczości. - + Round Sprite Zaokrąglij sprite - + Adjusts sprite coordinates. Dostosowuje współrzędne spite'a. - + Bilinear Upscale Dwuliniowa interpolacja - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Można wygładzać tekstury z powodu filtrowania dwuliniowego podczas interpolacji. np. blask słońca w Brave: The Search for Spirit Dancer. - + Adjusts target texture offsets. Dostosowuje przesunięcia docelowej tekstury. - + Align Sprite Dostosuj sprite - + Fixes issues with upscaling (vertical lines) in some games. Naprawia problemy ze interpolacją (linie pionowe) w niektórych grach. - + Merge Sprite Scal sprite - + Replaces multiple post-processing sprites with a larger single sprite. Zastępuje sprite'y po obróbce końcowej większym, pojedynczym spritem. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Obniża precyzję GS, aby uniknąć przerw pomiędzy pikselamami podczas interpolacji. Naprawia tekst w grach Wild Arms. - + Unscaled Palette Texture Draws Nieskalowana paleta rysowania tekstur - + Can fix some broken effects which rely on pixel perfect precision. Może naprawić zepsute efekty, bazujące na idealnej precyzji pikseli. - + Texture Replacement Podmiana tekstur - + Load Textures Załaduj tekstury - + Loads replacement textures where available and user-provided. Ładuje podmienione tekstury, o ile są dostępne i dostarczane przez użytkownika. - + Asynchronous Texture Loading Asynchroniczne wczytywanie tekstur - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Załaduje zamienniki tekstur w wątku robotniczym, redukując mikrościnki, gdy zamienniki są włączone. - + Precache Replacements Wstępnie ładuj do pamięci podręcznej wszystkie zamienniki - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Wstępnie ładuje wszystkie podmianki tekstur do pamięci. Nie jest konieczne gdy asynchroniczne ładowanie jest włączone. - + Replacements Directory Katalog zamienników - + Folders Foldery - + Texture Dumping Zgrywanie tekstur - + Dump Textures Zgraj tekstury - + Dump Mipmaps Zgraj minimapy - + Includes mipmaps when dumping textures. Dołącza mipmapy podczas zgrywania tekstur. - + Dump FMV Textures Zgraj tekstury z FMV - + Allows texture dumping when FMVs are active. You should not enable this. Pozwala na zgrywanie tekstury, gdy FMV jest aktywne. Nie powinieneś tego włączyć. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Włącza cień przetwarzania końcowego FXAA. - + Contrast Adaptive Sharpening Kontrastowe wyostrzanie adaptacyjne - + Enables FidelityFX Contrast Adaptive Sharpening. Umożliwia adaptacyjne wyostrzanie kontrastu FidelityFX. - + CAS Sharpness Ostrość kontrastowego wyostrzania adaptacyjnego - + Determines the intensity the sharpening effect in CAS post-processing. Określa intensywność efektu zaostrzenia w procesie przetwarzania wtórnego kontrastowego wyostrzania adaptacyjnego. - + Filters Filtry - + Shade Boost Wzmocnienie cienia - + Enables brightness/contrast/saturation adjustment. Włącza regulację jasności/kontrastu/nasycenia. - + Shade Boost Brightness Jasność wzmocnionego cienia - + Adjusts brightness. 50 is normal. Dostosowuje jasność. 50 jest normalne. - + Shade Boost Contrast Kontrast wzmocniego cieniowania - + Adjusts contrast. 50 is normal. Dostosowuje kontrast. 50 jest normalne. - + Shade Boost Saturation Nasycenie cienia przyspieszenia - + Adjusts saturation. 50 is normal. Dostosowuje nasycenie. 50 jest normalne. - + TV Shaders Cieniowanie w stylu telewizora - + Advanced Zaawansowane - + Skip Presenting Duplicate Frames Pomiń pokazywanie powtarzających się klatek - + Extended Upscaling Multipliers Dodatkowe współczynniki skalowania - + Displays additional, very high upscaling multipliers dependent on GPU capability. Odblokowuje dodatkowe, bardzo wysokie współczynniki skalowania, zależne od możliwości karty graficznej hosta. - + Hardware Download Mode Tryb sprzętowy pobierania - + Changes synchronization behavior for GS downloads. Zmienia zachowanie synchronizacji dla pobierania GS. - + Allow Exclusive Fullscreen Zezwalaj na ekskluzywny pełny ekran - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Nadpisuje heuristykę sterownika do włączenia eksluzywnego trybu pełnoekranowego lub bezpośrednie odwracanie/skanowanie. - + Override Texture Barriers Zastąp bariery tekstury - + Forces texture barrier functionality to the specified value. Wymusza funkcjonalność bariery tekstury do określonej wartości. - + GS Dump Compression Kompresja zrzutu GS - + Sets the compression algorithm for GS dumps. Ustawia algorytm kompresji dla zrzutów GS. - + Disable Framebuffer Fetch Wyłącz pobieranie bufora klatek - + Prevents the usage of framebuffer fetch when supported by host GPU. Zapobiega używaniu pobierania bufora klatek, gdy jest obsługiwany przez kartę graficzną gospodarza. - + Disable Shader Cache Wyłącz pamięć podręczną cieni - + Prevents the loading and saving of shaders/pipelines to disk. Zapobiega wczytywaniu i zapisywaniu cieni na dysku. - + Disable Vertex Shader Expand Wyłącz rozszerzenie cienia wierzchołka - + Falls back to the CPU for expanding sprites/lines. Odwołuje się do CPU w celu rozszerzenia sprite'ów/linii. - + Changes when SPU samples are generated relative to system emulation. Zmienia się w przypadku generowania próbek SPU względem emulacji systemu. - + %d ms %d ms - + Settings and Operations Ustawienia i operacje - + Creates a new memory card file or folder. Tworzy nowy plik lub folder karty pamięci. - + Simulates a larger memory card by filtering saves only to the current game. Symuluje większą kartę pamięci poprzez filtrowanie zapisanych stanów tylko dla obecnej gry. - + If not set, this card will be considered unplugged. Jeśli nie ustawione, ta karta zostanie uznana za odłączoną. - + The selected memory card image will be used for this slot. Wybrany obraz karty pamięci zostanie użyty dla tego slotu. - + Enable/Disable the Player LED on DualSense controllers. Włącz/wyłącz wskaźnik gracza w kontrolerze DualSense. - + Trigger Spust - + Toggles the macro when the button is pressed, instead of held. Przełącza makro kiedy przycisk jest wciśnięty, zamiast gdy jest trzymany. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Wersja: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x natywna (~450px) - + 1.5x Native (~540px) 1.5x natywna (~540px) - + 1.75x Native (~630px) 1.75x natywna (~630px) - + 2x Native (~720px/HD) 2x natywna (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x natywna (~900px/HD+) - + 3x Native (~1080px/FHD) 3x natywna (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x natywna (~1260px) - + 4x Native (~1440px/QHD) 4x natywna (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x natywna (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x natywna (~2160px/4K UHD) - + 7x Native (~2520px) 7x natywna (~2520px) - + 8x Native (~2880px/5K UHD) 8x natywna (~2880px/5K UHD) - + 9x Native (~3240px) 9x natywna (~3240px) - + 10x Native (~3600px/6K UHD) 10x natywna (~3600px/6K UHD) - + 11x Native (~3960px) 11x natywna (~3960px) - + 12x Native (~4320px/8K UHD) 12x natywna (~4320px/8K UHD) - + WebP WebP - + Aggressive Agresywne - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Zmień wybór - + Select Wybierz - + Parent Directory Katalog nadrzędny - + Enter Value Wprowadź wartość - + About O programie - + Toggle Fullscreen Przełącz tryb pełnoekranowy - + Navigate Nawiguj - + Load Global State Wczytaj stan globalny - + Change Page Zmień stronę - + Return To Game Wróć do gry - + Select State Wybierz stan - + Select Game Wybierz grę - + Change View Zmień widok - + Launch Options Opcje uruchamiania - + Create Save State Backups Utwórz kopię zapasową zapisów stanu - + Show PCSX2 Version Pokaż wersję PCSX2 - + Show Input Recording Status Pokaż status nagrywania danych wejściowych - + Show Video Capture Status Pokaż status przechwytywania wideo - + Show Frame Times Pokaż czasy klatek - + Show Hardware Info Pokaż informacje o sprzęcie - + Create Memory Card Utwórz kartę pamięci - + Configuration Konfiguracja - + Start Game Rozpocznij grę - + Launch a game from a file, disc, or starts the console without any disc inserted. Uruchom grę z pliku, płyty lub uruchamia konsolę bez włożonej płyty. - + Changes settings for the application. Zmienia ustawienia aplikacji. - + Return to desktop mode, or exit the application. Wróć do trybu pulpitu lub wyjdź z aplikacji. - + Back Wstecz - + Return to the previous menu. Wróć do poprzedniego menu. - + Exit PCSX2 Wyjdź z PCSX2 - + Completely exits the application, returning you to your desktop. Całkowicie wyłącza aplikację, wracając do pulpitu. - + Desktop Mode Tryb pulpitu - + Exits Big Picture mode, returning to the desktop interface. Wyjdź z trybu Big Picture, wracając do interfejsu pulpitu. - + Resets all configuration to defaults (including bindings). Resetuje wszystkie konfiguracje do domyślnych (w tym powiązania). - + Replaces these settings with a previously saved input profile. Zastępuje te ustawienia wcześniej zapisanym profilem sterowania. - + Stores the current settings to an input profile. Przechowuje bieżące ustawienia w profilu sterowania. - + Input Sources Źródło sterowania - + The SDL input source supports most controllers. Źródło sterowania SDL obsługuje większość kontrolerów. - + Provides vibration and LED control support over Bluetooth. Zapewnia obsługę wibracji i LED przez Bluetooth. - + Allow SDL to use raw access to input devices. Zezwalaj SDL na korzystanie z niestandardowego dostępu do urządzeń wejściowych. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Źródło XInput zapewnia obsługę kontrolerów Xbox 360/Xbox One/Xbox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Włącza dodatkowe trzy sloty dla kontrolera. Nie obsługiwane we wszystkich grach. - + Attempts to map the selected port to a chosen controller. Podejmuje próbę przypisania wybranego portu do wybranego kontrolera. - + Determines how much pressure is simulated when macro is active. Określa ile nacisku jest symulowane, gdy makro jest aktywne. - + Determines the pressure required to activate the macro. Określa nacisk wymagany do aktywacji makro. - + Toggle every %d frames Przełącz co %d klatek - + Clears all bindings for this USB controller. Czyści wszystkie przypisania dla tego kontrolera USB. - + Data Save Locations Lokalizacja zapisu danych - + Show Advanced Settings Pokaż ustawienia zaawansowane - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Zmiana tych opcji może spowodować brak funkcjonalności gry. Modyfikuj na własne ryzyko, ekipa PCSX2 nie zapewnia wsparcia konfiguracji tych ustawień. - + Logging Logowanie - + System Console Konsola systemowa - + Writes log messages to the system console (console window/standard output). Zapisuje wiadomości dziennika zdarzeń do konsoli systemowej (okno konsoli/standardowe wyjście). - + File Logging Rejestrowanie plików - + Writes log messages to emulog.txt. Zapisuje zawartość dziennika zdarzeń do emulog.txt. - + Verbose Logging Pełne zbieranie plików dziennika - + Writes dev log messages to log sinks. Zapisuje komunikaty deweloperskie do dziennika zleceń. - + Log Timestamps Znaczniki czasu w dzienniku zdarzeń - + Writes timestamps alongside log messages. Zapisuje znaczniki czasu wraz z wiadomościami dziennika. - + EE Console Konsola EE - + Writes debug messages from the game's EE code to the console. Zapisuje wiadomości debugowania z kodu EE gry do konsoli. - + IOP Console Konsola IOP - + Writes debug messages from the game's IOP code to the console. Zapisuje wiadomości debugowania z kodu IOP gry do konsoli. - + CDVD Verbose Reads Odczyty szczegółowe CDVD - + Logs disc reads from games. Zapisuje do dziennika zdarzeń, gdy gry odczytują dane z płyty. - + Emotion Engine Emotion Engine - + Rounding Mode Tryb zaokrąglania - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Określa, w jaki sposób wyniki operacji zmiennoprzecinkowych są zaokrąglone. Niektóre gry wymagają określonych ustawień. - + Division Rounding Mode Tryb zaokrąglania dywizji - + Determines how the results of floating-point division is rounded. Some games need specific settings. Określa, w jaki sposób wyniki dywizji zmiennoprzecinkowych są zaokrąglone. Niektóre gry wymagają określonych ustawień. - + Clamping Mode Tryb mocowania - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Określa, jak obsługiwane są numery zmiennoprzecinkowe poza zasięgiem. Niektóre gry potrzebują określonych ustawień. - + Enable EE Recompiler Włącz rekompilator EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Natychmiastowo tłumaczy 64-bitowy kod maszynowy MIPS-IV na kod natywny. - + Enable EE Cache Włącz pamięć podręczną EE - + Enables simulation of the EE's cache. Slow. Umożliwia symulację pamięci podręcznej EE. Powolne. - + Enable INTC Spin Detection Włącz wirowania INTC - + Huge speedup for some games, with almost no compatibility side effects. Ogromne przyśpieszenie dla niektórych gier, niemal bez żadnych niepożądanych działań. - + Enable Wait Loop Detection Włącz wykrywanie pętli oczekujących - + Moderate speedup for some games, with no known side effects. Umiarkowane przyspieszenie niektórych gier bez znanych działań niepożądanych. - + Enable Fast Memory Access Włącz szybki dostęp do pamięci - + Uses backpatching to avoid register flushing on every memory access. Używa łatania wstecznego, aby uniknąć czyszczenia rejestru przy każdym dostępu do pamięci. - + Vector Units Jednostki wektorowe - + VU0 Rounding Mode Tryb zaokrąglania VU0 - + VU0 Clamping Mode Tryb mocowania VU0 - + VU1 Rounding Mode Tryb zaokrąglania VU1 - + VU1 Clamping Mode Tryb mocowania VU1 - + Enable VU0 Recompiler (Micro Mode) Włącz rekompilator VU0 (Tryb mikro) - + New Vector Unit recompiler with much improved compatibility. Recommended. Nowy rekompilator jednostek wektorowych z ulepszoną kompatybilnością. Rekomendowane. - + Enable VU1 Recompiler Włącz rekompilator VU1 - + Enable VU Flag Optimization Włącz optymalizację flag VU - + Good speedup and high compatibility, may cause graphical errors. Dobre przyspieszenie i duża kompatybilność, ale może powodować błędy graficzne. - + I/O Processor Procesor - + Enable IOP Recompiler Włącz rekompilator IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Natychmiastowo tłumaczy 32-bitowy kod maszynowy MIPS-I na kod natywny. - + Graphics Grafika - + Use Debug Device Użyj urządzenia debugującego - + Settings Ustawienia - + No cheats are available for this game. Brak dostępnych kodów dla tej gry. - + Cheat Codes Kody - + No patches are available for this game. Brak dostępnych łatek dla tej gry. - + Game Patches Łatki do gry - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Aktywacja kodów do gry może spowodować nieprzewidywalne zachowania, awarie, soft-locki lub uszkodzenie zapisanych gier. Używaj kodów na własne ryzyko, zespół Pcsx2 nie zapewni wsparcia użytkownikom, którzy je włączyli. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Aktywacja łatek do gry może spowodować nieprzewidywalne zachowania, awarie, soft-locki lub uszkodzenie zapisanych gier. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Używaj łatek na własne ryzyko, zespół PCSX2 nie zapewni wsparcia użytkownikom, którzy włączyli łatki do gry. - + Game Fixes Poprawki gier - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Poprawki gier nie powinny być modyfikowane, chyba że wiesz, co robi każda opcja i jakie są jej konsekwencje. - + FPU Multiply Hack Poprawka dla mnożnika FPU (jednostki zmiennoprzecinkowej) - + For Tales of Destiny. Dla Tales of Destiny. - + Preload TLB Hack Wstępnie załaduj poprawkę TLB - + Needed for some games with complex FMV rendering. Potrzebne w przypadku niektórych gier o złożonym renderowaniu FMV. - + Skip MPEG Hack Poprawka dla pomijania MPEG-ów - + Skips videos/FMVs in games to avoid game hanging/freezes. Pomija wideo/FMV w grach, aby uniknąć zawieszania się gry. - + OPH Flag Hack Poprawka dla flagi OPH - + EE Timing Hack Poprawka dla synchronizacji EE - + Instant DMA Hack Poprawka dla natychmiastowego DMA - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Znany jest wpływ na następujące gry: Mana Khemia 1, Metal Saga, Pilot Behind Enline Les. - + For SOCOM 2 HUD and Spy Hunter loading hang. Dla SOCOM 2 HUD i Spy Hunter przy zawieszaniu się podczas wczytywania. - + VU Add Hack Poprawka dodająca jednostkę wektorową (VU) - + Full VU0 Synchronization Pełna synchronizacja VU0 - + Forces tight VU0 sync on every COP2 instruction. Wymusza ścisłą synchronizację VU0 przy każdej instrukcji COP2. - + VU Overflow Hack Poprawka przepełnienia jednostki wektorowej (VU) - + To check for possible float overflows (Superman Returns). Aby sprawdzić możliwe przepływy zmiennoprzecinkowe (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Użyj dokładnego czasu dla VU XGKicks (wolniejsze). - + Load State Wczytaj stan gry - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Spowoduje, że emulowany Emotion Engine pomija cykle. Pomaga w małej ilości gier, takich jak SOTC. W większości przypadków szkodzi wydajności. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Zazwyczaj przyśpieszenie dla procesora z 4 lub więcej rdzeniami. Bezpieczne dla większości gier, ale kilka jest niekompatybilnych i mogą się zawieszać. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Uruchamia VU1 natychmiastowo. Zapewnia umiarkowaną poprawę szybkości większości gier. Bezpieczne dla większości gier, ale kilka z nich może wykazywać błędy graficzne. - + Disable the support of depth buffers in the texture cache. Wyłącz wsparcie bufora głębi w pamięci podręcznej tekstur. - + Disable Render Fixes Wyłącz poprawki renderowania - + Preload Frame Data Wstępnie załaduj dane klatki - + Texture Inside RT Tekstury wewnątrz celu renderowania - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Po włączeniu karta graficzna konwertuje kolorowe tekstury, w przeciwnym razie procesor będzie działał jako kompromis między kartą graficzną a procesorem. - + Half Pixel Offset Przesunięcie o pół piksela - + Texture Offset X Przesunięcie tekstur X - + Texture Offset Y Przesunięcie tekstur Y - + Dumps replaceable textures to disk. Will reduce performance. Zrzuca zamienniki tekstur na dysk. Spowoduje zmniejszenie wydajności. - + Applies a shader which replicates the visual effects of different styles of television set. Stosuje cień, który replikuje efekty wizualne różnych stylów telewizorów. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Pomija wyświetlanie ramek, które nie zmieniają się w grach działających w 25/30 fps. Może poprawić prędkość, ale zwiększa opóźnienie/zwolnić tempo klatek. - + Enables API-level validation of graphics commands. Umożliwia weryfikację poleceń grafiki na poziomie API. - + Use Software Renderer For FMVs Użyj renderowanie programowego dla FMV - + To avoid TLB miss on Goemon. Aby uniknąć nieobecności TLB w Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Poprawka ogólnego zastosowania synchronizacji Znany wpływ na następujące gry: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Dobre dla problemów z emulacją pamięci podręcznej. Wpływa na działanie następujących gier: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Znany wpływ na następujące gry: Bleach Blade Battlers, Growlanser II i III, Wizardry. - + Emulate GIF FIFO Emuluj GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Prawidłowe, ale wolniejsze. Wiadomo, że dotyczy następujących gier: Fifa Street 2. - + DMA Busy Hack Poprawka zajętości DMA - + Delay VIF1 Stalls Opóźnij zatrzymania VIF1 - + Emulate VIF FIFO Emuluj VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Symuluj odczyt VIF1 FIFO z wyprzedzeniem. Znany wpływ na następujące gry: Test Drive Unlimited, Transformers. - + VU I Bit Hack Poprawka dla bitu I jednostki wektorowej (VU) - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Unika ciągłej rekompilacji w niektórych grach. Znany jest wpływ na następujące gry: Scarface The World is Yours, Disash Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Dla gier Tri-Ace: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync Synchronizacja jednostki wektorowej (VU) - + Run behind. To avoid sync problems when reading or writing VU registers. Uruchom w tyle. Aby uniknąć problemów z synchronizacją podczas odczytu lub zapisu rejestrów VU. - + VU XGKick Sync Synchronizacja instrukcji XGKick w jednostce wektorowej (VU XGKick) - + Force Blit Internal FPS Detection Wymuś wykrywanie Blit wewnętrznych FPS-ów - + Save State Zapisz stan - + Load Resume State Wczytaj stan wznowienia - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8032,2071 +8086,2076 @@ Do you want to load this save and continue? Czy chcesz załadować ten zapis i kontynuować? - + Region: Region: - + Compatibility: Zgodność: - + No Game Selected Nie wybrano gry - + Search Directories Szukaj w katalogu - + Adds a new directory to the game search list. Dodaje nowy katalog do listy wyszukiwania. - + Scanning Subdirectories Skanowanie podkatalogów - + Not Scanning Subdirectories Nie skanuje podkatalogów - + List Settings Ustawienia listy - + Sets which view the game list will open to. Ustawia, w jakim widoku wyświetla się listę gry. - + Determines which field the game list will be sorted by. Określa, które pole listy gier będzie posortowane. - + Reverses the game list sort order from the default (usually ascending to descending). Odwraca kolejność sortowania listy gier od domyślnych (zwykle rosnąco do malejących). - + Cover Settings Ustawienia okładek - + Downloads covers from a user-specified URL template. Pobieranie okładek z szablonu URL określonego dla użytkownika. - + Operations Działania - + Selects where anisotropic filtering is utilized when rendering textures. Wybiera, gdzie filtrowanie anizotropowe jest używane podczas renderowania tekstur. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Użyj alternatywnej metody obliczania wewnętrznych FPS-ów, aby uniknąć fałszywych odczytów w niektórych grach. - + Identifies any new files added to the game directories. Określa wszystkie nowe pliki dodane do katalogów gry. - + Forces a full rescan of all games previously identified. Wymusza pełne skanowanie wszystkich wcześniej zidentyfikowanych gier. - + Download Covers Pobierz okładki - + About PCSX2 O PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 jest darmowym i otwarto-źródłowym emulatorem PlayStation 2 (PS2). Jego celem jest emulowanie sprzętu PlayStation 2 za pomocą kombinacji tłumaczy procesora MIPS, rekompilatorów i maszyny wirtualnej, która zarządza stanami sprzętu i pamięcią systemu PS2. Pozwala to grać w gry PS2 na komputerze z wieloma dodatkowymi funkcjami i korzyściami. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 i PS2 są zarejestrowanymi znakami towarowymi Sony Interactive Entertainment. Ta aplikacja nie jest w żaden sposób powiązana z Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Po zaznaczeniu i zalogowaniu się, PCSX2 skanuje w poszukiwaniu osiągnięć przy uruchomieniu. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Tryb wyzwania" dla osiągnięć, w tym śledzenie tablicy wyników. Wyłącza zapisywanie stanu, kody i funkcji spowolnienia. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Wyświetla wyskakujące wiadomości dla wydarzeń, takich jak odblokowywanie osiągnięć czy wpisy do tabeli wyników. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Odtwarza efekty dźwiękowe dla takich wydarzeń, jak odblokowywanie osiągnięć czy dodawanie wpisów do tabeli wyników. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Pokazuje ikony w dolnym prawym rogu ekranu, gdy wyzwanie / główne osiągnięcie jest aktywne. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Po włączeniu PCSX2 wyświetli osiągnięcia z nieoficjalnych zestawów. Pamiętaj, że te osiągnięcia nie są śledzone przez RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Po włączeniu PCSX2 zakłada, że wszystkie osiągnięcia są zablokowane i nie wysyłają żadnych powiadomień o odblokowaniu na serwer. - + Error Błąd - + Pauses the emulator when a controller with bindings is disconnected. Wstrzymuje emulator gdy kontroler z powiązanymi klawiszami jest rozłączony. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Tworzy kopię zapasową stanu zapisu, jeżeli istnieje on już przy tworzeniu zapisu. Kopia zapasowa ma przyrostek .backup - + Enable CDVD Precaching Włącz wstępne buforowanie CDVD - + Loads the disc image into RAM before starting the virtual machine. Ładuje obraz dysku do pamięci RAM przed uruchomieniem maszyny wirtualnej. - + Vertical Sync (VSync) Synchronizacja pionowa (VSync) - + Sync to Host Refresh Rate Synchronizuj do częstotliwości odświeżania hosta - + Use Host VSync Timing Użyj synchronizacji pionowej gospodarza - + Disables PCSX2's internal frame timing, and uses host vsync instead. Wyłącza wewnętrzne koordynowanie klatek PCSX2 i używa synchronizacji pionowej hosta. - + Disable Mailbox Presentation Wyłącz prezentację skrzynki pocztowej - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Wymusza użycie FIFO nad prezentacją skrzynki pocztowej, tj. buforowanie podwójne zamiast buforu potrójnego. Zwykle prowadzi do gorszego tempa klatek. - + Audio Control Sterowanie Dźwiękiem - + Controls the volume of the audio played on the host. Kontroluje głośność dźwięku odtwarzanego u gospodarza. - + Fast Forward Volume Głośność podczas przyśpieszenia - + Controls the volume of the audio played on the host when fast forwarding. Kontroluje głośność dźwięku odtwarzanego u gospodarza podczas przewijania do przodu. - + Mute All Sound Wycisz wszystkie dźwięki - + Prevents the emulator from producing any audible sound. Zapobiega wytwarzaniu przez emulator słyszalnego dźwięku. - + Backend Settings Ustawienia sterownika - + Audio Backend Sterownik dżwięku - + The audio backend determines how frames produced by the emulator are submitted to the host. Sterownik dźwięku określa, w jaki sposób ramki wytwarzane przez emulator są przesyłane do gospodarza. - + Expansion Rozszerzenie - + Determines how audio is expanded from stereo to surround for supported games. Określa, w jaki sposób dźwięk jest rozszerzany ze stereo na surround dla obsługiwanych gier. - + Synchronization Synchronizacja - + Buffer Size Rozmiar bufora - + Determines the amount of audio buffered before being pulled by the host API. Określa ilość dźwięku buforowanego przed pobraniem przez API gospodarza. - + Output Latency Opóźnienie wyjścia - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Określa opóźnienie między przesłaniem dźwięku do API hosta, a odtworzeniem go za pośrednictwem głośników. - + Minimal Output Latency Minimalne opóźnienie - + When enabled, the minimum supported output latency will be used for the host API. Gdy włączone, minimalne obsługiwane opóźnienie będzie użyte dla API hosta. - + Thread Pinning Przypinanie wątku - + Force Even Sprite Position Wymuś parzystą pozycję sprite'ów - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Wyświetla wyskakujące wiadomości podczas uruchamiania, wysyłania lub niepowodzenia wyzwania na tablicy wyników. - + When enabled, each session will behave as if no achievements have been unlocked. Gdy włączone, każda z sesji nie będzie odblokowywać nowych osiągnięć. - + Account Konto - + Logs out of RetroAchievements. Wylogowuje się do konta RetroAchievements. - + Logs in to RetroAchievements. Loguje się do konta RetroAchievements. - + Current Game Bieżąca gra - + An error occurred while deleting empty game settings: {} Wystąpił błąd podczas usuwania pustych ustawień gry: {} - + An error occurred while saving game settings: {} Wystąpił błąd podczas zapisywania ustawień gry: {} - + {} is not a valid disc image. {} nie jest prawidłowym obrazem płyty. - + Automatic mapping completed for {}. Automatyczne przypisanie zakończone dla {}. - + Automatic mapping failed for {}. Automatyczne przypisanie zakończone dla {}. - + Game settings initialized with global settings for '{}'. Ustawienia gry zainicjowane ustawieniami globalnymi dla '{}'. - + Game settings have been cleared for '{}'. Ustawienia gry zostały wyczyszczone dla '{}'. - + {} (Current) {} (Obecnie) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Nie udało się wczytać '{}'. - + Input profile '{}' loaded. Profil sterowania '{}' wczytany. - + Input profile '{}' saved. Profil sterowania '{}' zapisany. - + Failed to save input profile '{}'. Nie udało się zapisać profilu sterowania do '%1'. - + Port {} Controller Type Typ kontrolera w porcie {} - + Select Macro {} Binds Wybierz powiązanie dla makro {} - + Port {} Device Urządzenie w porcie {} - + Port {} Subtype Podtyp w porcie {} - + {} unlabelled patch codes will automatically activate. {} nieznanych łatek kodów zostanie automatycznie aktywowanych. - + {} unlabelled patch codes found but not enabled. {} nieznanych łatek kodów zostały znalezione, ale nie będą aktywowane. - + This Session: {} Obecna sesja - + All Time: {} Łącznie: {} - + Save Slot {0} Slot zapisu stanu {0} - + Saved {} Zapisano {} - + {} does not exist. {} nie istnieje. - + {} deleted. {} usunięto. - + Failed to delete {}. Nie udało się usunąć {}. - + File: {} Plik: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Czas gry: {} - + Last Played: {} Ostatnio grane: {} - + Size: {:.2f} MB Rozmiar: {:.2f} MB - + Left: Lewo: - + Top: Góra: - + Right: Prawo: - + Bottom: Dół: - + Summary Podsumowanie - + Interface Settings Ustawienia interfejsu - + BIOS Settings Ustawienia BIOS-u - + Emulation Settings Ustawienia emulacji - + Graphics Settings Ustawienia graficzne - + Audio Settings Ustawienia dźwięku - + Memory Card Settings Ustawienia karty pamięci - + Controller Settings Ustawienia kontrolera - + Hotkey Settings Ustawienia skrótów klawiszowych - + Achievements Settings Ustawienia osiągnięć - + Folder Settings Ustawienia folderów - + Advanced Settings Ustawienia zaawansowane - + Patches Łatki - + Cheats Kody - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 10% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% prędkości - + 60% Speed 60% prędkości - + 75% Speed 75% prędkości - + 100% Speed (Default) 100% prędkości (domyślnie) - + 130% Speed 130% prędkości - + 180% Speed 180% prędkości - + 300% Speed 300% prędkości - + Normal (Default) Normalne (domyślne) - + Mild Underclock Lekkie obniżenie taktowania - + Moderate Underclock Średnie obniżenie taktowania - + Maximum Underclock Maksymalne obniżenie taktowania - + Disabled Wyłączone - + 0 Frames (Hard Sync) 0 klatek (Twarda synchronizacja) - + 1 Frame 1 klatka - + 2 Frames 2 klatki - + 3 Frames 3 klatki - + None Brak - + Extra + Preserve Sign Dodatkowe z zachowaniem znaku - + Full Pełne - + Extra Dodatkowe - + Automatic (Default) Automatyczne (domyślne) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Programowe - + Null Brak - + Off Włączone - + Bilinear (Smooth) Dwuliniowy (gładki) - + Bilinear (Sharp) Dwuliniowy (ostry) - + Weave (Top Field First, Sawtooth) Splot (najpierw górne pole, piłokształtny) - + Weave (Bottom Field First, Sawtooth) Splot (najpierw dolne pole, piłokształtny) - + Bob (Top Field First) Bob (Najpierw górne pole) - + Bob (Bottom Field First) Bob (Najpierw dolne pole) - + Blend (Top Field First, Half FPS) Mieszanie (Najpierw górne pole, połowa kl./s) - + Blend (Bottom Field First, Half FPS) Mieszanie (Najpierw dolne pole, połowa kl./s) - + Adaptive (Top Field First) Adaptacyjne (od góry) - + Adaptive (Bottom Field First) Adaptacyjne (od dołu) - + Native (PS2) Natywna (PS2) - + Nearest Najbliższe - + Bilinear (Forced) Dwuliniowe (wymuszone) - + Bilinear (PS2) Dwuliniowe (PS2) - + Bilinear (Forced excluding sprite) Dwuliniowy (wymuszony z wyłączeniem sprite'ów) - + Off (None) Wyłączone (Brak) - + Trilinear (PS2) Trójliniowe (PS2) - + Trilinear (Forced) Trójliniowe (wymuszone) - + Scaled Skalowane - + Unscaled (Default) Nieskalowane (domyślne) - + Minimum Minimalne - + Basic (Recommended) Podstawowe (zalecane) - + Medium Średnie - + High Wysokie - + Full (Slow) Pełne (wolne) - + Maximum (Very Slow) Maksymalne (Bardzo powolne) - + Off (Default) Wyłączone (Domyślne) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Częściowe - + Full (Hash Cache) Pełne (pamięć podręczna sumy kontrolnej) - + Force Disabled Wymuś wyłączone - + Force Enabled Wymuś włączone - + Accurate (Recommended) Dokładne (zalecane) - + Disable Readbacks (Synchronize GS Thread) Wyłącz odczyty (Synchronizuje wątek GS) - + Unsynchronized (Non-Deterministic) Niezsynchronizowane (Niedeterministyczne) - + Disabled (Ignore Transfers) Wyłączone (Ignoruj transfery) - + Screen Resolution Rozdzielczość ekranu - + Internal Resolution (Aspect Uncorrected) Rozdzielczość wewnętrzna (proporcje ekranu bez zmian) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy UWAGA: Zajęta karta pamięci - + Cannot show details for games which were not scanned in the game list. Nie można pokazać szczegółów dla gier, które nie zostały zeskanowane na liście gier. - + Pause On Controller Disconnection Wstrzymaj po odłączeniu kontrolera - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED Wskaźnik gracza w kontrollerze DualSense (SDL) - + Press To Toggle Naciśnij aby przełączyć - + Deadzone Martwa strefa - + Full Boot Pełny rozruch - + Achievement Notifications Powiadomienia o osiągnięciach - + Leaderboard Notifications Powiadomienia tabeli wyników - + Enable In-Game Overlays Włącz nakładkę w grze - + Encore Mode Tryb 'na bis' - + Spectator Mode Tryb obserwatora - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Konwertuje 4-bitowy i 8-bitowy bufor klatek na procesorze zamiast na karcie graficznej. - + Removes the current card from the slot. Usuwa bieżącą kartę ze slotu. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Określa częstotliwość makro włączania i wyłączania przycisków. - + {} Frames {} klatek - + No Deinterlacing Bez usuwania przeplotu - + Force 32bit Wymuś 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Wyłączone) - + 1 (64 Max Width) 1 (Maksymalna szerokość - 64) - + 2 (128 Max Width) 2 (Maksymalna szerokość - 128) - + 3 (192 Max Width) 3 (Maksymalna szerokość - 192) - + 4 (256 Max Width) 4 (Maksymalna szerokość - 256) - + 5 (320 Max Width) 5 (Maksymalna szerokość - 320) - + 6 (384 Max Width) 6 (Maksymalna szerokość - 384) - + 7 (448 Max Width) 7 (Maksymalna szerokość - 448) - + 8 (512 Max Width) 8 (Maksymalna szerokość - 512) - + 9 (576 Max Width) 9 (Maksymalna szerokość - 576) - + 10 (640 Max Width) 10 (Maksymalna szerokość - 640) - + Sprites Only Tylko sprite'y - + Sprites/Triangles Sprite'y/Trójkąty - + Blended Sprites/Triangles Zmieszane sprite'y/trójkąty - + 1 (Normal) 1 (Normalne) - + 2 (Aggressive) 2 (Agresywne) - + Inside Target Wewnątrz celu - + Merge Targets Scal cele - + Normal (Vertex) Normalne (wierzchołkowe) - + Special (Texture) Szczególne (tekstury) - + Special (Texture - Aggressive) Szczególne (Teksturowe - agresywne) - + Align To Native Wyrównaj do natywnego - + Half Połowa - + Force Bilinear Wymuś dwuliniowe - + Force Nearest Wymuś najbliższe - + Disabled (Default) Wyłączone (domyślnie) - + Enabled (Sprites Only) Włączone (tylko sprite'y) - + Enabled (All Primitives) Włączone (wszystkie pierwotne) - + None (Default) Brak (domyślne) - + Sharpen Only (Internal Resolution) Tylko wyostrzenie (rozdzielczość wewnętrzna) - + Sharpen and Resize (Display Resolution) Wyostrzenie i przeskalowanie (rozdzielczość obrazu) - + Scanline Filter Filtr skanowania - + Diagonal Filter Filtr "po przekątnej" - + Triangular Filter Filtr trójkątny - + Wave Filter Filtr fali - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Nieskompresowane - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negatywny - + Positive Pozytywny - + Chop/Zero (Default) Chop / Zero (domyślne) - + Game Grid Widok siatki - + Game List Widok listy - + Game List Settings Ustawienia listy gier - + Type Typ - + Serial Numer seryjny - + Title Tytuł - + File Title Nazwa pliku - + CRC Suma kontrolna CRC - + Time Played Czas gry - + Last Played Ostatnio grane - + Size Rozmiar - + Select Disc Image Wybierz obraz płyty - + Select Disc Drive Wybierz napęd płyt - + Start File Uruchom plik - + Start BIOS Uruchom BIOS - + Start Disc Uruchom płytę - + Exit Wyjdź - + Set Input Binding Ustaw powiązanie wejścia - + Region Region - + Compatibility Rating Ocena kompatybilności - + Path Ścieżka - + Disc Path Ścieżka płyty - + Select Disc Path Wybierz ścieżkę płyty - + Copy Settings Kopiuj ustawienia - + Clear Settings Wyczyść ustawienia - + Inhibit Screensaver Wstrzymaj wygaszacz ekranu - + Enable Discord Presence Włącz Discord Rich Presence - + Pause On Start Wstrzymaj przy starcie - + Pause On Focus Loss Wstrzymaj przy zmianie aktywnego okna - + Pause On Menu Wstrzymaj w menu - + Confirm Shutdown Potwierdzenie zamknięcia - + Save State On Shutdown Zapisz stan przy zamknięciu - + Use Light Theme Używaj jasnego motywu - + Start Fullscreen Uruchom na pełnym ekranie - + Double-Click Toggles Fullscreen Podwójne kliknięcie myszą przełącza tryb pełnoekranowy - + Hide Cursor In Fullscreen Ukryj kursor w trybie pełnoekranowym - + OSD Scale Skala wyświetlacza ekranowego (OSD) - + Show Messages Pokaż wiadomości - + Show Speed Pokaż prędkość - + Show FPS Pokaż licznik klatetk na sekundę (kl./s) - + Show CPU Usage Pokaż użycie procesora - + Show GPU Usage Pokaż użycie karty graficznej - + Show Resolution Pokaż rozdzielczość - + Show GS Statistics Pokaż statystyki GS - + Show Status Indicators Pokazuj wskaźniki statusu - + Show Settings Pokaż ustawienia - + Show Inputs Pokazuj kontroler - + Warn About Unsafe Settings Ostrzegaj o niebezpiecznych ustawieniach - + Reset Settings Zresetuj ustawienia - + Change Search Directory Zmień katalog wyszukiwania - + Fast Boot Szybki rozruch - + Output Volume Głośność wyjścia - + Memory Card Directory Katalog kart pamięci - + Folder Memory Card Filter Filtr folderu karty pamięci - + Create Utwórz - + Cancel Anuluj - + Load Profile Załaduj profil - + Save Profile Zapisz profil - + Enable SDL Input Source Włącz źródło sterowania SDL - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense tryb rozszerzony - + SDL Raw Input Surowe wyjście SDL - + Enable XInput Input Source Włącz źródło sterowania XInput - + Enable Console Port 1 Multitap Włącz Multitap dla konsolowego portu 1 - + Enable Console Port 2 Multitap Włącz Multitap dla konsolowego portu 2 - + Controller Port {}{} Port kontrolera {}{} - + Controller Port {} Port kontrolera {} - + Controller Type Typ kontrolera - + Automatic Mapping Automatyczne przypisanie - + Controller Port {}{} Macros Makro portu kontrolera {}{} - + Controller Port {} Macros Makro portu kontrolera {} - + Macro Button {} Przycisk makro {} - + Buttons Przyciski - + Frequency Częstotliwość - + Pressure Nacisk - + Controller Port {}{} Settings Ustawienia portu kontrolera {}{} - + Controller Port {} Settings Ustawienia portu kontrolera {} - + USB Port {} Port USB {} - + Device Type Typ urządenia - + Device Subtype Podtyp urządzenia - + {} Bindings {} przypisań - + Clear Bindings Wyczyść przypisania - + {} Settings {} ustawień - + Cache Directory Katalog pamięci podręcznej - + Covers Directory Katalog okładek - + Snapshots Directory Katalog migawek - + Save States Directory Katalog zapisanych stanów - + Game Settings Directory Katalog ustawień gry - + Input Profile Directory Katalog profilu sterowania - + Cheats Directory Katalog kodów - + Patches Directory Katalog łatek - + Texture Replacements Directory Katalog zamienników tekstur - + Video Dumping Directory Katalog zgrywanych wideo - + Resume Game Kontynuuj grę - + Toggle Frame Limit Przełącz limiter klatek - + Game Properties Właściwości gry - + Achievements Osiągnięcia - + Save Screenshot Zapisz zrzut ekranu - + Switch To Software Renderer Przełącz na tryb renderowania oprogramowaniowego - + Switch To Hardware Renderer Przełącz na tryb renderowania sprzętowego - + Change Disc Zmień płytę - + Close Game Zamknij grę - + Exit Without Saving Wyjdź bez zapisywania - + Back To Pause Menu Powrót do menu pauzy - + Exit And Save State Wyjdź i zapisz stan - + Leaderboards Tabele wyników - + Delete Save Usuń zapis - + Close Menu Zamknij menu - + Delete State Usuń stan - + Default Boot Domyślny rozruch - + Reset Play Time Zresetuj czas gry - + Add Search Directory Dodaj katalog wyszukiwania - + Open in File Browser Otwórz w przeglądarce plików - + Disable Subdirectory Scanning Wyłącz skanowanie podkatalogów - + Enable Subdirectory Scanning Włącz skanowanie podkatalogów - + Remove From List Usuń z listy - + Default View Domyślny widok - + Sort By Sortuj według - + Sort Reversed Sortuj odwrotnie - + Scan For New Games Skanuj w poszukiwaniu nowych gier - + Rescan All Games Ponownie przeskanuj wszystkie gry - + Website Strona internetowa - + Support Forums Wsparcie na forum - + GitHub Repository Repozytorium GitHub - + License Licencja - + Close Zamknij - + RAIntegration is being used instead of the built-in achievements implementation. Integracja z RA jest używana zamiast wbudowanych osiągnięć. - + Enable Achievements Włącz osiągnięcia - + Hardcore Mode Tryb Hardcore - + Sound Effects Efekty dźwiękowe - + Test Unofficial Achievements Wypróbuj nieoficjalne osiągnięcia - + Username: {} Nazwa użytkownika: {} - + Login token generated on {} Token logowania wygenerowany dnia: {} - + Logout Wyloguj się - + Not Logged In Niezalogowany - + Login Zaloguj się - + Game: {0} ({1}) Gra: {0} ({1}) - + Rich presence inactive or unsupported. Usługa Rich Presence nieaktywna lub nieobsługiwana. - + Game not loaded or no RetroAchievements available. Gra nie załadowana lub brak dostępnych osiągnięć. - + Card Enabled Karta włączona - + Card Name Nazwa karty - + Eject Card Wysuń kartę @@ -11086,32 +11145,42 @@ Skanowanie to zajmuje więcej czasu, ale identyfikuje pliki w podkatalogach.Wszystkie łatki dołączone do PCSX2 dla tej gry zostaną wyłączone, ponieważ masz załadowane nieznane łatki. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs Wszystkie sumy kontrolne CRC - + Reload Patches Odśwież łatki - + Show Patches For All CRCs Pokaż łatki dla wszystkich sum kontrolnych CRC - + Checked Zaznaczone - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Przełącza skanowanie plików łatek dla wszystkich CRC dla danej gry. Z tą opcją włączoną, dostępne łatki dla numeru seryjnego gry z różnymi sumami kontrolnymi CRC również zostaną załadowane. - + There are no patches available for this game. Nie ma żadnych dostępnych łatek dla tej gry. @@ -11587,11 +11656,11 @@ Skanowanie to zajmuje więcej czasu, ale identyfikuje pliki w podkatalogach. - - - - - + + + + + Off (Default) Wyłączone (Domyślne) @@ -11601,10 +11670,10 @@ Skanowanie to zajmuje więcej czasu, ale identyfikuje pliki w podkatalogach. - - - - + + + + Automatic (Default) Automatyczne (domyślne) @@ -11671,7 +11740,7 @@ Skanowanie to zajmuje więcej czasu, ale identyfikuje pliki w podkatalogach. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Dwuliniowy (gładki) @@ -11737,29 +11806,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Przesunięcia ekranu - + Show Overscan Pokaż overscan - - - Enable Widescreen Patches - Włącz łatki umożliwiające szerokie pole widzenia (widescreen) - - - - Enable No-Interlacing Patches - Włącz łatki usuwające przeplot obrazu - - + Anti-Blur Anty-rozmycie @@ -11770,7 +11829,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Wyłącz wyrównanie przeplotu @@ -11780,18 +11839,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Rozmiar zrzutu ekranu: - + Screen Resolution Rozdzielczość ekranu - + Internal Resolution Rozdzielczość wewnętrzna - + PNG PNG @@ -11843,7 +11902,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Dwuliniowe (PS2) @@ -11890,7 +11949,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Nieskalowane (domyślne) @@ -11906,7 +11965,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Podstawowe (zalecane) @@ -11942,7 +12001,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Pełne (pamięć podręczna sumy kontrolnej) @@ -11958,31 +12017,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Wyłącz konwersję głębi - + GPU Palette Conversion Konwersja palety karty graficznej - + Manual Hardware Renderer Fixes Ręczne poprawki renderowania sprzętowego - + Spin GPU During Readbacks Zapętlaj kartę graficzną podczas odczytów zwrotnych - + Spin CPU During Readbacks Zapętlaj procesor podczas odczytów zwrotnych @@ -11994,15 +12053,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapowanie - - + + Auto Flush Automatyczne oczyszczanie @@ -12030,8 +12089,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Wyłączone) @@ -12088,18 +12147,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Wyłącz bezpieczne funkcje - + Preload Frame Data Wstępnie załaduj dane klatki - + Texture Inside RT Tekstury wewnątrz celu renderowania @@ -12198,13 +12257,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Scal sprite - + Align Sprite Dostosuj sprite @@ -12218,16 +12277,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Bez usuwania przeplotu - - - Apply Widescreen Patches - Zastosuj poprawki szerokiego ekranu - - - - Apply No-Interlacing Patches - Włącz łatki usuwające przeplot obrazu - Window Resolution (Aspect Corrected) @@ -12300,25 +12349,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Wyłącz częściowe unieważnienie źródła - + Read Targets When Closing Odczytaj cele podczas zamykania - + Estimate Texture Region Szacowany region tekstur - + Disable Render Fixes Wyłącz poprawki renderowania @@ -12329,7 +12378,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Nieskalowana paleta rysowania tekstur @@ -12388,25 +12437,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Zgraj tekstury - + Dump Mipmaps Zgraj minimapy - + Dump FMV Textures Zgraj tekstury z FMV - + Load Textures Załaduj tekstury @@ -12416,6 +12465,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12433,13 +12492,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Wymuś parzystą pozycję sprite'ów - + Precache Textures Wstępnie ładuj tekstury do pamięci podręcznej @@ -12462,8 +12521,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Brak (domyślne) @@ -12484,7 +12543,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12536,7 +12595,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Wzmocnienie cienia @@ -12551,7 +12610,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontrast: - + Saturation Nasycenie @@ -12572,50 +12631,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Pokaż wskaźniki - + Show Resolution Pokaż rozdzielczość - + Show Inputs Pokaż dane wejściowe - + Show GPU Usage Pokaż użycie GPU - + Show Settings Pokaż ustawienia - + Show FPS Pokaż licznik klatetk na sekundę (kl./s) - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Wyłącz prezentację skrzynki pocztowej - + Extended Upscaling Multipliers Dodatkowe współczynniki skalowania @@ -12631,13 +12690,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Pokaż statystyki - + Asynchronous Texture Loading Wczytywanie asynchronicznych tekstur @@ -12648,13 +12707,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Pokaż użycie procesora - + Warn About Unsafe Settings Ostrzegaj o niebezpiecznych ustawieniach @@ -12680,7 +12739,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12691,43 +12750,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Pokaż wersję PCSX2 - + Show Hardware Info Pokaż informacje o sprzęcie - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12836,19 +12895,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Pomiń pokazywanie powtarzających się klatek - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12901,7 +12960,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Pokaż procent prędkości @@ -12911,1214 +12970,1214 @@ Swap chain: see Microsoft's Terminology Portal. Wyłącz pobieranie bufora klatek - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Programowe - + Null Null here means that this is a graphics backend that will show nothing. Brak - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Użyj ustawień globalnych [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Odznaczone - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Automatycznie ładuje i uruchamia łatki ekranu panoramicznego na starcie gry. Może powodować problemy. + Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Automatycznie ładuje i uruchamia łatki usuwania przeplotu na starcie gry. Może powodować problemy. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Wyłącza przesunięcie przeplotu, które w niektórych sytuacjach może zmniejszyć rozmycie. - + Bilinear Filtering Filtrowanie dwuliniowe - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Włącza dwuliniowy filtr przetworzenie końcowego. Wygładza ogólny obraz, gdy jest wyświetlany na ekranie. Poprawia położenie pomiędzy pikselami. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Włącza przesunięcia PCRTC, które ustawiają ekran zgodnie z żądaniami gry. Przydatne w niektórych grach, takich jak WipEout Fusion, ze względu na efekt drgań ekranu, ale może powodować rozmycie obrazu. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Włącza opcję pokazywania obszaru overscan w grach, które rysują więcej niż bezpieczny obszar ekranu. - + FMV Aspect Ratio Override Zastąpienie proporcji ekranu dla FMV - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Określa metodę usuwania przeplotu, która ma być stosowana na ekranie z przeplotem emulowanej konsoli. Automatycznie powinno być w stanie poprawnie usunąć przeplot w większości gier, ale jeśli widzisz widocznie 'trzęsącą się' grafikę, spróbuj jednej z dostępnych opcji. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Kontroluj poziom dokładności emulacji mieszania GS.<br> Im wyższe ustawienie, tym bardziej mieszanie jest dokładnie emulowane w cieniu, a im wyższa będzie kara za szybkość.<br> Zauważ, że mieszanie Direct3D jest mniejsze w porównaniu z OpenGL/Vulkan. - + Software Rendering Threads Wątki renderowania programowego - + CPU Sprite Render Size Rozmiar renderowanego sprite'a procesora - + Software CLUT Render Renderowanie programowe CLUT - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Próbuje wykryć, kiedy gra rysuje własną paletę kolorów, a następnie renderuje ją na karcie graficznej ze specjalną obsługą. - + This option disables game-specific render fixes. Ta opcja wyłącza specyficzne dla gry, poprawki renderowania. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Domyślnie pamięć podręczna tekstur obsługuje częściowe unieważnienia. Niestety obliczenie procesora jest bardzo kosztowne. Ta poprawka zastępuje częściowe unieważnienie całkowitym usunięciem tekstury, aby zmniejszyć obciążenie procesora. Pomaga w grach na silniku Snowblind. - + Framebuffer Conversion Konwersja bufora klatek - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Konwertuj 4-bitowy i 8-bitowy bufor ramki na CPU zamiast GPU. Pomaga grom Harry Potter i Stuntman. Ma to duży wpływ na wydajność. - - + + Disabled Wyłączone - - Remove Unsupported Settings - Usuń niewspierane ustawienia - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Obecnie masz opcję <strong>Włącz łatki dla panoramicznego ekranu</strong> lub <strong>Włącz łatki braku przeplotu</strong> włączone dla tej gry.<br><br>Nie wspieramy już tych opcji, zamiast tego <strong>powinieneś wybrać sekcję "Łatki" i wyraźnie włączyć pożądane łatki.</strong><br><br>Czy chcesz usunąć te opcje z konfiguracji gry? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Zmniejsza banding między kolorami i poprawia odczuwalną głębię kolorów.<br> Wył: Wyłącza dithering całkowicie.<br> Skalowany: Uwzględnia upscaling / Największy dithering.<br> Nieskalowany: Natywny Dithering / Najniższy dithering nie zwiększa wielkości kwadratów podczas upscalowania.<br> Wymuś 32bit: Traktuj wszystkie rysowania tak jakby miały 32 bit, aby uniknąć bandingu i ditheringu. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Wykonuje bezużyteczną pracę po stronie procesora podczas odczytów zwrotnych, aby zapobiec przechodzeniu w tryb oszczędzania energii. Może poprawić wydajność podczas odczytów zwrotnych, ale spowoduje to znaczny wzrost zużycia energii. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Przesyła bezużyteczną pracę dla karty graficznej podczas odczytów zwrotnych, aby zapobiec przechodzeniu do trybu oszczędzania energii. Może poprawić wydajność podczas odczytu, ale ze znacznym wzrostem zużycia energii. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Liczba wątków renderujących: 0 dla pojedynczego wątku, 2 lub więcej dla wielu wątków (1 jest do debugowania). Zaleca się stosowanie od 2 do 4 wątków, ustawianie na więcej może być wolniejsze niż szybsze. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Wyłącz obsługę buforów głębi w pamięci podręcznej tekstury. Prawdopodobnie spodowuje różne błędy i będzie przydatne tylko do debugowania. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Pozwala pamięci podręcznej tekstury na ponowne użycie wewnętrznej części poprzedniego bufora klatki jako teksturę wejściową. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Podczas zamykania opróżnia wszystkie cele w pamięci podręcznej tekstur z powrotem do pamięci lokalnej. Może zapobiec utracie obrazu podczas zapisywania stanu lub przełączania modułów renderujących, ale może również powodować uszkodzenie grafiki. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Próbuje zmniejszyć rozmiar tekstury, gdy gry nie ustawiają go samodzielnie (np. gry używające silnika Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Naprawia problemy z interpolacją (linie pionowe) w grach Namco takich jak Ace Combat, Tekken, Soul Calibur, itp. - + Dumps replaceable textures to disk. Will reduce performance. Zgrywa zamienniki tekstur na dysk. Spowoduje zmniejszenie wydajności. - + Includes mipmaps when dumping textures. Dołącza mipmapy podczas zgrywania tekstur. - + Allows texture dumping when FMVs are active. You should not enable this. Pozwala na zgrywanie tekstury, gdy FMV jest aktywne. Nie powinieneś tego włączyć. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Załaduje zamienniki tekstur w wątku robotniczym, redukując mikrościnki, gdy zamienniki są włączone. - + Loads replacement textures where available and user-provided. Ładuje podmienione tekstury, o ile są dostępne i dostarczane przez użytkownika. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Wstępnie ładuje wszystkie podmianki tekstur do pamięci. Nie jest konieczne gdy asynchroniczne ładowanie jest włączone. - + Enables FidelityFX Contrast Adaptive Sharpening. Umożliwia adaptacyjne wyostrzanie kontrastu FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. Określa intensywność efektu zaostrzenia w procesie przetwarzania wtórnego kontrastowego wyostrzania adaptacyjnego. - + Adjusts brightness. 50 is normal. Dostosowuje jasność. 50 jest normalne. - + Adjusts contrast. 50 is normal. Dostosowuje kontrast. 50 jest normalne. - + Adjusts saturation. 50 is normal. Dostosowuje nasycenie. 50 jest normalne. - + Scales the size of the onscreen OSD from 50% to 500%. Skaluje rozmiar wyświetlacza ekranowego z 50% do 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Pokazuje wskaźniki ikon OSD dla stanów emulacji, takich jak wstrzymywanie, tryb turbo, przewijanie do przodu, spowolnienie. - + Displays various settings and the current values of those settings, useful for debugging. Wyświetla różne ustawienia i bieżące wartości tych ustawień, przydatne do debugowania. - + Displays a graph showing the average frametimes. Wyświetla wykres przedstawiający średnie czasy klatek. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Kodek wideo - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Wybiera, który kodek wideo ma być używany do nagrywania wideo. <b>Jeśli nie jesteś pewien, pozostaw ustawienie domyślne.<b> - + Video Format Format wideo - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Wybiera, który format wideo ma być używany do nagrywania wideo. Jeśli kodek nie obsługuje formatu, użyty zostanie pierwszy dostępny format. <b>Jeśli nie jesteś pewien, pozostaw domyślne.<b> - + Video Bitrate Szybkość transmisji wideo - + 6000 kbps 6000 kb/s - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Ustawia używaną szybkość transmisji wideo. Większa szybkość transmisji zazwyczaj zapewnia lepszą jakość wideo kosztem większego rozmiaru pliku. - + Automatic Resolution Automatyczna rozdzielczość - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Jeśli zaznaczone, rozdzielczość przechwytywania obrazu będzie zgodna z wewnętrzną rozdzielczością uruchomionej gry.<br><br><b>Zachowaj ostrożność, gdy używasz tego ustawienia, szczególnie gdy korzystarz z interpolacji, ponieważ wyższa rozdzielczość wewnętrzna (powyżej 4x) może spowodować bardzo wymagające przechwytywanie wideo i spowodować przeciążenie systemu.</b> - + Enable Extra Video Arguments Włącz dodatkowe argumenty wideo - + Allows you to pass arguments to the selected video codec. Pozwala na przekazanie argumentów do wybranego kodeka wideo. - + Extra Video Arguments Dodatkowe argumenty wideo - + Audio Codec Kodek audio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Wybiera, który kodek audio ma być używany do nagrywania wideo. <b>Jeśli nie jesteś pewien, pozostaw ustawienie domyślne.<b> - + Audio Bitrate Bitrate dźwięku - + Enable Extra Audio Arguments Włącz dodatkowe argumenty dźwięku - + Allows you to pass arguments to the selected audio codec. Pozwala na przekazanie argumentów do wybranego kodeka audio. - + Extra Audio Arguments Dodatkowe argumenty dźwięku - + Allow Exclusive Fullscreen Zezwalaj na ekskluzywny pełny ekran - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Nadpisuje heuristykę sterownika do włączenia ekskluzywnego trybu pełnoekranowego lub bezpośredniego przeskoku/skanowania.<br>Wyłączenie ekskluzywnego pełnoekranowego może umożliwić płynniejsze przełączanie między zadaniami, ale zwiększa opóźnienie wejściowe. - + 1.25x Native (~450px) 1.25x natywna (~450px) - + 1.5x Native (~540px) 1.5x natywna (~540px) - + 1.75x Native (~630px) 1.75x natywna (~630px) - + 2x Native (~720px/HD) 2x natywna (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x natywna (~900px/HD+) - + 3x Native (~1080px/FHD) 3x natywna (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x natywna (~1260px) - + 4x Native (~1440px/QHD) 4x natywna (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x natywna (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x natywna (~2160px/4K UHD) - + 7x Native (~2520px) 7x natywna (~2520px) - + 8x Native (~2880px/5K UHD) 8x natywna (~2880px/5K UHD) - + 9x Native (~3240px) 9x natywna (~3240px) - + 10x Native (~3600px/6K UHD) 10x natywna (~3600px/6K UHD) - + 11x Native (~3960px) 11x natywna (~3960px) - + 12x Native (~4320px/8K UHD) 12x natywna (~4320px/8K UHD) - + 13x Native (~4680px) 13x natywna (~4680px) - + 14x Native (~5040px) 14x natywna (~5040px) - + 15x Native (~5400px) 15x natywna (~5400px) - + 16x Native (~5760px) 16x natywna (~5760px) - + 17x Native (~6120px) 17x natywna (~6120px) - + 18x Native (~6480px/12K UHD) 18x natywna (~6480px/12K UHD) - + 19x Native (~6840px) 19x natywna (~6840px) - + 20x Native (~7200px) 20x natywna (~7200px) - + 21x Native (~7560px) 21x natywna (~7560px) - + 22x Native (~7920px) 22x natywna (~7920px) - + 23x Native (~8280px) 23x natywna (~8280px) - + 24x Native (~8640px/16K UHD) 24x natywna (~8640px/16K UHD) - + 25x Native (~9000px) 25x natywna (~9000px) - - + + %1x Native %1x natywna - - - - - - - - - + + + + + + + + + Checked Zaznaczone - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Włącza wewnętrzne poprawki przeciw rozmyciu. Mniej wierne renderowaniu używanego przez PS2, ale sprawi, że wiele gier będzie wyglądało na mniej rozmyte. - + Integer Scaling Skalowanie z użyciem liczby całkowitej - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Dodaje dopełnienie do obszaru wyświetlania, aby stosunek pikseli gospodarza do pikseli w konsoli był liczbą całkowitą. Może wyostrzyć obraz w niektórych grach 2D. - + Aspect Ratio Format obrazu - + Auto Standard (4:3/3:2 Progressive) Automatycznie, standardowe (4:3/3:2 progresywnie) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Zmienia format obrazu używany do wyświetlania wyjścia konsoli na ekranie. Wartością domyślną jest 'Automatycznie, standardowe (4:3/3:2 progresywnie)', która automatycznie dostosowuje format obrazu w taki sposób, aby gra była wyświetlana na typowym telewizorze z epoki. - + Deinterlacing Usuwanie przeplotu - + Screenshot Size Rozmiar zrzutu ekranu - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Określa rozdzielczość, przy której zrzuty ekranu będą zapisywane. Wewnętrzna rozdzielczość zachowuje więcej szczegółów kosztem rozmiaru pliku. - + Screenshot Format Format zrzutów ekranu - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Wybiera format, który będzie używany do zapisywania zrzutów ekranu. JPEG produkuje mniejsze pliki, ale traci szczegóły. - + Screenshot Quality Jakość zrzutu ekranu - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Wybiera jakość, przy której zrzuty ekranu będą kompresowane. Wyższe wartości zachowują więcej szczegółów dla JPEG, i zmniejszają rozmiar pliku dla PNG. - - + + 100% 100% - + Vertical Stretch Rozciągnięcie pionowe - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Rozciąga (&lt; 100%) lub zgniata (&gt; 100%) element pionowy wyświetlacza. - + Fullscreen Mode Tryb pełnoekranowy - - - + + + Borderless Fullscreen Pełny ekran bez obramowania - + Chooses the fullscreen resolution and frequency. Wybiera rozdzielczość i częstotliwość na pełnym ekranie. - + Left Lewo - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Zmienia liczbę pikseli przyciętych z lewej strony wyświetlacza. - + Top Góra - + Changes the number of pixels cropped from the top of the display. Zmienia liczbę pikseli przyciętych u góry wyświetlacza. - + Right Prawo - + Changes the number of pixels cropped from the right side of the display. Zmienia liczbę pikseli przyciętych z prawej strony wyświetlacza. - + Bottom Dół - + Changes the number of pixels cropped from the bottom of the display. Zmienia liczbę pikseli przyciętych u dołu wyświetlacza. - - + + Native (PS2) (Default) Natywny (PS2) (domyślnie) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Kontroluj rozdzielczość, w której gry są renderowane. Wysoka rozdzielczość może mieć wpływ na wydajność starszych lub słabszych kart graficznych.<br>Nienatywna rozdzielczość może powodować drobne problemy graficzne w niektórych grach.<br>Rozdzielczość FMV pozostanie niezmieniona, ponieważ pliki wideo są wstępnie renderowane. - + Texture Filtering Filtrowanie tekstur - + Trilinear Filtering Filtrowanie trójliniowe - + Anisotropic Filtering Filtrowanie anizotropowe - + Reduces texture aliasing at extreme viewing angles. Zmniejsza aliasing tekstur przy ekstremalnych kątach widzenia. - + Dithering Dithering - + Blending Accuracy Dokładność mieszania - + Texture Preloading Wstępne ładowanie tekstur - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Załaduje całą teksturę na raz zamiast małych części, unikając zbędnych redundancji przesyłania, gdy jest to możliwe. Poprawia wydajność w większości gier, ale może spowolnić niektóre. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Po włączeniu karta graficzna konwertuje kolorowe tekstury, w przeciwnym razie procesor będzie działał jako kompromis między kartą graficzną a procesorem. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Włączenie tej opcji daje możliwość zmiany renderowania i interpolacji poprawek do twoich gier. Jednak JEŚLI masz to WŁĄCZONE, WYŁĄCZYSZ USTAWIENIA AUTOMATYCZNE i możesz ponownie włączyć ustawienia automatyczne, odznaczając tę opcję. - + 2 threads 2 wątki - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Wymuś prymitywne spłukiwanie, gdy bufor klatek jest również teksturą wejściową. Naprawia niektóre efekty przetwarzania, takie jak cienie w serii Jak i metodę energetyczną w GTA:SA. - + Enables mipmapping, which some games require to render correctly. Włącza mipmapping, którego niektóre gry wymagają do poprawnego renderowania. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. Maksymalna szerokość pamięci docelowej, która pozwoli aktywne renderowanie sprite'ów procesora. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Próbuje wykryć, kiedy gra rysuje własną paletę kolorów, a następnie renderuje ją w oprogramowaniu, zamiast na karcie graficznej. - + GPU Target CLUT Docelowy CLUT na karcie graficznej - + Skipdraw Range Start Początek zakresu pominięcia rysowania - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Całkowicie pomija powierzchnie rysowania od powierzchni w lewym polu do powierzchni określonej w polu po prawej. - + Skipdraw Range End Koniec zakresu pominięcia rysowania - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Ta opcja wyłącza wiele bezpiecznych funkcji. Wyłącza dokładne odskalowanie punktów i linii renderujących, które mogą pomóc grom Xenosaga. Wyłącza dokładne czyszczenie pamięci GS do wykonania na procesorze i pozwala karcie graficznej na jego obsługę, co może pomóc grom z serii Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Przekazuje dane GS przy renderowaniu nowej klatki w celu dokładniejszej reprodukcji niektórych efektów. - + Half Pixel Offset Przesunięcie o pół piksela - + Might fix some misaligned fog, bloom, or blend effect. Może naprawić niektóre źle dopasowane efekty mgły, bloom lub efekt mieszania. - + Round Sprite Zaokrąglij sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Poprawia próbkę dwuwymiarowego sprite'a tekstury podczas interpolacji. Naprawia linie w sprite'ach gier takich jak Ar tonelico podczas interpolacji. Połowa opcji jest dla płaskich sprite'ów. 'Pełne' jest dla wszystkich sprite'ów. - + Texture Offsets X Przesunięcia tekstur X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Przesunięcie współrzędnych tekstury ST/UV. Naprawia pewne dziwne problemy z teksturą i może również rozwiązać niektóre ustawienia po przetworzeniu. - + Texture Offsets Y Przesunięcia tekstur Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Obniża precyzję GS, aby uniknąć przerw pomiędzy pikselamami interpolacji. Naprawia tekst w grach Wild Arms. - + Bilinear Upscale Dwuliniowa interpolacja - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Można wygładzać tekstury z powodu filtrowania dwuliniowego podczas interpolacji. np. blask słońca w Brave: The Search for Spirit Dancer. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Zastępuje po przetworzeniu wielu utwardzonych sprite'ów pojedynczym tłustym spritem. Zmniejsza różne linie interpolacji. - + Force palette texture draws to render at native resolution. Wymuś renderowanie palety rysowania tekstury w natywnej rozdzielczości. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Kontrastowe wyostrzanie adaptacyjne - + Sharpness Ostrość - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Włącza regulację nasycenia, kontrastu i jasności. Wartości jasności, nasycenia i kontrastu są domyślnie 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Stosuje algorytm antyaliasingowy FXAA, aby poprawić jakość wizualną gier. - + Brightness Jasność - - - + + + 50 50 - + Contrast Kontrast - + TV Shader Cienie telewizora - + Applies a shader which replicates the visual effects of different styles of television set. Stosuje cień, który replikuje efekty wizualne różnych stylów telewizorów. - + OSD Scale Skala wyświetlacza ekranowego (OSD) - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Wyświetla powiadomienia na ekranie przy czynnościach tj. tworzenie i wczytywanie zapisów, robienie zrzutów ekranu itp. - + Shows the internal frame rate of the game in the top-right corner of the display. Pokazuje częstotliwość wyświetlania klatek, w jakiej wyświetlana jest gra w prawym górnym rogu ekranu. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Pokazuje aktualną prędkość emulacji systemu w prawym górnym rogu wyświetlacza w procentach. - + Shows the resolution of the game in the top-right corner of the display. Pokazuje rozdzielczość, w jakiej wyświetlana jest gra w prawym górnym rogu ekranu. - + Shows host's CPU utilization. Pokazuje zużycie procesora gospodarza. - + Shows host's GPU utilization. Pokazuje zużycie karty graficznej gospodarza. - + Shows counters for internal graphical utilization, useful for debugging. Pokazuje liczniki dla zużycia wewnętrznej karty graficznej, przydatne do debugowania. - + Shows the current controller state of the system in the bottom-left corner of the display. Pokazuje bieżący stan systemu kontrolera w lewym dolnym rogu ekranu. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Wyświetla ostrzeżenia, gdy włączone są ustawienia, które mogą zepsuć działanie gry. - - + + Leave It Blank Pozostaw puste - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parametry przekazane do wybranego kodeka audio.<br><b>Musisz użyć '=' aby oddzielić klucz od wartości i ':' aby oddzielić dwie pary od siebie.</b><br>Na przykład: "compression_level = 21 : joint_stereo = " - + Sets the audio bitrate to be used. Ustawia bitrate dźwięku, który ma być użyty. - + 160 kbps 160 kb/s - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parametry przekazane do wybranego kodeka audio.<br><b>Musisz użyć '=' aby oddzielić klucz od wartości i ':' aby oddzielić dwie pary od siebie.</b><br>Na przykład: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression Kompresja zrzutu GS - + Change the compression algorithm used when creating a GS dump. Zmień algorytm kompresji używany podczas tworzenia zrzutu GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Używa modelu prezentacji blit zamiast wyskakujących podczas korzystania z renderowania Direct3D 11. Prowadzi to zazwyczaj do mniejszej wydajności, ale może być wymagane w przypadku niektórych zastosowań strumieniowych lub do odblokowania klatek na niektórych systemach. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Odblokowuje dodatkowe, bardzo wysokie współczynniki skalowania, zależne od możliwości karty graficznej hosta. - + Enable Debug Device Włącz urządzenia debugującego - + Enables API-level validation of graphics commands. Umożliwia weryfikację poleceń grafiki na poziomie API. - + GS Download Mode Tryb pobierania GS - + Accurate Dokładny - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Pomija synchronizację z wątkiem GS i kartą graficzną gospodarza dla pobrań przez GS. Może doprowadzić do znacznego wzrostu szybkości w wolniejszych systemach, kosztem wielu uszkodzonych efektów graficznych. Jeśli gry nie renderują się prawidłowo i masz włączoną tę opcję, najpierw je wyłączyć. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Domyślne - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Wymusza użycie FIFO nad prezentacją skrzynki pocztowej, tj. buforowanie podwójne zamiast buforu potrójnego. Zwykle prowadzi do gorszego tempa klatek. @@ -14126,7 +14185,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Domyślny @@ -14343,254 +14402,254 @@ Swap chain: see Microsoft's Terminology Portal. Nie znaleziono zapisanego stanu w slocie {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Otwórz menu pauzy - + Open Achievements List Otwórz listę osiągnięć - + Open Leaderboards List Otwórz listę rankingów - + Toggle Pause Przełącz pauzę - + Toggle Fullscreen Przełącz tryb pełnoekranowy - + Toggle Frame Limit Przełącz limiter klatek - + Toggle Turbo / Fast Forward Przełącznik Turbo / Przewijania do przodu - + Toggle Slow Motion Przełącz spowolnienie czasu - + Turbo / Fast Forward (Hold) Turbo / Przewijanie do przodu (przytrzymaj) - + Increase Target Speed Zwiększ prędkość celu - + Decrease Target Speed Zmniejsz prędkość celu - + Increase Volume Zwiększ głośność - + Decrease Volume Zmniejsz głośność - + Toggle Mute Przełącz wyciszenie - + Frame Advance Przesunięcie klatek - + Shut Down Virtual Machine Zamknij maszynę wirtualną - + Reset Virtual Machine Zresetuj maszynę wirtualną - + Toggle Input Recording Mode Przełącz tryb nagrywania urządzenia wejściowego - - + + Save States Zapisy - + Select Previous Save Slot Wybierz poprzednie miejsce zapisu - + Select Next Save Slot Wybierz następne miejsce zapisu - + Save State To Selected Slot Zapisz w wybranym miejscu - + Load State From Selected Slot Wczytaj zapis z wybranego slotu - + Save State and Select Next Slot Zapisz stan i wybierz następny slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Zapisz na miejscu 1 - + Load State From Slot 1 Wczytaj zapis z slotu 1 - + Save State To Slot 2 Zapisz w miejscu 2 - + Load State From Slot 2 Wczytaj zapis z slotu 2 - + Save State To Slot 3 Zapisz stan do slotu 3 - + Load State From Slot 3 Wczytaj stan ze slotu 3 - + Save State To Slot 4 Zapisz stan do slotu 4 - + Load State From Slot 4 Wczytaj stan ze slotu 4 - + Save State To Slot 5 Zapisz stan do slotu 5 - + Load State From Slot 5 Wczytaj stan ze slotu 5 - + Save State To Slot 6 Zapisz stan do slotu 6 - + Load State From Slot 6 Wczytaj stan ze slotu 6 - + Save State To Slot 7 Zapisz stan do slotu 7 - + Load State From Slot 7 Wczytaj stan ze slotu 7 - + Save State To Slot 8 Zapisz stan do slotu 8 - + Load State From Slot 8 Wczytaj stan ze slotu 8 - + Save State To Slot 9 Zapisz stan do slotu 9 - + Load State From Slot 9 Wczytaj stan ze slotu 9 - + Save State To Slot 10 Zapisz stan do slotu 10 - + Load State From Slot 10 Wczytaj stan ze slotu 10 @@ -15470,594 +15529,608 @@ Kliknij prawym przyciskiem myszy, aby wyczyścić powiązanie &System - - - + + Change Disc Zmień płytę - - + Load State Wczytaj stan gry - - Save State - Zapisz stan - - - + S&ettings &Ustawienia - + &Help &Pomoc - + &Debug &Debugowanie - - Switch Renderer - Przełącz renderer - - - + &View &Widok - + &Window Size &Rozmiar okna - + &Tools &Narzędzia - - Input Recording - Nagrywanie przycisków - - - + Toolbar Pasek narzędzi - + Start &File... &Uruchom plik... - - Start &Disc... - &Uruchom płytę... - - - + Start &BIOS Uruchom &BIOS - + &Scan For New Games &Skanuj w poszukiwaniu nowych gier - + &Rescan All Games &Ponownie przeskanuj wszystkie gry - + Shut &Down &Wyłącz - + Shut Down &Without Saving &Wyłącz bez zapisywania - + &Reset &Resetuj - + &Pause &Wstrzymaj - + E&xit &Wyjdź - + &BIOS &BIOS - - Emulation - Emulacja - - - + &Controllers &Kontrolery - + &Hotkeys &Skróty klawiszowe - + &Graphics &Grafika - - A&chievements - &Osiągnięcia - - - + &Post-Processing Settings... &Ustawienia przetwarzania końcowego... - - Fullscreen - Pełny ekran - - - + Resolution Scale Skala rozdzielczości - + &GitHub Repository... &Repozytorium GitHub... - + Support &Forums... &Wsparcie na forum... - + &Discord Server... &Serwer Discord... - + Check for &Updates... Sprawdź &aktualizacje... - + About &Qt... O &Qt... - + &About PCSX2... &O PCSX2... - + Fullscreen In Toolbar Pełny ekran - + Change Disc... In Toolbar Zmień płytę... - + &Audio &Dźwięk - - Game List - Widok listy - - - - Interface - Interfejs + + Global State + Stan globalny - - Add Game Directory... - Dodaj katalog z grami... + + &Screenshot + &Zrzut ekranu - - &Settings - &Ustawienia + + Start File + In Toolbar + Uruchom plik - - From File... - Z pliku... + + &Change Disc + &Change Disc - - From Device... - Z urządzenia... + + &Load State + &Load State - - From Game List... - Z listy gier... + + Sa&ve State + Sa&ve State - - Remove Disc - Usuń płytę + + Setti&ngs + Setti&ngs - - Global State - Stan globalny + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Zrzut ekranu + + &Input Recording + &Input Recording - - Start File - In Toolbar - Uruchom plik + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Załaduj płytę - + Start BIOS In Toolbar Uruchom BIOS - + Shut Down In Toolbar Wyłącz - + Reset In Toolbar Zresetuj - + Pause In Toolbar Wstrzymaj - + Load State In Toolbar Wczytaj stan gry - + Save State In Toolbar Zapisz stan gry - + + &Emulation + &Emulation + + + Controllers In Toolbar Kontrolery - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Ustawienia - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Zrzut ekranu - + &Memory Cards &Karty pamięci - + &Network && HDD &Sieć && HDD - + &Folders &Foldery - + &Toolbar &Pasek narzędzi - - Lock Toolbar - Zablokuj paski narzędzi + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Pasek stanu + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Status szczegółowy + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Widok &listy + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - &Wyświetlanie systemowe + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Właściwości &gry + + E&nable System Console + E&nable System Console - - Game &Grid - Widok &siatki + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Pokaż tytuły (widok siatki) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - &Powiększ (widok siatki) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - &Pomniejsz (widok siatki) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - &Odśwież okładki (widok siatki) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Otwórz katalog kart pamięci... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Otwórz katalog... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Przełącznik renderowania programowego + + &Controller Logs + &Controller Logs - - Open Debugger - Otwórz debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Przeładuj kody/łatki + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Włącz konsolę systemową + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Włącz konsolę debugowania + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Włącz okno dziennika zdarzeń + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Włącz szczegółowe rejestrowanie + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Włącz rejestrowanie konsoli EE + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Włącz rejestrowanie konsoli IOP + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Zapisz zrzut GS pojedynczej klatki + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - Nowy + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Odtwórz + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Zatrzymaj + + &Status Bar + &Pasek stanu - - Settings - This section refers to the Input Recording submenu. - Ustawienia + + + Game &List + Widok &listy - - - Input Recording Logs - Logi Nagrywania + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Logi kontrolera + + &Verbose Status + &Verbose Status - - Enable &File Logging - Włącz &rejestrowanie do pliku + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + &Wyświetlanie systemowe + + + + Game &Properties + Właściwości &gry - - Enable CDVD Read Logging - Włącz rejestrowanie odczytu CDVD + + Game &Grid + Widok &siatki - - Save CDVD Block Dump - Zapisz zrzut bloku CDVD + + Zoom &In (Grid View) + &Powiększ (widok siatki) - - Enable Log Timestamps - Włącz znaczniki czasowe w dzienniku zdarzeń + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + &Pomniejsz (widok siatki) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + &Odśwież okładki (widok siatki) + + + + Open Memory Card Directory... + Otwórz katalog kart pamięci... + + + + Input Recording Logs + Logi Nagrywania + + + + Enable &File Logging + Włącz &rejestrowanie do pliku + + + Start Big Picture Mode Uruchom tryb Big Picture - - + + Big Picture In Toolbar Tryb Big Picture - - Cover Downloader... - Menedżer pobierania okładek... - - - - + Show Advanced Settings Pokaż ustawienia zaawansowane - - Recording Viewer - Przeglądarka nagrań - - - - + Video Capture Przechwytywanie wideo - - Edit Cheats... - Edytuj kody... - - - - Edit Patches... - Edytuj łatki... - - - + Internal Resolution Rozdzielczość wewnętrzna - + %1x Scale Skala %1x - + Select location to save block dump: Wybierz położenie, aby zapisać zrzut bloku: - + Do not show again Nie pokazuj ponownie - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16070,297 +16143,297 @@ Zespół PCSX2 nie będzie wspierał konfiguracji, które modyfikują te ustawie Czy na pewno chcesz kontynuować? - + %1 Files (*.%2) %1 Pliki (*.%2) - + WARNING: Memory Card Busy UWAGA: Zajęta karta pamięci - + Confirm Shutdown Potwierdź zamknięcie - + Are you sure you want to shut down the virtual machine? Czy na pewno chcesz zamknąć maszynę wirtualną? - + Save State For Resume Zapisz stan dla wznowienia - - - - - - + + + + + + Error Błąd - + You must select a disc to change discs. Musisz wybrać płytę, aby zmienić płyty. - + Properties... Właściwości... - + Set Cover Image... Ustaw okładkę... - + Exclude From List Wyklucz z listy - + Reset Play Time Zresetuj czas gry - + Check Wiki Page Sprawdź PCSX2 Wiki - + Default Boot Domyślny rozruch - + Fast Boot Szybki rozruch - + Full Boot Pełny rozruch - + Boot and Debug Uruchom i debuguj - + Add Search Directory... Dodaj katalog wyszukiwania... - + Start File Plik startowy - + Start Disc Załaduj płytę - + Select Disc Image Wybierz obraz płyty - + Updater Error Błąd aktualizacji - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Przepraszamy, próbujesz zaktualizować wersję PCSX2, która nie jest oficjalną wersją GitHub. Aby zapobiec niezgodnościom, auto-aktualizacja jest włączona tylko na oficjalnych wersjach.</p><p>Aby uzyskać oficjalną wersję, pobierz link poniżej:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatyczna aktualizacja nie jest obsługiwana na bieżącej platformie. - + Confirm File Creation Potwierdź utworzenie pliku - + The pnach file '%1' does not currently exist. Do you want to create it? Plik pnach '%1' nie istnieje. Czy chcesz go utworzyć? - + Failed to create '%1'. Nie udało się utworzyć '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Nagrywanie sterowania nie powiodło się - + Failed to create file: {} Nie można utworzyć pliku: {} - + Input Recording Files (*.p2m2) Pliki nagrań urządzeń wejścia (*.p2m2) - + Input Playback Failed Odtwarzanie zapisanych danych sterowania nie powiodło się - + Failed to open file: {} Nie można otworzyć pliku: {} - + Paused Wstrzymano - + Load State Failed Nie udało się wczytać stanu gry - + Cannot load a save state without a running VM. Nie można załadować stanu zapisu bez uruchomionej maszyny wirtualnej. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Nowy ELF nie może być załadowany bez resetowania maszyny wirtualnej. Czy chcesz zresetować teraz maszynę wirtualną? - + Cannot change from game to GS dump without shutting down first. Nie można zmienić z gry na zgrany zrzut GS bez wcześniejszego wyłączenia. - + Failed to get window info from widget Nie udało się uzyskać informacji o oknie z widżetu - + Stop Big Picture Mode Zatrzymaj tryb Big Picture - + Exit Big Picture In Toolbar Wyjdź z trybu 'Big Picture' - + Game Properties Właściwości gry - + Game properties is unavailable for the current game. Właściwości są niedostępne dla tej gry. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Nie można znaleźć żadnych urządzeń CD/DVD-ROM. Upewnij się, że masz podłączony napęd i wystarczające uprawnienia, aby uzyskać do niego dostęp. - + Select disc drive: Wybierz napęd płyt: - + This save state does not exist. Ten zapis stanu nie istnieje. - + Select Cover Image Wybierz okładkę - + Cover Already Exists Okładka już istnieje - + A cover image for this game already exists, do you wish to replace it? Obraz okładki dla tej gry już istnieje, czy chcesz go zastąpić? - + + - Copy Error Błąd kopiowania - + Failed to remove existing cover '%1' Nie udało się usunąć istniejącej okładki '%1' - + Failed to copy '%1' to '%2' Nie udało się skopiować '%1' do '%2' - + Failed to remove '%1' Nie udało się usunąć '%1' - - + + Confirm Reset Potwierdź reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Wszystkie typy okładek (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Musisz wybrać inny plik do bieżącego obrazu okładki. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16369,12 +16442,12 @@ This action cannot be undone. Tej czynności nie można cofnąć. - + Load Resume State Wczytaj stan wznowienia - + A resume save state was found for this game, saved at: %1. @@ -16387,89 +16460,89 @@ Do you want to load this state, or start from a fresh boot? Czy chcesz wczytać ten stan czy uruchomić normalnie? - + Fresh Boot Świeży rozruch - + Delete And Boot Usuń i uruchom - + Failed to delete save state file '%1'. Nie udało się usunąć pliku zapisanego stanu '%1'. - + Load State File... Wczytaj plik stanu gry... - + Load From File... Wczytaj z pliku... - - + + Select Save State File Wybierz plik zapisu stanu gry - + Save States (*.p2s) Zapisz stany (*.p2s) - + Delete Save States... Usuń zapisy stanów... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Wszystkie typy plików (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs. st *.dump);;;Surowe obrazy pojedynczej ścieżki (*.bin *.iso);;Arkusze cue (*.cue);Pliki deskryptora mediów (*. df);;Obrazy MAME CHD (*.chd);;Obrazy CSO (*.cso);;Obrazy ZSO (*.zso);Obrazy GZ (*.gz);;Pliki wykonywalne ELF (*.elf);;Pliki wykonywalne IRX (*.irx);;Zrzut GS (*.gs *.gs.xz *.gs.zst);;Zrzuty blokowe (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Wszystkie typy plików (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Surowe obrazy jednościeżkowe (*.bin *.iso);;Arkusze ue (*. ue);;Plik deskryptora mediów (*.mdf);;MAME obrazy CHD (*.chd);;Obrazy CSO (*.cso);Obrazy ZSO (*.zso);;Obrazy GZ (*.gz);;Blokuj Dumpy (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> OSTRZEŻENIE: Twoja karta pamięci nadal zapisuje dane. Zamykanie teraz <b>NIEODWRACALNIE ZEPSUJE TWOJĄ KARTĘ PAMIĘCI.</b> Zdecydowanie zaleca się wznowienie gry i zakończenie zapisywania na karcie pamięci.<br><br>Czy mimo to chcesz zamknąć i <b>NIEODWRACALNIE ZEPSUĆ SWOJĄ KARTĘ PAMIĘCI?</b> - + Save States (*.p2s *.p2s.backup) Zapisy stanów (*.p2s *.p2s.backup) - + Undo Load State Cofnij załadowanie stanu - + Resume (%2) Wznów (%2) - + Load Slot %1 (%2) Wczytaj Slot %1 (%2) - - + + Delete Save States Usuń zapisy stanów gry - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16478,42 +16551,42 @@ The saves will not be recoverable. Zapisy nie będą możliwe do odzyskania. - + %1 save states deleted. Usunięto %1 stan zapisu. - + Save To File... Zapisz do pliku... - + Empty Pusty - + Save Slot %1 (%2) Zapisz Slot %1 (%2) - + Confirm Disc Change Potwierdź zamianę płyty - + Do you want to swap discs or boot the new image (via system reset)? Chcesz zamienić płyty czy uruchomić nowy obraz (poprzez zresetowanie systemu)? - + Swap Disc Zamień płytę - + Reset Resetuj @@ -16536,25 +16609,25 @@ Zapisy nie będą możliwe do odzyskania. MemoryCard - - + + Memory Card Creation Failed Tworzenie karty pamięci nie powiodło się - + Could not create the memory card: {} Nie można utworzyć karty pamięci: {} - + Memory Card Read Failed Odczyt z karty pamięci nie powiodł się - + Unable to access memory card: {} @@ -16571,28 +16644,33 @@ Zamknij inne procesy PCSX2 lub zrestartuj komputer. - - + + Memory Card '{}' was saved to storage. Karta pamięci '{}' została zapisana do pamięci masowej. - + Failed to create memory card. The error was: {} Nie udało się utworzyć karty pamięci. Wystąpił błąd: {} - + Memory Cards reinserted. Karta pamięci przywrócona. - + Force ejecting all Memory Cards. Reinserting in 1 second. Wymuś odłączenie wszystkich kart pamięci. Ponownie podłączenie za 1 sekundę. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17384,7 +17462,7 @@ Tej czynności nie można cofnąć i stracisz jakiekolwiek zapisy na karcie.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18224,12 +18302,12 @@ Wyrzucam {3} i zastępuje go {2}. Patch - + Failed to open {}. Built-in game patches are not available. Nie udało się otworzyć {}. Wbudowane łatki dla tej gry nie są dostępne. - + %n GameDB patches are active. OSD Message @@ -18240,7 +18318,7 @@ Wyrzucam {3} i zastępuje go {2}. - + %n game patches are active. OSD Message @@ -18251,7 +18329,7 @@ Wyrzucam {3} i zastępuje go {2}. - + %n cheat patches are active. OSD Message @@ -18262,7 +18340,7 @@ Wyrzucam {3} i zastępuje go {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Nie znaleziono lub nie są włączone kody lub łatki (dla panoramicznego ekranu, kompatybilności lub inne). @@ -18363,47 +18441,47 @@ Wyrzucam {3} i zastępuje go {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Zalogowano jako %1 (%2 pkt, %3 pkt w trybie softcore). %4 nieprzeczytane wiadomości. - - + + Error Błąd - + An error occurred while deleting empty game settings: {} Wystąpił błąd podczas usuwania pustych ustawień gry: {} - + An error occurred while saving game settings: {} Wystąpił błąd podczas zapisywania ustawień gry: {} - + Controller {} connected. Kontroler {} podłączony. - + System paused because controller {} was disconnected. System wstrzymany, ponieważ kontroler {} został rozłączony. - + Controller {} disconnected. Kontroler {} odłączony. - + Cancel Anuluj @@ -18536,7 +18614,7 @@ Wyrzucam {3} i zastępuje go {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21749,42 +21827,42 @@ Skanowanie to zajmuje więcej czasu, ale identyfikuje pliki w podkatalogach. VMManager - + Failed to back up old save state {}. Nie udało się utworzyć kopii zapasowej starego stanu zapisu {}. - + Failed to save save state: {}. Nie udało się zapisać stanu {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Nieznana gra - + CDVD precaching was cancelled. Wstępne buforowanie CDVD zostało przerwane. - + CDVD precaching failed: {} Wstępne buforowanie CDVD nie powiodło się: {} - + Error Błąd - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21801,272 +21879,272 @@ Po zgraniu, ten obraz BIOS-u powinien zostać umieszczony w folderze bios w kata Proszę, rozważ przeczytanie FAQ oraz poradników po więcej informacji. - + Resuming state Wznawianie stanu - + Boot and Debug Uruchom i debuguj - + Failed to load save state Nie udało się wczytać zapisanego stanu - + State saved to slot {}. Stan zapisany do slotu {}. - + Failed to save save state to slot {}. Nie udało się zapisać stanu w slocie {}. - - + + Loading state Ładowanie stanu gry - + Failed to load state (Memory card is busy) Nie udało się wczytać slotu stanu {} (karta pamięci jest zajęta) - + There is no save state in slot {}. Brak zapisanego stanu w slocie {}. - + Failed to load state from slot {} (Memory card is busy) Nie udało się wczytać stanu gry ze slotu {} (karta pamięci jest zajęta) - + Loading state from slot {}... Wczytuję zapis stanu ze slotu {}... - + Failed to save state (Memory card is busy) Nie udało się zapisać slotu stanu {} (karta pamięci jest zajęta) - + Failed to save state to slot {} (Memory card is busy) Nie udało się zapisać stanu gry do slotu {} (karta pamięci jest zajęta) - + Saving state to slot {}... Zapisywanie stanu do slotu {}... - + Frame advancing Przesunięcie klatek - + Disc removed. Wyjęto płytę. - + Disc changed to '{}'. Zmieniono płytę na '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Nie udało się otworzyć nowego obrazu płyty '{}'. Przywracanie do starego obrazu. Wystąpił błąd: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Nie udało się powrócić do starego obrazu płyty. Usuwanie płyty. Wystąpił błąd: {} - + Cheats have been disabled due to achievements hardcore mode. Kody zostały wyłączone ze względu na osiągnięcia w trybie Hardcore. - + Fast CDVD is enabled, this may break games. Szybkie CDVD jest włączone, może to zaszkodzić działaniu gry. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Częstotliwość/pomijanie cyklu nie jest domyślne, może to spowodować awarię lub zbyt powolne działanie gier. - + Upscale multiplier is below native, this will break rendering. Mnożnik interpolacji jest poniżej wartości natywnej, co zepsuje renderowanie. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping jest wyłączony. Może to źle wpłynąć na renderowanie niektórych gier. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Filtrowanie tekstur nie jest ustawione na Dwuliniowe (PS2). To spowoduje przerwanie renderowania w niektórych grach. - + No Game Running Brak uruchomionych gier - + Trilinear filtering is not set to automatic. This may break rendering in some games. Filtrowanie trójliniowe nie jest ustawione automatycznie. Może to źle wpłynąć na renderowanie niektórych gier. - + Blending Accuracy is below Basic, this may break effects in some games. Dokładność mieszania jest poniżej poziomu podstawowego, może to zepsuć efekty w niektórych grach. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Tryb pobierania sprzętowego nie jest ustawiony na 'Dokładny', może to źle wpłynąć na renderowanie niektórych gier. - + EE FPU Round Mode is not set to default, this may break some games. Tryb zaokrąglania jednostki zmiennoprzecinkowej w EE (EE FPU) nie jest ustawiony domyślnie, może to spowodować uszkodzenie niektórych gier. - + EE FPU Clamp Mode is not set to default, this may break some games. Tryb zacisku jednostki zmiennoprzecinkowej w EE (EE FPU) nie jest ustawiony domyślnie, może to spowodować uszkodzenie niektórych gier. - + VU0 Round Mode is not set to default, this may break some games. Tryb zaokrąglania VU0 nie jest ustawiony domyślnie, może to spowodować uszkodzenie niektórych gier. - + VU1 Round Mode is not set to default, this may break some games. Tryb zaokrąglania VU1 nie jest ustawiony domyślnie, może to spowodować uszkodzenie niektórych gier. - + VU Clamp Mode is not set to default, this may break some games. Tryb zacisku VU nie jest domyślny, może to uszkodzić niektóre gry. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128 MB pamięci RAM jest aktywne. Może mieć to wpływ na zgodność z niektórymi grami. - + Game Fixes are not enabled. Compatibility with some games may be affected. Poprawki do gier są wyłączone. Może mieć to wpływ na zgodność z niektórymi grami. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Poprawki kompatybilności są wyłączone. Może mieć to wpływ na zgodność z niektórymi grami. - + Frame rate for NTSC is not default. This may break some games. Częstotliwość wyświetlania klatek dla NTSC nie jest domyślna. Może to uszkodzić niektóre gry. - + Frame rate for PAL is not default. This may break some games. Częstotliwość wyświetlania klatek dla PAL nie jest domyślna. Może to uszkodzić niektóre gry. - + EE Recompiler is not enabled, this will significantly reduce performance. Rekompilator EE nie jest włączony, co znacznie obniży wydajność. - + VU0 Recompiler is not enabled, this will significantly reduce performance. Rekompilator VU0 nie jest włączony, co znacznie obniży wydajność. - + VU1 Recompiler is not enabled, this will significantly reduce performance. Rekompilator VU1 nie jest włączony, to znacznie zmniejszy wydajność. - + IOP Recompiler is not enabled, this will significantly reduce performance. Rekompilator IOP nie jest włączony, co znacznie obniży wydajność. - + EE Cache is enabled, this will significantly reduce performance. Pamięć podręczna EE jest włączona, to znacznie zmniejszy wydajność. - + EE Wait Loop Detection is not enabled, this may reduce performance. Wykrywanie pętli oczekiwania EE nie jest włączone, może to zmniejszyć wydajność. - + INTC Spin Detection is not enabled, this may reduce performance. Wykrywanie wirowania INTC nie jest włączone, może to zmniejszyć wydajność. - + Fastmem is not enabled, this will reduce performance. Szybka pamięć nie jest włączona, zmniejszy to wydajność. - + Instant VU1 is disabled, this may reduce performance. Natychmiastowe VU1 jest wyłączone, może to zmniejszyć wydajność. - + mVU Flag Hack is not enabled, this may reduce performance. Poprawka dla flagi mVU nie jest włączona, to może zmniejszyć wydajność. - + GPU Palette Conversion is enabled, this may reduce performance. Konwersja palety karty graficznej jest włączona, może to zmniejszyć wydajność. - + Texture Preloading is not Full, this may reduce performance. Wstępne wczytywanie tekstur nie jest ustawione na 'Pełne', może to obniżyć wydajność. - + Estimate texture region is enabled, this may reduce performance. Szacowany region tekstury jest włączony, może to zmniejszyć wydajność. - + Texture dumping is enabled, this will continually dump textures to disk. Zgrywanie tekstury jest włączone, będzie to zrzucać tekstury na dysk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_pt-BR.ts b/pcsx2-qt/Translations/pcsx2-qt_pt-BR.ts index 2d599087d1aba..3d6a9e5bafb5a 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_pt-BR.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_pt-BR.ts @@ -732,307 +732,318 @@ Posição na Tabela de Classificação: {1} de {2} Usar Configuração Global [%1] - + Rounding Mode Modo de Arredondamento - - - + + + Chop/Zero (Default) Cortar/Zero (Padrão) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muda como o PCSX2 lida com o arredondamento enquanto emula a Unidade de Ponto Flutuante da Emotion Engine (EE FPU). Como as várias FPUs no PS2 não são compatíveis com os padrões internacionais, alguns jogos podem precisar de modos diferentes pra fazer a matemática corretamente. O valor padrão lida com a vasta maioria dos jogos; <b>modificar esta configuração quando um jogo não está tendo um problema visível pode causar instabilidade.</b> - + Division Rounding Mode Modo de Arredondamento da Divisão - + Nearest (Default) Mais Próximo (Padrão) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determina como os resultados da divisão dos pontos flutuantes são arredondados. Alguns jogos precisam de configurações específicas; <b>modificar esta configuração quando um jogo não está tendo um problema visível pode causar instabilidade.</b> - + Clamping Mode Modo de Fixação - - - + + + Normal (Default) Normal (Padrão) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muda como o PCSX2 lida sobre como manter os flutuantes em um alcance padrão x86. O valor padrão lida com a vasta maioria dos jogos; <b>modificar esta configuração quando um jogo não está tendo um problema visível pode causar instabilidade.</b> - - + + Enable Recompiler Ativar Recompilador - + - - - + + + - + - - - - + + + + + Checked Selecionado - + + Use Save State Selector + Usar o Seletor dos Save States + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostra uma interface do usuário do seletor dos save states quando troca de slots em vez de mostrar uma bolha de notificação. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Executa na hora a tradução binária do código da máquina MIPS-IV de 64 bits pra x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Detecção do Loop de Espera - + Moderate speedup for some games, with no known side effects. Aceleração moderada pra alguns jogos com nenhum efeito colateral conhecido. - + Enable Cache (Slow) Ativar Cache (Lento) - - - - + + + + Unchecked Desmarcado - + Interpreter only, provided for diagnostic. Só no Interpretador, fornecido pra diagnóstico. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Detecção do Giro do INTC - + Huge speedup for some games, with almost no compatibility side effects. Enorme aceleração pra alguns jogos com quase nenhum efeito colateral na compatibilidade. - + Enable Fast Memory Access Ativar Acesso Rápido a Memória - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Usa o backpatching pra evitar a limpeza do registro em cada acesso a memória. - + Pause On TLB Miss Pausar ao Errar o TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pausa a máquina virtual quando ocorre um erro do TLB ao invés de ignorá-lo e continuar. Note que a máquina virtual pausará após o fim do bloco, não na instrução a qual causou a exceção. Consulte o console pra ver o endereço aonde o acesso inválido ocorreu. - + Enable 128MB RAM (Dev Console) Ativar 128 MBs de RAM (Console do Desenvolvedor) - + Exposes an additional 96MB of memory to the virtual machine. Expõe 96 MBs adicionais de memória a máquina virtual. - + VU0 Rounding Mode Modo de Arredondamento da VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Muda como o PCSX2 lida com o arredondamento enquanto emula a Unidade Vetorial 0 da Emotion Engine (EE VU0). O valor padrão lida com a vasta maioria dos jogos; <b>modificar esta configuração quando um jogo não está tendo um problema visível causará problemas de estabilidade e/ou crashes.</b> - + VU1 Rounding Mode Modo de Arredondamento da VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Muda como o PCSX2 lida com o arredondamento enquanto emula a Unidade Vetorial 1 da Emotion Engine (EE VU1). O valor padrão lida com a vasta maioria dos jogos; <b>modificar esta configuração quando um jogo não está tendo um problema visível causará problemas de estabilidade e/ou crashes.</b> - + VU0 Clamping Mode Modo de Fixação da VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muda como o PCSX2 lida em manter os flutuantes em um alcance padrão x86 na Unidade Vetorial 0 da Emotion Engine (EE VU0). O valor padrão lida com a vasta maioria dos jogos; <b>modificar esta configuração quando um jogo não está tendo um problema visível pode causar instabilidade.</b> - + VU1 Clamping Mode Modo de Fixação da VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Muda como o PCSX2 lida em manter os flutuantes em um alcance padrão x86 na Unidade Vetorial 1 da Emotion Engine (EE VU1). O valor padrão lida com a vasta maioria dos jogos; <b>modificar esta configuração quando um jogo não está tendo um problema visível pode causar instabilidade.</b> - + Enable Instant VU1 Ativar VU1 instantânea - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Executa o VU1 instantaneamente. Fornece uma modesta melhoria de velocidade na maioria dos jogos. Seguro para maioria dos jogos mas alguns jogos podem exibir erros gráficos. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Ativar o Recompilador VU0 (Modo Micro) - + Enables VU0 Recompiler. Ativa o Recompilador VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Ativar o Recompilador VU1 - + Enables VU1 Recompiler. Ativa o Recompilador VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Hack da Bandeira da mVU - + Good speedup and high compatibility, may cause graphical errors. Boa aceleração e alta compatibilidade, pode causar erros gráficos. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Executa na hora a tradução binária do código da máquina MIPS-I de 32 bits pra x86. - + Enable Game Fixes Ativar os Consertos dos Jogos - + Automatically loads and applies fixes to known problematic games on game start. Carrega e aplica automaticamente os consertos nos jogos problemáticos conhecidos no início do jogo. - + Enable Compatibility Patches Ativar Patches de Compatibilidade - + Automatically loads and applies compatibility patches to known problematic games. Carrega e aplica automaticamente os patches de compatibilidade nos jogos problemáticos conhecidos. - + Savestate Compression Method Método de Compressão do Save State - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determina o algoritmo a ser usado quando comprimir os save states. - + Savestate Compression Level Nível de Compressão do Save State - + Medium Médio - + Determines the level to be used when compressing savestates. Determina o nível a ser usado quando comprimir os save states. - + Save State On Shutdown Salvar o State ao Desligar - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Salva automaticamente o state do emulador quando desligar ou sair. Você pode então resumir diretamente de onde você parou da próxima vez. - + Create Save State Backups Criar Backups dos Save States - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Cria uma cópia de backup de um save state se ele já existe quando o save é criado. A cópia de backup tem um sufixo .backup. @@ -1255,29 +1266,29 @@ Posição na Tabela de Classificação: {1} de {2} Criar Backups dos Save States - + Save State On Shutdown Salvar o State ao Desligar - + Frame Rate Control Controle da Taxa dos Frames - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. Hz - + PAL Frame Rate: Taxa dos Frames do PAL: - + NTSC Frame Rate: Taxa dos Frames do NTSC: @@ -1292,7 +1303,7 @@ Posição na Tabela de Classificação: {1} de {2} Nível da Compressão: - + Compression Method: Método de Compressão: @@ -1337,17 +1348,22 @@ Posição na Tabela de Classificação: {1} de {2} Muito Alto (Lento, Não Recomendado) - + + Use Save State Selector + Usar o Seletor dos Save States + + + PINE Settings Configurações do PINE - + Slot: Slot: - + Enable Ativar @@ -1868,8 +1884,8 @@ Posição na Tabela de Classificação: {1} de {2} AutoUpdaterDialog - - + + Automatic Updater Atualizador Automático @@ -1909,68 +1925,68 @@ Posição na Tabela de Classificação: {1} de {2} Lembre-me Mais Tarde - - + + Updater Error Erro do Atualizador - + <h2>Changes:</h2> <h2>Mudanças:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Aviso do Save State</h2><p>Instalar esta atualização tornará seus save states <b>incompatíveis</b>. Por favor certifique-se que você tenha salvo seus jogos no Cartão de Memória antes de instalar esta atualização ou você perderá o progresso.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Aviso das Configurações</h2><p>Instalar esta atualização resetará a configuração do seu programa. Por favor note que você terá que reconfigurar suas configurações após esta atualização.</p> - + Savestate Warning Aviso do Save State - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>AVISO</h1><p style='font-size:12pt;'>Instalar esta atualização tornará seus <b>save states incompatíveis</b>. <i>certifique-se de salvar qualquer progresso nos seus Cartões de Memória antes de prosseguir</i>.</p><p>Você deseja continuar?</p> - + Downloading %1... Baixando a %1... - + No updates are currently available. Please try again later. Nenhuma atualização está disponível atualmente. Por favor tente de novo mais tarde. - + Current Version: %1 (%2) Versão Atual: %1 (%2) - + New Version: %1 (%2) Nova Versão: %1 (%2) - + Download Size: %1 MB Tamanho do Download: %1 MB - + Loading... Carregando... - + Failed to remove updater exe after update. Falhou em remover o exe do atualizador após a atualização. @@ -2134,19 +2150,19 @@ Posição na Tabela de Classificação: {1} de {2} Ativar - - + + Invalid Address Endereço Inválido - - + + Invalid Condition Condição Inválida - + Invalid Size Tamanho Inválido @@ -2236,17 +2252,17 @@ Posição na Tabela de Classificação: {1} de {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. O local do disco do jogo está num drive removível, problemas de performance tais como tremores e congelamento podem ocorrer. - + Saving CDVD block dump to '{}'. Salvando o despejo de bloco do CDVD em '{}'. - + Precaching CDVD Fazendo o Pré-Cache do CDVD @@ -2271,7 +2287,7 @@ Posição na Tabela de Classificação: {1} de {2} Desconhecido - + Precaching is not supported for discs. O pré-cache não é suportado para discos. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Renomear Perfil + + + Delete Profile Apagar Perfil - + Mapping Settings Configurações do Mapeamento - - + + Restore Defaults Restaurar Padrões - - - + + + Create Input Profile Criar Perfil de Entrada - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Pra aplicar um perfil de entrada personalizado em um jogo vá até as Propriedad Insira o nome do novo perfil de entrada: - - - - + + + + + + Error Erro - + + A profile with the name '%1' already exists. Um perfil com o nome '%1' já existe. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Você quer copiar todas as associações do perfil selecionado atualmente para o novo perfil? Selecionar Não criará um perfil completamente vazio. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Você quer copiar as ligações das teclas de atalho atuais das configurações globais para o novo perfil de entrada? - + Failed to save the new profile to '%1'. Falhou em salvar o novo perfil em '%1'. - + Load Input Profile Carregar o Perfil de Entrada - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Todas as associações globais atuais serão removidas e as associações do per Você não pode desfazer esta ação. - + + Rename Input Profile + Reoomeiar o Perfil de Entrada + + + + Enter the new name for the input profile: + Insira o novo nome do perfil de entrada: + + + + Failed to rename '%1'. + Falhou em renomeiar o '%1'. + + + Delete Input Profile Apagar Perfil de Entrada - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. Você não pode desfazer esta ação. - + Failed to delete '%1'. Falhou em apagar o '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Todas as associações e configurações compartilhadas serão perdidas mas seus Você não pode desfazer esta ação. - + Global Settings Configurações Globais - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ Você não pode desfazer esta ação. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ Você não pode desfazer esta ação. %2 - - + + USB Port %1 %2 Porta USB %1 %2 - + Hotkeys Teclas de Atalho - + Shared "Shared" refers here to the shared input profile. Compartilhado - + The input profile named '%1' cannot be found. O perfil de entrada chamado '%1' não pôde ser achado. @@ -4005,63 +4044,63 @@ Você quer sobrescrever? Importar do arquivo (.elf, .sym, etc): - + Add Adicionar - + Remove Remover - + Scan For Functions Procurar Funções - + Scan Mode: Modo de Escaneamento: - + Scan ELF Escanear ELF - + Scan Memory Memória do Escaneamento - + Skip Ignorar - + Custom Address Range: Alcance Personalizado do Endereço: - + Start: Start: - + End: Final: - + Hash Functions Funções do Hash - + Gray Out Symbols For Overwritten Functions Tornar os Símbolos Indisponíveis pras Funções Sobrescritas @@ -4132,17 +4171,32 @@ Você quer sobrescrever? Gere hashes pra todas as funções detectadas e torna os símbolos exibidos no depurador indisponíveis pras funções que não mais combinam. - + <i>No symbol sources in database.</i> <i>Não há fontes de símbolos no banco de dados.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Inicie este jogo pra modificar a lista de fontes dos símbolos.</i> - + + Path + Caminho + + + + Base Address + Endereço Base + + + + Condition + Condição + + + Add Symbol File Adicionar o Arquivo do Símbolo @@ -4794,53 +4848,53 @@ Você quer sobrescrever? Debugger do PCSX2 - + Run Executar - + Step Into Entrar - + F11 F11 - + Step Over Passar por Cima - + F10 F10 - + Step Out Sair - + Shift+F11 Shift+F11 - + Always On Top Sempre no Topo - + Show this window on top Mostrar esta janela no topo - + Analyze Analisar @@ -4858,48 +4912,48 @@ Você quer sobrescrever? Disassembly - + Copy Address Copiar Endereço - + Copy Instruction Hex Copiar Instrução Hex - + NOP Instruction(s) Instruções NOP - + Run to Cursor Executar no Cursor - + Follow Branch Seguir o Branch - + Go to in Memory View Ir pra Visualização de Memória - + Add Function Adicionar Função - - + + Rename Function Renomear Função - + Remove Function Remover Função @@ -4920,23 +4974,23 @@ Você quer sobrescrever? Agrupar Instrução - + Function name Nome da função - - + + Rename Function Error Renomear Erro da Função - + Function name cannot be nothing. O nome da função não pode ser nada. - + No function / symbol is currently selected. Nenhuma função/símbolo está selecionada atualmente. @@ -4946,72 +5000,72 @@ Você quer sobrescrever? Ir pro Disassembly - + Cannot Go To Não Pôde ir Pra - + Restore Function Error Erro da Função de Restauração - + Unable to stub selected address. Incapaz de fazer o stub do endereço selecionado. - + &Copy Instruction Text &Copiar Texto da Instrução - + Copy Function Name Copiar Nome da Função - + Restore Instruction(s) Restaurar instrução(ões) - + Asse&mble new Instruction(s) Agru&par Novas Instruções - + &Jump to Cursor &Pular pro Cursor - + Toggle &Breakpoint Alternar &Pontos de Interrupção - + &Go to Address &Ir pro Endereço - + Restore Function Restaurar função - + Stub (NOP) Function Função Stub (NOP) - + Show &Opcode Mostrar &Opcode - + %1 NOT VALID ADDRESS %1 NÃO É UM ENDEREÇO VÁLIDO @@ -5038,86 +5092,86 @@ Você quer sobrescrever? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Sem Imagem - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Velocidade: %1% - + Game: %1 (%2) Jogo: %1 (%2) - + Rich presence inactive or unsupported. Presença rica inativa ou não suportada. - + Game not loaded or no RetroAchievements available. Jogo não carregado ou sem RetroAchievements disponíveis. - - - - + + + + Error Erro - + Failed to create HTTPDownloader. Falhou em criar o HTTPDownloader. - + Downloading %1... Baixando a %1... - + Download failed with HTTP status code %1. O download falhou com o código de status do HTTP %1. - + Download failed: Data is empty. O download falhou: Os dados estão vazios. - + Failed to write '%1'. Falhou em gravar o '%1'. @@ -5491,81 +5545,76 @@ Você quer sobrescrever? ExpressionParser - + Invalid memory access size %d. Tamanho do acesso a memória inválido %d. - + Invalid memory access (unaligned). Acesso a memória inválido (desalinhado). - - + + Token too long. Token muito longo. - + Invalid number "%s". Número inválido "%s". - + Invalid symbol "%s". Símbolo inválido "%s". - + Invalid operator at "%s". Operador inválido em "%s". - + Closing parenthesis without opening one. Fechando o parêntese sem abrir um. - + Closing bracket without opening one. Fechando o colchete sem abrir um. - + Parenthesis not closed. O parêntese não foi fechado. - + Not enough arguments. Não há argumentos suficientes. - + Invalid memsize operator. Operador do tamanho de memória inválido. - + Division by zero. Divisão por zero. - + Modulo by zero. Módulo por zero. - + Invalid tertiary operator. Operador terciário inválido. - - - Invalid expression. - Expressão inválida. - FileOperations @@ -5699,342 +5748,342 @@ A URL era: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Não conseguiu achar quaisquer dispositivos de CD/DVD-ROM. Por favor certifique-se que você tenha um drive conectado e permissões suficientes pra acessá-lo. - + Use Global Setting Usar Configuração Global - + Automatic binding failed, no devices are available. A associação automática falhou, não há dispositivos disponíveis. - + Game title copied to clipboard. Título do jogo copiado pra área de transferência. - + Game serial copied to clipboard. Serial do jogo copiado pra área de transferência. - + Game CRC copied to clipboard. CRC do jogo copiado pra área de transferência. - + Game type copied to clipboard. Tipo de jogo copiado pra área de transferência. - + Game region copied to clipboard. Região do jogo copiada pra área de transferência. - + Game compatibility copied to clipboard. Compatibilidade do jogo copiada pra área de transferência. - + Game path copied to clipboard. Caminho do jogo copiado pra área de transferência. - + Controller settings reset to default. Configurações dos controles resetadas para o padrão. - + No input profiles available. Não há perfis de entrada disponíveis. - + Create New... Criar Novo... - + Enter the name of the input profile you wish to create. Insira o nome do novo perfil de entrada que você deseja criar. - + Are you sure you want to restore the default settings? Any preferences will be lost. Você tem certeza que você quer restaurar as configurações padrão? Quaisquer preferências serão perdidas. - + Settings reset to defaults. Configurações resetadas para o padrão. - + No save present in this slot. Nenhum save presente neste slot. - + No save states found. Não foram achados save states. - + Failed to delete save state. Falhou em apagar o save state. - + Failed to copy text to clipboard. Falhou em copiar o texto pra área de transferência. - + This game has no achievements. Este jogo não tem conquistas. - + This game has no leaderboards. Este jogo não tem tabelas de classificação. - + Reset System Resetar Sistema - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? O modo hardcore não será ativado até que o sistema seja resetado. Você quer resetar o sistema agora? - + Launch a game from images scanned from your game directories. Inicie um jogo das imagens escaneadas dos seus diretórios dos jogos. - + Launch a game by selecting a file/disc image. Inicie um jogo selecionando uma imagem do arquivo/disco. - + Start the console without any disc inserted. Inicia o console sem qualquer disco inserido. - + Start a game from a disc in your PC's DVD drive. Inicie um jogo de um disco no seu PC's drive de DVD. - + No Binding Sem Associações - + Setting %s binding %s. Configurar %s associação %s. - + Push a controller button or axis now. Pressione um botão ou eixo do controle agora. - + Timing out in %.0f seconds... O tempo se esgota em %.0f segundos... - + Unknown Desconhecido - + OK Ok - + Select Device Selecionar Dispositivo - + Details Detalhes - + Options Opções - + Copies the current global settings to this game. Copia as configurações globais atuais pra este jogo. - + Clears all settings set for this game. Limpa todas as configurações definidas pra este jogo. - + Behaviour Comportamento - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Impede que a proteção de tela seja ativada e o hospedeiro durma enquanto a emulação está em execução. - + Shows the game you are currently playing as part of your profile on Discord. Mostra o jogo que você está jogando atualmente como parte do seu perfil no Discord. - + Pauses the emulator when a game is started. Pausa o emulador quando um jogo é iniciado. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pausa o emulador quando você minimiza a janela ou troca pra outro aplicativo e despausa quando você troca de novo. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pausa o emulador quando você abre o menu rápido e despausa quando você o fecha. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determina se um alerta será exibido pra confirmar o desligamento do emulador/jogo quando a tecla de atalho é pressionada. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Salva automaticamente o state do emulador quando desligar ou sair. Você pode então resumir diretamente de onde você parou da próxima vez. - + Uses a light coloured theme instead of the default dark theme. Usa um tema de cor clara ao invés do tema escuro padrão. - + Game Display Exibição do Jogo - + Switches between full screen and windowed when the window is double-clicked. Troca entre a tela cheia e a janela quando a janela é clicada duas vezes. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Esconde o ponteiro/cursor do mouse quando o emulador está no modo de tela cheia. - + Determines how large the on-screen messages and monitor are. Determina quão grandes são as mensagens e o monitor na tela. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Mostra mensagens de exibição na tela quando ocorrem eventos tais como save states sendo criados/carregados, screenshots sendo feitas, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Mostra a velocidade de emulação atual do sistema no canto superior direito da tela como uma porcentagem. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Mostra o número de frames do vídeoo (ou vsyncs) exibidos por segundo pelo sistema no canto superior direito da tela. - + Shows the CPU usage based on threads in the top-right corner of the display. Mostra o uso da CPU baseado nos threads no canto superior direito da tela. - + Shows the host's GPU usage in the top-right corner of the display. Mostra o uso da GPU do hospedeiro no canto superior direito da tela. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Mostra as estatísticas sobre os GS (primitivos, chamadas de desenho) no canto superior direito da tela. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Mostra indicadores quando o avanço rápido, pausa e outros estados anormais estão ativos. - + Shows the current configuration in the bottom-right corner of the display. Mostra a configuração atual no canto inferior direito da tela. - + Shows the current controller state of the system in the bottom-left corner of the display. Mostra o estado do sistema do controle atual no canto inferior esquerdo da tela. - + Displays warnings when settings are enabled which may break games. Exibe avisos quando as configurações estão ativadas as quais podem quebrar os jogos. - + Resets configuration to defaults (excluding controller settings). Reseta a configuração para os padrões (excluindo as configurações dos controles). - + Changes the BIOS image used to start future sessions. Muda a imagem da BIOS usada pra iniciar as sessões futuras. - + Automatic Automático - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Padrão - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6043,1977 +6092,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Troca automaticamente pro modo de tela cheia quando um jogo é iniciado. - + On-Screen Display Exibição na Tela - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Mostra a resolução do jogo no canto superior direito da tela. - + BIOS Configuration Configuração da BIOS - + BIOS Selection Seleção da BIOS - + Options and Patches Opções e Patches - + Skips the intro screen, and bypasses region checks. Ignora a tela de introdução e ignora as verificações de região. - + Speed Control Controle de Velocidade - + Normal Speed Velocidade Normal - + Sets the speed when running without fast forwarding. Define a velocidade quando executar sem avanço rápido. - + Fast Forward Speed Velocidade do Avanço Rápido - + Sets the speed when using the fast forward hotkey. Define a velocidade quando usar a tecla de atalho do avanço rápido. - + Slow Motion Speed Velocidade da Câmera Lenta - + Sets the speed when using the slow motion hotkey. Define a velocidade quando usar a tecla de atalho da câmera lenta. - + System Settings Configurações do Sistema - + EE Cycle Rate Taxa dos Ciclos da EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Faz underclock ou overclock da CPU da Emotion Engine emulada. - + EE Cycle Skipping Pulo dos Ciclos da EE - + Enable MTVU (Multi-Threaded VU1) Ativar MTVU (VU1 Multi-threaded) - + Enable Instant VU1 Ativar a VU1 Instantânea - + Enable Cheats Ativar trapaças - + Enables loading cheats from pnach files. Permite o carregamento de trapaças a partir de arquivos pnach. - + Enable Host Filesystem Ativar o Sistema de Arquivos do Hospedeiro - + Enables access to files from the host: namespace in the virtual machine. Ativa o acesso aos arquivos do hospedeiro: espaço do nome na máquina virtual. - + Enable Fast CDVD Ativar CDVD Rápido - + Fast disc access, less loading times. Not recommended. Acesso rápido ao disco, menos tempo de carregamento. Não é recomendado. - + Frame Pacing/Latency Control Ritmo dos Frames/Controle da Latência - + Maximum Frame Latency Latência Máxima dos Frames - + Sets the number of frames which can be queued. Define o número de frames os quais podem ser enfileirados. - + Optimal Frame Pacing Ritmo Otimizado dos Frames - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Sincroniza os threads da EE e GS após cada frame. Tem a menor latência de entrada mas aumenta os requerimentos do sistema. - + Speeds up emulation so that the guest refresh rate matches the host. Acelera a emulação pra que a taxa de atualização do convidado combine com a do hospedeiro. - + Renderer Renderizador - + Selects the API used to render the emulated GS. Seleciona a API usada pra renderizar o GS emulado. - + Synchronizes frame presentation with host refresh. Sincroniza a apresentação dos frames com a atualização do hospedeiro. - + Display Tela - + Aspect Ratio Proporção do Aspecto - + Selects the aspect ratio to display the game content at. Seleciona a proporção do aspecto pra exibir o conteúdo do jogo. - + FMV Aspect Ratio Override Substituir a Proporção do Aspecto do FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Seleciona a proporção do aspecto a exibir quando um FMV é detectado em execução. - + Deinterlacing Desentrelaçamento - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Seleciona o algoritmo usado pra converter a saída entrelaçada do PS2 em progressiva pra exibição. - + Screenshot Size Tamanho da Screenshot - + Determines the resolution at which screenshots will be saved. Determina a resolução na qual as screenshots serão salvas. - + Screenshot Format Formato da Screenshot - + Selects the format which will be used to save screenshots. Seleciona o formato o qual será usado pra salvar as screenshots. - + Screenshot Quality Qualidade da Screenshot - + Selects the quality at which screenshots will be compressed. Seleciona a qualidade na qual as screenshots serão compactadas. - + Vertical Stretch Esticamento Vertical - + Increases or decreases the virtual picture size vertically. Aumenta ou diminui o tamanho da imagem virtual verticalmente. - + Crop Cortar - + Crops the image, while respecting aspect ratio. Corta a imagem enquanto respeita a proporção do aspecto. - + %dpx %dpx - - Enable Widescreen Patches - Ativar Patches pra Widescreen - - - - Enables loading widescreen patches from pnach files. - Ativa o carregamento dos patches widescreen dos arquivos pnach. - - - - Enable No-Interlacing Patches - Ativar Patches Sem Entrelaçamento - - - - Enables loading no-interlacing patches from pnach files. - Ativa o carregamento de patches sem entrelaçamento dos arquivos pnach. - - - + Bilinear Upscaling Ampliação Bilinear - + Smooths out the image when upscaling the console to the screen. Suaviza a imagen quando amplia o console na tela. - + Integer Upscaling Ampliação do Inteiro - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adiciona preenchimento a área de exibição pra garantir que a proporção entre pixels no hospedeiro e pixels no console seja um número inteiro. Pode resultar em uma imagem mais nítida em alguns jogos 2D. - + Screen Offsets Deslocamentos da Tela - + Enables PCRTC Offsets which position the screen as the game requests. Ativa os Deslocamentos do PCRTC os quais posicionam a tela conforme o jogo requisita. - + Show Overscan Mostrar Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Ativa a opção de mostrar a área do overscan em jogos os quais desenham mais do que a área segura da tela. - + Anti-Blur Anti-Desfoque - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Ativa hacks internos do Anti-Desfoque. Menos preciso para a renderização do PS2 mas fará com que muitos jogos pareçam menos borrados. - + Rendering Renderização - + Internal Resolution Resolução Interna - + Multiplies the render resolution by the specified factor (upscaling). Multiplica a resolução da renderização pelo fator especificado (ampliação). - + Mipmapping Mipmapping - + Bilinear Filtering Filtragem Bilinear - + Selects where bilinear filtering is utilized when rendering textures. Seleciona aonde a filtragem bilinear é utilizada quando renderizar as texturas. - + Trilinear Filtering Filtragem Trilinear - + Selects where trilinear filtering is utilized when rendering textures. Seleciona aonde a filtragem trilinear é utilizada quando renderizar as texturas. - + Anisotropic Filtering Filtragem Anisotrópica - + Dithering Pontilhamento - + Selects the type of dithering applies when the game requests it. Seleciona o tipo de aplicações do pontilhamento quando o jogo o requisita. - + Blending Accuracy Precisão da Mistura - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determina o nível de precisão quando emular os modos de mistura não suportados pela API dos gráficos do hospedeiro. - + Texture Preloading Pré-Carregamento das Texturas - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Faz upload das texturas completas para a GPU usar ao invés de só das regiões utilizadas. Pode melhorar a performance em alguns jogos. - + Software Rendering Threads Threads de Renderização do Software - + Number of threads to use in addition to the main GS thread for rasterization. Número de threads a usar em adição ao thread principal do GS pra rasterização. - + Auto Flush (Software) Auto-Limpeza (Software) - + Force a primitive flush when a framebuffer is also an input texture. Força uma descarga primitiva quando um buffer dos frames também é uma textura de entrada. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Ativa a emulação do anti-aliasing da borda do GS (AA1). - + Enables emulation of the GS's texture mipmapping. Ativa a emulação do mipmapping da textura do GS. - + The selected input profile will be used for this game. O perfil de entrada selecionado será usado pra este jogo. - + Shared Compartilhado - + Input Profile Perfil de Entrada - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostra uma interface do usuário do seletor dos save states quando troca de slots em vez de mostrar uma bolha de notificação. + + + Shows the current PCSX2 version on the top-right corner of the display. Mostra a versão atual do PCSX2 no canto superior direito da tela. - + Shows the currently active input recording status. Mostra o status da gravação da entrada ativa no momento. - + Shows the currently active video capture status. Mostra o status da captura de vídeo ativo no momento. - + Shows a visual history of frame times in the upper-left corner of the display. Mostra um histórico visual dos tempos dos frames no canto superior esquerdo da tela. - + Shows the current system hardware information on the OSD. Mostra as informações do hardware do sistema atual no OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Fixa os threads da emulação nos núcleos da CPU pra melhorar potencialmente a variação da performance/tempo dos frames. - + + Enable Widescreen Patches + Ativar Patches pra Widescreen + + + + Enables loading widescreen patches from pnach files. + Ativa o carregamento dos patches widescreen dos arquivos pnach. + + + + Enable No-Interlacing Patches + Ativar Patches Sem Entrelaçamento + + + + Enables loading no-interlacing patches from pnach files. + Ativa o carregamento de patches sem entrelaçamento dos arquivos pnach. + + + Hardware Fixes Consertos do Hardware - + Manual Hardware Fixes Consertos Manuais do Hardware - + Disables automatic hardware fixes, allowing you to set fixes manually. Desativa os consertos automáticos do hardware permitindo a você definir os consertos manualmente. - + CPU Sprite Render Size Tamanho da Renderização das Imagens Móveis da CPU - + Uses software renderer to draw texture decompression-like sprites. Usa o renderizador do software pra desenhar as imagens móveis tipo descompressão das texturas. - + CPU Sprite Render Level Nível da Renderização das Imagens Móveis da CPU - + Determines filter level for CPU sprite render. Determina o nível do filtro pra renderização das imagens móveis da CPU. - + Software CLUT Render Renderizador do CLUT via Software - + Uses software renderer to draw texture CLUT points/sprites. Usa o renderizador do software pra desenhar os pontos/imagens móveis do CLUT. - + Skip Draw Start Início do Skip Draw - + Object range to skip drawing. Alcance do objeto pra ignorar o desenho. - + Skip Draw End Fim do Skip Draw - + Auto Flush (Hardware) Auto-Limpeza (Hardware) - + CPU Framebuffer Conversion Conversão do Buffer dos Frames da CPU - + Disable Depth Conversion Desativar a Conversão de Profundidade - + Disable Safe Features Desativar Funções Seguras - + This option disables multiple safe features. Esta opção desativa múltiplas funções seguras. - + This option disables game-specific render fixes. Esta opção desativa os consertos de renderização específicos do jogo. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Faz upload dos dados do GS quando renderiza um novo frame pra reproduzir alguns efeitos com precisão. - + Disable Partial Invalidation Desativar Invalidação Parcial - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Remove as entradas do cache das texturas aonde há qualquer interseção ao invés de só nas áreas interseccionadas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Permite que o cache de textura reutilize como uma textura de entrada a porção interior de um buffer do frame anterior. - + Read Targets When Closing Ler os Alvos Quando Fechar - + Flushes all targets in the texture cache back to local memory when shutting down. Faz todos os alvos no cache das texturas de volta pra memória local quando desligar. - + Estimate Texture Region Estimar a Região da Textura - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Tenta reduzir o tamanho da textura quando os jogos não a definem eles mesmos. (ex: Jogos da Snowblind). - + GPU Palette Conversion Conversão da Paleta da GPU - + Upscaling Fixes Consertos da Ampliação - + Adjusts vertices relative to upscaling. Ajusta os vértices relativos a ampliação. - + Native Scaling Dimensionamento Nativo - + Attempt to do rescaling at native resolution. Tenta fazer o redimensionamento na resolução nativa. - + Round Sprite Imagem Móvel Redonda - + Adjusts sprite coordinates. Ajusta as coordenadas das imagens móveis. - + Bilinear Upscale Ampliação Bilinear - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Pode suavizar as texturas devido a serem filtradas de modo bilinear quando ampliadas. Ex: Brave Sun Glare. - + Adjusts target texture offsets. Ajusta os deslocamentos das texturas alvo. - + Align Sprite Alinhar Imagem Móvel - + Fixes issues with upscaling (vertical lines) in some games. Conserta problemas com a ampliação (linhas verticais) em alguns jogos. - + Merge Sprite Unir Imagem Móvel - + Replaces multiple post-processing sprites with a larger single sprite. Substitui as imagens móveis de pós-processamento múltiplas com uma única imagem móvel maior. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Reduz a precisão do GS pra evitar espaços entre os pixels quando ampliar. Conserta o texto nos jogos Wild Arms. - + Unscaled Palette Texture Draws Desenhos da Textura da Paleta Ampliada - + Can fix some broken effects which rely on pixel perfect precision. Pode consertar alguns efeitos quebrados os quais confiam na precisão perfeita dos pixels. - + Texture Replacement Substituição das Texturas - + Load Textures Carregar Texturas - + Loads replacement textures where available and user-provided. Carrega as texturas de substituição aonde disponíveis e fornecidas pelo usuário. - + Asynchronous Texture Loading Carregamento das Texturas Assíncronas - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carrega as texturas de substituição num thread trabalhador reduzindo o micro travamento quando as substituições estão ativadas. - + Precache Replacements Substituições do Pré-Cache - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Pré-carrega todas as texturas de substituição na memória. Não é necessário com o carregamento assíncrono. - + Replacements Directory Diretório das Substituições - + Folders Pastas - + Texture Dumping Dumpagem das Texturas - + Dump Textures Dumpar Texturas - + Dump Mipmaps Dumpar Mipmaps - + Includes mipmaps when dumping textures. Inclui os mipmaps quando dumpar as texturas. - + Dump FMV Textures Dumpar Texturas do FMV - + Allows texture dumping when FMVs are active. You should not enable this. Permite a dumpagem das texturas quando os FMVs estão ativos. Você não deve ativar isto. - + Post-Processing Pós-Processamento - + FXAA FXAA - + Enables FXAA post-processing shader. Ativa o shader do pós-processamento do FXAA. - + Contrast Adaptive Sharpening Nitidez Adaptável do Contraste - + Enables FidelityFX Contrast Adaptive Sharpening. Ativa a Nitidez Adaptável do Contraste do FidelityFX. - + CAS Sharpness Nitidez do CAS - + Determines the intensity the sharpening effect in CAS post-processing. Determina a intensidade do efeito de nitidez no pós-processamento do CAS. - + Filters Filtros - + Shade Boost Aumentar o Shade - + Enables brightness/contrast/saturation adjustment. Ativa o ajuste do brilho/contraste/saturação. - + Shade Boost Brightness Aumentar o Brilho do Shade - + Adjusts brightness. 50 is normal. Ajusta o brilho. 50 é normal. - + Shade Boost Contrast Aumentar o Contraste do Shade - + Adjusts contrast. 50 is normal. Ajusta o contraste. 50 é normal. - + Shade Boost Saturation Aumentar a Saturação do Shade - + Adjusts saturation. 50 is normal. Ajusta a saturação. 50 é normal. - + TV Shaders Shaders de TV - + Advanced Avançado - + Skip Presenting Duplicate Frames Ignorar a Apresentação dos Frames Duplicados - + Extended Upscaling Multipliers Multiplicadores Estendidos de Ampliação - + Displays additional, very high upscaling multipliers dependent on GPU capability. Exibe multiplicadores de ampliação adicionais muito altos dependentes da capacidade da GPU. - + Hardware Download Mode Modo de Download do Hardware - + Changes synchronization behavior for GS downloads. Muda o comportamento da sincronização pros downloads do GS. - + Allow Exclusive Fullscreen Permitir Tela Cheia Exclusiva - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Substitui as heurísticas do driver pra ativar tela cheia exclusiva ou inversão/escaneamento direto. - + Override Texture Barriers Substituir as Barreiras das Texturas - + Forces texture barrier functionality to the specified value. Força a funcionalidade da barreira das texutras ao valor especificado. - + GS Dump Compression Compressão do Dump do GS - + Sets the compression algorithm for GS dumps. Define o algorítmo de compressão pros dumps do GS. - + Disable Framebuffer Fetch Desativar a Busca do Buffer dos Frames - + Prevents the usage of framebuffer fetch when supported by host GPU. Impede o uso da busca do buffer dos frames quando suportado pela GPU do hospedeiro. - + Disable Shader Cache Desativar o Cache do Shader - + Prevents the loading and saving of shaders/pipelines to disk. Impede o carregamento e o salvamento de shaders/pipelines no disco. - + Disable Vertex Shader Expand Desativar a Expansão do Shader do Vértice - + Falls back to the CPU for expanding sprites/lines. Retrocede pra CPU pras imagens móveis/linhas expandidas. - + Changes when SPU samples are generated relative to system emulation. Muda quando as amostras da SPU são geradas relativo a emulação do sistema. - + %d ms %d ms - + Settings and Operations Configurações e Operações - + Creates a new memory card file or folder. Cria um novo arquivo ou pasta do cartão de memória. - + Simulates a larger memory card by filtering saves only to the current game. Simula um cartão de memória maior filtrando os saves só no jogo atual. - + If not set, this card will be considered unplugged. Se não definido este cartão será considerado desplugado. - + The selected memory card image will be used for this slot. A imagem do cartão de memória selecionada será usada para esse compartimento. - + Enable/Disable the Player LED on DualSense controllers. Ativar/Desativar o LED do Jogador nos controles DualSense. - + Trigger Gatilho - + Toggles the macro when the button is pressed, instead of held. Alterna o macro quando o botão é apertado ao invés de pressionado. - + Savestate Save State - + Compression Method Método de Compressão - + Sets the compression algorithm for savestate. Define o algorítmo de compressão pro save state. - + Compression Level Nível de Compressão - + Sets the compression level for savestate. Define o algorítmo de compressão pro save state. - + Version: %s Versão: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Nativa (~450px) - + 1.5x Native (~540px) 1.5x Nativa (~540px) - + 1.75x Native (~630px) 1.75x Nativa (~630px) - + 2x Native (~720px/HD) 2x Nativa (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Nativa (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Nativa (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Nativa (~1260px) - + 4x Native (~1440px/QHD) 4x Nativa (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Nativa (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Nativa (~2160px/4K UHD) - + 7x Native (~2520px) 7x Nativa (~2520px) - + 8x Native (~2880px/5K UHD) 8x Nativa (~2880px/5K UHD) - + 9x Native (~3240px) 9x Nativa (~3240px) - + 10x Native (~3600px/6K UHD) 10x Nativa (~3600px/6K UHD) - + 11x Native (~3960px) 11x Nativa (~3960px) - + 12x Native (~4320px/8K UHD) 12x Nativa (~4320px/8K UHD) - + WebP WebP - + Aggressive Agressivo - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Baixo (Rápido) - + Medium (Recommended) Médio (Recomendado) - + Very High (Slow, Not Recommended) Muito Alto (Lento, Não Recomendado) - + Change Selection Mudar Seleção - + Select Select - + Parent Directory Diretório Pai - + Enter Value Insira o Valor - + About Sobre - + Toggle Fullscreen Alternar pra Tela Cheia - + Navigate Navegar - + Load Global State Carregar Estado Global - + Change Page Mudar de Página - + Return To Game Retornar pro Jogo - + Select State Selecionar State - + Select Game Selecionar Jogo - + Change View Mudar Visualização - + Launch Options Executar Opções - + Create Save State Backups Criar Backups dos Save States - + Show PCSX2 Version Mostrar a Versão do PCSX2 - + Show Input Recording Status Mostrar o Status da Gravação da Entrada - + Show Video Capture Status Mostrar o Status da Captura de Vídeo - + Show Frame Times Mostrar o Tempo dos Frames - + Show Hardware Info Mostrar as Informações do Hardware - + Create Memory Card Criar Cartão de Memória - + Configuration Configuração - + Start Game Iniciar Jogo - + Launch a game from a file, disc, or starts the console without any disc inserted. Executa um jogo de um arquivo, disco ou inicia o console sem qualquer disco inserido. - + Changes settings for the application. Muda as configurações do aplicativo. - + Return to desktop mode, or exit the application. Retorne pro modo da área de trabalho ou saia do aplicativo. - + Back Voltar - + Return to the previous menu. Retornar para o menu anterior. - + Exit PCSX2 Sair do PCSX2 - + Completely exits the application, returning you to your desktop. Sai completamente do aplicativo retornando você a sua área de trabalho. - + Desktop Mode Modo da Área de Trabalho - + Exits Big Picture mode, returning to the desktop interface. Sai do modo Big Picture retornando para a interface da área de trabalho. - + Resets all configuration to defaults (including bindings). Reseta todas as configurações para os padrões (incluindo as associações). - + Replaces these settings with a previously saved input profile. Substitui estas configurações com um perfil de entrada salvo anteriormente. - + Stores the current settings to an input profile. Armazena as configurações atuais em um perfil de entrada. - + Input Sources Fontes de Entrada - + The SDL input source supports most controllers. A fonte de entrada do SDL suporta a maioria dos controles. - + Provides vibration and LED control support over Bluetooth. Fornece vibração e suporte de controle do LED sobre o Bluetooth. - + Allow SDL to use raw access to input devices. Permite ao SLD usar o acesso bruto nos dispositivos de entrada. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. A fonte do XInput fornece suporte pros controles do XBox 360/XBox One/XBox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Ativa três compartimentos adicionais para controles. Não é compatível com todos os jogos. - + Attempts to map the selected port to a chosen controller. Tenta mapear a porta selecionada a um controle escolhido. - + Determines how much pressure is simulated when macro is active. Determina quanta pressão é simulada quando o macro está ativo. - + Determines the pressure required to activate the macro. Determina a pressão requerida pra ativar o macro. - + Toggle every %d frames Alternar a cada %d frames - + Clears all bindings for this USB controller. Limpar todas as associações com este controle USB. - + Data Save Locations Locais dos Dados dos Saves - + Show Advanced Settings Mostrar Configurações Avançadas - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Mudar estas opções pode fazer os jogos se tornarem não funcionais. Modifique por sua conta e risco, o time do PCSX2 não fornecerá suporte pra configurações com estas configurações mudadas. - + Logging Registro - + System Console Console do Sistema - + Writes log messages to the system console (console window/standard output). Grava as mensagens do registro no console do sistema (janela do console/saída padrão). - + File Logging Registro dos Arquivos - + Writes log messages to emulog.txt. Grava as mensagens do registro no emulog.txt. - + Verbose Logging Registro Detalhado - + Writes dev log messages to log sinks. Grava as mensagens do registro dos devs no emulog.txt. - + Log Timestamps Registrar Estampas do Tempo - + Writes timestamps alongside log messages. Grava as estampas do tempo junto das mensagens do registro. - + EE Console Console da EE - + Writes debug messages from the game's EE code to the console. Grava as mensagens de debug do código da EE do jogo no console. - + IOP Console Console do IOP - + Writes debug messages from the game's IOP code to the console. Grava as mensagens de debug do código do IOP do jogo no console. - + CDVD Verbose Reads Leituras Detalhadas do CDVD - + Logs disc reads from games. Registra as leituras do disco dos jogos. - + Emotion Engine Emotion Engine - + Rounding Mode Modo de Arredondamento - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determina como os resultados das operações de ponto flutuante são arredondadas. Alguns jogos precisam de configurações específicas. - + Division Rounding Mode Modo de Arredondamento da Divisão - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determina como os resultados da divisão de ponto flutuante são arredondados. Alguns jogos precisam de configurações específicas. - + Clamping Mode Modo de Fixação - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determina como os números do ponto flutuante fora de alcance são manipulados. Alguns jogos precisam de configurações específicas. - + Enable EE Recompiler Ativar Recompilador da EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Executa na hora a tradução binária do código da máquina MIPS-IV de 64 bits pro código nativo. - + Enable EE Cache Ativar Cache da EE - + Enables simulation of the EE's cache. Slow. Ativa a simulação do cache da EE. Lento. - + Enable INTC Spin Detection Ativar Detecção do Giro do INTC - + Huge speedup for some games, with almost no compatibility side effects. Enorme aceleração pra alguns jogos com quase nenhum efeito colateral na compatibilidade. - + Enable Wait Loop Detection Ativar Detecção do Loop de Espera - + Moderate speedup for some games, with no known side effects. Aceleração moderada pra alguns jogos com nenhum efeito colateral conhecido. - + Enable Fast Memory Access Ativar Acesso Rápido a Memória - + Uses backpatching to avoid register flushing on every memory access. Usa o backpatching pra evitar a limpeza do registro em cada acesso a memória. - + Vector Units Unidades Vetoriais - + VU0 Rounding Mode Modo de Arredondamento da VU0 - + VU0 Clamping Mode Modo de Fixação da VU0 - + VU1 Rounding Mode Modo de Arredondamento da VU1 - + VU1 Clamping Mode Modo de Fixação da VU1 - + Enable VU0 Recompiler (Micro Mode) Ativar o Recompilador da VU0 (Modo Micro) - + New Vector Unit recompiler with much improved compatibility. Recommended. Novo recompilador da Unidade do Veter com compatibilidade muito melhorada. Recomendado. - + Enable VU1 Recompiler Ativar o Recompilador da VU1 - + Enable VU Flag Optimization Ativar Otimização da Bandeira da VU - + Good speedup and high compatibility, may cause graphical errors. Boa aceleração e alta compatibilidade, pode causar erros gráficos. - + I/O Processor E/S do Processador - + Enable IOP Recompiler Ativar Recompilador do IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Executa na hora a tradução binária do código da máquina MIPS-I de 32 bits pro código nativo. - + Graphics Gráficos - + Use Debug Device Usar Dispositivo de Debug - + Settings Configurações - + No cheats are available for this game. Não há trapaças disponíveis para este jogo. - + Cheat Codes Códigos de Trapaça - + No patches are available for this game. Não há patches disponíveis pra este jogo. - + Game Patches Patches dos Jogos - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Ativar trapaças pode causar comportamento imprevisível, travamentos, bloqueios ou salvamentos corrompidos. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. A ativação dos patches dos jogos pode causar comportamento imprevisível, crashes, travamentos leves ou saves de jogos quebrados. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use os patches por sua própria conta e risco, o time do PCSX2 não fornecerá suporte pra usuários que tenham ativado os patches dos jogos. - + Game Fixes Consertos dos Jogos - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Os consertos dos jogos não devem ser modificados a menos que você esteja ciente do que cada opção faz e as implicações de fazê-lo. - + FPU Multiply Hack Hack da Multiplicação da FPU - + For Tales of Destiny. Pro Tales of Destiny. - + Preload TLB Hack Pré-Carregar Hack do TLB - + Needed for some games with complex FMV rendering. Necessário pra alguns jogos com renderização complexa dos FMVs. - + Skip MPEG Hack Hack pra Ignorar o MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. Ignora vídeos/FMVs em jogos pra evitar o travamento/congelamentos dos jogos. - + OPH Flag Hack Hack da Bandeira do OPH - + EE Timing Hack Hack da Cronometragem da EE - + Instant DMA Hack Hack do DMA Instantâneo - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Conhecido por afetar os seguintes jogos: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Pro travamento no carregamento do HUD do SOCOM 2 e Spy Hunter. - + VU Add Hack Hack de Acréscimo da VU - + Full VU0 Synchronization Sincronização Completa da VU0 - + Forces tight VU0 sync on every COP2 instruction. Força a sincronização rígida da VU0 em cada instrução do COP2. - + VU Overflow Hack Hack da Sobrecarga da VU - + To check for possible float overflows (Superman Returns). Pra verificar possíveis sobrecargas na flutuação (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Usa cronometragem precisa pros XGKicks da VU (mais lento). - + Load State Carregar State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Faz a Emotion Engine emulada ignorar os ciclos. Ajuda um pequeno sub-grupo de jogos como o Shadow Of The Colossus. Na maior parte do tempo é prejudicial a performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Geralmente uma aceleração em CPUs com 4 ou mais núcleos. Seguro pra maioria dos jogos mas alguns são incompatíveis e podem travar. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Executa a VU1 instantaneamente. Fornece uma modesta melhoria de velocidade na maioria dos jogos. Seguro pra maioria dos jogos mas alguns jogos podem exibir erros gráficos. - + Disable the support of depth buffers in the texture cache. Desativar o suporte dos buffers de profundidade no cache das texturas. - + Disable Render Fixes Desativar os Consertos dos Renderizadores - + Preload Frame Data Pré-Carregar os Dados do Frame - + Texture Inside RT Textura Dentro do RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Quando ativada a GPU converte as texturas do mapa das cores, caso contrário a CPU o fará. É uma troca entre a GPU e a CPU. - + Half Pixel Offset Deslocamento de Meio Pixel - + Texture Offset X Deslocamentos da Textura X - + Texture Offset Y Deslocamentos da Textura Y - + Dumps replaceable textures to disk. Will reduce performance. Dumpa as texturas substituíveis no disco. Reduzirá a performance. - + Applies a shader which replicates the visual effects of different styles of television set. Aplica um shader o qual replica os efeitos visuais de diferentes estilos de configuração da televisão. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Ignora a exibição dos frames que não mudam nos jogos de 25/30 FPS. Pode melhorar a velocidade mas aumenta o atraso da entrada/torna o ritmo dos frames pior. - + Enables API-level validation of graphics commands. Ativa a validação do nível da API dos comandos gráficos. - + Use Software Renderer For FMVs Usar o Renderizador de Software pros FMVs - + To avoid TLB miss on Goemon. Pra evitar o erro do TLB no Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Hack de cronometragem de propósito geral. Conhecido por afetar os seguintes jogos: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Bom pros problemas de emulação do cache. Conhecido por afetar os seguintes jogos: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Conhecido por afetar os seguintes jogos: Bleach Blade Battlers, Growlanser II e III, Wizardry. - + Emulate GIF FIFO Emular o FIFO do GIF - + Correct but slower. Known to affect the following games: Fifa Street 2. Correto porém mais lento. Conhecido por afetar os seguintes jogos: Fifa Street 2. - + DMA Busy Hack Hack do DMA Ocupado - + Delay VIF1 Stalls Atrasar Acumulações da VIF1 - + Emulate VIF FIFO Emular o FIFO da VIF - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simular a leitura adiantada do FIFO da VIF1. Conhecido por afetar os seguintes jogos: Test Drive Unlimited, Transformers. - + VU I Bit Hack Hack do Bit da VU I - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Evita a recompilação constante em alguns jogos. Conhecido por afetar os seguintes jogos: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Pros Jogos da Tri-Ace: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync Sincronização da VU - + Run behind. To avoid sync problems when reading or writing VU registers. Executar atrasado. Pra evitar problemas de sincronização quando ler ou gravar os registros da VU. - + VU XGKick Sync Sincronização do XGKick da VU - + Force Blit Internal FPS Detection Forçar a Detecção dos FPS Internos dos Blits - + Save State Salvar State - + Load Resume State Carregar State do Resumo - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8022,2071 +8076,2076 @@ Do you want to load this save and continue? Você quer carregar este save e continuar? - + Region: Região: - + Compatibility: Compatibilidade: - + No Game Selected Nenhum Jogo Selecionado - + Search Directories Diretórios de Busca - + Adds a new directory to the game search list. Adiciona um novo diretório a lista de busca dos jogos. - + Scanning Subdirectories Escaneando Sub-Diretórios - + Not Scanning Subdirectories Não Escanear os Sub-Diretórios - + List Settings Listar Configurações - + Sets which view the game list will open to. Define com qual visualização a lista de jogos abrirá. - + Determines which field the game list will be sorted by. Determina com qual campo a lista de jogos será organizada. - + Reverses the game list sort order from the default (usually ascending to descending). Reverte a ordem da organização da lista de jogos do padrão (geralmetne ascendente ou descendente). - + Cover Settings Configurações das Capas - + Downloads covers from a user-specified URL template. Baixa as capas de um modelo da URL especificado pelo usuário. - + Operations Operações - + Selects where anisotropic filtering is utilized when rendering textures. Seleciona aonde a filtragem anisotrópica é utilizada quando renderizar as texturas. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Usa um método alternativo pra calcular os FPS internos pra evitar leituras falsas em alguns jogos. - + Identifies any new files added to the game directories. Identifica quaisquer novos arquivos adicionados aos diretórios dos jogos. - + Forces a full rescan of all games previously identified. Força um re-escaneamento completo de todos os jogos identificados anteriormente. - + Download Covers Baixar Capas - + About PCSX2 Sobre o PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. O PCSX2 é um emulador de PlayStation 2 (PS2) grátis e de código fonte aberto. Seu propósito é emular o hardware do PS2 usando uma combinação de Interpretadores da CPU do MIPS, Recompiladores e uma Máquina Virtual a qual gerencia os estados do hardware e a memória do sistema do PS2. Isto permite a você jogar os jogos de PS2 no seu PC com muitas funções e benefícios adicionais. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. O PlayStation 2 e o PS2 são marcas registadas da Sony Interactive Entertainment. Este aplicativo não está afiliado de qualquer modo com a Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Quando ativado e logado o PCSX2 escaneará por conquistas na inicialização. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. O modo "Desafio" para conquistas incluindo o rastreamento da tabela de classificação. Desativa as funções de salvar estado, trapaças e lentidão. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Exibe mensagens pop-up em eventos tais como desbloqueios de conquistas e submissões a tabela de classificação. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Reproduz os efeitos de som pra eventos tais como os desbloqueios de conquistas e submissões a tabela de classificação. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Mostra os ícones no canto inferior direito da tela quando uma conquista de desafio/preparada está ativa. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Quando ativado o PCSX2 listará as conquistas dos conjuntos não oficiais. Estas conquistas não são rastreadas pelo RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Quando ativado o PCSX2 assumirá que todas as conquistas estão trancadas e não enviará quaisquer notificações de desbloqueio para o servidor. - + Error Erro - + Pauses the emulator when a controller with bindings is disconnected. Pausa o emulador quando um controle com ligações é desconectado. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Cria uma cópia de backup de um save state se ele já existe quando o save é criado. A cópia de backup tem um sufixo .backup - + Enable CDVD Precaching Ativar o pré-cache do CDVD - + Loads the disc image into RAM before starting the virtual machine. Carrega a imagem doe disco na RAM antes de iniciar a máquina virtual. - + Vertical Sync (VSync) Sincronização Vertical (VSync) - + Sync to Host Refresh Rate Sincronizar com a Taxa de Atualização do Hospedeiro - + Use Host VSync Timing Usar a Cronometragem do VSync do Hospedeiro - + Disables PCSX2's internal frame timing, and uses host vsync instead. Desativa a cronometragem interna dos frames do PCSX2 e usa o vsync do hospedeiro ao invés disto. - + Disable Mailbox Presentation Desativar a Apresentação no Mailbox - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Força o uso do FIFO sobre a apresentação do Mailbox, ex: buffer duplo ao invés de buffer triplo. Geralmente resulta em pior ritmo dos frames. - + Audio Control Controle do Áudio - + Controls the volume of the audio played on the host. Controla o volume do áudio reproduzido no hospedeiro. - + Fast Forward Volume Avanço Rápido do Volume - + Controls the volume of the audio played on the host when fast forwarding. Controla o volume do áudio reproduzido no hospedeiro quando faz o avanço rápido. - + Mute All Sound Silenciar Todo o Som - + Prevents the emulator from producing any audible sound. Impede o emulador de produzir qualquer som audível. - + Backend Settings Configurações do módulo - + Audio Backend Módulo de áudio - + The audio backend determines how frames produced by the emulator are submitted to the host. O módulo de áudio determina como os quadros produzidos pelo emulador são submetidos ao anfitrião. - + Expansion Expansão - + Determines how audio is expanded from stereo to surround for supported games. Determina como o áudio é expandido de estéreo pra surround nos jogos suportados. - + Synchronization Sincronização - + Buffer Size Tamanho do Buffer - + Determines the amount of audio buffered before being pulled by the host API. Determina a quantidade de áudio no buffer antes de ser puxado pela API do hospedeiro. - + Output Latency Latência da Saída - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determina quanta latência há entre o áudio sendo captado pela API do hospedeiro e reproduzido através dos alto-falantes. - + Minimal Output Latency Latência Mínima da Saída - + When enabled, the minimum supported output latency will be used for the host API. Quando ativado a latência mínima de saída suportada será usada para a API do hospedeiro. - + Thread Pinning Fixação de Threads - + Force Even Sprite Position Forçar posição uniforme do sprite - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Exibe mensagens pop-up quando iniciar, submeter ou falhar num desafio da tabela de classificação. - + When enabled, each session will behave as if no achievements have been unlocked. Quando ativado, cada sessão se comportará como se nenhuma conquista tenha sido destrancada. - + Account Conta - + Logs out of RetroAchievements. Sair do RetroAchievements. - + Logs in to RetroAchievements. Logar no RetroAchievements. - + Current Game Jogo Atual - + An error occurred while deleting empty game settings: {} Um erro ocorreu enquanto apagava as configurações vazias do jogo: {} - + An error occurred while saving game settings: {} Um erro ocorreu enquanto salvava as configurações do jogo: {} - + {} is not a valid disc image. O {} não é uma imagem de disco válida. - + Automatic mapping completed for {}. Mapeamento automático completado pro {}. - + Automatic mapping failed for {}. O mapeamento automático falhou pro {}. - + Game settings initialized with global settings for '{}'. Configurações do jogo inicializadas com as configurações globais pro '{}'. - + Game settings have been cleared for '{}'. As configurações do jogo foram limpas pro '{}'. - + {} (Current) {} (Atual) - + {} (Folder) {} (Pasta) - + Failed to load '{}'. Falhou em carregar o '%1'. - + Input profile '{}' loaded. Perfil de Entrada '{}' carregado. - + Input profile '{}' saved. Perfil de Entrada '{}' salvo. - + Failed to save input profile '{}'. Falhou em salvar o perfil de entrada '{}'. - + Port {} Controller Type Tipo de Controle da Porta {} - + Select Macro {} Binds Selecionar Associações com o Macro {} - + Port {} Device Dispositivo da Porta {} - + Port {} Subtype Sub-Tipo da Porta {} - + {} unlabelled patch codes will automatically activate. {} Os códigos dos patches sem rótulo ativarão automaticamente. - + {} unlabelled patch codes found but not enabled. {} códigos dos patches sem rótulo foram achados mas não ativados. - + This Session: {} Esta Sessão: {} - + All Time: {} - De Todos os Tempos: {} + Tempo total: {} - + Save Slot {0} Slot do Save {0} - + Saved {} Salvo {} - + {} does not exist. {} não existe. - + {} deleted. {} apagados. - + Failed to delete {}. Falhou em apagar o {}. - + File: {} Arquivo: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Tempo Jogado: {} - + Last Played: {} Jogado pela Última Vez: {} - + Size: {:.2f} MB Tamanho: {:.2f} MBs - + Left: Esquerda: - + Top: Topo: - + Right: Direita: - + Bottom: Rodapé: - + Summary Sumário - + Interface Settings Configurações da Interface - + BIOS Settings Configurações da BIOS - + Emulation Settings Configurações da Emulação - + Graphics Settings Configurações dos Gráficos - + Audio Settings Configurações do Áudio - + Memory Card Settings Configurações dos Cartões de Memória - + Controller Settings Configurações dos Controles - + Hotkey Settings Configurações das Teclas de Atalho - + Achievements Settings Configurações das Conquistas - + Folder Settings Configurações do Perfil - + Advanced Settings Configurações Avançadas - + Patches Patches - + Cheats Trapaças - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% de Velocidade - + 60% Speed 60% de Velocidade - + 75% Speed 75% de Velocidade - + 100% Speed (Default) 100% de Velocidade - + 130% Speed 130% de Velocidade - + 180% Speed 180% de Velocidade - + 300% Speed 300% de Velocidade - + Normal (Default) Normal (Padrão) - + Mild Underclock Underclock Leve - + Moderate Underclock Underclock Moderado - + Maximum Underclock Underclock Máximo - + Disabled Desativado - + 0 Frames (Hard Sync) 0 Frames (Sincronização Rígida) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None Nenhum - + Extra + Preserve Sign Extra + Preservar Sinal - + Full Completo - + Extra Extra - + Automatic (Default) Automático (Padrão) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Nulo - + Off Desligado - + Bilinear (Smooth) Bilinear (Suave) - + Bilinear (Sharp) Bilinear (Nitidez) - + Weave (Top Field First, Sawtooth) Entrelaçamento (Campo Superior Primeiro, Dente de Serra) - + Weave (Bottom Field First, Sawtooth) Entrelaçamento (Campo Inferior Primeiro, Dente de Serra) - + Bob (Top Field First) Bob (Campo Superior Primeiro) - + Bob (Bottom Field First) Bob (Campo Inferior Primeiro,) - + Blend (Top Field First, Half FPS) Mistura (Campo Superior Primeiro, Metade dos FPS) - + Blend (Bottom Field First, Half FPS) Mistura (Campo Inferior Primeiro, Metade dos FPS) - + Adaptive (Top Field First) Entrelaçamento (Campo Superior Primeiro) - + Adaptive (Bottom Field First) Adaptativo (Campo Inferior Primeiro) - + Native (PS2) Nativa (PS2) - + Nearest Mais Próximo - + Bilinear (Forced) Bilinear (Forçada) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forçada excluindo a imagem móvel) - + Off (None) Desligado (Nenhum) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forçado) - + Scaled Ampliado - + Unscaled (Default) Não Ampliado (Padrão) - + Minimum Mínimo - + Basic (Recommended) Básico (Recomendado) - + Medium Médio - + High Alto - + Full (Slow) Completo (Lento) - + Maximum (Very Slow) Máximo (Muito Lento) - + Off (Default) Desligado (Padrão) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Parcial - + Full (Hash Cache) Completo (Cache do Hash) - + Force Disabled Forçar Desativado - + Force Enabled Forçar Ativado - + Accurate (Recommended) Preciso (Recomendado) - + Disable Readbacks (Synchronize GS Thread) Desativar as Leituras de Retorno (Sincronizar o Thread do GS) - + Unsynchronized (Non-Deterministic) Não Sincronizado (Não Determinístico) - + Disabled (Ignore Transfers) Desativado (Ignorar Transferências) - + Screen Resolution Resolução da Tela - + Internal Resolution (Aspect Uncorrected) Resolução Interna (Aspecto Não Corrigido) - + Load/Save State Carregar/Salvar o State - + WARNING: Memory Card Busy AVISO: Cartão de Memória Ocupado - + Cannot show details for games which were not scanned in the game list. Não pode mostrar detalhes de jogos os quais não foram escaneados na lista de jogos. - + Pause On Controller Disconnection Pausar na Desconexão do Controle - + + Use Save State Selector + Usar o Seletor dos Save States + + + SDL DualSense Player LED LED do Jogador do DualSense SDL - + Press To Toggle Pressione pra Alternar - + Deadzone Zona Morta - + Full Boot Inicialização Completa - + Achievement Notifications Notificações das Conquistas - + Leaderboard Notifications Notificações da Tabela de Classificação - + Enable In-Game Overlays Ativar as Sobreposições Dentro do Jogo - + Encore Mode Modo Encore - + Spectator Mode Modo Espectador - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Converte o buffer dos frames de 4 bits e 8 bits na CPU ao invés da GPU. - + Removes the current card from the slot. Remove o cartão atual do slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determina a frequência na qual a macro alternará os botões pra ligar e desligar (também conhecida como auto-disparo). - + {} Frames {} Frames - + No Deinterlacing Sem Desentrelaçamento - + Force 32bit Forçar 32 bits - + JPEG JPEG - + 0 (Disabled) 0 (Desativado) - + 1 (64 Max Width) 1 (64 de Largura Máxima) - + 2 (128 Max Width) 2 (128 de Largura Máxima) - + 3 (192 Max Width) 3 (192 de Largura Máxima) - + 4 (256 Max Width) 4 (256 de Largura Máxima) - + 5 (320 Max Width) 5 (320 de Largura Máxima) - + 6 (384 Max Width) 6 (384 de Largura Máxima) - + 7 (448 Max Width) 7 (448 de Largura Máxima) - + 8 (512 Max Width) 8 (512 de Largura Máxima) - + 9 (576 Max Width) 9 (576 de Largura Máxima) - + 10 (640 Max Width) 10 (640 de Largura Máxima) - + Sprites Only Só Imagens Móveis - + Sprites/Triangles Imagens Móveis/Triângulos - + Blended Sprites/Triangles Imagens Móveis/Triângulos Misturados - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Agressivo) - + Inside Target Dentro do Alvo - + Merge Targets Unir Alvos - + Normal (Vertex) Normal (Vértice) - + Special (Texture) Especial (Textura) - + Special (Texture - Aggressive) Especial (Textura - Agressivo) - + Align To Native Alinhar a Nativa - + Half Metade - + Force Bilinear Forçar Bilinear - + Force Nearest Forçar o Mais Próximo - + Disabled (Default) Desativado (Padrão) - + Enabled (Sprites Only) Ativado (Só Imagens Móveis) - + Enabled (All Primitives) Ativado (Todos os Primitivos) - + None (Default) Nenhum (Padrão) - + Sharpen Only (Internal Resolution) Só Tornar Mais Nítido (Resolução Interna) - + Sharpen and Resize (Display Resolution) Tornar Mais Nítido e Redimensionar (Exibir Resolução) - + Scanline Filter Filtro Scanline - + Diagonal Filter Filtro Diagonal - + Triangular Filter Filtro Triangular - + Wave Filter Filtro de Ondas - + Lottes CRT CRT Lottes - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Descomprimido - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8 MBs) - + PS2 (16MB) PS2 (16 MBs) - + PS2 (32MB) PS2 (32 MBs) - + PS2 (64MB) PS2 (64 MBs) - + PS1 PS1 - + Negative Negativo - + Positive Positivo - + Chop/Zero (Default) Cortar/Zero (Padrão) - + Game Grid Grade dos Jogos - + Game List Lista de Jogos - + Game List Settings Configurações da Lista dos Jogos - + Type Tipo - + Serial Serial - + Title Título - + File Title Título do Arquivo - + CRC CRC - + Time Played Tempo Jogado - + Last Played Jogado pela Última Vez - + Size Tamanho - + Select Disc Image Selecionar Imagem do Disco - + Select Disc Drive Selecione o Drive do Disco - + Start File Iniciar Arquivo - + Start BIOS Iniciar BIOS - + Start Disc Iniciar Disco - + Exit Sair - + Set Input Binding Definir Associação com o Controle - + Region Região - + Compatibility Rating Taxa de Compatibilidade - + Path Caminho - + Disc Path Caminho do Disco - + Select Disc Path Selecionar o Caminho do Disco - + Copy Settings Copiar Configurações - + Clear Settings Limpar Configurações - + Inhibit Screensaver Inibir a Proteção de Tela - + Enable Discord Presence Ativar Presença no Discord - + Pause On Start Pausar ao Iniciar - + Pause On Focus Loss Pausar na Perda de Foco - + Pause On Menu Pausar no Menu - + Confirm Shutdown Confirmar Desligamento - + Save State On Shutdown Salvar o State ao Desligar - + Use Light Theme Usar Tema Claro - + Start Fullscreen Iniciar em Tela Cheia - + Double-Click Toggles Fullscreen Clique Duplo Alterna pra Tela Cheia - + Hide Cursor In Fullscreen Esconder o Cursor na Tela Cheia - + OSD Scale Escala do OSD - + Show Messages Mostrar Mensagens - + Show Speed Mostrar Velocidade - + Show FPS Mostrar FPS - + Show CPU Usage Mostrar o Uso da CPU - + Show GPU Usage Mostrar o Uso da GPU - + Show Resolution Mostrar Resolução - + Show GS Statistics Mostrar Estatísticas do GS - + Show Status Indicators Mostrar Indicadores de Status - + Show Settings Mostrar Configurações - + Show Inputs Mostrar Entradas - + Warn About Unsafe Settings Avisar Sobre Configurações Inseguras - + Reset Settings Resetar Configurações - + Change Search Directory Mudar Diretório de Busca - + Fast Boot Inicialização Rápida - + Output Volume Volume de Saída - + Memory Card Directory Diretório do Cartão de Memória - + Folder Memory Card Filter Filtro da Pasta do Cartão de Memória - + Create Criar - + Cancel Cancelar - + Load Profile Carregar Perfil - + Save Profile Salvar Perfil - + Enable SDL Input Source Ativar Fonte de Entrada do SDL - + SDL DualShock 4 / DualSense Enhanced Mode Modo Melhorado do DualShock 4/DualSense - + SDL Raw Input Ativar a Entrada Pura do SDL - + Enable XInput Input Source Ativar Fonte de Entrada do XInput - + Enable Console Port 1 Multitap Ativar Porta 1 do Console Multitap - + Enable Console Port 2 Multitap Ativar Porta 2 do Console Multitap - + Controller Port {}{} Porta do Controle {}{} - + Controller Port {} Porta do Controle {} - + Controller Type Tipo de Controle - + Automatic Mapping Mapeamento Automático - + Controller Port {}{} Macros Macros da Porta do Controle {}{} - + Controller Port {} Macros Macros da Porta do Controle {} - + Macro Button {} Botão do Macro {} - + Buttons Botões - + Frequency Frequência - + Pressure Pressão - + Controller Port {}{} Settings Configurações da Porta do Controle {}{} - + Controller Port {} Settings Configurações da Porta do Controle {} - + USB Port {} Porta USB {} - + Device Type Tipo de Dispositivo - + Device Subtype Sub-Tipo de Dispositivo - + {} Bindings Associações {} - + Clear Bindings Limpar Associações - + {} Settings Configurações {} - + Cache Directory Diretório do Cache - + Covers Directory Diretório das Capas - + Snapshots Directory Diretório dos Snapshots - + Save States Directory Diretório dos Save States - + Game Settings Directory Diretório das Configurações do Jogo - + Input Profile Directory Diretório do Perfil de Entrada - + Cheats Directory Diretório das trapaças - + Patches Directory Diretório dos Patches - + Texture Replacements Directory Diretórios das Substituições das Texturas - + Video Dumping Directory Diretório do Dump do Vídeo - + Resume Game Resumir Jogo - + Toggle Frame Limit Alternar o Limite dos Frames - + Game Properties Propriedades do Jogo - + Achievements Conquistas - + Save Screenshot Salvar Screenshot - + Switch To Software Renderer Trocar pro Renderizador de Software - + Switch To Hardware Renderer Trocar pro Renderizador de Hardware - + Change Disc Mudar Disco - + Close Game Fechar Jogo - + Exit Without Saving Sair Sem Salvar - + Back To Pause Menu Voltar pro Menu da Pausa - + Exit And Save State Sair e Salvar o State - + Leaderboards Tabelas de Classificação - + Delete Save Apagar o Save - + Close Menu Fechar Menu - + Delete State Apagar State - + Default Boot Inicialização Padrão - + Reset Play Time Resetar o Tempo de Jogo - + Add Search Directory Adicionar Diretório de Busca - + Open in File Browser Abrir no Explorador de Arquivos - + Disable Subdirectory Scanning Desativar o Escaneamento dos Sub-Diretórios - + Enable Subdirectory Scanning Ativar o Escaneamento dos Sub-Diretórios - + Remove From List Remover da Lista - + Default View Visualização Padrão - + Sort By Ordenar por - + Sort Reversed Organização Reversa - + Scan For New Games Escanear por Novos Jogos - + Rescan All Games Re-Escanear Todos os Jogos - + Website Site da Web - + Support Forums Fóruns de Suporte - + GitHub Repository Repositório do GitHub - + License Licença - + Close Fechar - + RAIntegration is being used instead of the built-in achievements implementation. O RAIntegration está sendo usado ao invés da implementação embutida das conquistas. - + Enable Achievements Ativar Conquistas - + Hardcore Mode Modo Hardcore - + Sound Effects Efeitos de Som - + Test Unofficial Achievements Testar Conquistas Não Oficiais - + Username: {} Nome de Usuário {} - + Login token generated on {} Token do login gerado em {} - + Logout Sair - + Not Logged In Não Está Logado - + Login Login - + Game: {0} ({1}) Jogo: {0} ({1}) - + Rich presence inactive or unsupported. Presença rica inativa ou não suportada. - + Game not loaded or no RetroAchievements available. Jogo não carregado ou sem RetroAchievements disponíveis. - + Card Enabled Cartão Ativado - + Card Name Nome do Cartão - + Eject Card Ejetar Cartão @@ -11074,32 +11133,42 @@ O escaneamento recursivamente leva mais tempo mas identificará os arquivos nos Todos os patches embutidos com o PCSX2 pra este jogo serão desativados já que você tem patches sem rótulos carregados. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Os patches Widescreen atualmente estão <span style=" font-weight:600;">ATIVADOS</span> globalmente.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Os patches Sem-Entrelaçamento atualmente estão <span style=" font-weight:600;">ATIVADOS</span> globalmente.</p></body></html> + + + All CRCs Todos os CRCs - + Reload Patches Recarregar Patches - + Show Patches For All CRCs Mostrar os Patches pra Todos os CRCs - + Checked Selecionado - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Alterna o escaneamento dos arquivos do patch pra todos os CRCs do jogo. Com isto ativado os patches disponíveis para o serial do jogo com CRCs diferentes também serão carregados. - + There are no patches available for this game. Não há patches disponíveis pra este jogo. @@ -11575,11 +11644,11 @@ O escaneamento recursivamente leva mais tempo mas identificará os arquivos nos - - - - - + + + + + Off (Default) Desligado (Padrão) @@ -11589,10 +11658,10 @@ O escaneamento recursivamente leva mais tempo mas identificará os arquivos nos - - - - + + + + Automatic (Default) Automático (Padrão) @@ -11659,7 +11728,7 @@ O escaneamento recursivamente leva mais tempo mas identificará os arquivos nos - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Suave) @@ -11725,29 +11794,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Deslocamentos da Tela - + Show Overscan Mostrar Overscan - - - Enable Widescreen Patches - Ativar Patches pra Widescreen - - - - Enable No-Interlacing Patches - Ativar Patches Sem Entrelaçamento - - + Anti-Blur Anti-Desfoque @@ -11758,7 +11817,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Desativar o Deslocamento do Entrelaçamento @@ -11768,18 +11827,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Tamanho da Screenshot: - + Screen Resolution Resolução da Tela - + Internal Resolution Resolução Interna - + PNG PNG @@ -11831,7 +11890,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11878,7 +11937,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Não Dimensionado (Padrão) @@ -11894,7 +11953,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Básico (Recomendado) @@ -11930,7 +11989,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Completo (Cache do Hash) @@ -11946,31 +12005,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Desativar a Conversão de Profundidade - + GPU Palette Conversion Conversão da Paleta da GPU - + Manual Hardware Renderer Fixes Consertos Manuais do Renderizador via Hardware - + Spin GPU During Readbacks Girar a GPU Durante as Leituras de Retorno - + Spin CPU During Readbacks Girar a CPU Durante as Leituras de Retorno @@ -11982,15 +12041,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto-Limpeza @@ -12018,8 +12077,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Desativado) @@ -12076,18 +12135,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Desativar Funções Seguras - + Preload Frame Data Pré-Carregar Dados do Frame - + Texture Inside RT Textura Dentro do RT @@ -12186,13 +12245,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Unir Imagem Móvel - + Align Sprite Alinhar Imagem Móvel @@ -12206,16 +12265,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Sem Desentrelaçamento - - - Apply Widescreen Patches - Ativar Patches pra Widescreen - - - - Apply No-Interlacing Patches - Ativar Patches Sem Entrelaçamento - Window Resolution (Aspect Corrected) @@ -12288,25 +12337,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Desativar Invalidação Parcial da Fonte - + Read Targets When Closing Ler os Alvos quando Fechar - + Estimate Texture Region Estimar a Região da Textura - + Disable Render Fixes Desativar os Consertos dos Renderizadores @@ -12317,7 +12366,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Desenhos da Textura da Paleta Ampliada @@ -12376,25 +12425,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Extrair texturas - + Dump Mipmaps Extrair mapas mip - + Dump FMV Textures Extrair texturas do FMV - + Load Textures Carregar Texturas @@ -12404,6 +12453,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Nativa (10:7) + + + Apply Widescreen Patches + Ativar Patches pra Widescreen + + + + Apply No-Interlacing Patches + Ativar Patches Sem Entrelaçamento + Native Scaling @@ -12421,13 +12480,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Forçar posição uniforme do sprite - + Precache Textures Colocar as Texturas no Cache Primeiro @@ -12450,8 +12509,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Nenhum (Padrão) @@ -12472,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12524,7 +12583,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Aumentar o Shade @@ -12539,7 +12598,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contraste: - + Saturation Saturação @@ -12560,50 +12619,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Mostrar Indicadores - + Show Resolution Mostrar Resolução - + Show Inputs Mostrar Entradas - + Show GPU Usage Mostrar o Uso da GPU - + Show Settings Mostrar Configurações - + Show FPS Mostrar FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Desativar a Apresentação no Mailbox - + Extended Upscaling Multipliers Multiplicadores Estendidos de Ampliação @@ -12619,13 +12678,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Mostrar Estatísticas - + Asynchronous Texture Loading Carregamento das Texturas Assíncronas @@ -12636,13 +12695,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Mostrar o Uso da CPU - + Warn About Unsafe Settings Avisar Sobre Configurações Inseguras @@ -12668,7 +12727,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Esquerda (Padrão) @@ -12679,43 +12738,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Direita (Padrão) - + Show Frame Times Mostrar o Tempo dos Frames - + Show PCSX2 Version Mostrar a Versão do PCSX2 - + Show Hardware Info Mostrar as Informações do Hardware - + Show Input Recording Status Mostrar o Status da Gravação da Entrada - + Show Video Capture Status Mostrar o Status da Captura de Vídeo - + Show VPS Mostrar VPS @@ -12824,19 +12883,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Ignorar a Apresentação dos Frames Duplicados - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12889,7 +12948,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Mostrar Porcentagens da Velocidade @@ -12899,1214 +12958,1214 @@ Swap chain: see Microsoft's Terminology Portal. Desativar a Busca do Buffer dos Frames - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Nulo - + 2x 2x - + 4x 4x - + 8x 8x - - 16x - 16x - - - - - - - Use Global Setting [%1] - Usar Configuração Global [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 16x + 16x + + + + + + + Use Global Setting [%1] + Usar Configuração Global [%1] + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Desmarcado - + + Enable Widescreen Patches + Ativar Patches pra Widescreen + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Carrega e aplica automaticamente os patches pra widescreen no início do jogo. Pode causar problemas. - + + Enable No-Interlacing Patches + Ativar Patches Sem Entrelaçamento + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Carrega e aplica automaticamente os patches sem entrelaçamento no início do jogo. Pode causar problemas. - + Disables interlacing offset which may reduce blurring in some situations. Desativa o deslocamento do entrelaçamento o qual pode reduzir o desfoque em algumas situações. - + Bilinear Filtering Filtragem Bilinear - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Ativa o filtro de pós-processamento bilinear. Suaviza a imagem geral conforme ela é exibida na tela. Corrige o posicionamento entre os pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Ativa os Deslocamentos do PCRTC os quais posicionam a tela conforme o jogo requisita. Útil pra alguns jogos tais como Wipeout Fusion por seu efeito de tremulação da tela mas pode tornar a imagem borrada. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Ativa a opção de mostrar a área do overscan em jogos os quais desenham mais do que a área segura da tela. - + FMV Aspect Ratio Override Substituir a Proporção do Aspecto do FMV - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determina o método de desentrelaçamento a ser usado na tela entrelaçada do console emulado. O automático deve ser capaz de desentrelaçar corretamente a maioria dos jogos mas se você ver gráficos visivelmente tremidos tente escolher uma das opções disponíveis. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Controla o nível de precisão da emulação da unidade de mistura do GS.<br> Quanto maior a configuração mais a mistura é emulada no shader com precisão e maior a penalidade sobre a velocidade será.<br> Note que a mistura do Direct3D é reduzida em capacidade comparada com o OpenGL/Vulkan. - + Software Rendering Threads Threads da Renderização do Software - + CPU Sprite Render Size Tamanho da Renderização das Imagens Móveis da CPU - + Software CLUT Render Renderizador do CLUT via Software - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Tenta detectar quando um jogo está desenhando sua própria paleta de cores e então renderiza-a na GPU com uma manipulação especial. - + This option disables game-specific render fixes. Esta opção desativa os consertos de renderização específicos do jogo. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. Por padrão o cache da textura lida com invalidações parciais. Infelizmente é muito custoso computar em termos de CPU. Este hack substitui a invalidação parcial com uma exclusão completa da textura pra reduzir a carga da CPU. Ajuda os jogos com a engine Snowblind. - + Framebuffer Conversion Conversão do Buffer dos Frames - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Converte o buffer dos frames de 4 bits e 8 bits na CPU ao invés da GPU. Ajuda os jogos do Harry Potter e Stuntman. Tem um grande impacto na performance. - - + + Disabled Desativado - - Remove Unsupported Settings - Remover Configurações Não Suportadas - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - Você atualmente tem as opções <strong>Ativar Patches Widescreen</strong> ou <strong>Ativar Patches Sem Entrelaçamento</strong> ativadas pra este jogo.<br><br>Nós não mais damos suporte a estas opções ao invés disto <strong>você deve selecionar a seção "Patches" e explicitamente ativar os patches que você quer.</strong><br><br>Você quer remover estas opções da sua configuração do jogo agora? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Substitui a proporção do aspecto (FMV) do full-motion video. Se desativado a Proporção do Aspecto do FMV combinará com o mesmo valor que a configuração geral da Proporção do Aspecto. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Ativa o mipmapping o qual alguns jogos requerem pra renderizar corretamente. O mipmapping usa variantes de resolução progressivamente menores das texturas em distâncias progressivamente maiores pra reduzir a carga de processamento e evitar artefatos visuais. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Muda qual algoritmo de filtragem é usado pra mapear as texturas nas superfícies.<br> Mais próximo: Não faz tentativa de misturar as cores.<br> Bilinear (Forçado): Misturará as cores pra remover as bordas ásperas entre os pixels de cores diferentes mesmo se o jogo disse pro PS2 pra não fazer isto.<br> Bilinear (PS2): Aplicará a filtragem em todas as superfícies que um jogo instrui o PS2 a filtrar.<br> Bilinear (Forçado a Excluir as Imagens Móveis): Aplicará a filtragem em todas as superfícies mesmo que o jogo diga ao PS2 pra não fazer exceto as imagens móveis. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduz o desfoque das texturas grandes aplicadas a superfícies pequenas e com ângulos acentuados amostrando as cores dos dois Mipmaps mais próximos. Requer que o Mipmapping esteja 'ligado'.<br> Desligado: Desativa a função.<br> Trilinear (PS2): Aplica a filtragem Trilinear em todas as superfícies que um jogo instrui o PS2 a fazer.<br> Trilinear (Forçado): Aplica a filtragem Trilinear em todas as superfícies mesmo se o jogo diga ao PS2 pra não fazer. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduz as bandas entre as cores e melhora a profundidade da cor percebida.<br> Desligado: Desativa qualquer pontilhamento.<br> Dimensionado: Ciente da ampliação/maior efeito do pontilhamento.<br> Não Dimensionado: Pontilhamento nativo/pontilhamento menor não aumenta o tamanho dos quadrados quando amplia.<br> Forçar 32 bits: Trata todos os desenhos como se eles fossem de 32 bits pra evitar as bandas e o pontilhamento. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Faz um trabalho inútil na CPU durante as leituras de retorno pra impedí-la de ir pro modo de economia de energia. Pode melhorar a performance durante as leituras de retorno mas com um aumento significativo no uso de energia. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submete trabalho inútil para a GPU durante as leituras de retorno pra impedí-la de ir pro modo de economia de energia. Pode melhorar a performance durante as leituras de retorno mas com um aumento significativo no uso de energia. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Número de threads de renderização: 0 pra thread único, 2 ou mais pra multi-threads (1 é pra debugging). De 2 a 4 threads são recomendados, mais do que isso é provável que seja mais lento ao invés de mais rápido. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Desativa o suporte dos buffers de profundidade no cache da textura. Provavelmente criará vários problemas gráficos e só é útil pra debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Permite que o cache de textura reutilize como uma textura de entrada a porção interior de um buffer do frame anterior. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Descarrega todos os alvos no cache da textura de volta para a memória local quando desligar. Pode impedir a perda do visual quando salvar o state ou trocar os renderizadores mas também pode causar corrupção gráfica. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Tenta reduzir o tamanho da textura quando os jogos não a definem eles mesmos. (ex: Jogos da Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Conserta problemas com a ampliação (linhas verticais) em jogos da Namco como Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumpa as texturas substituíveis no disco. Reduzirá a performance. - + Includes mipmaps when dumping textures. Inclui os mipmaps quando dumpar as texturas. - + Allows texture dumping when FMVs are active. You should not enable this. Permite a dumpagem das texturas quando os FMVs estão ativos. Você não deve ativar isto. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carrega as texturas de substituição num thread trabalhador reduzindo o micro travamento quando as substituições estão ativadas. - + Loads replacement textures where available and user-provided. Carrega as texturas de substituição aonde disponíveis e fornecidas pelo usuário. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Pré-carrega todas as texturas de substituição na memória. Não é necessário com o carregamento assíncrono. - + Enables FidelityFX Contrast Adaptive Sharpening. Ativa a Nitidez Adaptável do Contraste do FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. Determina a intensidade do efeito de nitidez no pós-processamento do CAS. - + Adjusts brightness. 50 is normal. Ajusta o brilho. 50 é normal. - + Adjusts contrast. 50 is normal. Ajusta o contraste. 50 é normal. - + Adjusts saturation. 50 is normal. Ajusta a saturação. 50 é normal. - + Scales the size of the onscreen OSD from 50% to 500%. Dimensiona o tamanho do OSD na tela de 50% até 500%. - + OSD Messages Position Posição das Mensagens no OSD - + OSD Statistics Position Posição das Estatísticas no OSD - + Shows a variety of on-screen performance data points as selected by the user. Mostra uma variedade de pontos de dados da performance na tela conforme selecionado pelo usuário. - + Shows the vsync rate of the emulator in the top-right corner of the display. Mostra a taxa do vsync do emulador no canto superior direito da tela. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Mostra indicadores do ícone OSD pros estados de emulação tais como Pausar, Turbo, Avanço Rápido e Câmera Lenta. - + Displays various settings and the current values of those settings, useful for debugging. Exibe várias configurações e os valores atuais dessas configurações, útil pra debugging. - + Displays a graph showing the average frametimes. Exibe um gráfico mostrando os tempos médios dos frames. - + Shows the current system hardware information on the OSD. Mostra as informações do hardware do sistema atual no OSD. - + Video Codec Codec de Vídeo - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Seleciona qual Codec de Vídeo a ser usado pra Captura de Vídeo. <b>Se não tiver certeza, deixe-o no padrão.<b> - + Video Format Formato do Vídeo - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Seleciona qual o Formato de Vídeo a ser usado pra Captura de Vídeo. Se por chance o codec não suportar o formato o primeiro formato disponível será usado. <b>Se não tiver certeza deixe no padrão.<b> - + Video Bitrate Taxa de Bits do Vídeo - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Determina a taxa de bits do vídeo a ser usada. Taxas de bits maiores geralmente produzem melhor qualidade de vídeo ao custo de um tamanho de arquivo resultante maior. - + Automatic Resolution Resolução Automática - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Quando marcada a resolução da captura de vídeo seguirá a resolução interna do jogo em execução.<br><br><b>Seja cuidadoso quando usar esta configuração, especialmente quando você está ampliando pois uma resolução interna maior (acima de 4x) pode resultar numa captura de vídeo muito grande e pode causar sobrecarga no sistema</b> - + Enable Extra Video Arguments Ativar Argumentos Extras do Vídeo - + Allows you to pass arguments to the selected video codec. Permite a você passar argumentos para o codec de vídeo selecionado. - + Extra Video Arguments Argumentos Extras do Vídeo - + Audio Codec Codec de Áudio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Seleciona qual Codec de Áudio a ser usado pra Captura de Vídeo. <b>Se não tiver certeza, deixe-o no padrão.<b> - + Audio Bitrate Taxa de Bits do Áudio - + Enable Extra Audio Arguments Ativar Argumentos Extras do Áudio - + Allows you to pass arguments to the selected audio codec. Permite a você passar argumentos para o codec de áudio selecionado. - + Extra Audio Arguments Argumentos Extras do Áudio - + Allow Exclusive Fullscreen Permitir Tela Cheia Exclusiva - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Substitui as heurísticas do driver pra ativar tela cheia exclusiva ou inversão/escaneamento direto.<br>Rejeitar a tela cheia exclusiva pode ativar a troca e sobreposições mais suaves das tarefas mas aumenta a latência da entrada. - + 1.25x Native (~450px) 1.25x Nativa (~450px) - + 1.5x Native (~540px) 1.5x Nativa (~540px) - + 1.75x Native (~630px) 1.75x Nativa (~630px) - + 2x Native (~720px/HD) 2x Nativa (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Nativa (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Nativa (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Nativa (~1260px) - + 4x Native (~1440px/QHD) 4x Nativa (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Nativa (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Nativa (~2160px/4K UHD) - + 7x Native (~2520px) 7x Nativa (~2520px) - + 8x Native (~2880px/5K UHD) 8x Nativa (~2880px/5K UHD) - + 9x Native (~3240px) 9x Nativa (~3240px) - + 10x Native (~3600px/6K UHD) 10x Nativa (~3600px/6K UHD) - + 11x Native (~3960px) 11x Nativa (~3960px) - + 12x Native (~4320px/8K UHD) 12x Nativa (~4320px/8K UHD) - + 13x Native (~4680px) 13x Nativa (~4680px) - + 14x Native (~5040px) 14x Nativa (~5040px) - + 15x Native (~5400px) 15x Nativa (~5400px) - + 16x Native (~5760px) 16x Nativa (~5760px) - + 17x Native (~6120px) 17x Nativa (~6120px) - + 18x Native (~6480px/12K UHD) 18x Nativa (~6480px/12K UHD) - + 19x Native (~6840px) 19x Nativa (~6840px) - + 20x Native (~7200px) 20x Nativa (~7200px) - + 21x Native (~7560px) 21x Nativa (~7560px) - + 22x Native (~7920px) 22x Nativa (~7920px) - + 23x Native (~8280px) 23x Nativa (~8280px) - + 24x Native (~8640px/16K UHD) 24x Nativa (~8640px/16K UHD) - + 25x Native (~9000px) 25x Nativa (~9000px) - - + + %1x Native %1x Nativa - - - - - - - - - + + + + + + + + + Checked Selecionado - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Ativa hacks internos do Anti-Desfoque. Menos preciso para a renderização do PS2 mas fará com que muitos jogos pareçam menos borrados. - + Integer Scaling Dimensionamento do Inteiro - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adiciona preenchimento a área de exibição pra garantir que a proporção entre pixels no hospedeiro e pixels no console seja um número inteiro. Pode resultar em uma imagem mais nítida em alguns jogos 2D. - + Aspect Ratio Proporção do Aspecto - + Auto Standard (4:3/3:2 Progressive) Padrão Automático (4:3/3:2 Progressivo) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Muda a proporção do aspecto usada pra exibir a saída do console na tela. O padrão é o Padrão Automático (4:3/3:2 Progressivo) o qual ajusta automaticamente a proporção do aspecto pra combinar como um jogo seria mostrado numa TV típica da era. - + Deinterlacing Desentrelaçamento - + Screenshot Size Tamanho da Screenshot - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determina a resolução na qual as screenshots serão salvas. As resoluções internas preservam mais detalhes ao custo do tamanho do arquivo. - + Screenshot Format Formato da Screenshot - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Seleciona o formato o qual será usado pra salvar as screenshots. O JPEG produz arquivos menores mas perde detalhes. - + Screenshot Quality Qualidade da Screenshot - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Seleciona a qualidade na qual as screenshots serão compactadas. Valores maiores preservam mais detalhes no JPEG e reduzem o tamanho do arquivo no PNG. - - + + 100% 100% - + Vertical Stretch Esticamento Vertical - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Estica (&lt; 100%) ou suprime (&gt; 100%) o componente vertical da tela. - + Fullscreen Mode Modo de Tela Cheia - - - + + + Borderless Fullscreen Tela Cheia sem Bordas - + Chooses the fullscreen resolution and frequency. Escolhe a resolução e a frequência da tela cheia. - + Left Esquerda - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Muda o número de pixels cortados do lado esquerdo da tela. - + Top Topo - + Changes the number of pixels cropped from the top of the display. Muda o número dos pixels cortados do topo da tela. - + Right Direita - + Changes the number of pixels cropped from the right side of the display. Mostra o número dos pixels cortados do lado direito da tela. - + Bottom Rodapé - + Changes the number of pixels cropped from the bottom of the display. Muda o número de pixels cortados do rodapé da tela. - - + + Native (PS2) (Default) Nativa (PS2) (Padrão) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Controla a resolução na qual os jogos são renderizados. Resoluções maiores podem impactar a performance em GPUs mais antiga ou low-end.<br>Resoluções não-nativas podem causar problemas gráficos menores em alguns jogos.<br>A resolução do FMV permanecerá sem mudanças como os arquivos de vídeo são pré-renderizados. - + Texture Filtering Filtragem das Texturas - + Trilinear Filtering Filtragem Trilinear - + Anisotropic Filtering Filtragem Anisotrópica - + Reduces texture aliasing at extreme viewing angles. Reduz o aliasing das texturas em ângulos de visualização extremos. - + Dithering Pontilhamento - + Blending Accuracy Precisão da Mistura - + Texture Preloading Pré-Carregamento das Texturas - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Faz upload de texturas inteiras de uma vez ao invés de pequenos pedaços evitando uploads redundantes quando possível. Melhora a performance na maioria dos jogos mas pode tornar uma pequena seleção mais lenta. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Quando ativada a GPU converte as texturas do mapa das cores, caso contrário a CPU o fará. É uma troca entre a GPU e a CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Ativar esta opção dá a você a habilidade de mudar o renderizador e os consertos da ampliação pros seus jogos. Contudo SE você tiver ATIVADO isto você DESATIVARÁ AS CONFIGURAÇÕES AUTOMÁTICAS e você pode re-ativar as configurações automáticas desmarcando esta opção. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Forçar uma descarga primitiva quando um buffer do frame também é uma textura de entrada. Conserta alguns efeitos de processamento tais como as sombras na série Jak e radiosidade em GTA: SA. - + Enables mipmapping, which some games require to render correctly. Ativa o mipmapping, o qual alguns jogos requerem pra renderizar corretamente. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. A largura máxima da memória alvo que permitirá que o Renderizador de Imagens Móveis da CPU seja ativado. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tenta detectar quando um jogo está desenhando sua própria paleta de cores e então renderiza-a no software ao invés da GPU. - + GPU Target CLUT CLUT do Alvo da GPU - + Skipdraw Range Start Início do Alcance do Skipdraw - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Ignora completamente as superfícies de desenho da superfície na caixa esquerda até a superfície especificada na caixa a direita. - + Skipdraw Range End Fim do Alcance do Skipdraw - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Esta opção desativa múltiplas funções seguras. Desativa a renderização precisa do Ponto e Linha Sem Ampliação o que pode ajudar os jogos Xenosaga. Desativa a Limpeza Precisa da Memória do GS pra ser feita na CPU e deixa a GPU manipulá-la, o que pode ajudar os jogos Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Faz upload dos dados do GS quando renderiza um novo frame pra reproduzir alguns efeitos com precisão. - + Half Pixel Offset Deslocamento de Meio Pixel - + Might fix some misaligned fog, bloom, or blend effect. Pode consertar algum efeito de névoa, bloom ou mistura desalinhada. - + Round Sprite Imagem Móvel Redonda - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrige a amostragem das texturas das imagens móveis 2D quando amplia. Conserta linhas em imagens móveis de jogos como Ar tonelico quando amplia. A opção Metade é pra imagens móveis planas, Completo é pra todas as imagens móveis. - + Texture Offsets X Deslocamentos da Textura X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. O deslocamento para as coordenadas da textura ST/UV. Conserta alguns problemas de textura estranhos e poderia consertar algum alinhamento de pós-processamento também. - + Texture Offsets Y Deslocamentos da Textura Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Reduz a precisão do GS pra evitar espaços entre os pixels quando amplia. Conserta o texto nos jogos Wild Arms. - + Bilinear Upscale Ampliação Bilinear - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Pode suavizar as texturas devido a ser filtrado de modo bilinear quando amplia. Ex: Brave Sun Glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Substitui o pós-processamento de múltiplas imagens móveis de pavimentação pra uma única imagem móvel gorda. Ele reduz várias linhas da ampliação. - + Force palette texture draws to render at native resolution. Força os desenhos das texturas da paleta a renderizarem na resolução nativa. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Nitidez Adaptável do Contraste - + Sharpness Nitidez - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Ativa a saturação, contraste e brilho a serem ajustados. Os valores do brilho, saturação e contraste estão no padrão 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Aplica o algoritmo anti-aliasing do FXAA pra melhorar a qualidade visual dos jogos. - + Brightness Brilho - - - + + + 50 50 - + Contrast Contraste - + TV Shader Shader de TV - + Applies a shader which replicates the visual effects of different styles of television set. Aplica um shader o qual replica os efeitos visuais de diferentes estilos de configuração da televisão. - + OSD Scale Escala do OSD - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Mostra mensagens de exibição na tela quando ocorrem eventos tais como save states sendo criados/carregados, screenshots sendo feitas, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Mostra a taxa interna dos frames do jogo no canto superior direito da tela. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Mostra a velocidade de emulação atual do sistema no canto superior direito da tela como uma porcentagem. - + Shows the resolution of the game in the top-right corner of the display. Mostra a resolução do jogo no canto superior direito da tela. - + Shows host's CPU utilization. Mostra a utilização da CPU do hospedeiro. - + Shows host's GPU utilization. Mostra a utilização da GPU do hospedeiro. - + Shows counters for internal graphical utilization, useful for debugging. Mostra os contadores pra utilização gráfica interna, útil pra debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Mostra o estado do sistema do controle atual no canto inferior esquerdo da tela. - + Shows the current PCSX2 version on the top-right corner of the display. Mostra a versão atual do PCSX2 no canto superior direito da tela. - + Shows the currently active video capture status. Mostra o status da captura de vídeo ativo no momento. - + Shows the currently active input recording status. Mostra o status da gravação da entrada ativa no momento. - + Displays warnings when settings are enabled which may break games. Exibe avisos quando as configurações estão ativadas as quais podem quebrar os jogos. - - + + Leave It Blank Deixar em Branco - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Os parâmetros passados para o codec de vídeo selecionado.<br> <b>Você deve usar o '=' pra separar a tecla do valor e ':' pra separar os dois pares um do outro.</b><br> Por exemplo: "crf = 21 : pré-definido = muito rápido" - + Sets the audio bitrate to be used. Determina a taxa de bits do áudio a ser usada. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Os parâmetros passados para o codec de áudio selecionado.<br> <b>Você deve usar o '=' pra separar a tecla do valor e ':' pra separar os dois pares um do outro.</b> <br> <>Por exemplo: "nível_da_compressão = 4 : joint_stereo = 1" - + GS Dump Compression Compressão da extração do GS - + Change the compression algorithm used when creating a GS dump. Alterar o algoritmo de compressão utilizado ao criar uma extração do GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Usa um modelo de apresentação dos blits ao invés de inversão quando usar o renderizador Direct3D 11. Isto geralmente resulta numa performance mais lenta mas pode ser requerido por alguns aplicativos de streaming ou pra liberar as taxas dos frames em alguns sistemas. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detecta quando frames inativos estão sendo apresentados em jogos de 25/30 FPS e ignora a apresentação desses frames. O frame ainda é renderizado, isso significa apenas que a GPU tem mais tempo pra completá-lo (isto NÃO é pulo dos frames). Pode suavizar as flutuações do tempo dos frames quando a CPU/GPU estão perto da utilização máxima mas torna o ritmo dos frames mais inconsistente e pode aumentar o atraso da entrada. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Exibe multiplicadores de ampliação adicionais muito altos dependentes da capacidade da GPU. - + Enable Debug Device Ativar o Dispositivo de Debug - + Enables API-level validation of graphics commands. Ativa a validação do nível da API dos comandos gráficos. - + GS Download Mode Modo de Download do GS - + Accurate Preciso - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Ignora a sincronização com o thread do GS e a GPU do hospedeiro pros downloads do GS. Pode resultar num grande aumento de velocidade em sistemas mais lentos ao custo de muitos efeitos gráficos quebrados. Se os jogos estiverem quebrados e você tiver essa opção ativada por favor desative-a primeiro. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Padrão - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Força o uso do FIFO sobre a apresentação do Mailbox, ex: buffer duplo ao invés de buffer triplo. Geralmente resulta em pior ritmo dos frames. @@ -14114,7 +14173,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Padrão @@ -14331,254 +14390,254 @@ Swap chain: see Microsoft's Terminology Portal. Nenhum save state achado no slot {}. - - - + + - - - - + + + + - + + System Sistema - + Open Pause Menu Abrir Menu da Pausa - + Open Achievements List Abrir a Lista das Conquistas - + Open Leaderboards List Abrir a Lista das Tabelas de Classificação - + Toggle Pause Alternar a Pausa - + Toggle Fullscreen Alternar pra Tela Cheia - + Toggle Frame Limit Alternar o Limite dos Frames - + Toggle Turbo / Fast Forward Alternar Turbo/Avanço Rápido - + Toggle Slow Motion Alternar pra Câmera Lenta - + Turbo / Fast Forward (Hold) Turbo/Avanço Rápido (Pressionar) - + Increase Target Speed Aumentar Velocidade do Alvo - + Decrease Target Speed Diminuir Velocidade do Alvo - + Increase Volume Aumentar Volume - + Decrease Volume Diminuir Volume - + Toggle Mute Alternar pra Volume Mudo - + Frame Advance Avanço dos Frames - + Shut Down Virtual Machine Desligar a Máquina Virtual - + Reset Virtual Machine Resetar a Máquina Virtual - + Toggle Input Recording Mode Alternar pro Modo de Gravação da Entrada - - + + Save States Save States - + Select Previous Save Slot Selecionar o Slot do Save Anterior - + Select Next Save Slot Selecionar o Slot do Próximo Save - + Save State To Selected Slot Salvar o State no Slot Selecionado - + Load State From Selected Slot Carregar estado do compartimento selecionado - + Save State and Select Next Slot Salvar o State e Selecionar o Próximo Slot - + Select Next Slot and Save State Selecionar o Próximo Slot e Salvar o State - + Save State To Slot 1 Salvar o State no Slot 1 - + Load State From Slot 1 Carregar o State do Slot 1 - + Save State To Slot 2 Salvar o State no Slot 2 - + Load State From Slot 2 Carregar o State do Slot 2 - + Save State To Slot 3 Salvar o State no Slot 3 - + Load State From Slot 3 Carregar estado do compartimento 3 - + Save State To Slot 4 Salvar estado no compartimento 4 - + Load State From Slot 4 Carregar estado do compartimento 4 - + Save State To Slot 5 Salvar o State no Slot 5 - + Load State From Slot 5 Carregar o State do Slot 5 - + Save State To Slot 6 Salvar estado no compartimento 6 - + Load State From Slot 6 Carregar estado do compartimento 6 - + Save State To Slot 7 Salvar estado no compartimento 7 - + Load State From Slot 7 Carregar estado do compartimento 7 - + Save State To Slot 8 Salvar o State no Slot 8 - + Load State From Slot 8 Carregar estado do compartimento 8 - + Save State To Slot 9 Salvar estado no compartimento 9 - + Load State From Slot 9 Carregar o State do Slot 9 - + Save State To Slot 10 Salvar o State no Slot 10 - + Load State From Slot 10 Carregar o State do Slot 10 @@ -15456,594 +15515,608 @@ Clique com o botão direito pra remover a associação &Sistema - - - + + Change Disc Mudar Disco - - + Load State Carregar State - - Save State - Salvar State - - - + S&ettings C&onfigurações - + &Help &Ajuda - + &Debug &Debug - - Switch Renderer - Trocar de Renderizador - - - + &View &Visualizar - + &Window Size &Tamanho da Janela - + &Tools &Ferramentas - - Input Recording - Gravação da Entrada - - - + Toolbar Barra de Ferramentas - + Start &File... Iniciar &Arquivo... - - Start &Disc... - Iniciar &Disco... - - - + Start &BIOS Iniciar &BIOS - + &Scan For New Games &Escanear por Novos Jogos - + &Rescan All Games &Re-Escanear Todos os Jogos - + Shut &Down &Desligar - + Shut Down &Without Saving Desligar &sem Salvar - + &Reset &Resetar - + &Pause &Pausar - + E&xit S&air - + &BIOS &BIOS - - Emulation - Emulação - - - + &Controllers &Controles - + &Hotkeys &Teclas de Atalho - + &Graphics &Gráficos - - A&chievements - C&onquistas - - - + &Post-Processing Settings... &Configurações do Pós-Processamento... - - Fullscreen - Tela Cheia - - - + Resolution Scale Escala da Resolução - + &GitHub Repository... &Repositório do GitHub... - + Support &Forums... Fóruns de &Suporte... - + &Discord Server... &Servidor do Discord... - + Check for &Updates... Procurar &Atualizações... - + About &Qt... Sobre o &Qt... - + &About PCSX2... &Sobre o PCSX2... - + Fullscreen In Toolbar Tela Cheia - + Change Disc... In Toolbar Mudar Disco... - + &Audio &Áudio - - Game List - Lista de Jogos - - - - Interface - Interface + + Global State + Estado Global - - Add Game Directory... - Adicionar Diretório dos Jogos... + + &Screenshot + &Screenshot - - &Settings - &Configurações + + Start File + In Toolbar + Iniciar Arquivo - - From File... - Do Arquivo... + + &Change Disc + &Mudar Disco - - From Device... - Do Dispositivo... + + &Load State + &Carregar State - - From Game List... - Da Lista de Jogos... + + Sa&ve State + Sa&lvar State - - Remove Disc - Remover Disco + + Setti&ngs + Configuraç&ões - - Global State - Estado Global + + &Switch Renderer + &Trocar de Renderizador - - &Screenshot - &Screenshot + + &Input Recording + &Gravação da Entrada - - Start File - In Toolbar - Iniciar Arquivo + + Start D&isc... + Iniciar D&isco... - + Start Disc In Toolbar Iniciar Disco - + Start BIOS In Toolbar Iniciar BIOS - + Shut Down In Toolbar Desligar - + Reset In Toolbar Resetar - + Pause In Toolbar Pausar - + Load State In Toolbar Carregar State - + Save State In Toolbar Salvar State - + + &Emulation + &Emulação + + + Controllers In Toolbar Controles - + + Achie&vements + Conq&uistas + + + + &Fullscreen + &Tela Cheia + + + + &Interface + &Interface + + + + Add Game &Directory... + Adicionar Diretório dos &Jogos... + + + Settings In Toolbar Configurações - + + &From File... + &Do Arquivo... + + + + From &Device... + Do &Dispositivo... + + + + From &Game List... + Da &Lista de Jogos... + + + + &Remove Disc + &Remover Disco + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Cartões de Memória - + &Network && HDD &Rede && HDD - + &Folders &Pastas - + &Toolbar &Barra de Ferramentas - - Lock Toolbar - Trancar a Barra de Ferramentas + + Show Titl&es (Grid View) + Mostrar Títu&los (Visualização em Grade) - - &Status Bar - &Barra de Status + + &Open Data Directory... + &Abrir Diretório dos Dados... - - Verbose Status - Status Detalhado + + &Toggle Software Rendering + &Alternar pra Renderização via Software - - Game &List - Lista de &Jogos + + &Open Debugger + &Abrir Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Exibição do &Sistema + + &Reload Cheats/Patches + &Recarregar Trapaças/Patches - - Game &Properties - Propriedades do &Jogo + + E&nable System Console + A&tivar o Console do Sistema - - Game &Grid - Grade dos &Jogos + + Enable &Debug Console + Ativar o &Console do Debug - - Show Titles (Grid View) - Mostrar Títulos (Visualização em Grade) + + Enable &Log Window + Ativar a &Janela do Registro - - Zoom &In (Grid View) - Aumentar o &Zoom (Visualização em Grade) + + Enable &Verbose Logging + Ativar &Registro Detalhado - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Ativar Registro do Console da &EE - - Zoom &Out (Grid View) - Diminuir o &Zoom (Visualização em Grade) + + Enable &IOP Console Logging + Ativar &Registro do Console do IOP - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Salvar Dump do Frame Único &do GS - - Refresh &Covers (Grid View) - Atualizar &Capas (Visualização em Grade) + + &New + This section refers to the Input Recording submenu. + &Novo - - Open Memory Card Directory... - Abrir Diretório do Cartão de Memória... + + &Play + This section refers to the Input Recording submenu. + &Reproduzir - - Open Data Directory... - Abrir Diretório dos Dados... + + &Stop + This section refers to the Input Recording submenu. + &Parar - - Toggle Software Rendering - Alternar pra Renderização via Software + + &Controller Logs + &Registros dos Controles - - Open Debugger - Abrir Debugger + + &Input Recording Logs + &Registros da Gravação da Entrada - - Reload Cheats/Patches - Recarregar trapaças/patches + + Enable &CDVD Read Logging + Ativar &Registro de Leitura do CDVD - - Enable System Console - Ativar o Console do Sistema + + Save CDVD &Block Dump + Salvar Dump dos &Blocos do CDVD - - Enable Debug Console - Ativar o Console do Debug + + &Enable Log Timestamps + &Ativar Estampas do Tempo do Registro - - Enable Log Window - Ativar a Janela do Registro + + Start Big Picture &Mode + Iniciar o Modo Big &Picture - - Enable Verbose Logging - Ativar Registro Detalhado + + &Cover Downloader... + &Baixador de Capas... - - Enable EE Console Logging - Ativar Registro do Console da EE + + &Show Advanced Settings + &Mostrar Configurações Avançadas - - Enable IOP Console Logging - Ativar Registro do Console do IOP + + &Recording Viewer + &Visualizador da Gravação - - Save Single Frame GS Dump - Salvar Dump do Frame Único do GS + + &Video Capture + &Captura de Vídeo - - New - This section refers to the Input Recording submenu. - Novo + + &Edit Cheats... + &Editar Trapaças... - - Play - This section refers to the Input Recording submenu. - Reproduzir + + Edit &Patches... + Editar &Patches... - - Stop - This section refers to the Input Recording submenu. - Parar + + &Status Bar + &Barra de Status - - Settings - This section refers to the Input Recording submenu. - Configurações + + + Game &List + Lista de &Jogos - - - Input Recording Logs - Registros da Gravação da Entrada + + Loc&k Toolbar + Tranca&r a Barra de Ferramentas - - Controller Logs - Registros dos Controles + + &Verbose Status + &Status Detalhado - - Enable &File Logging - Ativar &Registro dos Arquivos + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Exibição do &Sistema + + + + Game &Properties + Propriedades do &Jogo - - Enable CDVD Read Logging - Ativar Registro de Leitura do CDVD + + Game &Grid + Grade dos &Jogos - - Save CDVD Block Dump - Salvar despejo dos blocos do CDVD + + Zoom &In (Grid View) + Aumentar o &Zoom (Visualização em Grade) - - Enable Log Timestamps - Ativar Estampas do Tempo do Registro + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Diminuir o &Zoom (Visualização em Grade) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Atualizar &Capas (Visualização em Grade) + + + + Open Memory Card Directory... + Abrir Diretório do Cartão de Memória... + + + + Input Recording Logs + Registros da Gravação da Entrada + + + + Enable &File Logging + Ativar &Registro dos Arquivos + + + Start Big Picture Mode Iniciar o Modo Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Baixador de Capas... - - - - + Show Advanced Settings Mostrar Configurações Avançadas - - Recording Viewer - Visualizador da Gravação - - - - + Video Capture Captura de Vídeo - - Edit Cheats... - Editar trapaças... - - - - Edit Patches... - Editar Patches... - - - + Internal Resolution Resolução Interna - + %1x Scale Escala %1x - + Select location to save block dump: Selecionar o local pra salvar o dump do bloco: - + Do not show again Não mostrar de novo - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16056,297 +16129,297 @@ O time do PCSX2 não fornecerá qualquer suporte pra configurações que modific Você tem certeza que você quer continuar? - + %1 Files (*.%2) %1 Arquivos (*.%2) - + WARNING: Memory Card Busy AVISO: Cartão de Memória Ocupado - + Confirm Shutdown Confirmar Desligamento - + Are you sure you want to shut down the virtual machine? Você tem certeza que você quer desligar a máquina virtual? - + Save State For Resume Retomar ao Resumo de Save - - - - - - + + + + + + Error Erro - + You must select a disc to change discs. Você deve selecionar um disco pra mudar os discos. - + Properties... Propriedades... - + Set Cover Image... Definir Imagem da Capa... - + Exclude From List Excluir da Lista - + Reset Play Time Resetar o Tempo de Jogo - + Check Wiki Page Verificar a Página do Wiki - + Default Boot Inicialização Padrão - + Fast Boot Inicialização Rápida - + Full Boot Inicialização Completa - + Boot and Debug Inicialização e Debug - + Add Search Directory... Adicionar Diretório de Busca... - + Start File Iniciar Arquivo - + Start Disc Iniciar Disco - + Select Disc Image Selecionar Imagem do Disco - + Updater Error Erro do Atualizador - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Desculpe, você está tentando atualizar uma versão do PCSX2 a qual não é um lançamento oficial do GitHub. Pra evitar incompatibilidades o auto-atualizador só é ativado nos builds oficiais.</p><p>Pra obter um build oficial por favor baixe-o no link abaixo:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. A atualização automática não é suportada na plataforma atual. - + Confirm File Creation Confirmar a Criação do Arquivo - + The pnach file '%1' does not currently exist. Do you want to create it? O arquivo pnach '%1' não existe atualmente. Você quer criá-lo? - + Failed to create '%1'. Falhou em criar o '%1'. - + Theme Change Mudar o Tema - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Mudar o tema fechará a janela do debugger. Quaisquer dados não salvos serão perdidos. Você quer continuar? - + Input Recording Failed Falhou em Gravar a Entrada - + Failed to create file: {} Falhou em criar o arquivo: {} - + Input Recording Files (*.p2m2) Arquivos da Gravação da Entrada (*.p2m2) - + Input Playback Failed Falhou na Reprodução do Playback - + Failed to open file: {} Falhou em abrir o arquivo: {} - + Paused Pausado - + Load State Failed Falhou em Carregar o State - + Cannot load a save state without a running VM. Não pode carregar um save state sem uma máquina virtual em execução. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? O novo ELF não pode ser carregado sem resetar a máquina virtual. Você quer resetar a máquina virtual agora? - + Cannot change from game to GS dump without shutting down first. Não é possível mudar do jogo para o despejo do GS sem desligar primeiro. - + Failed to get window info from widget Falhou em obter informações da janela do widget - + Stop Big Picture Mode Parar o Modo Big Picture - + Exit Big Picture In Toolbar Sair do Big Picture - + Game Properties Propriedades do Jogo - + Game properties is unavailable for the current game. As propriedades do jogo não estão disponíveis para o jogo atual. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Não conseguiu achar nenhum dispositivo de CD/DVD-ROM. Por favor certifique-se que você tenha um drive conectado e permissões suficientes pra acessá-lo. - + Select disc drive: Selecione o drive do disco: - + This save state does not exist. Este save state não existe. - + Select Cover Image Selecionar a Imagem da Capa - + Cover Already Exists A Capa já Existe - + A cover image for this game already exists, do you wish to replace it? Uma imagem da capa pra este jogo já existe, você deseja substituí-la? - + + - Copy Error Erro da Cópia - + Failed to remove existing cover '%1' Falhou em remover a capa existente '%1' - + Failed to copy '%1' to '%2' Falhou em copiar '%1' para '%2' - + Failed to remove '%1' Falhou em remover o '%1'. - - + + Confirm Reset Confirmar Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Todos os Tipos de Imagens da Capa (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Você deve selecionar um arquivo diferente para a imagem atual da capa. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16355,12 +16428,12 @@ This action cannot be undone. Esta ação não pode ser desfeita. - + Load Resume State Carregar State do Resumo - + A resume save state was found for this game, saved at: %1. @@ -16373,89 +16446,89 @@ Do you want to load this state, or start from a fresh boot? Você deseja carregar este estado ou iniciar a partir de uma uma nova inicialização? - + Fresh Boot Nova Inicialização - + Delete And Boot Apagar e Inicializar - + Failed to delete save state file '%1'. Falhou em apagar o arquivo do save state '%1'. - + Load State File... Carregar Arquivo do State... - + Load From File... Carregar do Arquivo... - - + + Select Save State File Selecionar Arquivo do Save State - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Apagar Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Todos os Tipos de Arquivos (*.bin *.iso *.cue *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);; Imagens Puras de Faixa Única (*.bin *.iso);; Cue Sheets (*.cue);; Arquivo Descritor da Mídia (*.mdf);; Imagens CHD do MAME (*.chd);; Imagens CSO (*.cso);; Imagens ZSO (*.zso);; Imagens GZ (*.gz);; Executáveis ELF (*.elf);; Executáveis IRX (*.irx);; Dumps do GS (*.gs *.gs.xz *.gs.zst);; Dumps dos Blocos (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Todos os Tipos de Arquivos (*.bin *.iso *.cue *.chd *.cso *.zso *.gz *.dump);; Imagens Puras de Faixa Única (*.bin *.iso);; Cue Sheets (*.cue);; Arquivo Descritor da Mída (*.mdf);; Imagens CHD do MAME (*.chd);; Imagens CSO (*.cso);; Imagens ZSO (*.zso);; Imagens GZ (*.gz);; Dumps dos Blocos (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> AVISO: Seu cartão de memória ainda está gravando dados. Desligar agora <b>DESTRUIRÁ IRREVERSIVELMENTE SEU CARTÃO DE MEMÓRIA.</b> É fortemente recomendado resumir seu jogo e deixá-lo terminar de gravar no seu cartão de memória.<br><br>Você deseja desligar de qualquer modo e <b>DESTRUIR IRREVERSIVELMENTE SEU CARTÃO DE MEMÓRIA?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Desfazer o Carregamento do State - + Resume (%2) Resumir (%2) - + Load Slot %1 (%2) Carregar Slot %1 (%2) - - + + Delete Save States Apagar Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16464,42 +16537,42 @@ The saves will not be recoverable. Os saves não serão recuperáveis. - + %1 save states deleted. %1 save states apagados. - + Save To File... Salvar como Arquivo... - + Empty Vazio - + Save Slot %1 (%2) Slot do Save %1 (%2) - + Confirm Disc Change Confirmar Mudança de Disco - + Do you want to swap discs or boot the new image (via system reset)? Você quer trocar os discos ou inicializar a nova imagem (via reset do sistema)? - + Swap Disc Trocar Disco - + Reset Resetar @@ -16522,25 +16595,25 @@ Os saves não serão recuperáveis. MemoryCard - - + + Memory Card Creation Failed A Criação do Cartão de Memória Falhou - + Could not create the memory card: {} Não pôde criar o cartão de memória: {} - + Memory Card Read Failed Falhou em Ler o Cartão de Memória - + Unable to access memory card: {} @@ -16557,28 +16630,33 @@ Feche quaisquer outras instâncias do PCSX2 ou reinicie seu computador. - - + + Memory Card '{}' was saved to storage. O Cartão de Memória '{}' foi salvo na armazenagem. - + Failed to create memory card. The error was: {} Falhou em criar cartão de memória. O erro foi: {} - + Memory Cards reinserted. Cartões de memória reinseridos. - + Force ejecting all Memory Cards. Reinserting in 1 second. Forçar a ejeção em todos os Cartões de Memória. Re-inserindo em 1 segundo. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + O console virtual não salvou no seu cartão de memória há algum tempo. Os save states não devem ser usados no lugar de saves dentro do jogo. + MemoryCardConvertDialog @@ -17370,7 +17448,7 @@ Esta ação não pode ser revertida e você perderá quaisquer saves no cartão. Ir pra Visualização de Memória - + Cannot Go To Não Pôde ir Pra @@ -18210,12 +18288,12 @@ Ejetando o {3} e substituindo-o pelo {2}. Patch - + Failed to open {}. Built-in game patches are not available. Falhou em abrir o {}. Os patches embutidos do jogo não estão disponíveis. - + %n GameDB patches are active. OSD Message @@ -18224,7 +18302,7 @@ Ejetando o {3} e substituindo-o pelo {2}. - + %n game patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejetando o {3} e substituindo-o pelo {2}. - + %n cheat patches are active. OSD Message @@ -18242,7 +18320,7 @@ Ejetando o {3} e substituindo-o pelo {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Nenhuma trapaça ou patches (widescreen, compatibilidade ou outros) foram achados/ativados. @@ -18343,47 +18421,47 @@ Ejetando o {3} e substituindo-o pelo {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logado como %1 (%2 pts, softcore: %3 pts). %4 mensagens não lidas. - - + + Error Erro - + An error occurred while deleting empty game settings: {} Um erro ocorreu enquanto apagava as configurações vazias do jogo: {} - + An error occurred while saving game settings: {} Um erro ocorreu enquanto salvava as configurações do jogo: {} - + Controller {} connected. Controle {} conectado. - + System paused because controller {} was disconnected. O sistema pausou porque o controle {} foi desconectado. - + Controller {} disconnected. Controle {} desconectado. - + Cancel Cancelar @@ -18516,7 +18594,7 @@ Ejetando o {3} e substituindo-o pelo {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21259,7 +21337,7 @@ Escanear recursivamente leva mais tempo mas identificará os arquivos nos sub-di PushButton - Pressionar botão + Pressionar Botão @@ -21410,7 +21488,7 @@ Escanear recursivamente leva mais tempo mas identificará os arquivos nos sub-di D-Pad Up - Direcional digital cima + Direcional Pra Cima @@ -21425,22 +21503,22 @@ Escanear recursivamente leva mais tempo mas identificará os arquivos nos sub-di PushButton - Pressionar botão + Pressionar Botão D-Pad Down - Direcional digital baixo + Direcional Pra Baixo D-Pad Left - Direcional digital esquerda + Direcional Esquerdo D-Pad Right - Direcional digital direita + Direcional Direito @@ -21729,42 +21807,42 @@ Escanear recursivamente leva mais tempo mas identificará os arquivos nos sub-di VMManager - + Failed to back up old save state {}. Falhou em fazer backup do save state antigo {}. - + Failed to save save state: {}. Falhou em salvar o save state em: {}. - + PS2 BIOS ({}) BIOS do PS2 ({}) - + Unknown Game Jogo Desconhecido - + CDVD precaching was cancelled. O pré-cache do CDVD foi cancelado. - + CDVD precaching failed: {} O pré-cache do CDVD falhou: {} - + Error Erro - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21781,272 +21859,272 @@ Uma vez dumpada esta imagem da BIOS deve ser colocada na pasta da BIOS dentro do Por favor consulte os FAQs e Guias pra mais instruções. - + Resuming state Resumindo o state - + Boot and Debug Inicialização e Debug - + Failed to load save state Falhou em carregar o save state - + State saved to slot {}. State salvo no slot {}. - + Failed to save save state to slot {}. Falhou em salvar o save state no slot {}. - - + + Loading state Carregando o state - + Failed to load state (Memory card is busy) Falhou em carregar o state (O cartão de memória está ocupado) - + There is no save state in slot {}. Não há save state no slot {}. - + Failed to load state from slot {} (Memory card is busy) Falhou em carregar o state do slot {} (O cartão de memória está ocupado) - + Loading state from slot {}... Carregando o state do slot {}... - + Failed to save state (Memory card is busy) Falhou em salvar o state (O cartão de memória está ocupado) - + Failed to save state to slot {} (Memory card is busy) Falhou em salvar o state no slot {} (O cartão de memória está ocupado) - + Saving state to slot {}... Salvando o state no slot {}... - + Frame advancing Avanço dos Frames - + Disc removed. Disco removido. - + Disc changed to '{}'. O disco mudou pra '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Falhou em abrir a nova imagem do disco '{}'. Revertendo pra imagem antiga. O erro foi: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Falhou em trocar pra imagem de disco antiga. Removendo o disco. O erro foi: {} - + Cheats have been disabled due to achievements hardcore mode. As trapaças foram desativadas devido ao modo hardcore das conquistas. - + Fast CDVD is enabled, this may break games. O CDVD rápido está ativado, isto pode quebrar os jogos. - + Cycle rate/skip is not at default, this may crash or make games run too slow. A taxa/pulo dos ciclos não está no padrão, isto pode causar um crash ou fazer os jogos rodarem muito lentos. - + Upscale multiplier is below native, this will break rendering. O multiplicador da ampliação está abaixo da resolução nativa, isto quebrará a renderização. - + Mipmapping is disabled. This may break rendering in some games. O mipmapping está desativado. Isto pode quebrar a renderização em alguns jogos. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. O renderizador não está definido como Automático. Isto pode causar problemas de performance e problemas gráficos. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. A filtragem das texturas não está definida como Bilinear (PS2). Isto quebrará a renderização em alguns jogos. - + No Game Running - Nenhum jogo em execução + Nenhum Jogo em Execução - + Trilinear filtering is not set to automatic. This may break rendering in some games. A filtragem trilinear não está definida como automática. Isto pode quebrar a renderização em alguns jogos. - + Blending Accuracy is below Basic, this may break effects in some games. A Precisão da Mistura está abaixo do Básico, isto pode quebrar os efeitos em alguns jogos. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. O modo de download do hardware não está definido como Preciso, isto pode quebrar a renderização em alguns jogos. - + EE FPU Round Mode is not set to default, this may break some games. O modo de arredondamento da FPU da EE não está definido como padrão, isto pode quebrar alguns jogos. - + EE FPU Clamp Mode is not set to default, this may break some games. O modo de fixação da FPU da EE não está definido como padrão, isto pode quebrar alguns jogos. - + VU0 Round Mode is not set to default, this may break some games. O Modo de Arredondamento da VU0 não está definido como padrão, isto pode quebrar alguns jogos. - + VU1 Round Mode is not set to default, this may break some games. O Modo de Arredondamento da VU1 não está definido como padrão, isto pode quebrar alguns jogos. - + VU Clamp Mode is not set to default, this may break some games. O modo de fixação da VU não está definido como padrão, isto pode quebrar alguns jogos. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128 MBs de RAM estão ativados. A compatibilidade com alguns jogos pode ser afetada. - + Game Fixes are not enabled. Compatibility with some games may be affected. Os consertos dos jogos não estão ativados. A compatibilidade com alguns jogos pode ser afetada. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Os patches de compatibilidade não estão ativados. A compatibilidade com alguns jogos pode ser afetada. - + Frame rate for NTSC is not default. This may break some games. A taxa dos frames do NTSC não é a padrão. Isto pode quebrar alguns jogos. - + Frame rate for PAL is not default. This may break some games. A taxa dos frames do PAL não é a padrão. Isto pode quebrar alguns jogos. - + EE Recompiler is not enabled, this will significantly reduce performance. O recompilador da EE não está ativado. Isto reduzirá significativamente a performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. O recompilador da VU0 não está ativado. Isto reduzirá significativamente a performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. O recompilador da VU1 não está ativado. Isto reduzirá significativamente a performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. O recompilador do IOP não está ativado. Isto reduzirá significativamente a performance. - + EE Cache is enabled, this will significantly reduce performance. O cache da EE está ativado, isto reduzirá significativamente a performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. A Detecção do Loop de Espera da EE não está ativada, isto pode reduzir a performance. - + INTC Spin Detection is not enabled, this may reduce performance. A Detecção do Giro do INTC não está ativada, isto pode reduzir a performance. - + Fastmem is not enabled, this will reduce performance. O Fastmem não está ativado, isto reduzirá a perfomance. - + Instant VU1 is disabled, this may reduce performance. A VU1 instantânea está desativada, isto pode reduzir a performance. - + mVU Flag Hack is not enabled, this may reduce performance. O Hack da Bandeira da mVU não está ativado, isto pode reduzir a performance. - + GPU Palette Conversion is enabled, this may reduce performance. A conversão da paleta da GPU está ativada, isto pode reduzir a performance. - + Texture Preloading is not Full, this may reduce performance. O pré-carregamento das texturas não está completo, isto pode reduzir a performance. - + Estimate texture region is enabled, this may reduce performance. A estimativa da região das texturas está ativada, isto pode reduzir a performance. - + Texture dumping is enabled, this will continually dump textures to disk. A dumpagem das texturas está ativada, isto dumpará continuamente as texturas no disco. diff --git a/pcsx2-qt/Translations/pcsx2-qt_pt-PT.ts b/pcsx2-qt/Translations/pcsx2-qt_pt-PT.ts index cf3c2099b0797..e48d51212fc48 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_pt-PT.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_pt-PT.ts @@ -732,310 +732,321 @@ Posição de classificação: {1} de {2} Usar Definição Global [%1] - + Rounding Mode Modo de Arredondamento - - - + + + Chop/Zero (Default) Corte / Zero (Padrão) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Altera a forma como o PCSX2 lida com o arredondamento enquando emula a Unidade de Ponto Flutuante Emotion Engine (EE FPU). Como os vários FPUs na PS2 não são conformes com padrões internacionais, alguns jogos podem precisar de modos diferentes para fazer os cálculos corretamente. O valor padrão serve uma grande maioria dos jogos; <b>modificar esta configuração quando um jogo não tem problemas visíveis pode causar instabilidades.</b> - + Division Rounding Mode Modo de arredondamento de divisão - + Nearest (Default) Mais Próximo (Padrão) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determina como os resultados da divisão do ponto flutuante (número decimal) são arredondados. Alguns jogos precisam de configurações específicas; <b>para alterar esta configuração quando um jogo não tem um problema visível por causa instabilidade.</b> - + Clamping Mode Modo de Fixação - - - + + + Normal (Default) Normal (Padrão) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifica como o PCSX2 manipula valores do tipo flutuante (número decimal) no alcance da arquitetura x86. É posto o valor padrão na maioria dos jogos; <b>modificando esta definição enquanto um jogo não tem problemas visíveis proporciona instabilidade.</b> - - + + Enable Recompiler Ativar Recompilador - + - - - + + + - + - - - - + + + + + Checked Verificado - + + Use Save State Selector + Usar seletor de Estado Salvo + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Mostrar uma interface de selector de estado salvo ao trocar de slots em vez de mostrar balão de notificação. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Executa tradução binária just-in-time do código de máquina MIPS-IV 64-bit para x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Deteção de Ciclos de Espera - + Moderate speedup for some games, with no known side effects. Aumento moderado da velocidade de alguns jogos, sem efeitos secundários conhecidos. - + Enable Cache (Slow) Ativar Cache (Lento) - - - - + + + + Unchecked Não verificado - + Interpreter only, provided for diagnostic. Interpretador apenas, providenciado para diagnóstico. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Deteção de Inatividade do INTC - + Huge speedup for some games, with almost no compatibility side effects. Aumento significativo da velocidade de alguns jogos, com quase nenhum efeito secundário de compatibilidade. - + Enable Fast Memory Access Ativar Acesso Rápido de Memória - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Usa backpatching para evitar apagar o registo com cada acesso à memória. - + Pause On TLB Miss Pausar quando o TLB falhar - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pausa a máquina virtual quando uma falha de TLB ocorrer, em vez de ignorá-la e continuar. Note que a máquina virtual irá pausar após o fim do bloco, não na instrução que causou a exceção. Consulte a consola para ver o endereço onde o acesso inválido ocorreu. - + Enable 128MB RAM (Dev Console) Habilita 128MB de RAM (Consola de Programador) - + Exposes an additional 96MB of memory to the virtual machine. Expõe mais 96MB de memória para a máquina virtual. - + VU0 Rounding Mode Modo de Arredondamento do VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Modifica como o PCSX2 arredonda valores enquanto emula a Unidade de Vetor 0 da Emotion Engine' (EE VU0). É posto o valor padrão na maioria dos jogos; <b>modificando esta definição enquanto um jogo não tem problemas visíveis proporciona instabilidade.</b> - + VU1 Rounding Mode Modo de Arredondamento do VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Modifica como o PCSX2 arredonda valores enquanto emula a Unidade de Vetor 1 da Emotion Engine' (EE VU1). É posto o valor padrão na maioria dos jogos; <b>modificando esta definição enquanto um jogo não tem problemas visíveis proporciona instabilidade.</b> - + VU0 Clamping Mode Modo de Fixação do VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifica como o PCSX2 memoriza valores do tipo flutuante (número decimal) na Unidade de Vetor 0 da Emotion Engine' (EE VU0). É posto o valor padrão na maioria dos jogos; <b>modificando esta definição enquanto um jogo não tem problemas visíveis proporciona instabilidade.</b> - + VU1 Clamping Mode Modo de Fixação do VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifica como o PCSX2 memoriza valores do tipo flutuante (número decimal) na Unidade de Vetor 1 da Emotion Engine' (EE VU1). É posto o valor padrão na maioria dos jogos; <b>modificando esta definição enquanto um jogo não tem problemas visíveis proporciona instabilidade.</b> - + Enable Instant VU1 Ativa VU1 Instantâneo - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Executa o VU1 instantaneamente. Fornece uma modesta melhoria na maioria dos jogos. Oferece melhor estabilidade para a maioria dos jogos, mas alguns jogos podem exibir erros gráficos. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Ativar Recompilador de VU0 (Modo Micro) - + Enables VU0 Recompiler. Ativa o Recompilador de VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Ativar Recompilador de VU1 - + Enables VU1 Recompiler. Ativa o Recompilador de VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Hack do Indicador de mVU - + Good speedup and high compatibility, may cause graphical errors. Bom aumento de velocidade e alta compatibilidade. Pode causar erros gráficos. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Executa tradução binária just-in-time do código de máquina MIPS-I 32-bit para x86. - + Enable Game Fixes Ativar Correções de Jogos - + Automatically loads and applies fixes to known problematic games on game start. Carrega e aplica automaticamente correções para jogos problemáticos conhecidos no início do jogo. - + Enable Compatibility Patches Ativar Correções de Compatibilidade - + Automatically loads and applies compatibility patches to known problematic games. Carrega e aplica automaticamente correções de compatibilidade para jogos problemáticos conhecidos. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium - Medium + Meio - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown - Save State On Shutdown + Guardar Estado Ao Desligar - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + Guarda o estado do emulador automaticamente ao desligar ou sair. Pode depois retomar exatamente de onde ficou na próxima vez. - + Create Save State Backups - Create Save State Backups + Criar cópia de segurança dos Estados Guardados - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. - Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. + Cria uma cópia da cópia de segurança de uma estado guardado se este já existir quando estado é guardado. A cópia tem o sufixo .backup. @@ -1255,51 +1266,51 @@ Posição de classificação: {1} de {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Controlo da Taxa de Videogramas - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. Hz - + PAL Frame Rate: Taxa de Videogramas PAL: - + NTSC Frame Rate: Taxa de Videogramas NTSC: Savestate Settings - Savestate Settings + Definições dos Estados Salvos Compression Level: - Compression Level: + Nível de compressão: - + Compression Method: - Compression Method: + Método de compressão: Uncompressed - Uncompressed + Descomprimido @@ -1314,40 +1325,45 @@ Posição de classificação: {1} de {2} LZMA2 - LZMA2 + LZMA2 Low (Fast) - Low (Fast) + Baixa (Rápida) Medium (Recommended) - Medium (Recommended) + Médio (Recomendado) High - High + Alto Very High (Slow, Not Recommended) - Very High (Slow, Not Recommended) + Muito Alto (Lento, Não Recomendado) + + + + Use Save State Selector + Usar seletor de Estado Salvo - + PINE Settings Definições do PINE - + Slot: Ranhura: - + Enable Ativar @@ -1357,7 +1373,7 @@ Posição de classificação: {1} de {2} Analysis Options - Analysis Options + Opções de análise @@ -1372,12 +1388,12 @@ Posição de classificação: {1} de {2} Analyze - Analyze + Analisar Close - Close + Fechar @@ -1868,8 +1884,8 @@ Posição de classificação: {1} de {2} AutoUpdaterDialog - - + + Automatic Updater Atualizador Automático @@ -1909,68 +1925,68 @@ Posição de classificação: {1} de {2} Lembrar-me mais tarde - - + + Updater Error Erro de Atualizador - + <h2>Changes:</h2> <h2>Alterações:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Aviso de Save State</h2><p>Instalar esta atualização irá fazer com que os seus save states sejam <b>incompatíveis</b>. Certifique-se de que gravou os seus jogos num Memory Card, antes de instalar esta atualização, ou irá perder o seu progresso.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Aviso de Definições</h2><p>Instalar esta atualização irá repor a sua configuração do programa. Note que terá que reconfigurar as suas definições após esta atualização.</p> - + Savestate Warning Aviso de Savestate - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>AVISO</h1><p style='font-size:12pt;'>Instalar esta atualização irá fazer com que os seus save states sejam <b>incompatíveis</b>, <i>certifique-se de que grava qualquer progresso nos seus Memory Cards antes de proceder</i>.</p><p>Deseja continuar?</p> - + Downloading %1... A transferir %1... - + No updates are currently available. Please try again later. Nenhuma atualização disponível. Por favor, tente mais tarde. - + Current Version: %1 (%2) Versão Atual: %1 (%2) - + New Version: %1 (%2) Nova Versão: %1 (%2) - + Download Size: %1 MB Tamanho do Download: %1 MB - + Loading... A carregar... - + Failed to remove updater exe after update. Falha ao remover updater exe após a atualização. @@ -2134,19 +2150,19 @@ Posição de classificação: {1} de {2} Ativar - - + + Invalid Address Endereço Inválido - - + + Invalid Condition Condição inválida - + Invalid Size Tamanho inválido @@ -2236,17 +2252,17 @@ Posição de classificação: {1} de {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. A localização do disco do jogo está num disco removível, problemas de desempenho como jittering e congelamento podem ocorrer. - + Saving CDVD block dump to '{}'. A salvar arquivo de bloco CDVD em '{}'. - + Precaching CDVD Pré-cache CDVD @@ -2271,7 +2287,7 @@ Posição de classificação: {1} de {2} Desconhecido - + Precaching is not supported for discs. Precaching não é suportado em discos. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Eliminar Perfil - + Mapping Settings Configurações de mapeamento - - + + Restore Defaults Restaurar Predefinições - - - + + + Create Input Profile Criar perfil de entrada - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Para aplicar um perfil de entrada personalizado a um jogo, aceda às respectivas Introduza o nome para o novo perfil de entrada: - - - - + + + + + + Error Erro - + + A profile with the name '%1' already exists. Um perfil de mesmo nome '%1' já existe. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Quer copiar todas os binds do perfil atualmente selecionado para o novo perfil? Selecionar "Não" irá criar um perfil completamente vazio. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Deseja copiar as ligações das teclas atalhos atuais das configurações globais para o novo perfil de entrada? - + Failed to save the new profile to '%1'. Falha ao salvar o novo perfil em '%1'. - + Load Input Profile Carregar Perfil de Entrada - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Todos os binds globais atuais serão removidos e o perfil será carregado. Não poderá desfazer esta ação. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Apagar Perfil de Entrada - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. Não é possível desfazer esta ação. - + Failed to delete '%1'. Falha ao excluir '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Todas as configurações e bindings(ligações) partilhadas serão perdidas mas Você não pode desfazer esta ação. - + Global Settings Configurações Globais - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,33 +3392,33 @@ Você não pode desfazer esta ação. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. Porta do Controle %1 %2 - - + + USB Port %1 %2 Porta USB %1 %2 - + Hotkeys Teclas de atalho - + Shared "Shared" refers here to the shared input profile. Compartilhado - + The input profile named '%1' cannot be found. O perfil de input(entrada) '%1' não foi encontrado. @@ -3955,7 +3994,7 @@ Deseja substituí-la? Clear Existing Symbols - Clear Existing Symbols + Limpar símbolos existentes @@ -4003,63 +4042,63 @@ Deseja substituí-la? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4130,17 +4169,32 @@ Deseja substituí-la? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4792,53 +4846,53 @@ Deseja substituí-la? Depurador PCSX2 - + Run Executar - + Step Into Entrar - + F11 F11 - + Step Over Passar por Cima - + F10 F10 - + Step Out Sair - + Shift+F11 Shift + F11 - + Always On Top Sempre visível - + Show this window on top Mostrar esta janela no topo - + Analyze Analyze @@ -4856,48 +4910,48 @@ Deseja substituí-la? Desmontagem - + Copy Address Copiar endereço - + Copy Instruction Hex Copiar instrução Hex - + NOP Instruction(s) Instruções NOP - + Run to Cursor Executar pelo Cursor - + Follow Branch Seguir Branch - + Go to in Memory View Ir para a Visualização de Memória - + Add Function Adicionar Função - - + + Rename Function Renomear Função - + Remove Function Remover função @@ -4918,23 +4972,23 @@ Deseja substituí-la? Instrução de Montagem - + Function name Nome da função - - + + Rename Function Error Erro ao Renomear Função - + Function name cannot be nothing. O nome da função não pode ser vazia. - + No function / symbol is currently selected. Nenhuma função / símbolo atualmente selecionados. @@ -4944,72 +4998,72 @@ Deseja substituí-la? Ir Para no Disassembly - + Cannot Go To Não é possível ir para - + Restore Function Error Restaurar erro de Função - + Unable to stub selected address. Incapaz de fazer o stub do endereço selecionado. - + &Copy Instruction Text &Copiar Texto de Instrução - + Copy Function Name Copiar nome da função - + Restore Instruction(s) Restaurar Instrução(ões) - + Asse&mble new Instruction(s) Agru&par nova(s) Instrução(ções) - + &Jump to Cursor &Pular para o Cursor - + Toggle &Breakpoint Alternar &Breakpoint - + &Go to Address &Ir para Endereço - + Restore Function Restaurar Função - + Stub (NOP) Function Função Stub (NOP) - + Show &Opcode Mostrar &Opcode (Código de Operação) - + %1 NOT VALID ADDRESS %1 ENDEREÇO NÃO VÁLIDO @@ -5036,86 +5090,86 @@ Deseja substituí-la? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Ranhura: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Nenhuma Imagem - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Velocidade: %1% - + Game: %1 (%2) Jogo: %1 (%2) - + Rich presence inactive or unsupported. A rich presence do discord não se encontra ativa ou não é suportada. - + Game not loaded or no RetroAchievements available. Jogo não carregado ou sem RetroAchievements disponíveis. - - - - + + + + Error Erro - + Failed to create HTTPDownloader. Falha ao criar HTTPDownloader. - + Downloading %1... A transferir %1... - + Download failed with HTTP status code %1. O download falhou, sendo o código de status HTTP %1. - + Download failed: Data is empty. O download falhou: os dados estão vazios. - + Failed to write '%1'. Falha ao gravar '%1'. @@ -5489,81 +5543,76 @@ Deseja substituí-la? ExpressionParser - + Invalid memory access size %d. Tamanho %d de acesso de memória inválido. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token longo demais. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Divisão por zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Expressão inválida. - FileOperations @@ -5697,342 +5746,342 @@ O URL era: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Não foi possível encontrar nenhum dispositivo de CD/DVD-ROM. Por favor certifique-se de que tem uma drive conectada e permissões suficientes para acessá-la. - + Use Global Setting Usar Definição Global - + Automatic binding failed, no devices are available. Falha na vinculação automática, não há dispositivos disponíveis. - + Game title copied to clipboard. Título do jogo copiado para área de transferência. - + Game serial copied to clipboard. Serial de jogo copiado para área de transferência. - + Game CRC copied to clipboard. CRC do jogo copiado para área de transferência. - + Game type copied to clipboard. Tipo de jogo copiado para área de transferência. - + Game region copied to clipboard. Região de jogo copiada para área de transferência. - + Game compatibility copied to clipboard. Compatibilidade do jogo copiada para área de transferência. - + Game path copied to clipboard. Caminho do jogo copiado para área de transferência. - + Controller settings reset to default. Configurações do controlador redefinidas para o padrão. - + No input profiles available. Nenhum perfil de entrada disponível. - + Create New... Criar novo... - + Enter the name of the input profile you wish to create. Digite o nome do perfil de entrada que deseja criar. - + Are you sure you want to restore the default settings? Any preferences will be lost. Tem certeza de que deseja restaurar as configurações padrão? Quaisquer preferências serão perdidas. - + Settings reset to defaults. Configurações redefinidas para o padrão. - + No save present in this slot. Não existem saves guardados neste slot. - + No save states found. Não foram encontrados estados guardados. - + Failed to delete save state. Falha ao apagar estado guardado. - + Failed to copy text to clipboard. Falha ao copiar texto para a área de transferência. - + This game has no achievements. Este jogo não tem conquistas. - + This game has no leaderboards. Este jogo não tem tabela de classificações. - + Reset System Reiniciar Sistema - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? O modo de Hardcore não será ativo até que o sistema seja reiniciado. Deseja reiniciar o sistema agora? - + Launch a game from images scanned from your game directories. Iniciar um jogo a partir de imagens contidas no seu diretório de jogos. - + Launch a game by selecting a file/disc image. Inicia um jogo selecionando um ficheiro ou um disco. - + Start the console without any disc inserted. Inicia a consola sem nenhum disco inserido. - + Start a game from a disc in your PC's DVD drive. Inicie um jogo a partir de um disco no leitor DVD do seu PC. - + No Binding Sem Vínculo - + Setting %s binding %s. Configurando %s vinculando %s. - + Push a controller button or axis now. Pressione agora um botão de controlo ou eixo. - + Timing out in %.0f seconds... Tempo limite em %.0f segundos... - + Unknown Desconhecido - + OK Aceitar - + Select Device Selecionar dispositivo - + Details Detalhes - + Options Opções - + Copies the current global settings to this game. Copia as definições globais atuais para este jogo. - + Clears all settings set for this game. Limpa todas as definições definidas para este jogo. - + Behaviour Comportamento - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Impede que o protetor de ecrã se ative e o anfitrião de dormir enquanto a emulação estiver a decorrer. - + Shows the game you are currently playing as part of your profile on Discord. Mostra o jogo que está a jogar como parte do seu perfil no Discord. - + Pauses the emulator when a game is started. Pausa o emulador quando um jogo é iniciado. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pausa o emulador quando minimiza a janela ou troca para outro programa, e cancela quando volta. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pausa o emulador quando você abre o menu rápido e ao fechá-lo retoma a emulação. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determina se um alerta será exibido pra confirmar o desligamento do emulador/jogo quando a tecla de atalho é pressionada. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Salva automaticamente o estado do emulador quando desligar ou sair. Dessa forma, consegue resumir diretamente de onde ficou numa próxima vez. - + Uses a light coloured theme instead of the default dark theme. Utiliza um tema claro em vez do tema escuro predefinido. - + Game Display Exibição do Jogo - + Switches between full screen and windowed when the window is double-clicked. Alterna entre ecrã inteiro e janela quando é clicado duas vezes sobre a janela. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Oculta o ponteiro/cursor do rato quando o emulador está no modo de ecrã inteiro. - + Determines how large the on-screen messages and monitor are. Define o quão grandes são as mensagens e o monitor no ecrã. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Mostra mensagens de exibição na tela quando ocorrem eventos tais como save states sendo criados/carregados, screenshots sendo feitas, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Exibe a velocidade atual de emulação do sistema em percentagem no canto superior direito do ecrã. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Mostra o número de frames do vídeo (ou v-syncs) exibidos por segundo pelo sistema no canto superior direito da tela. - + Shows the CPU usage based on threads in the top-right corner of the display. Mostra o uso da CPU baseado nos threads no canto superior direito da tela. - + Shows the host's GPU usage in the top-right corner of the display. Mostra o uso da GPU do hospedeiro no canto superior direito da tela. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Mostra as estatísticas sobre o GS (primitivos, chamadas de desenho) no canto superior direito da tela. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Mostra indicadores quando o avanço rápido, pausa e outros estados anormais estão ativos. - + Shows the current configuration in the bottom-right corner of the display. Mostra a configuração atual no canto inferior direito da tela. - + Shows the current controller state of the system in the bottom-left corner of the display. Mostra o estado atual do controle do sistema no canto inferior esquerdo da tela. - + Displays warnings when settings are enabled which may break games. Exibe avisos quando as configurações ativadas podem quebrar os jogos. - + Resets configuration to defaults (excluding controller settings). Redefine a configuração para os padrões (excluindo configurações dos controles). - + Changes the BIOS image used to start future sessions. Altera a imagem BIOS utilizada para iniciar sessões futuras. - + Automatic Automático - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Padrão - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6041,1977 +6090,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Troca automaticamente para o modo de tela cheia quando um jogo é iniciado. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Mostra a resolução do jogo no canto superior direito do ecrã. - + BIOS Configuration Configuração da BIOS - + BIOS Selection Seleção da BIOS - + Options and Patches Opções e Correções - + Skips the intro screen, and bypasses region checks. Ignora o ecrã inicial e ignora verificações da região. - + Speed Control Controlo de Velocidade - + Normal Speed Velocidade Normal - + Sets the speed when running without fast forwarding. Define a velocidade quando executar sem avanço rápido. - + Fast Forward Speed Velocidade do avanço rápido - + Sets the speed when using the fast forward hotkey. Define a velocidade quando usar a tecla de atalho do avanço rápido. - + Slow Motion Speed Velocidade da câmara lenta - + Sets the speed when using the slow motion hotkey. Define a velocidade quando usar a tecla de atalho da câmera lenta. - + System Settings Definições do Sistema - + EE Cycle Rate Taxa de Ciclos da EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Faz underclock ou overclock da CPU da Emotion Engine emulada. - + EE Cycle Skipping Pulo de Ciclos da EE - + Enable MTVU (Multi-Threaded VU1) Ativar MTVU (VU1 Multi-threaded) - + Enable Instant VU1 Ativar a VU1 Instantânea - + Enable Cheats Ativar Trapaças - + Enables loading cheats from pnach files. Ativa o carregamento de trapaças de arquivos pnach. - + Enable Host Filesystem Ativar o Sistema de Arquivos do Hospedeiro - + Enables access to files from the host: namespace in the virtual machine. Ativa o acesso aos arquivos do hospedeiro: espaço do nome na máquina virtual. - + Enable Fast CDVD Ativar CDVD Rápido - + Fast disc access, less loading times. Not recommended. Acesso rápido ao disco, menos tempo de carregamento. Não recomendado. - + Frame Pacing/Latency Control Ritmo dos Frames/Controle da Latência - + Maximum Frame Latency Latência Máxima dos Frames - + Sets the number of frames which can be queued. Define o número de frames os quais podem ser enfileirados. - + Optimal Frame Pacing Ritmo Otimizado dos Frames - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Sincroniza as threads da EE e GS após cada frame. Tem menor latência, mas aumenta os requerimentos do sistema. - + Speeds up emulation so that the guest refresh rate matches the host. Acelera a emulação para que a taxa de atualização do convidado combine com a do hospedeiro. - + Renderer Renderizador - + Selects the API used to render the emulated GS. Seleciona a API usada pra renderizar o GS emulado. - + Synchronizes frame presentation with host refresh. Sincroniza a apresentação dos frames com a atualização do hospedeiro. - + Display Ecrã - + Aspect Ratio Proporção do Ecrã - + Selects the aspect ratio to display the game content at. Seleciona a proporção do aspecto para exibir o conteúdo do jogo. - + FMV Aspect Ratio Override Substituir a Proporção do Aspecto do FMV - + Selects the aspect ratio for display when a FMV is detected as playing. Seleciona a proporção de aspecto da tela quando é detectado um FMV em execução. - + Deinterlacing Desentrelaçamento - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Seleciona o algoritmo usado para converter a saída interlaçada da PS2 em progressiva para exibição. - + Screenshot Size Tamanho da Captura de Ecrã - + Determines the resolution at which screenshots will be saved. Determina a resolução em que capturas de ecrã serão guardadas. - + Screenshot Format Formato da Captura de Ecrã - + Selects the format which will be used to save screenshots. Seleciona o formato que será usado para guardar as capturas de ecrã. - + Screenshot Quality Qualidade da captura de ecrã - + Selects the quality at which screenshots will be compressed. Seleciona a qualidade de compressão das capturas de ecrã. - + Vertical Stretch Esticamento Vertical - + Increases or decreases the virtual picture size vertically. Aumenta ou diminui o tamanho da imagem virtual verticalmente. - + Crop Cortar - + Crops the image, while respecting aspect ratio. Corta a imagem, respeitando a proporção do aspecto. - + %dpx %d px - - Enable Widescreen Patches - Ativar Patches de Widescreen - - - - Enables loading widescreen patches from pnach files. - Ativa o carregamento de patches widescreen de arquivos pnach. - - - - Enable No-Interlacing Patches - Ativar Patches Sem Entrelaçamento - - - - Enables loading no-interlacing patches from pnach files. - Ativa o carregamento de patches sem entrelaçamento de arquivos pnach. - - - + Bilinear Upscaling Ampliação Bilinear - + Smooths out the image when upscaling the console to the screen. Suaviza a imagem ao ampliar o console para a tela. - + Integer Upscaling Ampliação Integer - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adiciona preenchimento à área de exibição para garantir que a proporção entre pixels no hospedeiro e no console seja um número inteiro. Pode resultar em uma imagem mais nítida para alguns jogos 2D. - + Screen Offsets Deslocamentos de Tela - + Enables PCRTC Offsets which position the screen as the game requests. Ativa os Deslocamentos do PCRTC aos quais posicionam a tela conforme requerimentos do jogo. - + Show Overscan Mostrar Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Ativa a opção de mostrar a área do overscan em jogos que desenham mais que a área segura da tela. - + Anti-Blur Anti Desfoque - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Ativa hacks internos de Anti-Desfoque. Menos preciso para a renderização do PS2 porém fará com que muitos jogos pareçam menos borrados. - + Rendering Renderização - + Internal Resolution Resolução Interna - + Multiplies the render resolution by the specified factor (upscaling). Multiplica a resolução da renderização pelo fator especificado (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Filtragem Bilinear - + Selects where bilinear filtering is utilized when rendering textures. Seleciona onde a filtragem bilinear é utilizada ao renderizar as texturas. - + Trilinear Filtering Filtragem Trilinear - + Selects where trilinear filtering is utilized when rendering textures. Seleciona onde a filtragem trilinear é utilizada ao renderizar as texturas. - + Anisotropic Filtering Filtragem Anisotrópica - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Seleciona o tipo de dithering quando o jogo o requisita. - + Blending Accuracy Precisão da Mistura - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determina o nível de precisão ao emular os modos de mistura não suportados pela API gráfica do hospedeiro. - + Texture Preloading Pré-Carregamento das Texturas - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Carrega completamente as texturas para a GPU, ao invés de só regiões utilizadas. Pode melhorar o desempenho em alguns jogos. - + Software Rendering Threads Threads de Renderização de Software - + Number of threads to use in addition to the main GS thread for rasterization. Número de threads a usar em adição ao thread principal do GS pra rasterização. - + Auto Flush (Software) Autolimpeza (Software) - + Force a primitive flush when a framebuffer is also an input texture. Força uma limpeza primitiva quando um buffer de frames também é uma textura de entrada. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Ativa a emulação de anti-aliasing da borda do GS (AA1). - + Enables emulation of the GS's texture mipmapping. Ativa a emulação do mipmapping de textura do GS. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Partilhado - + Input Profile Perfil de entradas - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Mostra a versão atual do PCSX2 no canto superior direito da tela. - + Shows the currently active input recording status. Mostra o status da gravação de entrada ativa no momento. - + Shows the currently active video capture status. Mostra o status da captura de vídeo ativa no momento. - + Shows a visual history of frame times in the upper-left corner of the display. Mostra um histórico visual dos tempos dos frames no canto superior esquerdo da tela. - + Shows the current system hardware information on the OSD. Mostra as informações de hardware do sistema atual no OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Fixa as threads de emulação nos núcleos da CPU para melhorar potencialmente a variação de performance/tempo dos frames. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Correções de Hardware - + Manual Hardware Fixes Correções Manuais do Hardware - + Disables automatic hardware fixes, allowing you to set fixes manually. Desativa as correções automáticos de hardware, permitindo que você defina as correções manualmente. - + CPU Sprite Render Size Tamanho da Renderização de Sprites da CPU - + Uses software renderer to draw texture decompression-like sprites. Usa o renderizador de software para desenhar sprites semelhantes à descompressão de texturas. - + CPU Sprite Render Level Nível de Renderização das Sprites da CPU - + Determines filter level for CPU sprite render. Determina o nível do filtro para a renderização de sprites pela CPU. - + Software CLUT Render Renderizador CLUT via Software - + Uses software renderer to draw texture CLUT points/sprites. Utiliza o renderizador de software para desenhar pontos e sprites que fazem uso da textura CLUT. - + Skip Draw Start Início do Skip Draw - + Object range to skip drawing. Alcance do objeto para ignorar o desenho. - + Skip Draw End Fim do Skip Draw - + Auto Flush (Hardware) Autolimpeza (Hardware) - + CPU Framebuffer Conversion Conversão do Buffer de Frames da CPU - + Disable Depth Conversion Desativar conversão de profundidade - + Disable Safe Features Desativar Funções Seguras - + This option disables multiple safe features. Esta opção desativa múltiplas funções seguras. - + This option disables game-specific render fixes. Esta opção desativa os consertos de renderização específicos do jogo. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Faz upload dos dados do GS ao renderizar um novo frame para reproduzir alguns efeitos com precisão. - + Disable Partial Invalidation Desativar Invalidação Parcial - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Remove as entradas do cache de texturas aonde há qualquer interseção ao invés de só nas áreas interseccionadas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Permite que o cache de textura reutilize como uma textura de entrada a porção interior de um buffer do frame anterior. - + Read Targets When Closing Ler os Alvos ao Fechar - + Flushes all targets in the texture cache back to local memory when shutting down. Limpa todos os alvos no cache das texturas de volta pra memória local quando desligar. - + Estimate Texture Region Estimar Região da Textura - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Tenta reduzir o tamanho da textura quando os jogos não a definem por si. (ex: Jogos da Snowblind). - + GPU Palette Conversion Conversão de Paleta da GPU - + Upscaling Fixes Correções de Upscaling - + Adjusts vertices relative to upscaling. Ajusta os vértices relativos à ampliação. - + Native Scaling Dimensionamento Nativo - + Attempt to do rescaling at native resolution. Tenta fazer o redimensionamento na resolução nativa. - + Round Sprite Sprite Redonda - + Adjusts sprite coordinates. Ajusta as coordenadas das sprites. - + Bilinear Upscale Ampliação Bilinear - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Pode suavizar as texturas devido filtragem bilinear quando ampliadas. Ex: Brave Sun Glare. - + Adjusts target texture offsets. Ajusta os deslocamentos das texturas alvo. - + Align Sprite Alinhar Sprite - + Fixes issues with upscaling (vertical lines) in some games. Conserta problemas de ampliação (linhas verticais) em alguns jogos. - + Merge Sprite Unir Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Substitui as sprites de pós-processamento múltiplas por uma única sprite maior. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Reduz a precisão do GS pra evitar espaços entre os pixels quando ampliar. Conserta o texto em jogos como Wild Arms. - + Unscaled Palette Texture Draws Desenhos de Textura da Paleta Ampliada - + Can fix some broken effects which rely on pixel perfect precision. Pode consertar alguns efeitos quebrados os quais dependem da precisão perfeita dos pixels. - + Texture Replacement Substituição de Texturas - + Load Textures Carregar Texturas - + Loads replacement textures where available and user-provided. Carrega as texturas de substituição aonde são disponíveis e fornecidas pelo usuário. - + Asynchronous Texture Loading Carregamento das Texturas Assíncronas - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Carrega as texturas de substituição para uma thread ativa reduzindo micro travamentos quando as substituições estão ativadas. - + Precache Replacements Substituições de Pré-Cache - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Pré-carrega todas as texturas de substituição na memória. Não é necessário com o carregamento assíncrono. - + Replacements Directory Diretório das Substituições - + Folders Pastas - + Texture Dumping Despejo de Texturas - + Dump Textures Despejar Texturas - + Dump Mipmaps Despejar Mipmaps - + Includes mipmaps when dumping textures. Inclui os mipmaps ao despejar as texturas. - + Dump FMV Textures Despejar Texturas do FMV - + Allows texture dumping when FMVs are active. You should not enable this. Permite o despejo das texturas quando os FMVs estão ativos. Você não deve ativar isto. - + Post-Processing Pós-processamento - + FXAA FXAA - + Enables FXAA post-processing shader. Ativa o shader do pós-processamento FXAA. - + Contrast Adaptive Sharpening Nitidez Adaptável de Contraste - + Enables FidelityFX Contrast Adaptive Sharpening. Ativa a Nitidez Adaptável de Contraste do FidelityFX. - + CAS Sharpness Nitidez CAS - + Determines the intensity the sharpening effect in CAS post-processing. Determina a intensidade do efeito de nitidez no pós-processamento do CAS. - + Filters Filtros - + Shade Boost Aumentar o Shade - + Enables brightness/contrast/saturation adjustment. Ativa o ajuste do brilho/contraste/saturação. - + Shade Boost Brightness Aumentar o Brilho do Shade - + Adjusts brightness. 50 is normal. Ajusta o brilho. 50 é normal. - + Shade Boost Contrast Aumentar o Contraste do Shade - + Adjusts contrast. 50 is normal. Ajusta o contraste. 50 é normal. - + Shade Boost Saturation Aumentar a Saturação do Shade - + Adjusts saturation. 50 is normal. Ajusta a saturação. 50 é normal. - + TV Shaders Shaders de TV - + Advanced Avançado - + Skip Presenting Duplicate Frames Ignorar a Apresentação dos Frames Duplicados - + Extended Upscaling Multipliers Multiplicadores Estendidos de Ampliação - + Displays additional, very high upscaling multipliers dependent on GPU capability. Exibe multiplicadores de ampliação adicionais muito altos dependentes da capacidade da GPU. - + Hardware Download Mode Modo de Download do Hardware - + Changes synchronization behavior for GS downloads. Muda o comportamento de sincronização para downloads do GS. - + Allow Exclusive Fullscreen Permitir Tela Cheia Exclusiva - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Substitui as heurísticas de driver ao ativar tela cheia exclusiva ou inversão/varredura direta. - + Override Texture Barriers Substituir Barreiras de Texturas - + Forces texture barrier functionality to the specified value. Força a funcionalidade da barreira de texturas para um valor especificado. - + GS Dump Compression Compressão do Dump do GS - + Sets the compression algorithm for GS dumps. Define o algoritmo de compressão para os dumps do GS. - + Disable Framebuffer Fetch Desativar a Busca do Buffer de Frames - + Prevents the usage of framebuffer fetch when supported by host GPU. Impede o uso da busca do buffer de frames quando suportado pela GPU do hospedeiro. - + Disable Shader Cache Desativar a Cache do Shader - + Prevents the loading and saving of shaders/pipelines to disk. Impede o carregamento e salvamento de shaders/pipelines no disco. - + Disable Vertex Shader Expand Desativar a Expansão de Shader do Vértice - + Falls back to the CPU for expanding sprites/lines. Retorna para a CPU ao expandir sprites/linhas. - + Changes when SPU samples are generated relative to system emulation. Muda quando as amostras da SPU são geradas relativo à emulação do sistema. - + %d ms %d ms - + Settings and Operations Definições e Operações - + Creates a new memory card file or folder. Cria um novo arquivo ou pasta do cartão de memória. - + Simulates a larger memory card by filtering saves only to the current game. Simula um cartão de memória maior filtrando os saves só no jogo atual. - + If not set, this card will be considered unplugged. Se não definido, este cartão será considerado como não conectado. - + The selected memory card image will be used for this slot. A imagem do cartão de memória selecionada será usada para este compartimento. - + Enable/Disable the Player LED on DualSense controllers. Ativar/desativar o LED do Jogador nos controladores DualSense. - + Trigger Acionar - + Toggles the macro when the button is pressed, instead of held. Alterna o macro quando o botão é pressionado ao invés de segurado. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Versão: %s - + {:%H:%M} {:%H:%M} - + Slot {} Ranhura {} - + 1.25x Native (~450px) 1.25x Nativo (~450px) - + 1.5x Native (~540px) 1.5x Nativo (~540px) - + 1.75x Native (~630px) 1.75x Nativo (~630px) - + 2x Native (~720px/HD) 2x Nativo (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Nativo (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Nativo (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Nativo (~1260px) - + 4x Native (~1440px/QHD) 4x Nativo (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Nativo (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Nativo (~2160px/4K UHD) - + 7x Native (~2520px) 7x Nativo (~2520px) - + 8x Native (~2880px/5K UHD) 8x Nativo (~2880px/5K UHD) - + 9x Native (~3240px) 9x Nativo (~3240px) - + 10x Native (~3600px/6K UHD) 10x Nativo (~3600px/6K UHD) - + 11x Native (~3960px) 11x Nativo (~3960px) - + 12x Native (~4320px/8K UHD) 12x Nativo (~4320px/8K UHD) - + WebP WebP - + Aggressive Agressivo - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Alterar seleção - + Select Select - + Parent Directory Pasta superior - + Enter Value Introduzir valor - + About Sobre - + Toggle Fullscreen Alternar Ecrã Inteiro - + Navigate Navegar - + Load Global State Carregar Estado Global - + Change Page Mudar Página - + Return To Game Voltar ao jogo - + Select State Selecionar estado - + Select Game Escolher jogo - + Change View Mudar Vista - + Launch Options Opções de Lançamento - + Create Save State Backups Criar Backups de Save States - + Show PCSX2 Version Mostrar a Versão do PCSX2 - + Show Input Recording Status Mostrar o Status da Gravação de Entrada - + Show Video Capture Status Mostrar o Status da Captura de Vídeo - + Show Frame Times Mostrar o Tempo dos Frames - + Show Hardware Info Mostrar as Informações do Hardware - + Create Memory Card Criar Cartão de Memória - + Configuration Configuração - + Start Game Iniciar jogo - + Launch a game from a file, disc, or starts the console without any disc inserted. Executa um jogo a partir de um ficheiro, disco ou inicia a consola sem qualquer disco inserido. - + Changes settings for the application. Altera as definições da aplicação. - + Return to desktop mode, or exit the application. Regressa ao modo de ambiente de trabalho / Sai da aplicação. - + Back Retroceder - + Return to the previous menu. Regressar ao menu anterior. - + Exit PCSX2 Fechar PCSX2 - + Completely exits the application, returning you to your desktop. Encerra a aplicação e regressa ao ambiente de trabalho. - + Desktop Mode Modo Desktop - + Exits Big Picture mode, returning to the desktop interface. Sai do modo Big Picture retornando para a interface da área de trabalho. - + Resets all configuration to defaults (including bindings). Redefine todas as configurações para o padrão (incluindo associações). - + Replaces these settings with a previously saved input profile. Substitui estas configurações com um perfil de entrada salvo anteriormente. - + Stores the current settings to an input profile. Armazena as configurações atuais em um perfil de entrada. - + Input Sources Fontes de Entrada - + The SDL input source supports most controllers. A fonte de entrada SDL suporta a maioria dos controles. - + Provides vibration and LED control support over Bluetooth. Fornece vibração e suporte a LED do controle por Bluetooth. - + Allow SDL to use raw access to input devices. Permite ao SDL usar o acesso bruto nos dispositivos de entrada. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. A fonte XInput fornece suporte para controles do XBox 360/XBox One/XBox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Ativa compartimentos adicionais para três controles. Não é compatível com todos os jogos. - + Attempts to map the selected port to a chosen controller. Tenta mapear a porta selecionada a um controle escolhido. - + Determines how much pressure is simulated when macro is active. Determina quanta pressão é simulada quando o macro está ativo. - + Determines the pressure required to activate the macro. Determina a pressão requerida para ativar o macro. - + Toggle every %d frames Alternar a cada %d frames - + Clears all bindings for this USB controller. Limpar todas as associações com este controle USB. - + Data Save Locations Localização dos dados de Save - + Show Advanced Settings Mostrar Configurações Avançadas - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Mudar estas opções pode fazer com que jogos se tornem não funcionais. Modifique por sua conta e risco, o time do PCSX2 não fornecerá suporte para configurações com estas funções alteradas. - + Logging Registos - + System Console Consola do Sistema - + Writes log messages to the system console (console window/standard output). Grava mensagens de registro no console do sistema (janela do console/saída padrão). - + File Logging Registro dos Arquivos - + Writes log messages to emulog.txt. Grava as mensagens do registro em emulog.txt. - + Verbose Logging Registro Detalhado - + Writes dev log messages to log sinks. Grava as mensagens de log do desenvolvedor nos destinos de log. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console Consola EE - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console Consola IOP - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Modo de Arredondamento - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Modo Clamping - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Gráficos - + Use Debug Device Use Debug Device - + Settings Definições - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Códigos de Batota - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Correção de Jogos - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8020,2071 +8074,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Região: - + Compatibility: Compatibilidade: - + No Game Selected Nenhum Jogo Selecionado - + Search Directories Pesquisa de diretórios - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories A verificar por sub-diretórios - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings Definições de Listas - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Definições de Capa - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operações - + Selects where anisotropic filtering is utilized when rendering textures. Seleciona onde o filtro anisotrópico é utilizado quando renderiza texturas. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Usar método alternativo para calcular FPS interno para evitar leituras falsas em alguns jogos. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Transferir Capas - + About PCSX2 Sobre o PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 e PS2 são marcas registadas da Sony Interactive Entertainment. Esta aplicação não está de qualquer forma associada com a Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Erro - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Sincronia Vertical (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Tamanho do Buffer - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Latência de Saída - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Conta - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Jogo Atual - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Atual) - + {} (Folder) {} (Pasta) - + Failed to load '{}'. Falha ao carregar '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} Esta Sessão: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} Ficheiro: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Tempo de Jogo: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Esquerda: - + Top: Topo: - + Right: Direita: - + Bottom: Fundo: - + Summary Resumo - + Interface Settings Configurações de interface - + BIOS Settings Configurações de BIOS - + Emulation Settings Definições de Emulação - + Graphics Settings Configurações de gráficos - + Audio Settings Configurações de audio - + Memory Card Settings Definições do Cartão de Memória - + Controller Settings Definições do Comando - + Hotkey Settings Definições de Atalhos - + Achievements Settings Definições de Conquistas - + Folder Settings Configurações de pastas - + Advanced Settings Definições Avançadas - + Patches Patches - + Cheats Batotas - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% de Velocidade - + 60% Speed 60% de Velocidade - + 75% Speed 75% de Velocidade - + 100% Speed (Default) 100% de Velocidade (Padrão) - + 130% Speed 130% de Velocidade - + 180% Speed 180% de Velocidade - + 300% Speed 300% de Velocidade - + Normal (Default) Normal (Padrão) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Desativado - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None Nenhum - + Extra + Preserve Sign Extra + Preserve Sign - + Full Completo - + Extra Extra - + Automatic (Default) Automático (Padrão) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Programa - + Null Nulo - + Off Desligado - + Bilinear (Smooth) Bilinear (Suave) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Nativo (PS2) - + Nearest O mais próximo - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Desligado (Nenhum) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (forçado) - + Scaled Escalado - + Unscaled (Default) Não Escalado (Padrão) - + Minimum Mínimo - + Basic (Recommended) Básico (Recomendado) - + Medium Médio - + High Alto - + Full (Slow) Completo (Lento) - + Maximum (Very Slow) Máximo (Muito Lento) - + Off (Default) Desligado (Padrão) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Parcial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Resolução do ecrã - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy AVISO: O Cartão de Memória está ocupado - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Modo de Espetador - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Forçar 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Desativado) - + 1 (64 Max Width) 1 (64 Largura Máxima) - + 2 (128 Max Width) 2 (128 Largura Máxima) - + 3 (192 Max Width) 3 (192 Largura Máxima) - + 4 (256 Max Width) 4 (256 Largura Máxima) - + 5 (320 Max Width) 5 (320 Largura Máxima) - + 6 (384 Max Width) 6 (384 Largura Máxima) - + 7 (448 Max Width) 7 (448 Largura Máxima) - + 8 (512 Max Width) 8 (512 Largura Máxima) - + 9 (576 Max Width) 9 (576 Largura Máxima) - + 10 (640 Max Width) 10 (640 Largura Máxima) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Metade - + Force Bilinear Forçar Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) Nenhum (Padrão) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negativo - + Positive Positivo - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Lista de Jogos - + Game List Settings Definições da Lista de Jogos - + Type Tipo - + Serial Serial - + Title Título - + File Title Nome do Ficheiro - + CRC CRC - + Time Played Tempo de Jogo - + Last Played Última Vez Jogado - + Size Tamanho - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Iniciar Ficheiro - + Start BIOS Iniciar BIOS - + Start Disc Iniciar Disco - + Exit Sair - + Set Input Binding Set Input Binding - + Region Região - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copiar definições - + Clear Settings Limpar Definições - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pausar ao Iniciar - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pausar no Menu - + Confirm Shutdown Confimar Encerramento - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Usar tema claro - + Start Fullscreen Iniciar Ecrã completo - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Mostrar mensagens - + Show Speed Mostrar Velocidade - + Show FPS Mostrar FPS - + Show CPU Usage Mostrar utilização da CPU - + Show GPU Usage Mostrar utilização da GPU - + Show Resolution Mostrar resolução - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Mostrar definições - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Arranque rápido - + Output Volume Volume de saída - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Criar - + Cancel Cancelar - + Load Profile Carregar Perfil - + Save Profile Guardar Perfil - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Tipo de Controlador - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Botões - + Frequency Frequência - + Pressure Pressão - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} Porta USB {} - + Device Type Tipo de Dispositivo - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Definições - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Propriedades do Jogo - + Achievements Conquistas - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Alterar Disco - + Close Game Fechar Jogo - + Exit Without Saving Saia sem Guardar - + Back To Pause Menu Voltar para o Menu de Pausa - + Exit And Save State Exit And Save State - + Leaderboards Tabelas de classificação - + Delete Save Apagar Gravação - + Close Menu Fechar Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reiniciar Tempo de Jogo - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remover da lista - + Default View Vista pré-definida - + Sort By Ordenar Por - + Sort Reversed Ordenar Invertido - + Scan For New Games Procurar por novos Jogos - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Fóruns de Ajuda - + GitHub Repository Repositório GitHub - + License Licença - + Close Fechar - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Ativar Conquistas - + Hardcore Mode Modo Difícil - + Sound Effects Efeitos Sonoros - + Test Unofficial Achievements Testar Conquistas Não Oficiais - + Username: {} Usuário: {} - + Login token generated on {} Login token generated on {} - + Logout Terminar Sessão - + Not Logged In Sem Sessão Iniciada - + Login Iniciar sessão - + Game: {0} ({1}) Jogo: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Cartão Ativado - + Card Name Nome do Cartão - + Eject Card Ejetar Cartão @@ -11072,32 +11131,42 @@ Procurar recursivamente leva mais tempo, mas irá identificar arquivos em subpas Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11573,11 +11642,11 @@ Procurar recursivamente leva mais tempo, mas irá identificar arquivos em subpas - - - - - + + + + + Off (Default) Desligado (Padrão) @@ -11587,10 +11656,10 @@ Procurar recursivamente leva mais tempo, mas irá identificar arquivos em subpas - - - - + + + + Automatic (Default) Automático (Padrão) @@ -11657,7 +11726,7 @@ Procurar recursivamente leva mais tempo, mas irá identificar arquivos em subpas - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11723,29 +11792,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11756,7 +11815,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11766,18 +11825,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Tamanho da Captura de Ecrã: - + Screen Resolution Resolução do Ecrã - + Internal Resolution Resolução interna - + PNG PNG @@ -11829,7 +11888,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11876,7 +11935,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Não escalado (Padrão) @@ -11892,7 +11951,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Básico (recomendado) @@ -11928,7 +11987,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11944,31 +12003,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11980,15 +12039,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12016,8 +12075,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Desativado) @@ -12074,18 +12133,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12184,13 +12243,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12204,16 +12263,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12286,25 +12335,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12315,7 +12364,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12374,25 +12423,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Carregar Texturas @@ -12402,6 +12451,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12419,13 +12478,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12448,8 +12507,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Nenhum (Padrão) @@ -12470,7 +12529,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12522,7 +12581,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12537,7 +12596,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contraste: - + Saturation Saturação @@ -12558,50 +12617,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Mostrar Indicadores - + Show Resolution Mostrar Resolução - + Show Inputs Mostrar Comandos - + Show GPU Usage Exibir Uso da GPU - + Show Settings Exibir Configurações - + Show FPS Exibir FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12617,13 +12676,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Exibir Estatísticas - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12634,13 +12693,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Exibir Uso do CPU - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12666,7 +12725,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12677,43 +12736,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12822,19 +12881,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12887,7 +12946,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12897,1214 +12956,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Nulo - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Usar Definição Global [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Não Verificado - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Desativado - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Codec de vídeo - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Formato de vídeo - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Seleciona qual o Formato de Vídeo a usar para a Captura de Vídeo. Se por acaso o codec não suportar o formato, será usado o primeiro formato disponível. <b>Em caso de dúvida, deixar o padrão.<b> - + Video Bitrate Bitrate de vídeo - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Resolução Automática - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Codec de áudio - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Bitrate de áudio - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Verificado - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Proporção do Ecrã - + Auto Standard (4:3/3:2 Progressive) Padrão Automático (4:3/3:2 Progressivo) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Tamanho da Captura de Ecrã - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Formato da Captura de Ecrã - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Qualidade da captura de ecrã - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Modo de Ecrã Inteiro - - - + + + Borderless Fullscreen Ecrã completo sem bordas - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Esquerda - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Alto - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Direita - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Baixo - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Nativo (PS2) (Padrão) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Filtragem de Texturas - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Pré-carregamento de Texturas - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Nitidez - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brilho - - - + + + 50 50 - + Contrast Contraste - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale Escala OSD - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Deixar em branco - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Preciso - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Padrão - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14112,7 +14171,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Padrão @@ -14329,254 +14388,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System Sistema - + Open Pause Menu Abrir Menu de Pausa - + Open Achievements List Abrir Lista de Conquistas - + Open Leaderboards List Abrir Lista de Classificações - + Toggle Pause Alternar Pausa - + Toggle Fullscreen Alternar Ecrã Inteiro - + Toggle Frame Limit Alternar Limite de Frames - + Toggle Turbo / Fast Forward Alternar Turbo / Avançar Rápido - + Toggle Slow Motion Alternar Câmara Lenta - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Aumentar o Volume - + Decrease Volume Diminuir o Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Encerrar máquina virtual - + Reset Virtual Machine Reiniciar máquina virtual - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Guardar estados - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15454,594 +15513,608 @@ Right click to clear binding &Sistema - - - + + Change Disc Alterar Disco - - + Load State Load State - - Save State - Save State - - - + S&ettings C&onfigurações - + &Help &Ajuda - + &Debug &Depurar - - Switch Renderer - Mudar Renderizador - - - + &View &Ver - + &Window Size &Tamanho da Janela - + &Tools &Ferramentas - - Input Recording - Input Recording - - - + Toolbar Barra de Ferramentas - + Start &File... Iniciar &Ficheiro... - - Start &Disc... - Iniciar &Disco... - - - + Start &BIOS Iniciar &Sistema - + &Scan For New Games &Procurar Por Novos Jogos - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reiniciar - + &Pause &Pausar - + E&xit S&air - + &BIOS &Sistema - - Emulation - Emulação - - - + &Controllers &Comandos - + &Hotkeys &Teclas de Atalho - + &Graphics &Gráficos - - A&chievements - C&onquistas - - - + &Post-Processing Settings... &Configurações de Pós-Processamento... - - Fullscreen - Ecrã Inteiro - - - + Resolution Scale Escala da Resolução - + &GitHub Repository... &Repositório GitHub... - + Support &Forums... Fóruns de &Suporte... - + &Discord Server... &Servidor do Discord... - + Check for &Updates... Verificar &Atualizações... - + About &Qt... Sobre o &Qt... - + &About PCSX2... &Sobre o PCSX2... - + Fullscreen In Toolbar Tela cheia - + Change Disc... In Toolbar Alterar Disco... - + &Audio &Som - - Game List - Lista de Jogos - - - - Interface - Interface + + Global State + Estado Global - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Captura de Ecrã - - &Settings - &Definições + + Start File + In Toolbar + Iniciar Ficheiro - - From File... - Do ficheiro... + + &Change Disc + &Change Disc - - From Device... - Do dispositivo... + + &Load State + &Load State - - From Game List... - Da Lista de Jogos... + + Sa&ve State + Sa&ve State - - Remove Disc - Remover Disco + + Setti&ngs + Setti&ngs - - Global State - Estado Global + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Captura de Ecrã + + &Input Recording + &Input Recording - - Start File - In Toolbar - Iniciar Ficheiro + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Iniciar Disco - + Start BIOS In Toolbar Iniciar BIOS - + Shut Down In Toolbar Desligar - + Reset In Toolbar Reset - + Pause In Toolbar Pausa - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Comandos - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Definições - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Captura de Ecrã - + &Memory Cards &Cartões de memória - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Abrir depurador + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Habilitar Consola do Sistema + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - Novo + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Reproduzir + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Interromper + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Definições + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Captura de Vídeo - - Edit Cheats... - Editar trapaças... - - - - Edit Patches... - Editar Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale Escala %1x - + Select location to save block dump: Select location to save block dump: - + Do not show again Não voltar a mostrar - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16054,297 +16127,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Erro - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Propriedades... - + Set Cover Image... Definir Imagem de Capa... - + Exclude From List Excluir da Lista - + Reset Play Time Reiniciar Tempo de Jogo - + Check Wiki Page Verificar página da Wiki - + Default Boot Arranque Padrão - + Fast Boot Arranque Rápido - + Full Boot Arranque Completo - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Iniciar Ficheiro - + Start Disc Iniciar Disco - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirmar criação do ficheiro - + The pnach file '%1' does not currently exist. Do you want to create it? O ficheiro pnach '%1' não existe. Quer criar? - + Failed to create '%1'. Falha a criar '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Em pausa - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? O novo ELF não pode ser carregado sem reiniciar a máquina virtual. Deseja redefinir a máquina virtual agora? - + Cannot change from game to GS dump without shutting down first. Não é possível mudar do jogo para o dump de GS sem desligar primeiro. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Parar Modo de Imagem Grande - + Exit Big Picture In Toolbar Sair da Imagem Grande - + Game Properties Propriedades do Jogo - + Game properties is unavailable for the current game. As propriedades do jogo não estão disponíveis para o jogo atual. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Selecionar Imagem de Capa - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? Já existe uma imagem de capa para este jogo, deseja substituí-la? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Falha ao remover '%1' - - + + Confirm Reset Confirmar Reinício - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. Deve selecionar um ficheiro diferente da imagem de capa atual. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16353,12 +16426,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16371,89 +16444,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Retomar (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16462,42 +16535,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Vazio - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirmar Alteração de Disco - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Alterar de Disco - + Reset Reiniciar @@ -16520,25 +16593,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16555,28 +16628,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17368,7 +17446,7 @@ Esta ação não pode ser revertida, e irá perder tudo o que foi guardado no ca Go To In Memory View - + Cannot Go To Cannot Go To @@ -18208,12 +18286,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18222,7 +18300,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18231,7 +18309,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18240,7 +18318,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18341,47 +18419,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18514,7 +18592,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21727,42 +21805,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Falha ao fazer backup do save state antigo {}. - + Failed to save save state: {}. Falha ao salvar o estado. - + PS2 BIOS ({}) BIOS da PS2 ({}) - + Unknown Game Jogo Desconhecido - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Erro - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21779,272 +21857,272 @@ Uma vez copiada, esta imagem da BIOS deve ser colocada na pasta bios dentro do d Por favor consulte os FAQs e guias para mais instruções. - + Resuming state A retomar estado - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. Estado guardado no slot {}. - + Failed to save save state to slot {}. Falha ao guardar o estado do save no slot {}. - - + + Loading state A carregar estado - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. Não há nenhum estado de save no slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... A carregar estado do slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... A guardar estado no slot {}... - + Frame advancing Avanço de frames - + Disc removed. Disco removido. - + Disc changed to '{}'. Disco alterado para '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Falha ao abrir a nova imagem de disco '{}'. A reverter para a imagem anterior. O erro foi: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Falha ao mudar para a imagem de disco anterior. A remover o disco. O erro foi: {} - + Cheats have been disabled due to achievements hardcore mode. Os cheats foram desativados devido a conquistas no modo hardcore. - + Fast CDVD is enabled, this may break games. CDVD rápido está ativado, isto pode partir os jogos. - + Cycle rate/skip is not at default, this may crash or make games run too slow. A taxa/salto dos ciclos não está como padrão, isto poderá bloquear ou deixar os jogos muito lentos. - + Upscale multiplier is below native, this will break rendering. Multiplicador de upscale abaixo do nativo, isto poderá quebrar a renderização. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. A filtragem de texturas não está definida como Bilinear (PS2). Isto poderá quebrar a renderização nalguns jogos. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. A filtragem trilinear não está definida como automática. Isto poderá quebrar a renderização nalguns jogos. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_qu-PE.ts b/pcsx2-qt/Translations/pcsx2-qt_qu-PE.ts new file mode 100644 index 0000000000000..3f9e0b5fb3bbf --- /dev/null +++ b/pcsx2-qt/Translations/pcsx2-qt_qu-PE.ts @@ -0,0 +1,22132 @@ + + + + + AboutDialog + + + About PCSX2 + About PCSX2 + + + + SCM Version + SCM= Source Code Management + SCM Version + + + + <html><head/><body><p>PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.</p></body></html> + <html><head/><body><p>PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.</p></body></html> + + + + <html><head/><body><p>PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment.</p></body></html> + <html><head/><body><p>PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment.</p></body></html> + + + + Website + Website + + + + Support Forums + Support Forums + + + + GitHub Repository + GitHub Repository + + + + License + License + + + + Third-Party Licenses + Third-Party Licenses + + + + View Document + View Document + + + + File not found: %1 + File not found: %1 + + + + AchievementLoginDialog + + + RetroAchievements Login + Window title + RetroAchievements Login + + + + RetroAchievements Login + Header text + RetroAchievements Login + + + + Please enter user name and password for retroachievements.org below. Your password will not be saved in PCSX2, an access token will be generated and used instead. + Please enter user name and password for retroachievements.org below. Your password will not be saved in PCSX2, an access token will be generated and used instead. + + + + User Name: + User Name: + + + + Password: + Password: + + + + Ready... + Ready... + + + + <strong>Your RetroAchievements login token is no longer valid.</strong> You must re-enter your credentials for achievements to be tracked. Your password will not be saved in PCSX2, an access token will be generated and used instead. + <strong>Your RetroAchievements login token is no longer valid.</strong> You must re-enter your credentials for achievements to be tracked. Your password will not be saved in PCSX2, an access token will be generated and used instead. + + + + &Login + &Login + + + + Logging in... + Logging in... + + + + Login Error + Login Error + + + + Login failed. +Error: %1 + +Please check your username and password, and try again. + Login failed. +Error: %1 + +Please check your username and password, and try again. + + + + Login failed. + Login failed. + + + + Enable Achievements + Enable Achievements + + + + Achievement tracking is not currently enabled. Your login will have no effect until after tracking is enabled. + +Do you want to enable tracking now? + Achievement tracking is not currently enabled. Your login will have no effect until after tracking is enabled. + +Do you want to enable tracking now? + + + + Enable Hardcore Mode + Enable Hardcore Mode + + + + Hardcore mode is not currently enabled. Enabling hardcore mode allows you to set times, scores, and participate in game-specific leaderboards. + +However, hardcore mode also prevents the usage of save states, cheats and slowdown functionality. + +Do you want to enable hardcore mode? + Hardcore mode is not currently enabled. Enabling hardcore mode allows you to set times, scores, and participate in game-specific leaderboards. + +However, hardcore mode also prevents the usage of save states, cheats and slowdown functionality. + +Do you want to enable hardcore mode? + + + + Reset System + Reset System + + + + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + + + + AchievementSettingsWidget + + + + Enable Achievements + Enable Achievements + + + + + Enable Hardcore Mode + Enable Hardcore Mode + + + + + Test Unofficial Achievements + Test Unofficial Achievements + + + + + Enable Sound Effects + Enable Sound Effects + + + + Notifications + Notifications + + + + + 5 seconds + 5 seconds + + + + Account + Account + + + + + Login... + Login... + + + + View Profile... + View Profile... + + + + Settings + Settings + + + + + Enable Spectator Mode + Enable Spectator Mode + + + + + Enable Encore Mode + Enable Encore Mode + + + + + Show Achievement Notifications + Show Achievement Notifications + + + + + Show Leaderboard Notifications + Show Leaderboard Notifications + + + + + Enable In-Game Overlays + Enable In-Game Overlays + + + + Username: +Login token generated at: + Username: +Login token generated at: + + + + Game Info + Game Info + + + + <html><head/><body><p align="justify">PCSX2 uses RetroAchievements as an achievement database and for tracking progress. To use achievements, please sign up for an account at <a href="https://retroachievements.org/">retroachievements.org</a>.</p><p align="justify">To view the achievement list in-game, press the hotkey for <span style=" font-weight:600;">Open Pause Menu</span> and select <span style=" font-weight:600;">Achievements</span> from the menu.</p></body></html> + <html><head/><body><p align="justify">PCSX2 uses RetroAchievements as an achievement database and for tracking progress. To use achievements, please sign up for an account at <a href="https://retroachievements.org/">retroachievements.org</a>.</p><p align="justify">To view the achievement list in-game, press the hotkey for <span style=" font-weight:600;">Open Pause Menu</span> and select <span style=" font-weight:600;">Achievements</span> from the menu.</p></body></html> + + + + + + + + Unchecked + Unchecked + + + + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + + + + When enabled, PCSX2 will list achievements from unofficial sets. Please note that these achievements are not tracked by RetroAchievements, so they unlock every time. + When enabled, PCSX2 will list achievements from unofficial sets. Please note that these achievements are not tracked by RetroAchievements, so they unlock every time. + + + + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + + + + + + + Checked + Checked + + + + Plays sound effects for events such as achievement unlocks and leaderboard submissions. + Plays sound effects for events such as achievement unlocks and leaderboard submissions. + + + + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + + + + When enabled and logged in, PCSX2 will scan for achievements on startup. + When enabled and logged in, PCSX2 will scan for achievements on startup. + + + + Displays popup messages on events such as achievement unlocks and game completion. + Displays popup messages on events such as achievement unlocks and game completion. + + + + Displays popup messages when starting, submitting, or failing a leaderboard challenge. + Displays popup messages when starting, submitting, or failing a leaderboard challenge. + + + + When enabled, each session will behave as if no achievements have been unlocked. + When enabled, each session will behave as if no achievements have been unlocked. + + + + Reset System + Reset System + + + + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + + + + + %n seconds + + %n seconds + %n seconds + + + + + Username: %1 +Login token generated on %2. + Username: %1 +Login token generated on %2. + + + + Logout + Logout + + + + Not Logged In. + Not Logged In. + + + + Achievements + + + Hardcore mode will be enabled on system reset. + Hardcore mode will be enabled on system reset. + + + + + {0} cannot be performed while hardcore mode is active. Do you want to disable hardcore mode? {0} will be cancelled if you select No. + {0} cannot be performed while hardcore mode is active. Do you want to disable hardcore mode? {0} will be cancelled if you select No. + + + + Hardcore mode is now enabled. + Hardcore mode is now enabled. + + + + {} (Hardcore Mode) + {} (Hardcore Mode) + + + + {0}, {1}. + {0}, {1}. + + + + You have unlocked {} of %n achievements + Achievement popup + + You have unlocked {} of %n achievements + You have unlocked {} of %n achievements + + + + + and earned {} of %n points + Achievement popup + + and earned {} of %n points + and earned {} of %n points + + + + + {} (Unofficial) + {} (Unofficial) + + + + Mastered {} + Mastered {} + + + + {0}, {1} + {0}, {1} + + + + %n achievements + Mastery popup + + %n achievements + %n achievements + + + + + %n points + Mastery popup + + %n points + %n points + + + + + Leaderboard attempt started. + Leaderboard attempt started. + + + + Leaderboard attempt failed. + Leaderboard attempt failed. + + + + Your Time: {}{} + Your Time: {}{} + + + + Your Score: {}{} + Your Score: {}{} + + + + Your Value: {}{} + Your Value: {}{} + + + + (Submitting) + (Submitting) + + + + Achievements Disconnected + Achievements Disconnected + + + + An unlock request could not be completed. We will keep retrying to submit this request. + An unlock request could not be completed. We will keep retrying to submit this request. + + + + Achievements Reconnected + Achievements Reconnected + + + + All pending unlock requests have completed. + All pending unlock requests have completed. + + + + Hardcore mode is now disabled. + Hardcore mode is now disabled. + + + + Score: {0} pts (softcore: {1} pts) +Unread messages: {2} + Score: {0} pts (softcore: {1} pts) +Unread messages: {2} + + + + + Confirm Hardcore Mode + Confirm Hardcore Mode + + + + Active Challenge Achievements + Active Challenge Achievements + + + + (Hardcore Mode) + (Hardcore Mode) + + + + You have unlocked all achievements and earned {} points! + You have unlocked all achievements and earned {} points! + + + + + Leaderboard Download Failed + Leaderboard Download Failed + + + + Your Time: {0} (Best: {1}) + Your Time: {0} (Best: {1}) + + + + Your Score: {0} (Best: {1}) + Your Score: {0} (Best: {1}) + + + + Your Value: {0} (Best: {1}) + Your Value: {0} (Best: {1}) + + + + {0} +Leaderboard Position: {1} of {2} + {0} +Leaderboard Position: {1} of {2} + + + + Server error in {0}: +{1} + Server error in {0}: +{1} + + + + Yes + Yes + + + + No + No + + + + You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. + You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. + + + + Unknown + Unknown + + + + Locked + Locked + + + + Unlocked + Unlocked + + + + Unsupported + Unsupported + + + + Unofficial + Unofficial + + + + Recently Unlocked + Recently Unlocked + + + + Active Challenges + Active Challenges + + + + Almost There + Almost There + + + + {} points + {} points + + + + {} point + {} point + + + + XXX points + XXX points + + + + Unlocked: {} + Unlocked: {} + + + + This game has {} leaderboards. + This game has {} leaderboards. + + + + Submitting scores is disabled because hardcore mode is off. Leaderboards are read-only. + Submitting scores is disabled because hardcore mode is off. Leaderboards are read-only. + + + + Show Best + Show Best + + + + Show Nearby + Show Nearby + + + + Rank + Rank + + + + Name + Name + + + + Time + Time + + + + Score + Score + + + + Value + Value + + + + Date Submitted + Date Submitted + + + + Downloading leaderboard data, please wait... + Downloading leaderboard data, please wait... + + + + + Loading... + Loading... + + + + + This game has no achievements. + This game has no achievements. + + + + Failed to read executable from disc. Achievements disabled. + Failed to read executable from disc. Achievements disabled. + + + + AdvancedSettingsWidget + + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + Rounding Mode + Rounding Mode + + + + + + Chop/Zero (Default) + Chop/Zero (Default) + + + + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + + + + Division Rounding Mode + Division Rounding Mode + + + + Nearest (Default) + Nearest (Default) + + + + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + + + + Clamping Mode + Clamping Mode + + + + + + Normal (Default) + Normal (Default) + + + + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + + + + + Enable Recompiler + Enable Recompiler + + + + + + + + + + + + + + + + Checked + Checked + + + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. + + + + Wait Loop Detection + Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). + Wait Loop Detection + + + + Moderate speedup for some games, with no known side effects. + Moderate speedup for some games, with no known side effects. + + + + Enable Cache (Slow) + Enable Cache (Slow) + + + + + + + Unchecked + Unchecked + + + + Interpreter only, provided for diagnostic. + Interpreter only, provided for diagnostic. + + + + INTC Spin Detection + INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. + INTC Spin Detection + + + + Huge speedup for some games, with almost no compatibility side effects. + Huge speedup for some games, with almost no compatibility side effects. + + + + Enable Fast Memory Access + Enable Fast Memory Access + + + + Uses backpatching to avoid register flushing on every memory access. + "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) + Uses backpatching to avoid register flushing on every memory access. + + + + Pause On TLB Miss + Pause On TLB Miss + + + + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. + + + + Enable 128MB RAM (Dev Console) + Enable 128MB RAM (Dev Console) + + + + Exposes an additional 96MB of memory to the virtual machine. + Exposes an additional 96MB of memory to the virtual machine. + + + + VU0 Rounding Mode + VU0 Rounding Mode + + + + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> + + + + VU1 Rounding Mode + VU1 Rounding Mode + + + + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> + + + + VU0 Clamping Mode + VU0 Clamping Mode + + + + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + + + + VU1 Clamping Mode + VU1 Clamping Mode + + + + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> + + + + Enable Instant VU1 + Enable Instant VU1 + + + + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + + + + Enable VU0 Recompiler (Micro Mode) + VU0 = Vector Unit 0. One of the PS2's processors. + Enable VU0 Recompiler (Micro Mode) + + + + Enables VU0 Recompiler. + Enables VU0 Recompiler. + + + + Enable VU1 Recompiler + VU1 = Vector Unit 1. One of the PS2's processors. + Enable VU1 Recompiler + + + + Enables VU1 Recompiler. + Enables VU1 Recompiler. + + + + mVU Flag Hack + mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) + mVU Flag Hack + + + + Good speedup and high compatibility, may cause graphical errors. + Good speedup and high compatibility, may cause graphical errors. + + + + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. + + + + Enable Game Fixes + Enable Game Fixes + + + + Automatically loads and applies fixes to known problematic games on game start. + Automatically loads and applies fixes to known problematic games on game start. + + + + Enable Compatibility Patches + Enable Compatibility Patches + + + + Automatically loads and applies compatibility patches to known problematic games. + Automatically loads and applies compatibility patches to known problematic games. + + + + Savestate Compression Method + Savestate Compression Method + + + + Zstandard + Zstandard + + + + Determines the algorithm to be used when compressing savestates. + Determines the algorithm to be used when compressing savestates. + + + + Savestate Compression Level + Savestate Compression Level + + + + Medium + Medium + + + + Determines the level to be used when compressing savestates. + Determines the level to be used when compressing savestates. + + + + Save State On Shutdown + Save State On Shutdown + + + + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + + + + Create Save State Backups + Create Save State Backups + + + + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. + Do not translate the ".backup" extension. + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. + + + + AdvancedSystemSettingsWidget + + + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + + + + EmotionEngine (MIPS-IV) + Emotion Engine = Commercial name of one of PS2's processors. Leave as-is unless there's an official name (like for Japanese). + EmotionEngine (MIPS-IV) + + + + Rounding Mode: + Rounding refers here to the mathematical term. + Rounding Mode: + + + + + + Nearest + Nearest + + + + + + + Negative + Negative + + + + + + + Positive + Positive + + + + Clamping Mode: + Clamping: Forcing out of bounds things in bounds by changing them to the closest possible value. In this case, this refers to clamping large PS2 floating point values (which map to infinity or NaN in PCs' IEEE754 floats) to non-infinite ones. + Clamping Mode: + + + + + None + None + + + + + + Normal (Default) + Normal (Default) + + + + + + Chop/Zero (Default) + Chop/Zero (Default) + + + + Division Rounding Mode: + Rounding refers here to the mathematical term. + Division Rounding Mode: + + + + Nearest (Default) + Nearest (Default) + + + + Chop/Zero + Chop/Zero + + + + None + ClampMode + None + + + + + + Extra + Preserve Sign + Sign: refers here to the mathematical meaning (plus/minus). + Extra + Preserve Sign + + + + Full + Full + + + + Wait Loop Detection + Wait Loop Detection + + + + + Enable Recompiler + Enable Recompiler + + + + Enable Fast Memory Access + Enable Fast Memory Access + + + + Enable Cache (Slow) + Enable Cache (Slow) + + + + INTC Spin Detection + INTC Spin Detection + + + + Pause On TLB Miss + Pause On TLB Miss + + + + Enable 128MB RAM (Dev Console) + Enable 128MB RAM (Dev Console) + + + + Vector Units (VU) + Vector Unit/VU: refers to two of PS2's processors. Do not translate the full text or do so as a comment. Leave the acronym as-is. + Vector Units (VU) + + + + VU1 Rounding Mode: + VU1 Rounding Mode: + + + + mVU Flag Hack + mVU Flag Hack + + + + Enable VU1 Recompiler + Enable VU1 Recompiler + + + + Enable VU0 Recompiler (Micro Mode) + Enable VU0 Recompiler (Micro Mode) + + + + Enable Instant VU1 + Enable Instant VU1 + + + + + Extra + Extra + + + + VU0 Clamping Mode: + VU0 Clamping Mode: + + + + VU0 Rounding Mode: + VU0 Rounding Mode: + + + + VU1 Clamping Mode: + VU1 Clamping Mode: + + + + I/O Processor (IOP, MIPS-I) + I/O Processor (IOP, MIPS-I) + + + + Game Settings + Game Settings + + + + Enable Game Fixes + Enable Game Fixes + + + + Enable Compatibility Patches + Enable Compatibility Patches + + + + Create Save State Backups + Create Save State Backups + + + + Save State On Shutdown + Save State On Shutdown + + + + Frame Rate Control + Frame Rate Control + + + + + hz + hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. + hz + + + + PAL Frame Rate: + PAL Frame Rate: + + + + NTSC Frame Rate: + NTSC Frame Rate: + + + + Savestate Settings + Savestate Settings + + + + Compression Level: + Compression Level: + + + + Compression Method: + Compression Method: + + + + Uncompressed + Uncompressed + + + + Deflate64 + Deflate64 + + + + Zstandard + Zstandard + + + + LZMA2 + LZMA2 + + + + Low (Fast) + Low (Fast) + + + + Medium (Recommended) + Medium (Recommended) + + + + High + High + + + + Very High (Slow, Not Recommended) + Very High (Slow, Not Recommended) + + + + Use Save State Selector + Use Save State Selector + + + + PINE Settings + PINE Settings + + + + Slot: + Slot: + + + + Enable + Enable + + + + AnalysisOptionsDialog + + + Analysis Options + Analysis Options + + + + Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + + + + Close dialog after analysis has started + Close dialog after analysis has started + + + + Analyze + Analyze + + + + Close + Close + + + + AudioExpansionSettingsDialog + + + Audio Expansion Settings + Audio Expansion Settings + + + + Circular Wrap: + Circular Wrap: + + + + + 30 + 30 + + + + Shift: + Shift: + + + + + + + + + + 20 + 20 + + + + Depth: + Depth: + + + + 10 + 10 + + + + Focus: + Focus: + + + + Center Image: + Center Image: + + + + Front Separation: + Front Separation: + + + + Rear Separation: + Rear Separation: + + + + Low Cutoff: + Low Cutoff: + + + + High Cutoff: + High Cutoff: + + + + <html><head/><body><p><span style=" font-weight:700;">Audio Expansion Settings</span><br/>These settings fine-tune the behavior of the FreeSurround-based channel expander.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Audio Expansion Settings</span><br/>These settings fine-tune the behavior of the FreeSurround-based channel expander.</p></body></html> + + + + Block Size: + Block Size: + + + + AudioSettingsWidget + + + Configuration + Configuration + + + + Driver: + Driver: + + + + + Expansion Settings + Expansion Settings + + + + + Stretch Settings + Stretch Settings + + + + Buffer Size: + Buffer Size: + + + + Maximum latency: 0 frames (0.00ms) + Maximum latency: 0 frames (0.00ms) + + + + Backend: + Backend: + + + + + 0 ms + 0 ms + + + + Controls + Controls + + + + Output Volume: + Output Volume: + + + + + 100% + 100% + + + + Fast Forward Volume: + Fast Forward Volume: + + + + + Mute All Sound + Mute All Sound + + + + Synchronization: + Synchronization: + + + + TimeStretch (Recommended) + TimeStretch (Recommended) + + + + Expansion: + Expansion: + + + + Output Latency: + Output Latency: + + + + Minimal + Minimal + + + + Output Device: + Output Device: + + + + Synchronization + Synchronization + + + + When running outside of 100% speed, adjusts the tempo on audio instead of dropping frames. Produces much nicer fast-forward/slowdown audio. + When running outside of 100% speed, adjusts the tempo on audio instead of dropping frames. Produces much nicer fast-forward/slowdown audio. + + + + + Default + Default + + + + Determines the buffer size which the time stretcher will try to keep filled. It effectively selects the average latency, as audio will be stretched/shrunk to keep the buffer size within check. + Determines the buffer size which the time stretcher will try to keep filled. It effectively selects the average latency, as audio will be stretched/shrunk to keep the buffer size within check. + + + + Output Latency + Output Latency + + + + Determines the latency from the buffer to the host audio output. This can be set lower than the target latency to reduce audio delay. + Determines the latency from the buffer to the host audio output. This can be set lower than the target latency to reduce audio delay. + + + + Resets output volume back to the global/inherited setting. + Resets output volume back to the global/inherited setting. + + + + Resets output volume back to the default. + Resets output volume back to the default. + + + + Resets fast forward volume back to the global/inherited setting. + Resets fast forward volume back to the global/inherited setting. + + + + Resets fast forward volume back to the default. + Resets fast forward volume back to the default. + + + + + %1% + %1% + + + + + + + + N/A + Preserve the %1 variable, adapt the latter ms (and/or any possible spaces in between) to your language's ruleset. + N/A + + + + + + % + % + + + + Audio Backend + Audio Backend + + + + The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. + The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. + + + + + + + %1 ms + %1 ms + + + + Buffer Size + Buffer Size + + + + Output Volume + Output Volume + + + + Controls the volume of the audio played on the host. + Controls the volume of the audio played on the host. + + + + Fast Forward Volume + Fast Forward Volume + + + + Controls the volume of the audio played on the host when fast forwarding. + Controls the volume of the audio played on the host when fast forwarding. + + + + Unchecked + Unchecked + + + + Prevents the emulator from producing any audible sound. + Prevents the emulator from producing any audible sound. + + + + Expansion Mode + Expansion Mode + + + + Disabled (Stereo) + Disabled (Stereo) + + + + Determines how audio is expanded from stereo to surround for supported games. This includes games that support Dolby Pro Logic/Pro Logic II. + Determines how audio is expanded from stereo to surround for supported games. This includes games that support Dolby Pro Logic/Pro Logic II. + + + + These settings fine-tune the behavior of the FreeSurround-based channel expander. + These settings fine-tune the behavior of the FreeSurround-based channel expander. + + + + These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed. + These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed. + + + + + Reset Volume + Reset Volume + + + + + Reset Fast Forward Volume + Reset Fast Forward Volume + + + + Unknown Device "%1" + Unknown Device "%1" + + + + Maximum Latency: %1 ms (%2 ms buffer + %3 ms expand + %4 ms output) + Maximum Latency: %1 ms (%2 ms buffer + %3 ms expand + %4 ms output) + + + + Maximum Latency: %1 ms (%2 ms buffer + %3 ms output) + Maximum Latency: %1 ms (%2 ms buffer + %3 ms output) + + + + Maximum Latency: %1 ms (%2 ms expand, minimum output latency unknown) + Maximum Latency: %1 ms (%2 ms expand, minimum output latency unknown) + + + + Maximum Latency: %1 ms (minimum output latency unknown) + Maximum Latency: %1 ms (minimum output latency unknown) + + + + AudioStream + + + Null (No Output) + Null (No Output) + + + + Cubeb + Cubeb + + + + SDL + SDL + + + + Disabled (Stereo) + Disabled (Stereo) + + + + Stereo with LFE + Stereo with LFE + + + + Quadraphonic + Quadraphonic + + + + Quadraphonic with LFE + Quadraphonic with LFE + + + + 5.1 Surround + 5.1 Surround + + + + 7.1 Surround + 7.1 Surround + + + + + Default + Default + + + + AudioStretchSettingsDialog + + + Audio Stretch Settings + Audio Stretch Settings + + + + Sequence Length: + Sequence Length: + + + + 30 + 30 + + + + Seekwindow Size: + Seekwindow Size: + + + + 20 + 20 + + + + Overlap: + Overlap: + + + + 10 + 10 + + + + <html><head/><body><p><span style=" font-weight:700;">Audio Stretch Settings</span><br/>These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Audio Stretch Settings</span><br/>These settings fine-tune the behavior of the SoundTouch audio time stretcher when running outside of 100% speed.</p></body></html> + + + + Use Quickseek + Use Quickseek + + + + Use Anti-Aliasing Filter + Use Anti-Aliasing Filter + + + + AutoUpdaterDialog + + + + + Automatic Updater + Automatic Updater + + + + Update Available + Update Available + + + + Current Version: + Current Version: + + + + New Version: + New Version: + + + + Download Size: + Download Size: + + + + Download and Install... + Download and Install... + + + + Skip This Update + Skip This Update + + + + Remind Me Later + Remind Me Later + + + + + Updater Error + Updater Error + + + + <h2>Changes:</h2> + <h2>Changes:</h2> + + + + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> + + + + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> + + + + Savestate Warning + Savestate Warning + + + + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> + + + + Downloading %1... + Downloading %1... + + + + No updates are currently available. Please try again later. + No updates are currently available. Please try again later. + + + + Current Version: %1 (%2) + Current Version: %1 (%2) + + + + New Version: %1 (%2) + New Version: %1 (%2) + + + + Download Size: %1 MB + Download Size: %1 MB + + + + Loading... + Loading... + + + + Failed to remove updater exe after update. + Failed to remove updater exe after update. + + + + BIOSSettingsWidget + + + BIOS Directory + BIOS Directory + + + + PCSX2 will search for BIOS images in this directory. + PCSX2 will search for BIOS images in this directory. + + + + Browse... + Browse... + + + + Reset + Reset + + + + BIOS Selection + BIOS Selection + + + + Open BIOS Folder... + Open BIOS Folder... + + + + Refresh List + Refresh List + + + + Filename + Filename + + + + Version + Version + + + + Options and Patches + Options and Patches + + + + + Fast Boot + Fast Boot + + + + + Fast Forward Boot + Fast Forward Boot + + + + Checked + Checked + + + + Patches the BIOS to skip the console's boot animation. + Patches the BIOS to skip the console's boot animation. + + + + Unchecked + Unchecked + + + + Removes emulation speed throttle until the game starts to reduce startup time. + Removes emulation speed throttle until the game starts to reduce startup time. + + + + BreakpointDialog + + + Create / Modify Breakpoint + Create / Modify Breakpoint + + + + Type + Type + + + + Execute + Execute + + + + + Memory + Memory + + + + Address + Address + + + + 0 + 0 + + + + Read + Read + + + + Write + Write + + + + Change + Change + + + + Size + Size + + + + 1 + 1 + + + + Condition + Condition + + + + Log + Log + + + + Enable + Enable + + + + + Invalid Address + Invalid Address + + + + + Invalid Condition + Invalid Condition + + + + Invalid Size + Invalid Size + + + + BreakpointModel + + + Execute + Execute + + + + + -- + -- + + + + Enabled + Enabled + + + + Disabled + Disabled + + + + Read + Read + + + + Write(C) + (C) = changes, as in "look for changes". + Write(C) + + + + Write + Write + + + + TYPE + Warning: limited space available. Abbreviate if needed. + TYPE + + + + OFFSET + Warning: limited space available. Abbreviate if needed. + OFFSET + + + + SIZE / LABEL + Warning: limited space available. Abbreviate if needed. + SIZE / LABEL + + + + INSTRUCTION + Warning: limited space available. Abbreviate if needed. + INSTRUCTION + + + + CONDITION + Warning: limited space available. Abbreviate if needed. + CONDITION + + + + HITS + Warning: limited space available. Abbreviate if needed. + HITS + + + + X + Warning: limited space available. Abbreviate if needed. + X + + + + CDVD + + + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. + + + + Saving CDVD block dump to '{}'. + Saving CDVD block dump to '{}'. + + + + Precaching CDVD + Precaching CDVD + + + + Audio + Audio + + + + Mode 1 + Mode 1 + + + + Mode 2 + Mode 2 + + + + Unknown + Unknown + + + + Precaching is not supported for discs. + Precaching is not supported for discs. + + + + Precaching {}... + Precaching {}... + + + + Precaching is not supported for this file format. + Precaching is not supported for this file format. + + + + Required memory ({}GB) is the above the maximum allowed ({}GB). + Required memory ({}GB) is the above the maximum allowed ({}GB). + + + + ColorPickerButton + + + Select LED Color + Select LED Color + + + + ControllerBindingWidget + + + Virtual Controller Type + Virtual Controller Type + + + + Bindings + Bindings + + + + Settings + Settings + + + + Macros + Macros + + + + Automatic Mapping + Automatic Mapping + + + + Clear Mapping + Clear Mapping + + + + Controller Port %1 + Controller Port %1 + + + + No devices available + No devices available + + + + Clear Bindings + Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). + Clear Bindings + + + + Are you sure you want to clear all bindings for this controller? This action cannot be undone. + Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). + Are you sure you want to clear all bindings for this controller? This action cannot be undone. + + + + Automatic Binding + Automatic Binding + + + + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + + + + ControllerBindingWidget_DualShock2 + + + D-Pad + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + D-Pad + + + + + + Down + Down + + + + + + Left + Left + + + + + + Up + Up + + + + + + Right + Right + + + + Left Analog + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Left Analog + + + + Large Motor + Large Motor + + + + L2 + Leave this button name as-is. + L2 + + + + R2 + Leave this button name as-is. + R2 + + + + L1 + Leave this button name as-is. + L1 + + + + R1 + Leave this button name as-is. + R1 + + + + Start + Leave this button name as-is or uppercase it entirely. + Start + + + + Select + Leave this button name as-is or uppercase it entirely. + Select + + + + Face Buttons + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Face Buttons + + + + Cross + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Cross + + + + Square + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Square + + + + Triangle + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Triangle + + + + Circle + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Circle + + + + Right Analog + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Right Analog + + + + Small Motor + Small Motor + + + + L3 + Leave this button name as-is. + L3 + + + + R3 + Leave this button name as-is. + R3 + + + + Pressure Modifier + Pressure Modifier + + + + Analog + Analog + + + + ControllerBindingWidget_Guitar + + + Yellow + Yellow + + + + + + + + + + + + + + PushButton + PushButton + + + + Start + Start + + + + Red + Red + + + + Green + Green + + + + Orange + Orange + + + + Select + Select + + + + Strum Up + Strum Up + + + + Strum Down + Strum Down + + + + Blue + Blue + + + + Whammy Bar + Whammy Bar + + + + Tilt + Tilt + + + + ControllerBindingWidget_Jogcon + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Large Motor + Large Motor + + + + L2 + L2 + + + + R2 + R2 + + + + L1 + L1 + + + + R1 + R1 + + + + Start + Start + + + + Select + Select + + + + Face Buttons + Face Buttons + + + + Cross + Cross + + + + Square + Square + + + + Triangle + Triangle + + + + Circle + Circle + + + + Small Motor + Small Motor + + + + Dial Left + Dial Left + + + + Dial Right + Dial Right + + + + ControllerBindingWidget_Negcon + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Large Motor + Large Motor + + + + L + L + + + + Start + Start + + + + R + R + + + + Face Buttons + Face Buttons + + + + I + I + + + + II + II + + + + B + B + + + + A + A + + + + Small Motor + Small Motor + + + + Twist Left + Twist Left + + + + Twist Right + Twist Right + + + + ControllerBindingWidget_Popn + + + Select + Leave this button name as-is or uppercase it entirely. + Select + + + + Yellow (Left) + Yellow (Left) + + + + Yellow (Right) + Yellow (Right) + + + + Blue (Right) + Blue (Right) + + + + Blue (Left) + Blue (Left) + + + + Start + Leave this button name as-is or uppercase it entirely. + Start + + + + Red + Red + + + + Green (Right) + Green (Right) + + + + White (Left) + White (Left) + + + + Green (Left) + Green (Left) + + + + White (Right) + White (Right) + + + + ControllerCustomSettingsWidget + + + Restore Default Settings + Restore Default Settings + + + + Browse... + Browse... + + + + Select File + Select File + + + + ControllerGlobalSettingsWidget + + + SDL Input Source + SDL Input Source + + + + The SDL input source supports most controllers, and provides advanced functionality for DualShock 4 / DualSense pads in Bluetooth mode (Vibration / LED Control). + The SDL input source supports most controllers, and provides advanced functionality for DualShock 4 / DualSense pads in Bluetooth mode (Vibration / LED Control). + + + + Enable SDL Input Source + Enable SDL Input Source + + + + DualShock 4 / DualSense Enhanced Mode + DualShock 4 / DualSense Enhanced Mode + + + + XInput Source + XInput Source + + + + Enable XInput Input Source + Enable XInput Input Source + + + + DInput Source + DInput Source + + + + The DInput source provides support for legacy controllers which do not support XInput. Accessing these controllers via SDL instead is recommended, but DirectInput can be used if they are not compatible with SDL. + The DInput source provides support for legacy controllers which do not support XInput. Accessing these controllers via SDL instead is recommended, but DirectInput can be used if they are not compatible with SDL. + + + + Enable DInput Input Source + Enable DInput Input Source + + + + Profile Settings + Profile Settings + + + + When this option is enabled, hotkeys can be set in this input profile, and will be used instead of the global hotkeys. By default, hotkeys are always shared between all profiles. + When this option is enabled, hotkeys can be set in this input profile, and will be used instead of the global hotkeys. By default, hotkeys are always shared between all profiles. + + + + Use Per-Profile Hotkeys + Use Per-Profile Hotkeys + + + + + Controller LED Settings + Controller LED Settings + + + + Enable SDL Raw Input + Enable SDL Raw Input + + + + Enable IOKit Driver + Enable IOKit Driver + + + + Enable MFI Driver + Enable MFI Driver + + + + The XInput source provides support for Xbox 360 / Xbox One / Xbox Series controllers, and third party controllers which implement the XInput protocol. + The XInput source provides support for Xbox 360 / Xbox One / Xbox Series controllers, and third party controllers which implement the XInput protocol. + + + + Controller Multitap + Controller Multitap + + + + The multitap enables up to 8 controllers to be connected to the console. Each multitap provides 4 ports. Multitap is not supported by all games. + The multitap enables up to 8 controllers to be connected to the console. Each multitap provides 4 ports. Multitap is not supported by all games. + + + + Multitap on Console Port 1 + Multitap on Console Port 1 + + + + Multitap on Console Port 2 + Multitap on Console Port 2 + + + + Mouse/Pointer Source + Mouse/Pointer Source + + + + PCSX2 allows you to use your mouse to simulate analog stick movement. + PCSX2 allows you to use your mouse to simulate analog stick movement. + + + + Settings... + Settings... + + + + Enable Mouse Mapping + Enable Mouse Mapping + + + + Detected Devices + Detected Devices + + + + ControllerLEDSettingsDialog + + + Controller LED Settings + Controller LED Settings + + + + SDL-0 LED + SDL-0 LED + + + + SDL-1 LED + SDL-1 LED + + + + Enable DualSense Player LED + Enable DualSense Player LED + + + + SDL-2 LED + SDL-2 LED + + + + SDL-3 LED + SDL-3 LED + + + + ControllerMacroEditWidget + + + Binds/Buttons + Binds/Buttons + + + + Select the buttons which you want to trigger with this macro. All buttons are activated concurrently. + Select the buttons which you want to trigger with this macro. All buttons are activated concurrently. + + + + Pressure + Pressure + + + + For buttons which are pressure sensitive, this slider controls how much force will be simulated when the macro is active. + For buttons which are pressure sensitive, this slider controls how much force will be simulated when the macro is active. + + + + + 100% + 100% + + + + Trigger + Trigger + + + + Select the trigger to activate this macro. This can be a single button, or combination of buttons (chord). Shift-click for multiple triggers. + Select the trigger to activate this macro. This can be a single button, or combination of buttons (chord). Shift-click for multiple triggers. + + + + Press To Toggle + Press To Toggle + + + + Deadzone: + Deadzone: + + + + Frequency + Frequency + + + + Macro will toggle every N frames. + Macro will toggle every N frames. + + + + Set... + Set... + + + + Not Configured + Not Configured + + + + + %1% + %1% + + + + Set Frequency + Set Frequency + + + + Frequency: + Frequency: + + + + Macro will not repeat. + Macro will not repeat. + + + + Macro will toggle buttons every %1 frames. + Macro will toggle buttons every %1 frames. + + + + ControllerMacroWidget + + + Controller Port %1 Macros + Controller Port %1 Macros + + + + Macro %1 +%2 + This is the full text that appears in each option of the 16 available macros, and reads like this: + +Macro 1 +Not Configured/Buttons configured + Macro %1 +%2 + + + + ControllerMappingSettingsDialog + + + Controller Mapping Settings + Controller Mapping Settings + + + + <html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html> + + + + Ignore Inversion + Ignore Inversion + + + + <html><head/><body><p>Some third party controllers incorrectly flag their analog sticks as inverted on the positive component, but not negative.</p><p>As a result, the analog stick will be &quot;stuck on&quot; even while resting at neutral position. </p><p>Enabling this setting will tell PCSX2 to ignore inversion flags when creating mappings, allowing such controllers to function normally.</p></body></html> + <html><head/><body><p>Some third party controllers incorrectly flag their analog sticks as inverted on the positive component, but not negative.</p><p>As a result, the analog stick will be &quot;stuck on&quot; even while resting at neutral position. </p><p>Enabling this setting will tell PCSX2 to ignore inversion flags when creating mappings, allowing such controllers to function normally.</p></body></html> + + + + ControllerMouseSettingsDialog + + + Mouse Mapping Settings + Mouse Mapping Settings + + + + Y Speed + Y Speed + + + + + + + + 10 + 10 + + + + X Speed + X Speed + + + + <html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html> + + + + Inertia + Inertia + + + + X Dead Zone + X Dead Zone + + + + Y Dead Zone + Y Dead Zone + + + + ControllerSettingsWindow + + + PCSX2 Controller Settings + PCSX2 Controller Settings + + + + Editing Profile: + Editing Profile: + + + + New Profile + New Profile + + + + Apply Profile + Apply Profile + + + + Rename Profile + Rename Profile + + + + Delete Profile + Delete Profile + + + + Mapping Settings + Mapping Settings + + + + + Restore Defaults + Restore Defaults + + + + + + Create Input Profile + Create Input Profile + + + + Custom input profiles are used to override the Shared input profile for specific games. +To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. + +Enter the name for the new input profile: + Custom input profiles are used to override the Shared input profile for specific games. +To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. + +Enter the name for the new input profile: + + + + + + + + + Error + Error + + + + + A profile with the name '%1' already exists. + A profile with the name '%1' already exists. + + + + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. + + + + Do you want to copy the current hotkey bindings from global settings to the new input profile? + Do you want to copy the current hotkey bindings from global settings to the new input profile? + + + + Failed to save the new profile to '%1'. + Failed to save the new profile to '%1'. + + + + Load Input Profile + Load Input Profile + + + + Are you sure you want to load the input profile named '%1'? + +All current global bindings will be removed, and the profile bindings loaded. + +You cannot undo this action. + Are you sure you want to load the input profile named '%1'? + +All current global bindings will be removed, and the profile bindings loaded. + +You cannot undo this action. + + + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + + Delete Input Profile + Delete Input Profile + + + + Are you sure you want to delete the input profile named '%1'? + +You cannot undo this action. + Are you sure you want to delete the input profile named '%1'? + +You cannot undo this action. + + + + Failed to delete '%1'. + Failed to delete '%1'. + + + + Are you sure you want to restore the default controller configuration? + +All shared bindings and configuration will be lost, but your input profiles will remain. + +You cannot undo this action. + Are you sure you want to restore the default controller configuration? + +All shared bindings and configuration will be lost, but your input profiles will remain. + +You cannot undo this action. + + + + Global Settings + Global Settings + + + + + Controller Port %1%2 +%3 + Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. + Controller Port %1%2 +%3 + + + + + Controller Port %1 +%2 + Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. + Controller Port %1 +%2 + + + + + USB Port %1 +%2 + USB Port %1 +%2 + + + + Hotkeys + Hotkeys + + + + Shared + "Shared" refers here to the shared input profile. + Shared + + + + The input profile named '%1' cannot be found. + The input profile named '%1' cannot be found. + + + + CoverDownloadDialog + + + Download Covers + Download Covers + + + + PCSX2 can automatically download covers for games which do not currently have a cover set. We do not host any cover images, the user must provide their own source for images. + PCSX2 can automatically download covers for games which do not currently have a cover set. We do not host any cover images, the user must provide their own source for images. + + + + <html><head/><body><p>In the box below, specify the URLs to download covers from, with one template URL per line. The following variables are available:</p><p><span style=" font-style:italic;">${title}:</span> Title of the game.<br/><span style=" font-style:italic;">${filetitle}:</span> Name component of the game's filename.<br/><span style=" font-style:italic;">${serial}:</span> Serial of the game.</p><p><span style=" font-weight:700;">Example:</span> https://www.example-not-a-real-domain.com/covers/${serial}.jpg</p></body></html> + <html><head/><body><p>In the box below, specify the URLs to download covers from, with one template URL per line. The following variables are available:</p><p><span style=" font-style:italic;">${title}:</span> Title of the game.<br/><span style=" font-style:italic;">${filetitle}:</span> Name component of the game's filename.<br/><span style=" font-style:italic;">${serial}:</span> Serial of the game.</p><p><span style=" font-weight:700;">Example:</span> https://www.example-not-a-real-domain.com/covers/${serial}.jpg</p></body></html> + + + + By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. + By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. + + + + Use Title File Names + Use Title File Names + + + + Waiting to start... + Waiting to start... + + + + + Start + Start + + + + Close + Close + + + + Download complete. + Download complete. + + + + Stop + Stop + + + + CpuWidget + + + Registers + Registers + + + + Functions + Functions + + + + Memory Search + Memory Search + + + + Memory + Memory + + + + Breakpoints + Breakpoints + + + + Threads + Threads + + + + Active Call Stack + Active Call Stack + + + + Saved Addresses + Saved Addresses + + + + Globals + Globals + + + + Locals + Locals + + + + Parameters + Parameters + + + + Breakpoint List Context Menu + Breakpoint List Context Menu + + + + + New + New + + + + Edit + Edit + + + + + + Copy + Copy + + + + + Delete + Delete + + + + + + + Copy all as CSV + Copy all as CSV + + + + + Paste from CSV + Paste from CSV + + + + Thread List Context Menu + Thread List Context Menu + + + + Go to in Disassembly + Go to in Disassembly + + + + + Load from Settings + Load from Settings + + + + + Save to Settings + Save to Settings + + + + Go to in Memory View + Go to in Memory View + + + + Copy Address + Copy Address + + + + Copy Text + Copy Text + + + + Stack List Context Menu + Stack List Context Menu + + + + DEV9DnsHostDialog + + + Network DNS Hosts Import/Export + Network DNS Hosts Import/Export + + + + Select Hosts + Select Hosts + + + + OK + OK + + + + Cancel + Cancel + + + + Selected + Selected + + + + Name + Name + + + + Url + Url + + + + Address + Address + + + + Enabled + Enabled + + + + DEV9SettingsWidget + + + Ethernet + Ethernet + + + + Ethernet Device: + Ethernet Device: + + + + Ethernet Device Type: + Ethernet Device Type: + + + + Intercept DHCP + Intercept DHCP + + + + Enabled + Enabled + + + + Enabled + InterceptDHCP + Enabled + + + + Subnet Mask: + Subnet Mask: + + + + Gateway Address: + Gateway Address: + + + + + + Auto + Auto + + + + Intercept DHCP: + Intercept DHCP: + + + + PS2 Address: + PS2 Address: + + + + DNS1 Address: + DNS1 Address: + + + + DNS2 Address: + DNS2 Address: + + + + Internal DNS + Internal DNS + + + + Add + Add + + + + Delete + Delete + + + + Export + Export + + + + Import + Import + + + + Per game + Per game + + + + Internal DNS can be selected using the DNS1/2 dropdowns, or by setting them to 192.0.2.1 + Internal DNS can be selected using the DNS1/2 dropdowns, or by setting them to 192.0.2.1 + + + + Enabled + InternalDNSTable + Enabled + + + + Hard Disk Drive + Hard Disk Drive + + + + Enable 48-Bit LBA + Enable 48-Bit LBA + + + + HDD File: + HDD File: + + + + + 40 + 40 + + + + + 120 + 120 + + + + HDD Size (GiB): + HDD Size (GiB): + + + + Enabled + HDD + Enabled + + + + Browse + Browse + + + + Create Image + Create Image + + + + PCAP Bridged + PCAP Bridged + + + + PCAP Switched + PCAP Switched + + + + TAP + TAP + + + + Sockets + Sockets + + + + Manual + Manual + + + + Internal + Internal + + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + Name + Name + + + + Url + Url + + + + Address + Address + + + + + Hosts File + Hosts File + + + + + ini (*.ini) + ini (*.ini) + + + + + + + DNS Hosts + DNS Hosts + + + + Exported Successfully + Exported Successfully + + + + Failed to open file + Failed to open file + + + + No Hosts in file + No Hosts in file + + + + Imported Successfully + Imported Successfully + + + + + Per Game Host list + Per Game Host list + + + + Copy global settings? + Copy global settings? + + + + Delete per game host list? + Delete per game host list? + + + + HDD Image File + HDD Image File + + + + HDD (*.raw) + HDD (*.raw) + + + + 2000 + 2000 + + + + 100 + 100 + + + + Overwrite File? + Overwrite File? + + + + HDD image "%1" already exists. + +Do you want to overwrite? + HDD image "%1" already exists. + +Do you want to overwrite? + + + + HDD Creator + HDD Creator + + + + HDD image created + HDD image created + + + + Use Global + Use Global + + + + Override + Override + + + + DebugAnalysisSettingsWidget + + + Clear Existing Symbols + Clear Existing Symbols + + + + + Automatically Select Symbols To Clear + Automatically Select Symbols To Clear + + + + <html><head/><body><p><br/></p></body></html> + <html><head/><body><p><br/></p></body></html> + + + + Import Symbols + Import Symbols + + + + + Import From ELF + Import From ELF + + + + + Demangle Symbols + Demangle Symbols + + + + + Demangle Parameters + Demangle Parameters + + + + + Import Default .sym File + Import Default .sym File + + + + Import from file (.elf, .sym, etc): + Import from file (.elf, .sym, etc): + + + + Add + Add + + + + Remove + Remove + + + + Scan For Functions + Scan For Functions + + + + Scan Mode: + Scan Mode: + + + + + Scan ELF + Scan ELF + + + + Scan Memory + Scan Memory + + + + Skip + Skip + + + + Custom Address Range: + Custom Address Range: + + + + Start: + Start: + + + + End: + End: + + + + Hash Functions + Hash Functions + + + + + Gray Out Symbols For Overwritten Functions + Gray Out Symbols For Overwritten Functions + + + + + + + + + Checked + Checked + + + + Automatically delete symbols that were generated by any previous analysis runs. + Automatically delete symbols that were generated by any previous analysis runs. + + + + Import symbol tables stored in the game's boot ELF. + Import symbol tables stored in the game's boot ELF. + + + + Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. + Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. + + + + Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + + + + Include parameter lists in demangled function names. + Include parameter lists in demangled function names. + + + + Scan Mode + Scan Mode + + + + Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. + Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. + + + + Custom Address Range + Custom Address Range + + + + Unchecked + Unchecked + + + + Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). + Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). + + + + Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. + Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. + + + + <i>No symbol sources in database.</i> + <i>No symbol sources in database.</i> + + + + <i>Start this game to modify the symbol sources list.</i> + <i>Start this game to modify the symbol sources list.</i> + + + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + + Add Symbol File + Add Symbol File + + + + DebugSettingsWidget + + + + Analysis + Analysis + + + + These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. + These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. + + + + Automatically Analyze Program: + Automatically Analyze Program: + + + + Always + Always + + + + + If Debugger Is Open + If Debugger Is Open + + + + Never + Never + + + + Generate Symbols For IRX Exports + Generate Symbols For IRX Exports + + + + GS + GS + + + + Draw Dumping + Draw Dumping + + + + Dump GS Draws + Dump GS Draws + + + + Save RT + Save RT + + + + Save Frame + Save Frame + + + + Save Texture + Save Texture + + + + Save Depth + Save Depth + + + + Start Draw Number: + Start Draw Number: + + + + Draw Dump Count: + Draw Dump Count: + + + + Hardware Dump Directory: + Hardware Dump Directory: + + + + Software Dump Directory: + Software Dump Directory: + + + + + Browse... + Browse... + + + + + Open... + Open... + + + + Trace Logging + Trace Logging + + + + Enable + Enable + + + + EE + EE + + + + + DMA Control + DMA Control + + + + SPR / MFIFO + SPR / MFIFO + + + + VIF + VIF + + + + COP1 (FPU) + COP1 (FPU) + + + + MSKPATH3 + MSKPATH3 + + + + Cache + Cache + + + + GIF + GIF + + + + R5900 + R5900 + + + + COP0 + COP0 + + + + + HW Regs (MMIO) + HW Regs (MMIO) + + + + + Counters + Counters + + + + SIF + SIF + + + + COP2 (VU0 Macro) + COP2 (VU0 Macro) + + + + VIFCodes + VIFCodes + + + + Memory + Memory + + + + + Unknown MMIO + Unknown MMIO + + + + IPU + IPU + + + + + BIOS + BIOS + + + + + DMA Registers + DMA Registers + + + + GIFTags + GIFTags + + + + IOP + IOP + + + + CDVD + CDVD + + + + R3000A + R3000A + + + + Memcards + Memcards + + + + Pad + Pad + + + + MDEC + MDEC + + + + COP2 (GPU) + COP2 (GPU) + + + + Analyze Program + Analyze Program + + + + Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. + Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. + + + + Generate Symbols for IRX Export Tables + Generate Symbols for IRX Export Tables + + + + Checked + Checked + + + + Hook IRX module loading/unloading and generate symbols for exported functions on the fly. + Hook IRX module loading/unloading and generate symbols for exported functions on the fly. + + + + Enable Trace Logging + Enable Trace Logging + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unchecked + Unchecked + + + + Globally enable / disable trace logging. + Globally enable / disable trace logging. + + + + EE BIOS + EE BIOS + + + + Log SYSCALL and DECI2 activity. + Log SYSCALL and DECI2 activity. + + + + EE Memory + EE Memory + + + + Log memory access to unknown or unmapped EE memory. + Log memory access to unknown or unmapped EE memory. + + + + EE R5900 + EE R5900 + + + + Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. + Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. + + + + EE COP0 + EE COP0 + + + + Log COP0 (MMU, CPU status, etc) instructions. + Log COP0 (MMU, CPU status, etc) instructions. + + + + EE COP1 + EE COP1 + + + + Log COP1 (FPU) instructions. + Log COP1 (FPU) instructions. + + + + EE COP2 + EE COP2 + + + + Log COP2 (VU0 Macro mode) instructions. + Log COP2 (VU0 Macro mode) instructions. + + + + EE Cache + EE Cache + + + + Log EE cache activity. + Log EE cache activity. + + + + EE Known MMIO + EE Known MMIO + + + + + Log known MMIO accesses. + Log known MMIO accesses. + + + + EE Unknown MMIO + EE Unknown MMIO + + + + + Log unknown or unimplemented MMIO accesses. + Log unknown or unimplemented MMIO accesses. + + + + EE DMA Registers + EE DMA Registers + + + + + Log DMA-related MMIO accesses. + Log DMA-related MMIO accesses. + + + + EE IPU + EE IPU + + + + Log IPU activity; MMIO, decoding operations, DMA status, etc. + Log IPU activity; MMIO, decoding operations, DMA status, etc. + + + + EE GIF Tags + EE GIF Tags + + + + Log GIFtag parsing activity. + Log GIFtag parsing activity. + + + + EE VIF Codes + EE VIF Codes + + + + Log VIFcode processing; command, tag style, interrupts. + Log VIFcode processing; command, tag style, interrupts. + + + + EE MSKPATH3 + EE MSKPATH3 + + + + Log Path3 Masking processing. + Log Path3 Masking processing. + + + + EE MFIFO + EE MFIFO + + + + Log Scratchpad MFIFO activity. + Log Scratchpad MFIFO activity. + + + + EE DMA Controller + EE DMA Controller + + + + + Log DMA transfer activity. Stalls, bus right arbitration, etc. + Log DMA transfer activity. Stalls, bus right arbitration, etc. + + + + EE Counters + EE Counters + + + + Log all EE counters events and some counter register activity. + Log all EE counters events and some counter register activity. + + + + EE VIF + EE VIF + + + + Log various VIF and VIFcode processing data. + Log various VIF and VIFcode processing data. + + + + EE GIF + EE GIF + + + + Log various GIF and GIFtag parsing data. + Log various GIF and GIFtag parsing data. + + + + IOP BIOS + IOP BIOS + + + + Log SYSCALL and IRX activity. + Log SYSCALL and IRX activity. + + + + IOP Memcards + IOP Memcards + + + + Log memory card activity. Reads, Writes, erases, etc. + Log memory card activity. Reads, Writes, erases, etc. + + + + IOP R3000A + IOP R3000A + + + + Log R3000A core instructions (excluding COPs). + Log R3000A core instructions (excluding COPs). + + + + IOP COP2 + IOP COP2 + + + + Log IOP GPU co-processor instructions. + Log IOP GPU co-processor instructions. + + + + IOP Known MMIO + IOP Known MMIO + + + + IOP Unknown MMIO + IOP Unknown MMIO + + + + IOP DMA Registers + IOP DMA Registers + + + + IOP PAD + IOP PAD + + + + Log PAD activity. + Log PAD activity. + + + + IOP DMA Controller + IOP DMA Controller + + + + IOP Counters + IOP Counters + + + + Log all IOP counters events and some counter register activity. + Log all IOP counters events and some counter register activity. + + + + IOP CDVD + IOP CDVD + + + + Log CDVD hardware activity. + Log CDVD hardware activity. + + + + IOP MDEC + IOP MDEC + + + + Log Motion (FMV) Decoder hardware unit activity. + Log Motion (FMV) Decoder hardware unit activity. + + + + EE SIF + EE SIF + + + + Log SIF (EE <-> IOP) activity. + Log SIF (EE <-> IOP) activity. + + + + DebuggerWindow + + + PCSX2 Debugger + PCSX2 Debugger + + + + + Run + Run + + + + Step Into + Step Into + + + + F11 + F11 + + + + Step Over + Step Over + + + + F10 + F10 + + + + Step Out + Step Out + + + + Shift+F11 + Shift+F11 + + + + Always On Top + Always On Top + + + + Show this window on top + Show this window on top + + + + Analyze + Analyze + + + + Pause + Pause + + + + DisassemblyWidget + + + Disassembly + Disassembly + + + + Copy Address + Copy Address + + + + Copy Instruction Hex + Copy Instruction Hex + + + + NOP Instruction(s) + NOP Instruction(s) + + + + Run to Cursor + Run to Cursor + + + + Follow Branch + Follow Branch + + + + Go to in Memory View + Go to in Memory View + + + + Add Function + Add Function + + + + + Rename Function + Rename Function + + + + Remove Function + Remove Function + + + + + Assemble Error + Assemble Error + + + + Unable to change assembly while core is running + Unable to change assembly while core is running + + + + Assemble Instruction + Assemble Instruction + + + + Function name + Function name + + + + + Rename Function Error + Rename Function Error + + + + Function name cannot be nothing. + Function name cannot be nothing. + + + + No function / symbol is currently selected. + No function / symbol is currently selected. + + + + Go To In Disassembly + Go To In Disassembly + + + + Cannot Go To + Cannot Go To + + + + Restore Function Error + Restore Function Error + + + + Unable to stub selected address. + Unable to stub selected address. + + + + &Copy Instruction Text + &Copy Instruction Text + + + + Copy Function Name + Copy Function Name + + + + Restore Instruction(s) + Restore Instruction(s) + + + + Asse&mble new Instruction(s) + Asse&mble new Instruction(s) + + + + &Jump to Cursor + &Jump to Cursor + + + + Toggle &Breakpoint + Toggle &Breakpoint + + + + &Go to Address + &Go to Address + + + + Restore Function + Restore Function + + + + Stub (NOP) Function + Stub (NOP) Function + + + + Show &Opcode + Show &Opcode + + + + %1 NOT VALID ADDRESS + %1 NOT VALID ADDRESS + + + + EmptyGameListWidget + + + <html><head/><body><p><span style=" font-weight:700;">No games in supported formats were found.</span></p><p>Please add a directory with games to begin.</p><p>Game dumps in the following formats will be scanned and listed:</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">No games in supported formats were found.</span></p><p>Please add a directory with games to begin.</p><p>Game dumps in the following formats will be scanned and listed:</p></body></html> + + + + Add Game Directory... + Add Game Directory... + + + + Scan For New Games + Scan For New Games + + + + EmuThread + + + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + + + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + + + + No Image + No Image + + + + %1x%2 + %1x%2 + + + + FPS: %1 + FPS: %1 + + + + VPS: %1 + VPS: %1 + + + + Speed: %1% + Speed: %1% + + + + Game: %1 (%2) + + Game: %1 (%2) + + + + + Rich presence inactive or unsupported. + Rich presence inactive or unsupported. + + + + Game not loaded or no RetroAchievements available. + Game not loaded or no RetroAchievements available. + + + + + + + Error + Error + + + + Failed to create HTTPDownloader. + Failed to create HTTPDownloader. + + + + Downloading %1... + Downloading %1... + + + + Download failed with HTTP status code %1. + Download failed with HTTP status code %1. + + + + Download failed: Data is empty. + Download failed: Data is empty. + + + + Failed to write '%1'. + Failed to write '%1'. + + + + EmulationSettingsWidget + + + Speed Control + Speed Control + + + + Normal Speed: + Normal Speed: + + + + System Settings + System Settings + + + + + Enable Cheats + Enable Cheats + + + + Slow-Motion Speed: + Slow-Motion Speed: + + + + Fast-Forward Speed: + Fast-Forward Speed: + + + + Enable Multithreaded VU1 (MTVU) + Enable Multithreaded VU1 (MTVU) + + + + + Enable Host Filesystem + Enable Host Filesystem + + + + + Enable Fast CDVD + Enable Fast CDVD + + + + + Enable CDVD Precaching + Enable CDVD Precaching + + + + + Enable Thread Pinning + Enable Thread Pinning + + + + EE Cycle Skipping: + EE Cycle Skipping: + + + + + Disabled + Disabled + + + + Mild Underclock + Mild Underclock + + + + Moderate Underclock + Moderate Underclock + + + + Maximum Underclock + Maximum Underclock + + + + EE Cycle Rate: + EE Cycle Rate: + + + + 50% (Underclock) + 50% (Underclock) + + + + 60% (Underclock) + 60% (Underclock) + + + + 75% (Underclock) + 75% (Underclock) + + + + + 100% (Normal Speed) + 100% (Normal Speed) + + + + 130% (Overclock) + 130% (Overclock) + + + + 180% (Overclock) + 180% (Overclock) + + + + 300% (Overclock) + 300% (Overclock) + + + + Frame Pacing / Latency Control + Frame Pacing / Latency Control + + + + frames + This string will appear next to the amount of frames selected, in a dropdown box. + frames + + + + Maximum Frame Latency: + Maximum Frame Latency: + + + + + Use Host VSync Timing + Use Host VSync Timing + + + + + Sync to Host Refresh Rate + Sync to Host Refresh Rate + + + + + Optimal Frame Pacing + Optimal Frame Pacing + + + + + Vertical Sync (VSync) + Vertical Sync (VSync) + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + Normal Speed + Normal Speed + + + + Sets the target emulation speed. It is not guaranteed that this speed will be reached, and if not, the emulator will run as fast as it can manage. + Sets the target emulation speed. It is not guaranteed that this speed will be reached, and if not, the emulator will run as fast as it can manage. + + + + + User Preference + User Preference + + + + Checked + Checked + + + + Higher values may increase internal framerate in games, but will increase CPU requirements substantially. Lower values will reduce the CPU load allowing lightweight games to run full speed on weaker CPUs. + Higher values may increase internal framerate in games, but will increase CPU requirements substantially. Lower values will reduce the CPU load allowing lightweight games to run full speed on weaker CPUs. + + + + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + SOTC = Shadow of the Colossus. A game's title, should not be translated unless an official translation exists. + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + + + + + + + + + + + + Unchecked + Unchecked + + + + Fast disc access, less loading times. Check HDLoader compatibility lists for known games that have issues with this. + Fast disc access, less loading times. Check HDLoader compatibility lists for known games that have issues with this. + + + + Automatically loads and applies cheats on game start. + Automatically loads and applies cheats on game start. + + + + Allows games and homebrew to access files / folders directly on the host computer. + Allows games and homebrew to access files / folders directly on the host computer. + + + + Fast-Forward Speed + The "User Preference" string will appear after the text "Recommended Value:" + Fast-Forward Speed + + + + 100% + 100% + + + + Sets the fast-forward speed. This speed will be used when the fast-forward hotkey is pressed/toggled. + Sets the fast-forward speed. This speed will be used when the fast-forward hotkey is pressed/toggled. + + + + Slow-Motion Speed + The "User Preference" string will appear after the text "Recommended Value:" + Slow-Motion Speed + + + + Sets the slow-motion speed. This speed will be used when the slow-motion hotkey is pressed/toggled. + Sets the slow-motion speed. This speed will be used when the slow-motion hotkey is pressed/toggled. + + + + EE Cycle Rate + EE Cycle Rate + + + + EE Cycle Skip + EE Cycle Skip + + + + Sets the priority for specific threads in a specific order ignoring the system scheduler. May help CPUs with big (P) and little (E) cores (e.g. Intel 12th or newer generation CPUs from Intel or other vendors such as AMD). + P-Core = Performance Core, E-Core = Efficiency Core. See if Intel has official translations for these terms. + Sets the priority for specific threads in a specific order ignoring the system scheduler. May help CPUs with big (P) and little (E) cores (e.g. Intel 12th or newer generation CPUs from Intel or other vendors such as AMD). + + + + Enable Multithreaded VU1 (MTVU1) + Enable Multithreaded VU1 (MTVU1) + + + + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + + + + Loads the disc image into RAM before starting the virtual machine. Can reduce stutter on systems with hard drives that have long wake times, but significantly increases boot times. + Loads the disc image into RAM before starting the virtual machine. Can reduce stutter on systems with hard drives that have long wake times, but significantly increases boot times. + + + + Sets the VSync queue size to 0, making every frame be completed and presented by the GS before input is polled and the next frame begins. Using this setting can reduce input lag at the cost of measurably higher CPU and GPU requirements. + Sets the VSync queue size to 0, making every frame be completed and presented by the GS before input is polled and the next frame begins. Using this setting can reduce input lag at the cost of measurably higher CPU and GPU requirements. + + + + Maximum Frame Latency + Maximum Frame Latency + + + + 2 Frames + 2 Frames + + + + Sets the maximum number of frames that can be queued up to the GS, before the CPU thread will wait for one of them to complete before continuing. Higher values can assist with smoothing out irregular frame times, but add additional input lag. + Sets the maximum number of frames that can be queued up to the GS, before the CPU thread will wait for one of them to complete before continuing. Higher values can assist with smoothing out irregular frame times, but add additional input lag. + + + + Speeds up emulation so that the guest refresh rate matches the host. This results in the smoothest animations possible, at the cost of potentially increasing the emulation speed by less than 1%. Sync to Host Refresh Rate will not take effect if the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays should disable this option. + Speeds up emulation so that the guest refresh rate matches the host. This results in the smoothest animations possible, at the cost of potentially increasing the emulation speed by less than 1%. Sync to Host Refresh Rate will not take effect if the console's refresh rate is too far from the host's refresh rate. Users with variable refresh rate displays should disable this option. + + + + Enable this option to match PCSX2's refresh rate with your current monitor or screen. VSync is automatically disabled when it is not possible (eg. running at non-100% speed). + Enable this option to match PCSX2's refresh rate with your current monitor or screen. VSync is automatically disabled when it is not possible (eg. running at non-100% speed). + + + + When synchronizing with the host refresh rate, this option disable's PCSX2's internal frame timing, and uses the host instead. Can result in smoother frame pacing, <strong>but at the cost of increased input latency</strong>. + When synchronizing with the host refresh rate, this option disable's PCSX2's internal frame timing, and uses the host instead. Can result in smoother frame pacing, <strong>but at the cost of increased input latency</strong>. + + + + Use Global Setting [%1%] + Use Global Setting [%1%] + + + + %1% [%2 FPS (NTSC) / %3 FPS (PAL)] + %1% [%2 FPS (NTSC) / %3 FPS (PAL)] + + + + Unlimited + Every case that uses this particular string seems to refer to speeds: Normal Speed/Fast Forward Speed/Slow Motion Speed. + Unlimited + + + + Custom + Every case that uses this particular string seems to refer to speeds: Normal Speed/Fast Forward Speed/Slow Motion Speed. + Custom + + + + + Custom [%1% / %2 FPS (NTSC) / %3 FPS (PAL)] + Custom [%1% / %2 FPS (NTSC) / %3 FPS (PAL)] + + + + Custom Speed + Custom Speed + + + + Enter Custom Speed + Enter Custom Speed + + + + ExpressionParser + + + Invalid memory access size %d. + Invalid memory access size %d. + + + + Invalid memory access (unaligned). + Invalid memory access (unaligned). + + + + + Token too long. + Token too long. + + + + Invalid number "%s". + Invalid number "%s". + + + + Invalid symbol "%s". + Invalid symbol "%s". + + + + Invalid operator at "%s". + Invalid operator at "%s". + + + + Closing parenthesis without opening one. + Closing parenthesis without opening one. + + + + Closing bracket without opening one. + Closing bracket without opening one. + + + + Parenthesis not closed. + Parenthesis not closed. + + + + Not enough arguments. + Not enough arguments. + + + + Invalid memsize operator. + Invalid memsize operator. + + + + Division by zero. + Division by zero. + + + + Modulo by zero. + Modulo by zero. + + + + Invalid tertiary operator. + Invalid tertiary operator. + + + + FileOperations + + + Failed to show file + Failed to show file + + + + Failed to show file in file explorer. + +The file was: %1 + Failed to show file in file explorer. + +The file was: %1 + + + + Show in Folder + Windows action to show a file in Windows Explorer + Show in Folder + + + + Show in Finder + macOS action to show a file in Finder + Show in Finder + + + + Open Containing Directory + Opens the system file manager to the directory containing a selected file + Open Containing Directory + + + + Failed to open URL + Failed to open URL + + + + Failed to open URL. + +The URL was: %1 + Failed to open URL. + +The URL was: %1 + + + + FolderSettingsWidget + + + Cache Directory + Cache Directory + + + + + + + + Browse... + Browse... + + + + + + + + Open... + Open... + + + + + + + + Reset + Reset + + + + Used for storing shaders, game list, and achievement data. + Used for storing shaders, game list, and achievement data. + + + + Cheats Directory + Cheats Directory + + + + Used for storing .pnach files containing game cheats. + Used for storing .pnach files containing game cheats. + + + + Covers Directory + Covers Directory + + + + Used for storing covers in the game grid/Big Picture UIs. + Used for storing covers in the game grid/Big Picture UIs. + + + + Snapshots Directory + Snapshots Directory + + + + Used for screenshots and saving GS dumps. + Used for screenshots and saving GS dumps. + + + + Save States Directory + Save States Directory + + + + Used for storing save states. + Used for storing save states. + + + + FullscreenUI + + + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + + + + Use Global Setting + Use Global Setting + + + + Automatic binding failed, no devices are available. + Automatic binding failed, no devices are available. + + + + Game title copied to clipboard. + Game title copied to clipboard. + + + + Game serial copied to clipboard. + Game serial copied to clipboard. + + + + Game CRC copied to clipboard. + Game CRC copied to clipboard. + + + + Game type copied to clipboard. + Game type copied to clipboard. + + + + Game region copied to clipboard. + Game region copied to clipboard. + + + + Game compatibility copied to clipboard. + Game compatibility copied to clipboard. + + + + Game path copied to clipboard. + Game path copied to clipboard. + + + + Controller settings reset to default. + Controller settings reset to default. + + + + No input profiles available. + No input profiles available. + + + + Create New... + Create New... + + + + Enter the name of the input profile you wish to create. + Enter the name of the input profile you wish to create. + + + + Are you sure you want to restore the default settings? Any preferences will be lost. + Are you sure you want to restore the default settings? Any preferences will be lost. + + + + Settings reset to defaults. + Settings reset to defaults. + + + + No save present in this slot. + No save present in this slot. + + + + No save states found. + No save states found. + + + + Failed to delete save state. + Failed to delete save state. + + + + Failed to copy text to clipboard. + Failed to copy text to clipboard. + + + + This game has no achievements. + This game has no achievements. + + + + This game has no leaderboards. + This game has no leaderboards. + + + + Reset System + Reset System + + + + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? + + + + Launch a game from images scanned from your game directories. + Launch a game from images scanned from your game directories. + + + + Launch a game by selecting a file/disc image. + Launch a game by selecting a file/disc image. + + + + Start the console without any disc inserted. + Start the console without any disc inserted. + + + + Start a game from a disc in your PC's DVD drive. + Start a game from a disc in your PC's DVD drive. + + + + No Binding + No Binding + + + + Setting %s binding %s. + Setting %s binding %s. + + + + Push a controller button or axis now. + Push a controller button or axis now. + + + + Timing out in %.0f seconds... + Timing out in %.0f seconds... + + + + Unknown + Unknown + + + + OK + OK + + + + Select Device + Select Device + + + + Details + Details + + + + Options + Options + + + + Copies the current global settings to this game. + Copies the current global settings to this game. + + + + Clears all settings set for this game. + Clears all settings set for this game. + + + + Behaviour + Behaviour + + + + Prevents the screen saver from activating and the host from sleeping while emulation is running. + Prevents the screen saver from activating and the host from sleeping while emulation is running. + + + + Shows the game you are currently playing as part of your profile on Discord. + Shows the game you are currently playing as part of your profile on Discord. + + + + Pauses the emulator when a game is started. + Pauses the emulator when a game is started. + + + + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + + + + Pauses the emulator when you open the quick menu, and unpauses when you close it. + Pauses the emulator when you open the quick menu, and unpauses when you close it. + + + + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. + + + + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. + + + + Uses a light coloured theme instead of the default dark theme. + Uses a light coloured theme instead of the default dark theme. + + + + Game Display + Game Display + + + + Switches between full screen and windowed when the window is double-clicked. + Switches between full screen and windowed when the window is double-clicked. + + + + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + + + + Determines how large the on-screen messages and monitor are. + Determines how large the on-screen messages and monitor are. + + + + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + + + + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + + + + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. + + + + Shows the CPU usage based on threads in the top-right corner of the display. + Shows the CPU usage based on threads in the top-right corner of the display. + + + + Shows the host's GPU usage in the top-right corner of the display. + Shows the host's GPU usage in the top-right corner of the display. + + + + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. + + + + Shows indicators when fast forwarding, pausing, and other abnormal states are active. + Shows indicators when fast forwarding, pausing, and other abnormal states are active. + + + + Shows the current configuration in the bottom-right corner of the display. + Shows the current configuration in the bottom-right corner of the display. + + + + Shows the current controller state of the system in the bottom-left corner of the display. + Shows the current controller state of the system in the bottom-left corner of the display. + + + + Displays warnings when settings are enabled which may break games. + Displays warnings when settings are enabled which may break games. + + + + Resets configuration to defaults (excluding controller settings). + Resets configuration to defaults (excluding controller settings). + + + + Changes the BIOS image used to start future sessions. + Changes the BIOS image used to start future sessions. + + + + Automatic + Automatic + + + + {0}/{1}/{2}/{3} + {0}/{1}/{2}/{3} + + + + Default + Default + + + + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. + +Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. + +Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? + + + + Automatically switches to fullscreen mode when a game is started. + Automatically switches to fullscreen mode when a game is started. + + + + On-Screen Display + On-Screen Display + + + + %d%% + %d%% + + + + Shows the resolution of the game in the top-right corner of the display. + Shows the resolution of the game in the top-right corner of the display. + + + + BIOS Configuration + BIOS Configuration + + + + BIOS Selection + BIOS Selection + + + + Options and Patches + Options and Patches + + + + Skips the intro screen, and bypasses region checks. + Skips the intro screen, and bypasses region checks. + + + + Speed Control + Speed Control + + + + Normal Speed + Normal Speed + + + + Sets the speed when running without fast forwarding. + Sets the speed when running without fast forwarding. + + + + Fast Forward Speed + Fast Forward Speed + + + + Sets the speed when using the fast forward hotkey. + Sets the speed when using the fast forward hotkey. + + + + Slow Motion Speed + Slow Motion Speed + + + + Sets the speed when using the slow motion hotkey. + Sets the speed when using the slow motion hotkey. + + + + System Settings + System Settings + + + + EE Cycle Rate + EE Cycle Rate + + + + Underclocks or overclocks the emulated Emotion Engine CPU. + Underclocks or overclocks the emulated Emotion Engine CPU. + + + + EE Cycle Skipping + EE Cycle Skipping + + + + Enable MTVU (Multi-Threaded VU1) + Enable MTVU (Multi-Threaded VU1) + + + + Enable Instant VU1 + Enable Instant VU1 + + + + Enable Cheats + Enable Cheats + + + + Enables loading cheats from pnach files. + Enables loading cheats from pnach files. + + + + Enable Host Filesystem + Enable Host Filesystem + + + + Enables access to files from the host: namespace in the virtual machine. + Enables access to files from the host: namespace in the virtual machine. + + + + Enable Fast CDVD + Enable Fast CDVD + + + + Fast disc access, less loading times. Not recommended. + Fast disc access, less loading times. Not recommended. + + + + Frame Pacing/Latency Control + Frame Pacing/Latency Control + + + + Maximum Frame Latency + Maximum Frame Latency + + + + Sets the number of frames which can be queued. + Sets the number of frames which can be queued. + + + + Optimal Frame Pacing + Optimal Frame Pacing + + + + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. + + + + Speeds up emulation so that the guest refresh rate matches the host. + Speeds up emulation so that the guest refresh rate matches the host. + + + + Renderer + Renderer + + + + Selects the API used to render the emulated GS. + Selects the API used to render the emulated GS. + + + + Synchronizes frame presentation with host refresh. + Synchronizes frame presentation with host refresh. + + + + Display + Display + + + + Aspect Ratio + Aspect Ratio + + + + Selects the aspect ratio to display the game content at. + Selects the aspect ratio to display the game content at. + + + + FMV Aspect Ratio Override + FMV Aspect Ratio Override + + + + Selects the aspect ratio for display when a FMV is detected as playing. + Selects the aspect ratio for display when a FMV is detected as playing. + + + + Deinterlacing + Deinterlacing + + + + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. + + + + Screenshot Size + Screenshot Size + + + + Determines the resolution at which screenshots will be saved. + Determines the resolution at which screenshots will be saved. + + + + Screenshot Format + Screenshot Format + + + + Selects the format which will be used to save screenshots. + Selects the format which will be used to save screenshots. + + + + Screenshot Quality + Screenshot Quality + + + + Selects the quality at which screenshots will be compressed. + Selects the quality at which screenshots will be compressed. + + + + Vertical Stretch + Vertical Stretch + + + + Increases or decreases the virtual picture size vertically. + Increases or decreases the virtual picture size vertically. + + + + Crop + Crop + + + + Crops the image, while respecting aspect ratio. + Crops the image, while respecting aspect ratio. + + + + %dpx + %dpx + + + + Bilinear Upscaling + Bilinear Upscaling + + + + Smooths out the image when upscaling the console to the screen. + Smooths out the image when upscaling the console to the screen. + + + + Integer Upscaling + Integer Upscaling + + + + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + + + + Screen Offsets + Screen Offsets + + + + Enables PCRTC Offsets which position the screen as the game requests. + Enables PCRTC Offsets which position the screen as the game requests. + + + + Show Overscan + Show Overscan + + + + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + + + + Anti-Blur + Anti-Blur + + + + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + + + + Rendering + Rendering + + + + Internal Resolution + Internal Resolution + + + + Multiplies the render resolution by the specified factor (upscaling). + Multiplies the render resolution by the specified factor (upscaling). + + + + Mipmapping + Mipmapping + + + + Bilinear Filtering + Bilinear Filtering + + + + Selects where bilinear filtering is utilized when rendering textures. + Selects where bilinear filtering is utilized when rendering textures. + + + + Trilinear Filtering + Trilinear Filtering + + + + Selects where trilinear filtering is utilized when rendering textures. + Selects where trilinear filtering is utilized when rendering textures. + + + + Anisotropic Filtering + Anisotropic Filtering + + + + Dithering + Dithering + + + + Selects the type of dithering applies when the game requests it. + Selects the type of dithering applies when the game requests it. + + + + Blending Accuracy + Blending Accuracy + + + + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. + + + + Texture Preloading + Texture Preloading + + + + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. + + + + Software Rendering Threads + Software Rendering Threads + + + + Number of threads to use in addition to the main GS thread for rasterization. + Number of threads to use in addition to the main GS thread for rasterization. + + + + Auto Flush (Software) + Auto Flush (Software) + + + + Force a primitive flush when a framebuffer is also an input texture. + Force a primitive flush when a framebuffer is also an input texture. + + + + Edge AA (AA1) + Edge AA (AA1) + + + + Enables emulation of the GS's edge anti-aliasing (AA1). + Enables emulation of the GS's edge anti-aliasing (AA1). + + + + Enables emulation of the GS's texture mipmapping. + Enables emulation of the GS's texture mipmapping. + + + + The selected input profile will be used for this game. + The selected input profile will be used for this game. + + + + Shared + Shared + + + + Input Profile + Input Profile + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + + Shows the current PCSX2 version on the top-right corner of the display. + Shows the current PCSX2 version on the top-right corner of the display. + + + + Shows the currently active input recording status. + Shows the currently active input recording status. + + + + Shows the currently active video capture status. + Shows the currently active video capture status. + + + + Shows a visual history of frame times in the upper-left corner of the display. + Shows a visual history of frame times in the upper-left corner of the display. + + + + Shows the current system hardware information on the OSD. + Shows the current system hardware information on the OSD. + + + + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. + + + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + + Hardware Fixes + Hardware Fixes + + + + Manual Hardware Fixes + Manual Hardware Fixes + + + + Disables automatic hardware fixes, allowing you to set fixes manually. + Disables automatic hardware fixes, allowing you to set fixes manually. + + + + CPU Sprite Render Size + CPU Sprite Render Size + + + + Uses software renderer to draw texture decompression-like sprites. + Uses software renderer to draw texture decompression-like sprites. + + + + CPU Sprite Render Level + CPU Sprite Render Level + + + + Determines filter level for CPU sprite render. + Determines filter level for CPU sprite render. + + + + Software CLUT Render + Software CLUT Render + + + + Uses software renderer to draw texture CLUT points/sprites. + Uses software renderer to draw texture CLUT points/sprites. + + + + Skip Draw Start + Skip Draw Start + + + + Object range to skip drawing. + Object range to skip drawing. + + + + Skip Draw End + Skip Draw End + + + + Auto Flush (Hardware) + Auto Flush (Hardware) + + + + CPU Framebuffer Conversion + CPU Framebuffer Conversion + + + + Disable Depth Conversion + Disable Depth Conversion + + + + Disable Safe Features + Disable Safe Features + + + + This option disables multiple safe features. + This option disables multiple safe features. + + + + This option disables game-specific render fixes. + This option disables game-specific render fixes. + + + + Uploads GS data when rendering a new frame to reproduce some effects accurately. + Uploads GS data when rendering a new frame to reproduce some effects accurately. + + + + Disable Partial Invalidation + Disable Partial Invalidation + + + + Removes texture cache entries when there is any intersection, rather than only the intersected areas. + Removes texture cache entries when there is any intersection, rather than only the intersected areas. + + + + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + + + + Read Targets When Closing + Read Targets When Closing + + + + Flushes all targets in the texture cache back to local memory when shutting down. + Flushes all targets in the texture cache back to local memory when shutting down. + + + + Estimate Texture Region + Estimate Texture Region + + + + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + + + + GPU Palette Conversion + GPU Palette Conversion + + + + Upscaling Fixes + Upscaling Fixes + + + + Adjusts vertices relative to upscaling. + Adjusts vertices relative to upscaling. + + + + Native Scaling + Native Scaling + + + + Attempt to do rescaling at native resolution. + Attempt to do rescaling at native resolution. + + + + Round Sprite + Round Sprite + + + + Adjusts sprite coordinates. + Adjusts sprite coordinates. + + + + Bilinear Upscale + Bilinear Upscale + + + + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + + + + Adjusts target texture offsets. + Adjusts target texture offsets. + + + + Align Sprite + Align Sprite + + + + Fixes issues with upscaling (vertical lines) in some games. + Fixes issues with upscaling (vertical lines) in some games. + + + + Merge Sprite + Merge Sprite + + + + Replaces multiple post-processing sprites with a larger single sprite. + Replaces multiple post-processing sprites with a larger single sprite. + + + + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + + + + Unscaled Palette Texture Draws + Unscaled Palette Texture Draws + + + + Can fix some broken effects which rely on pixel perfect precision. + Can fix some broken effects which rely on pixel perfect precision. + + + + Texture Replacement + Texture Replacement + + + + Load Textures + Load Textures + + + + Loads replacement textures where available and user-provided. + Loads replacement textures where available and user-provided. + + + + Asynchronous Texture Loading + Asynchronous Texture Loading + + + + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + + + + Precache Replacements + Precache Replacements + + + + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + + + + Replacements Directory + Replacements Directory + + + + Folders + Folders + + + + Texture Dumping + Texture Dumping + + + + Dump Textures + Dump Textures + + + + Dump Mipmaps + Dump Mipmaps + + + + Includes mipmaps when dumping textures. + Includes mipmaps when dumping textures. + + + + Dump FMV Textures + Dump FMV Textures + + + + Allows texture dumping when FMVs are active. You should not enable this. + Allows texture dumping when FMVs are active. You should not enable this. + + + + Post-Processing + Post-Processing + + + + FXAA + FXAA + + + + Enables FXAA post-processing shader. + Enables FXAA post-processing shader. + + + + Contrast Adaptive Sharpening + Contrast Adaptive Sharpening + + + + Enables FidelityFX Contrast Adaptive Sharpening. + Enables FidelityFX Contrast Adaptive Sharpening. + + + + CAS Sharpness + CAS Sharpness + + + + Determines the intensity the sharpening effect in CAS post-processing. + Determines the intensity the sharpening effect in CAS post-processing. + + + + Filters + Filters + + + + Shade Boost + Shade Boost + + + + Enables brightness/contrast/saturation adjustment. + Enables brightness/contrast/saturation adjustment. + + + + Shade Boost Brightness + Shade Boost Brightness + + + + Adjusts brightness. 50 is normal. + Adjusts brightness. 50 is normal. + + + + Shade Boost Contrast + Shade Boost Contrast + + + + Adjusts contrast. 50 is normal. + Adjusts contrast. 50 is normal. + + + + Shade Boost Saturation + Shade Boost Saturation + + + + Adjusts saturation. 50 is normal. + Adjusts saturation. 50 is normal. + + + + TV Shaders + TV Shaders + + + + Advanced + Advanced + + + + Skip Presenting Duplicate Frames + Skip Presenting Duplicate Frames + + + + Extended Upscaling Multipliers + Extended Upscaling Multipliers + + + + Displays additional, very high upscaling multipliers dependent on GPU capability. + Displays additional, very high upscaling multipliers dependent on GPU capability. + + + + Hardware Download Mode + Hardware Download Mode + + + + Changes synchronization behavior for GS downloads. + Changes synchronization behavior for GS downloads. + + + + Allow Exclusive Fullscreen + Allow Exclusive Fullscreen + + + + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. + + + + Override Texture Barriers + Override Texture Barriers + + + + Forces texture barrier functionality to the specified value. + Forces texture barrier functionality to the specified value. + + + + GS Dump Compression + GS Dump Compression + + + + Sets the compression algorithm for GS dumps. + Sets the compression algorithm for GS dumps. + + + + Disable Framebuffer Fetch + Disable Framebuffer Fetch + + + + Prevents the usage of framebuffer fetch when supported by host GPU. + Prevents the usage of framebuffer fetch when supported by host GPU. + + + + Disable Shader Cache + Disable Shader Cache + + + + Prevents the loading and saving of shaders/pipelines to disk. + Prevents the loading and saving of shaders/pipelines to disk. + + + + Disable Vertex Shader Expand + Disable Vertex Shader Expand + + + + Falls back to the CPU for expanding sprites/lines. + Falls back to the CPU for expanding sprites/lines. + + + + Changes when SPU samples are generated relative to system emulation. + Changes when SPU samples are generated relative to system emulation. + + + + %d ms + %d ms + + + + Settings and Operations + Settings and Operations + + + + Creates a new memory card file or folder. + Creates a new memory card file or folder. + + + + Simulates a larger memory card by filtering saves only to the current game. + Simulates a larger memory card by filtering saves only to the current game. + + + + If not set, this card will be considered unplugged. + If not set, this card will be considered unplugged. + + + + The selected memory card image will be used for this slot. + The selected memory card image will be used for this slot. + + + + Enable/Disable the Player LED on DualSense controllers. + Enable/Disable the Player LED on DualSense controllers. + + + + Trigger + Trigger + + + + Toggles the macro when the button is pressed, instead of held. + Toggles the macro when the button is pressed, instead of held. + + + + Savestate + Savestate + + + + Compression Method + Compression Method + + + + Sets the compression algorithm for savestate. + Sets the compression algorithm for savestate. + + + + Compression Level + Compression Level + + + + Sets the compression level for savestate. + Sets the compression level for savestate. + + + + Version: %s + Version: %s + + + + {:%H:%M} + {:%H:%M} + + + + Slot {} + Slot {} + + + + 1.25x Native (~450px) + 1.25x Native (~450px) + + + + 1.5x Native (~540px) + 1.5x Native (~540px) + + + + 1.75x Native (~630px) + 1.75x Native (~630px) + + + + 2x Native (~720px/HD) + 2x Native (~720px/HD) + + + + 2.5x Native (~900px/HD+) + 2.5x Native (~900px/HD+) + + + + 3x Native (~1080px/FHD) + 3x Native (~1080px/FHD) + + + + 3.5x Native (~1260px) + 3.5x Native (~1260px) + + + + 4x Native (~1440px/QHD) + 4x Native (~1440px/QHD) + + + + 5x Native (~1800px/QHD+) + 5x Native (~1800px/QHD+) + + + + 6x Native (~2160px/4K UHD) + 6x Native (~2160px/4K UHD) + + + + 7x Native (~2520px) + 7x Native (~2520px) + + + + 8x Native (~2880px/5K UHD) + 8x Native (~2880px/5K UHD) + + + + 9x Native (~3240px) + 9x Native (~3240px) + + + + 10x Native (~3600px/6K UHD) + 10x Native (~3600px/6K UHD) + + + + 11x Native (~3960px) + 11x Native (~3960px) + + + + 12x Native (~4320px/8K UHD) + 12x Native (~4320px/8K UHD) + + + + WebP + WebP + + + + Aggressive + Aggressive + + + + Deflate64 + Deflate64 + + + + Zstandard + Zstandard + + + + LZMA2 + LZMA2 + + + + Low (Fast) + Low (Fast) + + + + Medium (Recommended) + Medium (Recommended) + + + + Very High (Slow, Not Recommended) + Very High (Slow, Not Recommended) + + + + Change Selection + Change Selection + + + + Select + Select + + + + Parent Directory + Parent Directory + + + + Enter Value + Enter Value + + + + About + About + + + + Toggle Fullscreen + Toggle Fullscreen + + + + Navigate + Navigate + + + + Load Global State + Load Global State + + + + Change Page + Change Page + + + + Return To Game + Return To Game + + + + Select State + Select State + + + + Select Game + Select Game + + + + Change View + Change View + + + + Launch Options + Launch Options + + + + Create Save State Backups + Create Save State Backups + + + + Show PCSX2 Version + Show PCSX2 Version + + + + Show Input Recording Status + Show Input Recording Status + + + + Show Video Capture Status + Show Video Capture Status + + + + Show Frame Times + Show Frame Times + + + + Show Hardware Info + Show Hardware Info + + + + Create Memory Card + Create Memory Card + + + + Configuration + Configuration + + + + Start Game + Start Game + + + + Launch a game from a file, disc, or starts the console without any disc inserted. + Launch a game from a file, disc, or starts the console without any disc inserted. + + + + Changes settings for the application. + Changes settings for the application. + + + + Return to desktop mode, or exit the application. + Return to desktop mode, or exit the application. + + + + Back + Back + + + + Return to the previous menu. + Return to the previous menu. + + + + Exit PCSX2 + Exit PCSX2 + + + + Completely exits the application, returning you to your desktop. + Completely exits the application, returning you to your desktop. + + + + Desktop Mode + Desktop Mode + + + + Exits Big Picture mode, returning to the desktop interface. + Exits Big Picture mode, returning to the desktop interface. + + + + Resets all configuration to defaults (including bindings). + Resets all configuration to defaults (including bindings). + + + + Replaces these settings with a previously saved input profile. + Replaces these settings with a previously saved input profile. + + + + Stores the current settings to an input profile. + Stores the current settings to an input profile. + + + + Input Sources + Input Sources + + + + The SDL input source supports most controllers. + The SDL input source supports most controllers. + + + + Provides vibration and LED control support over Bluetooth. + Provides vibration and LED control support over Bluetooth. + + + + Allow SDL to use raw access to input devices. + Allow SDL to use raw access to input devices. + + + + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. + + + + Multitap + Multitap + + + + Enables an additional three controller slots. Not supported in all games. + Enables an additional three controller slots. Not supported in all games. + + + + Attempts to map the selected port to a chosen controller. + Attempts to map the selected port to a chosen controller. + + + + Determines how much pressure is simulated when macro is active. + Determines how much pressure is simulated when macro is active. + + + + Determines the pressure required to activate the macro. + Determines the pressure required to activate the macro. + + + + Toggle every %d frames + Toggle every %d frames + + + + Clears all bindings for this USB controller. + Clears all bindings for this USB controller. + + + + Data Save Locations + Data Save Locations + + + + Show Advanced Settings + Show Advanced Settings + + + + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + + + + Logging + Logging + + + + System Console + System Console + + + + Writes log messages to the system console (console window/standard output). + Writes log messages to the system console (console window/standard output). + + + + File Logging + File Logging + + + + Writes log messages to emulog.txt. + Writes log messages to emulog.txt. + + + + Verbose Logging + Verbose Logging + + + + Writes dev log messages to log sinks. + Writes dev log messages to log sinks. + + + + Log Timestamps + Log Timestamps + + + + Writes timestamps alongside log messages. + Writes timestamps alongside log messages. + + + + EE Console + EE Console + + + + Writes debug messages from the game's EE code to the console. + Writes debug messages from the game's EE code to the console. + + + + IOP Console + IOP Console + + + + Writes debug messages from the game's IOP code to the console. + Writes debug messages from the game's IOP code to the console. + + + + CDVD Verbose Reads + CDVD Verbose Reads + + + + Logs disc reads from games. + Logs disc reads from games. + + + + Emotion Engine + Emotion Engine + + + + Rounding Mode + Rounding Mode + + + + Determines how the results of floating-point operations are rounded. Some games need specific settings. + Determines how the results of floating-point operations are rounded. Some games need specific settings. + + + + Division Rounding Mode + Division Rounding Mode + + + + Determines how the results of floating-point division is rounded. Some games need specific settings. + Determines how the results of floating-point division is rounded. Some games need specific settings. + + + + Clamping Mode + Clamping Mode + + + + Determines how out-of-range floating point numbers are handled. Some games need specific settings. + Determines how out-of-range floating point numbers are handled. Some games need specific settings. + + + + Enable EE Recompiler + Enable EE Recompiler + + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. + + + + Enable EE Cache + Enable EE Cache + + + + Enables simulation of the EE's cache. Slow. + Enables simulation of the EE's cache. Slow. + + + + Enable INTC Spin Detection + Enable INTC Spin Detection + + + + Huge speedup for some games, with almost no compatibility side effects. + Huge speedup for some games, with almost no compatibility side effects. + + + + Enable Wait Loop Detection + Enable Wait Loop Detection + + + + Moderate speedup for some games, with no known side effects. + Moderate speedup for some games, with no known side effects. + + + + Enable Fast Memory Access + Enable Fast Memory Access + + + + Uses backpatching to avoid register flushing on every memory access. + Uses backpatching to avoid register flushing on every memory access. + + + + Vector Units + Vector Units + + + + VU0 Rounding Mode + VU0 Rounding Mode + + + + VU0 Clamping Mode + VU0 Clamping Mode + + + + VU1 Rounding Mode + VU1 Rounding Mode + + + + VU1 Clamping Mode + VU1 Clamping Mode + + + + Enable VU0 Recompiler (Micro Mode) + Enable VU0 Recompiler (Micro Mode) + + + + New Vector Unit recompiler with much improved compatibility. Recommended. + New Vector Unit recompiler with much improved compatibility. Recommended. + + + + Enable VU1 Recompiler + Enable VU1 Recompiler + + + + Enable VU Flag Optimization + Enable VU Flag Optimization + + + + Good speedup and high compatibility, may cause graphical errors. + Good speedup and high compatibility, may cause graphical errors. + + + + I/O Processor + I/O Processor + + + + Enable IOP Recompiler + Enable IOP Recompiler + + + + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. + + + + Graphics + Graphics + + + + Use Debug Device + Use Debug Device + + + + Settings + Settings + + + + No cheats are available for this game. + No cheats are available for this game. + + + + Cheat Codes + Cheat Codes + + + + No patches are available for this game. + No patches are available for this game. + + + + Game Patches + Game Patches + + + + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + + + + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + + + + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + + + + Game Fixes + Game Fixes + + + + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. + + + + FPU Multiply Hack + FPU Multiply Hack + + + + For Tales of Destiny. + For Tales of Destiny. + + + + Preload TLB Hack + Preload TLB Hack + + + + Needed for some games with complex FMV rendering. + Needed for some games with complex FMV rendering. + + + + Skip MPEG Hack + Skip MPEG Hack + + + + Skips videos/FMVs in games to avoid game hanging/freezes. + Skips videos/FMVs in games to avoid game hanging/freezes. + + + + OPH Flag Hack + OPH Flag Hack + + + + EE Timing Hack + EE Timing Hack + + + + Instant DMA Hack + Instant DMA Hack + + + + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + + + + For SOCOM 2 HUD and Spy Hunter loading hang. + For SOCOM 2 HUD and Spy Hunter loading hang. + + + + VU Add Hack + VU Add Hack + + + + Full VU0 Synchronization + Full VU0 Synchronization + + + + Forces tight VU0 sync on every COP2 instruction. + Forces tight VU0 sync on every COP2 instruction. + + + + VU Overflow Hack + VU Overflow Hack + + + + To check for possible float overflows (Superman Returns). + To check for possible float overflows (Superman Returns). + + + + Use accurate timing for VU XGKicks (slower). + Use accurate timing for VU XGKicks (slower). + + + + Load State + Load State + + + + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + + + + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + + + + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + + + + Disable the support of depth buffers in the texture cache. + Disable the support of depth buffers in the texture cache. + + + + Disable Render Fixes + Disable Render Fixes + + + + Preload Frame Data + Preload Frame Data + + + + Texture Inside RT + Texture Inside RT + + + + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + + + + Half Pixel Offset + Half Pixel Offset + + + + Texture Offset X + Texture Offset X + + + + Texture Offset Y + Texture Offset Y + + + + Dumps replaceable textures to disk. Will reduce performance. + Dumps replaceable textures to disk. Will reduce performance. + + + + Applies a shader which replicates the visual effects of different styles of television set. + Applies a shader which replicates the visual effects of different styles of television set. + + + + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. + + + + Enables API-level validation of graphics commands. + Enables API-level validation of graphics commands. + + + + Use Software Renderer For FMVs + Use Software Renderer For FMVs + + + + To avoid TLB miss on Goemon. + To avoid TLB miss on Goemon. + + + + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + + + + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + + + + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + + + + Emulate GIF FIFO + Emulate GIF FIFO + + + + Correct but slower. Known to affect the following games: Fifa Street 2. + Correct but slower. Known to affect the following games: Fifa Street 2. + + + + DMA Busy Hack + DMA Busy Hack + + + + Delay VIF1 Stalls + Delay VIF1 Stalls + + + + Emulate VIF FIFO + Emulate VIF FIFO + + + + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + + + + VU I Bit Hack + VU I Bit Hack + + + + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + + + + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + + + + VU Sync + VU Sync + + + + Run behind. To avoid sync problems when reading or writing VU registers. + Run behind. To avoid sync problems when reading or writing VU registers. + + + + VU XGKick Sync + VU XGKick Sync + + + + Force Blit Internal FPS Detection + Force Blit Internal FPS Detection + + + + Save State + Save State + + + + Load Resume State + Load Resume State + + + + A resume save state created at %s was found. + +Do you want to load this save and continue? + A resume save state created at %s was found. + +Do you want to load this save and continue? + + + + Region: + Region: + + + + Compatibility: + Compatibility: + + + + No Game Selected + No Game Selected + + + + Search Directories + Search Directories + + + + Adds a new directory to the game search list. + Adds a new directory to the game search list. + + + + Scanning Subdirectories + Scanning Subdirectories + + + + Not Scanning Subdirectories + Not Scanning Subdirectories + + + + List Settings + List Settings + + + + Sets which view the game list will open to. + Sets which view the game list will open to. + + + + Determines which field the game list will be sorted by. + Determines which field the game list will be sorted by. + + + + Reverses the game list sort order from the default (usually ascending to descending). + Reverses the game list sort order from the default (usually ascending to descending). + + + + Cover Settings + Cover Settings + + + + Downloads covers from a user-specified URL template. + Downloads covers from a user-specified URL template. + + + + Operations + Operations + + + + Selects where anisotropic filtering is utilized when rendering textures. + Selects where anisotropic filtering is utilized when rendering textures. + + + + Use alternative method to calculate internal FPS to avoid false readings in some games. + Use alternative method to calculate internal FPS to avoid false readings in some games. + + + + Identifies any new files added to the game directories. + Identifies any new files added to the game directories. + + + + Forces a full rescan of all games previously identified. + Forces a full rescan of all games previously identified. + + + + Download Covers + Download Covers + + + + About PCSX2 + About PCSX2 + + + + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. + + + + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. + + + + When enabled and logged in, PCSX2 will scan for achievements on startup. + When enabled and logged in, PCSX2 will scan for achievements on startup. + + + + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + + + + Displays popup messages on events such as achievement unlocks and leaderboard submissions. + Displays popup messages on events such as achievement unlocks and leaderboard submissions. + + + + Plays sound effects for events such as achievement unlocks and leaderboard submissions. + Plays sound effects for events such as achievement unlocks and leaderboard submissions. + + + + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + + + + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. + + + + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + + + + Error + Error + + + + Pauses the emulator when a controller with bindings is disconnected. + Pauses the emulator when a controller with bindings is disconnected. + + + + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix + + + + Enable CDVD Precaching + Enable CDVD Precaching + + + + Loads the disc image into RAM before starting the virtual machine. + Loads the disc image into RAM before starting the virtual machine. + + + + Vertical Sync (VSync) + Vertical Sync (VSync) + + + + Sync to Host Refresh Rate + Sync to Host Refresh Rate + + + + Use Host VSync Timing + Use Host VSync Timing + + + + Disables PCSX2's internal frame timing, and uses host vsync instead. + Disables PCSX2's internal frame timing, and uses host vsync instead. + + + + Disable Mailbox Presentation + Disable Mailbox Presentation + + + + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + + + + Audio Control + Audio Control + + + + Controls the volume of the audio played on the host. + Controls the volume of the audio played on the host. + + + + Fast Forward Volume + Fast Forward Volume + + + + Controls the volume of the audio played on the host when fast forwarding. + Controls the volume of the audio played on the host when fast forwarding. + + + + Mute All Sound + Mute All Sound + + + + Prevents the emulator from producing any audible sound. + Prevents the emulator from producing any audible sound. + + + + Backend Settings + Backend Settings + + + + Audio Backend + Audio Backend + + + + The audio backend determines how frames produced by the emulator are submitted to the host. + The audio backend determines how frames produced by the emulator are submitted to the host. + + + + Expansion + Expansion + + + + Determines how audio is expanded from stereo to surround for supported games. + Determines how audio is expanded from stereo to surround for supported games. + + + + Synchronization + Synchronization + + + + Buffer Size + Buffer Size + + + + Determines the amount of audio buffered before being pulled by the host API. + Determines the amount of audio buffered before being pulled by the host API. + + + + Output Latency + Output Latency + + + + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. + + + + Minimal Output Latency + Minimal Output Latency + + + + When enabled, the minimum supported output latency will be used for the host API. + When enabled, the minimum supported output latency will be used for the host API. + + + + Thread Pinning + Thread Pinning + + + + Force Even Sprite Position + Force Even Sprite Position + + + + Displays popup messages when starting, submitting, or failing a leaderboard challenge. + Displays popup messages when starting, submitting, or failing a leaderboard challenge. + + + + When enabled, each session will behave as if no achievements have been unlocked. + When enabled, each session will behave as if no achievements have been unlocked. + + + + Account + Account + + + + Logs out of RetroAchievements. + Logs out of RetroAchievements. + + + + Logs in to RetroAchievements. + Logs in to RetroAchievements. + + + + Current Game + Current Game + + + + An error occurred while deleting empty game settings: +{} + An error occurred while deleting empty game settings: +{} + + + + An error occurred while saving game settings: +{} + An error occurred while saving game settings: +{} + + + + {} is not a valid disc image. + {} is not a valid disc image. + + + + Automatic mapping completed for {}. + Automatic mapping completed for {}. + + + + Automatic mapping failed for {}. + Automatic mapping failed for {}. + + + + Game settings initialized with global settings for '{}'. + Game settings initialized with global settings for '{}'. + + + + Game settings have been cleared for '{}'. + Game settings have been cleared for '{}'. + + + + {} (Current) + {} (Current) + + + + {} (Folder) + {} (Folder) + + + + Failed to load '{}'. + Failed to load '{}'. + + + + Input profile '{}' loaded. + Input profile '{}' loaded. + + + + Input profile '{}' saved. + Input profile '{}' saved. + + + + Failed to save input profile '{}'. + Failed to save input profile '{}'. + + + + Port {} Controller Type + Port {} Controller Type + + + + Select Macro {} Binds + Select Macro {} Binds + + + + Port {} Device + Port {} Device + + + + Port {} Subtype + Port {} Subtype + + + + {} unlabelled patch codes will automatically activate. + {} unlabelled patch codes will automatically activate. + + + + {} unlabelled patch codes found but not enabled. + {} unlabelled patch codes found but not enabled. + + + + This Session: {} + This Session: {} + + + + All Time: {} + All Time: {} + + + + Save Slot {0} + Save Slot {0} + + + + Saved {} + Saved {} + + + + {} does not exist. + {} does not exist. + + + + {} deleted. + {} deleted. + + + + Failed to delete {}. + Failed to delete {}. + + + + File: {} + File: {} + + + + CRC: {:08X} + CRC: {:08X} + + + + Time Played: {} + Time Played: {} + + + + Last Played: {} + Last Played: {} + + + + Size: {:.2f} MB + Size: {:.2f} MB + + + + Left: + Left: + + + + Top: + Top: + + + + Right: + Right: + + + + Bottom: + Bottom: + + + + Summary + Summary + + + + Interface Settings + Interface Settings + + + + BIOS Settings + BIOS Settings + + + + Emulation Settings + Emulation Settings + + + + Graphics Settings + Graphics Settings + + + + Audio Settings + Audio Settings + + + + Memory Card Settings + Memory Card Settings + + + + Controller Settings + Controller Settings + + + + Hotkey Settings + Hotkey Settings + + + + Achievements Settings + Achievements Settings + + + + Folder Settings + Folder Settings + + + + Advanced Settings + Advanced Settings + + + + Patches + Patches + + + + Cheats + Cheats + + + + 2% [1 FPS (NTSC) / 1 FPS (PAL)] + 2% [1 FPS (NTSC) / 1 FPS (PAL)] + + + + 10% [6 FPS (NTSC) / 5 FPS (PAL)] + 10% [6 FPS (NTSC) / 5 FPS (PAL)] + + + + 25% [15 FPS (NTSC) / 12 FPS (PAL)] + 25% [15 FPS (NTSC) / 12 FPS (PAL)] + + + + 50% [30 FPS (NTSC) / 25 FPS (PAL)] + 50% [30 FPS (NTSC) / 25 FPS (PAL)] + + + + 75% [45 FPS (NTSC) / 37 FPS (PAL)] + 75% [45 FPS (NTSC) / 37 FPS (PAL)] + + + + 90% [54 FPS (NTSC) / 45 FPS (PAL)] + 90% [54 FPS (NTSC) / 45 FPS (PAL)] + + + + 100% [60 FPS (NTSC) / 50 FPS (PAL)] + 100% [60 FPS (NTSC) / 50 FPS (PAL)] + + + + 110% [66 FPS (NTSC) / 55 FPS (PAL)] + 110% [66 FPS (NTSC) / 55 FPS (PAL)] + + + + 120% [72 FPS (NTSC) / 60 FPS (PAL)] + 120% [72 FPS (NTSC) / 60 FPS (PAL)] + + + + 150% [90 FPS (NTSC) / 75 FPS (PAL)] + 150% [90 FPS (NTSC) / 75 FPS (PAL)] + + + + 175% [105 FPS (NTSC) / 87 FPS (PAL)] + 175% [105 FPS (NTSC) / 87 FPS (PAL)] + + + + 200% [120 FPS (NTSC) / 100 FPS (PAL)] + 200% [120 FPS (NTSC) / 100 FPS (PAL)] + + + + 300% [180 FPS (NTSC) / 150 FPS (PAL)] + 300% [180 FPS (NTSC) / 150 FPS (PAL)] + + + + 400% [240 FPS (NTSC) / 200 FPS (PAL)] + 400% [240 FPS (NTSC) / 200 FPS (PAL)] + + + + 500% [300 FPS (NTSC) / 250 FPS (PAL)] + 500% [300 FPS (NTSC) / 250 FPS (PAL)] + + + + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] + + + + 50% Speed + 50% Speed + + + + 60% Speed + 60% Speed + + + + 75% Speed + 75% Speed + + + + 100% Speed (Default) + 100% Speed (Default) + + + + 130% Speed + 130% Speed + + + + 180% Speed + 180% Speed + + + + 300% Speed + 300% Speed + + + + Normal (Default) + Normal (Default) + + + + Mild Underclock + Mild Underclock + + + + Moderate Underclock + Moderate Underclock + + + + Maximum Underclock + Maximum Underclock + + + + Disabled + Disabled + + + + 0 Frames (Hard Sync) + 0 Frames (Hard Sync) + + + + 1 Frame + 1 Frame + + + + 2 Frames + 2 Frames + + + + 3 Frames + 3 Frames + + + + None + None + + + + Extra + Preserve Sign + Extra + Preserve Sign + + + + Full + Full + + + + Extra + Extra + + + + Automatic (Default) + Automatic (Default) + + + + Direct3D 11 + Direct3D 11 + + + + Direct3D 12 + Direct3D 12 + + + + OpenGL + OpenGL + + + + Vulkan + Vulkan + + + + Metal + Metal + + + + Software + Software + + + + Null + Null + + + + Off + Off + + + + Bilinear (Smooth) + Bilinear (Smooth) + + + + Bilinear (Sharp) + Bilinear (Sharp) + + + + Weave (Top Field First, Sawtooth) + Weave (Top Field First, Sawtooth) + + + + Weave (Bottom Field First, Sawtooth) + Weave (Bottom Field First, Sawtooth) + + + + Bob (Top Field First) + Bob (Top Field First) + + + + Bob (Bottom Field First) + Bob (Bottom Field First) + + + + Blend (Top Field First, Half FPS) + Blend (Top Field First, Half FPS) + + + + Blend (Bottom Field First, Half FPS) + Blend (Bottom Field First, Half FPS) + + + + Adaptive (Top Field First) + Adaptive (Top Field First) + + + + Adaptive (Bottom Field First) + Adaptive (Bottom Field First) + + + + Native (PS2) + Native (PS2) + + + + Nearest + Nearest + + + + Bilinear (Forced) + Bilinear (Forced) + + + + Bilinear (PS2) + Bilinear (PS2) + + + + Bilinear (Forced excluding sprite) + Bilinear (Forced excluding sprite) + + + + Off (None) + Off (None) + + + + Trilinear (PS2) + Trilinear (PS2) + + + + Trilinear (Forced) + Trilinear (Forced) + + + + Scaled + Scaled + + + + Unscaled (Default) + Unscaled (Default) + + + + Minimum + Minimum + + + + Basic (Recommended) + Basic (Recommended) + + + + Medium + Medium + + + + High + High + + + + Full (Slow) + Full (Slow) + + + + Maximum (Very Slow) + Maximum (Very Slow) + + + + Off (Default) + Off (Default) + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + Partial + Partial + + + + Full (Hash Cache) + Full (Hash Cache) + + + + Force Disabled + Force Disabled + + + + Force Enabled + Force Enabled + + + + Accurate (Recommended) + Accurate (Recommended) + + + + Disable Readbacks (Synchronize GS Thread) + Disable Readbacks (Synchronize GS Thread) + + + + Unsynchronized (Non-Deterministic) + Unsynchronized (Non-Deterministic) + + + + Disabled (Ignore Transfers) + Disabled (Ignore Transfers) + + + + Screen Resolution + Screen Resolution + + + + Internal Resolution (Aspect Uncorrected) + Internal Resolution (Aspect Uncorrected) + + + + Load/Save State + Load/Save State + + + + WARNING: Memory Card Busy + WARNING: Memory Card Busy + + + + Cannot show details for games which were not scanned in the game list. + Cannot show details for games which were not scanned in the game list. + + + + Pause On Controller Disconnection + Pause On Controller Disconnection + + + + Use Save State Selector + Use Save State Selector + + + + SDL DualSense Player LED + SDL DualSense Player LED + + + + Press To Toggle + Press To Toggle + + + + Deadzone + Deadzone + + + + Full Boot + Full Boot + + + + Achievement Notifications + Achievement Notifications + + + + Leaderboard Notifications + Leaderboard Notifications + + + + Enable In-Game Overlays + Enable In-Game Overlays + + + + Encore Mode + Encore Mode + + + + Spectator Mode + Spectator Mode + + + + PNG + PNG + + + + - + - + + + + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. + + + + Removes the current card from the slot. + Removes the current card from the slot. + + + + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). + + + + {} Frames + {} Frames + + + + No Deinterlacing + No Deinterlacing + + + + Force 32bit + Force 32bit + + + + JPEG + JPEG + + + + 0 (Disabled) + 0 (Disabled) + + + + 1 (64 Max Width) + 1 (64 Max Width) + + + + 2 (128 Max Width) + 2 (128 Max Width) + + + + 3 (192 Max Width) + 3 (192 Max Width) + + + + 4 (256 Max Width) + 4 (256 Max Width) + + + + 5 (320 Max Width) + 5 (320 Max Width) + + + + 6 (384 Max Width) + 6 (384 Max Width) + + + + 7 (448 Max Width) + 7 (448 Max Width) + + + + 8 (512 Max Width) + 8 (512 Max Width) + + + + 9 (576 Max Width) + 9 (576 Max Width) + + + + 10 (640 Max Width) + 10 (640 Max Width) + + + + Sprites Only + Sprites Only + + + + Sprites/Triangles + Sprites/Triangles + + + + Blended Sprites/Triangles + Blended Sprites/Triangles + + + + 1 (Normal) + 1 (Normal) + + + + 2 (Aggressive) + 2 (Aggressive) + + + + Inside Target + Inside Target + + + + Merge Targets + Merge Targets + + + + Normal (Vertex) + Normal (Vertex) + + + + Special (Texture) + Special (Texture) + + + + Special (Texture - Aggressive) + Special (Texture - Aggressive) + + + + Align To Native + Align To Native + + + + Half + Half + + + + Force Bilinear + Force Bilinear + + + + Force Nearest + Force Nearest + + + + Disabled (Default) + Disabled (Default) + + + + Enabled (Sprites Only) + Enabled (Sprites Only) + + + + Enabled (All Primitives) + Enabled (All Primitives) + + + + None (Default) + None (Default) + + + + Sharpen Only (Internal Resolution) + Sharpen Only (Internal Resolution) + + + + Sharpen and Resize (Display Resolution) + Sharpen and Resize (Display Resolution) + + + + Scanline Filter + Scanline Filter + + + + Diagonal Filter + Diagonal Filter + + + + Triangular Filter + Triangular Filter + + + + Wave Filter + Wave Filter + + + + Lottes CRT + Lottes CRT + + + + 4xRGSS + 4xRGSS + + + + NxAGSS + NxAGSS + + + + Uncompressed + Uncompressed + + + + LZMA (xz) + LZMA (xz) + + + + Zstandard (zst) + Zstandard (zst) + + + + PS2 (8MB) + PS2 (8MB) + + + + PS2 (16MB) + PS2 (16MB) + + + + PS2 (32MB) + PS2 (32MB) + + + + PS2 (64MB) + PS2 (64MB) + + + + PS1 + PS1 + + + + Negative + Negative + + + + Positive + Positive + + + + Chop/Zero (Default) + Chop/Zero (Default) + + + + Game Grid + Game Grid + + + + Game List + Game List + + + + Game List Settings + Game List Settings + + + + Type + Type + + + + Serial + Serial + + + + Title + Title + + + + File Title + File Title + + + + CRC + CRC + + + + Time Played + Time Played + + + + Last Played + Last Played + + + + Size + Size + + + + Select Disc Image + Select Disc Image + + + + Select Disc Drive + Select Disc Drive + + + + Start File + Start File + + + + Start BIOS + Start BIOS + + + + Start Disc + Start Disc + + + + Exit + Exit + + + + Set Input Binding + Set Input Binding + + + + Region + Region + + + + Compatibility Rating + Compatibility Rating + + + + Path + Path + + + + Disc Path + Disc Path + + + + Select Disc Path + Select Disc Path + + + + Copy Settings + Copy Settings + + + + Clear Settings + Clear Settings + + + + Inhibit Screensaver + Inhibit Screensaver + + + + Enable Discord Presence + Enable Discord Presence + + + + Pause On Start + Pause On Start + + + + Pause On Focus Loss + Pause On Focus Loss + + + + Pause On Menu + Pause On Menu + + + + Confirm Shutdown + Confirm Shutdown + + + + Save State On Shutdown + Save State On Shutdown + + + + Use Light Theme + Use Light Theme + + + + Start Fullscreen + Start Fullscreen + + + + Double-Click Toggles Fullscreen + Double-Click Toggles Fullscreen + + + + Hide Cursor In Fullscreen + Hide Cursor In Fullscreen + + + + OSD Scale + OSD Scale + + + + Show Messages + Show Messages + + + + Show Speed + Show Speed + + + + Show FPS + Show FPS + + + + Show CPU Usage + Show CPU Usage + + + + Show GPU Usage + Show GPU Usage + + + + Show Resolution + Show Resolution + + + + Show GS Statistics + Show GS Statistics + + + + Show Status Indicators + Show Status Indicators + + + + Show Settings + Show Settings + + + + Show Inputs + Show Inputs + + + + Warn About Unsafe Settings + Warn About Unsafe Settings + + + + Reset Settings + Reset Settings + + + + Change Search Directory + Change Search Directory + + + + Fast Boot + Fast Boot + + + + Output Volume + Output Volume + + + + Memory Card Directory + Memory Card Directory + + + + Folder Memory Card Filter + Folder Memory Card Filter + + + + Create + Create + + + + Cancel + Cancel + + + + Load Profile + Load Profile + + + + Save Profile + Save Profile + + + + Enable SDL Input Source + Enable SDL Input Source + + + + SDL DualShock 4 / DualSense Enhanced Mode + SDL DualShock 4 / DualSense Enhanced Mode + + + + SDL Raw Input + SDL Raw Input + + + + Enable XInput Input Source + Enable XInput Input Source + + + + Enable Console Port 1 Multitap + Enable Console Port 1 Multitap + + + + Enable Console Port 2 Multitap + Enable Console Port 2 Multitap + + + + Controller Port {}{} + Controller Port {}{} + + + + Controller Port {} + Controller Port {} + + + + Controller Type + Controller Type + + + + Automatic Mapping + Automatic Mapping + + + + Controller Port {}{} Macros + Controller Port {}{} Macros + + + + Controller Port {} Macros + Controller Port {} Macros + + + + Macro Button {} + Macro Button {} + + + + Buttons + Buttons + + + + Frequency + Frequency + + + + Pressure + Pressure + + + + Controller Port {}{} Settings + Controller Port {}{} Settings + + + + Controller Port {} Settings + Controller Port {} Settings + + + + USB Port {} + USB Port {} + + + + Device Type + Device Type + + + + Device Subtype + Device Subtype + + + + {} Bindings + {} Bindings + + + + Clear Bindings + Clear Bindings + + + + {} Settings + {} Settings + + + + Cache Directory + Cache Directory + + + + Covers Directory + Covers Directory + + + + Snapshots Directory + Snapshots Directory + + + + Save States Directory + Save States Directory + + + + Game Settings Directory + Game Settings Directory + + + + Input Profile Directory + Input Profile Directory + + + + Cheats Directory + Cheats Directory + + + + Patches Directory + Patches Directory + + + + Texture Replacements Directory + Texture Replacements Directory + + + + Video Dumping Directory + Video Dumping Directory + + + + Resume Game + Resume Game + + + + Toggle Frame Limit + Toggle Frame Limit + + + + Game Properties + Game Properties + + + + Achievements + Achievements + + + + Save Screenshot + Save Screenshot + + + + Switch To Software Renderer + Switch To Software Renderer + + + + Switch To Hardware Renderer + Switch To Hardware Renderer + + + + Change Disc + Change Disc + + + + Close Game + Close Game + + + + Exit Without Saving + Exit Without Saving + + + + Back To Pause Menu + Back To Pause Menu + + + + Exit And Save State + Exit And Save State + + + + Leaderboards + Leaderboards + + + + Delete Save + Delete Save + + + + Close Menu + Close Menu + + + + Delete State + Delete State + + + + Default Boot + Default Boot + + + + Reset Play Time + Reset Play Time + + + + Add Search Directory + Add Search Directory + + + + Open in File Browser + Open in File Browser + + + + Disable Subdirectory Scanning + Disable Subdirectory Scanning + + + + Enable Subdirectory Scanning + Enable Subdirectory Scanning + + + + Remove From List + Remove From List + + + + Default View + Default View + + + + Sort By + Sort By + + + + Sort Reversed + Sort Reversed + + + + Scan For New Games + Scan For New Games + + + + Rescan All Games + Rescan All Games + + + + Website + Website + + + + Support Forums + Support Forums + + + + GitHub Repository + GitHub Repository + + + + License + License + + + + Close + Close + + + + RAIntegration is being used instead of the built-in achievements implementation. + RAIntegration is being used instead of the built-in achievements implementation. + + + + Enable Achievements + Enable Achievements + + + + Hardcore Mode + Hardcore Mode + + + + Sound Effects + Sound Effects + + + + Test Unofficial Achievements + Test Unofficial Achievements + + + + Username: {} + Username: {} + + + + Login token generated on {} + Login token generated on {} + + + + Logout + Logout + + + + Not Logged In + Not Logged In + + + + Login + Login + + + + Game: {0} ({1}) + Game: {0} ({1}) + + + + Rich presence inactive or unsupported. + Rich presence inactive or unsupported. + + + + Game not loaded or no RetroAchievements available. + Game not loaded or no RetroAchievements available. + + + + Card Enabled + Card Enabled + + + + Card Name + Card Name + + + + Eject Card + Eject Card + + + + GS + + + Configured upscale multiplier {}x is above your GPU's supported multiplier of {}x. + Configured upscale multiplier {}x is above your GPU's supported multiplier of {}x. + + + + Failed to reopen, restoring old configuration. + Failed to reopen, restoring old configuration. + + + + Failed to create render device. This may be due to your GPU not supporting the chosen renderer ({}), or because your graphics drivers need to be updated. + Failed to create render device. This may be due to your GPU not supporting the chosen renderer ({}), or because your graphics drivers need to be updated. + + + + Failed to change window after update. The log may contain more information. + Failed to change window after update. The log may contain more information. + + + + Upscale multiplier set to {}x. + Upscale multiplier set to {}x. + + + + Saving screenshot to '{}'. + Saving screenshot to '{}'. + + + + Saved screenshot to '{}'. + Saved screenshot to '{}'. + + + + Failed to save screenshot to '{}'. + Failed to save screenshot to '{}'. + + + + Host GPU device encountered an error and was recovered. This may have broken rendering. + Host GPU device encountered an error and was recovered. This may have broken rendering. + + + + CAS is not available, your graphics driver does not support the required functionality. + CAS is not available, your graphics driver does not support the required functionality. + + + + with no compression + with no compression + + + + with LZMA compression + with LZMA compression + + + + with Zstandard compression + with Zstandard compression + + + + Saving {0} GS dump {1} to '{2}' + Saving {0} GS dump {1} to '{2}' + + + + single frame + single frame + + + + multi-frame + multi-frame + + + + Failed to render/download screenshot. + Failed to render/download screenshot. + + + + Saved GS dump to '{}'. + Saved GS dump to '{}'. + + + + Hash cache has used {:.2f} MB of VRAM, disabling. + Hash cache has used {:.2f} MB of VRAM, disabling. + + + + Disabling autogenerated mipmaps on one or more compressed replacement textures. Please generate mipmaps when compressing your textures. + Disabling autogenerated mipmaps on one or more compressed replacement textures. Please generate mipmaps when compressing your textures. + + + + Stencil buffers and texture barriers are both unavailable, this will break some graphical effects. + Stencil buffers and texture barriers are both unavailable, this will break some graphical effects. + + + + Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow. + Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow. + + + + Your system has the "OpenCL, OpenGL, and Vulkan Compatibility Pack" installed. +This Vulkan driver crashes PCSX2 on some GPUs. +To use the Vulkan renderer, you should remove this app package. + Your system has the "OpenCL, OpenGL, and Vulkan Compatibility Pack" installed. +This Vulkan driver crashes PCSX2 on some GPUs. +To use the Vulkan renderer, you should remove this app package. + + + + The Vulkan renderer was automatically selected, but no compatible devices were found. + You should update all graphics drivers in your system, including any integrated GPUs + to use the Vulkan renderer. + The Vulkan renderer was automatically selected, but no compatible devices were found. + You should update all graphics drivers in your system, including any integrated GPUs + to use the Vulkan renderer. + + + + Switching to Software Renderer... + Switching to Software Renderer... + + + + Switching to Hardware Renderer... + Switching to Hardware Renderer... + + + + Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. + Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. + + + + The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. +Do not request support, please upgrade your hardware/drivers first. + The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. +Do not request support, please upgrade your hardware/drivers first. + + + + GSCapture + + + Failed to load FFmpeg + Failed to load FFmpeg + + + + You may be missing one or more files, or are using the incorrect version. This build of PCSX2 requires: + libavcodec: {} + libavformat: {} + libavutil: {} + libswscale: {} + libswresample: {} + +Please see our official documentation for more information. + You may be missing one or more files, or are using the incorrect version. This build of PCSX2 requires: + libavcodec: {} + libavformat: {} + libavutil: {} + libswscale: {} + libswresample: {} + +Please see our official documentation for more information. + + + + capturing audio and video + capturing audio and video + + + + capturing video + capturing video + + + + capturing audio + capturing audio + + + + Starting {} to '{}'. + Starting {} to '{}'. + + + + Stopped {} to '{}'. + Stopped {} to '{}'. + + + + Aborted {} due to encoding error in '{}'. + Aborted {} due to encoding error in '{}'. + + + + GSDeviceOGL + + + OpenGL renderer is not supported. Only OpenGL {}.{} + was found + OpenGL renderer is not supported. Only OpenGL {}.{} + was found + + + + GSDeviceVK + + + Your GPU does not support the required Vulkan features. + Your GPU does not support the required Vulkan features. + + + + GameCheatSettingsWidget + + + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use cheats at your own risk, the PCSX2 team will provide no support for users who have enabled cheats. + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use cheats at your own risk, the PCSX2 team will provide no support for users who have enabled cheats. + + + + Enable Cheats + Enable Cheats + + + + Name + Name + + + + Author + Author + + + + Description + Description + + + + Search... + Search... + + + + Enable All + Enable All + + + + Disable All + Disable All + + + + All CRCs + All CRCs + + + + Reload Cheats + Reload Cheats + + + + Show Cheats For All CRCs + Show Cheats For All CRCs + + + + Checked + Checked + + + + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + + + + %1 unlabelled patch codes will automatically activate. + %1 unlabelled patch codes will automatically activate. + + + + GameDatabase + + + {0} Current Blending Accuracy is {1}. +Recommended Blending Accuracy for this game is {2}. +You can adjust the blending level in Game Properties to improve +graphical quality, but this will increase system requirements. + {0} Current Blending Accuracy is {1}. +Recommended Blending Accuracy for this game is {2}. +You can adjust the blending level in Game Properties to improve +graphical quality, but this will increase system requirements. + + + + Manual GS hardware renderer fixes are enabled, automatic fixes were not applied: + Manual GS hardware renderer fixes are enabled, automatic fixes were not applied: + + + + No tracks provided. + No tracks provided. + + + + Hash {} is not in database. + Hash {} is not in database. + + + + Data track number does not match data track in database. + Data track number does not match data track in database. + + + + Track {0} with hash {1} is not found in database. + + Track {0} with hash {1} is not found in database. + + + + + Track {0} with hash {1} is for a different game ({2}). + + Track {0} with hash {1} is for a different game ({2}). + + + + + Track {0} with hash {1} does not match database track. + + Track {0} with hash {1} does not match database track. + + + + + GameFixSettingsWidget + + + Game Fixes + Game Fixes + + + + + FPU Multiply Hack + FPU = Floating Point Unit. A part of the PS2's CPU. Do not translate.\nMultiply: mathematical term.\nTales of Destiny: a game's name. Leave as-is or use an official translation. + FPU Multiply Hack + + + + + Skip MPEG Hack + MPEG: video codec, leave as-is. FMV: Full Motion Video. Find the common used term in your language. + Skip MPEG Hack + + + + + Preload TLB Hack + TLB: Translation Lookaside Buffer. Leave as-is. Goemon: name of a character from the series with his name. Leave as-is or use an official translation. + Preload TLB Hack + + + + + EE Timing Hack + EE: Emotion Engine. Leave as-is. + EE Timing Hack + + + + + Instant DMA Hack + DMA: Direct Memory Access. Leave as-is. + Instant DMA Hack + + + + + OPH Flag Hack + OPH: Name of a flag (Output PatH) in the GIF_STAT register in the EE. Leave as-is.\nBleach Blade Battles: a game's name. Leave as-is or use an official translation. + OPH Flag Hack + + + + + Emulate GIF FIFO + GIF = GS (Graphics Synthesizer, the GPU) Interface. Leave as-is.\nFIFO = First-In-First-Out, a type of buffer. Leave as-is. + Emulate GIF FIFO + + + + + DMA Busy Hack + DMA: Direct Memory Access. Leave as-is. + DMA Busy Hack + + + + + Delay VIF1 Stalls + VIF = VU (Vector Unit) Interface. Leave as-is. SOCOM 2 and Spy Hunter: names of two different games. Leave as-is or use an official translation.\nHUD = Heads-Up Display. The games' interfaces. + Delay VIF1 Stalls + + + + + Emulate VIF FIFO + VIF = VU (Vector Unit) Interface. Leave as-is.\nFIFO = First-In-First-Out, a type of buffer. Leave as-is. + Emulate VIF FIFO + + + + + Full VU0 Synchronization + VU0 = VU (Vector Unit) 0. Leave as-is. + Full VU0 Synchronization + + + + + VU I Bit Hack + VU = Vector Unit. Leave as-is.\nI Bit = A bit referred as I, not as 1.\nScarface The World is Yours and Crash Tag Team Racing: names of two different games. Leave as-is or use an official translation. + VU I Bit Hack + + + + + VU Add Hack + VU = Vector Unit. Leave as-is.\nTri-Ace: a game development company name. Leave as-is. + VU Add Hack + + + + + VU Overflow Hack + VU = Vector Unit. Leave as-is.\nSuperman Returns: a game's name. Leave as-is or use an official translation. + VU Overflow Hack + + + + + VU Sync + VU = Vector Unit. Leave as-is.\nRun Behind: watch out for misleading capitalization for non-English: this refers to making the VUs run behind (delayed relative to) the EE.\nM-Bit: a bitflag in VU instructions that tells VU0 to synchronize with the EE. M-Bit Game: A game that uses instructions with the M-Bit enabled (unofficial PCSX2 name). + VU Sync + + + + + VU XGKick Sync + VU = Vector Unit. Leave as-is.\nXGKick: the name of one of the VU's instructions. Leave as-is. + VU XGKick Sync + + + + + Force Blit Internal FPS Detection + Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit This option tells PCSX2 to estimate internal FPS by detecting blits (image copies) onto visible display memory. + Force Blit Internal FPS Detection + + + + + Use Software Renderer For FMVs + FMV: Full Motion Video. Find the common used term in your language. + Use Software Renderer For FMVs + + + + + + + + + + + + + + + + + + + + + Unchecked + Unchecked + + + + For Tales of Destiny. + For Tales of Destiny. + + + + To avoid TLB miss on Goemon. + To avoid TLB miss on Goemon. + + + + Needed for some games with complex FMV rendering. + Needed for some games with complex FMV rendering. + + + + Skips videos/FMVs in games to avoid game hanging/freezes. + Skips videos/FMVs in games to avoid game hanging/freezes. + + + + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + + + + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + + + + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + + + + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + + + + Correct but slower. Known to affect the following games: Fifa Street 2. + Correct but slower. Known to affect the following games: Fifa Street 2. + + + + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + + + + For SOCOM 2 HUD and Spy Hunter loading hang. + For SOCOM 2 HUD and Spy Hunter loading hang. + + + + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + + + + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + + + + Forces tight VU0 sync on every COP2 instruction. + Forces tight VU0 sync on every COP2 instruction. + + + + Run behind. To avoid sync problems when reading or writing VU registers. + Run behind. To avoid sync problems when reading or writing VU registers. + + + + To check for possible float overflows (Superman Returns). + To check for possible float overflows (Superman Returns). + + + + Use accurate timing for VU XGKicks (slower). + Use accurate timing for VU XGKicks (slower). + + + + Use alternative method to calculate internal FPS to avoid false readings in some games. + Use alternative method to calculate internal FPS to avoid false readings in some games. + + + + GameList + + + PS2 Disc + PS2 Disc + + + + PS1 Disc + PS1 Disc + + + + ELF + ELF + + + + Other + Other + + + + Unknown + Unknown + + + + Nothing + Nothing + + + + Intro + Intro + + + + Menu + Menu + + + + In-Game + In-Game + + + + Playable + Playable + + + + Perfect + Perfect + + + + Scanning directory {} (recursively)... + Scanning directory {} (recursively)... + + + + Scanning directory {}... + Scanning directory {}... + + + + Scanning {}... + Scanning {}... + + + + Never + Never + + + + Today + Today + + + + Yesterday + Yesterday + + + + {}h {}m + {}h {}m + + + + {}h {}m {}s + {}h {}m {}s + + + + {}m {}s + {}m {}s + + + + {}s + {}s + + + + + %n hours + + %n hours + %n hours + + + + + + %n minutes + + %n minutes + %n minutes + + + + + Downloading cover for {0} [{1}]... + Downloading cover for {0} [{1}]... + + + + GameListModel + + + Type + Type + + + + Code + Code + + + + Title + Title + + + + File Title + File Title + + + + CRC + CRC + + + + Time Played + Time Played + + + + Last Played + Last Played + + + + Size + Size + + + + Region + Region + + + + Compatibility + Compatibility + + + + GameListSettingsWidget + + + Game Scanning + Game Scanning + + + + Search Directories (will be scanned for games) + Search Directories (will be scanned for games) + + + + Add... + Add... + + + + + + Remove + Remove + + + + Search Directory + Search Directory + + + + Scan Recursively + Scan Recursively + + + + Excluded Paths (will not be scanned) + Excluded Paths (will not be scanned) + + + + Directory... + Directory... + + + + File... + File... + + + + Scan For New Games + Scan For New Games + + + + Rescan All Games + Rescan All Games + + + + Display + Display + + + + + Prefer English Titles + Prefer English Titles + + + + Unchecked + Unchecked + + + + For games with both a title in the game's native language and one in English, prefer the English title. + For games with both a title in the game's native language and one in English, prefer the English title. + + + + Open Directory... + Open Directory... + + + + Select Search Directory + Select Search Directory + + + + Scan Recursively? + Scan Recursively? + + + + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + + + + Select File + Select File + + + + Select Directory + Select Directory + + + + GameListWidget + + + Game List + Game List + + + + Game Grid + Game Grid + + + + Show Titles + Show Titles + + + + All Types + All Types + + + + All Regions + All Regions + + + + Search... + Search... + + + + GamePatchDetailsWidget + + + + Patch Title + Patch Title + + + + + Enabled + Enabled + + + + + <html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html> + + + + <strong>Author: </strong>%1<br>%2 + <strong>Author: </strong>%1<br>%2 + + + + Unknown + Unknown + + + + No description provided. + No description provided. + + + + GamePatchSettingsWidget + + + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + + + + Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. + Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. + + + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + All CRCs + All CRCs + + + + Reload Patches + Reload Patches + + + + Show Patches For All CRCs + Show Patches For All CRCs + + + + Checked + Checked + + + + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + + + + There are no patches available for this game. + There are no patches available for this game. + + + + GameSummaryWidget + + + Title: + Title: + + + + Clear the line to restore the original title... + Clear the line to restore the original title... + + + + + Restore + Restore + + + + Sorting Title: + Name for use in sorting (e.g. "XXX, The" for a game called "The XXX") + Sorting Title: + + + + English Title: + English Title: + + + + Path: + Path: + + + + Serial: + Serial: + + + + Check Wiki + Check Wiki + + + + CRC: + CRC: + + + + Type: + Type: + + + + PS2 Disc + PS2 Disc + + + + PS1 Disc + PS1 Disc + + + + ELF (PS2 Executable) + ELF (PS2 Executable) + + + + Region: + Region: + + + + NTSC-B (Brazil) + Leave the code as-is, translate the country's name. + NTSC-B (Brazil) + + + + NTSC-C (China) + Leave the code as-is, translate the country's name. + NTSC-C (China) + + + + NTSC-HK (Hong Kong) + Leave the code as-is, translate the country's name. + NTSC-HK (Hong Kong) + + + + NTSC-J (Japan) + Leave the code as-is, translate the country's name. + NTSC-J (Japan) + + + + NTSC-K (Korea) + Leave the code as-is, translate the country's name. + NTSC-K (Korea) + + + + NTSC-T (Taiwan) + Leave the code as-is, translate the country's name. + NTSC-T (Taiwan) + + + + NTSC-U (US) + Leave the code as-is, translate the country's name. + NTSC-U (US) + + + + Other + Other + + + + PAL-A (Australia) + Leave the code as-is, translate the country's name. + PAL-A (Australia) + + + + PAL-AF (South Africa) + Leave the code as-is, translate the country's name. + PAL-AF (South Africa) + + + + PAL-AU (Austria) + Leave the code as-is, translate the country's name. + PAL-AU (Austria) + + + + PAL-BE (Belgium) + Leave the code as-is, translate the country's name. + PAL-BE (Belgium) + + + + PAL-E (Europe/Australia) + Leave the code as-is, translate the country's name. + PAL-E (Europe/Australia) + + + + PAL-F (France) + Leave the code as-is, translate the country's name. + PAL-F (France) + + + + PAL-FI (Finland) + Leave the code as-is, translate the country's name. + PAL-FI (Finland) + + + + PAL-G (Germany) + Leave the code as-is, translate the country's name. + PAL-G (Germany) + + + + PAL-GR (Greece) + Leave the code as-is, translate the country's name. + PAL-GR (Greece) + + + + PAL-I (Italy) + Leave the code as-is, translate the country's name. + PAL-I (Italy) + + + + PAL-IN (India) + Leave the code as-is, translate the country's name. + PAL-IN (India) + + + + PAL-M (Europe/Australia) + Leave the code as-is, translate the country's name. + PAL-M (Europe/Australia) + + + + PAL-NL (Netherlands) + Leave the code as-is, translate the country's name. + PAL-NL (Netherlands) + + + + PAL-NO (Norway) + Leave the code as-is, translate the country's name. + PAL-NO (Norway) + + + + PAL-P (Portugal) + Leave the code as-is, translate the country's name. + PAL-P (Portugal) + + + + PAL-PL (Poland) + Leave the code as-is, translate the country's name. + PAL-PL (Poland) + + + + PAL-R (Russia) + Leave the code as-is, translate the country's name. + PAL-R (Russia) + + + + PAL-S (Spain) + Leave the code as-is, translate the country's name. + PAL-S (Spain) + + + + PAL-SC (Scandinavia) + Leave the code as-is, translate the country's name. + PAL-SC (Scandinavia) + + + + PAL-SW (Sweden) + Leave the code as-is, translate the country's name. + PAL-SW (Sweden) + + + + PAL-SWI (Switzerland) + Leave the code as-is, translate the country's name. + PAL-SWI (Switzerland) + + + + PAL-UK (United Kingdom) + Leave the code as-is, translate the country's name. + PAL-UK (United Kingdom) + + + + Compatibility: + Compatibility: + + + + Input Profile: + Input Profile: + + + + Shared + Refers to the shared settings profile. + Shared + + + + Disc Path: + Disc Path: + + + + Browse... + Browse... + + + + Clear + Clear + + + + Verify + Verify + + + + Search on Redump.org... + Search on Redump.org... + + + + %0%1 + First arg is a GameList compat; second is a string with space followed by star rating OR empty if Unknown compat + %0%1 + + + + %0%1 + First arg is filled-in stars for game compatibility; second is empty stars; should be swapped for RTL languages + %0%1 + + + + Select Disc Path + Select Disc Path + + + + Game is not a CD/DVD. + Game is not a CD/DVD. + + + + Track list unavailable while virtual machine is running. + Track list unavailable while virtual machine is running. + + + + # + # + + + + Mode + Mode + + + + + Start + Start + + + + + Sectors + Sectors + + + + + Size + Size + + + + + MD5 + MD5 + + + + + Status + Status + + + + + + + + + + %1 + %1 + + + + + <not computed> + <not computed> + + + + Error + Error + + + + Cannot verify image while a game is running. + Cannot verify image while a game is running. + + + + One or more tracks is missing. + One or more tracks is missing. + + + + Verified as %1 [%2] (Version %3). + Verified as %1 [%2] (Version %3). + + + + Verified as %1 [%2]. + Verified as %1 [%2]. + + + + GlobalVariableTreeWidget + + + unknown function + unknown function + + + + GraphicsSettingsWidget + + + Renderer: + Renderer: + + + + Adapter: + Adapter: + + + + Display + Display + + + + Fullscreen Mode: + Fullscreen Mode: + + + + Aspect Ratio: + Aspect Ratio: + + + + Fit to Window / Fullscreen + Fit to Window / Fullscreen + + + + + Auto Standard (4:3 Interlaced / 3:2 Progressive) + Auto Standard (4:3 Interlaced / 3:2 Progressive) + + + + + Standard (4:3) + Standard (4:3) + + + + + Widescreen (16:9) + Widescreen (16:9) + + + + FMV Aspect Ratio Override: + FMV Aspect Ratio Override: + + + + + + + + + + + Off (Default) + Off (Default) + + + + + + + + + + + + Automatic (Default) + Automatic (Default) + + + + Weave (Top Field First, Sawtooth) + Weave: deinterlacing method that can be translated or left as-is in English. Sawtooth: refers to the jagged effect weave deinterlacing has on motion. + Weave (Top Field First, Sawtooth) + + + + Weave (Bottom Field First, Sawtooth) + Weave: deinterlacing method that can be translated or left as-is in English. Sawtooth: refers to the jagged effect weave deinterlacing has on motion. + Weave (Bottom Field First, Sawtooth) + + + + Bob (Top Field First, Full Frames) + Bob: deinterlacing method that refers to the way it makes video look like it's bobbing up and down. + Bob (Top Field First, Full Frames) + + + + Bob (Bottom Field First, Full Frames) + Bob: deinterlacing method that refers to the way it makes video look like it's bobbing up and down. + Bob (Bottom Field First, Full Frames) + + + + Blend (Top Field First, Merge 2 Fields) + Blend: deinterlacing method that blends the colors of the two frames, can be translated or left as-is in English. + Blend (Top Field First, Merge 2 Fields) + + + + Blend (Bottom Field First, Merge 2 Fields) + Blend: deinterlacing method that blends the colors of the two frames, can be translated or left as-is in English. + Blend (Bottom Field First, Merge 2 Fields) + + + + Adaptive (Top Field First, Similar to Bob + Weave) + Adaptive: deinterlacing method that should be translated. + Adaptive (Top Field First, Similar to Bob + Weave) + + + + Adaptive (Bottom Field First, Similar to Bob + Weave) + Adaptive: deinterlacing method that should be translated. + Adaptive (Bottom Field First, Similar to Bob + Weave) + + + + Bilinear Filtering: + Bilinear Filtering: + + + + + + + None + None + + + + + Bilinear (Smooth) + Smooth: Refers to the texture clarity. + Bilinear (Smooth) + + + + Bilinear (Sharp) + Sharp: Refers to the texture clarity. + Bilinear (Sharp) + + + + Vertical Stretch: + Vertical Stretch: + + + + + + + % + Percentage sign that shows next to a value. You might want to add a space before if your language requires it. +---------- +Percentage sign that will appear next to a number. Add a space or whatever is needed before depending on your language. + % + + + + Crop: + Crop: + + + + Left: + Warning: short space constraints. Abbreviate if necessary. + Left: + + + + + + + px + px + + + + Top: + Warning: short space constraints. Abbreviate if necessary. + Top: + + + + Right: + Warning: short space constraints. Abbreviate if necessary. + Right: + + + + Bottom: + Warning: short space constraints. Abbreviate if necessary. + Bottom: + + + + + Screen Offsets + Screen Offsets + + + + + Show Overscan + Show Overscan + + + + + Anti-Blur + Anti-Blur + + + + Ctrl+S + Ctrl+S + + + + + Disable Interlace Offset + Disable Interlace Offset + + + + Screenshot Size: + Screenshot Size: + + + + Screen Resolution + Screen Resolution + + + + Internal Resolution + Internal Resolution + + + + + PNG + PNG + + + + JPEG + JPEG + + + + Quality: + Quality: + + + + + Rendering + Rendering + + + + Internal Resolution: + Internal Resolution: + + + + + Off + Off + + + + + Texture Filtering: + Texture Filtering: + + + + + Nearest + Nearest + + + + + Bilinear (Forced) + Bilinear (Forced) + + + + + + Bilinear (PS2) + Bilinear (PS2) + + + + + Bilinear (Forced excluding sprite) + Bilinear (Forced excluding sprite) + + + + Trilinear Filtering: + Trilinear Filtering: + + + + Off (None) + Off (None) + + + + Trilinear (PS2) + Trilinear (PS2) + + + + Trilinear (Forced) + Trilinear (Forced) + + + + Anisotropic Filtering: + Anisotropic Filtering: + + + + Dithering: + Dithering: + + + + Scaled + Scaled + + + + + Unscaled (Default) + Unscaled (Default) + + + + Blending Accuracy: + Blending Accuracy: + + + + Minimum + Minimum + + + + + Basic (Recommended) + Basic (Recommended) + + + + Medium + Medium + + + + High + High + + + + Full (Slow) + Full (Slow) + + + + Maximum (Very Slow) + Maximum (Very Slow) + + + + Texture Preloading: + Texture Preloading: + + + + Partial + Partial + + + + + Full (Hash Cache) + Full (Hash Cache) + + + + Software Rendering Threads: + Software Rendering Threads: + + + + Skip Draw Range: + Skip Draw Range: + + + + + Disable Depth Conversion + Disable Depth Conversion + + + + + GPU Palette Conversion + GPU Palette Conversion + + + + + Manual Hardware Renderer Fixes + Manual Hardware Renderer Fixes + + + + + Spin GPU During Readbacks + Spin GPU During Readbacks + + + + + Spin CPU During Readbacks + Spin CPU During Readbacks + + + + threads + threads + + + + + + + Mipmapping + Mipmapping + + + + + + Auto Flush + Auto Flush + + + + Hardware Fixes + Hardware Fixes + + + + Force Disabled + Force Disabled + + + + Force Enabled + Force Enabled + + + + CPU Sprite Render Size: + CPU Sprite Render Size: + + + + + + + + 0 (Disabled) + 0 (Disabled) + 0 (Disabled) + + + + 1 (64 Max Width) + 1 (64 Max Width) + + + + 2 (128 Max Width) + 2 (128 Max Width) + + + + 3 (192 Max Width) + 3 (192 Max Width) + + + + 4 (256 Max Width) + 4 (256 Max Width) + + + + 5 (320 Max Width) + 5 (320 Max Width) + + + + 6 (384 Max Width) + 6 (384 Max Width) + + + + 7 (448 Max Width) + 7 (448 Max Width) + + + + 8 (512 Max Width) + 8 (512 Max Width) + + + + 9 (576 Max Width) + 9 (576 Max Width) + + + + 10 (640 Max Width) + 10 (640 Max Width) + + + + + Disable Safe Features + Disable Safe Features + + + + + Preload Frame Data + Preload Frame Data + + + + Texture Inside RT + Texture Inside RT + + + + 1 (Normal) + 1 (Normal) + + + + 2 (Aggressive) + 2 (Aggressive) + + + + Software CLUT Render: + Software CLUT Render: + + + + GPU Target CLUT: + CLUT: Color Look Up Table, often referred to as a palette in non-PS2 things. GPU Target CLUT: GPU handling of when a game uses data from a render target as a CLUT. + GPU Target CLUT: + + + + + + Disabled (Default) + Disabled (Default) + + + + Enabled (Exact Match) + Enabled (Exact Match) + + + + Enabled (Check Inside Target) + Enabled (Check Inside Target) + + + + Upscaling Fixes + Upscaling Fixes + + + + Half Pixel Offset: + Half Pixel Offset: + + + + Normal (Vertex) + Normal (Vertex) + + + + Special (Texture) + Special (Texture) + + + + Special (Texture - Aggressive) + Special (Texture - Aggressive) + + + + Round Sprite: + Round Sprite: + + + + Half + Half + + + + Full + Full + + + + Texture Offsets: + Texture Offsets: + + + + X: + X: + + + + Y: + Y: + + + + + Merge Sprite + Merge Sprite + + + + + Align Sprite + Align Sprite + + + + Deinterlacing: + Deinterlacing: + + + + No Deinterlacing + No Deinterlacing + + + + Window Resolution (Aspect Corrected) + Window Resolution (Aspect Corrected) + + + + Internal Resolution (Aspect Corrected) + Internal Resolution (Aspect Corrected) + + + + Internal Resolution (No Aspect Correction) + Internal Resolution (No Aspect Correction) + + + + WebP + WebP + + + + Force 32bit + Force 32bit + + + + Sprites Only + Sprites Only + + + + Sprites/Triangles + Sprites/Triangles + + + + Blended Sprites/Triangles + Blended Sprites/Triangles + + + + Auto Flush: + Auto Flush: + + + + Enabled (Sprites Only) + Enabled (Sprites Only) + + + + Enabled (All Primitives) + Enabled (All Primitives) + + + + Texture Inside RT: + Texture Inside RT: + + + + Inside Target + Inside Target + + + + Merge Targets + Merge Targets + + + + + Disable Partial Source Invalidation + Disable Partial Source Invalidation + + + + + Read Targets When Closing + Read Targets When Closing + + + + + Estimate Texture Region + Estimate Texture Region + + + + + Disable Render Fixes + Disable Render Fixes + + + + Align To Native + Align To Native + + + + + Unscaled Palette Texture Draws + Unscaled Palette Texture Draws + + + + Bilinear Dirty Upscale: + Bilinear Dirty Upscale: + + + + Force Bilinear + Force Bilinear + + + + Force Nearest + Force Nearest + + + + Texture Replacement + Texture Replacement + + + + Search Directory + Search Directory + + + + + Browse... + Browse... + + + + + Open... + Open... + + + + + Reset + Reset + + + + PCSX2 will dump and load texture replacements from this directory. + PCSX2 will dump and load texture replacements from this directory. + + + + Options + Options + + + + + Dump Textures + Dump Textures + + + + + Dump Mipmaps + Dump Mipmaps + + + + + Dump FMV Textures + Dump FMV Textures + + + + + Load Textures + Load Textures + + + + + Native (10:7) + Native (10:7) + + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + + + + Native Scaling + Native Scaling + + + + Normal + Normal + + + + Aggressive + Aggressive + + + + + Force Even Sprite Position + Force Even Sprite Position + + + + + Precache Textures + Precache Textures + + + + Post-Processing + Post-Processing + + + + Sharpening/Anti-Aliasing + Sharpening/Anti-Aliasing + + + + Contrast Adaptive Sharpening: + You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx + Contrast Adaptive Sharpening: + + + + + + + None (Default) + None (Default) + + + + Sharpen Only (Internal Resolution) + Sharpen Only (Internal Resolution) + + + + Sharpen and Resize (Display Resolution) + Sharpen and Resize (Display Resolution) + + + + Sharpness: + Sharpness: + + + + + FXAA + FXAA + + + + Filters + Filters + + + + TV Shader: + TV Shader: + + + + Scanline Filter + Scanline Filter + + + + Diagonal Filter + Diagonal Filter + + + + Triangular Filter + Triangular Filter + + + + Wave Filter + Wave Filter + + + + Lottes CRT + Lottes = Timothy Lottes, the creator of the shader filter. Leave as-is. CRT= Cathode Ray Tube, an old type of television technology. + Lottes CRT + + + + 4xRGSS downsampling (4x Rotated Grid SuperSampling) + 4xRGSS downsampling (4x Rotated Grid SuperSampling) + + + + NxAGSS downsampling (Nx Automatic Grid SuperSampling) + NxAGSS downsampling (Nx Automatic Grid SuperSampling) + + + + + Shade Boost + Shade Boost + + + + Brightness: + Brightness: + + + + Contrast: + Contrast: + + + + Saturation + Saturation + + + + OSD + OSD + + + + On-Screen Display + On-Screen Display + + + + OSD Scale: + OSD Scale: + + + + + Show Indicators + Show Indicators + + + + + Show Resolution + Show Resolution + + + + + Show Inputs + Show Inputs + + + + + Show GPU Usage + Show GPU Usage + + + + + Show Settings + Show Settings + + + + + Show FPS + Show FPS + + + + + Disable Mailbox Presentation + Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. + Disable Mailbox Presentation + + + + + Extended Upscaling Multipliers + Extended Upscaling Multipliers + + + + Disable Shader Cache + Disable Shader Cache + + + + Disable Vertex Shader Expand + Disable Vertex Shader Expand + + + + + Show Statistics + Show Statistics + + + + + Asynchronous Texture Loading + Asynchronous Texture Loading + + + + Saturation: + Saturation: + + + + + Show CPU Usage + Show CPU Usage + + + + + Warn About Unsafe Settings + Warn About Unsafe Settings + + + + Recording + Recording + + + + Video Dumping Directory + Video Dumping Directory + + + + Capture Setup + Capture Setup + + + + OSD Messages Position: + OSD Messages Position: + + + + + Left (Default) + Left (Default) + + + + OSD Performance Position: + OSD Performance Position: + + + + + Right (Default) + Right (Default) + + + + + Show Frame Times + Show Frame Times + + + + + Show PCSX2 Version + Show PCSX2 Version + + + + + Show Hardware Info + Show Hardware Info + + + + + Show Input Recording Status + Show Input Recording Status + + + + + Show Video Capture Status + Show Video Capture Status + + + + + Show VPS + Show VPS + + + + capture + capture + + + + Container: + Container: + + + + + Codec: + Codec: + + + + + Extra Arguments + Extra Arguments + + + + Capture Audio + Capture Audio + + + + Format: + Format: + + + + Resolution: + Resolution: + + + + x + x + + + + Auto + Auto + + + + Capture Video + Capture Video + + + + Advanced + Advanced here refers to the advanced graphics options. + Advanced + + + + Advanced Options + Advanced Options + + + + Hardware Download Mode: + Hardware Download Mode: + + + + Accurate (Recommended) + Accurate (Recommended) + + + + Disable Readbacks (Synchronize GS Thread) + Disable Readbacks (Synchronize GS Thread) + + + + Unsynchronized (Non-Deterministic) + Unsynchronized (Non-Deterministic) + + + + Disabled (Ignore Transfers) + Disabled (Ignore Transfers) + + + + GS Dump Compression: + GS Dump Compression: + + + + Uncompressed + Uncompressed + + + + LZMA (xz) + LZMA (xz) + + + + + Zstandard (zst) + Zstandard (zst) + + + + + Skip Presenting Duplicate Frames + Skip Presenting Duplicate Frames + + + + + Use Blit Swap Chain + Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. +---------- +Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit +Swap chain: see Microsoft's Terminology Portal. + Use Blit Swap Chain + + + + + Bitrate: + Bitrate: + + + + + kbps + Unit that will appear next to a number. Alter the space or whatever is needed before the text depending on your language. + kbps + + + + Allow Exclusive Fullscreen: + Allow Exclusive Fullscreen: + + + + Disallowed + Disallowed + + + + Allowed + Allowed + + + + Debugging Options + Debugging Options + + + + Override Texture Barriers: + Override Texture Barriers: + + + + Use Debug Device + Use Debug Device + + + + + Show Speed Percentages + Show Speed Percentages + + + + Disable Framebuffer Fetch + Disable Framebuffer Fetch + + + + Direct3D 11 + Graphics backend/engine type. Leave as-is. + Direct3D 11 + + + + Direct3D 12 + Graphics backend/engine type. Leave as-is. + Direct3D 12 + + + + OpenGL + Graphics backend/engine type. Leave as-is. + OpenGL + + + + Vulkan + Graphics backend/engine type. Leave as-is. + Vulkan + + + + Metal + Graphics backend/engine type. Leave as-is. + Metal + + + + Software + Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. + Software + + + + Null + Null here means that this is a graphics backend that will show nothing. + Null + + + + 2x + 2x + + + + 4x + 4x + + + + 8x + 8x + + + + 16x + 16x + + + + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unchecked + Unchecked + + + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Automatically loads and applies widescreen patches on game start. Can cause issues. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. + + + + Disables interlacing offset which may reduce blurring in some situations. + Disables interlacing offset which may reduce blurring in some situations. + + + + Bilinear Filtering + Bilinear Filtering + + + + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. + + + + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. + PCRTC: Programmable CRT (Cathode Ray Tube) Controller. + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. + + + + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + Enables the option to show the overscan area on games which draw more than the safe area of the screen. + + + + FMV Aspect Ratio Override + FMV Aspect Ratio Override + + + + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. + + + + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. + + + + Software Rendering Threads + Software Rendering Threads + + + + CPU Sprite Render Size + CPU Sprite Render Size + + + + Software CLUT Render + Software CLUT Render + + + + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. + + + + This option disables game-specific render fixes. + This option disables game-specific render fixes. + + + + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. + + + + + Framebuffer Conversion + Framebuffer Conversion + + + + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. + + + + + Disabled + Disabled + + + + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. + + + + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. + + + + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. + + + + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. + + + + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. + + + + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + + + + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + + + + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. + + + + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. + + + + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + + + + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. + + + + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + + + + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. + Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. + + + + Dumps replaceable textures to disk. Will reduce performance. + Dumps replaceable textures to disk. Will reduce performance. + + + + Includes mipmaps when dumping textures. + Includes mipmaps when dumping textures. + + + + Allows texture dumping when FMVs are active. You should not enable this. + Allows texture dumping when FMVs are active. You should not enable this. + + + + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + + + + Loads replacement textures where available and user-provided. + Loads replacement textures where available and user-provided. + + + + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + Preloads all replacement textures to memory. Not necessary with asynchronous loading. + + + + Enables FidelityFX Contrast Adaptive Sharpening. + Enables FidelityFX Contrast Adaptive Sharpening. + + + + Determines the intensity the sharpening effect in CAS post-processing. + Determines the intensity the sharpening effect in CAS post-processing. + + + + Adjusts brightness. 50 is normal. + Adjusts brightness. 50 is normal. + + + + Adjusts contrast. 50 is normal. + Adjusts contrast. 50 is normal. + + + + Adjusts saturation. 50 is normal. + Adjusts saturation. 50 is normal. + + + + Scales the size of the onscreen OSD from 50% to 500%. + Scales the size of the onscreen OSD from 50% to 500%. + + + + OSD Messages Position + OSD Messages Position + + + + OSD Statistics Position + OSD Statistics Position + + + + Shows a variety of on-screen performance data points as selected by the user. + Shows a variety of on-screen performance data points as selected by the user. + + + + Shows the vsync rate of the emulator in the top-right corner of the display. + Shows the vsync rate of the emulator in the top-right corner of the display. + + + + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. + + + + Displays various settings and the current values of those settings, useful for debugging. + Displays various settings and the current values of those settings, useful for debugging. + + + + Displays a graph showing the average frametimes. + Displays a graph showing the average frametimes. + + + + Shows the current system hardware information on the OSD. + Shows the current system hardware information on the OSD. + + + + Video Codec + Video Codec + + + + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + + + + Video Format + Video Format + + + + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> + + + + Video Bitrate + Video Bitrate + + + + 6000 kbps + 6000 kbps + + + + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. + + + + Automatic Resolution + Automatic Resolution + + + + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> + + + + Enable Extra Video Arguments + Enable Extra Video Arguments + + + + Allows you to pass arguments to the selected video codec. + Allows you to pass arguments to the selected video codec. + + + + Extra Video Arguments + Extra Video Arguments + + + + Audio Codec + Audio Codec + + + + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + + + + Audio Bitrate + Audio Bitrate + + + + Enable Extra Audio Arguments + Enable Extra Audio Arguments + + + + Allows you to pass arguments to the selected audio codec. + Allows you to pass arguments to the selected audio codec. + + + + Extra Audio Arguments + Extra Audio Arguments + + + + Allow Exclusive Fullscreen + Allow Exclusive Fullscreen + + + + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. + + + + 1.25x Native (~450px) + 1.25x Native (~450px) + + + + 1.5x Native (~540px) + 1.5x Native (~540px) + + + + 1.75x Native (~630px) + 1.75x Native (~630px) + + + + 2x Native (~720px/HD) + 2x Native (~720px/HD) + + + + 2.5x Native (~900px/HD+) + 2.5x Native (~900px/HD+) + + + + 3x Native (~1080px/FHD) + 3x Native (~1080px/FHD) + + + + 3.5x Native (~1260px) + 3.5x Native (~1260px) + + + + 4x Native (~1440px/QHD) + 4x Native (~1440px/QHD) + + + + 5x Native (~1800px/QHD+) + 5x Native (~1800px/QHD+) + + + + 6x Native (~2160px/4K UHD) + 6x Native (~2160px/4K UHD) + + + + 7x Native (~2520px) + 7x Native (~2520px) + + + + 8x Native (~2880px/5K UHD) + 8x Native (~2880px/5K UHD) + + + + 9x Native (~3240px) + 9x Native (~3240px) + + + + 10x Native (~3600px/6K UHD) + 10x Native (~3600px/6K UHD) + + + + 11x Native (~3960px) + 11x Native (~3960px) + + + + 12x Native (~4320px/8K UHD) + 12x Native (~4320px/8K UHD) + + + + 13x Native (~4680px) + 13x Native (~4680px) + + + + 14x Native (~5040px) + 14x Native (~5040px) + + + + 15x Native (~5400px) + 15x Native (~5400px) + + + + 16x Native (~5760px) + 16x Native (~5760px) + + + + 17x Native (~6120px) + 17x Native (~6120px) + + + + 18x Native (~6480px/12K UHD) + 18x Native (~6480px/12K UHD) + + + + 19x Native (~6840px) + 19x Native (~6840px) + + + + 20x Native (~7200px) + 20x Native (~7200px) + + + + 21x Native (~7560px) + 21x Native (~7560px) + + + + 22x Native (~7920px) + 22x Native (~7920px) + + + + 23x Native (~8280px) + 23x Native (~8280px) + + + + 24x Native (~8640px/16K UHD) + 24x Native (~8640px/16K UHD) + + + + 25x Native (~9000px) + 25x Native (~9000px) + + + + + %1x Native + %1x Native + + + + + + + + + + + + Checked + Checked + + + + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + + + + + Integer Scaling + Integer Scaling + + + + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + + + + Aspect Ratio + Aspect Ratio + + + + Auto Standard (4:3/3:2 Progressive) + Auto Standard (4:3/3:2 Progressive) + + + + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. + + + + Deinterlacing + Deinterlacing + + + + Screenshot Size + Screenshot Size + + + + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. + + + + Screenshot Format + Screenshot Format + + + + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. + + + + Screenshot Quality + Screenshot Quality + + + + + 50% + 50% + + + + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. + + + + + 100% + 100% + + + + Vertical Stretch + Vertical Stretch + + + + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. + + + + Fullscreen Mode + Fullscreen Mode + + + + + + Borderless Fullscreen + Borderless Fullscreen + + + + Chooses the fullscreen resolution and frequency. + Chooses the fullscreen resolution and frequency. + + + + + Left + Left + + + + + + + 0px + 0px + + + + Changes the number of pixels cropped from the left side of the display. + Changes the number of pixels cropped from the left side of the display. + + + + Top + Top + + + + Changes the number of pixels cropped from the top of the display. + Changes the number of pixels cropped from the top of the display. + + + + + Right + Right + + + + Changes the number of pixels cropped from the right side of the display. + Changes the number of pixels cropped from the right side of the display. + + + + Bottom + Bottom + + + + Changes the number of pixels cropped from the bottom of the display. + Changes the number of pixels cropped from the bottom of the display. + + + + + Native (PS2) (Default) + Native (PS2) (Default) + + + + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. + + + + Texture Filtering + Texture Filtering + + + + Trilinear Filtering + Trilinear Filtering + + + + Anisotropic Filtering + Anisotropic Filtering + + + + Reduces texture aliasing at extreme viewing angles. + Reduces texture aliasing at extreme viewing angles. + + + + Dithering + Dithering + + + + Blending Accuracy + Blending Accuracy + + + + Texture Preloading + Texture Preloading + + + + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. + + + + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + + + + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. + + + + 2 threads + 2 threads + + + + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. + + + + Enables mipmapping, which some games require to render correctly. + Enables mipmapping, which some games require to render correctly. + + + + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. + + + + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. + + + + GPU Target CLUT + GPU Target CLUT + + + + Skipdraw Range Start + Skipdraw Range Start + + + + + + + 0 + 0 + + + + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. + + + + Skipdraw Range End + Skipdraw Range End + + + + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. + + + + Uploads GS data when rendering a new frame to reproduce some effects accurately. + Uploads GS data when rendering a new frame to reproduce some effects accurately. + + + + Half Pixel Offset + Half Pixel Offset + + + + Might fix some misaligned fog, bloom, or blend effect. + Might fix some misaligned fog, bloom, or blend effect. + + + + Round Sprite + Round Sprite + + + + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. + + + + Texture Offsets X + Texture Offsets X + + + + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. + ST and UV are different types of texture coordinates, like XY would be spatial coordinates. + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. + + + + Texture Offsets Y + Texture Offsets Y + + + + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + Wild Arms: name of a game series. Leave as-is or use an official translation. + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + + + + Bilinear Upscale + Bilinear Upscale + + + + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + + + + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. + + + + Force palette texture draws to render at native resolution. + Force palette texture draws to render at native resolution. + + + + Contrast Adaptive Sharpening + You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx + Contrast Adaptive Sharpening + + + + Sharpness + Sharpness + + + + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. + + + + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. + + + + Brightness + Brightness + + + + + + 50 + 50 + + + + Contrast + Contrast + + + + TV Shader + TV Shader + + + + Applies a shader which replicates the visual effects of different styles of television set. + Applies a shader which replicates the visual effects of different styles of television set. + + + + OSD Scale + OSD Scale + + + + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + + + + Shows the internal frame rate of the game in the top-right corner of the display. + Shows the internal frame rate of the game in the top-right corner of the display. + + + + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + + + + Shows the resolution of the game in the top-right corner of the display. + Shows the resolution of the game in the top-right corner of the display. + + + + Shows host's CPU utilization. + Shows host's CPU utilization. + + + + Shows host's GPU utilization. + Shows host's GPU utilization. + + + + Shows counters for internal graphical utilization, useful for debugging. + Shows counters for internal graphical utilization, useful for debugging. + + + + Shows the current controller state of the system in the bottom-left corner of the display. + Shows the current controller state of the system in the bottom-left corner of the display. + + + + Shows the current PCSX2 version on the top-right corner of the display. + Shows the current PCSX2 version on the top-right corner of the display. + + + + Shows the currently active video capture status. + Shows the currently active video capture status. + + + + Shows the currently active input recording status. + Shows the currently active input recording status. + + + + Displays warnings when settings are enabled which may break games. + Displays warnings when settings are enabled which may break games. + + + + + Leave It Blank + Leave It Blank + + + + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" + + + + Sets the audio bitrate to be used. + Sets the audio bitrate to be used. + + + + 160 kbps + 160 kbps + + + + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" + + + + GS Dump Compression + GS Dump Compression + + + + Change the compression algorithm used when creating a GS dump. + Change the compression algorithm used when creating a GS dump. + + + + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. + Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. + + + + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. + + + + Displays additional, very high upscaling multipliers dependent on GPU capability. + Displays additional, very high upscaling multipliers dependent on GPU capability. + + + + Enable Debug Device + Enable Debug Device + + + + Enables API-level validation of graphics commands. + Enables API-level validation of graphics commands. + + + + GS Download Mode + GS Download Mode + + + + Accurate + Accurate + + + + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. + + + + + + + + Default + This string refers to a default codec, whether it's an audio codec or a video codec. + Default + + + + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + + + + GraphicsSettingsWidget::GraphicsSettingsWidget + + + Default + This string refers to a default pixel format + Default + + + + Hotkeys + + + + + + + + + + + + + + + + Graphics + Graphics + + + + Save Screenshot + Save Screenshot + + + + Toggle Video Capture + Toggle Video Capture + + + + Save Single Frame GS Dump + Save Single Frame GS Dump + + + + Save Multi Frame GS Dump + Save Multi Frame GS Dump + + + + Toggle Software Rendering + Toggle Software Rendering + + + + Increase Upscale Multiplier + Increase Upscale Multiplier + + + + Decrease Upscale Multiplier + Decrease Upscale Multiplier + + + + Toggle On-Screen Display + Toggle On-Screen Display + + + + Cycle Aspect Ratio + Cycle Aspect Ratio + + + + Aspect ratio set to '{}'. + Aspect ratio set to '{}'. + + + + Toggle Hardware Mipmapping + Toggle Hardware Mipmapping + + + + Hardware mipmapping is now enabled. + Hardware mipmapping is now enabled. + + + + Hardware mipmapping is now disabled. + Hardware mipmapping is now disabled. + + + + Cycle Deinterlace Mode + Cycle Deinterlace Mode + + + + Automatic + Automatic + + + + Off + Off + + + + Weave (Top Field First) + Weave (Top Field First) + + + + Weave (Bottom Field First) + Weave (Bottom Field First) + + + + Bob (Top Field First) + Bob (Top Field First) + + + + Bob (Bottom Field First) + Bob (Bottom Field First) + + + + Blend (Top Field First) + Blend (Top Field First) + + + + Blend (Bottom Field First) + Blend (Bottom Field First) + + + + Adaptive (Top Field First) + Adaptive (Top Field First) + + + + Adaptive (Bottom Field First) + Adaptive (Bottom Field First) + + + + Deinterlace mode set to '{}'. + Deinterlace mode set to '{}'. + + + + Toggle Texture Dumping + Toggle Texture Dumping + + + + Texture dumping is now enabled. + Texture dumping is now enabled. + + + + Texture dumping is now disabled. + Texture dumping is now disabled. + + + + Toggle Texture Replacements + Toggle Texture Replacements + + + + Texture replacements are now enabled. + Texture replacements are now enabled. + + + + Texture replacements are now disabled. + Texture replacements are now disabled. + + + + Reload Texture Replacements + Reload Texture Replacements + + + + Texture replacements are not enabled. + Texture replacements are not enabled. + + + + Reloading texture replacements... + Reloading texture replacements... + + + + Target speed set to {:.0f}%. + Target speed set to {:.0f}%. + + + + Volume: Muted + Volume: Muted + + + + Volume: {}% + Volume: {}% + + + + No save state found in slot {}. + No save state found in slot {}. + + + + + + + + + + + + + + + + + + + + + System + System + + + + Open Pause Menu + Open Pause Menu + + + + Open Achievements List + Open Achievements List + + + + Open Leaderboards List + Open Leaderboards List + + + + Toggle Pause + Toggle Pause + + + + Toggle Fullscreen + Toggle Fullscreen + + + + Toggle Frame Limit + Toggle Frame Limit + + + + Toggle Turbo / Fast Forward + Toggle Turbo / Fast Forward + + + + Toggle Slow Motion + Toggle Slow Motion + + + + Turbo / Fast Forward (Hold) + Turbo / Fast Forward (Hold) + + + + Increase Target Speed + Increase Target Speed + + + + Decrease Target Speed + Decrease Target Speed + + + + Increase Volume + Increase Volume + + + + Decrease Volume + Decrease Volume + + + + Toggle Mute + Toggle Mute + + + + Frame Advance + Frame Advance + + + + Shut Down Virtual Machine + Shut Down Virtual Machine + + + + Reset Virtual Machine + Reset Virtual Machine + + + + Toggle Input Recording Mode + Toggle Input Recording Mode + + + + + + + + + Save States + Save States + + + + Select Previous Save Slot + Select Previous Save Slot + + + + Select Next Save Slot + Select Next Save Slot + + + + Save State To Selected Slot + Save State To Selected Slot + + + + Load State From Selected Slot + Load State From Selected Slot + + + + Save State and Select Next Slot + Save State and Select Next Slot + + + + Select Next Slot and Save State + Select Next Slot and Save State + + + + Save State To Slot 1 + Save State To Slot 1 + + + + Load State From Slot 1 + Load State From Slot 1 + + + + Save State To Slot 2 + Save State To Slot 2 + + + + Load State From Slot 2 + Load State From Slot 2 + + + + Save State To Slot 3 + Save State To Slot 3 + + + + Load State From Slot 3 + Load State From Slot 3 + + + + Save State To Slot 4 + Save State To Slot 4 + + + + Load State From Slot 4 + Load State From Slot 4 + + + + Save State To Slot 5 + Save State To Slot 5 + + + + Load State From Slot 5 + Load State From Slot 5 + + + + Save State To Slot 6 + Save State To Slot 6 + + + + Load State From Slot 6 + Load State From Slot 6 + + + + Save State To Slot 7 + Save State To Slot 7 + + + + Load State From Slot 7 + Load State From Slot 7 + + + + Save State To Slot 8 + Save State To Slot 8 + + + + Load State From Slot 8 + Load State From Slot 8 + + + + Save State To Slot 9 + Save State To Slot 9 + + + + Load State From Slot 9 + Load State From Slot 9 + + + + Save State To Slot 10 + Save State To Slot 10 + + + + Load State From Slot 10 + Load State From Slot 10 + + + + Save slot {0} selected ({1}). + Save slot {0} selected ({1}). + + + + ImGuiOverlays + + + {} Recording Input + {} Recording Input + + + + {} Replaying + {} Replaying + + + + Input Recording Active: {} + Input Recording Active: {} + + + + Frame: {}/{} ({}) + Frame: {}/{} ({}) + + + + Undo Count: {} + Undo Count: {} + + + + Saved at {0:%H:%M} on {0:%a} {0:%Y/%m/%d}. + Saved at {0:%H:%M} on {0:%a} {0:%Y/%m/%d}. + + + + Save state selector is unavailable without a valid game serial. + Save state selector is unavailable without a valid game serial. + + + + Load + Load + + + + Save + Save + + + + Select Previous + Select Previous + + + + Select Next + Select Next + + + + Close Menu + Close Menu + + + + + Save Slot {0} + Save Slot {0} + + + + No save present in this slot. + No save present in this slot. + + + + no save yet + no save yet + + + + InputBindingDialog + + + Edit Bindings + Edit Bindings + + + + Bindings for Controller0/ButtonCircle + Bindings for Controller0/ButtonCircle + + + + Sensitivity: + Sensitivity: + + + + + 100% + 100% + + + + Deadzone: + Deadzone: + + + + Add Binding + Add Binding + + + + Remove Binding + Remove Binding + + + + Clear Bindings + Clear Bindings + + + + Bindings for %1 %2 + Bindings for %1 %2 + + + + Close + Close + + + + + Push Button/Axis... [%1] + Push Button/Axis... [%1] + + + + + %1% + %1% + + + + InputBindingWidget + + + + +Left click to assign a new button +Shift + left click for additional bindings + + +Left click to assign a new button +Shift + left click for additional bindings + + + + +Right click to clear binding + +Right click to clear binding + + + + No bindings registered + No bindings registered + + + + %n bindings + + %n bindings + %n bindings + + + + + + Push Button/Axis... [%1] + Push Button/Axis... [%1] + + + + InputRecording + + + Started new input recording + Started new input recording + + + + Savestate load failed for input recording + Savestate load failed for input recording + + + + Savestate load failed for input recording, unsupported version? + Savestate load failed for input recording, unsupported version? + + + + Replaying input recording + Replaying input recording + + + + Input recording stopped + Input recording stopped + + + + Unable to stop input recording + Unable to stop input recording + + + + Congratulations, you've been playing for far too long and thus have reached the limit of input recording! Stopping recording now... + Congratulations, you've been playing for far too long and thus have reached the limit of input recording! Stopping recording now... + + + + InputRecordingControls + + + + + Record Mode Enabled + Record Mode Enabled + + + + Replay Mode Enabled + Replay Mode Enabled + + + + InputRecordingViewer + + + Input Recording Viewer + Input Recording Viewer + + + + File + File + + + + Edit + Edit + + + + View + View + + + + Open + Open + + + + Close + Close + + + + %1 %2 + %1 %2 + + + + %1 + %1 + + + + %1 [%2] + %1 [%2] + + + + Left Analog + Left Analog + + + + Right Analog + Right Analog + + + + Cross + Cross + + + + Square + Square + + + + Triangle + Triangle + + + + Circle + Circle + + + + L1 + L1 + + + + R1 + R1 + + + + L2 + L2 + + + + R2 + R2 + + + + D-Pad Down + D-Pad Down + + + + L3 + L3 + + + + R3 + R3 + + + + Select + Select + + + + Start + Start + + + + D-Pad Right + D-Pad Right + + + + D-Pad Up + D-Pad Up + + + + D-Pad Left + D-Pad Left + + + + Input Recording Files (*.p2m2) + Input Recording Files (*.p2m2) + + + + Opening Recording Failed + Opening Recording Failed + + + + Failed to open file: %1 + Failed to open file: %1 + + + + InputVibrationBindingWidget + + + Error + Error + + + + No devices with vibration motors were detected. + No devices with vibration motors were detected. + + + + Select vibration motor for %1. + Select vibration motor for %1. + + + + InterfaceSettingsWidget + + + Behaviour + Behaviour + + + + + Pause On Focus Loss + Pause On Focus Loss + + + + + Inhibit Screensaver + Inhibit Screensaver + + + + + Pause On Start + Pause On Start + + + + + Confirm Shutdown + Confirm Shutdown + + + + + Enable Discord Presence + Enable Discord Presence + + + + + Pause On Controller Disconnection + Pause On Controller Disconnection + + + + Game Display + Game Display + + + + + Start Fullscreen + Start Fullscreen + + + + + Double-Click Toggles Fullscreen + Double-Click Toggles Fullscreen + + + + + Render To Separate Window + Render To Separate Window + + + + + Hide Main Window When Running + Hide Main Window When Running + + + + + Disable Window Resizing + Disable Window Resizing + + + + + Hide Cursor In Fullscreen + Hide Cursor In Fullscreen + + + + Preferences + Preferences + + + + Language: + Language: + + + + Theme: + Theme: + + + + Automatic Updater + Automatic Updater + + + + Update Channel: + Update Channel: + + + + Current Version: + Current Version: + + + + + Enable Automatic Update Check + Enable Automatic Update Check + + + + Check for Updates... + Check for Updates... + + + + Native + Native + + + + Classic Windows + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Classic Windows + + + + Dark Fusion (Gray) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Dark Fusion (Gray) [Dark] + + + + Dark Fusion (Blue) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Dark Fusion (Blue) [Dark] + + + + Grey Matter (Gray) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Grey Matter (Gray) [Dark] + + + + Untouched Lagoon (Grayish Green/-Blue ) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Untouched Lagoon (Grayish Green/-Blue ) [Light] + + + + Baby Pastel (Pink) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Baby Pastel (Pink) [Light] + + + + Pizza Time! (Brown-ish/Creamy White) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Pizza Time! (Brown-ish/Creamy White) [Light] + + + + PCSX2 (White/Blue) [Light] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + PCSX2 (White/Blue) [Light] + + + + Scarlet Devil (Red/Purple) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Scarlet Devil (Red/Purple) [Dark] + + + + Violet Angel (Blue/Purple) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Violet Angel (Blue/Purple) [Dark] + + + + Cobalt Sky (Blue) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Cobalt Sky (Blue) [Dark] + + + + Ruby (Black/Red) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Ruby (Black/Red) [Dark] + + + + Sapphire (Black/Blue) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Sapphire (Black/Blue) [Dark] + + + + Emerald (Black/Green) [Dark] + Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. + Emerald (Black/Green) [Dark] + + + + Custom.qss [Drop in PCSX2 Folder] + "Custom.qss" must be kept as-is. + Custom.qss [Drop in PCSX2 Folder] + + + + + + + Checked + Checked + + + + Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. + Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. + + + + %1 (%2) + Variable %1 shows the version number and variable %2 shows a timestamp. + %1 (%2) + + + + Prevents the screen saver from activating and the host from sleeping while emulation is running. + Prevents the screen saver from activating and the host from sleeping while emulation is running. + + + + Determines whether a prompt will be displayed to confirm shutting down the virtual machine when the hotkey is pressed. + Determines whether a prompt will be displayed to confirm shutting down the virtual machine when the hotkey is pressed. + + + + Pauses the emulator when a controller with bindings is disconnected. + Pauses the emulator when a controller with bindings is disconnected. + + + + Allows switching in and out of fullscreen mode by double-clicking the game window. + Allows switching in and out of fullscreen mode by double-clicking the game window. + + + + Prevents the main window from being resized. + Prevents the main window from being resized. + + + + + + + + + + + + Unchecked + Unchecked + + + + Fusion [Light/Dark] + Fusion [Light/Dark] + + + + Pauses the emulator when a game is started. + Pauses the emulator when a game is started. + + + + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + + + + Automatically switches to fullscreen mode when a game is started. + Automatically switches to fullscreen mode when a game is started. + + + + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + + + + Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. + Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. + + + + Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. + Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. + + + + Shows the game you are currently playing as part of your profile in Discord. + Shows the game you are currently playing as part of your profile in Discord. + + + + System Language [Default] + System Language [Default] + + + + LogWindow + + + Log Window - %1 [%2] + Log Window - %1 [%2] + + + + Log Window + Log Window + + + + &Clear + &Clear + + + + &Save... + &Save... + + + + Cl&ose + Cl&ose + + + + &Settings + &Settings + + + + Log To &System Console + Log To &System Console + + + + Log To &Debug Console + Log To &Debug Console + + + + Log To &File + Log To &File + + + + Attach To &Main Window + Attach To &Main Window + + + + Show &Timestamps + Show &Timestamps + + + + Select Log File + Select Log File + + + + Log Files (*.txt) + Log Files (*.txt) + + + + Error + Error + + + + Failed to open file for writing. + Failed to open file for writing. + + + + Log was written to %1. + + Log was written to %1. + + + + + MAC_APPLICATION_MENU + + + Services + Services + + + + Hide %1 + Hide %1 + + + + Hide Others + Hide Others + + + + Show All + Show All + + + + Preferences... + Preferences... + + + + Quit %1 + Quit %1 + + + + About %1 + About %1 + + + + MainWindow + + + PCSX2 + PCSX2 + + + + &System + &System + + + + + Change Disc + Change Disc + + + + Load State + Load State + + + + S&ettings + S&ettings + + + + &Help + &Help + + + + &Debug + &Debug + + + + &View + &View + + + + &Window Size + &Window Size + + + + &Tools + &Tools + + + + Toolbar + Toolbar + + + + Start &File... + Start &File... + + + + Start &BIOS + Start &BIOS + + + + &Scan For New Games + &Scan For New Games + + + + &Rescan All Games + &Rescan All Games + + + + Shut &Down + Shut &Down + + + + Shut Down &Without Saving + Shut Down &Without Saving + + + + &Reset + &Reset + + + + &Pause + &Pause + + + + E&xit + E&xit + + + + &BIOS + &BIOS + + + + &Controllers + &Controllers + + + + &Hotkeys + &Hotkeys + + + + &Graphics + &Graphics + + + + &Post-Processing Settings... + &Post-Processing Settings... + + + + Resolution Scale + Resolution Scale + + + + &GitHub Repository... + &GitHub Repository... + + + + Support &Forums... + Support &Forums... + + + + &Discord Server... + &Discord Server... + + + + Check for &Updates... + Check for &Updates... + + + + About &Qt... + About &Qt... + + + + &About PCSX2... + &About PCSX2... + + + + Fullscreen + In Toolbar + Fullscreen + + + + Change Disc... + In Toolbar + Change Disc... + + + + &Audio + &Audio + + + + Global State + Global State + + + + &Screenshot + &Screenshot + + + + Start File + In Toolbar + Start File + + + + &Change Disc + &Change Disc + + + + &Load State + &Load State + + + + Sa&ve State + Sa&ve State + + + + Setti&ngs + Setti&ngs + + + + &Switch Renderer + &Switch Renderer + + + + &Input Recording + &Input Recording + + + + Start D&isc... + Start D&isc... + + + + Start Disc + In Toolbar + Start Disc + + + + Start BIOS + In Toolbar + Start BIOS + + + + Shut Down + In Toolbar + Shut Down + + + + Reset + In Toolbar + Reset + + + + Pause + In Toolbar + Pause + + + + Load State + In Toolbar + Load State + + + + Save State + In Toolbar + Save State + + + + &Emulation + &Emulation + + + + Controllers + In Toolbar + Controllers + + + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + + Settings + In Toolbar + Settings + + + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + + Screenshot + In Toolbar + Screenshot + + + + &Memory Cards + &Memory Cards + + + + &Network && HDD + &Network && HDD + + + + &Folders + &Folders + + + + &Toolbar + &Toolbar + + + + Show Titl&es (Grid View) + Show Titl&es (Grid View) + + + + &Open Data Directory... + &Open Data Directory... + + + + &Toggle Software Rendering + &Toggle Software Rendering + + + + &Open Debugger + &Open Debugger + + + + &Reload Cheats/Patches + &Reload Cheats/Patches + + + + E&nable System Console + E&nable System Console + + + + Enable &Debug Console + Enable &Debug Console + + + + Enable &Log Window + Enable &Log Window + + + + Enable &Verbose Logging + Enable &Verbose Logging + + + + Enable EE Console &Logging + Enable EE Console &Logging + + + + Enable &IOP Console Logging + Enable &IOP Console Logging + + + + Save Single Frame &GS Dump + Save Single Frame &GS Dump + + + + &New + This section refers to the Input Recording submenu. + &New + + + + &Play + This section refers to the Input Recording submenu. + &Play + + + + &Stop + This section refers to the Input Recording submenu. + &Stop + + + + &Controller Logs + &Controller Logs + + + + &Input Recording Logs + &Input Recording Logs + + + + Enable &CDVD Read Logging + Enable &CDVD Read Logging + + + + Save CDVD &Block Dump + Save CDVD &Block Dump + + + + &Enable Log Timestamps + &Enable Log Timestamps + + + + Start Big Picture &Mode + Start Big Picture &Mode + + + + &Cover Downloader... + &Cover Downloader... + + + + &Show Advanced Settings + &Show Advanced Settings + + + + &Recording Viewer + &Recording Viewer + + + + &Video Capture + &Video Capture + + + + &Edit Cheats... + &Edit Cheats... + + + + Edit &Patches... + Edit &Patches... + + + + &Status Bar + &Status Bar + + + + + Game &List + Game &List + + + + Loc&k Toolbar + Loc&k Toolbar + + + + &Verbose Status + &Verbose Status + + + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties + + + + Game &Grid + Game &Grid + + + + Zoom &In (Grid View) + Zoom &In (Grid View) + + + + Ctrl++ + Ctrl++ + + + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + + Start Big Picture Mode + Start Big Picture Mode + + + + + Big Picture + In Toolbar + Big Picture + + + + Show Advanced Settings + Show Advanced Settings + + + + Video Capture + Video Capture + + + + Internal Resolution + Internal Resolution + + + + %1x Scale + %1x Scale + + + + Select location to save block dump: + Select location to save block dump: + + + + Do not show again + Do not show again + + + + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. + +The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. + +Are you sure you want to continue? + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. + +The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. + +Are you sure you want to continue? + + + + %1 Files (*.%2) + %1 Files (*.%2) + + + + WARNING: Memory Card Busy + WARNING: Memory Card Busy + + + + Confirm Shutdown + Confirm Shutdown + + + + Are you sure you want to shut down the virtual machine? + Are you sure you want to shut down the virtual machine? + + + + Save State For Resume + Save State For Resume + + + + + + + + + Error + Error + + + + You must select a disc to change discs. + You must select a disc to change discs. + + + + Properties... + Properties... + + + + Set Cover Image... + Set Cover Image... + + + + Exclude From List + Exclude From List + + + + Reset Play Time + Reset Play Time + + + + Check Wiki Page + Check Wiki Page + + + + Default Boot + Default Boot + + + + Fast Boot + Fast Boot + + + + Full Boot + Full Boot + + + + Boot and Debug + Boot and Debug + + + + Add Search Directory... + Add Search Directory... + + + + Start File + Start File + + + + Start Disc + Start Disc + + + + Select Disc Image + Select Disc Image + + + + Updater Error + Updater Error + + + + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> + + + + Automatic updating is not supported on the current platform. + Automatic updating is not supported on the current platform. + + + + Confirm File Creation + Confirm File Creation + + + + The pnach file '%1' does not currently exist. Do you want to create it? + The pnach file '%1' does not currently exist. Do you want to create it? + + + + Failed to create '%1'. + Failed to create '%1'. + + + + Theme Change + Theme Change + + + + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? + + + + Input Recording Failed + Input Recording Failed + + + + Failed to create file: {} + Failed to create file: {} + + + + Input Recording Files (*.p2m2) + Input Recording Files (*.p2m2) + + + + Input Playback Failed + Input Playback Failed + + + + Failed to open file: {} + Failed to open file: {} + + + + Paused + Paused + + + + Load State Failed + Load State Failed + + + + Cannot load a save state without a running VM. + Cannot load a save state without a running VM. + + + + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? + + + + Cannot change from game to GS dump without shutting down first. + Cannot change from game to GS dump without shutting down first. + + + + Failed to get window info from widget + Failed to get window info from widget + + + + Stop Big Picture Mode + Stop Big Picture Mode + + + + Exit Big Picture + In Toolbar + Exit Big Picture + + + + Game Properties + Game Properties + + + + Game properties is unavailable for the current game. + Game properties is unavailable for the current game. + + + + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + + + + Select disc drive: + Select disc drive: + + + + This save state does not exist. + This save state does not exist. + + + + Select Cover Image + Select Cover Image + + + + Cover Already Exists + Cover Already Exists + + + + A cover image for this game already exists, do you wish to replace it? + A cover image for this game already exists, do you wish to replace it? + + + + + + + Copy Error + Copy Error + + + + Failed to remove existing cover '%1' + Failed to remove existing cover '%1' + + + + Failed to copy '%1' to '%2' + Failed to copy '%1' to '%2' + + + + Failed to remove '%1' + Failed to remove '%1' + + + + + Confirm Reset + Confirm Reset + + + + All Cover Image Types (*.jpg *.jpeg *.png *.webp) + All Cover Image Types (*.jpg *.jpeg *.png *.webp) + + + + You must select a different file to the current cover image. + You must select a different file to the current cover image. + + + + Are you sure you want to reset the play time for '%1'? + +This action cannot be undone. + Are you sure you want to reset the play time for '%1'? + +This action cannot be undone. + + + + Load Resume State + Load Resume State + + + + A resume save state was found for this game, saved at: + +%1. + +Do you want to load this state, or start from a fresh boot? + A resume save state was found for this game, saved at: + +%1. + +Do you want to load this state, or start from a fresh boot? + + + + Fresh Boot + Fresh Boot + + + + Delete And Boot + Delete And Boot + + + + Failed to delete save state file '%1'. + Failed to delete save state file '%1'. + + + + Load State File... + Load State File... + + + + Load From File... + Load From File... + + + + + Select Save State File + Select Save State File + + + + Save States (*.p2s) + Save States (*.p2s) + + + + Delete Save States... + Delete Save States... + + + + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) + + + + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) + + + + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> + + + + Save States (*.p2s *.p2s.backup) + Save States (*.p2s *.p2s.backup) + + + + Undo Load State + Undo Load State + + + + Resume (%2) + Resume (%2) + + + + Load Slot %1 (%2) + Load Slot %1 (%2) + + + + + Delete Save States + Delete Save States + + + + Are you sure you want to delete all save states for %1? + +The saves will not be recoverable. + Are you sure you want to delete all save states for %1? + +The saves will not be recoverable. + + + + %1 save states deleted. + %1 save states deleted. + + + + Save To File... + Save To File... + + + + Empty + Empty + + + + Save Slot %1 (%2) + Save Slot %1 (%2) + + + + Confirm Disc Change + Confirm Disc Change + + + + Do you want to swap discs or boot the new image (via system reset)? + Do you want to swap discs or boot the new image (via system reset)? + + + + Swap Disc + Swap Disc + + + + Reset + Reset + + + + Missing Font File + Missing Font File + + + + The font file '%1' is required for the On-Screen Display and Big Picture Mode to show messages in your language.<br><br>Do you want to download this file now? These files are usually less than 10 megabytes in size.<br><br><strong>If you do not download this file, on-screen messages will not be readable.</strong> + The font file '%1' is required for the On-Screen Display and Big Picture Mode to show messages in your language.<br><br>Do you want to download this file now? These files are usually less than 10 megabytes in size.<br><br><strong>If you do not download this file, on-screen messages will not be readable.</strong> + + + + Downloading Files + Downloading Files + + + + MemoryCard + + + + Memory Card Creation Failed + Memory Card Creation Failed + + + + Could not create the memory card: +{} + Could not create the memory card: +{} + + + + Memory Card Read Failed + Memory Card Read Failed + + + + Unable to access memory card: + +{} + +Another instance of PCSX2 may be using this memory card or the memory card is stored in a write-protected folder. +Close any other instances of PCSX2, or restart your computer. + + Unable to access memory card: + +{} + +Another instance of PCSX2 may be using this memory card or the memory card is stored in a write-protected folder. +Close any other instances of PCSX2, or restart your computer. + + + + + + Memory Card '{}' was saved to storage. + Memory Card '{}' was saved to storage. + + + + Failed to create memory card. The error was: +{} + Failed to create memory card. The error was: +{} + + + + Memory Cards reinserted. + Memory Cards reinserted. + + + + Force ejecting all Memory Cards. Reinserting in 1 second. + Force ejecting all Memory Cards. Reinserting in 1 second. + + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + + + + MemoryCardConvertDialog + + + Convert Memory Card + Convert Memory Card + + + + Conversion Type + Conversion Type + + + + + 8 MB File + 8 MB File + + + + + 16 MB File + 16 MB File + + + + + 32 MB File + 32 MB File + + + + + 64 MB File + 64 MB File + + + + Folder + Folder + + + + <center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center> + <center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center> + + + + Progress + Progress + + + + + + Uses a folder on your PC filesystem, instead of a file. Infinite capacity, while keeping the same compatibility as an 8 MB Memory Card. + Uses a folder on your PC filesystem, instead of a file. Infinite capacity, while keeping the same compatibility as an 8 MB Memory Card. + + + + + A standard, 8 MB Memory Card. Most compatible, but smallest capacity. + A standard, 8 MB Memory Card. Most compatible, but smallest capacity. + + + + + 2x larger than a standard Memory Card. May have some compatibility issues. + 2x larger than a standard Memory Card. May have some compatibility issues. + + + + + 4x larger than a standard Memory Card. Likely to have compatibility issues. + 4x larger than a standard Memory Card. Likely to have compatibility issues. + + + + + 8x larger than a standard Memory Card. Likely to have compatibility issues. + 8x larger than a standard Memory Card. Likely to have compatibility issues. + + + + + + Convert Memory Card Failed + MemoryCardType should be left as-is. + Convert Memory Card Failed + + + + + + Invalid MemoryCardType + Invalid MemoryCardType + + + + Conversion Complete + Conversion Complete + + + + Memory Card "%1" converted to "%2" + Memory Card "%1" converted to "%2" + + + + Your folder Memory Card has too much data inside it to be converted to a file Memory Card. The largest supported file Memory Card has a capacity of 64 MB. To convert your folder Memory Card, you must remove game folders until its size is 64 MB or less. + Your folder Memory Card has too much data inside it to be converted to a file Memory Card. The largest supported file Memory Card has a capacity of 64 MB. To convert your folder Memory Card, you must remove game folders until its size is 64 MB or less. + + + + + Cannot Convert Memory Card + Cannot Convert Memory Card + + + + There was an error when accessing the memory card directory. Error message: %0 + There was an error when accessing the memory card directory. Error message: %0 + + + + MemoryCardCreateDialog + + + + + + + Create Memory Card + Create Memory Card + + + + <html><head/><body><p><span style=" font-weight:700;">Create Memory Card</span><br />Enter the name of the Memory Card you wish to create, and choose a size. We recommend either using 8MB Memory Cards, or folder Memory Cards for best compatibility.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Create Memory Card</span><br />Enter the name of the Memory Card you wish to create, and choose a size. We recommend either using 8MB Memory Cards, or folder Memory Cards for best compatibility.</p></body></html> + + + + Memory Card Name: + Memory Card Name: + + + + 8 MB [Most Compatible] + 8 MB [Most Compatible] + + + + This is the standard Sony-provisioned size, and is supported by all games and BIOS versions. + This is the standard Sony-provisioned size, and is supported by all games and BIOS versions. + + + + 16 MB + 16 MB + + + + + A typical size for third-party Memory Cards which should work with most games. + A typical size for third-party Memory Cards which should work with most games. + + + + 32 MB + 32 MB + + + + 64 MB + 64 MB + + + + Low compatibility warning: yes, it's very big, but may not work with many games. + Low compatibility warning: yes, it's very big, but may not work with many games. + + + + Folder [Recommended] + Folder [Recommended] + + + + Store Memory Card contents in the host filesystem instead of a file. + Store Memory Card contents in the host filesystem instead of a file. + + + + 128 KB (PS1) + 128 KB (PS1) + + + + This is the standard Sony-provisioned size PS1 Memory Card, and only compatible with PS1 games. + This is the standard Sony-provisioned size PS1 Memory Card, and only compatible with PS1 games. + + + + Use NTFS Compression + Use NTFS Compression + + + + NTFS compression is built-in, fast, and completely reliable. Typically compresses Memory Cards (highly recommended). + NTFS compression is built-in, fast, and completely reliable. Typically compresses Memory Cards (highly recommended). + + + + Failed to create the Memory Card, because the name '%1' contains one or more invalid characters. + Failed to create the Memory Card, because the name '%1' contains one or more invalid characters. + + + + Failed to create the Memory Card, because another card with the name '%1' already exists. + Failed to create the Memory Card, because another card with the name '%1' already exists. + + + + Failed to create the Memory Card, the log may contain more information. + Failed to create the Memory Card, the log may contain more information. + + + + Memory Card '%1' created. + Memory Card '%1' created. + + + + MemoryCardListWidget + + + Yes + Yes + + + + No + No + + + + MemoryCardSettingsWidget + + + Memory Card Slots + Memory Card Slots + + + + Memory Cards + Memory Cards + + + + Folder: + Folder: + + + + Browse... + Browse... + + + + Open... + Open... + + + + + Reset + Reset + + + + Name + Name + + + + Type + Type + + + + Formatted + Formatted + + + + Last Modified + Last Modified + + + + Refresh + Refresh + + + + + Create + Create + + + + + Rename + Rename + + + + + Convert + Convert + + + + + Delete + Delete + + + + Settings + Settings + + + + + Automatically manage saves based on running game + Automatically manage saves based on running game + + + + Checked + Checked + + + + (Folder type only / Card size: Auto) Loads only the relevant booted game saves, ignoring others. Avoids running out of space for saves. + (Folder type only / Card size: Auto) Loads only the relevant booted game saves, ignoring others. Avoids running out of space for saves. + + + + Swap Memory Cards + Swap Memory Cards + + + + Eject Memory Card + Eject Memory Card + + + + + Error + Error + + + + + Delete Memory Card + Delete Memory Card + + + + + + + Rename Memory Card + Rename Memory Card + + + + New Card Name + New Card Name + + + + New name is invalid, it must end with .ps2 + New name is invalid, it must end with .ps2 + + + + New name is invalid, a card with this name already exists. + New name is invalid, a card with this name already exists. + + + + Slot %1 + Slot %1 + + + + This Memory Card cannot be recognized or is not a valid file type. + This Memory Card cannot be recognized or is not a valid file type. + + + + Are you sure you wish to delete the Memory Card '%1'? + +This action cannot be reversed, and you will lose any saves on the card. + Are you sure you wish to delete the Memory Card '%1'? + +This action cannot be reversed, and you will lose any saves on the card. + + + + Failed to delete the Memory Card. The log may have more information. + Failed to delete the Memory Card. The log may have more information. + + + + Failed to rename Memory Card. The log may contain more information. + Failed to rename Memory Card. The log may contain more information. + + + + Use for Slot %1 + Use for Slot %1 + + + + Both slots must have a card selected to swap. + Both slots must have a card selected to swap. + + + + PS2 (8MB) + PS2 (8MB) + + + + PS2 (16MB) + PS2 (16MB) + + + + PS2 (32MB) + PS2 (32MB) + + + + PS2 (64MB) + PS2 (64MB) + + + + PS1 (128KB) + PS1 (128KB) + + + + + Unknown + Unknown + + + + PS2 (Folder) + PS2 (Folder) + + + + MemoryCardSlotWidget + + + %1 [%2] + %1 [%2] + + + + %1 [Missing] + Ignore Crowdin's warning for [Missing], the text should be translated. + %1 [Missing] + + + + MemorySearchWidget + + + Value + Value + + + + Type + Type + + + + 1 Byte (8 bits) + 1 Byte (8 bits) + + + + 2 Bytes (16 bits) + 2 Bytes (16 bits) + + + + 4 Bytes (32 bits) + 4 Bytes (32 bits) + + + + 8 Bytes (64 bits) + 8 Bytes (64 bits) + + + + Float + Float + + + + Double + Double + + + + String + String + + + + Array of byte + Array of byte + + + + Hex + Hex + + + + Search + Search + + + + Filter Search + Filter Search + + + + + Equals + Equals + + + + + Not Equals + Not Equals + + + + + Greater Than + Greater Than + + + + + Greater Than Or Equal + Greater Than Or Equal + + + + + Less Than + Less Than + + + + + Less Than Or Equal + Less Than Or Equal + + + + Comparison + Comparison + + + + Start + Start + + + + End + End + + + + Search Results List Context Menu + Search Results List Context Menu + + + + Copy Address + Copy Address + + + + Go to in Disassembly + Go to in Disassembly + + + + Add to Saved Memory Addresses + Add to Saved Memory Addresses + + + + Remove Result + Remove Result + + + + + + + + + Debugger + Debugger + + + + Invalid start address + Invalid start address + + + + Invalid end address + Invalid end address + + + + Start address can't be equal to or greater than the end address + Start address can't be equal to or greater than the end address + + + + Invalid search value + Invalid search value + + + + Value is larger than type + Value is larger than type + + + + This search comparison can only be used with filter searches. + This search comparison can only be used with filter searches. + + + + %0 results found + %0 results found + + + + Searching... + Searching... + + + + Increased + Increased + + + + Increased By + Increased By + + + + Decreased + Decreased + + + + Decreased By + Decreased By + + + + Changed + Changed + + + + Changed By + Changed By + + + + Not Changed + Not Changed + + + + MemoryViewWidget + + + Memory + Memory + + + + Copy Address + Copy Address + + + + Go to in Disassembly + Go to in Disassembly + + + + Go to address + Go to address + + + + Show as Little Endian + Show as Little Endian + + + + Show as 1 byte + Show as 1 byte + + + + Show as 2 bytes + Show as 2 bytes + + + + Show as 4 bytes + Show as 4 bytes + + + + Show as 8 bytes + Show as 8 bytes + + + + Add to Saved Memory Addresses + Add to Saved Memory Addresses + + + + Copy Byte + Copy Byte + + + + Copy Segment + Copy Segment + + + + Copy Character + Copy Character + + + + Paste + Paste + + + + Go To In Memory View + Go To In Memory View + + + + Cannot Go To + Cannot Go To + + + + NewFunctionDialog + + + No existing function found. + No existing function found. + + + + No next symbol found. + No next symbol found. + + + + Size is invalid. + Size is invalid. + + + + Size is not a multiple of 4. + Size is not a multiple of 4. + + + + A function already exists at that address. + A function already exists at that address. + + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Function + Cannot Create Function + + + + NewGlobalVariableDialog + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Global Variable + Cannot Create Global Variable + + + + NewInputRecordingDlg + + + New Input Recording + New Input Recording + + + + Select Recording Type + Select Recording Type + + + + Power On + Indicates that the input recording that is about to be started will be recorded from the moment the emulation boots on/starts. + Power On + + + + Save State + Indicates that the input recording that is about to be started will be recorded when an accompanying save state is saved. + Save State + + + + <html><head/><body><p align="center"><span style=" color:#ff0000;">Be Warned! Making an input recording that starts from a save-state will fail to work on future versions due to save-state versioning.</span></p></body></html> + <html><head/><body><p align="center"><span style=" color:#ff0000;">Be Warned! Making an input recording that starts from a save-state will fail to work on future versions due to save-state versioning.</span></p></body></html> + + + + Select File Path + Select File Path + + + + Browse + Browse + + + + Enter Author Name + Enter Author Name + + + + Input Recording Files (*.p2m2) + Input Recording Files (*.p2m2) + + + + Select a File + Select a File + + + + NewLocalVariableDialog + + + + Invalid function. + Invalid function. + + + + Cannot determine stack frame size of selected function. + Cannot determine stack frame size of selected function. + + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Local Variable + Cannot Create Local Variable + + + + NewParameterVariableDialog + + + + Invalid function. + Invalid function. + + + + Invalid storage type. + Invalid storage type. + + + + Cannot determine stack frame size of selected function. + Cannot determine stack frame size of selected function. + + + + Cannot create symbol source. + Cannot create symbol source. + + + + Cannot create symbol. + Cannot create symbol. + + + + Cannot Create Parameter Variable + Cannot Create Parameter Variable + + + + NewSymbolDialog + + + Dialog + Dialog + + + + Name + Name + + + + Address + Address + + + + + Register + Register + + + + Stack Pointer Offset + Stack Pointer Offset + + + + Size + Size + + + + Custom + Custom + + + + Existing Functions + Existing Functions + + + + Shrink to avoid overlaps + Shrink to avoid overlaps + + + + Do not modify + Do not modify + + + + Type + Type + + + + Function + Function + + + + Global + Global + + + + Stack + Stack + + + + Fill existing function (%1 bytes) + Fill existing function (%1 bytes) + + + + Fill existing function (none found) + Fill existing function (none found) + + + + Fill space (%1 bytes) + Fill space (%1 bytes) + + + + Fill space (no next symbol) + Fill space (no next symbol) + + + + Fill existing function + Fill existing function + + + + Fill space + Fill space + + + + Name is empty. + Name is empty. + + + + Address is not valid. + Address is not valid. + + + + Address is not aligned. + Address is not aligned. + + + + Pad + + + + + D-Pad Up + D-Pad Up + + + + + + D-Pad Right + D-Pad Right + + + + + + D-Pad Down + D-Pad Down + + + + + + D-Pad Left + D-Pad Left + + + + + Triangle + Triangle + + + + + Circle + Circle + + + + + Cross + Cross + + + + + Square + Square + + + + + + + Select + Select + + + + + + + + Start + Start + + + + + L1 (Left Bumper) + L1 (Left Bumper) + + + + + L2 (Left Trigger) + L2 (Left Trigger) + + + + + R1 (Right Bumper) + R1 (Right Bumper) + + + + + R2 (Right Trigger) + R2 (Right Trigger) + + + + L3 (Left Stick Button) + L3 (Left Stick Button) + + + + R3 (Right Stick Button) + R3 (Right Stick Button) + + + + Analog Toggle + Analog Toggle + + + + Apply Pressure + Apply Pressure + + + + Left Stick Up + Left Stick Up + + + + Left Stick Right + Left Stick Right + + + + Left Stick Down + Left Stick Down + + + + Left Stick Left + Left Stick Left + + + + Right Stick Up + Right Stick Up + + + + Right Stick Right + Right Stick Right + + + + Right Stick Down + Right Stick Down + + + + Right Stick Left + Right Stick Left + + + + + + Large (Low Frequency) Motor + Large (Low Frequency) Motor + + + + + + Small (High Frequency) Motor + Small (High Frequency) Motor + + + + Not Inverted + Not Inverted + + + + Invert Left/Right + Invert Left/Right + + + + Invert Up/Down + Invert Up/Down + + + + Invert Left/Right + Up/Down + Invert Left/Right + Up/Down + + + + Invert Left Stick + Invert Left Stick + + + + Inverts the direction of the left analog stick. + Inverts the direction of the left analog stick. + + + + Invert Right Stick + Invert Right Stick + + + + Inverts the direction of the right analog stick. + Inverts the direction of the right analog stick. + + + + Analog Deadzone + Analog Deadzone + + + + Sets the analog stick deadzone, i.e. the fraction of the stick movement which will be ignored. + Sets the analog stick deadzone, i.e. the fraction of the stick movement which will be ignored. + + + + + + + + + + + %.0f%% + %.0f%% + + + + Button/Trigger Deadzone + Button/Trigger Deadzone + + + + Sets the deadzone for activating buttons/triggers, i.e. the fraction of the trigger which will be ignored. + Sets the deadzone for activating buttons/triggers, i.e. the fraction of the trigger which will be ignored. + + + + Pressure Modifier Amount + Pressure Modifier Amount + + + + Analog light is now on for port {0} / slot {1} + Analog light is now on for port {0} / slot {1} + + + + Analog light is now off for port {0} / slot {1} + Analog light is now off for port {0} / slot {1} + + + + Analog Sensitivity + Analog Sensitivity + + + + Sets the analog stick axis scaling factor. A value between 130% and 140% is recommended when using recent controllers, e.g. DualShock 4, Xbox One Controller. + Sets the analog stick axis scaling factor. A value between 130% and 140% is recommended when using recent controllers, e.g. DualShock 4, Xbox One Controller. + + + + Large Motor Vibration Scale + Large Motor Vibration Scale + + + + Increases or decreases the intensity of low frequency vibration sent by the game. + Increases or decreases the intensity of low frequency vibration sent by the game. + + + + Small Motor Vibration Scale + Small Motor Vibration Scale + + + + Increases or decreases the intensity of high frequency vibration sent by the game. + Increases or decreases the intensity of high frequency vibration sent by the game. + + + + Sets the pressure when the modifier button is held. + Sets the pressure when the modifier button is held. + + + + Not Connected + Not Connected + + + + DualShock 2 + DualShock 2 + + + + Strum Up + Strum Up + + + + Strum Down + Strum Down + + + + Green Fret + Green Fret + + + + Red Fret + Red Fret + + + + Yellow Fret + Yellow Fret + + + + Blue Fret + Blue Fret + + + + Orange Fret + Orange Fret + + + + Whammy Bar + Whammy Bar + + + + Tilt Up + Tilt Up + + + + Whammy Bar Deadzone + Whammy Bar Deadzone + + + + Sets the whammy bar deadzone. Inputs below this value will not be sent to the PS2. + Sets the whammy bar deadzone. Inputs below this value will not be sent to the PS2. + + + + Whammy Bar Sensitivity + Whammy Bar Sensitivity + + + + Sets the whammy bar axis scaling factor. + Sets the whammy bar axis scaling factor. + + + + Guitar + Guitar + + + + Controller port {0}, slot {1} has a {2} connected, but the save state has a {3}. +Ejecting {3} and replacing it with {2}. + Controller port {0}, slot {1} has a {2} connected, but the save state has a {3}. +Ejecting {3} and replacing it with {2}. + + + + Yellow (Left) + Yellow (Left) + + + + Yellow (Right) + Yellow (Right) + + + + Blue (Left) + Blue (Left) + + + + Blue (Right) + Blue (Right) + + + + White (Left) + White (Left) + + + + White (Right) + White (Right) + + + + Green (Left) + Green (Left) + + + + Green (Right) + Green (Right) + + + + Red + Red + + + + Pop'n Music + Pop'n Music + + + + Motor + Motor + + + + Dial (Left) + Dial (Left) + + + + Dial (Right) + Dial (Right) + + + + Dial Deadzone + Dial Deadzone + + + + Sets the dial deadzone. Inputs below this value will not be sent to the PS2. + Sets the dial deadzone. Inputs below this value will not be sent to the PS2. + + + + Dial Sensitivity + Dial Sensitivity + + + + Sets the dial scaling factor. + Sets the dial scaling factor. + + + + Jogcon + Jogcon + + + + B Button + B Button + + + + A Button + A Button + + + + I Button + I Button + + + + II Button + II Button + + + + L (Left Bumper) + L (Left Bumper) + + + + R (Right Bumper) + R (Right Bumper) + + + + Twist (Left) + Twist (Left) + + + + Twist (Right) + Twist (Right) + + + + Twist Deadzone + Twist Deadzone + + + + Sets the twist deadzone. Inputs below this value will not be sent to the PS2. + Sets the twist deadzone. Inputs below this value will not be sent to the PS2. + + + + Twist Sensitivity + Twist Sensitivity + + + + Sets the twist scaling factor. + Sets the twist scaling factor. + + + + Negcon + Negcon + + + + Patch + + + Failed to open {}. Built-in game patches are not available. + Failed to open {}. Built-in game patches are not available. + + + + %n GameDB patches are active. + OSD Message + + %n GameDB patches are active. + %n GameDB patches are active. + + + + + %n game patches are active. + OSD Message + + %n game patches are active. + %n game patches are active. + + + + + %n cheat patches are active. + OSD Message + + %n cheat patches are active. + %n cheat patches are active. + + + + + No cheats or patches (widescreen, compatibility or others) are found / enabled. + No cheats or patches (widescreen, compatibility or others) are found / enabled. + + + + Pcsx2Config + + + Disabled (Noisy) + Disabled (Noisy) + + + + TimeStretch (Recommended) + TimeStretch (Recommended) + + + + PermissionsDialogCamera + + + PCSX2 uses your camera to emulate an EyeToy camera plugged into the virtual PS2. + PCSX2 uses your camera to emulate an EyeToy camera plugged into the virtual PS2. + + + + PermissionsDialogMicrophone + + + PCSX2 uses your microphone to emulate a USB microphone plugged into the virtual PS2. + PCSX2 uses your microphone to emulate a USB microphone plugged into the virtual PS2. + + + + QCoreApplication + + + Invalid array subscript. + Invalid array subscript. + + + + No type name provided. + No type name provided. + + + + Type '%1' not found. + Type '%1' not found. + + + + QObject + + + + HDD Creator + HDD Creator + + + + + Failed to create HDD image + Failed to create HDD image + + + + + Creating HDD file + %1 / %2 MiB + Creating HDD file + %1 / %2 MiB + + + + Cancel + Cancel + + + + QtAsyncProgressThread + + + Error + Error + + + + Question + Question + + + + Information + Information + + + + QtHost + + + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. + + + + + Error + Error + + + + An error occurred while deleting empty game settings: +{} + An error occurred while deleting empty game settings: +{} + + + + An error occurred while saving game settings: +{} + An error occurred while saving game settings: +{} + + + + Controller {} connected. + Controller {} connected. + + + + System paused because controller {} was disconnected. + System paused because controller {} was disconnected. + + + + Controller {} disconnected. + Controller {} disconnected. + + + + Cancel + Cancel + + + + QtModalProgressCallback + + + PCSX2 + PCSX2 + + + + Cancel + Cancel + + + + Error + Error + + + + Question + Question + + + + Information + Information + + + + RegisterWidget + + + Register View + Register View + + + + + View as hex + View as hex + + + + + View as float + View as float + + + + Copy Top Half + Copy Top Half + + + + Copy Bottom Half + Copy Bottom Half + + + + Copy Segment + Copy Segment + + + + Copy Value + Copy Value + + + + Change Top Half + Change Top Half + + + + Change Bottom Half + Change Bottom Half + + + + Change Segment + Change Segment + + + + Change Value + Change Value + + + + Go to in Disassembly + Go to in Disassembly + + + + Go to in Memory View + Go to in Memory View + + + + Change %1 + Changing the value in a CPU register (e.g. "Change t0") + Change %1 + + + + + Invalid register value + Invalid register value + + + + Invalid hexadecimal register value. + Invalid hexadecimal register value. + + + + Invalid floating-point register value. + Invalid floating-point register value. + + + + Invalid target address + Invalid target address + + + + SaveState + + + This save state is outdated and is no longer compatible with the current version of PCSX2. + +If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. + This save state is outdated and is no longer compatible with the current version of PCSX2. + +If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. + + + + SavedAddressesModel + + + MEMORY ADDRESS + MEMORY ADDRESS + + + + LABEL + LABEL + + + + DESCRIPTION + DESCRIPTION + + + + SettingWidgetBinder + + + + + Reset + Reset + + + + + Default: + Default: + + + + Confirm Folder + Confirm Folder + + + + The chosen directory does not currently exist: + +%1 + +Do you want to create this directory? + The chosen directory does not currently exist: + +%1 + +Do you want to create this directory? + + + + Error + Error + + + + Folder path cannot be empty. + Folder path cannot be empty. + + + + Select folder for %1 + Select folder for %1 + + + + SettingsDialog + + + Use Global Setting [Enabled] + THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Enabled]: the text must be translated. + Use Global Setting [Enabled] + + + + Use Global Setting [Disabled] + THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Disabled]: the text must be translated. + Use Global Setting [Disabled] + + + + + Use Global Setting [%1] + Use Global Setting [%1] + + + + SettingsWindow + + + + + + PCSX2 Settings + PCSX2 Settings + + + + Restore Defaults + Restore Defaults + + + + Copy Global Settings + Copy Global Settings + + + + Clear Settings + Clear Settings + + + + Close + Close + + + + <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. + <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. + + + + + Summary + Summary + + + + Summary is unavailable for files not present in game list. + Summary is unavailable for files not present in game list. + + + + Interface + Interface + + + + Game List + Game List + + + + <strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate the game list. Search directories can be added, removed, and switched to recursive/non-recursive. + <strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate the game list. Search directories can be added, removed, and switched to recursive/non-recursive. + + + + BIOS + BIOS + + + + Emulation + Emulation + + + + Patches + Patches + + + + <strong>Patches</strong><hr>This section allows you to select optional patches to apply to the game, which may provide performance, visual, or gameplay improvements. + <strong>Patches</strong><hr>This section allows you to select optional patches to apply to the game, which may provide performance, visual, or gameplay improvements. + + + + Cheats + Cheats + + + + <strong>Cheats</strong><hr>This section allows you to select which cheats you wish to enable. You cannot enable/disable cheats without labels for old-format pnach files, those will automatically activate if the main cheat enable option is checked. + <strong>Cheats</strong><hr>This section allows you to select which cheats you wish to enable. You cannot enable/disable cheats without labels for old-format pnach files, those will automatically activate if the main cheat enable option is checked. + + + + Game Fixes + Game Fixes + + + + <strong>Game Fixes Settings</strong><hr>Game Fixes can work around incorrect emulation in some titles.<br>However, they can also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise. + <strong>Game Fixes Settings</strong><hr>Game Fixes can work around incorrect emulation in some titles.<br>However, they can also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise. + + + + Graphics + Graphics + + + + Audio + Audio + + + + Memory Cards + Memory Cards + + + + Network & HDD + Network & HDD + + + + Folders + Folders + + + + <strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files. + <strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files. + + + + Achievements + Achievements + + + + <strong>Achievements Settings</strong><hr>These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games. + <strong>Achievements Settings</strong><hr>These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games. + + + + RAIntegration is being used, built-in RetroAchievements support is disabled. + RAIntegration is being used, built-in RetroAchievements support is disabled. + + + + Advanced + Advanced + + + + Are you sure you want to restore the default settings? Any existing preferences will be lost. + Are you sure you want to restore the default settings? Any existing preferences will be lost. + + + + <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + + + + Debug + Debug + + + + <strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. <strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large amounts of disk space. + <strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. <strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large amounts of disk space. + + + + Confirm Restore Defaults + Confirm Restore Defaults + + + + Reset UI Settings + Reset UI Settings + + + + The configuration for this game will be replaced by the current global settings. + +Any current setting values will be overwritten. + +Do you want to continue? + The configuration for this game will be replaced by the current global settings. + +Any current setting values will be overwritten. + +Do you want to continue? + + + + Per-game configuration copied from global settings. + Per-game configuration copied from global settings. + + + + The configuration for this game will be cleared. + +Any current setting values will be lost. + +Do you want to continue? + The configuration for this game will be cleared. + +Any current setting values will be lost. + +Do you want to continue? + + + + Per-game configuration cleared. + Per-game configuration cleared. + + + + Recommended Value + Recommended Value + + + + SetupWizardDialog + + + PCSX2 Setup Wizard + PCSX2 Setup Wizard + + + + Language + Language + + + + BIOS Image + BIOS Image + + + + Game Directories + Game Directories + + + + Controller Setup + Controller Setup + + + + Complete + Complete + + + + Language: + Language: + + + + Theme: + Theme: + + + + Enable Automatic Updates + Enable Automatic Updates + + + + <html><head/><body><p>PCSX2 requires a PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <strong>from an actual PS2 unit that you own</strong> (borrowing doesn't count).</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct PCSX2 to scan an alternative directory.</p><p>A guide for dumping your BIOS can be found <a href="https://pcsx2.net/docs/setup/bios/">here</a>.</p></body></html> + <html><head/><body><p>PCSX2 requires a PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <strong>from an actual PS2 unit that you own</strong> (borrowing doesn't count).</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct PCSX2 to scan an alternative directory.</p><p>A guide for dumping your BIOS can be found <a href="https://pcsx2.net/docs/setup/bios/">here</a>.</p></body></html> + + + + BIOS Directory: + BIOS Directory: + + + + Browse... + Browse... + + + + Reset + Reset + + + + Filename + Filename + + + + Version + Version + + + + Open BIOS Folder... + Open BIOS Folder... + + + + Refresh List + Refresh List + + + + <html><head/><body><p>PCSX2 will automatically scan and identify games from the selected directories below, and populate the game list.<br>These games should be dumped from discs you own. Guides for dumping discs can be found <a href="https://pcsx2.net/docs/setup/dumping">here</a>.</p><p>Supported formats for dumps include:</p><p><ul><li>.bin/.iso (ISO Disc Images)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Compressed ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip Compressed ISO)</li></ul></p></p></body></html> + <html><head/><body><p>PCSX2 will automatically scan and identify games from the selected directories below, and populate the game list.<br>These games should be dumped from discs you own. Guides for dumping discs can be found <a href="https://pcsx2.net/docs/setup/dumping">here</a>.</p><p>Supported formats for dumps include:</p><p><ul><li>.bin/.iso (ISO Disc Images)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Compressed ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip Compressed ISO)</li></ul></p></p></body></html> + + + + Search Directories (will be scanned for games) + Search Directories (will be scanned for games) + + + + Add... + Add... + + + + + Remove + Remove + + + + Search Directory + Search Directory + + + + Scan Recursively + Scan Recursively + + + + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> + + + + <html><head/><body><p>By default, PCSX2 will map your keyboard to the virtual PS2 controller.</p><p><span style=" font-weight:704;">To use an external controller, you must map it first. </span>On this screen, you can automatically map any controller which is currently connected. If your controller is not currently connected, you can plug it in now.</p><p>To change controller bindings in more detail, or use multi-tap, open the Settings menu and choose Controllers once you have completed the Setup Wizard.</p><p>Guides for configuring controllers can be found <a href="https://pcsx2.net/docs/post/controllers/"><span style="">here</span></a>.</p></body></html> + <html><head/><body><p>By default, PCSX2 will map your keyboard to the virtual PS2 controller.</p><p><span style=" font-weight:704;">To use an external controller, you must map it first. </span>On this screen, you can automatically map any controller which is currently connected. If your controller is not currently connected, you can plug it in now.</p><p>To change controller bindings in more detail, or use multi-tap, open the Settings menu and choose Controllers once you have completed the Setup Wizard.</p><p>Guides for configuring controllers can be found <a href="https://pcsx2.net/docs/post/controllers/"><span style="">here</span></a>.</p></body></html> + + + + Controller Port 1 + Controller Port 1 + + + + + Controller Mapped To: + Controller Mapped To: + + + + + Controller Type: + Controller Type: + + + + + + Default (Keyboard) + Default (Keyboard) + + + + + Automatic Mapping + Automatic Mapping + + + + Controller Port 2 + Controller Port 2 + + + + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using PCSX2.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using PCSX2.</p></body></html> + + + + &Back + &Back + + + + + &Next + &Next + + + + &Cancel + &Cancel + + + + + Warning + Warning + + + + A BIOS image has not been selected. PCSX2 <strong>will not</strong> be able to run games without a BIOS image.<br><br>Are you sure you wish to continue without selecting a BIOS image? + A BIOS image has not been selected. PCSX2 <strong>will not</strong> be able to run games without a BIOS image.<br><br>Are you sure you wish to continue without selecting a BIOS image? + + + + No game directories have been selected. You will have to manually open any game dumps you want to play, PCSX2's list will be empty. + +Are you sure you want to continue? + No game directories have been selected. You will have to manually open any game dumps you want to play, PCSX2's list will be empty. + +Are you sure you want to continue? + + + + &Finish + &Finish + + + + Cancel Setup + Cancel Setup + + + + Are you sure you want to cancel PCSX2 setup? + +Any changes have been saved, and the wizard will run again next time you start PCSX2. + Are you sure you want to cancel PCSX2 setup? + +Any changes have been saved, and the wizard will run again next time you start PCSX2. + + + + Open Directory... + Open Directory... + + + + Select Search Directory + Select Search Directory + + + + Scan Recursively? + Scan Recursively? + + + + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + Would you like to scan the directory "%1" recursively? + +Scanning recursively takes more time, but will identify files in subdirectories. + + + + Default (None) + Default (None) + + + + No devices available + No devices available + + + + Automatic Binding + Automatic Binding + + + + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + + + + StackModel + + + ENTRY + Warning: short space limit. Abbreviate if needed. + ENTRY + + + + LABEL + Warning: short space limit. Abbreviate if needed. + LABEL + + + + PC + Warning: short space limit. Abbreviate if needed. PC = Program Counter (location where the CPU is executing). + PC + + + + INSTRUCTION + Warning: short space limit. Abbreviate if needed. + INSTRUCTION + + + + STACK POINTER + Warning: short space limit. Abbreviate if needed. + STACK POINTER + + + + SIZE + Warning: short space limit. Abbreviate if needed. + SIZE + + + + SymbolTreeModel + + + Alive + Alive + + + + Dead + Dead + + + + Name + Name + + + + Value + Value + + + + Location + Location + + + + Size + Size + + + + Type + Type + + + + Liveness + Liveness + + + + SymbolTreeTypeDelegate + + + Symbol no longer exists. + Symbol no longer exists. + + + + Cannot Change Type + Cannot Change Type + + + + SymbolTreeWidget + + + Form + Form + + + + Refresh + Refresh + + + + Filter + Filter + + + + + + + + + + + - + - + + + + (unknown source file) + (unknown source file) + + + + (unknown section) + (unknown section) + + + + (unknown module) + (unknown module) + + + + Copy Name + Copy Name + + + + Copy Mangled Name + Copy Mangled Name + + + + Copy Location + Copy Location + + + + + Rename Symbol + Rename Symbol + + + + Go to in Disassembly + Go to in Disassembly + + + + Go to in Memory View + Go to in Memory View + + + + Show Size Column + Show Size Column + + + + Group by Module + Group by Module + + + + Group by Section + Group by Section + + + + Group by Source File + Group by Source File + + + + Sort by if type is known + Sort by if type is known + + + + Reset children + Reset children + + + + Change type temporarily + Change type temporarily + + + + Confirm Deletion + Confirm Deletion + + + + Delete '%1'? + Delete '%1'? + + + + Name: + Name: + + + + Change Type To + Change Type To + + + + Type: + Type: + + + + + Cannot Change Type + Cannot Change Type + + + + That node cannot have a type. + That node cannot have a type. + + + + ThreadModel + + + + INVALID + INVALID + + + + ID + Warning: short space limit. Abbreviate if needed. + ID + + + + PC + Warning: short space limit. Abbreviate if needed. PC = Program Counter (location where the CPU is executing). + PC + + + + ENTRY + Warning: short space limit. Abbreviate if needed. + ENTRY + + + + PRIORITY + Warning: short space limit. Abbreviate if needed. + PRIORITY + + + + STATE + Warning: short space limit. Abbreviate if needed. + STATE + + + + WAIT TYPE + Warning: short space limit. Abbreviate if needed. + WAIT TYPE + + + + BAD + Refers to a Thread State in the Debugger. + BAD + + + + RUN + Refers to a Thread State in the Debugger. + RUN + + + + READY + Refers to a Thread State in the Debugger. + READY + + + + WAIT + Refers to a Thread State in the Debugger. + WAIT + + + + SUSPEND + Refers to a Thread State in the Debugger. + SUSPEND + + + + WAIT SUSPEND + Refers to a Thread State in the Debugger. + WAIT SUSPEND + + + + DORMANT + Refers to a Thread State in the Debugger. + DORMANT + + + + NONE + Refers to a Thread Wait State in the Debugger. + NONE + + + + WAKEUP REQUEST + Refers to a Thread Wait State in the Debugger. + WAKEUP REQUEST + + + + SEMAPHORE + Refers to a Thread Wait State in the Debugger. + SEMAPHORE + + + + SLEEP + Refers to a Thread Wait State in the Debugger. + SLEEP + + + + DELAY + Refers to a Thread Wait State in the Debugger. + DELAY + + + + EVENTFLAG + Refers to a Thread Wait State in the Debugger. + EVENTFLAG + + + + MBOX + Refers to a Thread Wait State in the Debugger. + MBOX + + + + VPOOL + Refers to a Thread Wait State in the Debugger. + VPOOL + + + + FIXPOOL + Refers to a Thread Wait State in the Debugger. + FIXPOOL + + + + USB + + + Webcam (EyeToy) + Webcam (EyeToy) + + + + Sony EyeToy + Sony EyeToy + + + + Konami Capture Eye + Konami Capture Eye + + + + + Video Device + Video Device + + + + Audio Device + Audio Device + + + + Audio Latency + Audio Latency + + + + + Selects the device to capture images from. + Selects the device to capture images from. + + + + HID Keyboard (Konami) + HID Keyboard (Konami) + + + + Keyboard + Keyboard + + + + HID Mouse + HID Mouse + + + + Pointer + Pointer + + + + Left Button + Left Button + + + + Right Button + Right Button + + + + Middle Button + Middle Button + + + + GunCon 2 + GunCon 2 + + + + + + + + + + + + D-Pad Up + D-Pad Up + + + + + + + + + + + + D-Pad Down + D-Pad Down + + + + + + + + + + + + D-Pad Left + D-Pad Left + + + + + + + + + + + + D-Pad Right + D-Pad Right + + + + Trigger + Trigger + + + + Shoot Offscreen + Shoot Offscreen + + + + Calibration Shot + Calibration Shot + + + + + + A + A + + + + + + B + B + + + + + C + C + + + + + + + + + + + + Select + Select + + + + + + + + + + + + Start + Start + + + + Relative Left + Relative Left + + + + Relative Right + Relative Right + + + + Relative Up + Relative Up + + + + Relative Down + Relative Down + + + + Cursor Path + Cursor Path + + + + Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor. + Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor. + + + + Cursor Scale + Cursor Scale + + + + Scales the crosshair image set above. + Scales the crosshair image set above. + + + + %.0f%% + %.0f%% + + + + Cursor Color + Cursor Color + + + + Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) + Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) + + + + Manual Screen Configuration + Manual Screen Configuration + + + + Forces the use of the screen parameters below, instead of automatic parameters if available. + Forces the use of the screen parameters below, instead of automatic parameters if available. + + + + X Scale (Sensitivity) + X Scale (Sensitivity) + + + + + Scales the position to simulate CRT curvature. + Scales the position to simulate CRT curvature. + + + + + %.2f%% + %.2f%% + + + + Y Scale (Sensitivity) + Y Scale (Sensitivity) + + + + Center X + Center X + + + + Sets the horizontal center position of the simulated screen. + Sets the horizontal center position of the simulated screen. + + + + + %.0fpx + %.0fpx + + + + Center Y + Center Y + + + + Sets the vertical center position of the simulated screen. + Sets the vertical center position of the simulated screen. + + + + Screen Width + Screen Width + + + + Sets the width of the simulated screen. + Sets the width of the simulated screen. + + + + + %dpx + %dpx + + + + Screen Height + Screen Height + + + + Sets the height of the simulated screen. + Sets the height of the simulated screen. + + + + Logitech USB Headset + Logitech USB Headset + + + + + + Input Device + Input Device + + + + + + + Selects the device to read audio from. + Selects the device to read audio from. + + + + Output Device + Output Device + + + + Selects the device to output audio to. + Selects the device to output audio to. + + + + + + + Input Latency + Input Latency + + + + + + + + Specifies the latency to the host input device. + Specifies the latency to the host input device. + + + + + + + + + %dms + %dms + + + + Output Latency + Output Latency + + + + Specifies the latency to the host output device. + Specifies the latency to the host output device. + + + + USB-Mic: Neither player 1 nor 2 is connected. + USB-Mic: Neither player 1 nor 2 is connected. + + + + USB-Mic: Failed to start player {} audio stream. + USB-Mic: Failed to start player {} audio stream. + + + + Microphone + Microphone + + + + Singstar + Singstar + + + + Logitech + Logitech + + + + Konami + Konami + + + + Player 1 Device + Player 1 Device + + + + Selects the input for the first player. + Selects the input for the first player. + + + + Player 2 Device + Player 2 Device + + + + Selects the input for the second player. + Selects the input for the second player. + + + + usb-msd: Could not open image file '{}' + usb-msd: Could not open image file '{}' + + + + Mass Storage Device + Mass Storage Device + + + + Modification time to USB mass storage image changed, reattaching. + Modification time to USB mass storage image changed, reattaching. + + + + Iomega Zip-100 (Generic) + Iomega Zip-100 (Generic) + + + + Sony MSAC-US1 (PictureParadise) + Sony MSAC-US1 (PictureParadise) + + + + + Image Path + Image Path + + + + + Sets the path to image which will back the virtual mass storage device. + Sets the path to image which will back the virtual mass storage device. + + + + + + Steering Left + Steering Left + + + + + + Steering Right + Steering Right + + + + + + Throttle + Throttle + + + + + + + + Brake + Brake + + + + + + Cross + Cross + + + + + + Square + Square + + + + + + Circle + Circle + + + + + Triangle + Triangle + + + + L1 + L1 + + + + R1 + R1 + + + + + L2 + L2 + + + + + R2 + R2 + + + + + Force Feedback + Force Feedback + + + + Shift Up / R1 + Shift Up / R1 + + + + Shift Down / L1 + Shift Down / L1 + + + + L3 + L3 + + + + R3 + R3 + + + + Menu Up + Menu Up + + + + Menu Down + Menu Down + + + + + X + X + + + + + Y + Y + + + + Off + Off + + + + Low + Low + + + + Medium + Medium + + + + High + High + + + + Steering Smoothing + Steering Smoothing + + + + Smooths out changes in steering to the specified percentage per poll. Needed for using keyboards. + Smooths out changes in steering to the specified percentage per poll. Needed for using keyboards. + + + + + %d%% + %d%% + + + + Steering Deadzone + Steering Deadzone + + + + Steering axis deadzone for pads or non self centering wheels. + Steering axis deadzone for pads or non self centering wheels. + + + + Steering Damping + Steering Damping + + + + Applies power curve filter to steering axis values. Dampens small inputs. + Applies power curve filter to steering axis values. Dampens small inputs. + + + + Workaround for Intermittent FFB Loss + Workaround for Intermittent FFB Loss + + + + Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. + Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. + + + + Wheel Device + Wheel Device + + + + Driving Force + Driving Force + + + + Driving Force Pro + Driving Force Pro + + + + Driving Force Pro (rev11.02) + Driving Force Pro (rev11.02) + + + + GT Force + GT Force + + + + Rock Band Drum Kit + Rock Band Drum Kit + + + + + Blue + Blue + + + + + Green + Green + + + + + Red + Red + + + + + Yellow + Yellow + + + + Orange + Orange + + + + Buzz Controller + Buzz Controller + + + + Player 1 Red + Player 1 Red + + + + Player 1 Blue + Player 1 Blue + + + + Player 1 Orange + Player 1 Orange + + + + Player 1 Green + Player 1 Green + + + + Player 1 Yellow + Player 1 Yellow + + + + Player 2 Red + Player 2 Red + + + + Player 2 Blue + Player 2 Blue + + + + Player 2 Orange + Player 2 Orange + + + + Player 2 Green + Player 2 Green + + + + Player 2 Yellow + Player 2 Yellow + + + + Player 3 Red + Player 3 Red + + + + Player 3 Blue + Player 3 Blue + + + + Player 3 Orange + Player 3 Orange + + + + Player 3 Green + Player 3 Green + + + + Player 3 Yellow + Player 3 Yellow + + + + Player 4 Red + Player 4 Red + + + + Player 4 Blue + Player 4 Blue + + + + Player 4 Orange + Player 4 Orange + + + + Player 4 Green + Player 4 Green + + + + Player 4 Yellow + Player 4 Yellow + + + + KeyboardMania + KeyboardMania + + + + C 1 + C 1 + + + + C# 1 + C# 1 + + + + D 1 + D 1 + + + + D# 1 + D# 1 + + + + E 1 + E 1 + + + + F 1 + F 1 + + + + F# 1 + F# 1 + + + + G 1 + G 1 + + + + G# 1 + G# 1 + + + + A 1 + A 1 + + + + A# 1 + A# 1 + + + + B 1 + B 1 + + + + C 2 + C 2 + + + + C# 2 + C# 2 + + + + D 2 + D 2 + + + + D# 2 + D# 2 + + + + E 2 + E 2 + + + + F 2 + F 2 + + + + F# 2 + F# 2 + + + + G 2 + G 2 + + + + G# 2 + G# 2 + + + + A 2 + A 2 + + + + A# 2 + A# 2 + + + + B 2 + B 2 + + + + Wheel Up + Wheel Up + + + + Wheel Down + Wheel Down + + + + Sega Seamic + Sega Seamic + + + + Stick Left + Stick Left + + + + Stick Right + Stick Right + + + + Stick Up + Stick Up + + + + Stick Down + Stick Down + + + + Z + Z + + + + L + L + + + + R + R + + + + Failed to open '{}' for printing. + Failed to open '{}' for printing. + + + + Printer saving to '{}'... + Printer saving to '{}'... + + + + Printer + Printer + + + + None + None + + + + + + Not Connected + Not Connected + + + + Default Input Device + Default Input Device + + + + Default Output Device + Default Output Device + + + + DJ Hero Turntable + DJ Hero Turntable + + + + Triangle / Euphoria + Triangle / Euphoria + + + + Crossfader Left + Crossfader Left + + + + Crossfader Right + Crossfader Right + + + + Left Turntable Clockwise + Left Turntable Clockwise + + + + Left Turntable Counterclockwise + Left Turntable Counterclockwise + + + + Right Turntable Clockwise + Right Turntable Clockwise + + + + Right Turntable Counterclockwise + Right Turntable Counterclockwise + + + + Left Turntable Green + Left Turntable Green + + + + Left Turntable Red + Left Turntable Red + + + + Left Turntable Blue + Left Turntable Blue + + + + Right Turntable Green + Right Turntable Green + + + + Right Turntable Red + Right Turntable Red + + + + Right Turntable Blue + Right Turntable Blue + + + + Apply a multiplier to the turntable + Apply a multiplier to the turntable + + + + Effects Knob Left + Effects Knob Left + + + + Effects Knob Right + Effects Knob Right + + + + Turntable Multiplier + Turntable Multiplier + + + + Gametrak Device + Gametrak Device + + + + Foot Pedal + Foot Pedal + + + + Left X + Left X + + + + Left Y + Left Y + + + + Left Z + Left Z + + + + Right X + Right X + + + + Right Y + Right Y + + + + Right Z + Right Z + + + + + Invert X axis + Invert X axis + + + + + Invert Y axis + Invert Y axis + + + + + Invert Z axis + Invert Z axis + + + + Limit Z axis [100-4095] + Limit Z axis [100-4095] + + + + - 4095 for original Gametrak controllers +- 1790 for standard gamepads + - 4095 for original Gametrak controllers +- 1790 for standard gamepads + + + + %d + %d + + + + RealPlay Device + RealPlay Device + + + + RealPlay Racing + RealPlay Racing + + + + RealPlay Sphere + RealPlay Sphere + + + + RealPlay Golf + RealPlay Golf + + + + RealPlay Pool + RealPlay Pool + + + + Accel X + Accel X + + + + Accel Y + Accel Y + + + + Accel Z + Accel Z + + + + Trance Vibrator (Rez) + Trance Vibrator (Rez) + + + + Train Controller + Train Controller + + + + Type 2 + Type 2 + + + + Shinkansen + Shinkansen + + + + Ryojōhen + Ryojōhen + + + + + Power + Power + + + + A Button + A Button + + + + B Button + B Button + + + + C Button + C Button + + + + D Button + D Button + + + + Announce + Announce + + + + Horn + Horn + + + + Left Door + Left Door + + + + Right Door + Right Door + + + + Camera Button + Camera Button + + + + Axes Passthrough + Axes Passthrough + + + + Passes through the unprocessed input axis to the game. Enable if you are using a compatible Densha De Go! controller. Disable if you are using any other joystick. + Passes through the unprocessed input axis to the game. Enable if you are using a compatible Densha De Go! controller. Disable if you are using any other joystick. + + + + USBBindingWidget + + + Axes + Axes + + + + Buttons + Buttons + + + + USBBindingWidget_Buzz + + + Player 1 + Player 1 + + + + + + + Red + Red + + + + + + + + + + + + + + + + + + + + + + + PushButton + PushButton + + + + + + + Blue + Blue + + + + + + + Orange + Orange + + + + + + + Green + Green + + + + + + + Yellow + Yellow + + + + Player 2 + Player 2 + + + + Player 3 + Player 3 + + + + Player 4 + Player 4 + + + + USBBindingWidget_DenshaCon + + + Face Buttons + Face Buttons + + + + C + C + + + + B + B + + + + D + D + + + + A + A + + + + Hints + Hints + + + + The Densha Controller Type 2 is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has five progressively higher notches of power. The brake axis starts released, and has eight progressively increasing notches plus an Emergency Brake. This controller is compatible with several games and generally maps well to hardware with one or two physical axes with a similar range of notches, such as the modern "Zuiki One Handle MasCon". + This controller is created for the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. The 'Densha Controller Type 2' and 'Zuiki One Handle MasCon' are specific brands of USB train master controller. Both products are only distributed in Japan, so they do not have official non-Japanese names. + The Densha Controller Type 2 is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has five progressively higher notches of power. The brake axis starts released, and has eight progressively increasing notches plus an Emergency Brake. This controller is compatible with several games and generally maps well to hardware with one or two physical axes with a similar range of notches, such as the modern "Zuiki One Handle MasCon". + + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Power Lever + Power refers to the train's accelerator which causes the train to increase speed. + Power Lever + + + + Brake Lever + Brake Lever + + + + Select + Select + + + + Start + Start + + + + USBBindingWidget_DrivingForce + + + Hints + Hints + + + + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + + + + Force Feedback + Force Feedback + + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + L1 + L1 + + + + L2 + L2 + + + + Brake + Brake + + + + Steering Left + Steering Left + + + + Steering Right + Steering Right + + + + Select + Select + + + + Start + Start + + + + Face Buttons + Face Buttons + + + + Circle + Circle + + + + Cross + Cross + + + + Triangle + Triangle + + + + Square + Square + + + + R1 + R1 + + + + R2 + R2 + + + + Accelerator + Accelerator + + + + USBBindingWidget_GTForce + + + Hints + Hints + + + + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + + + + Force Feedback + Force Feedback + + + + X + X + + + + A + A + + + + Brake + Brake + + + + Steering Left + Steering Left + + + + Steering Right + Steering Right + + + + Left Paddle + Left Paddle + + + + Right Paddle + Right Paddle + + + + Y + Y + + + + B + B + + + + Accelerator + Accelerator + + + + USBBindingWidget_Gametrak + + + Left Hand + Left Hand + + + + + X Axis + X Axis + + + + + + + + + + PushButton + PushButton + + + + + Left=0 / Right=0x3ff + Left=0 / Right=0x3ff + + + + + Y Axis + Y Axis + + + + + Back=0 / Front=0x3ff + Back=0 / Front=0x3ff + + + + + Z Axis + Z Axis + + + + + Top=0 / Bottom=0xfff + Top=0 / Bottom=0xfff + + + + Foot Pedal + Foot Pedal + + + + Right Hand + Right Hand + + + + USBBindingWidget_GunCon2 + + + Buttons + Buttons + + + + A + A + + + + C + C + + + + Start + Start + + + + Select + Select + + + + B + B + + + + D-Pad + D-Pad + + + + + Down + Down + + + + + Left + Left + + + + + Up + Up + + + + + Right + Right + + + + Pointer Setup + Pointer Setup + + + + <p>By default, GunCon2 will use the mouse pointer. To use the mouse, you <strong>do not</strong> need to configure any bindings apart from the trigger and buttons.</p> + +<p>If you want to use a controller, or lightgun which simulates a controller instead of a mouse, then you should bind it to Relative Aiming. Otherwise, Relative Aiming should be <strong>left unbound</strong>.</p> + <p>By default, GunCon2 will use the mouse pointer. To use the mouse, you <strong>do not</strong> need to configure any bindings apart from the trigger and buttons.</p> + +<p>If you want to use a controller, or lightgun which simulates a controller instead of a mouse, then you should bind it to Relative Aiming. Otherwise, Relative Aiming should be <strong>left unbound</strong>.</p> + + + + Relative Aiming + Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. + Relative Aiming + + + + + Trigger + Trigger + + + + Shoot Offscreen + Shoot Offscreen + + + + Calibration Shot + Calibration Shot + + + + Calibration shot is required to pass the setup screen in some games. + Calibration shot is required to pass the setup screen in some games. + + + + USBBindingWidget_RealPlay + + + D-Pad Up + D-Pad Up + + + + + + + + + + + + + + PushButton + PushButton + + + + D-Pad Down + D-Pad Down + + + + D-Pad Left + D-Pad Left + + + + D-Pad Right + D-Pad Right + + + + Red + Red + + + + Green + Green + + + + Yellow + Yellow + + + + Blue + Blue + + + + Accel X + Accel X + + + + Accel Y + Accel Y + + + + Accel Z + Accel Z + + + + USBBindingWidget_RyojouhenCon + + + Hints + Hints + + + + The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. + Ryojōhen refers to a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. For consistency, romanization of 'Ryojōhen' should be kept consistent across western languages, as there is no official translation for this name. + The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. + + + + Door Buttons + Door buttons toggle to open or close train doors when this controller is used with Densha De GO! games. + Door Buttons + + + + + Left + Left + + + + + PushButton + PushButton + + + + + Right + Right + + + + D-Pad + D-Pad + + + + Down + Down + + + + Up + Up + + + + Brake Lever + Brake Lever + + + + Power Lever + Power refers to the train's accelerator which causes the train to increase speed. + Power Lever + + + + Face Buttons + Face Buttons + + + + Select + Select + + + + Start + Start + + + + Announce + Announce is used in-game to trigger the train conductor to make voice over announcements for an upcoming train stop. + Announce + + + + Camera + Camera is used to switch the view point. Original: 視点切替 + Camera + + + + Horn + Horn is used to alert people and cars that a train is approaching. Original: 警笛 + Horn + + + + USBBindingWidget_ShinkansenCon + + + Hints + Hints + + + + The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. + This controller is created for a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains, in this case bullet trains. The product does not have an official name translation, and it is common to refer to the train type as Shinkansen. + The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. + + + + Power Lever + Power refers to the train's accelerator which causes the train to increase speed. + Power Lever + + + + D-Pad + D-Pad + + + + Down + Down + + + + Left + Left + + + + Up + Up + + + + Right + Right + + + + Select + Select + + + + Start + Start + + + + Brake Lever + Brake Lever + + + + Face Buttons + Face Buttons + + + + C + C + + + + B + B + + + + D + D + + + + A + A + + + + USBBindingWidget_TranceVibrator + + + Motor + Motor + + + + USBDeviceWidget + + + Device Type + Device Type + + + + Bindings + Bindings + + + + Settings + Settings + + + + Automatic Mapping + Automatic Mapping + + + + Clear Mapping + Clear Mapping + + + + USB Port %1 + USB Port %1 + + + + No devices available + No devices available + + + + Clear Bindings + Clear Bindings + + + + Are you sure you want to clear all bindings for this device? This action cannot be undone. + Are you sure you want to clear all bindings for this device? This action cannot be undone. + + + + Automatic Binding + Automatic Binding + + + + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + + + + VMManager + + + Failed to back up old save state {}. + Failed to back up old save state {}. + + + + Failed to save save state: {}. + Failed to save save state: {}. + + + + PS2 BIOS ({}) + PS2 BIOS ({}) + + + + Unknown Game + Unknown Game + + + + CDVD precaching was cancelled. + CDVD precaching was cancelled. + + + + CDVD precaching failed: {} + CDVD precaching failed: {} + + + + Error + Error + + + + PCSX2 requires a PS2 BIOS in order to run. + +For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). + +Once dumped, this BIOS image should be placed in the bios folder within the data directory (Tools Menu -> Open Data Directory). + +Please consult the FAQs and Guides for further instructions. + PCSX2 requires a PS2 BIOS in order to run. + +For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). + +Once dumped, this BIOS image should be placed in the bios folder within the data directory (Tools Menu -> Open Data Directory). + +Please consult the FAQs and Guides for further instructions. + + + + Resuming state + Resuming state + + + + Boot and Debug + Boot and Debug + + + + Failed to load save state + Failed to load save state + + + + State saved to slot {}. + State saved to slot {}. + + + + Failed to save save state to slot {}. + Failed to save save state to slot {}. + + + + + Loading state + Loading state + + + + Failed to load state (Memory card is busy) + Failed to load state (Memory card is busy) + + + + There is no save state in slot {}. + There is no save state in slot {}. + + + + Failed to load state from slot {} (Memory card is busy) + Failed to load state from slot {} (Memory card is busy) + + + + Loading state from slot {}... + Loading state from slot {}... + + + + Failed to save state (Memory card is busy) + Failed to save state (Memory card is busy) + + + + Failed to save state to slot {} (Memory card is busy) + Failed to save state to slot {} (Memory card is busy) + + + + Saving state to slot {}... + Saving state to slot {}... + + + + Frame advancing + Frame advancing + + + + Disc removed. + Disc removed. + + + + Disc changed to '{}'. + Disc changed to '{}'. + + + + Failed to open new disc image '{}'. Reverting to old image. +Error was: {} + Failed to open new disc image '{}'. Reverting to old image. +Error was: {} + + + + Failed to switch back to old disc image. Removing disc. +Error was: {} + Failed to switch back to old disc image. Removing disc. +Error was: {} + + + + Cheats have been disabled due to achievements hardcore mode. + Cheats have been disabled due to achievements hardcore mode. + + + + Fast CDVD is enabled, this may break games. + Fast CDVD is enabled, this may break games. + + + + Cycle rate/skip is not at default, this may crash or make games run too slow. + Cycle rate/skip is not at default, this may crash or make games run too slow. + + + + Upscale multiplier is below native, this will break rendering. + Upscale multiplier is below native, this will break rendering. + + + + Mipmapping is disabled. This may break rendering in some games. + Mipmapping is disabled. This may break rendering in some games. + + + + Renderer is not set to Automatic. This may cause performance problems and graphical issues. + Renderer is not set to Automatic. This may cause performance problems and graphical issues. + + + + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. + + + + No Game Running + No Game Running + + + + Trilinear filtering is not set to automatic. This may break rendering in some games. + Trilinear filtering is not set to automatic. This may break rendering in some games. + + + + Blending Accuracy is below Basic, this may break effects in some games. + Blending Accuracy is below Basic, this may break effects in some games. + + + + Hardware Download Mode is not set to Accurate, this may break rendering in some games. + Hardware Download Mode is not set to Accurate, this may break rendering in some games. + + + + EE FPU Round Mode is not set to default, this may break some games. + EE FPU Round Mode is not set to default, this may break some games. + + + + EE FPU Clamp Mode is not set to default, this may break some games. + EE FPU Clamp Mode is not set to default, this may break some games. + + + + VU0 Round Mode is not set to default, this may break some games. + VU0 Round Mode is not set to default, this may break some games. + + + + VU1 Round Mode is not set to default, this may break some games. + VU1 Round Mode is not set to default, this may break some games. + + + + VU Clamp Mode is not set to default, this may break some games. + VU Clamp Mode is not set to default, this may break some games. + + + + 128MB RAM is enabled. Compatibility with some games may be affected. + 128MB RAM is enabled. Compatibility with some games may be affected. + + + + Game Fixes are not enabled. Compatibility with some games may be affected. + Game Fixes are not enabled. Compatibility with some games may be affected. + + + + Compatibility Patches are not enabled. Compatibility with some games may be affected. + Compatibility Patches are not enabled. Compatibility with some games may be affected. + + + + Frame rate for NTSC is not default. This may break some games. + Frame rate for NTSC is not default. This may break some games. + + + + Frame rate for PAL is not default. This may break some games. + Frame rate for PAL is not default. This may break some games. + + + + EE Recompiler is not enabled, this will significantly reduce performance. + EE Recompiler is not enabled, this will significantly reduce performance. + + + + VU0 Recompiler is not enabled, this will significantly reduce performance. + VU0 Recompiler is not enabled, this will significantly reduce performance. + + + + VU1 Recompiler is not enabled, this will significantly reduce performance. + VU1 Recompiler is not enabled, this will significantly reduce performance. + + + + IOP Recompiler is not enabled, this will significantly reduce performance. + IOP Recompiler is not enabled, this will significantly reduce performance. + + + + EE Cache is enabled, this will significantly reduce performance. + EE Cache is enabled, this will significantly reduce performance. + + + + EE Wait Loop Detection is not enabled, this may reduce performance. + EE Wait Loop Detection is not enabled, this may reduce performance. + + + + INTC Spin Detection is not enabled, this may reduce performance. + INTC Spin Detection is not enabled, this may reduce performance. + + + + Fastmem is not enabled, this will reduce performance. + Fastmem is not enabled, this will reduce performance. + + + + Instant VU1 is disabled, this may reduce performance. + Instant VU1 is disabled, this may reduce performance. + + + + mVU Flag Hack is not enabled, this may reduce performance. + mVU Flag Hack is not enabled, this may reduce performance. + + + + GPU Palette Conversion is enabled, this may reduce performance. + GPU Palette Conversion is enabled, this may reduce performance. + + + + Texture Preloading is not Full, this may reduce performance. + Texture Preloading is not Full, this may reduce performance. + + + + Estimate texture region is enabled, this may reduce performance. + Estimate texture region is enabled, this may reduce performance. + + + + Texture dumping is enabled, this will continually dump textures to disk. + Texture dumping is enabled, this will continually dump textures to disk. + + + diff --git a/pcsx2-qt/Translations/pcsx2-qt_ro-RO.ts b/pcsx2-qt/Translations/pcsx2-qt_ro-RO.ts index e7cd9a93f9f55..6be998af71fb5 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_ro-RO.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_ro-RO.ts @@ -735,307 +735,318 @@ Poziție Clasament: {1} din {2} Utilizați setarea globală [%1] - + Rounding Mode Mod Rotunjire - - - + + + Chop/Zero (Default) Tăiere / Zero (Implicit) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifică modul în care PCSX2 se ocupă de rotunjirea valorilor numerice în timp ce emulează Floating Point Unit (EE FPU) din Emotion Engine'. Deoarece diferitele unităţi FPU din PS2 sunt neconforme cu standardele internaţionale, este posibil ca unele jocuri să aibă nevoie de moduri diferite pentru a face calcule corecte. Valoarea implicită se ocupă de marea majoritate a jocurilor; <b>modificarea acestei setari atunci cand un joc nu are o problema vizibila poate cauza instabilitate.</b> - + Division Rounding Mode Modul de rotunjire a diviziunii - + Nearest (Default) Cel mai apropiat (implicit) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determină modul în care rezultatele divizării în virgulă mobilă sunt rotunjite. Unele jocuri necesită setări specifice; <b>modificarea acestei setări atunci când un joc nu are o problemă vizibilă poate provoca instabilitate.</b> - + Clamping Mode Mod Clamping - - - + + + Normal (Default) Normal (Implicit) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifică modul în care PCSX2 gestionează menținerea numerelor în virgulă mobilă într-un interval x86 standard. Valoarea implicită gestionează marea majoritate a jocurilor; <b>modificarea acestei setări atunci când un joc nu are o problemă vizibilă poate provoca instabilitate.</b> - - + + Enable Recompiler Activează Recompilator - + - - - + + + - + - - - - + + + + + Checked bifat - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Efectuează traducere binară just-in-time a codului MIPS-IV 64-bit in x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Detectarea buclelor de așteptare - + Moderate speedup for some games, with no known side effects. Accelerare moderată a vitezei pentru unele jocuri, fără efecte secundare cunoscute. - + Enable Cache (Slow) Activează Cache (Lent) - - - - + + + + Unchecked nebifat - + Interpreter only, provided for diagnostic. Doar interpretul, folosit pentru diagnostic. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Detectarea rotirii INTC - + Huge speedup for some games, with almost no compatibility side effects. Accelerare uriașă pentru unele jocuri, fără efecte secundare de compatibilitate. - + Enable Fast Memory Access Activează accesul la memorie rapidă - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Utilizează backpatching pentru a evita ștergerea înregistrărilor la fiecare acces la memorie. - + Pause On TLB Miss Întrerupe la ratarea TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Întrerupe mașina virtuală atunci când are loc o ratare TLB, în loc să o ignore și să continue. Rețineți că MV se va întrerupe după sfârșitul blocului, nu pe instrucțiunea care a cauzat excepția. Consultați consola pentru a vedea adresa la care a avut loc accesul nevalid. - + Enable 128MB RAM (Dev Console) Activează 128MB de RAM (consola de dezvoltare) - + Exposes an additional 96MB of memory to the virtual machine. Expune încă 96MB de memorie la mașina virtuală. - + VU0 Rounding Mode Mod rotunjire VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Schimbă cum PCSX2 gestionează rotunjirea când emulează Vector Unit 0 al Emotion Engine (EE VU0). Valoarea implicită acoperă marea majoritate a jocurilor; <b>modificarea acestei setări când un joc nu are nicio problemă vizibilă va cauza probleme de stabilitate și/sau crash-uri.</b> - + VU1 Rounding Mode Mod rotunjire VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Schimbă cum PCSX2 gestionează rotunjirea când emulează Vector Unit 1 al Emotion Engine (EE VU1). Valoarea implicită acoperă marea majoritate a jocurilor; <b>modificarea acestei setări când un joc nu are nicio problemă vizibilă va cauza probleme de stabilitate și/sau crash-uri.</b> - + VU0 Clamping Mode Mod limitare UV0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifică modul în care PCSX2 gestionează păstrarea numerelor în virgulă mobilă într-un interval x86 standard în Unitatea Vectorială 0 a Emotion Engine (UV0 EE). Valoarea implicită gestionează marea majoritate a jocurilor; <b>modificarea acestei setări atunci când un joc nu are o problemă vizibilă poate provoca instabilitate.</b> - + VU1 Clamping Mode Mod limitare UV1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Modifică modul în care PCSX2 gestionează păstrarea numerelor în virgulă mobilă într-un interval x86 standard în Unitatea Vectorială 1 a Emotion Engine (UV1 EE). Valoarea implicită gestionează marea majoritate a jocurilor; <b>modificarea acestei setări atunci când un joc nu are o problemă vizibilă poate provoca instabilitate.</b> - + Enable Instant VU1 Activează VU1 instant - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Execută VU1 instant. Oferă o îmbunătățire modestă a vitezei în majoritatea jocurilor. E sigur pentru majoritatea jocurilor, dar câteva jocuri pot prezenta erori grafice. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Activează recompilatorul VU0 (modul micro) - + Enables VU0 Recompiler. Activează recompilatorul VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Activează recompilatorul VU1 - + Enables VU1 Recompiler. Activează recompilatorul VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Semnalează hack mUV - + Good speedup and high compatibility, may cause graphical errors. Viteza bună și compatibilitatea ridicată pot cauza erori grafice. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Efectuează traducerea binară just-in-time a codului mașină MIPS-I pe 32 de biți la x86. - + Enable Game Fixes Activează remedieri de joc - + Automatically loads and applies fixes to known problematic games on game start. Încarcă și aplică automat remedieri la jocurile problematice cunoscute la pornirea jocului. - + Enable Compatibility Patches Activează remedieri de compatibilitate - + Automatically loads and applies compatibility patches to known problematic games. Încarcă și aplică automat remedieri de compatibilitate la jocurile problematice cunoscute. - + Savestate Compression Method Metodă de compresie a salvărilor - + Zstandard Standardul Z - + Determines the algorithm to be used when compressing savestates. Determină algoritmul care va fi folosit la comprimarea salvărilor. - + Savestate Compression Level Nivelul de compresie al salvărilor - + Medium Mediu - + Determines the level to be used when compressing savestates. Determină nivelul care va fi folosit la comprimarea salvărilor. - + Save State On Shutdown Salvează starea la închidere - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Salvează automat starea emulatorului la închidere sau ieșire. Poți relua direct de unde ai rămas data viitoare. - + Create Save State Backups Creați copii de rezervă pentru starea de salvare - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creează o copie de rezervă a unei stări de salvare dacă aceasta există deja atunci când este creată salvarea. Copia de rezervă are un sufix .backup. @@ -1258,29 +1269,29 @@ Poziție Clasament: {1} din {2} Creați copii de rezervă pentru starea de salvare - + Save State On Shutdown Salvează starea la închidere - + Frame Rate Control Control frecvență cadre - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: Frecvență cadre PAL: - + NTSC Frame Rate: Frecvență cadre NTSC: @@ -1295,7 +1306,7 @@ Poziție Clasament: {1} din {2} Nivel de comprimare: - + Compression Method: Metoda de comprimare: @@ -1340,17 +1351,22 @@ Poziție Clasament: {1} din {2} Foarte Ridicat (Încet, Nerecomandat) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings Setări PINE - + Slot: Slot: - + Enable Activează @@ -1871,8 +1887,8 @@ Poziție Clasament: {1} din {2} AutoUpdaterDialog - - + + Automatic Updater Actualizator automat @@ -1912,68 +1928,68 @@ Poziție Clasament: {1} din {2} Amintește-mi mai târziu - - + + Updater Error Eroare la actualizare - + <h2>Changes:</h2> <h2>Modificări:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Avertisment privind starea de salvare</h2><p>Instalarea acestei actualizări va face stările dvs. de salvare <b>incompatibile</b>. Asigurați-vă că ați salvat jocurile pe un card de memorie înainte de a instala această actualizare, altfel veți pierde progresul.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Avertisment Setări</h2><p>Instalarea acestei actualizări va reseta configurația programului. Vă rugăm să rețineți că va trebui să vă reconfigurați setările după această actualizare.</p> - + Savestate Warning Avertisment stare de salvare - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>AVERTISMENT</h1><p style='font-size:12pt;'>Instalarea acestei actualizări va face ca <b>stările dvs. de salvare să fie incompatibile</b>, <i>asigurați-vă că ați salvat orice progres pe cardurile de memorie înainte de a continua</i>.</p><p>Doriți să continuați?</p> - + Downloading %1... Se descarcă %1... - + No updates are currently available. Please try again later. Nu există actualizări disponibile. Vă rugăm să încercați din nou mai târziu. - + Current Version: %1 (%2) Versiunea actuală: %1 (%2) - + New Version: %1 (%2) Noua versiune: %1 (%2) - + Download Size: %1 MB Dimensiune descărcare: %1 MB - + Loading... Se încarcă... - + Failed to remove updater exe after update. Nu s-a putut elimina actualizatorul executabil după actualizare. @@ -2137,19 +2153,19 @@ Poziție Clasament: {1} din {2} Activează - - + + Invalid Address Adresă invalidă - - + + Invalid Condition Condiție invalidă - + Invalid Size Dimensiune invalidă @@ -2239,17 +2255,17 @@ Poziție Clasament: {1} din {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Locația discului de joc este pe un dispozitiv detașabil, pot apărea probleme de performanță, cum ar fi sacadare și blocare. - + Saving CDVD block dump to '{}'. Salvare copie bloc CDVD în '{}'. - + Precaching CDVD Precaching CDVD @@ -2274,7 +2290,7 @@ Poziție Clasament: {1} din {2} Necunoscut - + Precaching is not supported for discs. Precaching nu este suportat pentru discuri. @@ -3231,29 +3247,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Șterge profil - + Mapping Settings Setări de mapare - - + + Restore Defaults Restabilește valorile implicite - - - + + + Create Input Profile Creează profil de intrare - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3264,40 +3285,43 @@ Pentru a aplica un profil de intrare personalizat unui joc, accesați Proprietă Introduceți numele noului profil de intrare: - - - - + + + + + + Error Eroare - + + A profile with the name '%1' already exists. Un profil cu numele '%1' există deja. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Doriți să copiați toate legăturile, din profilul selectat, în noul profil? Selectând Nu, va crea un profil complet gol. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Doriți să copiați legăturile curente ale tastelor rapide, din setările globale, în noul profil de intrare? - + Failed to save the new profile to '%1'. Salvarea noului profil în '%1' a eșuat. - + Load Input Profile Încarcă profilul de intrare - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3310,12 +3334,27 @@ Toate legăturile globale curente vor fi șterse și profilurile vor fi încărc Această acțiune nu poate fi anulată. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Șterge profilul de intrare - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3324,12 +3363,12 @@ You cannot undo this action. Această acţiune nu poate fi anulată. - + Failed to delete '%1'. Ștergerea lui '%1' a eșuat. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3342,13 +3381,13 @@ Toate conexiunile și configurările partajate vor fi pierdute, dar profilurile Această acțiune nu poate fi anulată. - + Global Settings Setări globale - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3356,8 +3395,8 @@ Această acțiune nu poate fi anulată. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3365,26 +3404,26 @@ Această acțiune nu poate fi anulată. %2 - - + + USB Port %1 %2 Port USB %1 %2 - + Hotkeys Taste rapide - + Shared "Shared" refers here to the shared input profile. Partajat - + The input profile named '%1' cannot be found. Profilul de intrare numit '%1' nu a putut fi găsit. @@ -4008,63 +4047,63 @@ Doriţi să suprascrieţi? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4135,17 +4174,32 @@ Doriţi să suprascrieţi? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4797,53 +4851,53 @@ Doriţi să suprascrieţi? Depanator PCSX2 - + Run Rulare - + Step Into Pas înspre - + F11 F11 - + Step Over Pas peste - + F10 F10 - + Step Out Pas în afară - + Shift+F11 Shift+F11 - + Always On Top Mereu deasupra - + Show this window on top Arată această fereastră deasupra - + Analyze Analizează @@ -4861,48 +4915,48 @@ Doriţi să suprascrieţi? Dezmembrare - + Copy Address Copiază adresa - + Copy Instruction Hex Copiază instrucțiunea Hex - + NOP Instruction(s) Instrucţiuni NOP - + Run to Cursor Rulează la Cursor - + Follow Branch Urmărește ramura - + Go to in Memory View Du-te la vizualizarea memoriei - + Add Function Adaugă funcție - - + + Rename Function Redenumește funcția - + Remove Function Elimină funcția @@ -4923,23 +4977,23 @@ Doriţi să suprascrieţi? Instrucțiune de asamblare - + Function name Denumire funcție - - + + Rename Function Error Redenumește eroarea funcției - + Function name cannot be nothing. Numele funcției nu poate fi nimic. - + No function / symbol is currently selected. Momentan nu este selectată nicio funcție/simbol. @@ -4949,72 +5003,72 @@ Doriţi să suprascrieţi? Du-te la dezasamblare - + Cannot Go To Nu se poate merge la - + Restore Function Error Restabilește eroarea funcției - + Unable to stub selected address. Imposibil de blocat adresa selectată. - + &Copy Instruction Text Instrucțiunea text &Copiază - + Copy Function Name Denumirea funcției Copiază - + Restore Instruction(s) Restabilește instrucțiunile - + Asse&mble new Instruction(s) Asa&mblează noi instrucțiuni - + &Jump to Cursor &Sari la cursor - + Toggle &Breakpoint Activează &Întrerupere - + &Go to Address &Mergi la adresă - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5041,86 +5095,86 @@ Doriţi să suprascrieţi? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Jocul nu a fost încărcat sau RetroAchievements nu este disponibil. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5494,81 +5548,76 @@ Doriţi să suprascrieţi? ExpressionParser - + Invalid memory access size %d. Dimensiune acces memorie %d invalidă. - + Invalid memory access (unaligned). Acces invalid la memorie (nealiniată). - - + + Token too long. Token prea lung. - + Invalid number "%s". Număr invalid "%s". - + Invalid symbol "%s". Simbol invalid "%s". - + Invalid operator at "%s". Operator invalid la "%s". - + Closing parenthesis without opening one. Închiderea parantezei fără a deschide una. - + Closing bracket without opening one. Închiderea parantezei fără a deschide una. - + Parenthesis not closed. Paranteza nu este închisă. - + Not enough arguments. Nu ai dat destule argumente. - + Invalid memsize operator. Operator memsize invalid. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5702,342 +5751,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Creează un nou... - + Enter the name of the input profile you wish to create. Introduceți numele profilului de intrare pe care doriți să îl creați. - + Are you sure you want to restore the default settings? Any preferences will be lost. Sunteţi sigur că doriţi să restauraţi setările implicite? Orice preferinţe vor fi pierdute. - + Settings reset to defaults. Setările se resetează la valorile implicite. - + No save present in this slot. Nici o salvare prezentă în acest slot. - + No save states found. Nu s-au găsit stări de salvare. - + Failed to delete save state. Ștergerea stării de salvare a eșuat. - + Failed to copy text to clipboard. Copierea textului în clipboard a eșuat. - + This game has no achievements. Acest joc nu are Realizări. - + This game has no leaderboards. Acest joc nu are clasamente. - + Reset System Resetează sistemul - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Modul hardcore nu va fi activat până când sistemul nu va fi resetat. Doriți să resetați sistemul acum? - + Launch a game from images scanned from your game directories. Lansează un joc din imaginile scanate din directoarele tale de jocuri. - + Launch a game by selecting a file/disc image. Lansați un joc selectând o imagine fișier/disc. - + Start the console without any disc inserted. Porniți consola fără inserarea unui disc. - + Start a game from a disc in your PC's DVD drive. Pornește un joc de pe disc din DVD drive-ul PC-ului tau. - + No Binding Nici o legătură - + Setting %s binding %s. Setând %s legând %s. - + Push a controller button or axis now. Apăsați acum un buton sau o axă de pe controler. - + Timing out in %.0f seconds... Timpul expiră în %.0f secunde... - + Unknown Necunoscut - + OK OK - + Select Device Selectează Dispozitivul - + Details Detalii - + Options Opţiuni - + Copies the current global settings to this game. Copiază setările globale curente în acest joc. - + Clears all settings set for this game. Șterge toate setările setate pentru acest joc. - + Behaviour Comportament - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Împiedică activarea sistemului de economisire a ecranului și gazda să intre în modul adormit în timp ce emulația rulează. - + Shows the game you are currently playing as part of your profile on Discord. Afișează jocul pe care îl jucați acum ca parte a profilului dvs. pe Discord. - + Pauses the emulator when a game is started. Întrerupe emulatorul atunci când începe un joc. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pune pe pauză emulatorul atunci când minimizezi fereastra sau schimbi la o altă aplicație, și anulează pauza atunci când te muți înapoi. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pune pe pauză emulatorul atunci când deschizi meniul rapid, si anulează pauza atunci când îl închideți. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determină dacă o cerere va fi afișată pentru a confirma închiderea emulatorului/a jocului atunci când o tastă rapidă este apăsată. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Salvează automat starea emulatorului la închidere sau ieșire. Poți relua direct de unde ai rămas data viitoare. - + Uses a light coloured theme instead of the default dark theme. Folosește o temă de culoare deschisă în loc de tema implicită întunecată. - + Game Display Afișarea jocului - + Switches between full screen and windowed when the window is double-clicked. Comută între ecran complet și fereastră când fereastra este apăsată cu dublu click. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Ascunde cursorul sau indicatorul mouse-ului atunci când emulatorul este în modul ecran complet. - + Determines how large the on-screen messages and monitor are. Determină cât de mari sunt mesajele de pe ecran și de monitorizare. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Arată mesaje pe ecran atunci când se produc evenimente cum ar fi stările de salvare atunci când sunt create/încărcate, când sunt create capturi de ecran, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Arată viteza curentă de emulare a sistemului, în colțul din dreapta sus a display-ului, în procente. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Arată numărul de cadre (sau v-syncs) afișate pe secundă de sistem în colțul din dreapta sus al display-ului. - + Shows the CPU usage based on threads in the top-right corner of the display. Arată utilizarea CPU în funcție de firele de execuție în colțul din dreapta sus al display-ului. - + Shows the host's GPU usage in the top-right corner of the display. Arată utilizarea GPU a gazdei în colțul din dreapta sus. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Arată statistici despre GS (primitive, apeluri de randare) în colțul din dreapta sus. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Arată indicatori atunci când se derulează rapid, se află în pauză, și alte stări active anormale. - + Shows the current configuration in the bottom-right corner of the display. Arată configurația actuală în colțul din dreapta jos al display-ului. - + Shows the current controller state of the system in the bottom-left corner of the display. Arată starea curentă a controlerului în colțul din stânga jos al display-ului. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6046,1977 +6095,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8025,2071 +8079,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Când este activat și autentificat, PCSX2 va căuta Realizări la pornire. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. Modul "Provocare" pentru realizări, incluzând urmărirea clasamentului. Dezactivează salvarea stării, trișarea și funcțiile de încetinire. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Când este activat, PCSX2 va lista Realizările din seturi neoficiale. Aceste Realizări nu sunt urmărite de RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Când este activat, PCSX2 va presupune că toate Realizările sunt blocate și nu va trimite notificări de deblocare către server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. Când este activată, fiecare sesiune se va comporta ca și cum nicio Realizare nu a fost deblocată. - + Account Account - + Logs out of RetroAchievements. Deconectare de la RetroAchievements. - + Logs in to RetroAchievements. Conectare la RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Setări Realizări - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Realizări - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration este utilizat în locul implementării incorporate de Realizări. - + Enable Achievements Activează Realizările - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Testează realizările neoficiale - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Jocul nu a fost încărcat sau RetroAchievements nu este disponibil. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11079,32 +11138,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11580,11 +11649,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11594,10 +11663,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11664,7 +11733,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11730,29 +11799,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11763,7 +11822,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11773,18 +11832,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11836,7 +11895,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11883,7 +11942,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11899,7 +11958,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11935,7 +11994,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11951,31 +12010,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11987,15 +12046,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12023,8 +12082,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12081,18 +12140,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12191,13 +12250,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12211,16 +12270,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12293,25 +12342,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12322,7 +12371,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12381,25 +12430,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12409,6 +12458,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12426,13 +12485,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12455,8 +12514,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12477,7 +12536,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12529,7 +12588,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12544,7 +12603,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12565,50 +12624,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12624,13 +12683,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12641,13 +12700,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12673,7 +12732,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12684,43 +12743,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12829,19 +12888,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12894,7 +12953,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12904,1214 +12963,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14119,7 +14178,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14336,254 +14395,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Deschide Lista de Realizări - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15462,594 +15521,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16062,297 +16135,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16361,12 +16434,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16379,89 +16452,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16470,42 +16543,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16528,25 +16601,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16563,28 +16636,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17376,7 +17454,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18216,12 +18294,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18231,7 +18309,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18241,7 +18319,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18251,7 +18329,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18352,47 +18430,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18525,7 +18603,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21738,42 +21816,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21790,272 +21868,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Codurile de trișare au fost dezactivate din cauza Realizărilor în modul hardcore. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_ru-RU.ts b/pcsx2-qt/Translations/pcsx2-qt_ru-RU.ts index a5bbf4ce85eba..efb665e952a1b 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_ru-RU.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_ru-RU.ts @@ -742,307 +742,318 @@ Leaderboard Position: {1} of {2} Использовать глобальные настройки [%1] - + Rounding Mode Режим раундинга - - - + + + Chop/Zero (Default) Chop/Zero (по умолчанию) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Изменен способ обработки раундинга в PCSX2 при эмуляции блока с плавающей запятой Emotion Engines (EE FPU). Поскольку различные FPU в PS2 не соответствуют международным стандартам, в некоторых играх для корректного выполнения этих вычислений потребуется другой режим. Значение по умолчанию подходит для подавляющего большинства игр; <b>изменение этого параметра, когда в игре нет видимых проблем, может привести к нестабильности.</b> - + Division Rounding Mode Режим раундинга при делении - + Nearest (Default) Ближайший (по умолчанию) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Определяет каким образом округляются результаты деления с плавающей точкой. Некоторым играм нужна специфическая настройка; <b>изменение этой настройки, в случае если игра не имеет видимых проблем, может привести к нестабильности.</b> - + Clamping Mode Режим клемпинга - - - + + + Normal (Default) Стандартный (по умолчанию) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Изменяет способ, которым PCSX2 обрабатывает преобразование значений с плавающей запятой в стандартный диапазон x86. Значение по умолчанию подходит для подавляющего большинства игр. <b>Если вы измените этот параметр, когда в игре нет видимых проблем, это может привести к нестабильности.</b> - - + + Enable Recompiler Включить рекомпилятор - + - - - + + + - + - - - - + + + + + Checked Выбрано - + + Use Save State Selector + Использовать выбор сохранения состояния + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Показывать выбор сохранения состояния при переключении слотов вместо отображения уведомления. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Выполняет своевременный бинарный перевод 64-битного машинного кода MIPS-IV в x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Детектор цикла ожидания - + Moderate speedup for some games, with no known side effects. Умеренное ускорение для некоторых игр, без известных побочных эффектов. - + Enable Cache (Slow) Включить кэширование (медленно) - - - - + + + + Unchecked Не выбрано - + Interpreter only, provided for diagnostic. Только для интерпретатора, предназначено для диагностики. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Обнаружение зацикливания INTC - + Huge speedup for some games, with almost no compatibility side effects. Значительно повышает производительность некоторых игр, практически не оказывая негативного влияния на совместимость. - + Enable Fast Memory Access Включить быстрый доступ к памяти - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Использует "бэкпетчинг", чтобы избежать очистки регистров при каждом обращении к памяти. - + Pause On TLB Miss Пауза при сбое TLB - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Ставит виртуальную машину на паузу, при возникновении ошибки выполнения TLB, вместо того, чтобы игнорировать ошибку и продолжать работу. Обратите внимание, что виртуальная машина приостанавливает работу в конце блока, а не на инструкции, вызвавшей ошибку. Чтобы узнать адрес, по которому произошел некорректный доступ, перейдите в консоль. - + Enable 128MB RAM (Dev Console) Включить 128МБ ОЗУ (консоль для разработчика) - + Exposes an additional 96MB of memory to the virtual machine. Присваивает виртуальной машине дополнительные 96МБ памяти. - + VU0 Rounding Mode Режим округления VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Изменяет способ обработки округления в PCSX2 при эмуляции блока с плавающей запятой Emotion Engine Vector Unit 0 (EE VU0). Значение по умолчанию подходит для подавляющего большинства игр; <b>изменение этого параметра, когда игра не имеет видимых проблем, может привести к нестабильной работе или вылетам.</b> - + VU1 Rounding Mode Режим округления VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Изменяет способ обработки округления в PCSX2 при эмуляции блока с плавающей запятой Emotion Engine Vector Unit 1 (EE VU1). Значение по умолчанию подходит для подавляющего большинства игр; <b>изменение этого параметра, когда игра не имеет видимых проблем, может привести к нестабильной работе или вылетам.</b> - + VU0 Clamping Mode Режим клемпинга VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Изменяет то, как PCSX2 обрабатывает сохранение чисел с плавающей точкой в стандартном диапазоне x86 в Emotion Engine Vector Unit 0 (EE VU0). Значение по умолчанию подходит для подавляющего большинства игр; <b>изменение этого параметра, когда игра не имеет видимых проблем, может привести к нестабильности.</b> - + VU1 Clamping Mode Режим клемпинга VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Изменяет то, как PCSX2 обрабатывает сохранение чисел с плавающей точкой в стандартном диапазоне x86 в Emotion Engine Vector Unit 1 (EE VU1). Значение по умолчанию подходит для подавляющего большинства игр; <b>изменение этого параметра, когда игра не имеет видимых проблем, может привести к нестабильности.</b> - + Enable Instant VU1 Включить мгновенный VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Мгновенное выполнение VU1. Обеспечивает незначительное повышение скорости в большинстве игр. Безопасен для большинства игр, но в некоторых играх могут наблюдаться графические ошибки. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Включить рекомпилятор VU0 (микрорежим) - + Enables VU0 Recompiler. Включает рекомпилятор VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Включить рекомпилятор VU1 - + Enables VU1 Recompiler. Включает рекомпилятор VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Хак флага mVU - + Good speedup and high compatibility, may cause graphical errors. Значительно повышает скорость работы и обладает высокой совместимостью, но может вызывать графические ошибки. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Выполняет своевременный бинарный перевод 32-битного машинного кода MIPS-I в x86. - + Enable Game Fixes Включить исправления игр - + Automatically loads and applies fixes to known problematic games on game start. Автоматически загружает и применяет исправления при запуске для всех известных игр. - + Enable Compatibility Patches Включить патчи совместимости - + Automatically loads and applies compatibility patches to known problematic games. Автоматически загружает и применяет исправления совместимости для всех известных игр. - + Savestate Compression Method Метод сжатия сохранения состояния - + Zstandard - Zstandard + Zstandard - + Determines the algorithm to be used when compressing savestates. - Determines the algorithm to be used when compressing savestates. + Определяет алгоритм, который будет использоваться при сжатии состояний сохранений. - + Savestate Compression Level Уровень сжатия сохранения состояния - + Medium - Medium + Средне - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Сохранять состояние при выключении - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1265,29 +1276,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Сохранять состояние при выключении - + Frame Rate Control Управление частотой кадров - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. гц - + PAL Frame Rate: Частота кадров PAL: - + NTSC Frame Rate: Частота кадров NTSC: @@ -1302,7 +1313,7 @@ Leaderboard Position: {1} of {2} Уровень сжатия: - + Compression Method: Метод сжатия: @@ -1319,12 +1330,12 @@ Leaderboard Position: {1} of {2} Zstandard - Zstandard + Zstandard LZMA2 - LZMA2 + LZMA2 @@ -1339,7 +1350,7 @@ Leaderboard Position: {1} of {2} High - High + Высокий @@ -1347,17 +1358,22 @@ Leaderboard Position: {1} of {2} Очень высокий (медленно, не рекомендуется) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings Настройки PINE - + Slot: Слот: - + Enable Включить @@ -1382,7 +1398,7 @@ Leaderboard Position: {1} of {2} Analyze - Analyze + Анализировать @@ -1878,8 +1894,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Автоматическое обновление @@ -1919,68 +1935,68 @@ Leaderboard Position: {1} of {2} Напомнить позже - - + + Updater Error Ошибка при обновлении - + <h2>Changes:</h2> <h2>Изменения:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Предупреждение о сохраненных состояниях</h2><p>Установка данного обновления приведет к тому, что ваши сохраненные состояния станут <b>несовместимы</b>. Убедитесь, что вы сохранили свои игры на карту памяти перед установкой данного обновления, иначе вы потеряете прогресс;</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Предупреждение о конфигурации</h2><p>Установка данного обновления приведет к сбросу конфигурации программы. Обратите внимание, что вам придется перенастроить ваши параметры после данного обновления.</p> - + Savestate Warning Предупреждение сохранения состояния - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>ВНИМАНИЕ</h1><p style='font-size:12pt;'>Установка данного обновления приведет к тому, что ваши <b>сохраненные состояния станут несовместимы</b>, <i>убедитесь, что вы сохранили свои игры на карту памяти, прежде чем продолжить</i>.</p><p>Вы уверены, что хотите продолжить?</p> - + Downloading %1... Загрузка %1... - + No updates are currently available. Please try again later. В настоящее время нет доступных обновлений. Пожалуйста, повторите попытку позже. - + Current Version: %1 (%2) Текущая версия: %1 (%2) - + New Version: %1 (%2) Новая версия: %1 (%2) - + Download Size: %1 MB Будет загружено: %1 МБ - + Loading... Загрузка... - + Failed to remove updater exe after update. Не удалось удалить updater exe после обновления. @@ -2144,19 +2160,19 @@ Leaderboard Position: {1} of {2} Включить - - + + Invalid Address Неверный адрес - - + + Invalid Condition Недопустимое условие - + Invalid Size Недопустимый размер @@ -2246,17 +2262,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Если диск с игрой находится на внешнем накопителе, могут возникнуть проблемы с производительностью. - + Saving CDVD block dump to '{}'. Сохранение дампа блоков CDVD в '{}'. - + Precaching CDVD Предварительное кэширование CDVD @@ -2281,7 +2297,7 @@ Leaderboard Position: {1} of {2} Неизвестно - + Precaching is not supported for discs. Предварительное кэширование не поддерживается для дисков. @@ -3238,29 +3254,34 @@ Not Configured/Buttons configured + Rename Profile + Переименовать профиль + + + Delete Profile Удалить профиль - + Mapping Settings Настройки сопоставления - - + + Restore Defaults Восстановить по умолчанию - - - + + + Create Input Profile Создать профиль ввода - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3271,40 +3292,43 @@ Enter the name for the new input profile: Введите название для нового профиля ввода: - - - - + + + + + + Error Ошибка - + + A profile with the name '%1' already exists. Профиль с именем '%1' уже существует. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Хотите ли скопировать все привязки из текущего профиля в новый профиль? Если выбрать "Нет", будет создан полностью пустой профиль. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Хотите скопировать текущие привязки из глобальных настроек в новый профиль? - + Failed to save the new profile to '%1'. Не удалось сохранить новый профиль в '%1'. - + Load Input Profile Загрузить профиль входа - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3317,12 +3341,27 @@ You cannot undo this action. Вы не сможете отменить это действие. - + + Rename Input Profile + Переименовать профиль ввода + + + + Enter the new name for the input profile: + Введите новое имя для профиля ввода: + + + + Failed to rename '%1'. + Не удалось переименовать '%1'. + + + Delete Input Profile Удалить профиль ввода - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3331,12 +3370,12 @@ You cannot undo this action. Вы не сможете отменить это действие. - + Failed to delete '%1'. Не удалось удалить '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3349,13 +3388,13 @@ You cannot undo this action. Вы не сможете отменить это действие. - + Global Settings Глобальные настройки - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3363,8 +3402,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3372,26 +3411,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB-порт %1 %2 - + Hotkeys Горячие клавиши - + Shared "Shared" refers here to the shared input profile. Общий - + The input profile named '%1' cannot be found. Не удалось найти профиль ввода с названием '%1'. @@ -4012,66 +4051,66 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - Import from file (.elf, .sym, etc): + Импорт из файла (.elf, .sym и т. д): - + Add Добавить - + Remove Удалить - + Scan For Functions Scan For Functions - + Scan Mode: Режим сканирования: - + Scan ELF Сканировать ELF - + Scan Memory Сканировать память - + Skip Пропускать - + Custom Address Range: Custom Address Range: - + Start: - Start: + Старт: - + End: - End: + Конец: - + Hash Functions - Hash Functions + Хэш-функции - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4142,17 +4181,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Путь + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4163,7 +4217,7 @@ Do you want to overwrite? Analysis - Analysis + Анализ @@ -4282,12 +4336,12 @@ Do you want to overwrite? DMA Control - DMA Control + Контроль DMA SPR / MFIFO - SPR / MFIFO + SPR / MFIFO @@ -4334,7 +4388,7 @@ Do you want to overwrite? Counters - Counters + Счетчики @@ -4365,7 +4419,7 @@ Do you want to overwrite? IPU - IPU + IPU @@ -4387,7 +4441,7 @@ Do you want to overwrite? IOP - IOP + IOP @@ -4422,7 +4476,7 @@ Do you want to overwrite? Analyze Program - Analyze Program + Анализировать программу @@ -4447,7 +4501,7 @@ Do you want to overwrite? Enable Trace Logging - Enable Trace Logging + Включить ведение журнала трассировки @@ -4489,7 +4543,7 @@ Do you want to overwrite? Globally enable / disable trace logging. - Globally enable / disable trace logging. + Глобально включить/отключить ведение журнала трассировки. @@ -4678,7 +4732,7 @@ Do you want to overwrite? EE GIF - EE GIF + EE GIF @@ -4688,7 +4742,7 @@ Do you want to overwrite? IOP BIOS - IOP BIOS + IOP BIOS @@ -4708,7 +4762,7 @@ Do you want to overwrite? IOP R3000A - IOP R3000A + IOP R3000A @@ -4718,7 +4772,7 @@ Do you want to overwrite? IOP COP2 - IOP COP2 + IOP COP2 @@ -4804,55 +4858,55 @@ Do you want to overwrite? Отладчик PCSX2 - + Run Запуск - + Step Into Подробные пошаговые инструкции - + F11 F11 - + Step Over Переступить - + F10 F10 - + Step Out Отступить - + Shift+F11 Shift+F11 - + Always On Top Поверх всех окон - + Show this window on top Показывать это окно поверх остальных - + Analyze - Analyze + Анализ @@ -4868,48 +4922,48 @@ Do you want to overwrite? Дизассемблирование - + Copy Address Копировать адрес - + Copy Instruction Hex Копировать Hex инструкции - + NOP Instruction(s) NOP Инструкция(и) - + Run to Cursor Запустить курсор - + Follow Branch Следите за веткой - + Go to in Memory View Перейти в режим просмотра памяти - + Add Function Добавить функцию - - + + Rename Function Переименовать функцию - + Remove Function Удалить функцию @@ -4930,23 +4984,23 @@ Do you want to overwrite? Инструкция по сборке - + Function name Имя функции - - + + Rename Function Error Ошибка переименования функции - + Function name cannot be nothing. Название функции не может быть пустым. - + No function / symbol is currently selected. Не выбрана ни одна функция или символ. @@ -4956,72 +5010,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Ошибка восстановления функции - + Unable to stub selected address. Не удалось заглушить выбранный адрес. - + &Copy Instruction Text &Копировать текст инструкции - + Copy Function Name Копировать имя функции - + Restore Instruction(s) Восстановить инструкцию(и) - + Asse&mble new Instruction(s) &Собрать новую инструкцию(и) - + &Jump to Cursor &Перейти к курсору - + Toggle &Breakpoint Переключение &точки останова - + &Go to Address &Перейти к адресу - + Restore Function Восстановить функцию - + Stub (NOP) Function Заглушить функцию (NOP) - + Show &Opcode Показать &опкод - + %1 NOT VALID ADDRESS %1 НЕВЕРНЫЙ АДРЕС @@ -5048,86 +5102,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Слот: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Слот: %1 | Громкость: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Слот: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Нет изображения - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Скорость: %1% - + Game: %1 (%2) Игра: %1 (%2) - + Rich presence inactive or unsupported. Расширенное присутствие неактивно или не поддерживается. - + Game not loaded or no RetroAchievements available. Игра не загружена или нет доступных достижений RetroAchievements для этой игры. - - - - + + + + Error Ошибка - + Failed to create HTTPDownloader. Не удалось создать HTTPDownloader. - + Downloading %1... Загрузка %1... - + Download failed with HTTP status code %1. Ошибка загрузки, код состояния HTTP %1. - + Download failed: Data is empty. Ошибка загрузки: данные отсутствуют. - + Failed to write '%1'. Ошибка записи '%1'. @@ -5501,81 +5555,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. - Division by zero. + Деление на ноль. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5709,342 +5758,342 @@ URL-адрес: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Не удалось найти ни одного устройства CD/DVD-ROM. Пожалуйста, убедитесь, что у вас есть подключенный дисковод и разрешение для доступа к нему. - + Use Global Setting Использовать глобальные настройки - + Automatic binding failed, no devices are available. Автоматическая привязка не удалась, нет доступных устройств. - + Game title copied to clipboard. Название игры скопировано в буфер обмена. - + Game serial copied to clipboard. Серийный номер игры скопирован в буфер обмена. - + Game CRC copied to clipboard. CRC игры скопирован в буфер обмена. - + Game type copied to clipboard. Тип игры скопирован в буфер обмена. - + Game region copied to clipboard. Регион игры скопирован в буфер обмена. - + Game compatibility copied to clipboard. Совместимость игры скопирована в буфер обмена. - + Game path copied to clipboard. Путь к игре скопирован в буфер обмена. - + Controller settings reset to default. Настройки контроллера сброшены к настройкам по умолчанию. - + No input profiles available. Нет доступных профилей ввода. - + Create New... Создать новый... - + Enter the name of the input profile you wish to create. Введите имя создаваемого профиля. - + Are you sure you want to restore the default settings? Any preferences will be lost. Вы уверены, что хотите восстановить настройки по умолчанию? Все настройки будут потеряны. - + Settings reset to defaults. Настройки сброшены по умолчанию. - + No save present in this slot. Отсутствует сохранение в слоте. - + No save states found. Сохраненные состояния не найдены. - + Failed to delete save state. Не удалось удалить сохраненное состояние. - + Failed to copy text to clipboard. Не удалось скопировать текст в буфер обмена. - + This game has no achievements. Достижения в этой игре не поддерживаются. - + This game has no leaderboards. Данная игра не имеет таблиц лидеров. - + Reset System Перезагрузить систему - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Хардкорный режим не будет включён до перезагрузки системы. Хотите ли вы перезагрузить систему сейчас? - + Launch a game from images scanned from your game directories. Запуск игр с образов дисков, сканированных из папок с играми. - + Launch a game by selecting a file/disc image. Запустить игру, выбрав файл/образ диска. - + Start the console without any disc inserted. Запустить консоль без вставленного диска. - + Start a game from a disc in your PC's DVD drive. Запуск игр с диска, находящегося в DVD-приводе компьютера. - + No Binding Нет привязки - + Setting %s binding %s. Настройка %s для привязки на %s. - + Push a controller button or axis now. Нажмите кнопку или ось контроллера. - + Timing out in %.0f seconds... Время ожидания %.0f секунд(ы)... - + Unknown Неизвестно - + OK ОК - + Select Device Выбрать устройство - + Details Сведения - + Options Опции - + Copies the current global settings to this game. Копирует текущие глобальные настройки для данной игры. - + Clears all settings set for this game. Сбрасывает все установленные настройки для данной игры. - + Behaviour Действия - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Предотвращает включение экранной заставки (скринсейвер) и переход хоста в спящий режим во время работы эмуляции. - + Shows the game you are currently playing as part of your profile on Discord. Отобразить название игры, в которую вы играете, в своем профиле Discord. - + Pauses the emulator when a game is started. Ставит эмулятор на паузу при запуске игры. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Приостанавливает эмулятор при сворачивании окна или переходе к другому приложению, и возобновляет работу при возвращении к окну. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Приостанавливает эмулятор при открытии быстрого меню и снимает паузу при его закрытии. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Определяет, будет ли отображаться запрос на подтверждение завершения работы эмулятора/игры при нажатии горячей клавиши. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Автоматически сохраняет состояние эмулятора при выключении или выходе. В следующий раз вы сможете продолжить прямо с того места, где остановились. - + Uses a light coloured theme instead of the default dark theme. Использует светлую цветную тему вместо темной темы по умолчанию. - + Game Display Визуализация игры - + Switches between full screen and windowed when the window is double-clicked. Переключение между полноэкранным и оконным режимом при двойном клике по экрану. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Скрывает указатель/курсор мыши в полноэкранном режиме. - + Determines how large the on-screen messages and monitor are. Определяет размер сообщений и мониторинга на экране. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Выводит на экран сообщения о системных событиях, таких как создание/загрузка сохраненных состояний, сделанные снимки экрана и т.д. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Отображает в процентах текущую скорость эмуляции системы в правом верхнем углу экрана. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Отображать в правом верхнем углу экрана количество кадров (синхронизаций), выводимых системой в секунду. - + Shows the CPU usage based on threads in the top-right corner of the display. Отображает нагрузку на потоки ЦП в правом верхнем углу экрана. - + Shows the host's GPU usage in the top-right corner of the display. Отображает использование графического процессора хоста в правом верхнем углу экрана. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Отображает статистику о GS (примитивы, вызовы рисования) в правом верхнем углу дисплея. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Отображает индикаторы при активной перемотке вперед, паузе и других ненормальных состояниях. - + Shows the current configuration in the bottom-right corner of the display. Отображает текущую конфигурацию в правом нижнем углу экрана. - + Shows the current controller state of the system in the bottom-left corner of the display. Отображает текущее состояние контроллера системы в нижнем левом углу экрана. - + Displays warnings when settings are enabled which may break games. Отображает предупреждения, когда включены настройки, которые могут сломать игру. - + Resets configuration to defaults (excluding controller settings). Сбрасывает конфигурацию по умолчанию (за исключением настроек контроллера). - + Changes the BIOS image used to start future sessions. Изменяет образ BIOS, используемый для запуска последующих сессий. - + Automatic Автоматически - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default По умолчанию - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6053,1977 +6102,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Автоматическое переключение в полноэкранный режим при запуске игры. - + On-Screen Display Индикация на экране - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Отображает разрешение игры в правом верхнем углу дисплея. - + BIOS Configuration Конфигурация BIOS - + BIOS Selection Выбор BIOS - + Options and Patches Настройки и патчи - + Skips the intro screen, and bypasses region checks. Пропускает вступительный экран и обходит проверку региона. - + Speed Control Настройка скорости - + Normal Speed Нормальная скорость - + Sets the speed when running without fast forwarding. Устанавливает скорость при работе без перемотки вперед. - + Fast Forward Speed Скорость перемотки - + Sets the speed when using the fast forward hotkey. Устанавливает скорость при использовании горячей клавиши перемотки вперед. - + Slow Motion Speed Скорость замедления - + Sets the speed when using the slow motion hotkey. Устанавливает скорость при использовании горячей клавиши замедления. - + System Settings Настройки системы - + EE Cycle Rate Частота тактов EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Понижает или повышает разгон эмулируемого процессора Emotion Engine. - + EE Cycle Skipping Пропуск тактов EE - + Enable MTVU (Multi-Threaded VU1) Включить MTVU (многопоточный VU1) - + Enable Instant VU1 Включить мгновенный VU1 - + Enable Cheats Включить читы - + Enables loading cheats from pnach files. Позволяет загружать читы из pnach файлов. - + Enable Host Filesystem Включить файловую систему хоста - + Enables access to files from the host: namespace in the virtual machine. Включает доступ к файлам из пространства имен host: на виртуальной машине. - + Enable Fast CDVD Включить быстрый CDVD - + Fast disc access, less loading times. Not recommended. Быстрый доступ к диску, снижение времени загрузок. Не рекомендуется. - + Frame Pacing/Latency Control Темп кадра/управление задержкой - + Maximum Frame Latency Максимальная задержка кадра - + Sets the number of frames which can be queued. Устанавливает количество кадров, которые могут быть поставлены в очередь. - + Optimal Frame Pacing Оптимальное распределение кадров - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Синхронизирует потоки EE и GS после каждого кадра. Наименьшая входная задержка, но повышаются системные требования. - + Speeds up emulation so that the guest refresh rate matches the host. Ускоряет эмуляцию для синхронизации частоты обновления гостевой системы с хостом. - + Renderer Средство визуализации - + Selects the API used to render the emulated GS. Выбор API, используемого для визуализации эмулируемого GS. - + Synchronizes frame presentation with host refresh. Синхронизирует вывод кадров с частотой обновления хоста. - + Display Экран - + Aspect Ratio Соотношение сторон - + Selects the aspect ratio to display the game content at. Выбор соотношения сторон для отображения игрового контента. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Выбор соотношения сторон для отображения при обнаружении воспроизведения FMV. - + Deinterlacing Устранение чересстрочности - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Выбор алгоритма, используемого для преобразования чересстрочного вывода PS2 в прогрессивный для отображения на экране. - + Screenshot Size Размер снимка экрана - + Determines the resolution at which screenshots will be saved. Определяет разрешение, с которым будут сохраняться снимки экрана. - + Screenshot Format Формат снимка экрана - + Selects the format which will be used to save screenshots. Выбор формата, который будет использоваться для сохранения снимков экрана. - + Screenshot Quality Качество снимка экрана - + Selects the quality at which screenshots will be compressed. Выбор качества сжатия снимков экрана. - + Vertical Stretch Растягивание по вертикали - + Increases or decreases the virtual picture size vertically. Увеличивает или уменьшает размер виртуального изображения по вертикали. - + Crop Обрезание - + Crops the image, while respecting aspect ratio. Обрезает изображение с соблюдением соотношения сторон. - + %dpx %dпикс - - Enable Widescreen Patches - Включить широкоэкранные патчи - - - - Enables loading widescreen patches from pnach files. - Позволяет загружать широкоэкранные патчи из pnach файлов. - - - - Enable No-Interlacing Patches - Включить патчи устранения чересстрочности - - - - Enables loading no-interlacing patches from pnach files. - Позволяет загружать патчи устранения чересстрочности из pnach файлов. - - - + Bilinear Upscaling Билинейный апскейлинг - + Smooths out the image when upscaling the console to the screen. Сглаживает изображение при масштабировании с консоли на экран. - + Integer Upscaling Целочисленное масштабирование - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Добавляет заполнение к области отображения, чтобы соотношение между пикселями на хосте и пикселями в консоли было целочисленным. Может привести к более резкому изображению в некоторых 2D-играх. - + Screen Offsets Смещение экрана - + Enables PCRTC Offsets which position the screen as the game requests. Включает функцию смещения PCRTC, которая позиционирует экран в соответствии с запросами игры. - + Show Overscan Показывать область за пределами сканирования - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Включает опцию отображения области за пределами сканирования в играх, которые рисуют больше, чем безопасная область экрана. - + Anti-Blur Анти-размытие - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Включает хаки анти-размытия. Менее точно соответствует визуализации PS2, но позволяет многим играм выглядеть менее размытыми. - + Rendering Визуализация - + Internal Resolution Внутреннее разрешение - + Multiplies the render resolution by the specified factor (upscaling). Умножает разрешение визуализации на заданный коэффициент (апскейлинг). - + Mipmapping MIP-текстурирование - + Bilinear Filtering Билинейная фильтрация - + Selects where bilinear filtering is utilized when rendering textures. Выбирает, где будет использоваться билинейная фильтрация при визуализации текстур. - + Trilinear Filtering Трилинейная фильтрация - + Selects where trilinear filtering is utilized when rendering textures. Выбирает, где будет использоваться трилинейная фильтрация при визуализации текстур. - + Anisotropic Filtering Анизотропная фильтрация - + Dithering Дизеринг - + Selects the type of dithering applies when the game requests it. Выбирает тип дизеринга, который применяется, когда игра его запрашивает. - + Blending Accuracy Точность смешивания - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Определяет уровень точности при эмуляции режимов наложения, не поддерживаемых графическим API хоста. - + Texture Preloading Предзагрузка текстур - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Загружает в ГП полный объём используемых текстур вместо отдельных областей. Может улучшать производительность в ряде игр. - + Software Rendering Threads Поточность программной визуализации - + Number of threads to use in addition to the main GS thread for rasterization. Число потоков, которое надлежит использовать в дополнение к главному потоку GS для растеризации. - + Auto Flush (Software) Автоочистка (программная) - + Force a primitive flush when a framebuffer is also an input texture. Принудительная очистка примитивов, когда кадровый буфер также является входной текстурой. - + Edge AA (AA1) Сглаживание кромки (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Включает эмуляцию сглаживания краев GS (AA1). - + Enables emulation of the GS's texture mipmapping. Включает эмуляцию текстурного мипмапинга. - + The selected input profile will be used for this game. - The selected input profile will be used for this game. + Выбранный профиль ввода будет использоваться для этой игры. - + Shared Общий - + Input Profile Профиль ввода - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Отображает текущую версию PCSX2 в правом верхнем углу экрана. - + Shows the currently active input recording status. Отображает текущее состояние активной записи ввода. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Включить широкоэкранные патчи + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Аппаратные исправления - + Manual Hardware Fixes Ручной выбор аппаратных исправлений - + Disables automatic hardware fixes, allowing you to set fixes manually. Отключает автоматические аппаратные исправления, позволяя задавать исправления вручную. - + CPU Sprite Render Size Размер визуализации спрайтов ЦП - + Uses software renderer to draw texture decompression-like sprites. Использует программный визуализатор для отрисовки спрайтов с распаковкой текстур. - + CPU Sprite Render Level Уровень визуализации спрайтов ЦП - + Determines filter level for CPU sprite render. Определяет уровень фильтрации для визуализации спрайтов ЦП. - + Software CLUT Render Программная визуализация CLUT - + Uses software renderer to draw texture CLUT points/sprites. Использует программный визуализатор для отрисовки точек CLUT/спрайтов. - + Skip Draw Start Начало пропуска отрисовки - + Object range to skip drawing. Диапазон объектов для пропуска рисования. - + Skip Draw End Конец пропуска отрисовки - + Auto Flush (Hardware) Автоочистка (аппаратная) - + CPU Framebuffer Conversion Преобразование кадрового буфера ЦП - + Disable Depth Conversion Отключить конверсию глубины - + Disable Safe Features Отключить безопасные функции - + This option disables multiple safe features. Данная опция отключает некоторые безопасные функции. - + This option disables game-specific render fixes. Эта опция отключает специфичные для игры исправления визуализации. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Загружает данные GS при визуализации нового кадра для более точного воспроизведения некоторых эффектов. - + Disable Partial Invalidation Отключить частичную проверку - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Удаляет элементы текстурного кэша для любых пересечений, а не только для пересекающихся областей. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Позволяет текстурному кэшу повторно использовать в качестве входной текстуры внутреннюю часть предыдущего буфера кадра. - + Read Targets When Closing Считывать объекты при закрытии - + Flushes all targets in the texture cache back to local memory when shutting down. Сбрасывает все объекты в кэше текстур обратно в локальную память при завершении работы. - + Estimate Texture Region Оценка области текстуры - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Пытается уменьшить размер текстуры, когда игры сами его не устанавливают (например, игры на движке Snowblind). - + GPU Palette Conversion Преобразование палитры ГП - + Upscaling Fixes Исправления масштабирования - + Adjusts vertices relative to upscaling. Регулирует вершины относительно масштабирования. - + Native Scaling Родное масштабирование - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Округление спрайтов - + Adjusts sprite coordinates. Регулирует координаты спрайта. - + Bilinear Upscale Билинейный апскейлинг - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Позволяет сглаживать текстуры с помощью билинейной фильтрации при масштабировании. Например, лучи света в Brave. - + Adjusts target texture offsets. Регулирует смещение целевой текстуры. - + Align Sprite Выравнивать спрайты - + Fixes issues with upscaling (vertical lines) in some games. Исправляет проблемы апскейлинга (вертикальные полосы) в ряде игр. - + Merge Sprite Объединять спрайты - + Replaces multiple post-processing sprites with a larger single sprite. Заменяет множество спрайтов пост-обработки одним большим спрайтом. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Уменьшает точность GS во избежание разрыва между пикселями при масштабировании. Исправляет отображение текста в играх Wild Arms. - + Unscaled Palette Texture Draws Визуализация палитровых текстур без масштабирования - + Can fix some broken effects which rely on pixel perfect precision. Может исправить некоторые неработающие эффекты, основанные на идеальной точности пикселей. - + Texture Replacement Замена текстур - + Load Textures Загрузка текстур - + Loads replacement textures where available and user-provided. Загружает заменяющие текстуры, если они доступны и предоставлены пользователем. - + Asynchronous Texture Loading Асинхронная загрузка текстур - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Загружает заменяющие текстуры в рабочий поток, уменьшая микрозадержки, когда замены включены. - + Precache Replacements Прекэшировать замены - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Предварительно загружает все заменяющие текстуры в память. Не требуется при асинхронной загрузке. - + Replacements Directory Папка замен - + Folders Папки - + Texture Dumping Дамп текстур - + Dump Textures Дамп текстур - + Dump Mipmaps Дамп MIP-карт - + Includes mipmaps when dumping textures. Включает MIP-карты при дампе текстур. - + Dump FMV Textures Дамп текстур FMV - + Allows texture dumping when FMVs are active. You should not enable this. Разрешает дамп текстур при активных FMV. Не следует включать эту функцию. - + Post-Processing Постобработка - + FXAA FXAA - + Enables FXAA post-processing shader. Включает шейдер постобработки FXAA. - + Contrast Adaptive Sharpening Контрастно-адаптивная резкость (CAS) - + Enables FidelityFX Contrast Adaptive Sharpening. Включает контрастно-адаптивную резкость FidelityFX. - + CAS Sharpness Резкость CAS - + Determines the intensity the sharpening effect in CAS post-processing. Определяет интенсивность эффекта повышения резкости в постобработке CAS. - + Filters Фильтры - + Shade Boost Усиление оттенков - + Enables brightness/contrast/saturation adjustment. Включает регулировку яркости/контрастности/насыщенности. - + Shade Boost Brightness Усиление оттенков яркости - + Adjusts brightness. 50 is normal. Регулирует яркость. Нормальный - 50. - + Shade Boost Contrast Усиление оттенков контрастности - + Adjusts contrast. 50 is normal. Регулирует контрастность. Нормальный - 50. - + Shade Boost Saturation Усиление оттенков насыщенности - + Adjusts saturation. 50 is normal. Регулирует насыщенность. Нормальный - 50. - + TV Shaders Шейдеры ТВ - + Advanced Дополнительно - + Skip Presenting Duplicate Frames Пропускать повторяющиеся кадры - + Extended Upscaling Multipliers Расширенные множители масштабирования - + Displays additional, very high upscaling multipliers dependent on GPU capability. Отображает дополнительные, очень высокие множители масштабирования, зависящие от возможностей графического процессора. - + Hardware Download Mode Режим аппаратной загрузки - + Changes synchronization behavior for GS downloads. Изменяет поведение синхронизации для загрузок GS. - + Allow Exclusive Fullscreen Разрешить эксклюзивный полноэкранный режим - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Переопределяет эвристику драйвера для включения эксклюзивного полноэкранного режима или direct flip/scanout. - + Override Texture Barriers Переопределение барьеров текстур - + Forces texture barrier functionality to the specified value. Принудительно устанавливает функциональность текстурного барьера на указанное значение. - + GS Dump Compression Сжатие дампа GS - + Sets the compression algorithm for GS dumps. Устанавливает алгоритм сжатия для дампов GS. - + Disable Framebuffer Fetch Отключить выборку буфера кадров - + Prevents the usage of framebuffer fetch when supported by host GPU. Предотвращает использование выборки из кадрового буфера, если это поддерживается ГП хоста. - + Disable Shader Cache Отключить кэш шейдеров - + Prevents the loading and saving of shaders/pipelines to disk. Предотвращает загрузку и сохранение шейдеров/конвейеров на диск. - + Disable Vertex Shader Expand Отключить расширение вертексных шейдеров - + Falls back to the CPU for expanding sprites/lines. Возвращается к ЦП для расширения спрайтов/линий. - + Changes when SPU samples are generated relative to system emulation. Изменяет время генерации образцов SPU относительно эмуляции системы. - + %d ms %d мс - + Settings and Operations Настройки и операции - + Creates a new memory card file or folder. Создает новый файл карты памяти или папку. - + Simulates a larger memory card by filtering saves only to the current game. Имитирует карту памяти большего объема путем фильтрации сохранений только для текущей игры. - + If not set, this card will be considered unplugged. Если выключено, данная карта будет считаться неподключенной. - + The selected memory card image will be used for this slot. Выбранный образ карты памяти будет использоваться для данного слота. - + Enable/Disable the Player LED on DualSense controllers. Включить/отключить светодиод на контроллерах DualSense. - + Trigger Триггер - + Toggles the macro when the button is pressed, instead of held. Переключает макрос при нажатии кнопки, а не при её удерживании. - + Savestate Сохранения состояния - + Compression Method Метод сжатия - + Sets the compression algorithm for savestate. Устанавливает алгоритм сжатия для сохранения состояния. - + Compression Level Уровень сжатия - + Sets the compression level for savestate. Устанавливает уровень сжатия для сохранения состояния. - + Version: %s Версия: %s - + {:%H:%M} {:%H:%M} - + Slot {} Слот {} - + 1.25x Native (~450px) Родное 1.25x (~450пикс) - + 1.5x Native (~540px) Родное 1.5x (~540пикс) - + 1.75x Native (~630px) Родное 1.75x (~630пикс) - + 2x Native (~720px/HD) Родное 2x (~720пикс/HD) - + 2.5x Native (~900px/HD+) Родное 2.5x (~900пикс/HD+) - + 3x Native (~1080px/FHD) Родное 3x (~1080пикс/FHD) - + 3.5x Native (~1260px) Родное 3.5x (~1260пикс) - + 4x Native (~1440px/QHD) Родное 4x (~1440пикс/QHD) - + 5x Native (~1800px/QHD+) Родное 5x (~1800пикс/QHD+) - + 6x Native (~2160px/4K UHD) Родное 6x (~2160пикс/4K UHD) - + 7x Native (~2520px) Родное 7x (~2520пикс) - + 8x Native (~2880px/5K UHD) Родное 8x (~2880пикс/5K UHD) - + 9x Native (~3240px) Родное 9x (~3240пикс) - + 10x Native (~3600px/6K UHD) Родное 10x (~3600пикс/6K UHD) - + 11x Native (~3960px) Родное 11x (~3960пикс) - + 12x Native (~4320px/8K UHD) Родное 12x (~4320пикс/8K UHD) - + WebP WebP - + Aggressive Принудительный - + Deflate64 Deflate64 - + Zstandard - Zstandard + Zstandard - + LZMA2 - LZMA2 + LZMA2 - + Low (Fast) Низкий (быстро) - + Medium (Recommended) Средний (рекомендуется) - + Very High (Slow, Not Recommended) Очень высокий (медленно, не рекомендуется) - + Change Selection Изменить выбор - + Select Выбрать - + Parent Directory Родительская папка - + Enter Value Введите значение - + About О программе - + Toggle Fullscreen Вкл/выкл полноэкранный режим - + Navigate Навигация - + Load Global State Загрузить общее состояние - + Change Page Изменить страницу - + Return To Game Вернуться в игру - + Select State Выбрать состояние - + Select Game Выбрать игру - + Change View Изменить вид - + Launch Options Параметры запуска - + Create Save State Backups Создать резервные копии сохраненного состояния - + Show PCSX2 Version Показывать версию PCSX2 - + Show Input Recording Status Показывать статус записи ввода - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Создать карту памяти - + Configuration Конфигурация - + Start Game Запустить игру - + Launch a game from a file, disc, or starts the console without any disc inserted. Запускает игру из файла, диска или запускает консоль без вставленного диска. - + Changes settings for the application. Изменить настройки приложения. - + Return to desktop mode, or exit the application. Возврат в режим Desktop или выйти из приложения. - + Back Назад - + Return to the previous menu. Вернуться в предыдущее меню. - + Exit PCSX2 Выйти из PCSX2 - + Completely exits the application, returning you to your desktop. Полный выход из приложения, возвращение на ваш рабочий стол. - + Desktop Mode Режим рабочего стола - + Exits Big Picture mode, returning to the desktop interface. Выход из режима Big Picture, возврат в интерфейс рабочего стола. - + Resets all configuration to defaults (including bindings). Сбрасывает всю конфигурацию на значения по умолчанию (включая привязки). - + Replaces these settings with a previously saved input profile. Заменяет эти настройки ранее сохраненным профилем ввода. - + Stores the current settings to an input profile. Сохраняет текущие настройки в профиле ввода. - + Input Sources Источники ввода - + The SDL input source supports most controllers. Источник ввода SDL поддерживает большинство контроллеров. - + Provides vibration and LED control support over Bluetooth. Обеспечивает поддержку вибрации и управления светодиодами через Bluetooth. - + Allow SDL to use raw access to input devices. Разрешить SDL использовать необработанный доступ к устройствам ввода. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Источник XInput обеспечивает поддержку контроллеров XBox 360/XBox One/XBox Series. - + Multitap Мультитап - + Enables an additional three controller slots. Not supported in all games. Включает дополнительные три слота контроллера. Поддерживается не во всех играх. - + Attempts to map the selected port to a chosen controller. Пытается сопоставить выбранный порт с выбранным контроллером. - + Determines how much pressure is simulated when macro is active. Определяет, какая сила нажатия симулируется при активном макросе. - + Determines the pressure required to activate the macro. Определяет силу нажатия, необходимую для активации макроса. - + Toggle every %d frames Переключать каждый %d кадр - + Clears all bindings for this USB controller. Сброс всех привязок для текущего USB-контроллера. - + Data Save Locations Места сохранения данных - + Show Advanced Settings Показывать дополнительные настройки - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Изменение этих параметров может привести к неработоспособности игр. Вносите изменения на свой страх и риск, команда PCSX2 не будет оказывать поддержку конфигураций с измененными настройками. - + Logging Ведение журнала - + System Console Системная консоль - + Writes log messages to the system console (console window/standard output). Записывает сообщения журнала в системную консоль (окно консоли/стандартный вывод). - + File Logging Ведение файлового журнала - + Writes log messages to emulog.txt. Записывает сообщения журнала в файл emulog.txt. - + Verbose Logging Ведение подробного журнала - + Writes dev log messages to log sinks. Записывает сообщения журнала разработки в sinks журнал. - + Log Timestamps Временные метки в журнале - + Writes timestamps alongside log messages. Записывает временные метки вместе с сообщениями в журнале. - + EE Console Консоль EE - + Writes debug messages from the game's EE code to the console. Записывает в консоль отладочные сообщения из EE-кода игры. - + IOP Console Консоль IOP - + Writes debug messages from the game's IOP code to the console. Записывает в консоль отладочные сообщения из IOP-кода игры. - + CDVD Verbose Reads Подробное чтение CDVD - + Logs disc reads from games. Ведет журнал чтения дисков из игр. - + Emotion Engine Emotion Engine - + Rounding Mode Режим округления - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Определяет, как будут округляться результаты операций с плавающей точкой. Некоторые игры требуют определенных настроек. - + Division Rounding Mode Режим округления при делении - + Determines how the results of floating-point division is rounded. Some games need specific settings. Определяет, как будут округляться результаты делений с плавающей точкой. Некоторые игры требуют определенных настроек. - + Clamping Mode Режим захвата - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Определяет, как будут обрабатываться числа с плавающей точкой, выходящих за пределы диапазона. Некоторые игры требуют определенных настроек. - + Enable EE Recompiler Включить рекомпилятор EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Выполняет двоичную JIT-трансляцию 64-битного машинного кода MIPS-IV в нативный код. - + Enable EE Cache Включить кэш EE - + Enables simulation of the EE's cache. Slow. Включает симуляцию кэша EE. Медленный. - + Enable INTC Spin Detection Включить обнаружение зацикливания INTC - + Huge speedup for some games, with almost no compatibility side effects. Огромное ускорение для некоторых игр, почти без побочных эффектов. - + Enable Wait Loop Detection Включить обнаружение цикла ожидания - + Moderate speedup for some games, with no known side effects. Умеренное ускорение некоторых игр, без побочных эффектов. - + Enable Fast Memory Access Включить быстрый доступ к памяти - + Uses backpatching to avoid register flushing on every memory access. Использует обратную выборку, чтобы избежать сброса регистра при каждом обращении к памяти. - + Vector Units Векторные блоки - + VU0 Rounding Mode Режим округления VU0 - + VU0 Clamping Mode Режим захвата VU0 - + VU1 Rounding Mode Режим округления VU1 - + VU1 Clamping Mode Режим захвата VU1 - + Enable VU0 Recompiler (Micro Mode) Включить рекомпилятор VU0 (микрорежим) - + New Vector Unit recompiler with much improved compatibility. Recommended. Новый рекомпилятор векторного блока, с улучшенной совместимостью. Рекомендуется. - + Enable VU1 Recompiler Включить рекомпилятор VU1 - + Enable VU Flag Optimization Включить оптимизацию флага VU - + Good speedup and high compatibility, may cause graphical errors. Хорошая скорость и высокая совместимость, может привести к графическим ошибкам. - + I/O Processor Процессор ввода/вывода - + Enable IOP Recompiler Включить рекомпилятор IOP - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Выполняет двоичную JIT-трансляцию 32-битного машинного кода MIPS-I в родной код. - + Graphics Графика - + Use Debug Device Использовать устройство отладки - + Settings Настройки - + No cheats are available for this game. Читы для этой игры отсутствуют. - + Cheat Codes Чит-коды - + No patches are available for this game. Патчи для этой игры отсутствуют. - + Game Patches Игровые патчи - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Активация читов может привести к непредсказуемому поведению, сбоям, программным блокировкам или поломке сохраненных игр. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Активация игровых патчей может привести к непредсказуемому поведению, сбоям, программным блокировкам или поломке сохраненных игр. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Используйте патчи на свой страх и риск, команда PCSX2 не будет оказывать поддержку пользователям, включившим игровые патчи. - + Game Fixes Исправления игр - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Не следует вносить изменения в исправления игр, если вы не знаете, что делает каждая из опций и каковы ее последствия. - + FPU Multiply Hack Хак умножения FPU - + For Tales of Destiny. Для Tales of Destiny. - + Preload TLB Hack Хак предварительной загрузки TLB - + Needed for some games with complex FMV rendering. Требуется для некоторых игр со сложной визуализацией FMV. - + Skip MPEG Hack Хак пропуска MPEG - + Skips videos/FMVs in games to avoid game hanging/freezes. Пропускает видео/FMV в играх, чтобы избежать зависаний игры. - + OPH Flag Hack Хак флага OPH - + EE Timing Hack Хак тайминга EE - + Instant DMA Hack Хак мгновенного DMA - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Известно, что это влияет на следующие игры: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. Для SOCOM 2 HUD и зависания загрузки Spy Hunter. - + VU Add Hack Хак добавления VU - + Full VU0 Synchronization Полная синхронизация VU0 - + Forces tight VU0 sync on every COP2 instruction. Принудительная синхронизация VU0 для каждой инструкции COP2. - + VU Overflow Hack Хак переполнения VU - + To check for possible float overflows (Superman Returns). Для проверки возможных переполнений чисел с плавающей точкой (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Использовать точное время для VU XGKicks (медленнее). - + Load State Загрузить состояние - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Пропуск тактов при эмуляции Emotion Engine. Помогает в небольшом количестве игр подобных SOTC. В большинстве случаев снижает производительность. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Как правило, обеспечивает прирост производительности при использовании ЦП с 4-мя и более ядрами. Настройка безопасна для большинства игр, но с некоторыми может быть несовместима и вызывать зависания. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Мгновенное выполнение VU1. Обеспечивает незначительное повышение скорости в большинстве игр. Безопасен для большинства игр, но в некоторых играх могут наблюдаться графические ошибки. - + Disable the support of depth buffers in the texture cache. Отключить поддержку буферов глубины в текстурном кэше. - + Disable Render Fixes Выключить исправления визуализации - + Preload Frame Data Предварительная загрузка данных кадра - + Texture Inside RT Текстура внутри объекта визуализации - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. При включении ГП преобразует колормап-текстуры, в противном случае это делает ЦП. Это компромисс между ГП и ЦП. - + Half Pixel Offset Смещение полупикселя - + Texture Offset X Смещение текстур по оси Х - + Texture Offset Y Смещение текстур по оси Y - + Dumps replaceable textures to disk. Will reduce performance. Дамп заменяемых текстур на диск. Снижает производительность. - + Applies a shader which replicates the visual effects of different styles of television set. Применяет шейдер, который стилизует визуальные эффекты под разные телевизоры. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Пропускать отображение идентичных кадров в играх поддерживающих 25/30 кадров в секунду. Может улучшить производительность, но вызвать задержку ввода и/или ухудшить фреймпейсинг. - + Enables API-level validation of graphics commands. Включает проверку графических команд на уровне API. - + Use Software Renderer For FMVs Использовать программный визуализатор для FMV - + To avoid TLB miss on Goemon. Для предотвращения ошибок TLB в играх Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Универсальный тайм-хак. Известно, что это влияет на следующие игры: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Хорошо подходит для проблем с эмуляцией кэша. Известно, что это влияет на следующие игры: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Известно, что это влияет на следующие игры: Bleach Blade Battlers, Growlanser II и III, Wizardry. - + Emulate GIF FIFO Эмулировать GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Корректнее, но медленнее. Известно, что это влияет на следующие игры: Fifa Street 2. - + DMA Busy Hack Хак занятости DMA - + Delay VIF1 Stalls Откладывать приостановки VIF1 - + Emulate VIF FIFO Эмулировать VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Имитировать опережающее чтение VIF1 FIFO. Известно, что это влияет на следующие игры: Test Drive Unlimited, Transformers. - + VU I Bit Hack Хак VU I Bit - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Позволяет избежать постоянной рекомпиляции в некоторых играх. Известно, что это влияет на следующие игры: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Для игр Tri-Ace: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync Синхронизация VU - + Run behind. To avoid sync problems when reading or writing VU registers. Задержка выполнения. Чтобы избежать проблем с синхронизацией при чтении или записи регистров VU. - + VU XGKick Sync Синхронизация VU XGkick - + Force Blit Internal FPS Detection Принудительное обнаружение FPS через Blit - + Save State Сохранить состояние - + Load Resume State Загрузить состояние для продолжения - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8032,2071 +8086,2076 @@ Do you want to load this save and continue? Хотите ли вы загрузить это сохранение и продолжить? - + Region: Регион: - + Compatibility: Совместимость: - + No Game Selected Игра не выбрана - + Search Directories Папки поиска - + Adds a new directory to the game search list. Добавляет новую папку в список для поиска игр. - + Scanning Subdirectories Сканировать подпапки - + Not Scanning Subdirectories Не сканировать подпапки - + List Settings Настройки cписка - + Sets which view the game list will open to. Устанавливает, в каком виде будет открываться список игр. - + Determines which field the game list will be sorted by. Определяет, по какому полю будет сортироваться список игр. - + Reverses the game list sort order from the default (usually ascending to descending). Изменить порядок сортировки списка игр по умолчанию (обычно: по возрастанию > по убыванию). - + Cover Settings Настройки обложки - + Downloads covers from a user-specified URL template. Загрузка обложек из пользовательского URL-шаблона. - + Operations Операции - + Selects where anisotropic filtering is utilized when rendering textures. Выбирает, где будет использоваться анизотропная фильтрация при визуализации текстур. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Использовать альтернативный метод для расчета внутреннего FPS, чтобы избежать ложных показаний в некоторых играх. - + Identifies any new files added to the game directories. Определяет любые новые файлы, добавленные в папку с играми. - + Forces a full rescan of all games previously identified. Принудительно сканировать все ранее идентифицированные игры. - + Download Covers Загрузка обложек - + About PCSX2 О программе PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 - это бесплатный эмулятор PlayStation 2 (PS2) с открытым исходным кодом. Его цель - эмулировать аппаратное обеспечение PS2, используя комбинацию интерпретаторов процессора MIPS, рекомпиляторов и виртуальной машины, которая управляет состояниями оборудования и системной памятью PS2. Это позволяет вам играть в игры PS2 на вашем ПК со множеством дополнительных функций и преимуществ. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 и PS2 являются зарегистрированными торговыми марками компании Sony Interactive Entertainment. Данное приложение никоим образом не связано с Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Если включено и выполнен вход в учётную запись, PCSX2 будет искать достижения при запуске. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Соревновательный" режим достижений с отслеживанием списков лидеров. Отключает сохранения, читы и возможность замедления. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Отображает всплывающие сообщения о таких событиях, как разблокировка достижений и появление в таблице лидеров. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Проигрывать звуковые эффекты для таких событий как открытие достижений и отправка списка лидеров. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Отображает иконки в правом нижнем углу экрана, когда активно испытание/доступное достижение. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Когда включено, PCSX2 будет отображать достижения из неофициальных наборов. Эти достижения не отслеживаются RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Если включено, PCSX2 будет считать все достижения закрытыми и не будет отправлять уведомления о получении на сервер. - + Error Ошибка - + Pauses the emulator when a controller with bindings is disconnected. Приостанавливает работу эмулятора, когда контроллер с привязками отключён. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Создаёт резервную копию сохранённого состояния, если оно уже существует на момент создания сохранения. Резервная копия имеет .backup суффикс - + Enable CDVD Precaching Включить предварительное кэширование CDVD - + Loads the disc image into RAM before starting the virtual machine. Загружает образ диска в ОЗУ перед запуском виртуальной машины. - + Vertical Sync (VSync) Вертикальная синхронизация (VSync) - + Sync to Host Refresh Rate Синхронизация с частотой обновления хоста - + Use Host VSync Timing Использовать VSync хоста - + Disables PCSX2's internal frame timing, and uses host vsync instead. Отключает внутреннюю синхронизацию кадров PCSX2, используя вместо этого синхронизацию кадров хоста. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Управление аудио - + Controls the volume of the audio played on the host. Управляет громкостью звука, воспроизводимого на устройстве. - + Fast Forward Volume Громкость при перемотке - + Controls the volume of the audio played on the host when fast forwarding. Управляет громкостью звука, воспроизводимого на устройстве, при использовании перемотки. - + Mute All Sound Заглушить весь звук - + Prevents the emulator from producing any audible sound. Запрещает эмулятору воспроизводить звуки. - + Backend Settings - Backend Settings + Настройки бэкэнда - + Audio Backend Система вывода аудио - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Расширение - + Determines how audio is expanded from stereo to surround for supported games. Определяет, как звук расширяется от стерео до окружения для поддерживаемых игр. - + Synchronization Синхронизация - + Buffer Size Размер буфера - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Задержка вывода - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Минимальная задержка вывода - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Отображает всплывающие уведомления при запуске, отправке или провале вызова в таблице лидеров. - + When enabled, each session will behave as if no achievements have been unlocked. При включении этой опции каждая игровая сессия будет вести себя так, как будто ни одно достижение не было разблокировано. - + Account Аккаунт - + Logs out of RetroAchievements. Выход из RetroAchieves. - + Logs in to RetroAchievements. Войти в RetroAchievements. - + Current Game Текущая игра - + An error occurred while deleting empty game settings: {} Произошла ошибка при сохранении настроек игры: {} - + An error occurred while saving game settings: {} Произошла ошибка при сохранении настроек игры: {} - + {} is not a valid disc image. {} не является допустимым образом диска. - + Automatic mapping completed for {}. Автоматическое сопоставление выполнено для {}. - + Automatic mapping failed for {}. Не удалось выполнить автоматическое сопоставление для {}. - + Game settings initialized with global settings for '{}'. Настройки игры инициализированы глобальными настройками для '{}'. - + Game settings have been cleared for '{}'. Настройки игры для '{}' были очищены. - + {} (Current) {} (текущий) - + {} (Folder) {} (Папка) - + Failed to load '{}'. Не удалось загрузить '{}'. - + Input profile '{}' loaded. Профиль ввода '{}' загружен. - + Input profile '{}' saved. Профиль ввода '{}' сохранен. - + Failed to save input profile '{}'. Не удалось сохранить профиль ввода '{}'. - + Port {} Controller Type Порт {} Тип контроллера - + Select Macro {} Binds Выберите макрос {} привязок - + Port {} Device Порт {} Устройство - + Port {} Subtype Порт {} Подтип - + {} unlabelled patch codes will automatically activate. Автоматически активируется {} немаркированный(ых) патч-код(ов). - + {} unlabelled patch codes found but not enabled. {} Код(ов) исправления найден(о), но не активирован(о). - + This Session: {} Текущая сессия: {} - + All Time: {} Всего времени: {} - + Save Slot {0} Ячейка сохранения {0} - + Saved {} Сохранено {} - + {} does not exist. {} не существует. - + {} deleted. {} удалена. - + Failed to delete {}. Не удалось удалить {}. - + File: {} Файл: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Времени в игре: {} - + Last Played: {} Последняя игра: {} - + Size: {:.2f} MB Размер: {:.2f} МБ - + Left: Лев: - + Top: Верх: - + Right: Прав: - + Bottom: Низ: - + Summary Содержание - + Interface Settings Настройки интерфейса - + BIOS Settings Настройки BIOS - + Emulation Settings Настройки эмуляции - + Graphics Settings Настройки графики - + Audio Settings Настройки аудио - + Memory Card Settings Настройки карт памяти - + Controller Settings Настройки контроллера - + Hotkey Settings Настройки горячих клавиш - + Achievements Settings Настройки достижений - + Folder Settings Настройки папок - + Advanced Settings Дополнительные настройки - + Patches Патчи - + Cheats Читы - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed Скорость 50% - + 60% Speed Скорость 60% - + 75% Speed Скорость 75% - + 100% Speed (Default) Скорость 100% (по умолчанию) - + 130% Speed Скорость 130% - + 180% Speed Скорость 180% - + 300% Speed Скорость 300% - + Normal (Default) Стандартный (по умолчанию) - + Mild Underclock Незначительный разгон - + Moderate Underclock Умеренный разгон - + Maximum Underclock Максимальный разгон - + Disabled Отключено - + 0 Frames (Hard Sync) 0 кадров (жесткая синхронизация) - + 1 Frame 1 кадр - + 2 Frames 2 кадра - + 3 Frames 3 кадра - + None Не использовать - + Extra + Preserve Sign Дополнительный + Сохранять знак - + Full Полный - + Extra Дополнительный - + Automatic (Default) Автоматическое (по умолчанию) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Программный - + Null Не использовать - + Off Выкл - + Bilinear (Smooth) Билинейная (сглажено) - + Bilinear (Sharp) Билинейная (резко) - + Weave (Top Field First, Sawtooth) Волновое (сначала верхнее поле, пилообразное) - + Weave (Bottom Field First, Sawtooth) Волновое (сначала нижнее поле, пилообразное) - + Bob (Top Field First) Bob (сначала верхнее поле) - + Bob (Bottom Field First) Bob (сначала нижнее поле) - + Blend (Top Field First, Half FPS) Смешанное (сначала верхнее поле, половина FPS) - + Blend (Bottom Field First, Half FPS) Смешанное (сначала нижнее поле, половина FPS) - + Adaptive (Top Field First) Адаптивное (сначала верхнее поле) - + Adaptive (Bottom Field First) Адаптивное (сначала нижнее поле) - + Native (PS2) Родное (PS2) - + Nearest Ступенчатая - + Bilinear (Forced) Билинейная (принудительно) - + Bilinear (PS2) Билинейная (PS2) - + Bilinear (Forced excluding sprite) Билинейная (принудительно, исключая спрайты) - + Off (None) Выключено (не использовать) - + Trilinear (PS2) Трилинейная (PS2) - + Trilinear (Forced) Трилинейная (принудительно) - + Scaled С масштабированием - + Unscaled (Default) Без масштабирования (по умолчанию) - + Minimum Минимальная - + Basic (Recommended) Базовая (рекомендуется) - + Medium Средняя - + High Высокая - + Full (Slow) Полная (медленно) - + Maximum (Very Slow) Максимальная (очень медленное) - + Off (Default) Отключено (по умолчанию) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Частичная - + Full (Hash Cache) Полная (хешировать кэш) - + Force Disabled Принудительно отключено - + Force Enabled Принудительно включено - + Accurate (Recommended) Точный (рекомендуется) - + Disable Readbacks (Synchronize GS Thread) Отключить обратные считывания (синхронизировать поток GS) - + Unsynchronized (Non-Deterministic) Несинхронизированный (неопределённый) - + Disabled (Ignore Transfers) Отключено (игнорировать переводы) - + Screen Resolution Разрешение экрана - + Internal Resolution (Aspect Uncorrected) Внутреннее разрешение (без исправления соотношения сторон) - + Load/Save State - Load/Save State + Загрузить/сохранить состояние - + WARNING: Memory Card Busy ПРЕДУПРЕЖДЕНИЕ: Карта памяти занята - + Cannot show details for games which were not scanned in the game list. Невозможно отобразить сведения об играх, которые не были отсканированы в списке игр. - + Pause On Controller Disconnection Пауза при отключении контроллера - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL подсветка DualSense - + Press To Toggle Нажмите, чтобы включить/выключить - + Deadzone Мёртвая зона - + Full Boot Полная загрузка - + Achievement Notifications Уведомления о достижениях - + Leaderboard Notifications Уведомления о таблице лидеров - + Enable In-Game Overlays Включить внутриигровые оверлеи - + Encore Mode Режим переигровки - + Spectator Mode Режим наблюдателя - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Конвертировать 4-битный и 8-битный фреймбуферы, используя ЦП вместо ГП. - + Removes the current card from the slot. Удаляет текущую карту из слота. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Установка частоты, с которой макрос будет включать и выключать кнопки (по аналогии с автострельбой). - + {} Frames {} Кадров - + No Deinterlacing Без деинтерлейсинга - + Force 32bit Принудительно 32-бит - + JPEG JPEG - + 0 (Disabled) 0 (отключено) - + 1 (64 Max Width) 1 (макс. ширина 64) - + 2 (128 Max Width) 2 (макс. ширина 128) - + 3 (192 Max Width) 3 (макс. ширина 192) - + 4 (256 Max Width) 4 (макс. ширина 256) - + 5 (320 Max Width) 5 (макс. ширина 320) - + 6 (384 Max Width) 6 (макс. ширина 384) - + 7 (448 Max Width) 7 (макс. ширина 448) - + 8 (512 Max Width) 8 (макс. ширина 512) - + 9 (576 Max Width) 9 (макс. ширина 576) - + 10 (640 Max Width) 10 (макс. ширина 640) - + Sprites Only Только спрайты - + Sprites/Triangles Спрайты/треугольники - + Blended Sprites/Triangles Смешанные спрайты/треугольники - + 1 (Normal) 1 (нормально) - + 2 (Aggressive) 2 (агрессивно) - + Inside Target Внутри объекта - + Merge Targets Объединять объекты - + Normal (Vertex) Нормальное (вершины) - + Special (Texture) Специальное (текстуры) - + Special (Texture - Aggressive) Специальное (текстуры - агрессивно) - + Align To Native Выравнивание по нативному разрешению - + Half Половина - + Force Bilinear Принудительно билинейная - + Force Nearest Принудительно ступенчатая - + Disabled (Default) Отключено (по умолчанию) - + Enabled (Sprites Only) Включено (только спрайты) - + Enabled (All Primitives) Включено (все примитивы) - + None (Default) Не использовать (по умолчанию) - + Sharpen Only (Internal Resolution) Только резкость (внутреннее разрешение) - + Sharpen and Resize (Display Resolution) Повышать резкость и увеличивать (разрешение экрана) - + Scanline Filter Чересстрочный фильтр - + Diagonal Filter Диагональный фильтр - + Triangular Filter Треугольный фильтр - + Wave Filter Волновой фильтр - + Lottes CRT Лоттес ЭЛТ - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Без сжатия - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8МБ) - + PS2 (16MB) PS2 (16 МБ) - + PS2 (32MB) PS2 (32 МБ) - + PS2 (64MB) PS2 (64МБ) - + PS1 PS1 - + Negative Отрицательный - + Positive Положительный - + Chop/Zero (Default) Chop/Zero (по умолчанию) - + Game Grid Сетка игр - + Game List Список игр - + Game List Settings Настройки списка игр - + Type Тип - + Serial Серийный номер - + Title Название - + File Title Название файла - + CRC CRC - + Time Played Времени в игре - + Last Played Последняя игра - + Size Размер - + Select Disc Image Выберите образ диска - + Select Disc Drive Выберите дисковод - + Start File Запустить файл - + Start BIOS Запустить BIOS - + Start Disc Запустить диск - + Exit Выход - + Set Input Binding Установка привязки на нажатие - + Region Регион - + Compatibility Rating Оценка совместимости - + Path Путь - + Disc Path Путь к диску - + Select Disc Path Выбрать путь к диску - + Copy Settings Копировать настройки - + Clear Settings Очистить настройки - + Inhibit Screensaver Запретить экранную заставку - + Enable Discord Presence Включить статус активности в Discord - + Pause On Start Пауза при запуске - + Pause On Focus Loss Пауза при потере фокуса - + Pause On Menu Пауза в меню - + Confirm Shutdown Подтверждение отключения - + Save State On Shutdown Сохранять состояние при выключении - + Use Light Theme Использовать светлую тему - + Start Fullscreen Запускать в полноэкранном режиме - + Double-Click Toggles Fullscreen Двойной клик для переключения полноэкранного режима - + Hide Cursor In Fullscreen Скрывать курсор в полноэкранном режиме - + OSD Scale Масштаб индикации на экране - + Show Messages Показывать сообщения - + Show Speed Показывать скорость - + Show FPS Показывать частоту кадров - + Show CPU Usage Показывать нагрузку ЦП - + Show GPU Usage Показывать нагрузку ГП - + Show Resolution Показывать разрешение - + Show GS Statistics Показывать статистику GS - + Show Status Indicators Показывать индикаторы состояния - + Show Settings Показывать настройки - + Show Inputs Показывать нажатия кнопок - + Warn About Unsafe Settings Предупреждать о небезопасных настройках - + Reset Settings Сбросить настройки - + Change Search Directory Изменить папку поиска - + Fast Boot Быстрая загрузка - + Output Volume Громкость вывода - + Memory Card Directory Папка карты памяти - + Folder Memory Card Filter Фильтр карт памяти в папках - + Create Создать - + Cancel Отмена - + Load Profile Загрузить профиль - + Save Profile Сохранить профиль - + Enable SDL Input Source Включить источник ввода SDL - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / расширенный режим DualSense - + SDL Raw Input Прямой ввод через SDL - + Enable XInput Input Source Включить источник ввода XInput - + Enable Console Port 1 Multitap Включить консольный порт 1 Мультитап - + Enable Console Port 2 Multitap Включить консольный порт 2 Мультитап - + Controller Port {}{} Порт контроллера {}{} - + Controller Port {} Порт контроллера {} - + Controller Type Тип контроллера - + Automatic Mapping Автоматические привязки - + Controller Port {}{} Macros Порт контроллера {}{} Макросы - + Controller Port {} Macros Порт контроллера {} Макросы - + Macro Button {} Кнопка макроса {} - + Buttons Кнопки - + Frequency Частота - + Pressure Сила нажатия - + Controller Port {}{} Settings Порт контроллера {}{} Настройки - + Controller Port {} Settings Порт контроллера {} Настройки - + USB Port {} USB-порт {} - + Device Type Тип устройства - + Device Subtype Подтип устройства - + {} Bindings {} Привязки - + Clear Bindings Очистить привязки - + {} Settings {} Настройки - + Cache Directory Папка кэша - + Covers Directory Папка обложек - + Snapshots Directory Папка снимков - + Save States Directory Папка сохраненных состояний - + Game Settings Directory Папка настроек игры - + Input Profile Directory Папка входных профилей - + Cheats Directory Папка читов - + Patches Directory Папка патчей - + Texture Replacements Directory Папка замен текстур - + Video Dumping Directory Папка дампов видео - + Resume Game Продолжить игру - + Toggle Frame Limit Вкл/выкл ограничение кадров - + Game Properties Свойства игры - + Achievements Достижения - + Save Screenshot Сохранить снимок экрана - + Switch To Software Renderer Переключиться на программный визуализатор - + Switch To Hardware Renderer Переключиться на аппаратный визуализатор - + Change Disc Сменить диск - + Close Game Закрыть игру - + Exit Without Saving Выйти без сохранения - + Back To Pause Menu Вернуться в меню паузы - + Exit And Save State Выйти и сохранить состояние - + Leaderboards Таблицы лидеров - + Delete Save Удалить сохранение - + Close Menu Закрыть меню - + Delete State Удалить состояние - + Default Boot Загрузка по умолчанию - + Reset Play Time Сбросить время игры - + Add Search Directory Добавить папку поиска - + Open in File Browser Открыть в проводнике - + Disable Subdirectory Scanning Отключить сканирование подпапок - + Enable Subdirectory Scanning Включить сканирование подпапок - + Remove From List Удалить из списка - + Default View Вид по умолчанию - + Sort By Сортировать по - + Sort Reversed Обратная сортировка - + Scan For New Games Поиск новых игр - + Rescan All Games Повторить сканирование всех игр - + Website Веб-сайт - + Support Forums Форумы поддержки - + GitHub Repository Репозиторий на GitHub - + License Лицензия - + Close Закрыть - + RAIntegration is being used instead of the built-in achievements implementation. Вместо встроенной реализации достижений используется RAIntegration. - + Enable Achievements Включить достижения - + Hardcore Mode Хардкорный режим - + Sound Effects Звуковые эффекты - + Test Unofficial Achievements Тестировать неофициальные достижения - + Username: {} Имя пользователя: {} - + Login token generated on {} Токен для входа сгенерирован на {} - + Logout Выйти - + Not Logged In Вход не выполнен - + Login Войти - + Game: {0} ({1}) Игра: {0} ({1}) - + Rich presence inactive or unsupported. Статус активности неактивен или не поддерживается. - + Game not loaded or no RetroAchievements available. Игра не загружена или RetroAchievements не доступны. - + Card Enabled Карта включена - + Card Name Название карты - + Eject Card Извлечь карту @@ -11084,32 +11143,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Все патчи для данной игры в составе PCSX2 будут отключены, т.к. вы загрузили патчи без меток. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs Все CRC - + Reload Patches Перезагрузить патчи - + Show Patches For All CRCs Показывать патчи для всех CRC - + Checked Выбрано - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Активирует сканирование патчей для всех CRC игры. При включении также будут загружаться доступные патчей для серийного номера игры с другими CRC. - + There are no patches available for this game. Нет доступных патчей для этой игры. @@ -11585,11 +11654,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Отключено (по умолчанию) @@ -11599,10 +11668,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Автоматическое (по умолчанию) @@ -11669,7 +11738,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Билинейная (сглажено) @@ -11735,29 +11804,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Смещение экрана - + Show Overscan Показывать область за пределами сканирования - - - Enable Widescreen Patches - Включить широкоэкранные патчи - - - - Enable No-Interlacing Patches - Включить патчи устранения чересстрочности - - + Anti-Blur Анти-размытие @@ -11768,7 +11827,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Выключить смещение чересстрочности @@ -11778,18 +11837,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Размер снимка экрана: - + Screen Resolution Разрешение экрана - + Internal Resolution Внутреннее разрешение - + PNG PNG @@ -11841,7 +11900,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Билинейная (PS2) @@ -11888,7 +11947,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Без масштабирования (по умолчанию) @@ -11904,7 +11963,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Базовая (рекомендуется) @@ -11940,7 +11999,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Полная (хешировать кэш) @@ -11956,31 +12015,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Отключить конверсию глубины - + GPU Palette Conversion Преобразование палитры ГП - + Manual Hardware Renderer Fixes Ручные исправления аппаратного визуализатора - + Spin GPU During Readbacks Поддерживать нагрузку ГП во время простоя - + Spin CPU During Readbacks Поддерживать нагрузку ЦП во время простоя @@ -11992,15 +12051,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Мипмаппинг (MIP-текстурирование) - - + + Auto Flush Автоочистка @@ -12028,8 +12087,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (отключено) @@ -12086,18 +12145,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Отключить безопасные функции - + Preload Frame Data Предзагрузка данных кадра - + Texture Inside RT Текстура внутри объекта визуализации @@ -12196,13 +12255,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Объединять спрайты - + Align Sprite Выравнивать спрайты @@ -12216,16 +12275,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing Без деинтерлейсинга - - - Apply Widescreen Patches - Применить широкоэкранные патчи - - - - Apply No-Interlacing Patches - Применить патчи устранения чересстрочности - Window Resolution (Aspect Corrected) @@ -12298,25 +12347,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Отключить частичную проверку источника - + Read Targets When Closing Считывать объекты при закрытии - + Estimate Texture Region Оценка области текстуры - + Disable Render Fixes Выключить исправления визуализации @@ -12327,7 +12376,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Визуализация палитровых текстур без масштабирования @@ -12386,25 +12435,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Дамп текстур - + Dump Mipmaps Дамп мипмапов - + Dump FMV Textures Дамп текстур FMV - + Load Textures Загрузка текстур @@ -12412,7 +12461,17 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) - Native (10:7) + Нативное (10:7) + + + + Apply Widescreen Patches + Применить широкоэкранные патчи + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches @@ -12431,13 +12490,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Прекэшировать текстуры @@ -12460,8 +12519,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Не использовать (по умолчанию) @@ -12482,7 +12541,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12534,7 +12593,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Усиление оттенков @@ -12549,7 +12608,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Контрастность: - + Saturation Насыщенность @@ -12570,50 +12629,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Показывать индикаторы - + Show Resolution Показывать разрешение - + Show Inputs Показывать нажатия кнопок - + Show GPU Usage Показывать нагрузку ГП - + Show Settings Показывать настройки - + Show FPS Показывать частоту кадров - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12629,13 +12688,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Показывать статистику - + Asynchronous Texture Loading Асинхронная загрузка текстур @@ -12646,13 +12705,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Показывать нагрузку ЦП - + Warn About Unsafe Settings Предупреждать о небезопасных настройках @@ -12678,7 +12737,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Слева (по умолчанию) @@ -12689,43 +12748,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Справа (по умолчанию) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Показывать версию PCSX2 - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Показывать статус записи ввода - + Show Video Capture Status Show Video Capture Status - + Show VPS Показывать VPS @@ -12834,19 +12893,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Пропускать повторяющиеся кадры - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12899,7 +12958,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Показывать процентные показатели скорости @@ -12909,1215 +12968,1215 @@ Swap chain: see Microsoft's Terminology Portal. Отключить выборку буфера кадров - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Программный - + Null Null here means that this is a graphics backend that will show nothing. Не использовать - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Использовать глобальные настройки [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Не выбрано - + + Enable Widescreen Patches + Включить широкоэкранные патчи + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Автоматически загружать и применять широкоэкранные патчи при запуске игры. Может вызвать проблемы. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Автоматически загружать и применять широкоэкранные патчи при запуске игры. Может вызвать проблемы. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Отключает смещение интерлейсинга, что может уменьшить размытие в некоторых ситуациях. - + Bilinear Filtering Билинейная фильтрация - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Включает фильтр билинейной постобработки. Сглаживает общее изображение, как оно отображается на экране. Исправляет положение между пикселами. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Включает функцию смещения PCRTC, которая позиционирует экран в соответствии с запросами игры. Полезно для некоторых игр, таких как WipEout Fusion для эффекта встряхивания экрана, но может сделать изображение размытым. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Включает опцию отображения области за пределами сканирования в играх, которые рисуют больше, чем безопасная область экрана. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Определяет метод деинтерлейсинга, используемый для экрана эмулируемой консоли с чересстрочной развёрткой. В автоматическом режиме чересстрочность должна корректно удаляться для большинства игр, но если вы наблюдаете подёргивания графики попробуйте выбрать одну из доступных опций. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Контролирует уровень точности эмуляции модуля смешивания GS.<br> Чем выше значение, тем точнее смешивание эмулируется в шейдере и тем выше будет ухудшение скорости эмуляции.<br> Обратите внимание, что возможность смешивания в Direct3D ограничена, в отличие от OpenGL/Vulkan. - + Software Rendering Threads Поточность программной визуализации - + CPU Sprite Render Size Размер визуализации спрайтов ЦП - + Software CLUT Render Программная визуализация CLUT - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Пытаться определить, когда игра отрисовывает собственную цветовую палитру, а затем визуализировать её на ГП с помощью специальной обработки. - + This option disables game-specific render fixes. Эта опция отключает специфичные для игры исправления визуализации. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. По умолчанию кэш текстур обрабатывает частичные недействительные данные. К сожалению, это очень затратно с точки зрения вычислений ЦП. Этот хак заменяет частичную недействительность полным удалением текстуры для снижения нагрузки на ЦП. Это помогает в играх на движке Snowblind. - + Framebuffer Conversion Преобразование буфера кадров - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Конвертировать 4-битный буфер кадров на ЦП вместо ГП. Помогает Harry Potter и Stuntman. Это сильно влияет на производительность. - - + + Disabled Отключено - - Remove Unsupported Settings - Удалить неподдерживаемые настройки - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - В данный момент вам нужно <strong>включить широкоэкранные патчи</strong> или <strong>включить патчи устранения чересстрочности</strong> для этой игры.<br><br>Мы больше не поддерживаем эти настройки, поэтому <strong>вы должны выбрать раздел "Патчи" и включить патчи, которые вам необходимы.</strong><br><br>Вы хотите удалить эти настройки из конфигурации игры? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Выполняет бесполезную работу с процессором во время обратного чтения, чтобы предотвратить его переход в режим энергосбережения. Может повысить производительность во время обратного чтения, но при этом значительно увеличивается энергопотребление. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Выполняет бесполезную работу с GPU во время обратного чтения, чтобы предотвратить его переход в режим энергосбережения. Может повысить производительность во время обратного чтения, но при этом значительно увеличивается энергопотребление. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Количество потоков рендеринга: 0 - для однопоточного, 2 или более - для многопоточного (1 - для отладки). Рекомендуется от 2 до 4 потоков, большее количество, скорее всего, будет работать медленнее, а не быстрее. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Отключите поддержку буферов глубины в кэше текстур. Скорее всего, это приведет к различным глюкам и полезно только для отладки. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Позволяет текстурному кэшу повторно использовать в качестве входной текстуры внутреннюю часть предыдущего буфера кадра. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Сбрасывает все объекты в кэше текстур обратно в локальную память при завершении работы. Это может предотвратить потерю визуальных данных при сохранении состояния или переключении средств визуализации, но также может вызвать графические искажения. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Пытается уменьшить размер текстуры, когда игры сами его не устанавливают (например, игры на движке Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Исправляет проблемы с апскейлом (вертикальными линиями) в играх от Namco, например Ace Combat, Tekken, Soul Calibur и т.д. - + Dumps replaceable textures to disk. Will reduce performance. Дамп заменяемых текстур на диск. Снижает производительность. - + Includes mipmaps when dumping textures. Включает MIP-карты при дампе текстур. - + Allows texture dumping when FMVs are active. You should not enable this. Разрешает дамп текстур при активных FMV. Не следует включать эту функцию. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Загружает заменяющие текстуры в рабочий поток, уменьшая микрозадержки, когда заменяющие текстуры включены. - + Loads replacement textures where available and user-provided. Загружает заменяющие текстуры, если они доступны и предоставлены пользователем. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Предварительно загружает все заменяющие текстуры в память. Не требуется при асинхронной загрузке. - + Enables FidelityFX Contrast Adaptive Sharpening. Включает контрастно-адаптивную резкость FidelityFX. - + Determines the intensity the sharpening effect in CAS post-processing. Определяет интенсивность эффекта повышения резкости в постобработке CAS. - + Adjusts brightness. 50 is normal. Регулирует яркость. Нормальный - 50. - + Adjusts contrast. 50 is normal. Регулирует контрастность. Нормальный - 50. - + Adjusts saturation. 50 is normal. Регулирует насыщенность. Нормальный - 50. - + Scales the size of the onscreen OSD from 50% to 500%. Масштабирует размер индикации на экране от 50% до 500%. - + OSD Messages Position Расположение сообщений OSD - + OSD Statistics Position Расположение статистики OSD - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Отображает значки индикаторов на экране для состояний эмуляции, таких как Пауза, Турбо, Перемотка и Замедление. - + Displays various settings and the current values of those settings, useful for debugging. Отображает различные настройки и текущие значения этих настроек, полезно для отладки. - + Displays a graph showing the average frametimes. Отображает график, показывающий средние кадры. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Видеокодек - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Выбор видеокодека, используемого для захвата изображения. <b>Если не уверены, оставьте значение по умолчанию.<b> - + Video Format Формат видео - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Битрейт видео - + 6000 kbps 6000 кбит/с - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Выбор используемого битрейта видео. Как правило, более высокий битрейт улучшает качество изображения, но увеличивает размер файла. - + Automatic Resolution Автоматическое разрешение - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> Если включено, разрешение при захвате изображения будет меняться в соответствии с внутренним разрешением запущенной игры.<br><br><b>Будьте внимательны при использовании данной настройки, особенно если включен апскейлинг, т.к. высокое внутреннее разрешение (более 4x) может привести к очень большому размеру файла и вызвать сбой системы.</b> - + Enable Extra Video Arguments Включить доп. параметры видео - + Allows you to pass arguments to the selected video codec. Позволяет задавать параметры для выбранного видеокодека. - + Extra Video Arguments Доп. параметры видео - + Audio Codec Аудиокодек - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Выбор аудиокодека, используемого при захвате изображения. <b>Если не уверены, оставьте значение по умолчанию.<b> - + Audio Bitrate Битрейт аудио - + Enable Extra Audio Arguments Включить доп. параметры аудио - + Allows you to pass arguments to the selected audio codec. Позволяет задавать параметры для выбранного аудиокодека. - + Extra Audio Arguments Доп. параметры аудио - + Allow Exclusive Fullscreen Разрешить эксклюзивный полноэкранный режим - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Переопределяет эвристику драйвера для включения эксклюзивного полноэкранного режима, или Direct flip/scanout.<br>Запрет эксклюзивного полного экрана может способствовать плавному переключению окон, но увеличению задержку ввода. - + 1.25x Native (~450px) Родное 1.25x (~450пикс) - + 1.5x Native (~540px) Родное 1.5x (~540пикс) - + 1.75x Native (~630px) Родное 1.75x (~630пикс) - + 2x Native (~720px/HD) Родное 2x (~720пикс/HD) - + 2.5x Native (~900px/HD+) Родное 2.5x (~900пикс/HD+) - + 3x Native (~1080px/FHD) Родное 3x (~1080пикс/FHD) - + 3.5x Native (~1260px) Родное 3.5x (~1260пикс) - + 4x Native (~1440px/QHD) Родное 4x (~1440пикс/QHD) - + 5x Native (~1800px/QHD+) Родное 5x (~1800пикс/QHD+) - + 6x Native (~2160px/4K UHD) Родное 6x (~2160пикс/4K UHD) - + 7x Native (~2520px) Родное 7x (~2520пикс) - + 8x Native (~2880px/5K UHD) Родное 8x (~2880пикс/5K UHD) - + 9x Native (~3240px) Родное 9x (~3240пикс) - + 10x Native (~3600px/6K UHD) Родное 10x (~3600пикс/6K UHD) - + 11x Native (~3960px) Родное 11x (~3960пикс) - + 12x Native (~4320px/8K UHD) Родное 12x (~4320пикс/8K UHD) - + 13x Native (~4680px) Родное 13x (~4680пикс) - + 14x Native (~5040px) Родное 14x (~5040пикс) - + 15x Native (~5400px) Родное 15x (~5400пикс) - + 16x Native (~5760px) Родное 16x (~5760пикс) - + 17x Native (~6120px) Родное 17x (~6120пикс) - + 18x Native (~6480px/12K UHD) Родное 18x (~6480пикс/12K UHD) - + 19x Native (~6840px) Родное 19x (~6840пикс) - + 20x Native (~7200px) Родное 20x (~7200пикс) - + 21x Native (~7560px) Родное 21x (~7560пикс) - + 22x Native (~7920px) Родное 22x (~7920пикс) - + 23x Native (~8280px) Родное 23x (~8280пикс) - + 24x Native (~8640px/16K UHD) Родное 24x (~8640пикс/16K UHD) - + 25x Native (~9000px) Родное 25x (~9000пикс) - - + + %1x Native Родное %1x - - - - - - - - - + + + + + + + + + Checked Выбрано - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Включает хаки анти-размытия. Менее точно соответствует визуализации PS2, но позволяет многим играм выглядеть менее размытыми. - + Integer Scaling Целочисленное масштабирование - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Добавляет заполнение к области отображения, чтобы соотношение между пикселями на хосте и пикселями в консоли было целочисленным. Может привести к более резкому изображению в некоторых 2D-играх. - + Aspect Ratio Соотношение сторон - + Auto Standard (4:3/3:2 Progressive) Авт. стандартное (прогрессивное 4:3/3:2) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Изменяет соотношение сторон, используемое для отображения вывода консоли' на экране. По умолчанию установлено значение Авто стандартное (4:3/3:2 Прогрессивная), которое автоматически настраивает соотношение сторон экрана в соответствии с тем, как игра будет отображаться на типичном телевизоре той эпохи. - + Deinterlacing Устранение чересстрочности - + Screenshot Size Разрешение скриншота - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Определяет разрешение, при котором скриншоты будут сохранены. Внутренние разрешения сохраняют более подробную информацию за счёт размера файла. - + Screenshot Format Формат снимка экрана - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Выбирает формат, который будет использоваться для сохранения скриншотов. JPEG производит меньшие файлы, но теряет детали. - + Screenshot Quality Качество снимков экрана - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Выбирает качество, при котором скриншоты будут сжаты. Чем больше значение сохранит детали в JPEG и уменьшает размер файла в PNG. - - + + 100% 100% - + Vertical Stretch Растягивание по вертикали - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Растягивает (&lt; 100%) или сжимает (&gt; 100%) вертикальную составляющую дисплея. - + Fullscreen Mode Полноэкранный режим - - - + + + Borderless Fullscreen Безрамочный полноэкранный - + Chooses the fullscreen resolution and frequency. Выбор полноэкранного разрешения и частоты. - + Left Слева - - - - + + + + 0px 0пикс - + Changes the number of pixels cropped from the left side of the display. Изменяет количество пикселей, обрезанных с левой стороны дисплея. - + Top Сверху - + Changes the number of pixels cropped from the top of the display. Изменяет количество пикселей, обрезанных из верхней части дисплея. - + Right Справа - + Changes the number of pixels cropped from the right side of the display. Изменяет количество пикселей, обрезанных с правой стороны дисплея. - + Bottom Снизу - + Changes the number of pixels cropped from the bottom of the display. Изменяет количество пикселей, обрезанных из нижней части дисплея. - - + + Native (PS2) (Default) Родное (PS2) (по умолчанию) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Управление разрешением, в котором происходит визуализация игр. Высокое разрешение может повлиять на производительность старых или дешевых ГП.<br>Неродное разрешение может вызвать небольшие графические проблемы в некоторых играх.<br>Разрешение FMV останется неизменным, так как видеофайлы предварительно отрендерены. - + Texture Filtering Сглаживание текстур - + Trilinear Filtering Трилинейная фильтрация - + Anisotropic Filtering Анизотропная фильтрация - + Reduces texture aliasing at extreme viewing angles. Уменьшает ступенчатость текстур при экстремальных углах обзора. - + Dithering Дизеринг - + Blending Accuracy Точность смешивания - + Texture Preloading Предзагрузка текстур - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Загружает целые текстуры сразу, а не по частям, избегая избыточных нагрузок, когда это возможно. Улучшает производительность в большинстве игр, но может замедлить работу в некоторых случаях. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Когда включено, ГП выполняет преобразование карты цветов текстур, в противном случае это будет выполнять ЦП. Это компромисс между ГП и ЦП. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Включение этой опции дает вам возможность изменять средства визуализации и исправления масштабирования в ваших играх. Однако, ЕСЛИ вы ВКЛЮЧИЛИ это, вы ОТКЛЮЧИТЕ АВТОМАТИЧЕСКИЕ НАСТРОЙКИ и сможете повторно включить автоматические настройки, сняв флажок с этой опции. - + 2 threads 2 потока - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Принудительная очистка примитивов, когда кадровый буфер также является входной текстурой. Исправляет некоторые эффекты обработки, такие как тени в серии Jak и яркость в GTA:SA. - + Enables mipmapping, which some games require to render correctly. Включает мипмаппинг (MIP-текстурирование), требуется некоторым играм для корректной визуализации. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. Максимальная ширина целевой памяти, которая позволит активировать визуализатор спрайтов ЦП. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Пытается определить, когда игра отрисовывает собственную цветовую палитру, а затем визуализировать ее программно, а не на ГП. - + GPU Target CLUT Целевая палитра GPU - + Skipdraw Range Start Начало диапазона пропуска кадров - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Полностью пропускает отрисовку поверхностей от поверхности в левом блоке до поверхности, указанной в блоке справа. - + Skipdraw Range End Конец диапазона пропуска кадров - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Эта опция отключает несколько безопасных функций. Отключает точное восстановление и визуализацию точек и линий, что может помочь играм Xenosaga. Отключает точную очистку памяти GS, которая обычно выполняется на ЦП, и передает эту задачу ГП, что может помочь играм Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Загружает данные GS при отрисовке нового кадра для точного воспроизведения некоторых эффектов. - + Half Pixel Offset Смещение полупикселя - + Might fix some misaligned fog, bloom, or blend effect. Может исправить некорректное отображение тумана, эффектов расцветки или смешивания. - + Round Sprite Округление спрайтов - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Корректирует выборку текстур 2D-спрайтов при масштабировании. Исправляет линии в спрайтах игр, например, в Ar tonelico, при масштабировании. Опция Half предназначена для плоских спрайтов, а опция Full - для всех спрайтов. - + Texture Offsets X Смещение текстур по оси Х - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Смещение координат ST/UV текстур. Исправляет некоторые проблемы с текстурами и может также исправить выравнивание текстур при постобработке. - + Texture Offsets Y Смещение текстур по оси Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Уменьшает точность GS во избежание разрыва между пикселями при масштабировании. Исправляет отображение текста в играх Wild Arms. - + Bilinear Upscale Билинейный апскейлинг - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Позволяет сглаживать текстуры с помощью билинейной фильтрации при масштабировании. Например, лучи света в Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Заменяет на постобработке несколько спрайтов на один большой спрайт, что уменьшает количество масштабирующих линий. - + Force palette texture draws to render at native resolution. Принудительная отрисовка текстуры палитры в исходном разрешении. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Контрастно-адаптивная резкость (CAS) - + Sharpness Резкость - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Включает регулировку насыщенности, контрастности и яркости. Значения по умолчанию - 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Применяет алгоритм антиалиасинга FXAA для улучшения визуального качества игр. - + Brightness Яркость - - - + + + 50 50 - + Contrast Контрастность - + TV Shader Шейдер ТВ - + Applies a shader which replicates the visual effects of different styles of television set. Применяет шейдер, который стилизует визуальные эффекты под разные телевизоры. - + OSD Scale Масштаб индикации на экране - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Выводит на экран сообщений о системных событиях, таких как создание/загрузка сохранений, снимок экрана и т.д. - + Shows the internal frame rate of the game in the top-right corner of the display. Отображает частоту кадров игры в правом верхнем углу экрана. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Отображает в процентах текущую скорость эмуляции системы в правом верхнем углу экрана. - + Shows the resolution of the game in the top-right corner of the display. Отображает разрешение игры в правом верхнем углу экрана. - + Shows host's CPU utilization. Отображает нагрузку на ЦП. - + Shows host's GPU utilization. Отображает нагрузку на ГП. - + Shows counters for internal graphical utilization, useful for debugging. Отображает счетчики для внутреннего графического использования, полезные для отладки. - + Shows the current controller state of the system in the bottom-left corner of the display. Отображает текущее состояние системного контроллера в левом нижнем углу экрана. - + Shows the current PCSX2 version on the top-right corner of the display. - Shows the current PCSX2 version on the top-right corner of the display. + Отображает текущую версию PCSX2 в правом верхнем углу экрана. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Отображает текущее состояние активной записи ввода. - + Displays warnings when settings are enabled which may break games. Отображает предупреждения, когда включены настройки, которые могут сломать игру. - - + + Leave It Blank Оставить пустым - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Параметры, сообщаемые выбранному видеокодеку.<br><b>Используйте '=' чтобы отделить ключ от значения и ':' чтобы разделить две пары друг от друга.</b><br> Например: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Выбор используемого битрейта аудио. - + 160 kbps 160 кбит/с - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Параметры, сообщаемые выбранному аудиокодеку.<br><b>Используйте '=' чтобы отделить ключ от значения и ':' чтобы разделить две пары друг от друга.</b><br>Например: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression Сжатие дампа GS - + Change the compression algorithm used when creating a GS dump. Изменение алгоритма сжатия, используемого при создании дампа GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Использует модель представления blit вместо перелистывания при использовании средства визуализации Direct3D 11. Обычно это приводит к снижению производительности, но может потребоваться для некоторых потоковых приложений или для снижения частоты кадров на некоторых системах. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Включить отладочное устройство - + Enables API-level validation of graphics commands. Включает проверку графических команд на уровне API. - + GS Download Mode Режим загрузки GS - + Accurate Точный - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Пропускает синхронизацию с потоком GS и ГП хоста для загрузок GS. Может привести к значительному увеличению скорости на более медленных системах, но с потерей множества визуальных эффектов. Если игры выводятся с дефектами, и эта опция активирована, пожалуйста, сначала отключите её. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. По умолчанию - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14125,7 +14184,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format По умолчанию @@ -14342,254 +14401,254 @@ Swap chain: see Microsoft's Terminology Portal. Не найдено сохраненного состояния в слоте {}. - - - + + - - - - + + + + - + + System Система - + Open Pause Menu Открыть меню паузы - + Open Achievements List Открыть список достижений - + Open Leaderboards List Открыть список таблицы лидеров - + Toggle Pause Вкл/выкл паузу - + Toggle Fullscreen Вкл/выкл полноэкранный режим - + Toggle Frame Limit Вкл/выкл ограничение кадров - + Toggle Turbo / Fast Forward Вкл/выкл турбо / перемотка вперед - + Toggle Slow Motion Вкл/выкл замедление - + Turbo / Fast Forward (Hold) Турбо / перемотка вперед (удержание) - + Increase Target Speed Увеличить целевую скорость - + Decrease Target Speed Уменьшит целевую скорость - + Increase Volume Увеличить громкость - + Decrease Volume Уменьшить громкость - + Toggle Mute Вкл/выкл звук - + Frame Advance Покадровый запуск - + Shut Down Virtual Machine Выключить виртуальную машину - + Reset Virtual Machine Сбросить виртуальную машину - + Toggle Input Recording Mode Вкл/выкл режим записи ввода - - + + Save States Сохраненные состояния - + Select Previous Save Slot Выбрать предыдущий слот сохранения - + Select Next Save Slot Выбрать следующий слот сохранения - + Save State To Selected Slot Сохранить состояние в выбранном слоте - + Load State From Selected Slot Загрузить состояние из выбранного слота - + Save State and Select Next Slot Сохранить состояние и выбрать следующий слот - + Select Next Slot and Save State Выбрать следующий слот и сохранить состояние - + Save State To Slot 1 Сохранить состояние в слот 1 - + Load State From Slot 1 Загрузить состояние из слота 1 - + Save State To Slot 2 Сохранить состояние в слот 2 - + Load State From Slot 2 Загрузить состояние из слота 2 - + Save State To Slot 3 Сохранить состояние в слот 3 - + Load State From Slot 3 Загрузить состояние из слота 3 - + Save State To Slot 4 Сохранить состояние в слот 4 - + Load State From Slot 4 Загрузить состояние из слота 4 - + Save State To Slot 5 Сохранить состояние в слот 5 - + Load State From Slot 5 Загрузить состояние из слота 5 - + Save State To Slot 6 Сохранить состояние в слот 6 - + Load State From Slot 6 Загрузить состояние из слота 6 - + Save State To Slot 7 Сохранить состояние в слот 7 - + Load State From Slot 7 Загрузить состояние из слота 7 - + Save State To Slot 8 Сохранить состояние в слот 8 - + Load State From Slot 8 Загрузить состояние из слота 8 - + Save State To Slot 9 Сохранить состояние в слот 9 - + Load State From Slot 9 Загрузить состояние из слота 9 - + Save State To Slot 10 Сохранить состояние в слот 10 - + Load State From Slot 10 Загрузить состояние из слота 10 @@ -14831,12 +14890,12 @@ Right click to clear binding Record Mode Enabled - Record Mode Enabled + Режим записи включён Replay Mode Enabled - Replay Mode Enabled + Режим повтора включён @@ -15469,594 +15528,608 @@ Right click to clear binding &Система - - - + + Change Disc Сменить диск - - + Load State Загрузить состояние - - Save State - Сохранить состояние - - - + S&ettings &Настройки - + &Help &Помощь - + &Debug &Отладка - - Switch Renderer - Переключить визуализатор - - - + &View &Вид - + &Window Size &Размер окна - + &Tools &Инструменты - - Input Recording - Запись ввода - - - + Toolbar Панель инструментов - + Start &File... Запустить &файл... - - Start &Disc... - Запустить &диск... - - - + Start &BIOS Запустить &BIOS - + &Scan For New Games &Сканировать новые игры - + &Rescan All Games &Повторить сканирование всех игр - + Shut &Down &Выключить - + Shut Down &Without Saving Выключить &без сохранения - + &Reset &Перезагрузить - + &Pause &Пауза - + E&xit &Выход - + &BIOS &BIOS - - Emulation - Эмуляция - - - + &Controllers &Контроллеры - + &Hotkeys &Горячие клавиши - + &Graphics &Графика - - A&chievements - &Достижения - - - + &Post-Processing Settings... &Настройки постобработки... - - Fullscreen - Полноэкранный режим - - - + Resolution Scale Масштаб разрешения - + &GitHub Repository... &Репозиторий на GitHub... - + Support &Forums... &Форум поддержки... - + &Discord Server... &Сервер Discord... - + Check for &Updates... &Проверить наличие обновлений... - + About &Qt... О &Qt... - + &About PCSX2... &О программе PCSX2... - + Fullscreen In Toolbar Полноэкранный режим - + Change Disc... In Toolbar Сменить диск... - + &Audio &Звук - - Game List - Список игр - - - - Interface - Интерфейс + + Global State + Общее состояние - - Add Game Directory... - Добавить папку игры... + + &Screenshot + &Снимок экрана - - &Settings - &Настройки + + Start File + In Toolbar + Запустить файл - - From File... - Из файла... + + &Change Disc + &Сменить диск - - From Device... - Из устройства... + + &Load State + &Загрузить состояние - - From Game List... - Из списка игр... + + Sa&ve State + Сохра&нить состояние - - Remove Disc - Извлечь диск + + Setti&ngs + Настро&йки - - Global State - Общее состояние + + &Switch Renderer + &Переключить визуализатор - - &Screenshot - &Снимок экрана + + &Input Recording + &Запись ввода - - Start File - In Toolbar - Запустить файл + + Start D&isc... + Запустить д&иск... - + Start Disc In Toolbar Запустить диск - + Start BIOS In Toolbar Запустить BIOS - + Shut Down In Toolbar Выключить - + Reset In Toolbar Перезагрузить - + Pause In Toolbar Пауза - + Load State In Toolbar Загрузить - + Save State In Toolbar Сохранить - + + &Emulation + &Эмуляция + + + Controllers In Toolbar Контроллеры - + + Achie&vements + Дости&жения + + + + &Fullscreen + &Полноэкранный + + + + &Interface + &Интерфейс + + + + Add Game &Directory... + Добавить папку &с играми... + + + Settings In Toolbar Настройки - + + &From File... + &Из файла... + + + + From &Device... + Из &устройства... + + + + From &Game List... + Из &списка игр... + + + + &Remove Disc + &Извлечь диск + + + Screenshot In Toolbar Снимок - + &Memory Cards &Карты памяти - + &Network && HDD &Сеть и HDD - + &Folders &Папки - + &Toolbar &Панель инструментов - - Lock Toolbar - Закрепить панель инструментов + + Show Titl&es (Grid View) + Показывать назва&ния (вид сетки) - - &Status Bar - &Строка состояния + + &Open Data Directory... + &Открыть папку данных... - - Verbose Status - Детальный статус + + &Toggle Software Rendering + &Вкл/выкл программную визуализацию - - Game &List - Список &игр + + &Open Debugger + &Открыть отладчик - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Отображать &систему + + &Reload Cheats/Patches + &Перезагрузить читы и патчи - - Game &Properties - Свойства &игры + + E&nable System Console + В&ключить системную консоль - - Game &Grid - Сетка &игр + + Enable &Debug Console + Включить &консоль отладки - - Show Titles (Grid View) - Показывать названия (вид сетки) + + Enable &Log Window + Включить &окно журнала - - Zoom &In (Grid View) - &Увеличить масштаб (вид сетки) + + Enable &Verbose Logging + Включить &подробное журналирование - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Включить &ведение журнала консоли EE - - Zoom &Out (Grid View) - &Уменьшить масштаб (вид сетки) + + Enable &IOP Console Logging + Включить &ведение журнала консоли IOP - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Сохранить &дамп одного кадра GS - - Refresh &Covers (Grid View) - Обновить &обложки (вид сетки) + + &New + This section refers to the Input Recording submenu. + &Новый - - Open Memory Card Directory... - Открыть папку карт памяти... + + &Play + This section refers to the Input Recording submenu. + &Воспроизвести - - Open Data Directory... - Открыть папку данных... + + &Stop + This section refers to the Input Recording submenu. + &Остановить - - Toggle Software Rendering - Вкл/выкл программную визуализацию + + &Controller Logs + &Журнал контроллера - - Open Debugger - Открыть отладчик + + &Input Recording Logs + &Журнал записи ввода - - Reload Cheats/Patches - Перезагрузить читы и патчи + + Enable &CDVD Read Logging + Включить &ведение журнала чтения CDVD - - Enable System Console - Включить системную консоль + + Save CDVD &Block Dump + Сохранять &дамп блока CDVD - - Enable Debug Console - Включить консоль отладки + + &Enable Log Timestamps + &Включить временные метки в журнале - - Enable Log Window - Включить окно журнала + + Start Big Picture &Mode + Запустить режим &Big Picture - - Enable Verbose Logging - Включить подробное журналирование + + &Cover Downloader... + &Загрузчик обложек... - - Enable EE Console Logging - Включить ведение журнала консоли EE + + &Show Advanced Settings + &Показывать дополнительные настройки - - Enable IOP Console Logging - Включить ведение журнала консоли IOP + + &Recording Viewer + &Просмотр записи ввода - - Save Single Frame GS Dump - Сохранить дамп одного кадра GS + + &Video Capture + &Запись видео - - New - This section refers to the Input Recording submenu. - Новая + + &Edit Cheats... + &Редактировать читы... - - Play - This section refers to the Input Recording submenu. - Воспроизвести + + Edit &Patches... + Редактировать &патчи... - - Stop - This section refers to the Input Recording submenu. - Остановить + + &Status Bar + &Строка состояния - - Settings - This section refers to the Input Recording submenu. - Настройки + + + Game &List + Список &игр - - - Input Recording Logs - Журнал записи ввода + + Loc&k Toolbar + Закрепи&ть панель инструментов - - Controller Logs - Журнал контроллеров + + &Verbose Status + &Детальный статус - - Enable &File Logging - Включить &ведение файлового журнала + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Отображать &систему + + + + Game &Properties + Свойства &игры - - Enable CDVD Read Logging - Включить ведение журнала чтения CDVD + + Game &Grid + Сетка &игр - - Save CDVD Block Dump - Сохранять дамп блока CDVD + + Zoom &In (Grid View) + &Увеличить масштаб (вид сетки) - - Enable Log Timestamps - Включить временные метки в журнале + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + &Уменьшить масштаб (вид сетки) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Обновить &обложки (вид сетки) + + + + Open Memory Card Directory... + Открыть папку карт памяти... + + + + Input Recording Logs + Журнал записи ввода + + + + Enable &File Logging + Включить &ведение файлового журнала + + + Start Big Picture Mode Запустить режим Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Загрузчик обложек... - - - - + Show Advanced Settings Показать расширенные настройки - - Recording Viewer - Просмотр записи ввода - - - - + Video Capture Запись видео - - Edit Cheats... - Редактировать читы... - - - - Edit Patches... - Редактировать патчи... - - - + Internal Resolution Внутреннее разрешение - + %1x Scale Масштаб %1x - + Select location to save block dump: Выберите место, чтобы сохранить дамп блоков: - + Do not show again Больше не показывать - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16069,297 +16142,297 @@ Are you sure you want to continue? Вы уверены, что хотите продолжить? - + %1 Files (*.%2) %1 файлов (*.%2) - + WARNING: Memory Card Busy ПРЕДУПРЕЖДЕНИЕ: Карта памяти занята - + Confirm Shutdown Подтверждение отключения - + Are you sure you want to shut down the virtual machine? Вы уверены, что хотите выключить виртуальную машину? - + Save State For Resume Сохранить состояние для дальнейшего запуска - - - - - - + + + + + + Error Ошибка - + You must select a disc to change discs. Необходимо выбрать диск для изменения дисков. - + Properties... Свойства... - + Set Cover Image... Установить обложку... - + Exclude From List Исключить из списка - + Reset Play Time Сбросить время игры - + Check Wiki Page Посмотреть вики-страницу - + Default Boot Загрузка по умолчанию - + Fast Boot Быстрая загрузка - + Full Boot Полная загрузка - + Boot and Debug Загрузка и отладка - + Add Search Directory... Добавить папку поиска... - + Start File Запустить файл - + Start Disc Запустить диск - + Select Disc Image Выберите образ диска - + Updater Error Ошибка при обновлении - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>К сожалению, вы пытаетесь обновить версию PCSX2, которая не является официальным релизом с GitHub. Для предотвращения несовместимостей, автообновление включено только в официальных сборках.</p><p>Чтобы получить официальную сборку, пожалуйста, загрузите ее по ссылке ниже:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Автоматическое обновление не поддерживается на текущей платформе. - + Confirm File Creation Подтвердить создание файла - + The pnach file '%1' does not currently exist. Do you want to create it? Файл pnach '%1' в настоящее время не существует. Хотите ли вы создать его? - + Failed to create '%1'. Не удалось создать '%1'. - + Theme Change - Theme Change + Изменить тему - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Ошибка записи ввода - + Failed to create file: {} Не удалось создать файл: {} - + Input Recording Files (*.p2m2) Файлы записи ввода (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Не удалось открыть файл: {} - + Paused Пауза - + Load State Failed Не удалось загрузить состояние - + Cannot load a save state without a running VM. Невозможно загрузить сохраненное состояние без запущенной виртуальной машины. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? Новый ELF не может быть загружен без перезагрузки виртуальной машины. Хотите ли вы перезагрузить виртуальную машину сейчас? - + Cannot change from game to GS dump without shutting down first. Невозможно перейти из игры в дамп GS без предварительного выключения. - + Failed to get window info from widget Не удалось получить информацию о новом окне от виджета - + Stop Big Picture Mode Остановить режим Big Picture - + Exit Big Picture In Toolbar Выйти из Big Picture - + Game Properties Свойства игры - + Game properties is unavailable for the current game. Свойства игры недоступны для текущей игры. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Не удалось найти устройства CD/DVD-ROM. Пожалуйста, убедитесь, что у вас есть подключенные устройства и достаточные права доступа к ним. - + Select disc drive: Выберите дисковод: - + This save state does not exist. Данного сохраненного состояния не существует. - + Select Cover Image Выберите изображение обложки - + Cover Already Exists Обложка уже существует - + A cover image for this game already exists, do you wish to replace it? Обложка для этой игры уже существует, хотите ее заменить? - + + - Copy Error Ошибка копирования - + Failed to remove existing cover '%1' Не удалось удалить существующую обложку '%1' - + Failed to copy '%1' to '%2' Не удалось скопировать '%1' в '%2' - + Failed to remove '%1' Не удалось убрать '%1' - - + + Confirm Reset Подтвердите сброс - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) Все типы изображений для обложек (*.jpg *.jpeg *.png *.png *.webp) - + You must select a different file to the current cover image. Вы должны выбрать другой файл для текущего изображения обложки. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16368,12 +16441,12 @@ This action cannot be undone. Это действие нельзя отменить. - + Load Resume State Загрузить состояние для продолжения - + A resume save state was found for this game, saved at: %1. @@ -16386,89 +16459,89 @@ Do you want to load this state, or start from a fresh boot? Хотите ли вы загрузить это состояние или начать с новой загрузки? - + Fresh Boot Новая загрузка - + Delete And Boot Удалить и загрузить - + Failed to delete save state file '%1'. Не удалось удалить файл сохранения состояния '%1'. - + Load State File... Загрузить файл состояния... - + Load From File... Загрузить из файла... - - + + Select Save State File Выберите файл сохраненного состояния - + Save States (*.p2s) Сохраненные состояния (*.p2s) - + Delete Save States... Удалить сохраненные состояния... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) Все типы файлов (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Однотрековые raw-образы (*.bin *.iso);;Файлы разметки (*.cue);;Файлы дескрипторов мультимедиа (*.mdf);;Образы CHD MAME (*.chd);;Образы CSO (*.cso);;Образы ZSO (*.zso);;Образы GZ (*.gz);;Исполняемые ELF-файлы (*.elf);;Исполняемые IRX-файлы (*.irx);;Дампы GS (*.gs *.gs.xz *.gs.zst);;Дампы блоков (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) Все типы файлов (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Однотрековые raw-образы (*.bin *.iso);;Файлы разметки (*.cue);;Файлы дескрипторов мультимедиа (*.mdf);;Образы CHD MAME (*.chd);;Образы CSO (*.cso);;Образы ZSO (*.zso);;Образы GZ (*.gz);;Дампы блоков (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> ВНИМАНИЕ: На вашу карту памяти всё ещё производится запись данных. Прекращение работы в данный момент приведёт к <b>НЕОБРАТИМОМУ УНИЧТОЖЕНИЮ КАРТЫ ПАМЯТИ.</b> Настоятельно рекомендуется возобновить игру и дождаться завершения записи на карту памяти.<br><br>Вы все равно хотите завершить работу и <b>БЕЗВОЗВРАТНО УНИЧТОЖИТЬ КАРТУ ПАМЯТИ?</b> - + Save States (*.p2s *.p2s.backup) Сохраненные состояния (*.p2s *.p2s.backup) - + Undo Load State Отменить загрузку состояния - + Resume (%2) Возобновить (%2) - + Load Slot %1 (%2) Загрузить ячейку %1 (%2) - - + + Delete Save States Удалить сохраненные состояния - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16477,42 +16550,42 @@ The saves will not be recoverable. Сохранения нельзя будет восстановить. - + %1 save states deleted. Удалено %1 сохраненных состояний. - + Save To File... Сохранить в файл... - + Empty Пусто - + Save Slot %1 (%2) Ячейка сохранения %1 (%2) - + Confirm Disc Change Подтвердить смену диска - + Do you want to swap discs or boot the new image (via system reset)? Хотите поменять местами диски или загрузить новый образ (через сброс системы)? - + Swap Disc Поменять диск - + Reset Перезагрузить @@ -16535,25 +16608,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Ошибка создания карты памяти - + Could not create the memory card: {} Не удалось создать карту памяти: {} - + Memory Card Read Failed Ошибка чтения карты памяти - + Unable to access memory card: {} @@ -16570,28 +16643,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Карта памяти '{}' была сохранена в память устройства. - + Failed to create memory card. The error was: {} Не удалось создать карту памяти. Ошибка: {} - + Memory Cards reinserted. Карты памяти извлечены и вставлены снова. - + Force ejecting all Memory Cards. Reinserting in 1 second. Принудительно извлекаем все карты памяти. Вставляем снова через 1 секунду. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17383,9 +17461,9 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To - Cannot Go To + Невозможно перейти к @@ -17393,12 +17471,12 @@ This action cannot be reversed, and you will lose any saves on the card. No existing function found. - No existing function found. + Функция не найдена. No next symbol found. - No next symbol found. + Следующий символ не найден. @@ -17582,7 +17660,7 @@ This action cannot be reversed, and you will lose any saves on the card. Address - Address + Адрес @@ -17628,7 +17706,7 @@ This action cannot be reversed, and you will lose any saves on the card. Function - Function + Функция @@ -18223,12 +18301,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Не удалось открыть {}. Встроенные игровые патчи недоступны. - + %n GameDB patches are active. OSD Message @@ -18239,7 +18317,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18250,7 +18328,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18261,7 +18339,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Никаких читов или патчей (широкоэкранных, совместимости или других) не найдено / не включено. @@ -18362,47 +18440,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Ошибка - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Контроллер {} подключён. - + System paused because controller {} was disconnected. Система приостановлена, потому что контроллер {} был отключён. - + Controller {} disconnected. Контроллер {} отключён. - + Cancel Отмена @@ -18535,7 +18613,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -19379,7 +19457,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Change Type To - Change Type To + Сменить тип на @@ -19560,17 +19638,17 @@ Scanning recursively takes more time, but will identify files in subdirectories. Video Device - Video Device + Видеоустройство Audio Device - Audio Device + Аудиоустройство Audio Latency - Audio Latency + Задержка звука @@ -20686,42 +20764,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Gametrak Device - Gametrak Device + Устройство Gametrak Foot Pedal - Foot Pedal + Ножная педаль Left X - Left X + Левый X Left Y - Left Y + Левый Y Left Z - Left Z + Левый Z Right X - Right X + Правый X Right Y - Right Y + Правый Y Right Z - Right Z + Правый Z @@ -20744,14 +20822,14 @@ Scanning recursively takes more time, but will identify files in subdirectories. Limit Z axis [100-4095] - Limit Z axis [100-4095] + Ограничить ось Z [100-4095] - 4095 for original Gametrak controllers - 1790 for standard gamepads - - 4095 for original Gametrak controllers -- 1790 for standard gamepads + - 4095 для оригинальных контроллеров Gametrak +- 1790 для стандартных геймпадов @@ -20766,22 +20844,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. RealPlay Racing - RealPlay Racing + RealPlay Racing RealPlay Sphere - RealPlay Sphere + RealPlay Sphere RealPlay Golf - RealPlay Golf + RealPlay Golf RealPlay Pool - RealPlay Pool + RealPlay Pool @@ -20832,22 +20910,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. A Button - A Button + Кнопка A B Button - B Button + Кнопка B C Button - C Button + Кнопка C D Button - D Button + Кнопка D @@ -20995,22 +21073,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. C - C + C B - B + B D - D + D A - A + A @@ -21031,22 +21109,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. Down - Down + Вниз Left - Left + Влево Up - Up + Вверх Right - Right + Вправо @@ -21062,12 +21140,12 @@ Scanning recursively takes more time, but will identify files in subdirectories. Select - Select + Select Start - Start + Start @@ -21290,7 +21368,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Y Axis - Y Axis + Ось Y @@ -21302,7 +21380,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Z Axis - Z Axis + Ось Z @@ -21464,22 +21542,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. Red - Red + Красный Green - Green + Зеленый Yellow - Yellow + Желтый Blue - Blue + Синий @@ -21537,7 +21615,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. D-Pad - D-Pad + Крестовина @@ -21573,7 +21651,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Start - Start + Start @@ -21621,32 +21699,32 @@ Scanning recursively takes more time, but will identify files in subdirectories. Down - Down + Вниз Left - Left + Влево Up - Up + Вверх Right - Right + Вправо Select - Select + Select Start - Start + Start @@ -21661,22 +21739,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. C - C + C B - B + B D - D + D A - A + A @@ -21748,42 +21826,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Не удалось создать резервную копию старого сохраненного состояния {}. - + Failed to save save state: {}. Не удалось сохранить сохраненное состояние: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Неизвестная игра - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Ошибка - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21800,272 +21878,272 @@ Please consult the FAQs and Guides for further instructions. Для получения более подробной информации обратитесь к FAQ и руководствам. - + Resuming state Возобновление состояния - + Boot and Debug Загрузка и отладка - + Failed to load save state Ошибка при загрузке состояния сохранения - + State saved to slot {}. Состояние сохранено в слот {}. - + Failed to save save state to slot {}. Не удалось сохранить состояние в слот {}. - - + + Loading state Состояние загрузки - + Failed to load state (Memory card is busy) Не удалось загрузить состояние (карта памяти занята) - + There is no save state in slot {}. В слоте {} нет сохранного состояния. - + Failed to load state from slot {} (Memory card is busy) Не удалось загрузить состояние из слота {} (карта памяти занята) - + Loading state from slot {}... Загрузка состояния из слота {}... - + Failed to save state (Memory card is busy) Не удалось сохранить состояние (карта памяти занята) - + Failed to save state to slot {} (Memory card is busy) Не удалось сохранить состояние в слот {} (карта памяти занята) - + Saving state to slot {}... Сохранение состояния в слот {}... - + Frame advancing Покадровый запуск - + Disc removed. Диск извлечен. - + Disc changed to '{}'. Диск изменен на '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Не удалось открыть новый образ диска "{}". Возврат к предыдущему образу. Сообщение об ошибке: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Невозможно вернуться к предыдущему образу диска. Извлечение диска. Сообщение об ошибке: {} - + Cheats have been disabled due to achievements hardcore mode. Читы были отключены из-за режима хардкорных достижений. - + Fast CDVD is enabled, this may break games. Быстрый CDVD включен, это может ломать игры. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Частота/пропуск тактов отличаются от значений по умолчанию, что может привести к сбоям или замедлению игр. - + Upscale multiplier is below native, this will break rendering. Множитель масштабирования меньше родного, это приведёт к нарушению визуализации. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Сглаживание текстур не установлено на Билинейная (PS2). Это может нарушить визуализацию в некоторых играх. - + No Game Running - No Game Running + Игра не запущена - + Trilinear filtering is not set to automatic. This may break rendering in some games. Трилинейная фильтрация не установлена в автоматическом режиме. Это может нарушить визуализацию в некоторых играх. - + Blending Accuracy is below Basic, this may break effects in some games. Точность смешивания ниже базовой, что может нарушить эффект в некоторых играх. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Режим аппаратной загрузки не установлен в точный режим, это может нарушить визуализацию в некоторых играх. - + EE FPU Round Mode is not set to default, this may break some games. Режим округления EE FPU не установлен по умолчанию, это может привести к поломке некоторых игр. - + EE FPU Clamp Mode is not set to default, this may break some games. Режим ограничения EE FPU не установлен по умолчанию, это может привести к поломке некоторых игр. - + VU0 Round Mode is not set to default, this may break some games. Режим округления VU0 не установлен по умолчанию, это может привести к поломке некоторых игр. - + VU1 Round Mode is not set to default, this may break some games. Режим округления VU1 не установлен по умолчанию, это может привести к поломке некоторых игр. - + VU Clamp Mode is not set to default, this may break some games. Режим клеммпинга VU не установлен по умолчанию, это может сломать некоторые игры. - + 128MB RAM is enabled. Compatibility with some games may be affected. Включено 128МБ ОЗУ. Совместимость с некоторыми играми может быть нарушена. - + Game Fixes are not enabled. Compatibility with some games may be affected. Исправления игр не включено. Совместимость с некоторыми играми может быть нарушена. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Патчи совместимости не включены. Совместимость с некоторыми играми может быть нарушена. - + Frame rate for NTSC is not default. This may break some games. Частота кадров для NTSC не является стандартной. Это может привести к поломке некоторых игр. - + Frame rate for PAL is not default. This may break some games. Частота кадров для PAL не является стандартной. Это может привести к поломке некоторых игр. - + EE Recompiler is not enabled, this will significantly reduce performance. Рекомпилятор EE не включен, это значительно снизит производительность. - + VU0 Recompiler is not enabled, this will significantly reduce performance. Рекомпилятор VU0 не включен, это значительно снизит производительность. - + VU1 Recompiler is not enabled, this will significantly reduce performance. Рекомпилятор VU0 не включен, это значительно снизит производительность. - + IOP Recompiler is not enabled, this will significantly reduce performance. Рекомпилятор IOP не включен, это значительно снизит производительность. - + EE Cache is enabled, this will significantly reduce performance. EE Cache включен, это значительно снизит производительность. - + EE Wait Loop Detection is not enabled, this may reduce performance. Обнаружение цикла ожидания EE не включено, это может снизить производительность. - + INTC Spin Detection is not enabled, this may reduce performance. Обнаружение зацикливания INTC не включено, это может снизить производительность. - + Fastmem is not enabled, this will reduce performance. Fastmem выключен, это уменьшит производительность. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 отключен, это может снизить производительность. - + mVU Flag Hack is not enabled, this may reduce performance. Хак флага mVU не включен, это может снизить производительность. - + GPU Palette Conversion is enabled, this may reduce performance. Конвертация ГП палитры включена, это может снизить производительность. - + Texture Preloading is not Full, this may reduce performance. Предварительная загрузка текстур не является полной, что может снизить производительность. - + Estimate texture region is enabled, this may reduce performance. Включена оценка области текстуры, это может снизить производительность. - + Texture dumping is enabled, this will continually dump textures to disk. Дамп текстур включен. Эта опция будет постоянно дампить текстуры на диск. diff --git a/pcsx2-qt/Translations/pcsx2-qt_sr-SP.ts b/pcsx2-qt/Translations/pcsx2-qt_sr-SP.ts index 8e52efad73132..b5920f3e14390 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_sr-SP.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_sr-SP.ts @@ -737,307 +737,318 @@ Leaderboard Position: {1} of {2} Use Global Setting [%1] - + Rounding Mode Rounding Mode - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Clamping Mode - - - + + + Normal (Default) Normal (Default) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Enable Recompiler - + - - - + + + - + - - - - + + + + + Checked Checked - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Cache (Slow) Enable Cache (Slow) - - - - + + + + Unchecked Unchecked - + Interpreter only, provided for diagnostic. Interpreter only, provided for diagnostic. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Fast Memory Access Укључите Брзи Приступ Меморије - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Користи Закрпљивање на крају процеса да би избјегао испирање на сваком приступу меморије. - + Pause On TLB Miss Паузирај на ТЛБ промашају - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Паузира виртуалну машину када се ТЛБ Промашај деси, умјесто да га игнорише и настави. Знајте да ће се ВМ паузирати након краја блока, не на инструкцији која је изазвала изузетак. Упутите се конзоли да би видјели адресу гдје се неважећи приступ десио. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 мод заокруживања - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 мод заокруживања - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 мод стезања - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 мод стезања - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Укључи VU0 Рекомпајлер (Микро мод) - + Enables VU0 Recompiler. Укључи VU0 Рекомпајлер. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Укључи VU1 Рекомпајлер - + Enables VU1 Recompiler. Укључује VU1 Рекомпајлер. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) Хак за mVU ознаку - + Good speedup and high compatibility, may cause graphical errors. Добро побољшање брзине и висока компатибилност, можда ће проузроковати графичке грешке. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Извршава тачно-на-вријеме бинарни превод 32-битнog MIPS-I mашинског кода у x86. - + Enable Game Fixes Укључује Поправке за Игре - + Automatically loads and applies fixes to known problematic games on game start. Аутоматски учитава и укључује поправке за познате проблематичне игре по покретању. - + Enable Compatibility Patches Укључи Закрпе за Компатибилност - + Automatically loads and applies compatibility patches to known problematic games. Аутоматски учитава и укључује поправке за познате проблематичне игре по покретању. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1260,29 +1271,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Frame Rate Control - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Frame Rate: - + NTSC Frame Rate: NTSC Frame Rate: @@ -1297,7 +1308,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1342,17 +1353,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Settings - + Slot: Slot: - + Enable Enable @@ -1873,8 +1889,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automatic Updater @@ -1914,68 +1930,68 @@ Leaderboard Position: {1} of {2} Remind Me Later - - + + Updater Error Updater Error - + <h2>Changes:</h2> <h2>Changes:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - + Savestate Warning Savestate Warning - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - + Downloading %1... Downloading %1... - + No updates are currently available. Please try again later. No updates are currently available. Please try again later. - + Current Version: %1 (%2) Current Version: %1 (%2) - + New Version: %1 (%2) New Version: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... Loading... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2139,19 +2155,19 @@ Leaderboard Position: {1} of {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2241,17 +2257,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2276,7 +2292,7 @@ Leaderboard Position: {1} of {2} Unknown - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3233,29 +3249,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3266,40 +3287,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3312,12 +3336,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3326,12 +3365,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3344,13 +3383,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3358,8 +3397,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3367,26 +3406,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4010,63 +4049,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4137,17 +4176,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4799,53 +4853,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4863,48 +4917,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4925,23 +4979,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4951,72 +5005,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5043,86 +5097,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5496,81 +5550,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5704,342 +5753,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6048,1977 +6097,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8027,2071 +8081,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11081,32 +11140,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11582,11 +11651,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11596,10 +11665,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11666,7 +11735,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11732,29 +11801,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11765,7 +11824,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11775,18 +11834,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11838,7 +11897,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11885,7 +11944,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11901,7 +11960,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11937,7 +11996,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11953,31 +12012,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11989,15 +12048,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12025,8 +12084,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12083,18 +12142,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12193,13 +12252,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12213,16 +12272,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12295,25 +12344,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12324,7 +12373,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12383,25 +12432,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12411,6 +12460,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12428,13 +12487,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12457,8 +12516,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12479,7 +12538,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12531,7 +12590,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12546,7 +12605,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12567,50 +12626,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12626,13 +12685,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12643,13 +12702,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12675,7 +12734,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12686,43 +12745,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12831,19 +12890,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12896,7 +12955,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12906,1214 +12965,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14121,7 +14180,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14338,254 +14397,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15464,594 +15523,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16064,297 +16137,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16363,12 +16436,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16381,89 +16454,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16472,42 +16545,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16530,25 +16603,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16565,28 +16638,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17378,7 +17456,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18218,12 +18296,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18233,7 +18311,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18243,7 +18321,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18253,7 +18331,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18354,47 +18432,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18527,7 +18605,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21740,42 +21818,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21792,272 +21870,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_sv-SE.ts b/pcsx2-qt/Translations/pcsx2-qt_sv-SE.ts index b5b226a4f9493..e9801ab21b2ea 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_sv-SE.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_sv-SE.ts @@ -17,7 +17,7 @@ <html><head/><body><p>PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.</p></body></html> - <html><head/><body><p>PCSX2 är an gratis emulator för PlayStation 2 (PS2) med öppen källkod. Dess syfte är att emulera PS2:s hårdvara genom att använda en kombination av MIPS-processortolkar, omkompilatorer, och en virtuell maskin som hanterar hårdvarutillstånd och PS2-systemminne. Detta tillåter dig att spela PS2-spel på din PC, med många ytterligare funktioner och fördelar.</p></body></html> + <html><head/><body><p>PCSX2 är an fri emulator för PlayStation 2 (PS2) med öppen källkod. Dess syfte är att emulera PS2:s hårdvara genom att använda en kombination av MIPS-processortolkar, omkompilatorer, och en virtuell maskin som hanterar hårdvarutillstånd och PS2-systemminne. Detta tillåter dig att spela PS2-spel på din PC, med många ytterligare funktioner och fördelar.</p></body></html> @@ -27,7 +27,7 @@ Website - Hemsida + Webbsida @@ -37,7 +37,7 @@ GitHub Repository - GitHub Repository + GitHub-förråd @@ -52,7 +52,7 @@ View Document - Visa Dokument + Visa dokument @@ -123,7 +123,7 @@ Please check your username and password, and try again. Inloggningen misslyckades. Fel: %1 -Kontrollera ditt användarnamn och lösenord och försök igen. +Kontrollera ditt användarnamn och lösenord. Försök igen. @@ -133,7 +133,7 @@ Kontrollera ditt användarnamn och lösenord och försök igen. Enable Achievements - Aktivera Prestationer + Aktivera prestationer @@ -156,21 +156,21 @@ Vill du aktivera spårning? However, hardcore mode also prevents the usage of save states, cheats and slowdown functionality. Do you want to enable hardcore mode? - Hardcore-läge är inte aktiverat. Att aktivera hardcore-läge gör det möjligt att sätta rekordtider, poäng, och delta i spelspecifika topplistor. + Hardcore-läget är inte aktivt just nu. Aktivering avhardcore-läget låter dig tävla på tid, poäng och delta i spelspecifika topplistor. -Dock förhindrar hardcore-läget användning av sparade tillstånd, fusk och slow-motion-funktionalitet. +Dock förhindrar även Hardcore-läget att man kan spara tillstånd, använda fusk och funktioner för att spela långsamt. Vill du aktivera hardcore-läget? Reset System - Återställ Systemet + Starta om systemet Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - Hardcore-läge kommer inte aktiveras förrän systemet återställs. Vill du återställa systemet nu? + Hardcore-läget kommer inte att aktiveras förrän systemet har startats om. Vill du starta om systemet nu? @@ -179,7 +179,7 @@ Vill du aktivera hardcore-läget? Enable Achievements - Aktivera Prestationer + Aktivera prestationer @@ -191,13 +191,13 @@ Vill du aktivera hardcore-läget? Test Unofficial Achievements - Testa Inofficiella Prestationer + Testa inofficiella prestationer Enable Sound Effects - Aktivera Ljudeffekter + Aktivera ljudeffekter @@ -235,38 +235,38 @@ Vill du aktivera hardcore-läget? Enable Spectator Mode - Aktivera Åskådarläge + Aktivera åskådarläget Enable Encore Mode - Aktivera Encore-läge + Aktivera Encore-läget Show Achievement Notifications - Visa Prestationsnotifikationer + Visa aviseringar om prestationer Show Leaderboard Notifications - Visa Topplists-notifikationer + Visa aviseringar om topplistor Enable In-Game Overlays - Aktivera Överlägg i Spel + Aktivera överlägg i spelet Username: Login token generated at: Användarnamn: -Inloggningstoken genererad vid: +Inloggningstoken genererades: @@ -285,7 +285,7 @@ Inloggningstoken genererad vid: Unchecked - Avmarkerat + Inte markerat @@ -300,7 +300,7 @@ Inloggningstoken genererad vid: "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - "Utmaningsläge" för prestationer, inklusive spårning för topplistor. Inaktiverar snabbsparning, fusk, och nedsaktningsfunktioner. + "Challenge"-läget för prestationer, inklusive koll på topplistor. Inaktiverar sparat tillstånd, fusk och funktioner för sakta körning. @@ -313,49 +313,49 @@ Inloggningstoken genererad vid: Plays sound effects for events such as achievement unlocks and leaderboard submissions. - Spelar ljudeffekter vid händelser såsom upplåsning av prestationer och inskickning av topplistor. + Spelar upp ljudeffekter för händelser såsom en prestation låses upp och insändningar till topplistor. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - Visar ikoner i det lägre högra hörnet av skärmen när en utmaningsprestation är aktiv. + Visar ikoner i nedre högra hörnet av skärmen när en utmatning/primed prestation är aktiv. When enabled and logged in, PCSX2 will scan for achievements on startup. - När detta är aktiverat och du är inloggad kommer PCSX2 leta efter prestationer när spelet laddas. + När detta är aktiverat och du är inloggad kommer PCSX2 leta efter prestationer när spelet läses in. Displays popup messages on events such as achievement unlocks and game completion. - Visar popup-meddelanden vid händelser som upplåsning av prestationer och när ett spel slutförs. + Visar popupmeddelanden vid händelser såsom en prestation låses upp och spel färdigställs. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - Visar popup-meddelanden när du startar, skickar in eller misslyckas med en leaderboard-utmaning. + Visar popupmeddelanden vid start, insändning eller misslyckanden av en topplisteutmaning. When enabled, each session will behave as if no achievements have been unlocked. - När detta är aktiverat kommer varje session att bete sig som om inga prestationer har låsts upp. + När aktiverat kommer varje session att bete sig som att ingen prestation har låsts upp. Reset System - Återställ systemet + Starta om systemet Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - Hardcore-läget kommer inte att aktiveras förrän systemet har återställts. Vill du återställa systemet nu? + Hardcore-läget kommer inte att aktiveras förrän systemet har startats om. Vill du starta om systemet nu? %n seconds - %n sekunder + %n sekund %n sekunder @@ -364,7 +364,7 @@ Inloggningstoken genererad vid: Username: %1 Login token generated on %2. Användarnamn: %1 -Inloggningstoken genererad %2. +Inloggningstoken genererades %2. @@ -374,7 +374,7 @@ Inloggningstoken genererad %2. Not Logged In. - Ej inloggad. + Inte inloggad. @@ -382,18 +382,18 @@ Inloggningstoken genererad %2. Hardcore mode will be enabled on system reset. - Hardcore-läge kommer aktiveras när systemet återställs. + Hardcore-läget kommer att aktiveras vid systemomstart. {0} cannot be performed while hardcore mode is active. Do you want to disable hardcore mode? {0} will be cancelled if you select No. - {0} kan inte utföras medan hardcore-läget är aktivt. Vill du inaktivera hardcore-läget? {0} kommer att avbrytas om du väljer Nej. + {0} kan inte genomföras under tiden hardcore-läget är aktivt. Vill du inaktivera hardcore-läget? {0} kommer att avbrytas om du väljer Nej. Hardcore mode is now enabled. - Hardcore-läge är nu aktiverat. + Hardcore-läget är nu aktiverat. @@ -426,7 +426,7 @@ Inloggningstoken genererad %2. {} (Unofficial) - {} (Inofficiell) + {} (Inte officiell) @@ -459,27 +459,27 @@ Inloggningstoken genererad %2. Leaderboard attempt started. - Topplists-försök startat. + Topplisteförsök startat. Leaderboard attempt failed. - Topplists-försök misslyckats. + Topplisteförsök misslyckades. Your Time: {}{} - Din Tid: {}{} + Din tid: {}{} Your Score: {}{} - Dina Poäng: {}{} + Dina poäng: {}{} Your Value: {}{} - Ditt Värde: {}{} + Ditt värde: {}{} @@ -489,33 +489,33 @@ Inloggningstoken genererad %2. Achievements Disconnected - Prestationer Frånkopplade + Prestationer frånkopplade An unlock request could not be completed. We will keep retrying to submit this request. - En upplåsningsbegäran kunde inte slutföras. Vi kommer att fortsätta försöka skicka in denna begäran. + En upplåst begäran kunde inte färdigställas. Vi fortsätter att försöka att skicka in denna begäran. Achievements Reconnected - Prestationer Återkopplade + Prestationer återansluten All pending unlock requests have completed. - Alla väntande upplåsningsförfrågningar har slutförts. + Alla väntande upplösningsbegäran har färdigställts. Hardcore mode is now disabled. - Hardcore-läge är nu inaktiverat. + Hardcore-läget är nu inaktiverat. Score: {0} pts (softcore: {1} pts) Unread messages: {2} - Poäng: {0} (softcore: {1}) + Poäng: {0} (softcore: {1} poäng) Olästa meddelanden: {2} @@ -527,7 +527,7 @@ Olästa meddelanden: {2} Active Challenge Achievements - Aktiva Utmaningsprestationer + Aktiva utmaningsprestationer @@ -543,29 +543,29 @@ Olästa meddelanden: {2} Leaderboard Download Failed - Nedladdning av Topplistan Misslyckades + Hämtning av topplistan misslyckades Your Time: {0} (Best: {1}) - Din Tid: {0} (Bästa: {1}) + Din tid: {0} (Bästa: {1}) Your Score: {0} (Best: {1}) - Dina Poäng: {0} (Bästa: {1}) + Dina poäng: {0} (Bästa: {1}) Your Value: {0} (Best: {1}) - Ditt Värde: {0} (Bästa: {1}) + Ditt värde: {0} (Bästa: {1}) {0} Leaderboard Position: {1} of {2} {0} -Topplists-Position: {1} av {2} +Topplisteposition: {1} av {2} @@ -587,7 +587,7 @@ Topplists-Position: {1} av {2} You have unlocked {0} of {1} achievements, earning {2} of {3} possible points. - Du har låst upp {0} av {1} prestationer och därmed tjänat {2} av {3} poäng. + Du har låst upp {0} av {1} prestationer och tjänat {2} av {3} möjliga poäng. @@ -607,7 +607,7 @@ Topplists-Position: {1} av {2} Unsupported - Stöds ej + Stöds inte @@ -617,7 +617,7 @@ Topplists-Position: {1} av {2} Recently Unlocked - Nyligen upplåsta + Senast upplåsta @@ -627,17 +627,17 @@ Topplists-Position: {1} av {2} Almost There - Nästan Där + Nästan där {} points - {} Poäng + {} poäng {} point - {} Poäng + {} poäng @@ -657,17 +657,17 @@ Topplists-Position: {1} av {2} Submitting scores is disabled because hardcore mode is off. Leaderboards are read-only. - Att skicka in poäng är inaktiverat för att hardcore-läge är av. Topplistor är endast läsbara. + Skicka in poäng är inaktiverat därför att hardcore-läget är av. Topplistor är endast läsbara. Show Best - Visa Bästa + Visa bästa Show Nearby - Visa Närliggande + Visa närliggande @@ -697,29 +697,29 @@ Topplists-Position: {1} av {2} Date Submitted - Datum Inskickat + Datum inskickad Downloading leaderboard data, please wait... - Laddar ner topplistedata, var god vänta... + Hämtar data från topplistan. Vänta... Loading... - Laddar... + Läser in... This game has no achievements. - Det här spelet har inga prestationer. + Detta spel har inga prestationer. Failed to read executable from disc. Achievements disabled. - Kunde inte läsa den körbara filen från disken. Prestationer är inaktiverade. + Misslyckades med att läsa körbar fil från skiva. Prestationer inaktiverade. @@ -732,310 +732,321 @@ Topplists-Position: {1} av {2} Använd global inställning [%1] - + Rounding Mode Avrundningsläge - - - + + + Chop/Zero (Default) Chop/Zero (Standard) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändrar hur PCSX2 hanterar avrundning vid emulering av Emotion Engines Flyttalsprocessor (EE FPU). Eftersom de olika FPU:erna i PS2 inte uppfyller internationella standarder, kan vissa spel behöva olika lägen för att utföra matematiska beräkningar korrekt. Standardvärdet hanterar majoriteten av spel; <b>att ändra denna inställning när ett spel inte har ett synligt problem kan orsaka instabilitet.</b> - + Division Rounding Mode - Avrundningsläge för Division + Avrundningsläge för division - + Nearest (Default) Närmast (Standard) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Bestämmer hur resultaten från flyttalsdivision rundas. Vissa spel behöver specifika inställningar; <b>att ändra den här inställningen när ett spel inte har ett synligt problem kan orsaka instabilitet.<b> - + Clamping Mode Clamping-läge - - - + + + Normal (Default) Normal (standard) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändrar hur PCSX2 hanterar att hålla flyttal i ett standard x86-intervall. Standardvärdet hanterar den övervägande majoriteten av alla spel; <b>att ändra den här inställningen när ett spel inte har ett synligt problem kan orsaka instabilitet.</b> - - + + Enable Recompiler Aktivera omkompilerare - + - - - + + + - + - - - - + + + + + Checked Markerat - + + Use Save State Selector + Använd väljare för sparat tillstånd + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Visa en väljare för sparade tillstånd när platser byts istället för att visa en notifieringsbubbla. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - Utför just-in-time binär översättning av 64-bitars MIPS-IV maskinkod till x86. + Genomför just-in-time-binäröversättning av 64-bitars MIPS-IV-maskinkod till x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). - Upptäckt av vänteloop + Upptäck vänteloop - + Moderate speedup for some games, with no known side effects. Måttlig hastighetsökning för vissa spel, utan kända biverkningar. - + Enable Cache (Slow) Aktivera cache (långsam) - - - - + + + + Unchecked - Avmarkerat + Inte markerat - + Interpreter only, provided for diagnostic. - Endast interpreterare, tillhandahålls för diagnostik. + Endast tolk, tillhandahålls för diagnostik. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Upptäckt av INTC Spin - + Huge speedup for some games, with almost no compatibility side effects. Enorm hastighetsökning för vissa spel, med nästan inga kompatibilitetsbiverkningar. - + Enable Fast Memory Access Aktivera snabb minnesåtkomst - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Använder backpatching för att undvika att register spolas vid varje minnesåtkomst. - + Pause On TLB Miss Pausa vid TLB-miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pausar den virtuella maskinen när en TLB-miss inträffar, istället för att ignorera den och fortsätta. Observera att VM:en kommer att pausa efter slutet av blocket, inte på instruktionen som orsakade undantaget. Kolla i konsolen för att se adressen där den ogiltiga åtkomsten inträffade. - + Enable 128MB RAM (Dev Console) Aktivera 128MB RAM (Utvecklar Konsolen) - + Exposes an additional 96MB of memory to the virtual machine. Exponerar ytterligare 96 MB minne till den virtuella maskinen. - + VU0 Rounding Mode VU0 Avrundningsläge - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Ändrar hur PCSX2 hanterar avrundning vid emulering av Emotion Engines Vector Unit 0 (EE VU0). Standardvärdet hanterar den övervägande majoriteten av alla spel; <b>att ändra den här inställningen när ett spel inte har ett synligt problem kommer orsaka instabilitet och/eller kraschar.</b> - + VU1 Rounding Mode VU1 Avrundningsläge - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Ändrar hur PCSX2 hanterar avrundning vid emulering av Emotion Engines Vector Unit 1 (EE VU1). Standardvärdet hanterar den övervägande majoriteten av alla spel; <b>att ändra den här inställningen när ett spel inte har ett synligt problem kommer orsaka instabilitet och/eller kraschar.</b> - + VU0 Clamping Mode Clamping-läge för VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändrar hur PCSX2 hanterar att hålla flyttal i ett standard x86-intervall i Emotion Engines Vector Unit 0 (EE VU 0). Standardvärdet hanterar den övervägande majoriteten av alla spel; <b>att ändra den här inställningen när ett spel inte har ett synligt problem kan orsaka instabilitet.</b> - + VU1 Clamping Mode Clamping-läge för VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Ändrar hur PCSX2 hanterar att hålla flyttal i ett standard x86-intervall i Emotion Engines Vector Unit 1 (EE VU 1). Standardvärdet hanterar den övervägande majoriteten av alla spel; <b>att ändra den här inställningen när ett spel inte har ett synligt problem kan orsaka instabilitet.</b> - + Enable Instant VU1 Aktivera Omedelbar VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Kör VU1 omedelbart. Ger en lagom hastighets förbättring i de flesta spel. Säker för de flesta spel, men några spel kan uppvisa grafiska fel. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Aktivera VU0-omkompilerare (mikroläge) - + Enables VU0 Recompiler. Aktiverar VU0-omkompilerare. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Aktivera VU1-omkompilerare - + Enables VU1 Recompiler. Aktiverar VU1-omkompilerare. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag-hack - + Good speedup and high compatibility, may cause graphical errors. Bra hastighetsökning och hög kompatibilitet, kan orsaka grafiska fel. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Utför just-in-time binär översättning av 32-bitars MIPS-I maskinkod till x86. - + Enable Game Fixes Aktivera spelfixar - + Automatically loads and applies fixes to known problematic games on game start. - Laddar in och tillämpar automatiskt fixar för kända problemspel när de startas. + Läser in och tillämpar automatiskt fixar för kända problemspel när de startas. - + Enable Compatibility Patches Aktivera kompatibilitetspatcher - + Automatically loads and applies compatibility patches to known problematic games. - Laddar in och tillämpar automatiskt kompatibilitetspatcher för kända problemspel när de startas. + Läser in och tillämpar automatiskt kompatibilitetspatcher för kända problematiska spel när de startas. - + Savestate Compression Method Sparlägeskomprimeringsmetod - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Bestämmer algoritmen som användas vid komprimering av sparlägen. - + Savestate Compression Level Sparlägeskomprimeringsnivå - + Medium Medel - + Determines the level to be used when compressing savestates. Bestämmer nivån som ska användas vid komprimering av sparlägen. - + Save State On Shutdown Spara Läge Vid Avstängning - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Sparar automatiskt emulatorns läge när du stänger av eller lämnar. Du kan sedan fortsätta direkt från där du avslutade nästa gång. - + Create Save State Backups - Create Save State Backups + Skapa säkerhetskopior av sparade tillstånd - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. - Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. + Skapar en säkerhetskopia av ett sparat tillstånd om det redan finns när sparfilen skapas. Säkerhetskopian har suffixet .backup. @@ -1144,7 +1155,7 @@ Topplists-Position: {1} av {2} Wait Loop Detection - Upptäckt av vänteloop + Upptäck vänteloop @@ -1165,7 +1176,7 @@ Topplists-Position: {1} av {2} INTC Spin Detection - Upptäckt av INTC Spin + Upptäck INTC Spin @@ -1252,49 +1263,49 @@ Topplists-Position: {1} av {2} Create Save State Backups - Create Save State Backups + Skapa säkerhetskopior av sparade tillstånd - + Save State On Shutdown - Save State On Shutdown + Spara tillstånd vid avstängning - + Frame Rate Control Kontroll av bildhastighet - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. Hz - + PAL Frame Rate: - PAL-bildhastighet: + Bildfrekvens för PAL: - + NTSC Frame Rate: - NTSC-bildhastighet: + Bildfrekvens för NTSC: Savestate Settings - Savestate Settings + Inställningar för sparade tillstånd Compression Level: - Compression Level: + Komprimeringsnivå: - + Compression Method: - Compression Method: + Komprimeringsmetod: @@ -1304,7 +1315,7 @@ Topplists-Position: {1} av {2} Deflate64 - Deflate64 + Deflate64 @@ -1314,7 +1325,7 @@ Topplists-Position: {1} av {2} LZMA2 - LZMA2 + LZMA2 @@ -1334,20 +1345,25 @@ Topplists-Position: {1} av {2} Very High (Slow, Not Recommended) - Väldigt Hög (Långsamt, Rekommenderas Ej) + Väldigt hög (långsam, rekommenderas inte) + + + + Use Save State Selector + Använd väljare för sparade tillstånd - + PINE Settings PINE-inställningar - + Slot: Plats: - + Enable Aktivera @@ -1357,27 +1373,27 @@ Topplists-Position: {1} av {2} Analysis Options - Analysis Options + Analysalternativ Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. - Changes made here won't be saved. Edit these settings from the global or per-game settings dialogs to have your changes take effect for future analysis runs. + Ändringar gjorda här kommer inte sparas. Redigera dessa inställningar från inställningsdialogen för globala eller per-spel för att få dina ändringar att ha effekt för framtida analyskörningar. Close dialog after analysis has started - Close dialog after analysis has started + Stäng dialogen efter att analysen har startat Analyze - Analyze + Analysera Close - Close + Stäng @@ -1385,12 +1401,12 @@ Topplists-Position: {1} av {2} Audio Expansion Settings - Ljudexpansionsinställningar + Inställningar för ljudexpansion Circular Wrap: - Cirkulär inneslutning + Cirkulär omslutning: @@ -1432,17 +1448,17 @@ Topplists-Position: {1} av {2} Center Image: - Centrera bilden: + Centerbilden: Front Separation: - Främre Separation: + Främre separation: Rear Separation: - Bakre ljud separation: + Bakre separation: @@ -1470,24 +1486,24 @@ Topplists-Position: {1} av {2} Configuration - Inställningar + Konfiguration Driver: - Drivrutiner: + Drivrutin: Expansion Settings - Ljudexpansionsinställningar + Inställningar för ljudexpansion Stretch Settings - Tidssträckningsinställningar + Inställningar för tidssträckning @@ -1502,7 +1518,7 @@ Topplists-Position: {1} av {2} Backend: - Baksida: + Bakände: @@ -1518,7 +1534,7 @@ Topplists-Position: {1} av {2} Output Volume: - Volym ut: + Utmatningsvolym: @@ -1529,13 +1545,13 @@ Topplists-Position: {1} av {2} Fast Forward Volume: - Snabbspolningsvolym: + Volym för snabbspolning: Mute All Sound - Stäng av ljud + Tysta allt ljud @@ -1555,7 +1571,7 @@ Topplists-Position: {1} av {2} Output Latency: - Utdatafördröjning: + Utmatningslatens: @@ -1565,7 +1581,7 @@ Topplists-Position: {1} av {2} Output Device: - Utdataenhet: + Utmatningsenhet: @@ -1591,7 +1607,7 @@ Topplists-Position: {1} av {2} Output Latency - Utdatafördröjning + Utmatningslatens @@ -1632,7 +1648,7 @@ Topplists-Position: {1} av {2} N/A Preserve the %1 variable, adapt the latter ms (and/or any possible spaces in between) to your language's ruleset. - Ej tillämpligt + Inte tillgängligt @@ -1644,12 +1660,12 @@ Topplists-Position: {1} av {2} Audio Backend - Backend för ljudutdata + Ljudbakände The audio backend determines how frames produced by the emulator are submitted to the host. Cubeb provides the lowest latency, if you encounter issues, try the SDL backend. The null backend disables all host audio output. - Ljudbackend avgör hur ljudramar som produceras av emulatorn skickas till värden. Cubeb ger den lägsta fördröjningen, men om du stöter på problem, prova SDL-backenden. Null-backend inaktiverar all ljudutmatning från värden. + Ljudbakände avgör hur ljudrutor som produceras av emulatorn skickas till värden. Cubeb ger den lägsta fördröjningen, men om du stöter på problem, prova SDL-backenden. Null-bakände inaktiverar all ljudutmatning från värden. @@ -1667,7 +1683,7 @@ Topplists-Position: {1} av {2} Output Volume - Volym ut + Utmatningsvolym @@ -1687,7 +1703,7 @@ Topplists-Position: {1} av {2} Unchecked - Avmarkerad + Inte markerat @@ -1723,13 +1739,13 @@ Topplists-Position: {1} av {2} Reset Volume - Återställ Volym + Nollställ volym Reset Fast Forward Volume - Återställ snabbspolningsvolym + Nollställ snabbspolningsvolym @@ -1868,20 +1884,20 @@ Topplists-Position: {1} av {2} AutoUpdaterDialog - - + + Automatic Updater - Automatisk Uppdaterare + Automatisk uppdatering Update Available - Uppdatering Tillgänglig + Uppdatering tillgänglig Current Version: - Aktuell Version: + Aktuell version: @@ -1891,17 +1907,17 @@ Topplists-Position: {1} av {2} Download Size: - Nedladdningsstorlek: + Hämtningsstorlek: Download and Install... - Ladda ner och installera... + Hämta och installera... Skip This Update - Hoppa över den här uppdateringen + Hoppa över denna uppdatering @@ -1909,70 +1925,70 @@ Topplists-Position: {1} av {2} Påminn mig senare - - + + Updater Error - Uppdateringsfel + Fel vid uppdatering - + <h2>Changes:</h2> <h2>Ändringar:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Snabbsparningsvarning</h2><p>Att installera den här uppdateringen kommer göra dina snabbsparningar <b>inkompatibla</b>. Se till att du har sparat dina spel till ett minneskort innan du installerar uppdateringen för att inte förlora dina framsteg.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - <h2>Inställningsvarning</h2><p>Att installera den här uppdateringen kommer att återställa din programkonfiguration. Observera att du kommer behöva återkonfigurera dina inställningar efter uppdateringen.</p> + <h2>Varning för inställningar</h2><p>Installation av denna uppdatering kommer att nollställa din programkonfiguration. Observera att du måste konfigurera om dina inställningar efter denna uppdatering.</p> - + Savestate Warning Snabbsparningsvarning - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>VARNING</h1><p style='font-size:12pt;'>Att installera den här uppdateringen kommer att göra dina <b>snabbsparningar inkompatibla</b>. <i>Se till att spara eventuella framsteg till minneskortet innan du går vidare</i>.</p><p>Vill du fortsätta?</p> - + Downloading %1... - Laddar ner %1... + Hämtar %1... - + No updates are currently available. Please try again later. - Inga uppdateringar är tillgängliga för närvarande. Försök igen senare. + Inga uppdateringar finns för närvarande tillgängliga. Försök igen senare. - + Current Version: %1 (%2) Aktuell version: %1 (%2) - + New Version: %1 (%2) Ny version: %1 (%2) - + Download Size: %1 MB - Nedladdningsstorlek: %1 MB + Hämtningsstorlek: %1 MB - + Loading... - Laddar... + Läser in... - + Failed to remove updater exe after update. - Kunde inte ta bort updater exe efter uppdateringen. + Misslyckades med att ta bort uppdateringsfilen efter uppdatering. @@ -2010,7 +2026,7 @@ Topplists-Position: {1} av {2} Refresh List - Uppdatera listan + Uppdatera lista @@ -2025,7 +2041,7 @@ Topplists-Position: {1} av {2} Options and Patches - Alternativ och patcher + Alternativ och patchar @@ -2037,7 +2053,7 @@ Topplists-Position: {1} av {2} Fast Forward Boot - Snabbspola uppstarten + Snabbspolad uppstart @@ -2052,12 +2068,12 @@ Topplists-Position: {1} av {2} Unchecked - Avmarkerat + Inte markerat Removes emulation speed throttle until the game starts to reduce startup time. - Tar bort emuleringshastighetsbegränsningen tills spelet startar för att minska starttiden. + Tar bort begränsningen för emuleringshastighet tills spelet startar för att minska starttiden. @@ -2121,7 +2137,7 @@ Topplists-Position: {1} av {2} Condition - Villkor + Tillstånd @@ -2134,21 +2150,21 @@ Topplists-Position: {1} av {2} Aktivera - - + + Invalid Address - Ogiltig Adress + Ogiltig adress - - + + Invalid Condition - Invalid Condition + Ogiltigt tillstånd - + Invalid Size - Ogilitig Storlek + Ogiltig storlek @@ -2218,7 +2234,7 @@ Topplists-Position: {1} av {2} CONDITION Warning: limited space available. Abbreviate if needed. - VILLKOR + TILLSTÅND @@ -2236,19 +2252,19 @@ Topplists-Position: {1} av {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - Speldisken är placerad på en flyttbar enhet, prestandaproblem såsom jitter och frysning kan uppstå. + Spelskivan är placerad på en flyttbar enhet, prestandaproblem såsom jitter och frysningar kan uppstå. - + Saving CDVD block dump to '{}'. - Sparar block-dump från CDVD till '{}'. + Sparar blockdump från CDVD till '{}'. - + Precaching CDVD - Förcachera CDVD + Förinläs CDVD @@ -2271,19 +2287,19 @@ Topplists-Position: {1} av {2} Okänd - + Precaching is not supported for discs. - Förcachering stöds inte för skivor. + Förinläsning stöds inte för skivor. Precaching {}... - Förcacherar {}... + Förinläser {}... Precaching is not supported for this file format. - Förcachering stöds inte för det här filformatet. + Förinläsning stöds inte för det här filformatet. @@ -2304,7 +2320,7 @@ Topplists-Position: {1} av {2} Virtual Controller Type - Typ av virtuell kontroll + Typ av virtuell handkontroller @@ -2329,12 +2345,12 @@ Topplists-Position: {1} av {2} Clear Mapping - Rensa mappning + Töm mappning Controller Port %1 - Kontrolluttag %1 + Kontrollerport %1 @@ -2345,13 +2361,13 @@ Topplists-Position: {1} av {2} Clear Bindings Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). - Rensa bindningar + Töm bindningar Are you sure you want to clear all bindings for this controller? This action cannot be undone. Binding: A pair of (host button, target button); Mapping: A list of bindings covering an entire controller. These are two different things (which might be the same in your language, please make sure to verify this). - Är du säker på att du vill rensa alla bindningar till den här kontrollen? Denna åtgärd går inte att ångra. + Är du säker på att du vill tömma alla bindningar till den här kontrollen? Denna åtgärd går inte att ångra. @@ -2361,7 +2377,7 @@ Topplists-Position: {1} av {2} No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. - Ingen generisk bindning skapades för enheten '%1'. Kontrollen/källan kanske inte stöder automatisk mappning. + Inga generiska bindningar genererades för enheten '%1'. Handkontrollern/källan kanske inte har stöd för automatisk mappning. @@ -2377,7 +2393,7 @@ Topplists-Position: {1} av {2} Down - Ned + Ner @@ -2404,7 +2420,7 @@ Topplists-Position: {1} av {2} Left Analog Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. - Vänster analog styrspak + Vänster analog @@ -2463,7 +2479,7 @@ Topplists-Position: {1} av {2} Square Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. - Kvadrat + Fyrkant @@ -2481,7 +2497,7 @@ Topplists-Position: {1} av {2} Right Analog Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. - Höger analog styrspak + Höger analog @@ -2561,12 +2577,12 @@ Topplists-Position: {1} av {2} Strum Up - Spela Uppåt + Spela uppåt Strum Down - Spela Nedåt + Spela nedåt @@ -2589,7 +2605,7 @@ Topplists-Position: {1} av {2} D-Pad - Riktningsknappar + D-Pad @@ -2639,7 +2655,7 @@ Topplists-Position: {1} av {2} Start - Starta + Start @@ -2679,12 +2695,12 @@ Topplists-Position: {1} av {2} Dial Left - Vrid Vänster + Vrid vänster Dial Right - Vrid Höger + Vrid höger @@ -2878,7 +2894,7 @@ Topplists-Position: {1} av {2} XInput Source - XInput-inmatningskälla + XInput-källa @@ -2888,7 +2904,7 @@ Topplists-Position: {1} av {2} DInput Source - DInput-inmatningskälla + DInput-källa @@ -2913,18 +2929,18 @@ Topplists-Position: {1} av {2} Use Per-Profile Hotkeys - Använd Snabbtangenter Per Profil + Använd snabbtangenter per profil Controller LED Settings - LED-inställningar För Kontroller + LED-inställningar för handkontroller Enable SDL Raw Input - Aktivera SDL Råinmatning + Aktivera SDL-råinmatning @@ -2964,7 +2980,7 @@ Topplists-Position: {1} av {2} Mouse/Pointer Source - Mus-/Pekarkälla + Källa för mus/pekare @@ -2979,12 +2995,12 @@ Topplists-Position: {1} av {2} Enable Mouse Mapping - Aktivera Musmappning + Aktivera musmappning Detected Devices - Upptäckta Enheter + Identifierade enheter @@ -2992,7 +3008,7 @@ Topplists-Position: {1} av {2} Controller LED Settings - LED-inställningar För Kontroller + LED-inställningar för handkontroller @@ -3007,7 +3023,7 @@ Topplists-Position: {1} av {2} Enable DualSense Player LED - Aktivera DualSense-lampskenan + Aktivera Player LED för DualSense @@ -3035,7 +3051,7 @@ Topplists-Position: {1} av {2} Pressure - Tryck + Tryckkänslighet @@ -3066,7 +3082,7 @@ Topplists-Position: {1} av {2} Deadzone: - Dödzon: + Dödläge: @@ -3086,7 +3102,7 @@ Topplists-Position: {1} av {2} Not Configured - Inte Konfigurerad + Inte konfigurerad @@ -3097,7 +3113,7 @@ Topplists-Position: {1} av {2} Set Frequency - Ange Frekvens + Ställ in frekvens @@ -3120,7 +3136,7 @@ Topplists-Position: {1} av {2} Controller Port %1 Macros - Kontrollport %1 Macron + Kontrollerport %1-makron @@ -3130,7 +3146,7 @@ Topplists-Position: {1} av {2} Macro 1 Not Configured/Buttons configured - Macro %1 + Makro %1 %2 @@ -3139,17 +3155,17 @@ Not Configured/Buttons configured Controller Mapping Settings - Inställningar För Kontrollermappning + Inställningar för handkontrollermappning <html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Inställningar För Kontrollermappning</span><br/>Dessa inställningar finjusterar beteenden vid mappning av fysiska kontroller till de emulerade kontrollerna.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Inställningar för handkontrollermappning</span><br/>Dessa inställningar finjusterar beteenden vid mappning av fysiska kontroller till de emulerade kontrollerna.</p></body></html> Ignore Inversion - Ignorera Invertering + Ignorera invertering @@ -3162,7 +3178,7 @@ Not Configured/Buttons configured Mouse Mapping Settings - Inställningar För Musmappning + Inställningar för musmappning @@ -3186,7 +3202,7 @@ Not Configured/Buttons configured <html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Inställningar För Musmappning</span><br/>Dessa inställningar finjusterar beteendet vid mappning av musen till den emulerade kontrollen.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Inställningar för musmappning</span><br/>Dessa inställningar finjusterar beteendet vid mappning av musen till den emulerade kontrollen.</p></body></html> @@ -3214,12 +3230,12 @@ Not Configured/Buttons configured Editing Profile: - Redigerar Profil: + Redigerar profil: New Profile - Ny Profil + Ny profil @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured - Delete Profile - Radera Profil + Rename Profile + Rename Profile - Mapping Settings - Inställningar För Mappning + Delete Profile + Ta bort profil - + Mapping Settings + Inställningar för mappning + + + + Restore Defaults - Återställ Standardinställningar + Återställ standardvärden - - - + + + Create Input Profile - Skapa Inmatningsprofil + Skapa inmatningsprofil - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3260,72 +3281,90 @@ Enter the name for the new input profile: Ange namnet för den nya inmatningsprofilen: - - - - + + + + + + Error Fel - + + A profile with the name '%1' already exists. En profil med namnet '%1' finns redan. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Vill du kopiera alla bindningar från den aktuella profilen till den nya profilen? Att välja Nej kommer att skapa en helt tom profil. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Vill du kopiera nuvarande snabbtangentsbindningar från globala inställningar till den nya inmatningsprofilen? - + Failed to save the new profile to '%1'. - Kunde inte spara den nya profilen till '%1'. + Misslyckades med att spara nya profilen till '%1'. - + Load Input Profile - Läs In Inmatningsprofil + Läs in inmatningsprofil - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - Är du säker på att du vill ladda inmatningsprofilen '%1'? + Är du säker på att du vill läsa in inmatningsprofilen '%1'? -Alla nuvarande globala bindningar kommer att tas bort, och profilbindningarna kommer laddas. +Alla nuvarande globala bindningar kommer att tas bort, och profilbindningarna kommer läsas in. Du kan inte ångra denna åtgärd. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile - Radera Inmatningsprofil + Ta bort inmatningsprofil - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. - Är du säker på att du vill radera inmatningsprofilen '%1'? + Är du säker på att du vill ta bort inmatningsprofilen '%1'? Du kan inte ångra åtgärden. - + Failed to delete '%1'. - Kunde inte ta bort '%1'. + Misslyckades med att ta bort '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3338,49 +3377,49 @@ Alla delade bindningar och konfiguration kommer att gå förlorade, men dina inm Du kan inte ångra denna åtgärd. - + Global Settings - Globala Inställningar + Globala inställningar - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. - Kontrolluttag %1%2 + Kontrolleruttag %1%2 %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. - Kontrolluttag %1 + Kontrollerport %1 %2 - - + + USB Port %1 %2 USB-port %1 %2 - + Hotkeys Snabbtangenter - + Shared "Shared" refers here to the shared input profile. Delad - + The input profile named '%1' cannot be found. Inmatningsprofilen '%1' kunde inte hittas. @@ -3390,27 +3429,27 @@ Du kan inte ångra denna åtgärd. Download Covers - Ladda Ner Omslag + Hämta omslagsbilder PCSX2 can automatically download covers for games which do not currently have a cover set. We do not host any cover images, the user must provide their own source for images. - PCSX2 kan automatiskt ladda ner omslag för spel som för närvarande inte har ett valt omslag. Vi är inte värd för några omslagsbilder, användaren måste tillhandahålla sin egen källa för bilder. + PCSX2 kan automatiskt hämta ner omslag för spel som för närvarande inte har ett valt omslag. Vi erbjuder ingen tjänst för att hämta omslagsbilder, användaren måste tillhandahålla sin egen källa för bilder. <html><head/><body><p>In the box below, specify the URLs to download covers from, with one template URL per line. The following variables are available:</p><p><span style=" font-style:italic;">${title}:</span> Title of the game.<br/><span style=" font-style:italic;">${filetitle}:</span> Name component of the game's filename.<br/><span style=" font-style:italic;">${serial}:</span> Serial of the game.</p><p><span style=" font-weight:700;">Example:</span> https://www.example-not-a-real-domain.com/covers/${serial}.jpg</p></body></html> - <html><head/><body><p>Ange URL:en att använda för att ladda ned bilder från i rutan nedan, med en URL per rad. De följande variablerna är tillgängliga:</p><p><span style=" font-style:italic;">${title}:</span> Spelets titel.<br/><span style=" font-style:italic;">${filetitle}:</span> Komponent av spelets filnamn.<br/><span style=" font-style:italic;">${serial}:</span> Spelets serienummer.</p><p><span style=" font-weight:700;">Exempel:</span> https://www.exempel-inte-en-riktig-domän.com/covers/${serial}.jpg</p></body></html> + <html><head/><body><p>Ange URLer i rutan nedan att hämta omslagsbilder från, med en mall-URL per rad. Följande variabler finns tillgängliga:</p><p><span style=" font-style:italic;">${title}:</span> Spelets titel.<br/><span style=" font-style:italic;">${filetitle}:</span> Namnkomponenten för spelets filnamn.<br/><span style=" font-style:italic;">${serial}:</span> Serienumret för spelet.</p><p><span style=" font-weight:700;">Exempel:</span> https://www.exampel-inte-en-riktig-domän.se/covers/${serial}.jpg</p></body></html> By default, the downloaded covers will be saved with the game's serial to ensure covers do not break with GameDB changes and that titles with multiple regions do not conflict. If this is not desired, you can check the "Use Title File Names" box below. - Som standard kommer de nedladdade omslagen sparas med spelets serienummer för att se till att omslagen inte går sönder med GameDB-ändringar och att speltitlar med flera regioner inte kommer i konflikt. Om detta inte är önskat kan du bocka i "Använd Speltitel För Filnamn" nedan. + Som standard kommer de hämtade omslagen sparas med spelets serienummer för att se till att omslagen fungerar med GameDB-ändringar och att speltitlar med flera regioner inte kommer i konflikt. Om detta inte är önskat kan du markera i "Använd speltitel för filnamn" nedan. Use Title File Names - Använd Speltitel För Filnamn + Använd titel för filnamn @@ -3431,12 +3470,12 @@ Du kan inte ångra denna åtgärd. Download complete. - Nedladdning slutförd. + Hämtningen är färdig. Stop - Stopp + Stoppa @@ -3479,27 +3518,27 @@ Du kan inte ångra denna åtgärd. Saved Addresses - Sparade Adresser + Sparade adresser Globals - Globals + Globala Locals - Locals + Lokala Parameters - Parameters + Parametrar Breakpoint List Context Menu - Kontextmeny För Brytpunktslista + Kontextmeny för brytpunktslista @@ -3523,7 +3562,7 @@ Du kan inte ångra denna åtgärd. Delete - Radera + Ta bort @@ -3553,33 +3592,33 @@ Du kan inte ångra denna åtgärd. Load from Settings - Ladda från Inställningar + Läs in från inställningar Save to Settings - Spara till Inställningar + Spara till inställningar Go to in Memory View - Gå till Minnesvy + Gå till minnesvy Copy Address - Kopiera Adress + Kopiera adress Copy Text - Kopiera Text + Kopiera text Stack List Context Menu - Kontextmeny För Stacklista + Kontextmeny för stacklista @@ -3587,12 +3626,12 @@ Du kan inte ångra denna åtgärd. Network DNS Hosts Import/Export - Nätverks-DNS-värdar Import/Export + Importera/Exportera nätverks-DNS-värdar Select Hosts - Välj Värdar + Välj värdar @@ -3650,7 +3689,7 @@ Du kan inte ångra denna åtgärd. Intercept DHCP - Avskär DHCP + Fånga DHCP @@ -3683,7 +3722,7 @@ Du kan inte ångra denna åtgärd. Intercept DHCP: - Avskär DHCP: + Fånga DHCP: @@ -3713,7 +3752,7 @@ Du kan inte ångra denna åtgärd. Delete - Radera + Ta bort @@ -3733,7 +3772,7 @@ Du kan inte ångra denna åtgärd. Internal DNS can be selected using the DNS1/2 dropdowns, or by setting them to 192.0.2.1 - Intern DNS kan väljas med hjälp av DNS1/2 rullgardiner, eller genom att ställa in dem till 192.0.2.1 + Intern DNS kan väljas med hjälp av DNS1/2-rullgardiner, eller genom att ställa in dem till 192.0.2.1 @@ -3754,7 +3793,7 @@ Du kan inte ångra denna åtgärd. HDD File: - HDD fil: + Hårddiskfil: @@ -3771,7 +3810,7 @@ Du kan inte ångra denna åtgärd. HDD Size (GiB): - HDD Storlek (GiB): + Hårddiskstorlek (GiB): @@ -3792,12 +3831,12 @@ Du kan inte ångra denna åtgärd. PCAP Bridged - PCAP Bridged + PCAP-bryggat läge PCAP Switched - PCAP Switched + PCAP-switchat läge @@ -3863,7 +3902,7 @@ Du kan inte ångra denna åtgärd. Exported Successfully - Export Lyckades + Exportering lyckades @@ -3884,7 +3923,7 @@ Du kan inte ångra denna åtgärd. Per Game Host list - Per Spel Host-lista + Host-lista per spel @@ -3894,17 +3933,17 @@ Du kan inte ångra denna åtgärd. Delete per game host list? - Radera per spel host-lista? + Ta bort per-spel-värdlista? HDD Image File - HDD-avbildnings fil + Hårddiskavbildsfil HDD (*.raw) - HDD (*.raw) + Hårddisk (*.raw) @@ -3926,19 +3965,19 @@ Du kan inte ångra denna åtgärd. HDD image "%1" already exists. Do you want to overwrite? - HDD-bild "%1" finns redan. + Hårddiskavbilden "%1" finns redan. Vill du skriva över? HDD Creator - HDD Skapare + Hårddiskskapare HDD image created - HDD-avbildning skapad + Hårddiskavbild skapad @@ -3948,7 +3987,7 @@ Vill du skriva över? Override - Undantag + Åsidosätt @@ -3956,114 +3995,114 @@ Vill du skriva över? Clear Existing Symbols - Clear Existing Symbols + Töm befintliga symboler Automatically Select Symbols To Clear - Automatically Select Symbols To Clear + Välj automatiskt symboler att tömma <html><head/><body><p><br/></p></body></html> - <html><head/><body><p><br/></p></body></html> + <html><head/><body><p><br/></p></body></html> Import Symbols - Import Symbols + Importera symboler Import From ELF - Import From ELF + Importera från ELF Demangle Symbols - Demangle Symbols + Demangla symboler Demangle Parameters - Demangle Parameters + Demangla parametrar Import Default .sym File - Import Default .sym File + Importera standardfil (.sym) Import from file (.elf, .sym, etc): - Import from file (.elf, .sym, etc): + Importera från fil (.elf, .sym, etc): - + Add Lägg till - + Remove Ta bort - + Scan For Functions - Skanna Efter Funktioner + Sök efter funktioner - + Scan Mode: - Skan Läge: + Sökläge: - + Scan ELF - Skanna ELF + Sök ELF - + Scan Memory - Skanna Minne + Sök i minne - + Skip Hoppa över - + Custom Address Range: - Custom Address Range: + Anpassat adressomfång: - + Start: - Börja: + Start: - + End: Slut: - + Hash Functions - Hash Functions + Hashfunktioner - + Gray Out Symbols For Overwritten Functions - Gray Out Symbols For Overwritten Functions + Gråa ut symboler för överskrivna funktioner @@ -4078,72 +4117,87 @@ Vill du skriva över? Automatically delete symbols that were generated by any previous analysis runs. - Automatically delete symbols that were generated by any previous analysis runs. + Ta automatiskt bort symboler som genererades av någon tidigare analyskörning. Import symbol tables stored in the game's boot ELF. - Import symbol tables stored in the game's boot ELF. + Import symbol tables stored in the game's boot ELF. Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. - Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. + Import symbols from a .sym file with the same name as the loaded ISO file on disk if such a file exists. Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. - Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. + Demangle C++ symbols during the import process so that the function and global variable names shown in the debugger are more readable. Include parameter lists in demangled function names. - Include parameter lists in demangled function names. + Include parameter lists in demangled function names. Scan Mode - Scan Mode + Sökläge Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. - Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. + Choose where the function scanner looks to find functions. This option can be useful if the application loads additional code at runtime. Custom Address Range - Custom Address Range + Anpassat adressomfång Unchecked - Unchecked + Inte markerat Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). - Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). + Whether to look for functions from the address range specified (Checked), or from the ELF segment containing the entry point (Unchecked). Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. + Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> - <i>No symbol sources in database.</i> + <i>Inga symbolkällor i databasen.</i> - + <i>Start this game to modify the symbol sources list.</i> - <i>Start this game to modify the symbol sources list.</i> + <i>Starta detta spela för att ändra listan med symbolkällor.</i> + + + + Path + Sökväg + + + + Base Address + Basadress - + + Condition + Tillstånd + + + Add Symbol File - Add Symbol File + Lägg till symbolfil @@ -4152,38 +4206,38 @@ Vill du skriva över? Analysis - Analysis + Analys These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. - These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. + These settings control what and when analysis passes should be performed on the program running in the virtual machine so that the resultant information can be shown in the debugger. Automatically Analyze Program: - Automatically Analyze Program: + Analysera automatiskt program: Always - Always + Alltid If Debugger Is Open - If Debugger Is Open + Om debugger är öppen Never - Never + Aldrig Generate Symbols For IRX Exports - Generate Symbols For IRX Exports + Generera symboler för IRX-exporter @@ -4193,7 +4247,7 @@ Vill du skriva över? Draw Dumping - Rita Dumpning + Rita dumpning @@ -4208,7 +4262,7 @@ Vill du skriva över? Save Frame - Spara Ram + Spara ram @@ -4223,12 +4277,12 @@ Vill du skriva över? Start Draw Number: - Starta Rita Nummer: + Starta ritnummer: Draw Dump Count: - Rita Dumpning Antal: + Antal ritdumpar: @@ -4255,188 +4309,188 @@ Vill du skriva över? Trace Logging - Trace Logging + Spårloggning Enable - Enable + Aktivera EE - EE + EE DMA Control - DMA Control + DMA-kontroll SPR / MFIFO - SPR / MFIFO + SPR / MFIFO VIF - VIF + VIF COP1 (FPU) - COP1 (FPU) + COP1 (FPU) MSKPATH3 - MSKPATH3 + MSKPATH3 Cache - Cache + Cache GIF - GIF + GIF R5900 - R5900 + R5900 COP0 - COP0 + COP0 HW Regs (MMIO) - HW Regs (MMIO) + HW Regs (MMIO) Counters - Counters + Räknare SIF - SIF + SIF COP2 (VU0 Macro) - COP2 (VU0 Macro) + COP2 (VU0 Macro) VIFCodes - VIFCodes + VIFCodes Memory - Memory + Minne Unknown MMIO - Unknown MMIO + Okänd MMIO IPU - IPU + IPU BIOS - BIOS + BIOS DMA Registers - DMA Registers + DMA-register GIFTags - GIFTags + GIFTags IOP - IOP + IOP CDVD - CDVD + CDVD R3000A - R3000A + R3000A Memcards - Memcards + Minneskort Pad - Pad + Pad MDEC - MDEC + MDEC COP2 (GPU) - COP2 (GPU) + COP2 (GPU) Analyze Program - Analyze Program + Analysera program Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. - Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. + Choose when the analysis passes should be run: Always (to save time when opening the debugger), If Debugger Is Open (to save memory if you never open the debugger), or Never. Generate Symbols for IRX Export Tables - Generate Symbols for IRX Export Tables + Generate Symbols for IRX Export Tables Checked - Checked + Markerad Hook IRX module loading/unloading and generate symbols for exported functions on the fly. - Hook IRX module loading/unloading and generate symbols for exported functions on the fly. + Hook IRX module loading/unloading and generate symbols for exported functions on the fly. Enable Trace Logging - Enable Trace Logging + Enable Trace Logging @@ -4473,316 +4527,316 @@ Vill du skriva över? Unchecked - Unchecked + Inte markerad Globally enable / disable trace logging. - Globally enable / disable trace logging. + Globally enable / disable trace logging. EE BIOS - EE BIOS + EE BIOS Log SYSCALL and DECI2 activity. - Log SYSCALL and DECI2 activity. + Log SYSCALL and DECI2 activity. EE Memory - EE Memory + EE Memory Log memory access to unknown or unmapped EE memory. - Log memory access to unknown or unmapped EE memory. + Log memory access to unknown or unmapped EE memory. EE R5900 - EE R5900 + EE R5900 Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. - Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. + Log R5900 core instructions (excluding COPs). Requires modifying the PCSX2 source and enabling the interpreter. EE COP0 - EE COP0 + EE COP0 Log COP0 (MMU, CPU status, etc) instructions. - Log COP0 (MMU, CPU status, etc) instructions. + Log COP0 (MMU, CPU status, etc) instructions. EE COP1 - EE COP1 + EE COP1 Log COP1 (FPU) instructions. - Log COP1 (FPU) instructions. + Log COP1 (FPU) instructions. EE COP2 - EE COP2 + EE COP2 Log COP2 (VU0 Macro mode) instructions. - Log COP2 (VU0 Macro mode) instructions. + Log COP2 (VU0 Macro mode) instructions. EE Cache - EE Cache + EE Cache Log EE cache activity. - Log EE cache activity. + Log EE cache activity. EE Known MMIO - EE Known MMIO + EE Known MMIO Log known MMIO accesses. - Log known MMIO accesses. + Log known MMIO accesses. EE Unknown MMIO - EE Unknown MMIO + EE Unknown MMIO Log unknown or unimplemented MMIO accesses. - Log unknown or unimplemented MMIO accesses. + Log unknown or unimplemented MMIO accesses. EE DMA Registers - EE DMA Registers + EE DMA Registers Log DMA-related MMIO accesses. - Log DMA-related MMIO accesses. + Log DMA-related MMIO accesses. EE IPU - EE IPU + EE IPU Log IPU activity; MMIO, decoding operations, DMA status, etc. - Log IPU activity; MMIO, decoding operations, DMA status, etc. + Log IPU activity; MMIO, decoding operations, DMA status, etc. EE GIF Tags - EE GIF Tags + EE GIF Tags Log GIFtag parsing activity. - Log GIFtag parsing activity. + Log GIFtag parsing activity. EE VIF Codes - EE VIF Codes + EE VIF Codes Log VIFcode processing; command, tag style, interrupts. - Log VIFcode processing; command, tag style, interrupts. + Log VIFcode processing; command, tag style, interrupts. EE MSKPATH3 - EE MSKPATH3 + EE MSKPATH3 Log Path3 Masking processing. - Log Path3 Masking processing. + Log Path3 Masking processing. EE MFIFO - EE MFIFO + EE MFIFO Log Scratchpad MFIFO activity. - Log Scratchpad MFIFO activity. + Log Scratchpad MFIFO activity. EE DMA Controller - EE DMA Controller + EE DMA Controller Log DMA transfer activity. Stalls, bus right arbitration, etc. - Log DMA transfer activity. Stalls, bus right arbitration, etc. + Log DMA transfer activity. Stalls, bus right arbitration, etc. EE Counters - EE Counters + EE Counters Log all EE counters events and some counter register activity. - Log all EE counters events and some counter register activity. + Log all EE counters events and some counter register activity. EE VIF - EE VIF + EE VIF Log various VIF and VIFcode processing data. - Log various VIF and VIFcode processing data. + Log various VIF and VIFcode processing data. EE GIF - EE GIF + EE GIF Log various GIF and GIFtag parsing data. - Log various GIF and GIFtag parsing data. + Log various GIF and GIFtag parsing data. IOP BIOS - IOP BIOS + IOP BIOS Log SYSCALL and IRX activity. - Log SYSCALL and IRX activity. + Log SYSCALL and IRX activity. IOP Memcards - IOP Memcards + IOP Memcards Log memory card activity. Reads, Writes, erases, etc. - Log memory card activity. Reads, Writes, erases, etc. + Log memory card activity. Reads, Writes, erases, etc. IOP R3000A - IOP R3000A + IOP R3000A Log R3000A core instructions (excluding COPs). - Log R3000A core instructions (excluding COPs). + Log R3000A core instructions (excluding COPs). IOP COP2 - IOP COP2 + IOP COP2 Log IOP GPU co-processor instructions. - Log IOP GPU co-processor instructions. + Log IOP GPU co-processor instructions. IOP Known MMIO - IOP Known MMIO + IOP känd MMIO IOP Unknown MMIO - IOP Unknown MMIO + IOP okänd MMIO IOP DMA Registers - IOP DMA Registers + IOP DMA-register IOP PAD - IOP PAD + IOP PAD Log PAD activity. - Log PAD activity. + Logga PAD-aktivitet. IOP DMA Controller - IOP DMA Controller + IOP DMA Controller IOP Counters - IOP Counters + IOP Counters Log all IOP counters events and some counter register activity. - Log all IOP counters events and some counter register activity. + Log all IOP counters events and some counter register activity. IOP CDVD - IOP CDVD + IOP CDVD Log CDVD hardware activity. - Log CDVD hardware activity. + Log CDVD hardware activity. IOP MDEC - IOP MDEC + IOP MDEC Log Motion (FMV) Decoder hardware unit activity. - Log Motion (FMV) Decoder hardware unit activity. + Log Motion (FMV) Decoder hardware unit activity. EE SIF - EE SIF + EE SIF Log SIF (EE <-> IOP) activity. - Log SIF (EE <-> IOP) activity. + Logga SIF (EE <-> IOP) aktivitet. @@ -4793,55 +4847,55 @@ Vill du skriva över? PCSX2 Avlusare - + Run Kör - + Step Into Stega in i - + F11 F11 - + Step Over Stega förbi - + F10 F10 - + Step Out Stega ut - + Shift+F11 Skift+F11 - + Always On Top Alltid överst - + Show this window on top Visa detta fönster överst - + Analyze - Analyze + Analysera @@ -4857,50 +4911,50 @@ Vill du skriva över? Demontering - + Copy Address Kopiera adress - + Copy Instruction Hex Kopiera instruktions-hex - + NOP Instruction(s) NOP Instruktion(er) - + Run to Cursor Kör till markören - + Follow Branch Följ grenen - + Go to in Memory View Gå till Minnesvy - + Add Function Lägg till funktion - - + + Rename Function Byt namn på funktion - + Remove Function - Radera funktion + Ta bort funktion @@ -4919,98 +4973,98 @@ Vill du skriva över? Assemblera instruktion - + Function name Funktionsnamn - - + + Rename Function Error - Döp om funktion fel + Byt namn på funktionsfel - + Function name cannot be nothing. Funktionsnamnet får inte vara blankt. - + No function / symbol is currently selected. Ingen funktion / symbol är för närvarande vald. Go To In Disassembly - Go To In Disassembly + Gå in i disassembly - + Cannot Go To - Cannot Go To + Kan inte gå till - + Restore Function Error Återställ funktionsfel - + Unable to stub selected address. Kan inte aktivera stub för vald adress. - + &Copy Instruction Text &Kopiera instruktionstext - + Copy Function Name Kopiera funktionsnamn - + Restore Instruction(s) Återställ instruktion(er) - + Asse&mble new Instruction(s) - Montera ny(a) instruktion(er) + Sätt sam&man nya instruktion(er) - + &Jump to Cursor &Hoppa till markören - + Toggle &Breakpoint Växla &brytpunkt - + &Go to Address &Gå till adressen - + Restore Function Återställ funktion - + Stub (NOP) Function Stub (NOP) funktion - + Show &Opcode Visa &Opcode - + %1 NOT VALID ADDRESS %1 OGILTIG ADRESS @@ -5020,7 +5074,7 @@ Vill du skriva över? <html><head/><body><p><span style=" font-weight:700;">No games in supported formats were found.</span></p><p>Please add a directory with games to begin.</p><p>Game dumps in the following formats will be scanned and listed:</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Inga spel i format som stöds hittades.</span></p><p>Lägg till en katalog med spel för att börja.</p><p>Speldumpar i följande format kommer att skannas och listas:</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Inga spel i format som stöds hittades.</span></p><p>Lägg till en katalog med spel för att börja.</p><p>Speldumpar i följande format kommer att sökas igenom och listas:</p></body></html> @@ -5030,93 +5084,93 @@ Vill du skriva över? Scan For New Games - Skanna för nya spel + Sök efter nya spel EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Plats: %1 | Volym: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Plats: %1 | Volym: %2% | %3 | EE: %4% | GS: %5% - + No Image Ingen bild - + %1x%2 %1x%2 - + FPS: %1 - FPS: %1 + Bilder/s: %1 - + VPS: %1 - VPS: %1 + VPS: %1 - + Speed: %1% - Speed: %1% + Hastighet: %1% - + Game: %1 (%2) Spel: %1 (%2) - + Rich presence inactive or unsupported. - Rik närvaro inaktiv eller utan stöd. + Rich presence inaktivt eller stöds inte. - + Game not loaded or no RetroAchievements available. - Spelet är inte laddat eller så finns inga RetroAchievements tillgängliga. + Inget spel är inläst eller så är inte RetroAchievements tillgängligt. - - - - + + + + Error Fel - + Failed to create HTTPDownloader. - Det gick inte att skapa HTTP-nedladdare. + Det gick inte att skapa HTTPDownloader. - + Downloading %1... - Laddar ner %1... + Hämtar %1... - + Download failed with HTTP status code %1. - Nedladdning misslyckades med HTTP-statuskoden %1. + Hämtning misslyckades med HTTP-statuskoden %1. - + Download failed: Data is empty. - Nedladdning misslyckades: Data är tomt. + Hämtning misslyckades: Data är tomt. - + Failed to write '%1'. Det gick inte att skriva '%1'. @@ -5126,7 +5180,7 @@ Vill du skriva över? Speed Control - Hastighetsreglering + Hastighetskontroll @@ -5175,7 +5229,7 @@ Vill du skriva över? Enable CDVD Precaching - Aktivera förcachering av CDVD + Aktivera förcachning av CDVD @@ -5197,17 +5251,17 @@ Vill du skriva över? Mild Underclock - Mild Underklockning + Mild underklockning Moderate Underclock - Måttlig Underklockning + Måttlig underklockning Maximum Underclock - Maximal Underklockning + Maximal underklockning @@ -5233,7 +5287,7 @@ Vill du skriva över? 100% (Normal Speed) - 100% (Normal Hastighet) + 100% (Normal hastighet) @@ -5253,7 +5307,7 @@ Vill du skriva över? Frame Pacing / Latency Control - Bild Takt / Latens Kontroll + @@ -5264,7 +5318,7 @@ Vill du skriva över? Maximum Frame Latency: - Maximal Bild Fördröjning: + Maximal bildrutelatens: @@ -5282,13 +5336,13 @@ Vill du skriva över? Optimal Frame Pacing - Optimal Bild Fördröjning + Optimal bildfördröjning Vertical Sync (VSync) - Vertikal synkronisering (VSync) + Vertikal sync (VSync) @@ -5298,7 +5352,7 @@ Vill du skriva över? Normal Speed - Normal Hastighet + Normal hastighet @@ -5338,17 +5392,17 @@ Vill du skriva över? Unchecked - Avmarkerad + Inte markerat Fast disc access, less loading times. Check HDLoader compatibility lists for known games that have issues with this. - Snabb skiva åtkomst, färre laddningstider. Kontrollera HDLoader kompatibilitetslistor för kända spel som har problem med detta. + Snabb skivåtkomst, lägre inläsningstider. Kontrollera HDLoader-kompatibilitetslistor för kända spel som har problem med detta. Automatically loads and applies cheats on game start. - Laddar automatiskt och tillämpar fusk vid spelstart. + Läser automatiskt in och tillämpar fusk vid spelstart. @@ -5385,12 +5439,12 @@ Vill du skriva över? EE Cycle Rate - EE Cycle Rate + Frekvens för EE Cycle EE Cycle Skip - EE Cycle Skip + EE Cycle Skip @@ -5401,7 +5455,7 @@ Vill du skriva över? Enable Multithreaded VU1 (MTVU1) - Aktivera Flertrådad VU1 (MTVU1) + Aktivera flertrådad VU1 (MTVU1) @@ -5411,7 +5465,7 @@ Vill du skriva över? Loads the disc image into RAM before starting the virtual machine. Can reduce stutter on systems with hard drives that have long wake times, but significantly increases boot times. - Laddar skivavbilden i RAM-minnet innan den virtuella maskinen startar. Kan minska ryckighet på system med hårddiskar som har långa uppvakningstider, men ökar avsevärt uppstartstiden. + Läser in skivavbilden i RAM-minnet innan den virtuella maskinen startar. Kan minska ryckighet på system med hårddiskar som har långa uppvakningstider, men ökar avsevärt uppstartstiden. @@ -5421,12 +5475,12 @@ Vill du skriva över? Maximum Frame Latency - Maximal Bildrutefördröjning + Maximal bildrutelatens 2 Frames - 2 Bildrutor + 2 bildrutor @@ -5451,18 +5505,18 @@ Vill du skriva över? Use Global Setting [%1%] - Använd Global Inställning [%1%] + Använd global inställning [%1%] %1% [%2 FPS (NTSC) / %3 FPS (PAL)] - %1% [%2 FPS (NTSC) / %3 FPS (PAL)] + %1% [%2 bilder/s (NTSC) / %3 bilder/s (PAL)] Unlimited Every case that uses this particular string seems to refer to speeds: Normal Speed/Fast Forward Speed/Slow Motion Speed. - Obegränsad + Obegränsat @@ -5474,96 +5528,91 @@ Vill du skriva över? Custom [%1% / %2 FPS (NTSC) / %3 FPS (PAL)] - Anpassad [%1% / %2 FPS (NTSC) / %3 FPS (PAL)] + Anpassad [%1% / %2 bilder/s (NTSC) / %3 bilder/s (PAL)] Custom Speed - Anpassad Hastighet + Anpassad hastighet Enter Custom Speed - Ange Anpassad Hastighet + Ange anpassad hastighet ExpressionParser - + Invalid memory access size %d. - Invalid memory access size %d. + Ogiltig storlek för minnesåtkomst %d. - + Invalid memory access (unaligned). - Invalid memory access (unaligned). + Ogiltig minnesåtkomst (ojusterad). - - + + Token too long. - Token too long. + Token för långt. - + Invalid number "%s". - Invalid number "%s". + Ogiltigt nummer "%s". - + Invalid symbol "%s". - Invalid symbol "%s". + Ogiltig symbol "%s". - + Invalid operator at "%s". - Invalid operator at "%s". + Ogiltig operator vid "%s". - + Closing parenthesis without opening one. - Closing parenthesis without opening one. + Stängande parentes utan en öppnande. - + Closing bracket without opening one. - Closing bracket without opening one. + Closing bracket without opening one. - + Parenthesis not closed. - Parenthesis not closed. + Parenthesis not closed. - + Not enough arguments. - Not enough arguments. + Inte tillräckligt antal argument. - + Invalid memsize operator. - Invalid memsize operator. + Invalid memsize operator. - + Division by zero. - Division by zero. + Division med noll. - + Modulo by zero. - Modulo by zero. + Modulo by zero. - + Invalid tertiary operator. - Invalid tertiary operator. - - - - Invalid expression. - Invalid expression. + Invalid tertiary operator. @@ -5586,33 +5635,33 @@ Filen var: %1 Show in Folder Windows action to show a file in Windows Explorer - Visa i Mapp + Visa i mapp Show in Finder macOS action to show a file in Finder - Show in Finder + Visa i Finder Open Containing Directory Opens the system file manager to the directory containing a selected file - Open Containing Directory + Öppna överliggande katalog Failed to open URL - Failed to open URL + Misslyckades med att öppna URL Failed to open URL. The URL was: %1 - Failed to open URL. + Misslyckades med att öppna URL. -The URL was: %1 +URLen var: %1 @@ -5620,7 +5669,7 @@ The URL was: %1 Cache Directory - Cache Directory + Cachekatalog @@ -5647,17 +5696,17 @@ The URL was: %1 Reset - Återställ + Nollställ Used for storing shaders, game list, and achievement data. - Used for storing shaders, game list, and achievement data. + Används för att lagra shaders, spellista och data om prestationer. Cheats Directory - Cheats Directory + Fuskkatalog @@ -5667,17 +5716,17 @@ The URL was: %1 Covers Directory - Mapp för Omslag + Omslagskatalog Used for storing covers in the game grid/Big Picture UIs. - Används för lagring av omslag i spel-gridden/Big Picture UIer. + Används för att lagra omslag i spelrutnätet/Storbildsläge. Snapshots Directory - Mapp för Ögonblicksbilder + Katalog för ögonblicksbilder @@ -5687,353 +5736,353 @@ The URL was: %1 Save States Directory - Mapp för Sparade Tillstånd + Katalog för sparade tillstånd Used for storing save states. - Används för lagring av spartillstånd. + Används för att lagra sparade tillstånd. FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Kunde inte hitta någon CD/DVD-ROM-enhet. Kontrollera att du har en enhet ansluten och tillräcklig behörighet för att komma åt den. - + Use Global Setting - Använd Global Inställning + Använd global inställning - + Automatic binding failed, no devices are available. Automatisk bindning misslyckades, inga enheter är tillgängliga. - + Game title copied to clipboard. Spelets titel kopierades till urklipp. - + Game serial copied to clipboard. Spelets serienummer kopierades till urklipp. - + Game CRC copied to clipboard. Spelets CRC kopierades till urklipp. - + Game type copied to clipboard. Speltypen kopierades till urklipp. - + Game region copied to clipboard. Spelregionen kopierades till urklipp. - + Game compatibility copied to clipboard. Spelkompatibilitet kopierades till urklipp. - + Game path copied to clipboard. Spelets sökväg kopierades till urklipp. - + Controller settings reset to default. - Kontrollinstälnningar återstäldes till standardinställningar. + Kontrollerinställningar återställdes till standardinställningar. - + No input profiles available. Inga inmatningsprofiler tillgängliga. - + Create New... Skapa ny... - + Enter the name of the input profile you wish to create. - Ange namnet på den inmatningsprofil du vill skapa. + Ange namnet på den inmatningsprofil som du vill skapa. - + Are you sure you want to restore the default settings? Any preferences will be lost. - Är du säker på att du vill återställa standardinställningarna? Alla inställningar kommer att försvinna. + Är du säker på att du vill återställa standardinställningarna? Alla inställningar kommer att förloras. - + Settings reset to defaults. Inställningar har återställts till standard. - + No save present in this slot. - Ingen sparfil tillgänglig i denna slot. + Ingen sparning finns på denna plats. - + No save states found. Inga save states hittade. - + Failed to delete save state. - Kunde inte ta bort save state. + Misslyckades med att ta bort sparat tillstånd. - + Failed to copy text to clipboard. Det gick inte att kopiera text till urklipp. - + This game has no achievements. - Det här spelet har inga achievements. + Detta spel har inga prestationer. - + This game has no leaderboards. Detta spel har inga topplistor. - + Reset System - Återställ systemet + Starta om systemet - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore-läget kommer inte att aktiveras förrän systemet har återställts. Vill du återställa systemet nu? - + Launch a game from images scanned from your game directories. - Starta ett spel från filavbildningar skannade från dina spelkataloger. + Starta ett spel från avbilder inlästa från dina spelkataloger. - + Launch a game by selecting a file/disc image. - Starta ett spel genom att välja en fil/skivavbildning. + Starta ett spel genom att välja en fil/skivavbild. - + Start the console without any disc inserted. - Starta konsolen utan någon skiva insatt. + Starta konsolen utan någon skiva inmatad. - + Start a game from a disc in your PC's DVD drive. - Starta ett spel från en skiva i din dator's DVD-enhet. + Starta ett spel från en skiva i din dators dvd-enhet. - + No Binding Ingen bindning - + Setting %s binding %s. Ställer in %s bindning %s. - + Push a controller button or axis now. - Tryck på en styrknapp eller axel nu. + Tryck på en handkontrollerknapp eller -axel nu. - + Timing out in %.0f seconds... - Timar ut om %.0f sekunder... + Tidsgräns går ut om %.0f sekunder... - + Unknown - Okänd + Okänt - + OK - Okej + Ok - + Select Device Välj enhet - + Details - Beskrivning + Detaljer - + Options Inställningar - + Copies the current global settings to this game. Kopierar de aktuella globala inställningarna till detta spel. - + Clears all settings set for this game. Rensar alla inställningar som är satta för detta spel. - + Behaviour Beteende - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Förhindrar skärmsläckaren från att aktivera och värden från att sova medan emuleringen körs. - + Shows the game you are currently playing as part of your profile on Discord. Visar vilket spel du spelar som en del av din profil på Discord. - + Pauses the emulator when a game is started. Pausar emulatorn när ett spel startas. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pausar emulatorn när du minimerar fönstret eller byter till ett annat program, och sätter igång spelet när du växlar tillbaka. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pausar emulatorn när du öppnar snabbmenyn, och sätter igång spelet när du stänger den. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Anger om en fråga kommer att visas för att bekräfta att emulatorn stängs av när snabbtangenten trycks in. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - Sparar automatiskt emulatorns tillstånd när du stänger av eller stänger. Du kan sedan fortsätta direkt från där du slutade nästa gång. + Sparar automatiskt emulatorns läge när du stänger av eller lämnar. Du kan sedan fortsätta direkt från där du avslutade nästa gång. - + Uses a light coloured theme instead of the default dark theme. Använder ett ljusfärgat tema istället för standard mörkt tema. - + Game Display Spelskärm - + Switches between full screen and windowed when the window is double-clicked. Växlar mellan helskärm och fönster när fönstret dubbelklickas. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Döljer muspekaren/markören när emulatorn är i helskärmsläge. - + Determines how large the on-screen messages and monitor are. Bestämmer storlek på meddelanden som visas på skärmen samt skärmstorleken. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Visar meddelanden på skärmen när händelser inträffar som skapelsen/laddningen av save states, skärmdumpar tas etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - Visar den aktuella emuleringshastigheten för systemet i det övre högra hörnet av displayen som en procentenhet. + Visar den aktuella emuleringshastigheten för systemet i det övre högra hörnet av skärmen som ett procenttal. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - Visar antalet videobilder (eller v-syncs) som visas per sekund av systemet i det övre högra hörnet av displayen. + Visar antalet videobildrutor (eller v-syncs) som visas per sekund av systemet i det övre högra hörnet av skärmen. - + Shows the CPU usage based on threads in the top-right corner of the display. - Visar CPU-användning baserat på trådar i det övre högra hörnet av displayen. + Visar CPU-användning baserat på trådar i det övre högra hörnet av skärmen. - + Shows the host's GPU usage in the top-right corner of the display. - Visar värden's GPU-användning i det övre högra hörnet av displayen. + Visar värdens GPU-användning i det övre högra hörnet av skärmen. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - Visar statistik om GS (primitiva, draw calls) i det övre högra hörnet av displayen. + Visar statistik om GS (primitiva, draw calls) i det övre högra hörnet av skärmen. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Visar indikatorer när snabbspolning, paus och andra onormala tillstånd är aktiva. - + Shows the current configuration in the bottom-right corner of the display. - Visar den aktuella konfigurationen i nedre högra hörnet av displayen. + Visar den aktuella konfigurationen i nedre högra hörnet av skärmen. - + Shows the current controller state of the system in the bottom-left corner of the display. - Visar den aktuella styrenhetens tillstånd i det nedre vänstra hörnet av displayen. + Visar den aktuella handkontrollens tillstånd i det nedre vänstra hörnet av skärmen. - + Displays warnings when settings are enabled which may break games. Visar varningar när inställningar är aktiverade som kan förstöra spel. - + Resets configuration to defaults (excluding controller settings). - Återställer konfiguration till standardinställningar (exklusive styrenhetsinställningar). + Återställer konfiguration till standardinställningar (exklusive handkontrollsinställningar). - + Changes the BIOS image used to start future sessions. - Ändrar den BIOS-bild som används för att starta framtida sessioner. + Ändrar den BIOS-avbild som används för att starta framtida sessioner. - + Automatic Automatisk - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Standard - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6042,4052 +6091,4062 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Ändrar automatiskt till fullskärm när spelet startar. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. - Visar spelets upplösning längst upp i högra hörnet av displayen. + Visar spelets upplösning längst upp i högra hörnet av skärmen. - + BIOS Configuration - BIOS Konfiguration + BIOS-konfiguration - + BIOS Selection Val av BIOS - + Options and Patches - Alternativ och Patchar + Alternativ och patchar - + Skips the intro screen, and bypasses region checks. - Hoppar över introskärmen och kringgår regionkontroller. + Hoppar över introskärmen och kringgår regionskontroller. - + Speed Control - Hastighetsreglering + Hastighetskontroll - + Normal Speed - Normal Hastighet + Normal hastighet - + Sets the speed when running without fast forwarding. - Sätter hastigheten när du kör utan snabbspolning. + Ställer in hastigheten när du kör utan snabbspolning. - + Fast Forward Speed - Snabbspolningshastighet + Hastighet för snabbspolning - + Sets the speed when using the fast forward hotkey. - Sätter hastigheten när du använder snabbspolningsknappen. + Ställer in hastigheten när du använder snabbspolningsknappen. - + Slow Motion Speed Slowmotionhastighet - + Sets the speed when using the slow motion hotkey. Sätter hastigheten när du använder slow-motionknappen. - + System Settings Systeminställningar - + EE Cycle Rate EE-cykelfrekvens - + Underclocks or overclocks the emulated Emotion Engine CPU. - Underclocks or overclocks the emulated Emotion Engine CPU. + Underklockar eller överklockar den emulerade Emotion Engine CPU. - + EE Cycle Skipping - EE Cycle Skipping + EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) - Enable MTVU (Multi-Threaded VU1) + Aktivera MTVU (multitrådad VU1) - + Enable Instant VU1 - Aktivera Omedelbar VU1 + Aktivera omedelbar VU1 - + Enable Cheats Aktivera fusk - + Enables loading cheats from pnach files. Aktiverar inläsning av fusk från pnach-filer. - + Enable Host Filesystem - Enable Host Filesystem + Aktivera värdfilsystem - + Enables access to files from the host: namespace in the virtual machine. - Enables access to files from the host: namespace in the virtual machine. + Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD - Aktivera Snabb CDVD + Aktivera snabb CDVD - + Fast disc access, less loading times. Not recommended. - Fast disc access, less loading times. Not recommended. + Snabb åtkomst till skivan, kortare inläsningstider. Rekommenderas inte. - + Frame Pacing/Latency Control - Frame Pacing/Latency Control + Frame Pacing/Latency Control - + Maximum Frame Latency - Maximal Bildrutefördröjning + Maximal bildrutelatens - + Sets the number of frames which can be queued. - Sets the number of frames which can be queued. + Anger antalet bildrutor som kan köläggas. - + Optimal Frame Pacing - Optimal Frame Pacing + Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. - Speeds up emulation so that the guest refresh rate matches the host. + Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderare - + Selects the API used to render the emulated GS. - Selects the API used to render the emulated GS. + Välj det API som ska användas för att rendera emulerad GS. - + Synchronizes frame presentation with host refresh. - Synchronizes frame presentation with host refresh. + Synchronizes frame presentation with host refresh. - + Display Skärm - + Aspect Ratio Bildförhållande - + Selects the aspect ratio to display the game content at. - Selects the aspect ratio to display the game content at. + Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override - FMV Aspect Ratio Override + FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. - Selects the aspect ratio for display when a FMV is detected as playing. + Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing - Deinterlacing + Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - Selects the algorithm used to convert the PS2's interlaced output to progressive for display. + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size - Screenshot Size + Skärmbildsstorlek - + Determines the resolution at which screenshots will be saved. - Determines the resolution at which screenshots will be saved. + Bestämmer upplösningen för vilken skärmbilder ska sparas med. - + Screenshot Format Skärmbildsformat - + Selects the format which will be used to save screenshots. - Selects the format which will be used to save screenshots. + Selects the format which will be used to save screenshots. - + Screenshot Quality - Screenshot Quality + Skärmbildskvalitet - + Selects the quality at which screenshots will be compressed. - Selects the quality at which screenshots will be compressed. + Selects the quality at which screenshots will be compressed. - + Vertical Stretch - Vertical Stretch + Vertical Stretch - + Increases or decreases the virtual picture size vertically. - Increases or decreases the virtual picture size vertically. + Ökar eller minskar den virtuella bildstorleken vertikalt. - + Crop Beskär - + Crops the image, while respecting aspect ratio. - Crops the image, while respecting aspect ratio. + Beskär bilden men respekterar bildförhållandet. - + %dpx - %dpx + %dpx - - Enable Widescreen Patches - Aktivera widescreenpatchar - - - - Enables loading widescreen patches from pnach files. - Aktiverar inläsning av widescreen-patchar från pnach-filer. - - - - Enable No-Interlacing Patches - Aktivera no-interlacing-patchar - - - - Enables loading no-interlacing patches from pnach files. - Aktiverar inläsning av no-interlacing-patchar från pnach-filer. - - - + Bilinear Upscaling - Bilinear uppskalning + Biliinjär uppskalning - + Smooths out the image when upscaling the console to the screen. Jämnar ut bilden vid uppskalning av konsolen till skärmen. - + Integer Upscaling Uppskalning i heltal - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Lägger till utfyllnad till visningsområdet för att säkerställa att förhållandet mellan pixlar på värden till pixlar i konsolen är ett heltal. Kan resultera i en skarpare bild i några 2D-spel. - + Screen Offsets Skärmförskjutningar - + Enables PCRTC Offsets which position the screen as the game requests. Aktiverar PCRTC Offsets som positionerar skärmen som spelet efterfrågar. - + Show Overscan - Visa överscanning + Visa överskanning - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Möjliggör att visa överskanningsområdet i spel som ritar utöver det säkra området på skärmen. - + Anti-Blur - Anti-Oskärpa + Anti-oskärpa - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Möjliggör interna Anti-Blur hack. Mindre exakt mot PS2-rendering, men gör att många spel ser mindre suddiga ut. - + Rendering Rendering - + Internal Resolution - Intern Upplösning + Intern upplösning - + Multiplies the render resolution by the specified factor (upscaling). Multiplicerar renderingsupplösningen med den angivna faktorn (uppskalning). - + Mipmapping Mipmappning - + Bilinear Filtering - Bilinear-filtrering + Bilinear filtrering - + Selects where bilinear filtering is utilized when rendering textures. - Väljer var bilinear filtrering används när texturer renderas. + Väljer var bilinjär filtrering används när texturer renderas. - + Trilinear Filtering Trilinear filtrering - + Selects where trilinear filtering is utilized when rendering textures. Väljer där trilinear filtrering används när texturer renderas. - + Anisotropic Filtering Anisotropisk filtrering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Väljer vilken typ av dithering som gäller när spelet begär det. - + Blending Accuracy Blending-noggrannhet - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Bestämmer graden av noggrannhet vid emulering av blandningslägen som inte stöds av värdens grafik-API. - + Texture Preloading - Förladdning av texturer + Förinläsning av texturer - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - Ladda upp fullständiga texturer till GPU vid användning, snarare än bara de utnyttjade regionerna. Kan förbättra prestanda i vissa spel. + Läser in fullständiga texturer till GPU vid användning, snarare än bara de utnyttjade regionerna. Kan förbättra prestanda i vissa spel. - + Software Rendering Threads Programvarurenderingstrådar - + Number of threads to use in addition to the main GS thread for rasterization. Antal trådar att använda utöver huvudsakliga GS-tråden för rasterisering. - + Auto Flush (Software) - Automatisk spolning (Software) + Automatisk spolning (programvara) - + Force a primitive flush when a framebuffer is also an input texture. Tvinga en primitiv spolning när en framebuffer är också en inmatningstextur. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Möjliggör emulering av GS's kantutjämning (AA1). - + Enables emulation of the GS's texture mipmapping. Möjliggör emulering av GS's textur mipmapping. - + The selected input profile will be used for this game. - The selected input profile will be used for this game. + Den valda inmatningsprofilen som kommer användas för detta spel. - + Shared - Shared + Delad - + Input Profile - Input Profile + Inmatningsprofil - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Visa en väljare för sparade tillstånd vid växling av sparningsplatser istället för att visa en notifieringsbubbla. + + + Shows the current PCSX2 version on the top-right corner of the display. - Shows the current PCSX2 version on the top-right corner of the display. + Visar aktuell version av PCSX2 i övre högra hörnet på skärmen. - + Shows the currently active input recording status. - Shows the currently active input recording status. + Visar aktuell status för inmatningsinspelning. - + Shows the currently active video capture status. - Shows the currently active video capture status. + Visar aktuell status för videofångst. - + Shows a visual history of frame times in the upper-left corner of the display. - Shows a visual history of frame times in the upper-left corner of the display. + Visar en visuell historik över bildrutetider i övre vänstra hörnet av skärmen. - + Shows the current system hardware information on the OSD. - Shows the current system hardware information on the OSD. + Visar aktuell information om systemets hårdvara i OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - Pins emulation threads to CPU cores to potentially improve performance/frame time variance. + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Fixar för hårdvara - + Manual Hardware Fixes Manuella hårdvarufixar - + Disables automatic hardware fixes, allowing you to set fixes manually. Inaktiverar automatiska hårdvarufixar så att du kan ställa in korrigeringar manuellt. - + CPU Sprite Render Size CPU Sprite Render-storlek - + Uses software renderer to draw texture decompression-like sprites. Använder mjukvarurenderare för att rita texturdekompression-liknande sprites. - + CPU Sprite Render Level CPU Sprite Render-nivå - + Determines filter level for CPU sprite render. Bestämmer filternivån för CPU sprite-rendering. - + Software CLUT Render Mjukvarubaserad CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Använder mjukvarurenderare för att rita textur-CLUT-punkter/sprites. - + Skip Draw Start - Skip Draw Start + Skip Draw Start - + Object range to skip drawing. - Object range to skip drawing. + Object range to skip drawing. - + Skip Draw End - Skip Draw End + Skip Draw End - + Auto Flush (Hardware) - Auto Flush (Hardware) + Auto Flush (Hardware) - + CPU Framebuffer Conversion - CPU Framebuffer Conversion + CPU Framebuffer Conversion - + Disable Depth Conversion - Disable Depth Conversion + Disable Depth Conversion - + Disable Safe Features - Disable Safe Features + Inaktivera säkra funktioner - + This option disables multiple safe features. - This option disables multiple safe features. + Detta alternativ inaktiverar flera säkra funktioner. - + This option disables game-specific render fixes. - This option disables game-specific render fixes. + This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. - Uploads GS data when rendering a new frame to reproduce some effects accurately. + Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation - Disable Partial Invalidation + Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. - Removes texture cache entries when there is any intersection, rather than only the intersected areas. + Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing - Read Targets When Closing + Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. - Flushes all targets in the texture cache back to local memory when shutting down. + Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region - Estimate Texture Region + Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion - GPU Palette Conversion + GPU Palette Conversion - + Upscaling Fixes - Upscaling Fixes + Uppskalningsfixar - + Adjusts vertices relative to upscaling. - Adjusts vertices relative to upscaling. + Adjusts vertices relative to upscaling. - + Native Scaling - Native Scaling + Inbyggd skalning - + Attempt to do rescaling at native resolution. - Attempt to do rescaling at native resolution. + Attempt to do rescaling at native resolution. - + Round Sprite - Round Sprite + Round Sprite - + Adjusts sprite coordinates. - Adjusts sprite coordinates. + Justerar sprite-koordinater. - + Bilinear Upscale - Bilinear Upscale + Bilinjär uppskalning - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. - Adjusts target texture offsets. + Adjusts target texture offsets. - + Align Sprite - Align Sprite + Justera sprite - + Fixes issues with upscaling (vertical lines) in some games. - Fixes issues with upscaling (vertical lines) in some games. + Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite - Merge Sprite + Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. - Replaces multiple post-processing sprites with a larger single sprite. + Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws - Unscaled Palette Texture Draws + Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. - Can fix some broken effects which rely on pixel perfect precision. + Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement - Texture Replacement + Texturersättning - + Load Textures - Load Textures + Läs in texturer - + Loads replacement textures where available and user-provided. - Loads replacement textures where available and user-provided. + Läser in ersättningstexturer som finns tillgängliga och tillhandahållna av användaren. - + Asynchronous Texture Loading - Asynchronous Texture Loading + Asynkron inläsning av texturer - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements - Precache Replacements + Förcachning av ersättningar - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. - Preloads all replacement textures to memory. Not necessary with asynchronous loading. + Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory - Replacements Directory + Katalog för ersättningar - + Folders Mappar - + Texture Dumping - Texture Dumping + Texturdumpning - + Dump Textures - Dump Textures + Dumpa texturer - + Dump Mipmaps - Dump Mipmaps + Dumpa mipmaps - + Includes mipmaps when dumping textures. - Includes mipmaps when dumping textures. + Inkluderar mipmaps när texturer dumpas. - + Dump FMV Textures - Dump FMV Textures + Dumpa FMV-texturer - + Allows texture dumping when FMVs are active. You should not enable this. - Allows texture dumping when FMVs are active. You should not enable this. + Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing - Post-Processing + Efterbehandling - + FXAA FXAA - + Enables FXAA post-processing shader. - Enables FXAA post-processing shader. + Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening - Contrast Adaptive Sharpening + Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. - Enables FidelityFX Contrast Adaptive Sharpening. + Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness - CAS Sharpness + CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. - Determines the intensity the sharpening effect in CAS post-processing. + Bestämmer intensiteten för skärpningseffekten i CAS-efterbehandling. - + Filters Filter - + Shade Boost - Shade Boost + Shade Boost - + Enables brightness/contrast/saturation adjustment. - Enables brightness/contrast/saturation adjustment. + Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness - Shade Boost Brightness + Shade Boost Brightness - + Adjusts brightness. 50 is normal. - Adjusts brightness. 50 is normal. + Justerar ljusstyrka. 50 är normal. - + Shade Boost Contrast - Shade Boost Contrast + Shade Boost Contrast - + Adjusts contrast. 50 is normal. - Adjusts contrast. 50 is normal. + Justerar kontrast. 50 är normal. - + Shade Boost Saturation - Shade Boost Saturation + Shade Boost Saturation - + Adjusts saturation. 50 is normal. - Adjusts saturation. 50 is normal. + Justerar färgmättnad. 50 är normal. - + TV Shaders - TV Shaders + TV Shaders - + Advanced Avancerat - + Skip Presenting Duplicate Frames - Skip Presenting Duplicate Frames + Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers - Extended Upscaling Multipliers + Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. - Displays additional, very high upscaling multipliers dependent on GPU capability. + Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode - Hardware Download Mode + Hardware Download Mode - + Changes synchronization behavior for GS downloads. - Changes synchronization behavior for GS downloads. + Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen - Allow Exclusive Fullscreen + Tillåt exklusiv helskärm - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers - Override Texture Barriers + Override Texture Barriers - + Forces texture barrier functionality to the specified value. - Forces texture barrier functionality to the specified value. + Forces texture barrier functionality to the specified value. - + GS Dump Compression - GS Dump Compression + GS Dump Compression - + Sets the compression algorithm for GS dumps. - Sets the compression algorithm for GS dumps. + Ställer in komprimeringsalgoritmen för GS-dumpar. - + Disable Framebuffer Fetch - Disable Framebuffer Fetch + Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. - Prevents the usage of framebuffer fetch when supported by host GPU. + Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache - Disable Shader Cache + Inaktivera Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. - Prevents the loading and saving of shaders/pipelines to disk. + Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand - Disable Vertex Shader Expand + Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. - Falls back to the CPU for expanding sprites/lines. + Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. - Changes when SPU samples are generated relative to system emulation. + Changes when SPU samples are generated relative to system emulation. - + %d ms - %d ms + %d ms - + Settings and Operations - Settings and Operations + Inställningar och åtgärder - + Creates a new memory card file or folder. - Creates a new memory card file or folder. + Skapar en ny minneskortsfil eller mapp. - + Simulates a larger memory card by filtering saves only to the current game. - Simulates a larger memory card by filtering saves only to the current game. + Simulerar ett större minneskort genom att filtrera endast sparningar för det aktuella spelet. - + If not set, this card will be considered unplugged. - If not set, this card will be considered unplugged. + Om denna inte är inställd kommer kortet anses vara frånkopplat. - + The selected memory card image will be used for this slot. - The selected memory card image will be used for this slot. + Den valda minneskortsavbilden kommer att användas för denna plats. - + Enable/Disable the Player LED on DualSense controllers. - Enable/Disable the Player LED on DualSense controllers. + Enable/Disable the Player LED on DualSense controllers. - + Trigger - Trigger + Utlösare - + Toggles the macro when the button is pressed, instead of held. - Toggles the macro when the button is pressed, instead of held. + Växlar makro när knappen trycks in, istället för att hållas. - + Savestate - Savestate + Sparat tillstånd - + Compression Method - Compression Method + Komprimeringsmetod - + Sets the compression algorithm for savestate. - Sets the compression algorithm for savestate. + Ställer in komprimeringsalgoritmen för sparade tillstånd. - + Compression Level - Compression Level + Komprimeringsnivå - + Sets the compression level for savestate. - Sets the compression level for savestate. + Ställer in komprimeringsnivån för sparade tillstånd. - + Version: %s - Version: %s + Version: %s - + {:%H:%M} - {:%H:%M} + {:%H:%M} - + Slot {} - Slot {} + Plats {} - + 1.25x Native (~450px) - 1.25x Native (~450px) + 1.25x inbyggd (~450px) - + 1.5x Native (~540px) - 1.5x Native (~540px) + 1.5x inbyggd (~540px) - + 1.75x Native (~630px) - 1.75x Native (~630px) + 1.75x inbyggd (~630px) - + 2x Native (~720px/HD) - 2x Native (~720px/HD) + 2x inbyggd (~720px/HD) - + 2.5x Native (~900px/HD+) - 2.5x Native (~900px/HD+) + 2.5x inbyggd (~900px/HD+) - + 3x Native (~1080px/FHD) - 3x Native (~1080px/FHD) + 3x inbyggd (~1080px/FHD) - + 3.5x Native (~1260px) - 3.5x Native (~1260px) + 3.5x inbyggd (~1260px) - + 4x Native (~1440px/QHD) - 4x Native (~1440px/QHD) + 4x inbyggd (~1440px/QHD) - + 5x Native (~1800px/QHD+) - 5x Native (~1800px/QHD+) + 5x inbyggd (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) - 6x Native (~2160px/4K UHD) + 6x inbyggd (~2160px/4K UHD) - + 7x Native (~2520px) - 7x Native (~2520px) + 7x inbyggd (~2520px) - + 8x Native (~2880px/5K UHD) - 8x Native (~2880px/5K UHD) + 8x inbyggd (~2880px/5K UHD) - + 9x Native (~3240px) - 9x Native (~3240px) + 9x inbyggd (~3240px) - + 10x Native (~3600px/6K UHD) - 10x Native (~3600px/6K UHD) + 10x inbyggd (~3600px/6K UHD) - + 11x Native (~3960px) - 11x Native (~3960px) + 11x inbyggd (~3960px) - + 12x Native (~4320px/8K UHD) - 12x Native (~4320px/8K UHD) + 12x inbyggd (~4320px/8K UHD) - + WebP WebP - + Aggressive - Aggressive + Aggressiv - + Deflate64 - Deflate64 + Deflate64 - + Zstandard - Zstandard + Zstandard - + LZMA2 - LZMA2 + LZMA2 - + Low (Fast) - Low (Fast) + Låg (snabb) - + Medium (Recommended) - Medium (Recommended) + Medium (rekommenderas) - + Very High (Slow, Not Recommended) - Very High (Slow, Not Recommended) + Mycket hög (långsam, rekommenderas inte) - + Change Selection - Change Selection + Byt markering - + Select - Select + Välj - + Parent Directory - Parent Directory + Överliggande katalog - + Enter Value - Enter Value + Ange värde - + About - About + Om - + Toggle Fullscreen - Toggle Fullscreen + Växla helskärm - + Navigate - Navigate + Navigera - + Load Global State - Load Global State + Läs in globalt tillstånd - + Change Page - Change Page + Byt sida - + Return To Game - Return To Game + Återgå till spelet - + Select State - Select State + Välj tillstånd - + Select Game - Select Game + Välj spel - + Change View - Change View + Byt vy - + Launch Options - Launch Options + Startalternativ - + Create Save State Backups - Create Save State Backups + Skapa säkerhetskopior av sparade tillstånd - + Show PCSX2 Version - Show PCSX2 Version + Visa PCSX2-versionen - + Show Input Recording Status - Show Input Recording Status + Visa status för inmatningsinspelning - + Show Video Capture Status - Show Video Capture Status + Visa status för videofångst - + Show Frame Times - Show Frame Times + Visa bildrutetider - + Show Hardware Info - Show Hardware Info + Visa hårdvaruinformation - + Create Memory Card - Create Memory Card + Skapa minneskort - + Configuration - Configuration + Konfiguration - + Start Game - Start Game + Starta spel - + Launch a game from a file, disc, or starts the console without any disc inserted. - Launch a game from a file, disc, or starts the console without any disc inserted. + Starta ett spel från en fil, skiva eller startar konsolen utan någon skiva inmatad. - + Changes settings for the application. - Changes settings for the application. + Ändrar inställningar för programmet. - + Return to desktop mode, or exit the application. - Return to desktop mode, or exit the application. + Återgå till skrivbordsläge eller avsluta programmet. - + Back - Tillbaka + Bakåt - + Return to the previous menu. - Return to the previous menu. + Återgå till föregående meny. - + Exit PCSX2 - Exit PCSX2 + Avsluta PCSX2 - + Completely exits the application, returning you to your desktop. - Completely exits the application, returning you to your desktop. + Avslutar programmet helt och hållet, återgår till skrivbordet. - + Desktop Mode Skrivbordsläge - + Exits Big Picture mode, returning to the desktop interface. - Exits Big Picture mode, returning to the desktop interface. + Avslutar Storbildsläget och återvänder till skrivbordsgränssnittet. - + Resets all configuration to defaults (including bindings). - Resets all configuration to defaults (including bindings). + Nollställer all konfiguration till standardvärden (inklusive bindningar). - + Replaces these settings with a previously saved input profile. - Replaces these settings with a previously saved input profile. + Ersätter dessa inställningar med en tidigare sparad inmatningsprofil. - + Stores the current settings to an input profile. - Stores the current settings to an input profile. + Lagrar aktuella inställningar till en inmatningsprofil. - + Input Sources - Input Sources + Inmatningskällor - + The SDL input source supports most controllers. - The SDL input source supports most controllers. + The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. - Provides vibration and LED control support over Bluetooth. + Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. - Allow SDL to use raw access to input devices. + Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - The XInput source provides support for XBox 360/XBox One/XBox Series controllers. + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap - Multitap + Multitap - + Enables an additional three controller slots. Not supported in all games. - Enables an additional three controller slots. Not supported in all games. + Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. - Attempts to map the selected port to a chosen controller. + Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. - Determines how much pressure is simulated when macro is active. + Bestämmer hur mycket tryck som simuleras när makrot är aktivt. - + Determines the pressure required to activate the macro. - Determines the pressure required to activate the macro. + Bestämmer trycket som krävs för att aktivera makrot. - + Toggle every %d frames - Toggle every %d frames + Växla var %d bildrutor - + Clears all bindings for this USB controller. - Clears all bindings for this USB controller. + Tömmer alla bindningar för denna USB-kontroller. - + Data Save Locations - Data Save Locations + Platser för datasparning - + Show Advanced Settings - Visa Avancerade Inställningar + Visa avancerade inställningar - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Loggning - + System Console - System Console + Systemkonsoll - + Writes log messages to the system console (console window/standard output). - Writes log messages to the system console (console window/standard output). + Writes log messages to the system console (console window/standard output). - + File Logging - File Logging + Filloggning - + Writes log messages to emulog.txt. - Writes log messages to emulog.txt. + Skriver loggmeddelanden till emulog.txt. - + Verbose Logging - Verbose Logging + Utförlig loggning - + Writes dev log messages to log sinks. - Writes dev log messages to log sinks. + Writes dev log messages to log sinks. - + Log Timestamps - Log Timestamps + Logga tidsstämplar - + Writes timestamps alongside log messages. - Writes timestamps alongside log messages. + Skriver tidsstämplar vid sidan om loggmeddelanden. - + EE Console - EE Console + EE Console - + Writes debug messages from the game's EE code to the console. - Writes debug messages from the game's EE code to the console. + Writes debug messages from the game's EE code to the console. - + IOP Console - IOP Console + IOP Console - + Writes debug messages from the game's IOP code to the console. - Writes debug messages from the game's IOP code to the console. + Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads - CDVD Verbose Reads + CDVD Verbose Reads - + Logs disc reads from games. - Logs disc reads from games. + Loggar skivläsningar från spel. - + Emotion Engine - Emotion Engine + Emotion Engine - + Rounding Mode - Rounding Mode + Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. - Determines how the results of floating-point operations are rounded. Some games need specific settings. + - + Division Rounding Mode - Division Rounding Mode + Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. - Determines how the results of floating-point division is rounded. Some games need specific settings. + Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode - Clamping Mode + Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. - Determines how out-of-range floating point numbers are handled. Some games need specific settings. + Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Aktivera EE omkompilerare - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache - Enable EE Cache + Aktivera EE Cache - + Enables simulation of the EE's cache. Slow. - Enables simulation of the EE's cache. Slow. + Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection - Enable INTC Spin Detection + Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. - Huge speedup for some games, with almost no compatibility side effects. + Mycket bra uppsnabbning för vissa spel med nästan inga kompatibilitetsproblem. - + Enable Wait Loop Detection - Enable Wait Loop Detection + Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. - Moderate speedup for some games, with no known side effects. + Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access - Enable Fast Memory Access + Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. - Uses backpatching to avoid register flushing on every memory access. + Uses backpatching to avoid register flushing on every memory access. - + Vector Units - Vector Units + Vektorenheter - + VU0 Rounding Mode - VU0 Rounding Mode + VU0 Rounding Mode - + VU0 Clamping Mode - VU0 Clamping Mode + VU0 Clamping Mode - + VU1 Rounding Mode - VU1 Rounding Mode + VU1 Rounding Mode - + VU1 Clamping Mode - VU1 Clamping Mode + VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) - Enable VU0 Recompiler (Micro Mode) + Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. - New Vector Unit recompiler with much improved compatibility. Recommended. + New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler - Enable VU1 Recompiler + Enable VU1 Recompiler - + Enable VU Flag Optimization - Enable VU Flag Optimization + Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. - Good speedup and high compatibility, may cause graphical errors. + Good speedup and high compatibility, may cause graphical errors. - + I/O Processor - I/O Processor + I/O-processor - + Enable IOP Recompiler - Enable IOP Recompiler + Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Grafik - + Use Debug Device - Use Debug Device + Använd debugenhet - + Settings Inställningar - + No cheats are available for this game. - Inga fusk är tillgängliga för detta spel. + Det finns inga fusk tillgängliga för detta spel. - + Cheat Codes Fuskkoder - + No patches are available for this game. - Inga patchar finns tillgängliga för detta spel. + Det finns inga patchar tillgängliga för detta spel. - + Game Patches Spelpatchar - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. + Aktivering av spelpatchar kan orsaka oförväntat beteende, krascher, låsningar eller trasiga sparade spel. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Spelfixar - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack - FPU Multiply Hack + FPU Multiply Hack - + For Tales of Destiny. - For Tales of Destiny. + För Tales of Destiny. - + Preload TLB Hack - Preload TLB Hack + Preload TLB Hack - + Needed for some games with complex FMV rendering. - Needed for some games with complex FMV rendering. + Behövs för vissa spel med komplexa FMV-renderingar. - + Skip MPEG Hack - Skip MPEG Hack + Hoppa över MPEG-hack - + Skips videos/FMVs in games to avoid game hanging/freezes. - Skips videos/FMVs in games to avoid game hanging/freezes. + Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack - OPH Flag Hack + OPH Flag Hack - + EE Timing Hack - EE Timing Hack + EE Timing Hack - + Instant DMA Hack - Instant DMA Hack + Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. - For SOCOM 2 HUD and Spy Hunter loading hang. + För inläsningshängning i SOCOM 2 HUD och Spy Hunter. - + VU Add Hack - VU Add Hack + VU Add Hack - + Full VU0 Synchronization - Full VU0 Synchronization + Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. - Forces tight VU0 sync on every COP2 instruction. + Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack - VU Overflow Hack + VU Overflow Hack - + To check for possible float overflows (Superman Returns). - To check for possible float overflows (Superman Returns). + To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). - Use accurate timing for VU XGKicks (slower). + Use accurate timing for VU XGKicks (slower). - + Load State - Ladda Tillstånd + Läs in tillstånd - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. - Disable the support of depth buffers in the texture cache. + Disable the support of depth buffers in the texture cache. - + Disable Render Fixes - Disable Render Fixes + Inaktivera renderingsfixar - + Preload Frame Data - Preload Frame Data + Preload Frame Data - + Texture Inside RT - Texture Inside RT + Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Halv Pixel Offset - + Texture Offset X - Texture Offset X + Texture Offset X - + Texture Offset Y - Texture Offset Y + Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. - Dumps replaceable textures to disk. Will reduce performance. + Dumpar ersättningsbara texturer till disk. Kommer att minska prestandan. - + Applies a shader which replicates the visual effects of different styles of television set. - Applies a shader which replicates the visual effects of different styles of television set. + Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. - Enables API-level validation of graphics commands. + Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs - Use Software Renderer For FMVs + Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. - To avoid TLB miss on Goemon. + To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO - Emulate GIF FIFO + Emulera GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. - Correct but slower. Known to affect the following games: Fifa Street 2. + Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack - DMA Busy Hack + DMA Busy Hack - + Delay VIF1 Stalls - Delay VIF1 Stalls + Delay VIF1 Stalls - + Emulate VIF FIFO - Emulate VIF FIFO + Emulera VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack - VU I Bit Hack + VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync - VU Sync + VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. - Run behind. To avoid sync problems when reading or writing VU registers. + Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync - VU XGKick Sync + VU XGKick Sync - + Force Blit Internal FPS Detection - Force Blit Internal FPS Detection + Force Blit Internal FPS Detection - + Save State - Save State + Spara tillstånd - + Load Resume State - Load Resume State + Läs in återställt tillstånd - + A resume save state created at %s was found. Do you want to load this save and continue? - A resume save state created at %s was found. + Ett återskapat sparat tillstånd som skapades %s har hittats. -Do you want to load this save and continue? +Vill du läsa in detta tillstånd och fortsätta? - + Region: Region: - + Compatibility: Kompatibilitet: - + No Game Selected - No Game Selected + Inget spel valt - + Search Directories - Search Directories + Sökkataloger - + Adds a new directory to the game search list. - Adds a new directory to the game search list. + Lägger till en ny katalog till spelsökningslistan. - + Scanning Subdirectories - Scanning Subdirectories + Söker igenom underkataloger - + Not Scanning Subdirectories - Not Scanning Subdirectories + Söker inte igenom underkataloger - + List Settings - List Settings + Listinställningar - + Sets which view the game list will open to. - Sets which view the game list will open to. + Anger vilken vy som spellistan ska öppnas med. - + Determines which field the game list will be sorted by. - Determines which field the game list will be sorted by. + Fastställer vilka fält som spellistan ska sorteras efter. - + Reverses the game list sort order from the default (usually ascending to descending). - Reverses the game list sort order from the default (usually ascending to descending). + Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings - Cover Settings + Inställningar för omslagsbilder - + Downloads covers from a user-specified URL template. - Downloads covers from a user-specified URL template. + Downloads covers from a user-specified URL template. - + Operations - Operations + Åtgärder - + Selects where anisotropic filtering is utilized when rendering textures. - Selects where anisotropic filtering is utilized when rendering textures. + Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. - Use alternative method to calculate internal FPS to avoid false readings in some games. + Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. - Identifies any new files added to the game directories. + Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. - Forces a full rescan of all games previously identified. + Forces a full rescan of all games previously identified. - + Download Covers - Download Covers + Hämta omslagsbilder - + About PCSX2 Om PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 är en PlayStation 2 (PS2) emulator med fri och öppen källkod. Dess syfte är att emulera PS2's hårdvara med hjälp av en kombination av MIPS-processortolkar, Recompilers och en virtuell maskin som hanterar hårdvarutillstånd och PS2-systemminne. På så sätt kan du spela PS2-spel på din dator med många ytterligare funktioner och fördelar. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. + PlayStation 2 och PS2 är registrerade varumärken som tillhör Sony Interactive Entertainment. Denna applikation är inte alls knuten till Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. - När detta är aktiverat och du är inloggad kommer PCSX2 leta efter prestationer när spelet laddas. + När detta är aktiverat och du är inloggad kommer PCSX2 leta efter prestationer när spelet startas. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. + "Utmaningsläget" för prestationer, inklusive koll på topplistor. Inaktiverar sparat tillstånd, fusk och funktioner för sakta körning. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. - Displays popup messages on events such as achievement unlocks and leaderboard submissions. + Visar popupmeddelanden vid händelser såsom upplåsning av prestationer och inskickning av topplistor. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. - Plays sound effects for events such as achievement unlocks and leaderboard submissions. + Spelar upp ljudeffekter för händelser såsom en prestation låses upp och insändningar till topplistor. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. + Visar ikoner i nedre högra hörnet av skärmen när en utmatning/primed prestation är aktiv. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. + När den är aktiverad kommer PCSX2 att lista prestationer från inofficiella uppsättningar. Dessa prestationer spåras inte av RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. + När detta är aktiverat kommer PCSX2 anta att alla prestationer är låsta och inte skicka några upplåsningsmeddelanden till servern. - + Error Fel - + Pauses the emulator when a controller with bindings is disconnected. - Pauses the emulator when a controller with bindings is disconnected. + Pausar emulatorn när en handkontroller med bindningar kopplas från. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix + Skapar en säkerhetskopia av ett sparat tillstånd om det redan finns när sparfilen skapas. Säkerhetskopian har suffixet .backup - + Enable CDVD Precaching - Enable CDVD Precaching + Aktivera förcachning av CDVD - + Loads the disc image into RAM before starting the virtual machine. - Loads the disc image into RAM before starting the virtual machine. + Läser in skivavbilden till RAM innan den virtuella maskinen startar. - + Vertical Sync (VSync) - Vertical Sync (VSync) + Vertikal sync (VSync) - + Sync to Host Refresh Rate - Sync to Host Refresh Rate + Synkronisera med värdens uppdateringsfrekvens - + Use Host VSync Timing - Use Host VSync Timing + Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. - Disables PCSX2's internal frame timing, and uses host vsync instead. + Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation - Disable Mailbox Presentation + Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control - Audio Control + Ljudkontroll - + Controls the volume of the audio played on the host. - Controls the volume of the audio played on the host. + Styr volymen av ljudet som spelas av värden. - + Fast Forward Volume - Fast Forward Volume + Snabbspolningsvolym - + Controls the volume of the audio played on the host when fast forwarding. - Controls the volume of the audio played on the host when fast forwarding. + Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound - Mute All Sound + Tysta allt ljud - + Prevents the emulator from producing any audible sound. - Prevents the emulator from producing any audible sound. + Förhindrar emulatorn från att producera något ljud. - + Backend Settings - Backend Settings + Inställningar för bakände - + Audio Backend - Audio Backend + Ljudbakände - + The audio backend determines how frames produced by the emulator are submitted to the host. - The audio backend determines how frames produced by the emulator are submitted to the host. + The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion - Expansion + Expansion - + Determines how audio is expanded from stereo to surround for supported games. - Determines how audio is expanded from stereo to surround for supported games. + Bestämmer hur ljudet utökas från stereo till surround för spel som stöds. - + Synchronization - Synchronization + Synkronisering - + Buffer Size - Buffer Size + Buffertstorlek - + Determines the amount of audio buffered before being pulled by the host API. - Determines the amount of audio buffered before being pulled by the host API. + Determines the amount of audio buffered before being pulled by the host API. - + Output Latency - Output Latency + Utmatningslatens - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - Determines how much latency there is between the audio being picked up by the host API, and played through speakers. + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency - Minimal Output Latency + Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. När det är aktiverat, kommer den minsta tillåtna utmatningsfördröjningen att användas för ägande API. - + Thread Pinning - Fästa tråd + Trådfästning - + Force Even Sprite Position Tvinga jämn sprite-position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. - Visar popup-meddelanden när du startar, skickar in eller misslyckas med en leaderboard-utmaning. + Visar popupmeddelanden vid start, insändning eller misslyckanden av en topplisteutmaning. - + When enabled, each session will behave as if no achievements have been unlocked. - När aktiverad, kommer varje session att bete sig som om inga prestationer har låsts upp. + När aktiverat kommer varje session att bete sig som att ingen prestation har låsts upp. - + Account Konto - + Logs out of RetroAchievements. Loggar ut från RetroAchievements. - + Logs in to RetroAchievements. - Loggar in på RetroAchievements. + Loggar in i RetroAchievements. - + Current Game - Nuvarande spel + Aktuellt spel - + An error occurred while deleting empty game settings: {} Ett fel inträffade vid borttagning av tomma spelinställningar: {} - + An error occurred while saving game settings: {} - An error occurred while saving game settings: + Ett fel inträffade vid sparandet av spelinställningar: {} - + {} is not a valid disc image. - {} is not a valid disc image. + {} är inte en giltig skivavbild. - + Automatic mapping completed for {}. - Automatic mapping completed for {}. + Automatic mapping completed for {}. - + Automatic mapping failed for {}. - Automatic mapping failed for {}. + Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. - Game settings initialized with global settings for '{}'. + Spelinställningar initierade med globala inställningar för '{}'. - + Game settings have been cleared for '{}'. - Game settings have been cleared for '{}'. + Spelinställningar har tömts för '{}'. - + {} (Current) - {} (Current) + {} (aktuell) - + {} (Folder) - {} (Folder) + {} (Mapp) - + Failed to load '{}'. - Failed to load '{}'. + Misslyckades med att läsa in: {}. - + Input profile '{}' loaded. - Input profile '{}' loaded. + Inmatningsprofilen '{}' inläst. - + Input profile '{}' saved. - Input profile '{}' saved. + Inmatningsprofilen '{}' sparad. - + Failed to save input profile '{}'. - Failed to save input profile '{}'. + Kunde inte spara inmatningsprofilen '{}'. - + Port {} Controller Type - Port {} Controller Type + Port {} kontrollertyp - + Select Macro {} Binds - Select Macro {} Binds + Select Macro {} Binds - + Port {} Device - Port {} Device + Port {} enhet - + Port {} Subtype - Port {} Subtype + Port {} undertyp - + {} unlabelled patch codes will automatically activate. - {} unlabelled patch codes will automatically activate. + {} patchkoder utan etiketter kommer aktiveras automatiskt. - + {} unlabelled patch codes found but not enabled. - {} unlabelled patch codes found but not enabled. + {} patchkoder utan etiketter hittades men aktiverades inte. - + This Session: {} - This Session: {} + Denna session: {} - + All Time: {} - All Time: {} + All tid: {} - + Save Slot {0} - Save Slot {0} + Sparningsplats {0} - + Saved {} - Saved {} + Sparade {} - + {} does not exist. - {} does not exist. + {} finns inte. - + {} deleted. - {} deleted. + {} togs bort. - + Failed to delete {}. - Failed to delete {}. + Misslyckades med att ta bort {}. - + File: {} - File: {} + Fil: {} - + CRC: {:08X} - CRC: {:08X} + CRC: {:08X} - + Time Played: {} - Time Played: {} + Tid spelat: {} - + Last Played: {} - Last Played: {} + Senast spelat: {} - + Size: {:.2f} MB - Size: {:.2f} MB + Storlek: {:.2f} MB - + Left: Vänster: - + Top: - Top: + Topp: - + Right: Höger: - + Bottom: - Bottom: + Botten: - + Summary - Summary + Sammandrag - + Interface Settings - Interface Settings + Gränssnittsinställningar - + BIOS Settings - BIOS Settings + BIOS-inställningar - + Emulation Settings - Emulation Settings + Emuleringsinställningar - + Graphics Settings - Graphics Settings + Grafikinställningar - + Audio Settings - Audio Settings + Ljudinställningar - + Memory Card Settings - Memory Card Settings + Inställningar för minneskort - + Controller Settings - Controller Settings + Inställningar för handkontroller - + Hotkey Settings - Hotkey Settings + Inställningar för snabbtangenter - + Achievements Settings - Achievements Settings + Inställningar för prestationer - + Folder Settings - Folder Settings + Mappinställningar - + Advanced Settings - Advanced Settings + Avancerade inställningar - + Patches - Patches + Patchar - + Cheats Fusk - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] - 2% [1 FPS (NTSC) / 1 FPS (PAL)] + 2% [1 bilder/s (NTSC) / 1 bilder/s (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] - 10% [6 FPS (NTSC) / 5 FPS (PAL)] + 10% [6 bilder/s (NTSC) / 5 bilder/s (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] - 25% [15 FPS (NTSC) / 12 FPS (PAL)] + 25% [15 bilder/s (NTSC) / 12 bilder/s (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] - 50% [30 FPS (NTSC) / 25 FPS (PAL)] + 50% [30 bilder/s (NTSC) / 25 bilder/s (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] - 75% [45 FPS (NTSC) / 37 FPS (PAL)] + 75% [45 bilder/s (NTSC) / 37 bilder/s (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] - 90% [54 FPS (NTSC) / 45 FPS (PAL)] + 90% [54 bilder/s (NTSC) / 45 bilder/s (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] - 100% [60 FPS (NTSC) / 50 FPS (PAL)] + 100% [60 bilder/s (NTSC) / 50 bilder/s (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] - 110% [66 FPS (NTSC) / 55 FPS (PAL)] + 110% [66 bilder/s (NTSC) / 55 bilder/s (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] - 120% [72 FPS (NTSC) / 60 FPS (PAL)] + 120% [72 bilder/s (NTSC) / 60 bilder/s (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] - 150% [90 FPS (NTSC) / 75 FPS (PAL)] + 150% [90 bilder/s (NTSC) / 75 bilder/s (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] - 175% [105 FPS (NTSC) / 87 FPS (PAL)] + 175% [105 bilder/s (NTSC) / 87 bilder/s (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] - 200% [120 FPS (NTSC) / 100 FPS (PAL)] + 200% [120 bilder/s (NTSC) / 100 bilder/s (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] - 300% [180 FPS (NTSC) / 150 FPS (PAL)] + 300% [180 bilder/s (NTSC) / 150 bilder/s (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] - 400% [240 FPS (NTSC) / 200 FPS (PAL)] + 400% [240 bilder/s (NTSC) / 200 bilder/s (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] - 500% [300 FPS (NTSC) / 250 FPS (PAL)] + 500% [300 bilder/s (NTSC) / 250 bilder/s (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - 1000% [600 FPS (NTSC) / 500 FPS (PAL)] + 1000% [600 bilder/s (NTSC) / 500 bilder/s (PAL)] - + 50% Speed 50% Hastighet - + 60% Speed 60% Hastighet - + 75% Speed 75% Hastighet - + 100% Speed (Default) 100% Hastighet (Standard) - + 130% Speed 130% Hastighet - + 180% Speed 180% Hastighet - + 300% Speed 300% Hastighet - + Normal (Default) - Normal (Default) + Normal (standard) - + Mild Underclock - Mild Underclock + Mild underklockning - + Moderate Underclock - Moderate Underclock + Medel underklockning - + Maximum Underclock - Maximum Underclock + Maximum underklockning - + Disabled Inaktiverad - + 0 Frames (Hard Sync) - 0 Frames (Hard Sync) + 0 bildrutor (Hård synk) - + 1 Frame - 1 Frame + 1 bildruta - + 2 Frames - 2 Frames + 2 bildrutor - + 3 Frames - 3 Frames + 3 bildrutor - + None - None + Ingen - + Extra + Preserve Sign - Extra + Preserve Sign + Extra + Preserve Sign - + Full - Full + Full - + Extra - Extra + Extra - + Automatic (Default) - Automatic (Default) + Automatisk (standard) - + Direct3D 11 - Direct3D 11 + Direct3D 11 - + Direct3D 12 - Direct3D 12 + Direct3D 12 - + OpenGL - OpenGL + OpenGL - + Vulkan Vulkan - + Metal Metal - + Software - Mjukvara + Programvara - + Null - Null + Null - + Off Av - + Bilinear (Smooth) - Bilinjär (Jämn) + Bilinjär (jämn) - + Bilinear (Sharp) - Bilinjär (Skarp) + Bilinjär (skarp) - + Weave (Top Field First, Sawtooth) - Weave (Top Field First, Sawtooth) + Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) - Weave (Bottom Field First, Sawtooth) + Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) - Bob (Top Field First) + Bob (Top Field First) - + Bob (Bottom Field First) - Bob (Bottom Field First) + Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) - Blend (Top Field First, Half FPS) + Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) - Blend (Bottom Field First, Half FPS) + Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) - Adaptive (Top Field First) + Adaptive (Top Field First) - + Adaptive (Bottom Field First) - Adaptive (Bottom Field First) + Adaptive (Bottom Field First) - + Native (PS2) - Native (PS2) + Inbyggd (PS2) - + Nearest - Nearest + Nearest - + Bilinear (Forced) - Bilinear (Forced) + Bilinjär (tvingad) - + Bilinear (PS2) - Bilinear (PS2) + Bilinjär (PS2) - + Bilinear (Forced excluding sprite) - Bilinear (Forced excluding sprite) + Bilinear (Forced excluding sprite) - + Off (None) - Off (None) + Off (Ingen) - + Trilinear (PS2) - Trilinear (PS2) + Trilinear (PS2) - + Trilinear (Forced) - Trilinear (Forced) + Trilinear (Forced) - + Scaled - Scaled + Skalad - + Unscaled (Default) - Unscaled (Default) + Oskalad (standard) - + Minimum - Minimum + Minimal - + Basic (Recommended) - Basic (Recommended) + Grundläggande (Rekommenderas) - + Medium - Medium + Medel - + High - High + Hög - + Full (Slow) - Full (Slow) + Fullständig (långsam) - + Maximum (Very Slow) - Maximum (Very Slow) + Maximal (mycket långsam) - + Off (Default) Av (Standard) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial - Partial + Delvis - + Full (Hash Cache) - Full (Hash Cache) + Full (Hash Cache) - + Force Disabled - Force Disabled + Tvinga inaktiverad - + Force Enabled - Force Enabled + Tvinga aktiverad - + Accurate (Recommended) - Accurate (Recommended) + Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) - Disable Readbacks (Synchronize GS Thread) + Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) - Unsynchronized (Non-Deterministic) + Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) - Disabled (Ignore Transfers) + Disabled (Ignore Transfers) - + Screen Resolution - Screen Resolution + Skärmupplösning - + Internal Resolution (Aspect Uncorrected) - Internal Resolution (Aspect Uncorrected) + Internal Resolution (Aspect Uncorrected) - + Load/Save State - Load/Save State + Läs in/Spara tillstånd - + WARNING: Memory Card Busy - WARNING: Memory Card Busy + VARNING: Minneskortet är upptaget - + Cannot show details for games which were not scanned in the game list. - Cannot show details for games which were not scanned in the game list. + Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection - Pause On Controller Disconnection + Pausa när handkontroller kopplas från - + + Use Save State Selector + Använd väljare för sparade tillstånd + + + SDL DualSense Player LED - SDL DualSense Player LED + SDL DualSense Player LED - + Press To Toggle - Press To Toggle + Tryck för att växla - + Deadzone - Deadzone + Dödläge - + Full Boot - Full Boot + Fullständig uppstart - + Achievement Notifications - Achievement Notifications + Aviseringar om prestationer - + Leaderboard Notifications - Leaderboard Notifications + Aviseringar för topplistor - + Enable In-Game Overlays - Enable In-Game Overlays + Aktivera överlägg i spelet - + Encore Mode - Encore Mode + Encore-läge - + Spectator Mode - Spectator Mode + Åskådarläge - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. - Removes the current card from the slot. + Tar bort det aktuella kortet från platsen. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames - {} Frames + {} bildrutor - + No Deinterlacing - No Deinterlacing + No Deinterlacing - + Force 32bit - Force 32bit + Tvinga 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Inaktiverad) - + 1 (64 Max Width) - 1 (64 Max Width) + 1 (64 Max bredd) - + 2 (128 Max Width) - 2 (128 Max Width) + 2 (128 Max bredd) - + 3 (192 Max Width) - 3 (192 Max Width) + 3 (192 Max bredd) - + 4 (256 Max Width) - 4 (256 Max Width) + 4 (256 Max bredd) - + 5 (320 Max Width) - 5 (320 Max Width) + 5 (320 Max bredd) - + 6 (384 Max Width) - 6 (384 Max Width) + 6 (384 Max bredd) - + 7 (448 Max Width) - 7 (448 Max Width) + 7 (448 Max bredd) - + 8 (512 Max Width) - 8 (512 Max Width) + 8 (512 Max bredd) - + 9 (576 Max Width) - 9 (576 Max Width) + 9 (576 Max bredd) - + 10 (640 Max Width) - 10 (640 Max Width) + 10 (640 Max bredd) - + Sprites Only - Sprites Only + Sprites Only - + Sprites/Triangles - Sprites/Triangles + Sprites/Triangles - + Blended Sprites/Triangles - Blended Sprites/Triangles + Blended Sprites/Triangles - + 1 (Normal) - 1 (Normal) + 1 (Normal) - + 2 (Aggressive) - 2 (Aggressive) + 2 (Aggressiv) - + Inside Target - Inside Target + Inside Target - + Merge Targets - Merge Targets + Merge Targets - + Normal (Vertex) - Normal (Vertex) + Normal (Vertex) - + Special (Texture) - Special (Texture) + Special (Textur) - + Special (Texture - Aggressive) - Special (Texture - Aggressive) + Special (Texture - Aggressive) - + Align To Native - Align To Native + Justera till inbyggd - + Half - Half + Halv - + Force Bilinear - Tvinga Bilinjär + Tvinga bilinjär - + Force Nearest - Force Nearest + Force Nearest - + Disabled (Default) Inaktiverad (Standard) - + Enabled (Sprites Only) - Enabled (Sprites Only) + Enabled (Sprites Only) - + Enabled (All Primitives) - Enabled (All Primitives) + Enabled (All Primitives) - + None (Default) Ingen (Standard) - + Sharpen Only (Internal Resolution) - Sharpen Only (Internal Resolution) + Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) - Sharpen and Resize (Display Resolution) + Sharpen and Resize (Display Resolution) - + Scanline Filter - Scanline Filter + Scanline Filter - + Diagonal Filter - Diagonal Filter + Diagonalt filter - + Triangular Filter - Triangular Filter + Triangular Filter - + Wave Filter - Wave Filter + Vågfilter - + Lottes CRT - Lottes CRT + Lottes CRT - + 4xRGSS - 4xRGSS + 4xRGSS - + NxAGSS - NxAGSS + NxAGSS - + Uncompressed Okomprimerad - + LZMA (xz) LZMA (xz) - + Zstandard (zst) - Zstandard (zst) + Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negativ - + Positive Positiv - + Chop/Zero (Default) - Chop/Zero (Default) + Chop/Zero (Default) - + Game Grid - Game Grid + Spelrutnät - + Game List - Game List + Spellista - + Game List Settings - Game List Settings + Inställningar för spellista - + Type Typ - + Serial - Serial + Serienummer - + Title - Title + Titel - + File Title - File Title + Filtitel - + CRC - CRC + CRC - + Time Played - Time Played + Tid spelat - + Last Played - Last Played + Senast spelat - + Size Storlek - + Select Disc Image - Select Disc Image + Välj skivavbild - + Select Disc Drive - Select Disc Drive + Välj skivenhet - + Start File - Start File + Starta fil - + Start BIOS - Start BIOS + Starta BIOS - + Start Disc - Start Disc + Starta skiva - + Exit Avsluta - + Set Input Binding - Set Input Binding + Ställ in inmatningsbindning - + Region Region - + Compatibility Rating - Compatibility Rating + Kompatibilitetsbetyg - + Path - Path + Sökväg - + Disc Path - Disc Path + Skivsökväg - + Select Disc Path - Select Disc Path + Välj skivsökväg - + Copy Settings - Copy Settings + Kopiera inställningar - + Clear Settings - Clear Settings + Töm inställningar - + Inhibit Screensaver - Inhibit Screensaver + Förhindra skärmsläckare - + Enable Discord Presence - Enable Discord Presence + Aktivera Discord-närvaro - + Pause On Start - Pause On Start + Pausa vid start - + Pause On Focus Loss - Pause On Focus Loss + Pausa när fokus tappas - + Pause On Menu - Pause On Menu + Paus för meny - + Confirm Shutdown - Confirm Shutdown + Bekräfta avstängning - + Save State On Shutdown - Save State On Shutdown + Spara tillstånd vid avstängning - + Use Light Theme - Use Light Theme + Använd ljust tema - + Start Fullscreen - Start Fullscreen + Starta helskärm - + Double-Click Toggles Fullscreen - Double-Click Toggles Fullscreen + Dubbelklick växlar helskärm - + Hide Cursor In Fullscreen - Hide Cursor In Fullscreen + Dölj markör i helskärm - + OSD Scale - OSD Scale + OSD-skala - + Show Messages - Show Messages + Visa meddelanden - + Show Speed - Show Speed + Visa hastighet - + Show FPS - Show FPS + Visa bilder/s - + Show CPU Usage - Show CPU Usage + Visa CPU-användning - + Show GPU Usage - Show GPU Usage + Visa GPU-användning - + Show Resolution - Show Resolution + Visa upplösning - + Show GS Statistics - Show GS Statistics + Visa GS-statistik - + Show Status Indicators - Show Status Indicators + Visa statusindikatorer - + Show Settings - Show Settings + Visa inställningar - + Show Inputs - Show Inputs + Visa inmatningar - + Warn About Unsafe Settings - Warn About Unsafe Settings + Varna för osäkra inställningar - + Reset Settings - Reset Settings + Nollställ inställningar - + Change Search Directory - Change Search Directory + Byt sökkatalog - + Fast Boot - Fast Boot + Snabb uppstart - + Output Volume - Output Volume + Utmatningsvolym - + Memory Card Directory - Memory Card Directory + Katalog för minneskort - + Folder Memory Card Filter - Folder Memory Card Filter + Filtrera minneskortsmapp - + Create Skapa - + Cancel Avbryt - + Load Profile - Load Profile + Läs in profil - + Save Profile - Save Profile + Spara profil - + Enable SDL Input Source - Enable SDL Input Source + Aktivera SDL-inmatningskälla - + SDL DualShock 4 / DualSense Enhanced Mode - SDL DualShock 4 / DualSense Enhanced Mode + SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input - SDL Raw Input + SDL Raw Input - + Enable XInput Input Source - Enable XInput Input Source + Enable XInput Input Source - + Enable Console Port 1 Multitap - Enable Console Port 1 Multitap + Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap - Enable Console Port 2 Multitap + Enable Console Port 2 Multitap - + Controller Port {}{} - Controller Port {}{} + Kontrollerport {}{} - + Controller Port {} - Controller Port {} + Kontrollerport {} - + Controller Type - Controller Type + Handkontrollertyp - + Automatic Mapping - Automatic Mapping + Automatisk mappning - + Controller Port {}{} Macros - Controller Port {}{} Macros + Controller Port {}{} Macros - + Controller Port {} Macros - Controller Port {} Macros + Controller Port {} Macros - + Macro Button {} - Macro Button {} + Makroknapp {} - + Buttons Knappar - + Frequency Frekvens - + Pressure - Tryck + Tryckkänslighet - + Controller Port {}{} Settings - Controller Port {}{} Settings + Inställningar för kontrollerport {}{} - + Controller Port {} Settings - Controller Port {} Settings + Inställningar för kontrollerport {} - + USB Port {} - USB Port {} + USB-port {} - + Device Type - Device Type + Enhetstyp - + Device Subtype - Device Subtype + Enhetens undertyp - + {} Bindings - {} Bindings + {} bindningar - + Clear Bindings - Clear Bindings + Töm bindningar - + {} Settings - {} Settings + {} Inställningar - + Cache Directory - Cache Directory + Cachekatalog - + Covers Directory - Covers Directory + Omslagskatalog - + Snapshots Directory - Snapshots Directory + Katalog för skärmbilder - + Save States Directory - Save States Directory + Katalog för sparade tillstånd - + Game Settings Directory - Game Settings Directory + Katalog för spelinställningar - + Input Profile Directory - Input Profile Directory + Katalog för inmatningsprofil - + Cheats Directory - Cheats Directory + Fuskkatalog - + Patches Directory - Patches Directory + Katalog för patchar - + Texture Replacements Directory - Texture Replacements Directory + Katalog för texturersättningar - + Video Dumping Directory - Video Dumping Directory + Katalog för videodumpning - + Resume Game - Resume Game + Återuppta spel - + Toggle Frame Limit - Toggle Frame Limit + Växla bildrutegräns - + Game Properties - Game Properties + Spelegenskaper - + Achievements - Achievements + Prestationer - + Save Screenshot - Save Screenshot + Spara skärmbild - + Switch To Software Renderer - Switch To Software Renderer + Växla till programvarurenderare - + Switch To Hardware Renderer - Switch To Hardware Renderer + Växla till hårdvarurenderare - + Change Disc - Change Disc + Byt skiva - + Close Game - Close Game + Stäng spelet - + Exit Without Saving - Exit Without Saving + Avsluta utan att spara - + Back To Pause Menu - Back To Pause Menu + Tillbaka till pausmenyn - + Exit And Save State - Exit And Save State + Avsluta och spara tillstånd - + Leaderboards - Leaderboards + Topplistor - + Delete Save - Delete Save + Ta bort sparning - + Close Menu - Close Menu + Stäng menyn - + Delete State - Delete State + Ta bort tillstånd - + Default Boot - Default Boot + Standarduppstart - + Reset Play Time - Reset Play Time + Nollställ spelad tid - + Add Search Directory - Add Search Directory + Lägg till sökkatalog - + Open in File Browser - Open in File Browser + Öppna i filbläddrare - + Disable Subdirectory Scanning - Disable Subdirectory Scanning + Inaktivera sökning i underkataloger - + Enable Subdirectory Scanning - Enable Subdirectory Scanning + Enable Subdirectory Scanning - + Remove From List - Remove From List + Ta bort från lista - + Default View - Default View + Standardvy - + Sort By - Sort By + Sortera efter - + Sort Reversed - Sort Reversed + Omvänd sortering - + Scan For New Games - Scan For New Games + Sök efter nya spel - + Rescan All Games - Rescan All Games + Sök igenom alla spel igen - + Website - Website + Webbsida - + Support Forums - Support Forums + Supportforum - + GitHub Repository - GitHub Repository + GitHub-förråd - + License Licens - + Close Stäng - + RAIntegration is being used instead of the built-in achievements implementation. - RAIntegration is being used instead of the built-in achievements implementation. + RAIntegration används istället för inbyggda implementationen för prestationer. - + Enable Achievements - Enable Achievements + Aktivera prestationer - + Hardcore Mode - Hardcore Mode + Hardcore-läge - + Sound Effects - Sound Effects + Ljudeffekter - + Test Unofficial Achievements - Test Unofficial Achievements + Testa inofficiella prestationer - + Username: {} - Username: {} + Användarnamn: {} - + Login token generated on {} - Login token generated on {} + Inloggningstoken genererades {} - + Logout Logga ut - + Not Logged In - Not Logged In + Inte inloggad - + Login Logga in - + Game: {0} ({1}) Spel: {0} ({1}) - + Rich presence inactive or unsupported. - Rich presence inactive or unsupported. + Rich presence inaktivt eller stöds inte. - + Game not loaded or no RetroAchievements available. - Game not loaded or no RetroAchievements available. + Inget spel är inläst eller så är inte RetroAchievements tillgängligt. - + Card Enabled - Card Enabled + Kort aktiverat - + Card Name - Card Name + Kortnamn - + Eject Card - Eject Card + Mata ut kort @@ -10095,151 +10154,151 @@ Do you want to load this save and continue? Configured upscale multiplier {}x is above your GPU's supported multiplier of {}x. - Configured upscale multiplier {}x is above your GPU's supported multiplier of {}x. + Configured upscale multiplier {}x is above your GPU's supported multiplier of {}x. Failed to reopen, restoring old configuration. - Failed to reopen, restoring old configuration. + Misslyckades med att återöppna, återskapar gammal konfiguration. Failed to create render device. This may be due to your GPU not supporting the chosen renderer ({}), or because your graphics drivers need to be updated. - Failed to create render device. This may be due to your GPU not supporting the chosen renderer ({}), or because your graphics drivers need to be updated. + Misslyckades med att skapa renderingsenhet. Detta kan bero på att din GPU inte har stöd för vald renderare ({}) eller att dina drivrutiner för grafikkortet behöver uppdateras. Failed to change window after update. The log may contain more information. - Failed to change window after update. The log may contain more information. + Misslyckades med att byta fönster efter uppdatering. Loggen kan innehålla mer information. Upscale multiplier set to {}x. - Upscale multiplier set to {}x. + Upscale multiplier set to {}x. Saving screenshot to '{}'. - Saving screenshot to '{}'. + Sparar skärmbild till '{}'. Saved screenshot to '{}'. - Saved screenshot to '{}'. + Sparade skärmbild till '{}'. Failed to save screenshot to '{}'. - Failed to save screenshot to '{}'. + Misslyckades med att spara skärmbild till '{}'. Host GPU device encountered an error and was recovered. This may have broken rendering. - Host GPU device encountered an error and was recovered. This may have broken rendering. + Värdens GPU-enhet påträffade ett fel och återhämtades. Detta kan ge trasig rendering. CAS is not available, your graphics driver does not support the required functionality. - CAS is not available, your graphics driver does not support the required functionality. + CAS är inte tillgänglig. Din grafikkortsdrivrutin saknar stöd för de nödvändiga funktionerna. with no compression - with no compression + utan komprimering with LZMA compression - with LZMA compression + med LZMA-komprimering with Zstandard compression - with Zstandard compression + med Zstandard-komprimering Saving {0} GS dump {1} to '{2}' - Saving {0} GS dump {1} to '{2}' + Sparar {0} GS-dump {1} till '{2}' single frame - single frame + en bildruta multi-frame - multi-frame + flera bildrutor Failed to render/download screenshot. - Failed to render/download screenshot. + Misslyckades med att rendera/hämta skärmbild. Saved GS dump to '{}'. - Saved GS dump to '{}'. + Sparade GS-dump till '{}'. Hash cache has used {:.2f} MB of VRAM, disabling. - Hash cache has used {:.2f} MB of VRAM, disabling. + Hash cache has used {:.2f} MB of VRAM, disabling. Disabling autogenerated mipmaps on one or more compressed replacement textures. Please generate mipmaps when compressing your textures. - Disabling autogenerated mipmaps on one or more compressed replacement textures. Please generate mipmaps when compressing your textures. + Disabling autogenerated mipmaps on one or more compressed replacement textures. Please generate mipmaps when compressing your textures. Stencil buffers and texture barriers are both unavailable, this will break some graphical effects. - Stencil buffers and texture barriers are both unavailable, this will break some graphical effects. + Stencil buffers and texture barriers are both unavailable, this will break some graphical effects. Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow. - Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow. + Spin GPU During Readbacks is enabled, but calibrated timestamps are unavailable. This might be really slow. Your system has the "OpenCL, OpenGL, and Vulkan Compatibility Pack" installed. This Vulkan driver crashes PCSX2 on some GPUs. To use the Vulkan renderer, you should remove this app package. - Your system has the "OpenCL, OpenGL, and Vulkan Compatibility Pack" installed. -This Vulkan driver crashes PCSX2 on some GPUs. -To use the Vulkan renderer, you should remove this app package. + Ditt system har kompatibilitetspaket för "OpenCL, OpenGL och Vulkan" installerade. +Denna Vulkan-drivrutin kraschar PCSX2 med vissa GPUer. +Du bör ta bort detta paket för att använda Vulkan-renderaren. The Vulkan renderer was automatically selected, but no compatible devices were found. You should update all graphics drivers in your system, including any integrated GPUs to use the Vulkan renderer. - The Vulkan renderer was automatically selected, but no compatible devices were found. - You should update all graphics drivers in your system, including any integrated GPUs - to use the Vulkan renderer. + Vulkan-renderaren valdes automatiskt men inga kompatibla enheter hittades. + Du bör uppdatera alla grafikdrivrutiner i ditt system, inklusive integrerade GPUer + till att använda Vulkan-renderaren. Switching to Software Renderer... - Switching to Software Renderer... + Växlar till programvarurenderare... Switching to Hardware Renderer... - Switching to Hardware Renderer... + Växlar till hårdvarurenderare... Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. - Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required. + Misslyckades med att skapa D3D-enhet: 0x{:08X}. En GPU som har stöd för Direct3D Feature Level 10.0 krävs. The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. Do not request support, please upgrade your hardware/drivers first. - The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. + The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration. Do not request support, please upgrade your hardware/drivers first. @@ -10248,7 +10307,7 @@ Do not request support, please upgrade your hardware/drivers first. Failed to load FFmpeg - Failed to load FFmpeg + Misslyckades med att läsa in FFmpeg @@ -10260,44 +10319,44 @@ Do not request support, please upgrade your hardware/drivers first. - You may be missing one or more files, or are using the incorrect version. This build of PCSX2 requires: + Du kanske saknar en eller flera filer, eller använder felaktig version. Denna byggversion av PCSX2 kräver: libavcodec: {} libavformat: {} libavutil: {} libswscale: {} libswresample: {} -Please see our official documentation for more information. +Se vår officiella dokumentation för mer information. capturing audio and video - capturing audio and video + fångar ljud och video capturing video - capturing video + fångar video capturing audio - capturing audio + fångar ljud Starting {} to '{}'. - Starting {} to '{}'. + Startar {} till '{}'. Stopped {} to '{}'. - Stopped {} to '{}'. + Stoppade {} till '{}'. Aborted {} due to encoding error in '{}'. - Aborted {} due to encoding error in '{}'. + Avbröts {} på grund av enkodningsfel i '{}'. @@ -10306,8 +10365,8 @@ Please see our official documentation for more information. OpenGL renderer is not supported. Only OpenGL {}.{} was found - OpenGL renderer is not supported. Only OpenGL {}.{} - was found + OpenGL-renderare stöds inte. Endast OpenGL {}.{} + hittades @@ -10315,7 +10374,7 @@ Please see our official documentation for more information. Your GPU does not support the required Vulkan features. - Your GPU does not support the required Vulkan features. + Din GPU saknar stöd för nödvändiga Vulkan-funktioner. @@ -10323,12 +10382,12 @@ Please see our official documentation for more information. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use cheats at your own risk, the PCSX2 team will provide no support for users who have enabled cheats. - Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use cheats at your own risk, the PCSX2 team will provide no support for users who have enabled cheats. + Aktivering av fusk kan orsaka oförväntat beteende, krascher, låsningar eller trasiga sparade spel. Använd fusk på din egen risk, PCSX2-teamet kommer inte tillhandahålla support till användaren som har fusk aktiverade. Enable Cheats - Enable Cheats + Aktivera fusk @@ -10338,7 +10397,7 @@ Please see our official documentation for more information. Author - Author + Upphovsperson @@ -10348,7 +10407,7 @@ Please see our official documentation for more information. Search... - Search... + Sök... @@ -10368,27 +10427,27 @@ Please see our official documentation for more information. Reload Cheats - Reload Cheats + Läs om fusk Show Cheats For All CRCs - Show Cheats For All CRCs + Visa fusk för alla CRCs Checked - Checked + Markerat Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + Växlar sökning efter patchfiler för alla CRCs för spelet. När aktiverad kommer tillgängliga patchar för spelets serienummer med olika CRCs också att läsas in. %1 unlabelled patch codes will automatically activate. - %1 unlabelled patch codes will automatically activate. + %1 patchkoder utan etiketter kommer atuomatiskt aktiveras. @@ -10399,7 +10458,7 @@ Please see our official documentation for more information. Recommended Blending Accuracy for this game is {2}. You can adjust the blending level in Game Properties to improve graphical quality, but this will increase system requirements. - {0} Current Blending Accuracy is {1}. + {0} Current Blending Accuracy is {1}. Recommended Blending Accuracy for this game is {2}. You can adjust the blending level in Game Properties to improve graphical quality, but this will increase system requirements. @@ -10407,42 +10466,42 @@ graphical quality, but this will increase system requirements. Manual GS hardware renderer fixes are enabled, automatic fixes were not applied: - Manual GS hardware renderer fixes are enabled, automatic fixes were not applied: + Manuella fixar för GS-hårdvarurenderare är aktiverade. Automatiska fixar tillämpades inte: No tracks provided. - No tracks provided. + Inga spår tillhandahölls. Hash {} is not in database. - Hash {} is not in database. + Kontrollsumman {} finns inte i databasen. Data track number does not match data track in database. - Data track number does not match data track in database. + Dataspårnumret matchar inte dataspåret i databasen. Track {0} with hash {1} is not found in database. - Track {0} with hash {1} is not found in database. + Spår {0} med kontrollsumma {1} finns inte i databasen. Track {0} with hash {1} is for a different game ({2}). - Track {0} with hash {1} is for a different game ({2}). + Spår {0} med kontrollsumma {1} är för ett annat spel ({2}). Track {0} with hash {1} does not match database track. - Track {0} with hash {1} does not match database track. + Spår {0} med kontrollsumma {1} matchar inte databasspåret. @@ -10458,126 +10517,126 @@ graphical quality, but this will increase system requirements. FPU Multiply Hack FPU = Floating Point Unit. A part of the PS2's CPU. Do not translate.\nMultiply: mathematical term.\nTales of Destiny: a game's name. Leave as-is or use an official translation. - FPU Multiply Hack + FPU Multiply Hack Skip MPEG Hack MPEG: video codec, leave as-is. FMV: Full Motion Video. Find the common used term in your language. - Skip MPEG Hack + Skip MPEG Hack Preload TLB Hack TLB: Translation Lookaside Buffer. Leave as-is. Goemon: name of a character from the series with his name. Leave as-is or use an official translation. - Preload TLB Hack + Preload TLB Hack EE Timing Hack EE: Emotion Engine. Leave as-is. - EE Timing Hack + EE Timing Hack Instant DMA Hack DMA: Direct Memory Access. Leave as-is. - Instant DMA Hack + Instant DMA Hack OPH Flag Hack OPH: Name of a flag (Output PatH) in the GIF_STAT register in the EE. Leave as-is.\nBleach Blade Battles: a game's name. Leave as-is or use an official translation. - OPH Flag Hack + OPH Flag Hack Emulate GIF FIFO GIF = GS (Graphics Synthesizer, the GPU) Interface. Leave as-is.\nFIFO = First-In-First-Out, a type of buffer. Leave as-is. - Emulate GIF FIFO + Emulera GIF FIFO DMA Busy Hack DMA: Direct Memory Access. Leave as-is. - DMA Busy Hack + DMA Busy Hack Delay VIF1 Stalls VIF = VU (Vector Unit) Interface. Leave as-is. SOCOM 2 and Spy Hunter: names of two different games. Leave as-is or use an official translation.\nHUD = Heads-Up Display. The games' interfaces. - Delay VIF1 Stalls + Delay VIF1 Stalls Emulate VIF FIFO VIF = VU (Vector Unit) Interface. Leave as-is.\nFIFO = First-In-First-Out, a type of buffer. Leave as-is. - Emulate VIF FIFO + Emulera VIF FIFO Full VU0 Synchronization VU0 = VU (Vector Unit) 0. Leave as-is. - Full VU0 Synchronization + Full VU0 Synchronization VU I Bit Hack VU = Vector Unit. Leave as-is.\nI Bit = A bit referred as I, not as 1.\nScarface The World is Yours and Crash Tag Team Racing: names of two different games. Leave as-is or use an official translation. - VU I Bit Hack + VU I Bit Hack VU Add Hack VU = Vector Unit. Leave as-is.\nTri-Ace: a game development company name. Leave as-is. - VU Add Hack + VU Add Hack VU Overflow Hack VU = Vector Unit. Leave as-is.\nSuperman Returns: a game's name. Leave as-is or use an official translation. - VU Overflow Hack + VU Overflow Hack VU Sync VU = Vector Unit. Leave as-is.\nRun Behind: watch out for misleading capitalization for non-English: this refers to making the VUs run behind (delayed relative to) the EE.\nM-Bit: a bitflag in VU instructions that tells VU0 to synchronize with the EE. M-Bit Game: A game that uses instructions with the M-Bit enabled (unofficial PCSX2 name). - VU Sync + VU-synk VU XGKick Sync VU = Vector Unit. Leave as-is.\nXGKick: the name of one of the VU's instructions. Leave as-is. - VU XGKick Sync + VU XGKick Sync Force Blit Internal FPS Detection Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit This option tells PCSX2 to estimate internal FPS by detecting blits (image copies) onto visible display memory. - Force Blit Internal FPS Detection + Force Blit Internal FPS Detection Use Software Renderer For FMVs FMV: Full Motion Video. Find the common used term in your language. - Use Software Renderer For FMVs + Use Software Renderer For FMVs @@ -10599,97 +10658,97 @@ graphical quality, but this will increase system requirements. Unchecked - Unchecked + Inte markerat For Tales of Destiny. - For Tales of Destiny. + För Tales of Destiny. To avoid TLB miss on Goemon. - To avoid TLB miss on Goemon. + To avoid TLB miss on Goemon. Needed for some games with complex FMV rendering. - Needed for some games with complex FMV rendering. + Behövs för vissa spel med komplexa FMV-renderingar. Skips videos/FMVs in games to avoid game hanging/freezes. - Skips videos/FMVs in games to avoid game hanging/freezes. + Skips videos/FMVs in games to avoid game hanging/freezes. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Correct but slower. Known to affect the following games: Fifa Street 2. - Correct but slower. Known to affect the following games: Fifa Street 2. + Correct but slower. Known to affect the following games: Fifa Street 2. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. For SOCOM 2 HUD and Spy Hunter loading hang. - For SOCOM 2 HUD and Spy Hunter loading hang. + För inläsningshängning i SOCOM 2 HUD och Spy Hunter. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. + För Tri-Ace-spel: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Forces tight VU0 sync on every COP2 instruction. - Forces tight VU0 sync on every COP2 instruction. + Forces tight VU0 sync on every COP2 instruction. Run behind. To avoid sync problems when reading or writing VU registers. - Run behind. To avoid sync problems when reading or writing VU registers. + Run behind. To avoid sync problems when reading or writing VU registers. To check for possible float overflows (Superman Returns). - To check for possible float overflows (Superman Returns). + To check for possible float overflows (Superman Returns). Use accurate timing for VU XGKicks (slower). - Use accurate timing for VU XGKicks (slower). + Use accurate timing for VU XGKicks (slower). Use alternative method to calculate internal FPS to avoid false readings in some games. - Use alternative method to calculate internal FPS to avoid false readings in some games. + Use alternative method to calculate internal FPS to avoid false readings in some games. @@ -10697,72 +10756,72 @@ graphical quality, but this will increase system requirements. PS2 Disc - PS2 Disc + PS2-skiva PS1 Disc - PS1 Disc + PS1-skiva ELF - ELF + ELF Other - Other + Annan Unknown - Unknown + Okänt Nothing - Nothing + Ingenting Intro - Intro + Intro Menu - Menu + Meny In-Game - In-Game + I spelet Playable - Playable + Spelbart Perfect - Perfect + Perfekt Scanning directory {} (recursively)... - Scanning directory {} (recursively)... + Söker igenom katalog {} (rekursivt)... Scanning directory {}... - Scanning directory {}... + Söker igenom katalog {}... Scanning {}... - Scanning {}... + Söker igenom {}... @@ -10782,45 +10841,45 @@ graphical quality, but this will increase system requirements. {}h {}m - {}h {}m + {}h {}m {}h {}m {}s - {}h {}m {}s + {}h {}m {}s {}m {}s - {}m {}s + {}m {}s {}s - {}s + {}s %n hours - - %n hours - %n hours + + %n timme + %n timmar %n minutes - - %n minutes - %n minutes + + %n minut + %n minuter Downloading cover for {0} [{1}]... - Downloading cover for {0} [{1}]... + Hämtar omslag för {0} [{1}]... @@ -10828,52 +10887,52 @@ graphical quality, but this will increase system requirements. Type - Type + Typ Code - Code + Kod Title - Title + Titel File Title - File Title + Filtitel CRC - CRC + CRC Time Played - Time Played + Tid spelat Last Played - Last Played + Senast spelat Size - Size + Storlek Region - Region + Region Compatibility - Compatibility + Kompatibilitet @@ -10881,114 +10940,114 @@ graphical quality, but this will increase system requirements. Game Scanning - Game Scanning + Spelinläsning Search Directories (will be scanned for games) - Search Directories (will be scanned for games) + Sökkataloger (kommer att genomsökas efter spel) Add... - Add... + Lägg till... Remove - Remove + Ta bort Search Directory - Search Directory + Sökkatalog Scan Recursively - Scan Recursively + Sök rekursivt Excluded Paths (will not be scanned) - Excluded Paths (will not be scanned) + Exkluderade sökvägar (kommer inte sökas igenom) Directory... - Directory... + Katalog... File... - File... + Fil... Scan For New Games - Scan For New Games + Leta efter nya spel Rescan All Games - Rescan All Games + Sök igenom alla spel igen Display - Display + Skärm Prefer English Titles - Prefer English Titles + Föredra engelska titlar Unchecked - Unchecked + Inte markerad For games with both a title in the game's native language and one in English, prefer the English title. - For games with both a title in the game's native language and one in English, prefer the English title. + Föredra den engelska titeln för spel med både en titel i spelet ursprungliga språk och en på engelska. Open Directory... - Open Directory... + Öppna katalog... Select Search Directory - Select Search Directory + Välj sökkatalog Scan Recursively? - Scan Recursively? + Sök igenom rekursivt? Would you like to scan the directory "%1" recursively? Scanning recursively takes more time, but will identify files in subdirectories. - Would you like to scan the directory "%1" recursively? + Vill du söka igenom katalogen "%1" rekursivt? -Scanning recursively takes more time, but will identify files in subdirectories. +Söka igenom den rekursivt tar längre tid men identifierar filer i underkataloger. Select File - Select File + Välj fil Select Directory - Select Directory + Välj katalog @@ -10996,32 +11055,32 @@ Scanning recursively takes more time, but will identify files in subdirectories. Game List - Game List + Spellista Game Grid - Game Grid + Spelrutnät Show Titles - Show Titles + Visa titlar All Types - All Types + Alla typer All Regions - All Regions + Alla regioner Search... - Search... + Sök... @@ -11030,34 +11089,34 @@ Scanning recursively takes more time, but will identify files in subdirectories. Patch Title - Patch Title + Patchtitel Enabled - Enabled + Aktiverad <html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Upphovsperson: </span>Patch Author</p><p>Beskrivning anges här</p></body></html> <strong>Author: </strong>%1<br>%2 - <strong>Author: </strong>%1<br>%2 + <strong>Upphovsperson: </strong>%1<br>%2 Unknown - Unknown + Okänt No description provided. - No description provided. + Ingen beskrivning angavs. @@ -11065,42 +11124,52 @@ Scanning recursively takes more time, but will identify files in subdirectories. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. + Aktivering av spelpatchar kan orsaka oförväntat beteende, krascher, låsningar eller trasiga sparade spel. Använd patchar på din egen risk, PCSX2-teamet kommer inte tillhandahålla support till användaren som har spelpatchar aktiverade. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. + Alla patchar som skickas med PCSX2 för detta spel kommer att inaktiveras eftersom du har patchar utan etiketter inlästa. - - All CRCs - All CRCs + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + All CRCs + Alla CRCs + + + Reload Patches - Reload Patches + Läs om patchar - + Show Patches For All CRCs - Show Patches For All CRCs + Visa patchar för alla CRCs - + Checked - Checked + Markerat - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. + Växlar sökning efter patchfiler för alla CRCs för spelet. När aktiverad kommer tillgängliga patchar för spelets serienummer med olika CRCs också att läsas in. - + There are no patches available for this game. - There are no patches available for this game. + Det finns inga patchar tillgängliga för detta spel. @@ -11108,361 +11177,361 @@ Scanning recursively takes more time, but will identify files in subdirectories. Title: - Title: + Titel: Clear the line to restore the original title... - Clear the line to restore the original title... + Töm raden för att återställa ursprungstiteln... Restore - Restore + Återställ Sorting Title: Name for use in sorting (e.g. "XXX, The" for a game called "The XXX") - Sorting Title: + Sorteringstitel: English Title: - English Title: + Engelsk titel: Path: - Path: + Sökväg: Serial: - Serial: + Serienummer: Check Wiki - Check Wiki + Besök wiki CRC: - CRC: + CRC: Type: - Type: + Typ: PS2 Disc - PS2 Disc + PS2-skiva PS1 Disc - PS1 Disc + PS1-skiva ELF (PS2 Executable) - ELF (PS2 Executable) + ELF (körbar PS2-fil) Region: - Region: + Region: NTSC-B (Brazil) Leave the code as-is, translate the country's name. - NTSC-B (Brazil) + NTSC-B (Brazilien) NTSC-C (China) Leave the code as-is, translate the country's name. - NTSC-C (China) + NTSC-C (Kina) NTSC-HK (Hong Kong) Leave the code as-is, translate the country's name. - NTSC-HK (Hong Kong) + NTSC-HK (Hong Kong) NTSC-J (Japan) Leave the code as-is, translate the country's name. - NTSC-J (Japan) + NTSC-J (Japan) NTSC-K (Korea) Leave the code as-is, translate the country's name. - NTSC-K (Korea) + NTSC-K (Korea) NTSC-T (Taiwan) Leave the code as-is, translate the country's name. - NTSC-T (Taiwan) + NTSC-T (Taiwan) NTSC-U (US) Leave the code as-is, translate the country's name. - NTSC-U (US) + NTSC-U (USA) Other - Other + Övrigt PAL-A (Australia) Leave the code as-is, translate the country's name. - PAL-A (Australia) + PAL-A (Australien) PAL-AF (South Africa) Leave the code as-is, translate the country's name. - PAL-AF (South Africa) + PAL-AF (Sydafrika) PAL-AU (Austria) Leave the code as-is, translate the country's name. - PAL-AU (Austria) + PAL-AU (Österrike) PAL-BE (Belgium) Leave the code as-is, translate the country's name. - PAL-BE (Belgium) + PAL-BE (Belgien) PAL-E (Europe/Australia) Leave the code as-is, translate the country's name. - PAL-E (Europe/Australia) + PAL-E (Europa/Australien) PAL-F (France) Leave the code as-is, translate the country's name. - PAL-F (France) + PAL-F (Frankrike) PAL-FI (Finland) Leave the code as-is, translate the country's name. - PAL-FI (Finland) + PAL-FI (Finland) PAL-G (Germany) Leave the code as-is, translate the country's name. - PAL-G (Germany) + PAL-G (Tyskland) PAL-GR (Greece) Leave the code as-is, translate the country's name. - PAL-GR (Greece) + PAL-GR (Grekland) PAL-I (Italy) Leave the code as-is, translate the country's name. - PAL-I (Italy) + PAL-I (Italien) PAL-IN (India) Leave the code as-is, translate the country's name. - PAL-IN (India) + PAL-IN (Indien) PAL-M (Europe/Australia) Leave the code as-is, translate the country's name. - PAL-M (Europe/Australia) + PAL-M (Europa/Australien) PAL-NL (Netherlands) Leave the code as-is, translate the country's name. - PAL-NL (Netherlands) + PAL-NL (Nederländerna) PAL-NO (Norway) Leave the code as-is, translate the country's name. - PAL-NO (Norway) + PAL-NO (Norge) PAL-P (Portugal) Leave the code as-is, translate the country's name. - PAL-P (Portugal) + PAL-P (Portugal) PAL-PL (Poland) Leave the code as-is, translate the country's name. - PAL-PL (Poland) + PAL-PL (Polen) PAL-R (Russia) Leave the code as-is, translate the country's name. - PAL-R (Russia) + PAL-R (Ryssland) PAL-S (Spain) Leave the code as-is, translate the country's name. - PAL-S (Spain) + PAL-S (Spanien) PAL-SC (Scandinavia) Leave the code as-is, translate the country's name. - PAL-SC (Scandinavia) + PAL-SC (Skandinavien) PAL-SW (Sweden) Leave the code as-is, translate the country's name. - PAL-SW (Sweden) + PAL-SW (Sverige) PAL-SWI (Switzerland) Leave the code as-is, translate the country's name. - PAL-SWI (Switzerland) + PAL-SWI (Schweiz) PAL-UK (United Kingdom) Leave the code as-is, translate the country's name. - PAL-UK (United Kingdom) + PAL-UK (United Kingdom) Compatibility: - Compatibility: + Kompatibilitet: Input Profile: - Input Profile: + Inmatningsprofil: Shared Refers to the shared settings profile. - Shared + Delad Disc Path: - Disc Path: + Skivsökväg: Browse... - Browse... + Bläddra... Clear - Clear + Töm Verify - Verify + Verifiera Search on Redump.org... - Search on Redump.org... + Sök på Redump.org... %0%1 First arg is a GameList compat; second is a string with space followed by star rating OR empty if Unknown compat - %0%1 + %0%1 %0%1 First arg is filled-in stars for game compatibility; second is empty stars; should be swapped for RTL languages - %0%1 + %0%1 Select Disc Path - Select Disc Path + Välj skivsökväg Game is not a CD/DVD. - Game is not a CD/DVD. + Spelet är inte en cd/dvd. Track list unavailable while virtual machine is running. - Track list unavailable while virtual machine is running. + Spårlistan är inte tillgänglig när den virtuella maskinen körs. # - # + # Mode - Mode + Läge Start - Start + Starta Sectors - Sectors + Sektorer Size - Size + Storlek MD5 - MD5 + MD5 Status - Status + Status @@ -11473,13 +11542,13 @@ Scanning recursively takes more time, but will identify files in subdirectories. %1 - %1 + %1 <not computed> - <not computed> + <inte beräknad> @@ -11489,22 +11558,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. Cannot verify image while a game is running. - Cannot verify image while a game is running. + Kan inte verifiera avbild när ett spel körs. One or more tracks is missing. - One or more tracks is missing. + Ett eller flera spår saknas. Verified as %1 [%2] (Version %3). - Verified as %1 [%2] (Version %3). + Verifierad som %1 [%2] (Version %3). Verified as %1 [%2]. - Verified as %1 [%2]. + Verifierad som %1 [%2]. @@ -11512,7 +11581,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. unknown function - unknown function + okänd funktion @@ -11520,67 +11589,67 @@ Scanning recursively takes more time, but will identify files in subdirectories. Renderer: - Renderer: + Renderare: Adapter: - Adapter: + Adapter: Display - Display + Skärm Fullscreen Mode: - Fullscreen Mode: + Helskärmsläge: Aspect Ratio: - Aspect Ratio: + Bildförhållande: Fit to Window / Fullscreen - Fit to Window / Fullscreen + Anpassa till fönster / Helskärm Auto Standard (4:3 Interlaced / 3:2 Progressive) - Auto Standard (4:3 Interlaced / 3:2 Progressive) + Auto standard (4:3 Interlaced / 3:2 Progressiv) Standard (4:3) - Standard (4:3) + Standard (4:3) Widescreen (16:9) - Widescreen (16:9) + Bredbild (16:9) FMV Aspect Ratio Override: - FMV Aspect Ratio Override: + FMV Aspect Ratio Override: - - - - - + + + + + Off (Default) - Off (Default) + Av (standard) @@ -11588,65 +11657,65 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) - Automatic (Default) + Automatisk (standard) Weave (Top Field First, Sawtooth) Weave: deinterlacing method that can be translated or left as-is in English. Sawtooth: refers to the jagged effect weave deinterlacing has on motion. - Weave (Top Field First, Sawtooth) + Weave (Top Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) Weave: deinterlacing method that can be translated or left as-is in English. Sawtooth: refers to the jagged effect weave deinterlacing has on motion. - Weave (Bottom Field First, Sawtooth) + Weave (Bottom Field First, Sawtooth) Bob (Top Field First, Full Frames) Bob: deinterlacing method that refers to the way it makes video look like it's bobbing up and down. - Bob (Top Field First, Full Frames) + Bob (Top Field First, Full Frames) Bob (Bottom Field First, Full Frames) Bob: deinterlacing method that refers to the way it makes video look like it's bobbing up and down. - Bob (Bottom Field First, Full Frames) + Bob (Bottom Field First, Full Frames) Blend (Top Field First, Merge 2 Fields) Blend: deinterlacing method that blends the colors of the two frames, can be translated or left as-is in English. - Blend (Top Field First, Merge 2 Fields) + Blend (Top Field First, Merge 2 Fields) Blend (Bottom Field First, Merge 2 Fields) Blend: deinterlacing method that blends the colors of the two frames, can be translated or left as-is in English. - Blend (Bottom Field First, Merge 2 Fields) + Blend (Bottom Field First, Merge 2 Fields) Adaptive (Top Field First, Similar to Bob + Weave) Adaptive: deinterlacing method that should be translated. - Adaptive (Top Field First, Similar to Bob + Weave) + Adaptive (Top Field First, Similar to Bob + Weave) Adaptive (Bottom Field First, Similar to Bob + Weave) Adaptive: deinterlacing method that should be translated. - Adaptive (Bottom Field First, Similar to Bob + Weave) + Adaptive (Bottom Field First, Similar to Bob + Weave) Bilinear Filtering: - Bilinear Filtering: + Bilinjär filtrering: @@ -11654,25 +11723,25 @@ Scanning recursively takes more time, but will identify files in subdirectories. None - None + Ingen - + Bilinear (Smooth) Smooth: Refers to the texture clarity. - Bilinear (Smooth) + Bilinjär (mjuk) Bilinear (Sharp) Sharp: Refers to the texture clarity. - Bilinear (Sharp) + Bilinjär (skarp) Vertical Stretch: - Vertical Stretch: + Vertikal sträckning: @@ -11683,18 +11752,18 @@ Scanning recursively takes more time, but will identify files in subdirectories. Percentage sign that shows next to a value. You might want to add a space before if your language requires it. ---------- Percentage sign that will appear next to a number. Add a space or whatever is needed before depending on your language. - % + % Crop: - Crop: + Beskär: Left: Warning: short space constraints. Abbreviate if necessary. - Left: + Vänster: @@ -11702,671 +11771,652 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne px - px + px Top: Warning: short space constraints. Abbreviate if necessary. - Top: + Överst: Right: Warning: short space constraints. Abbreviate if necessary. - Right: + Höger: Bottom: Warning: short space constraints. Abbreviate if necessary. - Bottom: + Nederst: - + Screen Offsets - Screen Offsets + Screen Offsets - + Show Overscan - Show Overscan - - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches + rator + - + Anti-Blur - Anti-Blur + Anti-Blur Ctrl+S - Ctrl+S + Ctrl+S - + Disable Interlace Offset - Disable Interlace Offset + Disable Interlace Offset Screenshot Size: - Screenshot Size: + Skärmbildsstorlek: - + Screen Resolution - Screen Resolution + Skärmupplösning - + Internal Resolution - Internal Resolution + Intern upplösning - + PNG - PNG + PNG JPEG - JPEG + JPEG Quality: - Quality: + Kvalitet: Rendering - Rendering + Rendering Internal Resolution: - Internal Resolution: + Intern upplösning: Off - Off + Av Texture Filtering: - Texture Filtering: + Texturfiltrering: Nearest - Nearest + Nearest Bilinear (Forced) - Bilinear (Forced) + Bilinjär (tvingad) - + Bilinear (PS2) - Bilinear (PS2) + Bilinjär (PS2) Bilinear (Forced excluding sprite) - Bilinear (Forced excluding sprite) + Bilinear (Forced excluding sprite) Trilinear Filtering: - Trilinear Filtering: + Trilinear Filtering: Off (None) - Off (None) + Av (ingen) Trilinear (PS2) - Trilinear (PS2) + Trilinear (PS2) Trilinear (Forced) - Trilinear (Forced) + Trilinear (Forced) Anisotropic Filtering: - Anisotropic Filtering: + Anisotropic Filtering: Dithering: - Dithering: + Dithering: Scaled - Scaled + Skalad - + Unscaled (Default) - Unscaled (Default) + Oskalad (standard) Blending Accuracy: - Blending Accuracy: + Blending Accuracy: Minimum - Minimum + Minimum - + Basic (Recommended) - Basic (Recommended) + Grundläggande (Rekommenderas) Medium - Medium + Medium High - High + Hög Full (Slow) - Full (Slow) + Full (långsam) Maximum (Very Slow) - Maximum (Very Slow) + Maximum (mycket långsam) Texture Preloading: - Texture Preloading: + Texture Preloading: Partial - Partial + Delvis - + Full (Hash Cache) - Full (Hash Cache) + Full (Hash Cache) Software Rendering Threads: - Software Rendering Threads: + Software Rendering Threads: Skip Draw Range: - Skip Draw Range: + Skip Draw Range: - + Disable Depth Conversion - Disable Depth Conversion + Disable Depth Conversion - + GPU Palette Conversion - GPU Palette Conversion + GPU Palette Conversion - + Manual Hardware Renderer Fixes - Manual Hardware Renderer Fixes + Manual Hardware Renderer Fixes - + Spin GPU During Readbacks - Spin GPU During Readbacks + Spin GPU During Readbacks - + Spin CPU During Readbacks - Spin CPU During Readbacks + Spin CPU During Readbacks threads - threads + trådar - - + + Mipmapping - Mipmapping + Mipmapping - - + + Auto Flush - Auto Flush + Auto Flush Hardware Fixes - Hardware Fixes + Hårdvarufixar Force Disabled - Force Disabled + Tvinga inaktiverad Force Enabled - Force Enabled + Tvinga aktiverad CPU Sprite Render Size: - CPU Sprite Render Size: + CPU Sprite Render Size: - - + + 0 (Disabled) 0 (Disabled) - 0 (Disabled) + 0 (Inaktiverad) 1 (64 Max Width) - 1 (64 Max Width) + 1 (64 Max bredd) 2 (128 Max Width) - 2 (128 Max Width) + 2 (128 Max bredd) 3 (192 Max Width) - 3 (192 Max Width) + 3 (192 Max bredd) 4 (256 Max Width) - 4 (256 Max Width) + 4 (256 Max bredd) 5 (320 Max Width) - 5 (320 Max Width) + 5 (320 Max bredd) 6 (384 Max Width) - 6 (384 Max Width) + 6 (384 Max bredd) 7 (448 Max Width) - 7 (448 Max Width) + 7 (448 Max bredd) 8 (512 Max Width) - 8 (512 Max Width) + 8 (512 Max bredd) 9 (576 Max Width) - 9 (576 Max Width) + 9 (576 Max bredd) 10 (640 Max Width) - 10 (640 Max Width) + 10 (640 Max bredd) - + Disable Safe Features - Disable Safe Features + Disable Safe Features - + Preload Frame Data - Preload Frame Data + Preload Frame Data - + Texture Inside RT - Texture Inside RT + Texture Inside RT 1 (Normal) - 1 (Normal) + 1 (Normal) 2 (Aggressive) - 2 (Aggressive) + 2 (Aggressiv) Software CLUT Render: - Software CLUT Render: + Software CLUT Render: GPU Target CLUT: CLUT: Color Look Up Table, often referred to as a palette in non-PS2 things. GPU Target CLUT: GPU handling of when a game uses data from a render target as a CLUT. - GPU Target CLUT: + GPU Target CLUT: Disabled (Default) - Disabled (Default) + Inaktiverad (standard) Enabled (Exact Match) - Enabled (Exact Match) + Enabled (Exact Match) Enabled (Check Inside Target) - Enabled (Check Inside Target) + Enabled (Check Inside Target) Upscaling Fixes - Upscaling Fixes + Upscaling Fixes Half Pixel Offset: - Half Pixel Offset: + Half Pixel Offset: Normal (Vertex) - Normal (Vertex) + Normal (Vertex) Special (Texture) - Special (Texture) + Special (Textur) Special (Texture - Aggressive) - Special (Texture - Aggressive) + Special (Textur - Aggressiv) Round Sprite: - Round Sprite: + Round Sprite: Half - Half + Halv Full - Full + Full Texture Offsets: - Texture Offsets: + Texture Offsets: X: - X: + X: Y: - Y: + Y: - + Merge Sprite - Merge Sprite + Merge Sprite - + Align Sprite - Align Sprite + Align Sprite Deinterlacing: - Deinterlacing: + Deinterlacing: No Deinterlacing - No Deinterlacing - - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches + No Deinterlacing Window Resolution (Aspect Corrected) - Window Resolution (Aspect Corrected) + Fönsterupplösning (bildförhållande korrigerat) Internal Resolution (Aspect Corrected) - Internal Resolution (Aspect Corrected) + Intern upplösning (bildförhållande korrigerat) Internal Resolution (No Aspect Correction) - Internal Resolution (No Aspect Correction) + Intern upplösning (bildförhållande inte korrigerat) WebP - WebP + WebP Force 32bit - Force 32bit + Tvinga 32bit Sprites Only - Sprites Only + Sprites Only Sprites/Triangles - Sprites/Triangles + Sprites/Triangles Blended Sprites/Triangles - Blended Sprites/Triangles + Blended Sprites/Triangles Auto Flush: - Auto Flush: + Auto Flush: Enabled (Sprites Only) - Enabled (Sprites Only) + Enabled (Sprites Only) Enabled (All Primitives) - Enabled (All Primitives) + Enabled (All Primitives) Texture Inside RT: - Texture Inside RT: + Texture Inside RT: Inside Target - Inside Target + Inside Target Merge Targets - Merge Targets + Merge Targets - + Disable Partial Source Invalidation - Disable Partial Source Invalidation + Disable Partial Source Invalidation - + Read Targets When Closing - Read Targets When Closing + Read Targets When Closing - + Estimate Texture Region - Estimate Texture Region + Estimate Texture Region - + Disable Render Fixes - Disable Render Fixes + Disable Render Fixes Align To Native - Align To Native + Justera till inbyggd - + Unscaled Palette Texture Draws - Unscaled Palette Texture Draws + Unscaled Palette Texture Draws Bilinear Dirty Upscale: - Bilinear Dirty Upscale: + Bilinear Dirty Upscale: Force Bilinear - Force Bilinear + Tvinga bilinjär Force Nearest - Force Nearest + Force Nearest Texture Replacement - Texture Replacement + Texturersättning Search Directory - Search Directory + Sökkatalog Browse... - Browse... + Bläddra... Open... - Open... + Öppna... Reset - Reset + Nollställ PCSX2 will dump and load texture replacements from this directory. - PCSX2 will dump and load texture replacements from this directory. + PCSX2 kommer att dumpa och läsa in texturersättningar från denna katalog. @@ -12375,38 +12425,48 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures - Dump Textures + Dumpa texturer - + Dump Mipmaps - Dump Mipmaps + Dumpa mipmaps - + Dump FMV Textures - Dump FMV Textures + Dumpa FMV-texturer - + Load Textures - Load Textures + Läs in texturer Native (10:7) - Native (10:7) + Inbyggd (10:7) + + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches Native Scaling - Native Scaling + Inbyggd skalning @@ -12420,49 +12480,49 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position - Force Even Sprite Position + Force Even Sprite Position - + Precache Textures - Precache Textures + Förcachning av texturer Post-Processing - Post-Processing + Efterbehandling Sharpening/Anti-Aliasing - Sharpening/Anti-Aliasing + Sharpening/Anti-Aliasing Contrast Adaptive Sharpening: You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx - Contrast Adaptive Sharpening: + Contrast Adaptive Sharpening: - - + + None (Default) - None (Default) + Ingen (standard) Sharpen Only (Internal Resolution) - Sharpen Only (Internal Resolution) + Sharpen Only (Internal Resolution) Sharpen and Resize (Display Resolution) - Sharpen and Resize (Display Resolution) + Sharpen and Resize (Display Resolution) @@ -12471,7 +12531,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12483,49 +12543,49 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne TV Shader: - TV Shader: + TV Shader: Scanline Filter - Scanline Filter + Scanline Filter Diagonal Filter - Diagonal Filter + Diagonalt filter Triangular Filter - Triangular Filter + Triangulärt filter Wave Filter - Wave Filter + Vågfilter Lottes CRT Lottes = Timothy Lottes, the creator of the shader filter. Leave as-is. CRT= Cathode Ray Tube, an old type of television technology. - Lottes CRT + Lottes CRT 4xRGSS downsampling (4x Rotated Grid SuperSampling) - 4xRGSS downsampling (4x Rotated Grid SuperSampling) + 4xRGSS downsampling (4x Rotated Grid SuperSampling) NxAGSS downsampling (Nx Automatic Grid SuperSampling) - NxAGSS downsampling (Nx Automatic Grid SuperSampling) + NxAGSS downsampling (Nx Automatic Grid SuperSampling) - + Shade Boost - Shade Boost + Shade Boost @@ -12538,217 +12598,217 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontrast: - + Saturation - Saturation + Färgmättnad OSD - OSD + OSD On-Screen Display - On-Screen Display + On-Screen Display OSD Scale: - OSD Scale: + OSD-skala: - + Show Indicators - Show Indicators + Visa indikatorer - + Show Resolution - Show Resolution + Visa upplösning - + Show Inputs - Show Inputs + Visa inmatningar - + Show GPU Usage - Show GPU Usage + Visa GPU-användning - + Show Settings - Show Settings + Visa inställningar - + Show FPS - Show FPS + Visa bilder/s - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. - Disable Mailbox Presentation + Disable Mailbox Presentation - + Extended Upscaling Multipliers - Extended Upscaling Multipliers + Extended Upscaling Multipliers Disable Shader Cache - Disable Shader Cache + Inaktivera Shader Cache Disable Vertex Shader Expand - Disable Vertex Shader Expand + Disable Vertex Shader Expand - + Show Statistics - Show Statistics + Visa statistik - + Asynchronous Texture Loading - Asynchronous Texture Loading + Asynchronous Texture Loading Saturation: - Saturation: + Färgmättnad: - + Show CPU Usage - Show CPU Usage + Visa CPU-användning - + Warn About Unsafe Settings - Warn About Unsafe Settings + Varna för osäkra inställningar Recording - Recording + Inspelning Video Dumping Directory - Video Dumping Directory + Katalog för videodumpning Capture Setup - Capture Setup + Fångstinställningar OSD Messages Position: - OSD Messages Position: + Position för OSD-meddelanden: - + Left (Default) - Left (Default) + Vänster (standard) OSD Performance Position: - OSD Performance Position: + Position för OSD-prestanda: - + Right (Default) - Right (Default) + Höger (standard) - + Show Frame Times - Show Frame Times + Visa bildrutetider - + Show PCSX2 Version - Show PCSX2 Version + Visa PCSX2-versionen - + Show Hardware Info - Show Hardware Info + Visa hårdvaruinformation - + Show Input Recording Status - Show Input Recording Status + Visa status för inmatningsinspelning - + Show Video Capture Status - Show Video Capture Status + Visa status för videofångst - + Show VPS - Show VPS + Visa VPS capture - capture + fångst Container: - Container: + Container: Codec: - Codec: + Kodek: Extra Arguments - Extra Arguments + Extra argument Capture Audio - Capture Audio + Fånga ljud Format: - Format: + Format: @@ -12763,58 +12823,58 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Auto - Auto + Auto Capture Video - Capture Video + Fånga video Advanced Advanced here refers to the advanced graphics options. - Advanced + Avancerat Advanced Options - Advanced Options + Avancerade alternativ Hardware Download Mode: - Hardware Download Mode: + Hardware Download Mode: Accurate (Recommended) - Accurate (Recommended) + Accurate (Recommended) Disable Readbacks (Synchronize GS Thread) - Disable Readbacks (Synchronize GS Thread) + Disable Readbacks (Synchronize GS Thread) Unsynchronized (Non-Deterministic) - Unsynchronized (Non-Deterministic) + Unsynchronized (Non-Deterministic) Disabled (Ignore Transfers) - Disabled (Ignore Transfers) + Disabled (Ignore Transfers) GS Dump Compression: - GS Dump Compression: + GS Dump Compression: Uncompressed - Uncompressed + Inte komprimerad @@ -12823,31 +12883,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) - Zstandard (zst) + Zstandard (zst) - + Skip Presenting Duplicate Frames - Skip Presenting Duplicate Frames + Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Swap chain: see Microsoft's Terminology Portal. - Use Blit Swap Chain + Use Blit Swap Chain Bitrate: - Bitrate: + Bitfrekvens: @@ -12859,1264 +12919,1264 @@ Swap chain: see Microsoft's Terminology Portal. Allow Exclusive Fullscreen: - Allow Exclusive Fullscreen: + Allow Exclusive Fullscreen: Disallowed - Disallowed + Inte tillåten Allowed - Allowed + Tillåten Debugging Options - Debugging Options + Felsökningsalternativ Override Texture Barriers: - Override Texture Barriers: + Override Texture Barriers: Use Debug Device - Use Debug Device + Använd felsökningsenhet - + Show Speed Percentages - Show Speed Percentages + Visa hastighetsprocent Disable Framebuffer Fetch - Disable Framebuffer Fetch + Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. - Mjukvara + Programvara - + Null Null here means that this is a graphics backend that will show nothing. - Null + Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] - Use Global Setting [%1] + Använd global inställning [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked - Unchecked + Inte markerat + + + + Enable Widescreen Patches + Enable Widescreen Patches - + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. - Disables interlacing offset which may reduce blurring in some situations. + Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering - Bilinear Filtering + Bilinjär filtrering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. - Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. - Enables the option to show the overscan area on games which draw more than the safe area of the screen. + Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override - FMV Aspect Ratio Override + FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads - Software Rendering Threads + Software Rendering Threads - + CPU Sprite Render Size - CPU Sprite Render Size + CPU Sprite Render Size - + Software CLUT Render - Software CLUT Render + Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. - This option disables game-specific render fixes. + This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion - Framebuffer Conversion + Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled - Disabled - - - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? + Inaktiverad - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. - Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. - Dumps replaceable textures to disk. Will reduce performance. + Dumpar ersättningsbara texturer till disk. Kommer att minska prestandan. - + Includes mipmaps when dumping textures. - Includes mipmaps when dumping textures. + Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. - Allows texture dumping when FMVs are active. You should not enable this. + Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. - Loads replacement textures where available and user-provided. + Läser in ersättningstexturer som finns tillgängliga och tillhandahållna av användaren. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. - Preloads all replacement textures to memory. Not necessary with asynchronous loading. + Förinläser alla ersättningstexturer till minnet. Behövs inte med asynkron inläsning. - + Enables FidelityFX Contrast Adaptive Sharpening. - Enables FidelityFX Contrast Adaptive Sharpening. + Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. - Determines the intensity the sharpening effect in CAS post-processing. + Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. - Adjusts brightness. 50 is normal. + Justerar ljusstyrka. 50 är normal. - + Adjusts contrast. 50 is normal. - Adjusts contrast. 50 is normal. + Justerar kontrast. 50 är normal. - + Adjusts saturation. 50 is normal. - Adjusts saturation. 50 is normal. + Justerar färgmättnad. 50 är normal. - + Scales the size of the onscreen OSD from 50% to 500%. - Scales the size of the onscreen OSD from 50% to 500%. + Skalar storleken på skärmens OSD från 50% till 500%. - + OSD Messages Position - OSD Messages Position + Position för OSD-meddelanden - + OSD Statistics Position - OSD Statistics Position + Position för OSD-statistik - + Shows a variety of on-screen performance data points as selected by the user. - Shows a variety of on-screen performance data points as selected by the user. + Visar en mängd olika datapunkter på skärmen som valts av användaren. - + Shows the vsync rate of the emulator in the top-right corner of the display. - Shows the vsync rate of the emulator in the top-right corner of the display. + Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. - Displays various settings and the current values of those settings, useful for debugging. + Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. - Displays a graph showing the average frametimes. + Visar en graf över genomsnittliga bildrutetider. - + Shows the current system hardware information on the OSD. - Shows the current system hardware information on the OSD. + Visar aktuell information om systemets hårdvara i OSD. - + Video Codec - Video Codec + Videokodek - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format - Video Format + Videoformat - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate - Video Bitrate + Bitfrekvens för video - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution - Automatisk Upplösning + Automatisk upplösning - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments - Enable Extra Video Arguments + Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. - Allows you to pass arguments to the selected video codec. + Allows you to pass arguments to the selected video codec. - + Extra Video Arguments - Extra Video Arguments + Extra videoargument - + Audio Codec Ljudkodek - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate - Audio Bitrate + Bitfrekvens för ljud - + Enable Extra Audio Arguments - Enable Extra Audio Arguments + Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. - Allows you to pass arguments to the selected audio codec. + Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments - Extra Audio Arguments + Extra ljudargument - + Allow Exclusive Fullscreen - Allow Exclusive Fullscreen + Tillåt exklusiv helskärm - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) - 1.25x Native (~450px) + 1.25x inbyggd (~450px) - + 1.5x Native (~540px) - 1.5x Native (~540px) + 1.5x inbyggd (~540px) - + 1.75x Native (~630px) - 1.75x Native (~630px) + 1.75x inbyggd (~630px) - + 2x Native (~720px/HD) - 2x Native (~720px/HD) + 2x inbyggd (~720px/HD) - + 2.5x Native (~900px/HD+) - 2.5x Native (~900px/HD+) + 2.5x inbyggd (~900px/HD+) - + 3x Native (~1080px/FHD) - 3x Native (~1080px/FHD) + 3x inbyggd (~1080px/FHD) - + 3.5x Native (~1260px) - 3.5x Native (~1260px) + 3.5x inbyggd (~1260px) - + 4x Native (~1440px/QHD) - 4x Native (~1440px/QHD) + 4x inbyggd (~1440px/QHD) - + 5x Native (~1800px/QHD+) - 5x Native (~1800px/QHD+) + 5x inbyggd (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) - 6x Native (~2160px/4K UHD) + 6x inbyggd (~2160px/4K UHD) - + 7x Native (~2520px) - 7x Native (~2520px) + 7x inbyggd (~2520px) - + 8x Native (~2880px/5K UHD) - 8x Native (~2880px/5K UHD) + 8x inbyggd (~2880px/5K UHD) - + 9x Native (~3240px) - 9x Native (~3240px) + 9x inbyggd (~3240px) - + 10x Native (~3600px/6K UHD) - 10x Native (~3600px/6K UHD) + 10x inbyggd (~3600px/6K UHD) - + 11x Native (~3960px) - 11x Native (~3960px) + 11x inbyggd (~3960px) - + 12x Native (~4320px/8K UHD) - 12x Native (~4320px/8K UHD) + 12x inbyggd (~4320px/8K UHD) - + 13x Native (~4680px) - 13x Native (~4680px) + 13x inbyggd (~4680px) - + 14x Native (~5040px) - 14x Native (~5040px) + 14x inbyggd (~5040px) - + 15x Native (~5400px) - 15x Native (~5400px) + 15x inbyggd (~5400px) - + 16x Native (~5760px) - 16x Native (~5760px) + 16x inbyggd (~5760px) - + 17x Native (~6120px) - 17x Native (~6120px) + 17x inbyggd (~6120px) - + 18x Native (~6480px/12K UHD) - 18x Native (~6480px/12K UHD) + 18x inbyggd (~6480px/12K UHD) - + 19x Native (~6840px) - 19x Native (~6840px) + 19x inbyggd (~6840px) - + 20x Native (~7200px) - 20x Native (~7200px) + 20x inbyggd (~7200px) - + 21x Native (~7560px) - 21x Native (~7560px) + 21x inbyggd (~7560px) - + 22x Native (~7920px) - 22x Native (~7920px) + 22x inbyggd (~7920px) - + 23x Native (~8280px) - 23x Native (~8280px) + 23x inbyggd (~8280px) - + 24x Native (~8640px/16K UHD) - 24x Native (~8640px/16K UHD) + 24x inbyggd (~8640px/16K UHD) - + 25x Native (~9000px) - 25x Native (~9000px) + 25x inbyggd (~9000px) - - + + %1x Native - %1x Native + %1x inbyggd - - - - - - - - - + + + + + + + + + Checked - Checked + Markerat - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling - Integer Scaling + Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio - Aspect Ratio + Bildförhållande - + Auto Standard (4:3/3:2 Progressive) - Auto Standard (4:3/3:2 Progressive) + Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing - Deinterlacing + Deinterlacing - + Screenshot Size - Screenshot Size + Skärmbildsstorlek - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format - Screenshot Format + Skärmbildsformat - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality - Screenshot Quality + Skärmbildskvalitet - - + + 50% 50 % - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100 % - + Vertical Stretch - Vertical Stretch + Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode - Fullscreen Mode + Helskärmsläge - - - + + + Borderless Fullscreen - Borderless Fullscreen + Ramfri helskärm - + Chooses the fullscreen resolution and frequency. - Chooses the fullscreen resolution and frequency. + Chooses the fullscreen resolution and frequency. - + Left Vänster - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. - Changes the number of pixels cropped from the left side of the display. + Changes the number of pixels cropped from the left side of the display. - + Top - Top + Överst - + Changes the number of pixels cropped from the top of the display. - Changes the number of pixels cropped from the top of the display. + Changes the number of pixels cropped from the top of the display. - + Right Höger - + Changes the number of pixels cropped from the right side of the display. - Changes the number of pixels cropped from the right side of the display. + Changes the number of pixels cropped from the right side of the display. - + Bottom - Bottom + Nederst - + Changes the number of pixels cropped from the bottom of the display. - Changes the number of pixels cropped from the bottom of the display. + Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) - Native (PS2) (Default) + Inbyggd (PS2) (Standard) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering - Texture Filtering + Texturfiltrering - + Trilinear Filtering - Trilinear Filtering + Trilinear Filtering - + Anisotropic Filtering - Anisotropic Filtering + Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. - Reduces texture aliasing at extreme viewing angles. + Reduces texture aliasing at extreme viewing angles. - + Dithering - Dithering + Dithering - + Blending Accuracy - Blending Accuracy + Blending Accuracy - + Texture Preloading - Texture Preloading + Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 trådar - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. - Enables mipmapping, which some games require to render correctly. + Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - The maximum target memory width that will allow the CPU Sprite Renderer to activate on. + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT - GPU Target CLUT + GPU Target CLUT - + Skipdraw Range Start - Skipdraw Range Start + Skipdraw Range Start - - - - + + + + 0 - 0 + 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End - Skipdraw Range End + Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. - Uploads GS data when rendering a new frame to reproduce some effects accurately. + Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset - Half Pixel Offset + Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. - Might fix some misaligned fog, bloom, or blend effect. + Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite - Round Sprite + Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X - Texture Offsets X + Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. - Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y - Texture Offsets Y + Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. - Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale - Bilinear Upscale + Bilinjär uppskalning - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. - Force palette texture draws to render at native resolution. + Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx - Contrast Adaptive Sharpening + Contrast Adaptive Sharpening - + Sharpness Skärpa - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Ljusstyrka - - - + + + 50 50 - + Contrast Kontrast - + TV Shader - TV Shader + TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. - Applies a shader which replicates the visual effects of different styles of television set. + Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale - OSD Scale + OSD-skala - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. + Visar meddelanden på skärmen när händelser inträffar såsom sparade tillstånd skapas/läses in, skärmbilder tas etc. - + Shows the internal frame rate of the game in the top-right corner of the display. - Shows the internal frame rate of the game in the top-right corner of the display. + Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - Shows the current emulation speed of the system in the top-right corner of the display as a percentage. + Visar den aktuella emuleringshastigheten i övre högra hörnet av skärmen som ett procenttal. - + Shows the resolution of the game in the top-right corner of the display. - Shows the resolution of the game in the top-right corner of the display. + Visar spelets upplösning längst upp i högra hörnet av skärmen. - + Shows host's CPU utilization. - Shows host's CPU utilization. + Visar värdens CPU-användning. - + Shows host's GPU utilization. - Shows host's GPU utilization. + Visar värdens GPU-användning. - + Shows counters for internal graphical utilization, useful for debugging. - Shows counters for internal graphical utilization, useful for debugging. + Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. - Shows the current controller state of the system in the bottom-left corner of the display. + Visar aktuellt tillstånd för handkontroller i nedre vänstra hörnet av skärmen. - + Shows the current PCSX2 version on the top-right corner of the display. - Shows the current PCSX2 version on the top-right corner of the display. + Visar aktuell version av PCSX2 i övre högra hörnet på skärmen. - + Shows the currently active video capture status. - Shows the currently active video capture status. + Visar aktuell status för videofångst. - + Shows the currently active input recording status. - Shows the currently active input recording status. + Visar aktuell status för inmatningsinspelning. - + Displays warnings when settings are enabled which may break games. - Displays warnings when settings are enabled which may break games. + Visar varningar när inställningar är aktiverade som kan förstöra spel. - - + + Leave It Blank - Leave It Blank + Lämna tomt - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. - Sets the audio bitrate to be used. + Sets the audio bitrate to be used. - + 160 kbps - 160 kbps + 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression - GS Dump Compression + GS Dump Compression - + Change the compression algorithm used when creating a GS dump. - Change the compression algorithm used when creating a GS dump. + Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit - Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. - Displays additional, very high upscaling multipliers dependent on GPU capability. + Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device - Enable Debug Device + Aktivera felsökningsenhet - + Enables API-level validation of graphics commands. - Enables API-level validation of graphics commands. + Enables API-level validation of graphics commands. - + GS Download Mode - GS Download Mode + GS Download Mode - + Accurate - Accurate + Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. - Default + Standard - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format - Default + Standard @@ -14137,454 +14197,454 @@ Swap chain: see Microsoft's Terminology Portal. Graphics - Graphics + Grafik Save Screenshot - Save Screenshot + Spara skärmbild Toggle Video Capture - Toggle Video Capture + Växla videofångst Save Single Frame GS Dump - Save Single Frame GS Dump + Spara GS-dump med enstaka bildruta Save Multi Frame GS Dump - Save Multi Frame GS Dump + Save Multi Frame GS Dump Toggle Software Rendering - Toggle Software Rendering + Växla programvarurendering Increase Upscale Multiplier - Increase Upscale Multiplier + Increase Upscale Multiplier Decrease Upscale Multiplier - Decrease Upscale Multiplier + Decrease Upscale Multiplier Toggle On-Screen Display - Toggle On-Screen Display + Växla On-Screen Display Cycle Aspect Ratio - Cycle Aspect Ratio + Växla bildförhållande Aspect ratio set to '{}'. - Aspect ratio set to '{}'. + Bildförhållande inställt till '{}'. Toggle Hardware Mipmapping - Toggle Hardware Mipmapping + Toggle Hardware Mipmapping Hardware mipmapping is now enabled. - Hardware mipmapping is now enabled. + Hardware mipmapping is now enabled. Hardware mipmapping is now disabled. - Hardware mipmapping is now disabled. + Hardware mipmapping is now disabled. Cycle Deinterlace Mode - Cycle Deinterlace Mode + Cycle Deinterlace Mode Automatic - Automatic + Automatisk Off - Off + Av Weave (Top Field First) - Weave (Top Field First) + Weave (Top Field First) Weave (Bottom Field First) - Weave (Bottom Field First) + Weave (Bottom Field First) Bob (Top Field First) - Bob (Top Field First) + Bob (Top Field First) Bob (Bottom Field First) - Bob (Bottom Field First) + Bob (Bottom Field First) Blend (Top Field First) - Blend (Top Field First) + Blend (Top Field First) Blend (Bottom Field First) - Blend (Bottom Field First) + Blend (Bottom Field First) Adaptive (Top Field First) - Adaptive (Top Field First) + Adaptive (Top Field First) Adaptive (Bottom Field First) - Adaptive (Bottom Field First) + Adaptive (Bottom Field First) Deinterlace mode set to '{}'. - Deinterlace mode set to '{}'. + Deinterlace mode set to '{}'. Toggle Texture Dumping - Toggle Texture Dumping + Växla texturdumpning Texture dumping is now enabled. - Texture dumping is now enabled. + Texturdumpning är nu aktiverad. Texture dumping is now disabled. - Texture dumping is now disabled. + Texturdumpning är nu inaktiverad. Toggle Texture Replacements - Toggle Texture Replacements + Växla texturersättningar Texture replacements are now enabled. - Texture replacements are now enabled. + Texture replacements are now enabled. Texture replacements are now disabled. - Texture replacements are now disabled. + Texture replacements are now disabled. Reload Texture Replacements - Reload Texture Replacements + Läs om texturersättningar Texture replacements are not enabled. - Texture replacements are not enabled. + Texture replacements are not enabled. Reloading texture replacements... - Reloading texture replacements... + Läser om texturersättningar... Target speed set to {:.0f}%. - Target speed set to {:.0f}%. + Målhastighet inställd till {:.0f}%. Volume: Muted - Volume: Muted + Volym: Tyst Volume: {}% - Volume: {}% + Volym: {}% No save state found in slot {}. - No save state found in slot {}. + Inget sparat tillstånd hittades i plats {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu - Open Pause Menu + Öppna pausmenyn - + Open Achievements List - Open Achievements List + Öppna prestationslistan - + Open Leaderboards List - Open Leaderboards List + Öppna topplistan - + Toggle Pause - Toggle Pause + Växla paus - + Toggle Fullscreen - Toggle Fullscreen + Växla helskärm - + Toggle Frame Limit - Toggle Frame Limit + Växla bildrutegräns - + Toggle Turbo / Fast Forward - Toggle Turbo / Fast Forward + Växla turbo / snabbspolning - + Toggle Slow Motion - Toggle Slow Motion + Växla slowmotion - + Turbo / Fast Forward (Hold) - Turbo / Fast Forward (Hold) + Turbo / Fast Forward (Hold) - + Increase Target Speed - Increase Target Speed + Öka målhastighet - + Decrease Target Speed - Decrease Target Speed + Sänk målhastighet - + Increase Volume - Increase Volume + Öka volymen - + Decrease Volume - Decrease Volume + Sänk volymen - + Toggle Mute - Toggle Mute + Växla tyst ljud - + Frame Advance - Frame Advance + Frame Advance - + Shut Down Virtual Machine - Shut Down Virtual Machine + Stäng av virtuell maskin - + Reset Virtual Machine - Reset Virtual Machine + Starta om virtuell maskin - + Toggle Input Recording Mode - Toggle Input Recording Mode + Växla läge för inmatningsinspelning - - + + Save States - Save States + Sparade tillstånd - + Select Previous Save Slot - Select Previous Save Slot + Välj föregående sparplats - + Select Next Save Slot - Select Next Save Slot + Välj nästa sparplats - + Save State To Selected Slot - Save State To Selected Slot + Spara tillstånd till vald plats - + Load State From Selected Slot - Load State From Selected Slot + Läs in tillstånd från vald plats - + Save State and Select Next Slot - Save State and Select Next Slot + Spara tillstånd och välj nästa plats - + Select Next Slot and Save State - Select Next Slot and Save State + Välj nästa plats och spara tillstånd - + Save State To Slot 1 - Save State To Slot 1 + Spara tillstånd till plats 1 - + Load State From Slot 1 - Load State From Slot 1 + Läs in tillstånd från plats 1 - + Save State To Slot 2 - Save State To Slot 2 + Spara tillstånd till plats 2 - + Load State From Slot 2 - Load State From Slot 2 + Läs in tillstånd från plats 2 - + Save State To Slot 3 - Save State To Slot 3 + Spara tillstånd till plats 3 - + Load State From Slot 3 - Load State From Slot 3 + Läs in tillstånd från plats 3 - + Save State To Slot 4 - Save State To Slot 4 + Spara tillstånd till plats 4 - + Load State From Slot 4 - Load State From Slot 4 + Läs in tillstånd från plats 4 - + Save State To Slot 5 - Save State To Slot 5 + Spara tillstånd till plats 5 - + Load State From Slot 5 - Load State From Slot 5 + Läs in tillstånd från plats 5 - + Save State To Slot 6 - Save State To Slot 6 + Spara tillstånd till plats 6 - + Load State From Slot 6 - Load State From Slot 6 + Läs in tillstånd från plats 6 - + Save State To Slot 7 - Save State To Slot 7 + Spara tillstånd till plats 7 - + Load State From Slot 7 - Load State From Slot 7 + Läs in tillstånd från plats 7 - + Save State To Slot 8 - Save State To Slot 8 + Spara tillstånd till plats 8 - + Load State From Slot 8 - Load State From Slot 8 + Läs in tillstånd från plats 8 - + Save State To Slot 9 - Save State To Slot 9 + Spara tillstånd till plats 9 - + Load State From Slot 9 - Load State From Slot 9 + Läs in tillstånd från plats 9 - + Save State To Slot 10 - Save State To Slot 10 + Spara tillstånd till plats 10 - + Load State From Slot 10 - Load State From Slot 10 + Läs in tillstånd från plats 10 Save slot {0} selected ({1}). - Save slot {0} selected ({1}). + Sparplats {0} vald ({1}). @@ -14592,78 +14652,78 @@ Swap chain: see Microsoft's Terminology Portal. {} Recording Input - {} Recording Input + {} Spelar in inmatning {} Replaying - {} Replaying + {} Spelar upp Input Recording Active: {} - Input Recording Active: {} + Inmatningsinspelning aktiv: {} Frame: {}/{} ({}) - Frame: {}/{} ({}) + Bildruta: {}/{} ({}) Undo Count: {} - Undo Count: {} + Ångringsantal: {} Saved at {0:%H:%M} on {0:%a} {0:%Y/%m/%d}. - Saved at {0:%H:%M} on {0:%a} {0:%Y/%m/%d}. + Sparades {0:%H:%M} den {0:%a} {0:%Y/%m/%d}. Save state selector is unavailable without a valid game serial. - Save state selector is unavailable without a valid game serial. + Val av sparningsplats är inte tillgänglig utan ett giltigt serienummer för spelet. Load - Load + Läs in Save - Save + Spara Select Previous - Select Previous + Välj föregående Select Next - Select Next + Välj nästa Close Menu - Close Menu + Stäng menyn Save Slot {0} - Save Slot {0} + Sparningsplats {0} No save present in this slot. - No save present in this slot. + Ingen sparning finns på denna plats. no save yet - no save yet + ingen sparning än @@ -14671,65 +14731,65 @@ Swap chain: see Microsoft's Terminology Portal. Edit Bindings - Edit Bindings + Redigera bindningar Bindings for Controller0/ButtonCircle - Bindings for Controller0/ButtonCircle + Bindningar för Kontroller0/ButtonCircle Sensitivity: - Sensitivity: + Känslighet: 100% - 100% + 100% Deadzone: - Deadzone: + Dödläge: Add Binding - Add Binding + Lägg till bindning Remove Binding - Remove Binding + Ta bort bindning Clear Bindings - Clear Bindings + Töm bindningar Bindings for %1 %2 - Bindings for %1 %2 + Bindningar för %1 %2 Close - Close + Stäng Push Button/Axis... [%1] - Push Button/Axis... [%1] + Tryckknapp/Axlar... [%1] %1% - %1% + %1% @@ -14740,36 +14800,36 @@ Swap chain: see Microsoft's Terminology Portal. Left click to assign a new button Shift + left click for additional bindings - + -Left click to assign a new button -Shift + left click for additional bindings +Vänsterklicka för att tilldela en ny knapp +Skift + vänsterklick för ytterligare bindningar Right click to clear binding - -Right click to clear binding + +Högerklicka för att tömma bindning No bindings registered - No bindings registered + Inga bindningar registrerade %n bindings - - %n bindings - %n bindings + + %n bindning + %n bindningar Push Button/Axis... [%1] - Push Button/Axis... [%1] + Tryckknapp/Axlar... [%1] @@ -14777,37 +14837,37 @@ Right click to clear binding Started new input recording - Started new input recording + Startade ny inmatningsinspelning Savestate load failed for input recording - Savestate load failed for input recording + Inläsning av sparat tillstånd misslyckades för inmatningsinspelning Savestate load failed for input recording, unsupported version? - Savestate load failed for input recording, unsupported version? + Inläsning av sparat tillstånd misslyckades för inmatningsinspelning. Stöds versionen? Replaying input recording - Replaying input recording + Spelar upp inmatningsinspelning Input recording stopped - Input recording stopped + Inmatningsinspelning stoppad Unable to stop input recording - Unable to stop input recording + Kunde inte stoppa inmatningsinspelning Congratulations, you've been playing for far too long and thus have reached the limit of input recording! Stopping recording now... - Congratulations, you've been playing for far too long and thus have reached the limit of input recording! Stopping recording now... + Gratulerar, du har spelat för lång tid och därför nått till gränsen för inmatningsinspelning! Stoppar inspelningen nu... @@ -14817,12 +14877,12 @@ Right click to clear binding Record Mode Enabled - Record Mode Enabled + Inspelningsläge aktiverat Replay Mode Enabled - Replay Mode Enabled + Uppspelningsläge aktiverat @@ -14830,7 +14890,7 @@ Right click to clear binding Input Recording Viewer - Input Recording Viewer + Visare för inmatningsinspelning @@ -14860,27 +14920,27 @@ Right click to clear binding %1 %2 - %1 %2 + %1 %2 %1 - %1 + %1 %1 [%2] - %1 [%2] + %1 [%2] Left Analog - Left Analog + Vänster analog Right Analog - Right Analog + Höger analog @@ -14925,7 +14985,7 @@ Right click to clear binding D-Pad Down - D-Pad Down + D-Pad ner @@ -14940,42 +15000,42 @@ Right click to clear binding Select - Select + Select Start - Start + Start D-Pad Right - D-Pad Right + D-Pad höger D-Pad Up - D-Pad Up + D-Pad upp D-Pad Left - D-Pad Left + D-Pad vänster Input Recording Files (*.p2m2) - Input Recording Files (*.p2m2) + Filer för inmatningsinspelning (*.p2m2) Opening Recording Failed - Opening Recording Failed + Öppning av inspelning misslyckades Failed to open file: %1 - Failed to open file: %1 + Misslyckades med att öppna filen: %1 @@ -14988,12 +15048,12 @@ Right click to clear binding No devices with vibration motors were detected. - No devices with vibration motors were detected. + Inga enheter med vibrationsmotorer hittades. Select vibration motor for %1. - Select vibration motor for %1. + Välj vibrationsmotor för %1. @@ -15001,94 +15061,94 @@ Right click to clear binding Behaviour - Behaviour + Beteende Pause On Focus Loss - Pause On Focus Loss + Pausa när fokus tappas Inhibit Screensaver - Inhibit Screensaver + Förhindra skärmsläckare Pause On Start - Pause On Start + Pausa vid start Confirm Shutdown - Confirm Shutdown + Bekräfta avstängning Enable Discord Presence - Enable Discord Presence + Aktivera Discord-närvaro Pause On Controller Disconnection - Pause On Controller Disconnection + Pausa när handkontroller kopplas från Game Display - Game Display + Spelskärm Start Fullscreen - Start Fullscreen + Starta helskärm Double-Click Toggles Fullscreen - Double-Click Toggles Fullscreen + Dubbelklick växlar helskärm Render To Separate Window - Render To Separate Window + Renderera till separat fönster Hide Main Window When Running - Hide Main Window When Running + Dölj huvudmenyn vid körning Disable Window Resizing - Disable Window Resizing + Inaktivera ändring av fönsterstorlek Hide Cursor In Fullscreen - Hide Cursor In Fullscreen + Dölj markör i helskärm Preferences - Preferences + Inställningar Language: - Language: + Språk: @@ -15098,123 +15158,123 @@ Right click to clear binding Automatic Updater - Automatic Updater + Automatisk uppdatering Update Channel: - Update Channel: + Uppdateringskanal: Current Version: - Current Version: + Aktuell version: Enable Automatic Update Check - Enable Automatic Update Check + Aktivera automatisk uppdateringskontroll Check for Updates... - Check for Updates... + Leta efter uppdateringar... Native - Native + Inbyggd Classic Windows Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Classic Windows + Classic Windows Dark Fusion (Gray) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Dark Fusion (Gray) [Dark] + Dark Fusion (Grå) [Mörk] Dark Fusion (Blue) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Dark Fusion (Blue) [Dark] + Dark Fusion (Blå) [Mörk] Grey Matter (Gray) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Grey Matter (Gray) [Dark] + Grey Matter (Grå) [Mörk] Untouched Lagoon (Grayish Green/-Blue ) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Untouched Lagoon (Grayish Green/-Blue ) [Light] + Untouched Lagoon (Grågrön/-Blå ) [Ljus] Baby Pastel (Pink) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Baby Pastel (Pink) [Light] + Baby Pastel (Rosa) [Ljus] Pizza Time! (Brown-ish/Creamy White) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Pizza Time! (Brown-ish/Creamy White) [Light] + Pizza Time! (Brun/Krämvit) [Ljus] PCSX2 (White/Blue) [Light] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - PCSX2 (White/Blue) [Light] + PCSX2 (Vit/Blå) [Ljus] Scarlet Devil (Red/Purple) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Scarlet Devil (Red/Purple) [Dark] + Scarlet Devil (Röd/Lila) [Mörk] Violet Angel (Blue/Purple) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Violet Angel (Blue/Purple) [Dark] + Violet Angel (Blå/Lila) [Mörk] Cobalt Sky (Blue) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Cobalt Sky (Blue) [Dark] + Cobalt Sky (Blå) [Mörk] Ruby (Black/Red) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Ruby (Black/Red) [Dark] + Ruby (Svart/Röd) [Mörk] Sapphire (Black/Blue) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Sapphire (Black/Blue) [Dark] + Sapphire (Svart/Blå) [Mörk] Emerald (Black/Green) [Dark] Ignore what Crowdin says in this string about "[Light]/[Dark]" being untouchable here, these are not variables in this case and must be translated. - Emerald (Black/Green) [Dark] + Emerald (Black/Grön) [Mörk] Custom.qss [Drop in PCSX2 Folder] "Custom.qss" must be kept as-is. - Custom.qss [Drop in PCSX2 Folder] + Custom.qss [Släpp i PCSX2-mapp] @@ -15222,43 +15282,43 @@ Right click to clear binding Checked - Checked + Markerat Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. - Automatically checks for updates to the program on startup. Updates can be deferred until later or skipped entirely. + Letar automatiskt efter uppdateringar till programmet vid uppstart. Uppdateringar kan fördröjas till senare eller hoppas över helt. %1 (%2) Variable %1 shows the version number and variable %2 shows a timestamp. - %1 (%2) + %1 (%2) Prevents the screen saver from activating and the host from sleeping while emulation is running. - Prevents the screen saver from activating and the host from sleeping while emulation is running. + Förhindrar att skärmsläckaren aktiveras och att värddatorn somnar när emuleringen körs. Determines whether a prompt will be displayed to confirm shutting down the virtual machine when the hotkey is pressed. - Determines whether a prompt will be displayed to confirm shutting down the virtual machine when the hotkey is pressed. + Bestämmer huruvida en prompt ska visas för att bekräfta avstängning av den virtuella maskinen när snabbtangenten trycks ner. Pauses the emulator when a controller with bindings is disconnected. - Pauses the emulator when a controller with bindings is disconnected. + Pausar emulatorn när en handkontroller med bindningar kopplas från. Allows switching in and out of fullscreen mode by double-clicking the game window. - Allows switching in and out of fullscreen mode by double-clicking the game window. + Tillåter att växla in och ut ur helskärmsläge genom att dubbelklicka i spelfönstret. Prevents the main window from being resized. - Prevents the main window from being resized. + Förhindrar att huvudfönstret storleksändras. @@ -15271,52 +15331,52 @@ Right click to clear binding Unchecked - Unchecked + Inte markerat Fusion [Light/Dark] - Fusion [Light/Dark] + Fusion [Ljus/Mörk] Pauses the emulator when a game is started. - Pauses the emulator when a game is started. + Pausar emulatorn när ett spel startas. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. + Pausar emulatorn när du minimerar fönstret eller växlar till ett annat program och avpausar när du växlar tillbaka. Automatically switches to fullscreen mode when a game is started. - Automatically switches to fullscreen mode when a game is started. + Ändrar automatiskt till fullskärm när spelet startar. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - Hides the mouse pointer/cursor when the emulator is in fullscreen mode. + Döljer muspekaren/markören när emulatorn är i helskärmsläge. Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. - Renders the game to a separate window, instead of the main window. If unchecked, the game will display over the top of the game list. + Renderar spelet till ett separat fönster istället för huvudfönstret. Om inte markerad kommer spelet att visas över spellistan. Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. - Hides the main window (with the game list) when a game is running, requires Render To Separate Window to be enabled. + Döljer huvudfönstret (med spellistan) när ett spel körs. Kräver att Rendera till separat fönster är aktiverat. Shows the game you are currently playing as part of your profile in Discord. - Shows the game you are currently playing as part of your profile in Discord. + Visar spelet som du för närvarande spelar som en del av din profil på Discord. System Language [Default] - System Language [Default] + Systemspråk [Standard] @@ -15324,67 +15384,67 @@ Right click to clear binding Log Window - %1 [%2] - Log Window - %1 [%2] + Loggfönster - %1 [%2] Log Window - Log Window + Loggfönster &Clear - &Clear + &Töm &Save... - &Save... + &Spara... Cl&ose - Cl&ose + Stä&ng &Settings - &Settings + I&nställningar Log To &System Console - Log To &System Console + Logga till &systemkonsoll Log To &Debug Console - Log To &Debug Console + Logga till &felsökningskonsoll Log To &File - Log To &File + Logga till &fil Attach To &Main Window - Attach To &Main Window + Fäst till &huvudfönstret Show &Timestamps - Show &Timestamps + Visa &tidsstämplar Select Log File - Select Log File + Välj loggfil Log Files (*.txt) - Log Files (*.txt) + Loggfiler (*.txt) @@ -15394,13 +15454,13 @@ Right click to clear binding Failed to open file for writing. - Failed to open file for writing. + Misslyckades med att öppna filen för skrivning. Log was written to %1. - Log was written to %1. + Loggen skrevs till %1. @@ -15409,37 +15469,37 @@ Right click to clear binding Services - Services + Tjänster Hide %1 - Hide %1 + Dölj %1 Hide Others - Hide Others + Dölj övriga Show All - Show All + Visa alla Preferences... - Preferences... + Inställningar... Quit %1 - Quit %1 + Avsluta %1 About %1 - About %1 + Om %1 @@ -15452,1094 +15512,1108 @@ Right click to clear binding &System - &System + &System - - - + + Change Disc - Change Disc + Byt skiva - - + Load State - Load State - - - - Save State - Save State + Läs in tillstånd - + S&ettings - S&ettings + &Inställningar - + &Help - &Help + &Hjälp - + &Debug - &Debug - - - - Switch Renderer - Switch Renderer + Fe&lsök - + &View - &View + &Visa - + &Window Size - &Window Size + &Fönsterstorlek - + &Tools - &Tools - - - - Input Recording - Input Recording + Ver&ktyg - + Toolbar - Toolbar + Verktygsrad - + Start &File... - Start &File... + Starta &fil... - - Start &Disc... - Start &Disc... - - - + Start &BIOS - Start &BIOS + Starta &BIOS - + &Scan For New Games - &Scan For New Games + &Sök efter nya spel - + &Rescan All Games - &Rescan All Games + Sök igenom alla spe&l igen - + Shut &Down - Shut &Down + Stäng a&v - + Shut Down &Without Saving - Shut Down &Without Saving + Stäng av &utan att spara - + &Reset - &Reset + Starta &om - + &Pause - &Pause + &Paus - + E&xit - E&xit + Avs&luta - + &BIOS - &BIOS - - - - Emulation - Emulation + &BIOS - + &Controllers - &Controllers + Handko&ntroller - + &Hotkeys - &Hotkeys + Snabbtan&genter - + &Graphics - &Graphics - - - - A&chievements - A&chievements + &Grafik - + &Post-Processing Settings... - &Post-Processing Settings... + Inställningar för e&fterbehandling... - - Fullscreen - Fullscreen - - - + Resolution Scale - Resolution Scale + Upplösningsskala - + &GitHub Repository... - &GitHub Repository... + &GitHub-förråd... - + Support &Forums... - Support &Forums... + Supportfor&um... - + &Discord Server... - &Discord Server... + &Discord-server... - + Check for &Updates... - Check for &Updates... + Leta e&fter uppdateringar... - + About &Qt... - About &Qt... + Om &Qt... - + &About PCSX2... - &About PCSX2... + Om &PCSX2... - + Fullscreen In Toolbar - Fullscreen + Helskärm - + Change Disc... In Toolbar - Change Disc... + Byt skiva... - + &Audio - &Audio - - - - Game List - Game List + Lju&d - - Interface - Interface + + Global State + Globalt tillstånd - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Skärmbild - - &Settings - &Settings + + Start File + In Toolbar + Starta fil - - From File... - From File... + + &Change Disc + &Byt skiva - - From Device... - From Device... + + &Load State + &Läs in tillstånd - - From Game List... - From Game List... + + Sa&ve State + S&para tillstånd - - Remove Disc - Remove Disc + + Setti&ngs + &Inställningar - - Global State - Global State + + &Switch Renderer + &Byt renderare - - &Screenshot - &Screenshot + + &Input Recording + In&matningsinspelning - - Start File - In Toolbar - Start File + + Start D&isc... + Starta s&kiva... - + Start Disc In Toolbar - Start Disc + Starta skiva - + Start BIOS In Toolbar - Start BIOS + Starta BIOS - + Shut Down In Toolbar - Shut Down + Stäng av - + Reset In Toolbar - Reset + Starta om - + Pause In Toolbar - Pause + Paus - + Load State In Toolbar - Load State + Läs in tillstånd - + Save State In Toolbar - Save State + Spara tillstånd - + + &Emulation + &Emulering + + + Controllers In Toolbar - Controllers + Handkontroller + + + + Achie&vements + &Prestationer + + + + &Fullscreen + &Helskärm + + + + &Interface + Gränss&nitt - + + Add Game &Directory... + Lägg till &spelkatalog... + + + Settings In Toolbar - Settings + Inställningar + + + + &From File... + Från &fil... + + + + From &Device... + Från &enhet... + + + + From &Game List... + Från spel&lista... + + + + &Remove Disc + Ta &bort skiva - + Screenshot In Toolbar - Screenshot + Skärmbild - + &Memory Cards - &Memory Cards + Minn&eskort - + &Network && HDD - &Network && HDD + &Nätverk och hårddisk - + &Folders - &Folders + &Mappar - + &Toolbar - &Toolbar + Ve&rktygsrad - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Visa &titlar (rutnätsvy) - - &Status Bar - &Status Bar + + &Open Data Directory... + Öppna &datakatalog... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + Växla pro&gramvarurenderare - - Game &List - Game &List + + &Open Debugger + Öppna d&ebugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + Läs om &fusk/spelpatchar - - Game &Properties - Game &Properties + + E&nable System Console + Aktivera system&konsoll - - Game &Grid - Game &Grid + + Enable &Debug Console + Aktivera &felsökningskonsoll - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Aktivera &loggfönster - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Aktivera &utförlig loggning - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Aktivera loggning för EE &Console - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Aktivera loggning för &IOP Console - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Spara enstaka bildruta för &GS-dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &Ny - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + Spela &upp - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stoppa - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + Han&dkontrollerloggar - - Open Debugger - Open Debugger + + &Input Recording Logs + Loggar för in&matningsinspelning - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Aktivera &CDVD-läsloggning - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Spara CDVD-&blockdump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + Aktivera &tidsstämplar i loggar - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Starta storbildslä&get - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + Hämta omslags&bilder... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + Visa a&vancerade inställningar - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + Inspelnin&gsvisare - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + Video&fångst - - New - This section refers to the Input Recording submenu. - Ny + + &Edit Cheats... + &Redigera fusk... - - Play - This section refers to the Input Recording submenu. - Spela + + Edit &Patches... + Redigera s&pelpatchar... - - Stop - This section refers to the Input Recording submenu. - Stopp + + &Status Bar + Statusra&d - - Settings - This section refers to the Input Recording submenu. - Inställningar + + + Game &List + Spellis&ta - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + &Lås verktygsraden - - Controller Logs - Controller Logs + + &Verbose Status + &Utförlig status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Systemskä&rm - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Properties + Spele&genskaper - - Save CDVD Block Dump - Save CDVD Block Dump + + Game &Grid + Spelr&utnät - - Enable Log Timestamps - Enable Log Timestamps + + Zoom &In (Grid View) + Zooma &in (rutnätsvy) - - - Start Big Picture Mode - Start Big Picture Mode + + Ctrl++ + Ctrl++ - - - Big Picture - In Toolbar - Big Picture + + Zoom &Out (Grid View) + Zooma &ut (rutnätsvy) - - Cover Downloader... - Cover Downloader... + + Ctrl+- + Ctrl+- - - - Show Advanced Settings - Show Advanced Settings + + Refresh &Covers (Grid View) + Uppdatera &omslag (rutnätsvy) - - Recording Viewer - Recording Viewer + + Open Memory Card Directory... + Öppna katalog för minnekort... - - - Video Capture - Video Capture + + Input Recording Logs + Loggar för inmatningsinspelning + + + + Enable &File Logging + Aktivera &filloggning + + + + Start Big Picture Mode + Starta storbildsläge + + + + + Big Picture + In Toolbar + Storbild - - Edit Cheats... - Edit Cheats... + + Show Advanced Settings + Visa avancerade inställningar - - Edit Patches... - Edit Patches... + + Video Capture + Videofångst - + Internal Resolution - Internal Resolution + Intern upplösning - + %1x Scale - %1x Scale + %1x skala - + Select location to save block dump: - Select location to save block dump: + Välj plats för att spara blockdumpar: - + Do not show again - Do not show again + Visa inte igen - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. Are you sure you want to continue? - Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. + Ändringar av avancerade inställningar kan ha oförväntade effekter på spel, inklusive grafiska problem, låsningar och även skadade sparade filer. Vil rekommenderar inte att ändra avancerade inställningar såvida inte du vet vad du gör och implikationerna av att ändra varje inställning. -The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. +PCSX2-teamet kommer inte att ge support för konfigurationer som ändrar dessa inställningar. Du gör det på egen risk. -Are you sure you want to continue? +Är du säker på att du vill fortsätta? - + %1 Files (*.%2) - %1 Files (*.%2) + %1 filer (*.%2) - + WARNING: Memory Card Busy - WARNING: Memory Card Busy + VARNING: Minneskortet är upptaget - + Confirm Shutdown - Confirm Shutdown + Bekräfta avstängning - + Are you sure you want to shut down the virtual machine? - Are you sure you want to shut down the virtual machine? + Är du säker på att du vill stänga av den virtuella maskinen? - + Save State For Resume - Save State For Resume + Spara tillstånd för att återuppta - - - - - - + + + + + + Error Fel - + You must select a disc to change discs. - You must select a disc to change discs. + Du måste välja en skiva för att byta skivor. - + Properties... - Properties... + Egenskaper... - + Set Cover Image... - Set Cover Image... + Ange omslagsbild... - + Exclude From List - Exclude From List + Exkludera från lista - + Reset Play Time - Reset Play Time + Nollställ spelad tid - + Check Wiki Page - Check Wiki Page + Titta på wikisidan - + Default Boot - Default Boot + Standarduppstart - + Fast Boot - Fast Boot + Snabb uppstart - + Full Boot - Full Boot + Fullständig uppstart - + Boot and Debug - Boot and Debug + Uppstart och felsökning - + Add Search Directory... - Add Search Directory... + Lägg till sökkatalog... - + Start File - Start File + Starta fil - + Start Disc - Start Disc + Starta skiva - + Select Disc Image - Select Disc Image + Välj skivavbild - + Updater Error - Updater Error + Fel vid uppdatering - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> + <p>Tuvärr, du försöker att uppdatera en PCSX2-version som inte är en officiell GitHub-utgåva. Den automatiska uppdateraren är endast aktiverad för officiella byggversioner för att förhindra inkompatibiltet.</p><p>Hämta en officiell byggversion på länken nedan:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. - Automatic updating is not supported on the current platform. + Automatisk uppdatering stöds inte på aktuell plattform. - + Confirm File Creation - Confirm File Creation + Bekräfta filskapande - + The pnach file '%1' does not currently exist. Do you want to create it? - The pnach file '%1' does not currently exist. Do you want to create it? + Ppnach-filen '%1' finns inte för närvarande. Vill du skapa den? - + Failed to create '%1'. - Failed to create '%1'. + Misslyckades med att skapa '%1'. - + Theme Change - Theme Change + Temaändring - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? + Byte av tema kommer att stänga felsökningsfönstret. Allt osparat data går förlorat. Vill du fortsätta? - + Input Recording Failed - Input Recording Failed + Inmatningsinspelning misslyckades - + Failed to create file: {} - Failed to create file: {} + Misslyckades med att skapa filen: {} - + Input Recording Files (*.p2m2) - Input Recording Files (*.p2m2) + Filer för inmatningsinspelning (*.p2m2) - + Input Playback Failed - Input Playback Failed + Inmatningsinspelning misslyckades - + Failed to open file: {} - Failed to open file: {} + Misslyckades med att öppna filen: {} - + Paused Pausad - + Load State Failed - Load State Failed + Inläsning av tillstånd misslyckades - + Cannot load a save state without a running VM. - Cannot load a save state without a running VM. + Kan inte läsa in ett sparat tillstånd utan en körande VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? + Den nya ELF kan inte läsas in utan att starta om virtuella maskinen. Vill du starta om den virtuella maskinen nu? - + Cannot change from game to GS dump without shutting down first. - Cannot change from game to GS dump without shutting down first. + Kan inte ändra från spel till GS-dump utan att stänga av först. - + Failed to get window info from widget - Failed to get window info from widget + Misslyckades med att få fönsterinfo från widget - + Stop Big Picture Mode - Stop Big Picture Mode + Stoppa storbildsläge - + Exit Big Picture In Toolbar - Exit Big Picture + Avsluta storbildsläget - + Game Properties - Game Properties + Spelegenskaper - + Game properties is unavailable for the current game. - Game properties is unavailable for the current game. + Spelegenskaper är inte tillgängliga för det aktuella spelet. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. + Kunde inte hitta några cd/dvd-rom-enheter. Försäkra dig om att du har en enhet ansluten och tillräckliga rättigheter att komma åt den. - + Select disc drive: - Select disc drive: + Välj skivenhet: - + This save state does not exist. - This save state does not exist. + Detta sparade tillstånd finns inte. - + Select Cover Image - Select Cover Image + Välj skivomslag - + Cover Already Exists - Cover Already Exists + Omslaget finns redan - + A cover image for this game already exists, do you wish to replace it? - A cover image for this game already exists, do you wish to replace it? + En omslagsbild för detta spel finns redan. Vill du ersätta den? - + + - Copy Error - Copy Error + Kopieringsfel - + Failed to remove existing cover '%1' - Failed to remove existing cover '%1' + Misslyckades med att ta bort befintligt omslag '%1' - + Failed to copy '%1' to '%2' - Failed to copy '%1' to '%2' + Misslyckades med att kopiera '%1' till '%2' - + Failed to remove '%1' - Failed to remove '%1' + Misslyckades med att ta bort '%1' - - + + Confirm Reset - Confirm Reset + Bekräfta omstart - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) - All Cover Image Types (*.jpg *.jpeg *.png *.webp) + Alla omslagsbildtyper (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. - You must select a different file to the current cover image. + Du måste välja en annan fil för den aktuella omslagsbilden. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. - Are you sure you want to reset the play time for '%1'? + Är du säker på att du vill nollställa speltiden för '%1'? -This action cannot be undone. +Denna åtgärd kan inte ångras. - + Load Resume State - Load Resume State + Läs in återställt tillstånd - + A resume save state was found for this game, saved at: %1. Do you want to load this state, or start from a fresh boot? - A resume save state was found for this game, saved at: + Ett sparat tillstånd hittades för detta spel som sparades: %1. -Do you want to load this state, or start from a fresh boot? +Vill du läsa in detta tillstånd eller starta från en fräsch uppstart? - + Fresh Boot - Fresh Boot + Fräsch uppstart - + Delete And Boot - Delete And Boot + Ta bort och starta upp - + Failed to delete save state file '%1'. - Failed to delete save state file '%1'. + Misslyckades med att ta bort sparad tillståndfil: '%1'. - + Load State File... - Load State File... + Läs in tillståndsfil... - + Load From File... - Load From File... + Läs in från fil... - - + + Select Save State File - Select Save State File + Välj fil för sparat tillstånd - + Save States (*.p2s) - Save States (*.p2s) + Sparade tillstånd (*.p2s) - + Delete Save States... - Delete Save States... + Ta bort sparade tillstånd... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) + Alla filtyper (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) + Alla filtyper (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> + VARNING: Ditt minneskort skriver fortfarande data. Stänga ner nu kommer <b>FÖRSTÖRA DITT MINNESKORT.</b> Det rekommenderas varmt att återuppta ditt spel och låta det skriva klart till minneskortet.<br><br>Vill du stänga av ändå och <b>FÖRSTÖRA DITT MINNESKORT?</b> - + Save States (*.p2s *.p2s.backup) - Save States (*.p2s *.p2s.backup) + Sparade tillstånd (*.p2s *.p2s.backup) - + Undo Load State - Undo Load State + Ångra inläst tillstånd - + Resume (%2) - Resume (%2) + Återuppta (%2) - + Load Slot %1 (%2) - Load Slot %1 (%2) + Läs in plats %1 (%2) - - + + Delete Save States - Delete Save States + Ta bort sparade tillstånd - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. - Are you sure you want to delete all save states for %1? + Är du säker på att du vill ta bort alla sparade tillstånd för %1? -The saves will not be recoverable. +Detta går inte att ångra. - + %1 save states deleted. - %1 save states deleted. + %1 sparade tillstånd togs bort. - + Save To File... - Save To File... + Spara till fil... - + Empty Tom - + Save Slot %1 (%2) - Save Slot %1 (%2) + Sparningsplats %1 (%2) - + Confirm Disc Change - Confirm Disc Change + Bekräfta skivbyte - + Do you want to swap discs or boot the new image (via system reset)? - Do you want to swap discs or boot the new image (via system reset)? + Vill du byta skivor eller starta upp nya avbilden (via systemomstart)? - + Swap Disc - Swap Disc + Växla skiva - + Reset - Återställ + Starta om Missing Font File - Missing Font File + Saknar typsnittsfil The font file '%1' is required for the On-Screen Display and Big Picture Mode to show messages in your language.<br><br>Do you want to download this file now? These files are usually less than 10 megabytes in size.<br><br><strong>If you do not download this file, on-screen messages will not be readable.</strong> - The font file '%1' is required for the On-Screen Display and Big Picture Mode to show messages in your language.<br><br>Do you want to download this file now? These files are usually less than 10 megabytes in size.<br><br><strong>If you do not download this file, on-screen messages will not be readable.</strong> + Typsnittsfilen '%1' krävs för On-Screen Display och Storbildsläget för att visa meddelandet på ditt språk.<br><br>Vill du hämta denna fil nu? Dessa filer är oftast mindre än 10 megabytes i storlek.<br><br><strong>Om du inte hämtar denna fil kommer skärmmeddelanden inte att gå att läsa.</strong> Downloading Files - Downloading Files + Hämtar filer MemoryCard - - + + Memory Card Creation Failed - Memory Card Creation Failed + Skapandet av minneskort misslyckades - + Could not create the memory card: {} - Could not create the memory card: + Kunde inte skapa minneskortet: {} - + Memory Card Read Failed - Memory Card Read Failed + Läsning av minneskort misslyckades - + Unable to access memory card: {} @@ -16547,36 +16621,41 @@ The saves will not be recoverable. Another instance of PCSX2 may be using this memory card or the memory card is stored in a write-protected folder. Close any other instances of PCSX2, or restart your computer. - Unable to access memory card: + Kunde inte komma åt minneskort: {} -Another instance of PCSX2 may be using this memory card or the memory card is stored in a write-protected folder. -Close any other instances of PCSX2, or restart your computer. +En annan instans av PCSX2 kanske använder detta minneskort eller minneskortet är lagrat i en skrivskyddad mapp. +Stäng andra instanser av PCSX2 eller starta om din dator. - - + + Memory Card '{}' was saved to storage. - Memory Card '{}' was saved to storage. + Minneskortet '{}' sparades till lagring. - + Failed to create memory card. The error was: {} - Failed to create memory card. The error was: + Misslyckades med att skapa minneskort. Felet var: {} - + Memory Cards reinserted. - Memory Cards reinserted. + Minneskort anslutna igen. - + Force ejecting all Memory Cards. Reinserting in 1 second. - Force ejecting all Memory Cards. Reinserting in 1 second. + Tvinga utmatning av alla minneskort. Ansluter igen om 1 sekund. + + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + Den virtuella konsolen har inte sparat till ditt minneskort under ganska lång tid. Sparade tillstånd bör inte användas i stället för att spara i spelet. @@ -16584,36 +16663,36 @@ Close any other instances of PCSX2, or restart your computer. Convert Memory Card - Convert Memory Card + Konvertera minneskort Conversion Type - Conversion Type + Konverteringstyp 8 MB File - 8 MB Fil + 8 MB -fil 16 MB File - 16 MB Fil + 16 MB-fil 32 MB File - 32 MB Fil + 32 MB-fil 64 MB File - 64 MB Fil + 64 MB-fil @@ -16623,43 +16702,43 @@ Close any other instances of PCSX2, or restart your computer. <center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center> - <center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center> + <center><strong>Observera:</strong> Konvertering av ett minneskort skapar en <strong>KOPIA</strong> av ditt befintliga minneskort. Det tar <strong>INTE bort, ändrar eller ersätter</strong> ditt befintliga minneskort.</center> Progress - Progress + Förlopp Uses a folder on your PC filesystem, instead of a file. Infinite capacity, while keeping the same compatibility as an 8 MB Memory Card. - Uses a folder on your PC filesystem, instead of a file. Infinite capacity, while keeping the same compatibility as an 8 MB Memory Card. + Använder en mapp på din dators filsystem, istället för en fil. Obegränsad kapacitet men ändå samma kompatibilitet som ett 8 MB minneskort. A standard, 8 MB Memory Card. Most compatible, but smallest capacity. - A standard, 8 MB Memory Card. Most compatible, but smallest capacity. + Ett standardkort, 8 MB minneskort. Mest kompatibelt men minsta kapaciteten. 2x larger than a standard Memory Card. May have some compatibility issues. - 2x larger than a standard Memory Card. May have some compatibility issues. + 2x större än ett standardkort. Kanske kan ha kompatibilitetsproblem. 4x larger than a standard Memory Card. Likely to have compatibility issues. - 4x larger than a standard Memory Card. Likely to have compatibility issues. + 4x större än ett standardkort. Kommer antagligen ha kompatibilitetsproblem. 8x larger than a standard Memory Card. Likely to have compatibility issues. - 8x larger than a standard Memory Card. Likely to have compatibility issues. + 8x större än ett standardminneskort. Kommer antagligen ha kompatibilitetsproblem. @@ -16667,40 +16746,40 @@ Close any other instances of PCSX2, or restart your computer. Convert Memory Card Failed MemoryCardType should be left as-is. - Convert Memory Card Failed + Konvertering av minneskort misslyckades Invalid MemoryCardType - Invalid MemoryCardType + Ogiltig MemoryCardType Conversion Complete - Conversion Complete + Konverteringen färdig Memory Card "%1" converted to "%2" - Memory Card "%1" converted to "%2" + Minneskortet "%1" konverterat till "%2" Your folder Memory Card has too much data inside it to be converted to a file Memory Card. The largest supported file Memory Card has a capacity of 64 MB. To convert your folder Memory Card, you must remove game folders until its size is 64 MB or less. - Your folder Memory Card has too much data inside it to be converted to a file Memory Card. The largest supported file Memory Card has a capacity of 64 MB. To convert your folder Memory Card, you must remove game folders until its size is 64 MB or less. + Din mapp för minneskort innehåller för mycket data för att konverteras till ett minneskort på fil. Största filstorleken för ett minneskort är 64 MB. För att konvertera din mapp för minneskort så måste du ta bort spelmappar till dess storlek är 64 MB eller mindre. Cannot Convert Memory Card - Cannot Convert Memory Card + Kan inte konvertera minneskort There was an error when accessing the memory card directory. Error message: %0 - There was an error when accessing the memory card directory. Error message: %0 + Det uppstod ett fel vid åtkomst till minneskortets katalog. Felmeddelande: %0 @@ -16712,27 +16791,27 @@ Close any other instances of PCSX2, or restart your computer. Create Memory Card - Create Memory Card + Skapa minneskort <html><head/><body><p><span style=" font-weight:700;">Create Memory Card</span><br />Enter the name of the Memory Card you wish to create, and choose a size. We recommend either using 8MB Memory Cards, or folder Memory Cards for best compatibility.</p></body></html> - <html><head/><body><p><span style=" font-weight:700;">Create Memory Card</span><br />Enter the name of the Memory Card you wish to create, and choose a size. We recommend either using 8MB Memory Cards, or folder Memory Cards for best compatibility.</p></body></html> + <html><head/><body><p><span style=" font-weight:700;">Skapa minneskort</span><br />Ange namnet för minneskortet som du vill skapa och välj en storlek. Vi rekommenderar att använda 8MB ellerMapp för bästa kompatibilitet.</p></body></html> Memory Card Name: - Memory Card Name: + Namn för minneskort: 8 MB [Most Compatible] - 8 MB [Most Compatible] + 8 MB [mest kompatibel] This is the standard Sony-provisioned size, and is supported by all games and BIOS versions. - This is the standard Sony-provisioned size, and is supported by all games and BIOS versions. + Detta är standardstorleken för Sonys egna kort och stöds av alla spel och BIOS-versioner. @@ -16743,7 +16822,7 @@ Close any other instances of PCSX2, or restart your computer. A typical size for third-party Memory Cards which should work with most games. - A typical size for third-party Memory Cards which should work with most games. + En vanlig storlek för minneskort från tredjepart som bör fungera med de flesta spel. @@ -16758,7 +16837,7 @@ Close any other instances of PCSX2, or restart your computer. Low compatibility warning: yes, it's very big, but may not work with many games. - Low compatibility warning: yes, it's very big, but may not work with many games. + Varning för låg kompatibilitet: ja, den är väldigt stor men kanske inte fungerar med många spel. @@ -16768,47 +16847,47 @@ Close any other instances of PCSX2, or restart your computer. Store Memory Card contents in the host filesystem instead of a file. - Store Memory Card contents in the host filesystem instead of a file. + Lagra minneskortets innehåll på värdens filsystem istället för en fil. 128 KB (PS1) - 128 KB (PS1) + 128 KB (PS1) This is the standard Sony-provisioned size PS1 Memory Card, and only compatible with PS1 games. - This is the standard Sony-provisioned size PS1 Memory Card, and only compatible with PS1 games. + Detta är standardstorleken för Sonys PS1-minneskort och är endast kompatibla med PS1-spel. Use NTFS Compression - Use NTFS Compression + Använd NTFS-komprimering NTFS compression is built-in, fast, and completely reliable. Typically compresses Memory Cards (highly recommended). - NTFS compression is built-in, fast, and completely reliable. Typically compresses Memory Cards (highly recommended). + NTFS-komprimering är inbyggt, snabbt och tillförlitligt. Komprimerar vanligtvis minneskort (högst rekommenderat). Failed to create the Memory Card, because the name '%1' contains one or more invalid characters. - Failed to create the Memory Card, because the name '%1' contains one or more invalid characters. + Misslyckades med att skapa minneskortet därför att namnet '%1' innehåller ett eller flera ogiltigt tecken. Failed to create the Memory Card, because another card with the name '%1' already exists. - Failed to create the Memory Card, because another card with the name '%1' already exists. + Misslyckades med att skapa minneskortet därför att ett annat kort med namnet '%1' redan finns. Failed to create the Memory Card, the log may contain more information. - Failed to create the Memory Card, the log may contain more information. + Misslyckades med att skapa minneskortet. Loggen kan innehålla mer information. Memory Card '%1' created. - Memory Card '%1' created. + Minneskort '%1' skapat. @@ -16816,12 +16895,12 @@ Close any other instances of PCSX2, or restart your computer. Yes - Yes + Ja No - No + Nej @@ -16829,12 +16908,12 @@ Close any other instances of PCSX2, or restart your computer. Memory Card Slots - Memory Card Slots + Minneskortsplatser Memory Cards - Memory Cards + Minneskort @@ -16855,7 +16934,7 @@ Close any other instances of PCSX2, or restart your computer. Reset - Återställ + Nollställ @@ -16875,12 +16954,12 @@ Close any other instances of PCSX2, or restart your computer. Last Modified - Senast Ändrad + Senast ändrad Refresh - Refresh + Uppdatera @@ -16892,19 +16971,19 @@ Close any other instances of PCSX2, or restart your computer. Rename - Rename + Byt namn Convert - Convert + Konvertera Delete - Radera + Ta bort @@ -16915,27 +16994,27 @@ Close any other instances of PCSX2, or restart your computer. Automatically manage saves based on running game - Automatically manage saves based on running game + Hantera automatiskt sparade tillstånd baserat på körande spel Checked - Checked + Markerat (Folder type only / Card size: Auto) Loads only the relevant booted game saves, ignoring others. Avoids running out of space for saves. - (Folder type only / Card size: Auto) Loads only the relevant booted game saves, ignoring others. Avoids running out of space for saves. + (Endast mapptyp / Kortstorlek: Auto) Läser endast in den relevanta sparningen för startade spelet, ignorerar andra. Undviker att få slut på plats för sparningar. Swap Memory Cards - Swap Memory Cards + Byt minneskort Eject Memory Card - Eject Memory Card + Mata ut minneskort @@ -16947,7 +17026,7 @@ Close any other instances of PCSX2, or restart your computer. Delete Memory Card - Delete Memory Card + Ta bort minneskort @@ -16955,61 +17034,61 @@ Close any other instances of PCSX2, or restart your computer. Rename Memory Card - Rename Memory Card + Byt namn på minneskort New Card Name - New Card Name + Nytt kortnamn New name is invalid, it must end with .ps2 - New name is invalid, it must end with .ps2 + Nytt namn är ogiltigt. Det måste sluta med .ps2 New name is invalid, a card with this name already exists. - New name is invalid, a card with this name already exists. + Nytt namn är ogiltigt. Ett kort med samma namn finns redan. Slot %1 - Slot %1 + Plats %1 This Memory Card cannot be recognized or is not a valid file type. - This Memory Card cannot be recognized or is not a valid file type. + Detta minneskort känns inte igen eller har en ogiltig filtyp. Are you sure you wish to delete the Memory Card '%1'? This action cannot be reversed, and you will lose any saves on the card. - Are you sure you wish to delete the Memory Card '%1'? + Är du säker på att du vill ta bort minneskortet '%1'? -This action cannot be reversed, and you will lose any saves on the card. +Denna åtgärd går inte att ångra och du lörlorar alla sparningar på kortet. Failed to delete the Memory Card. The log may have more information. - Failed to delete the Memory Card. The log may have more information. + Misslyckades med att ta bort minneskort. Loggen kan innehålla mer information. Failed to rename Memory Card. The log may contain more information. - Failed to rename Memory Card. The log may contain more information. + Misslyckades med att byta namn på minneskort. Loggen kan innehålla mer information. Use for Slot %1 - Use for Slot %1 + Använd för Plats %1 Both slots must have a card selected to swap. - Both slots must have a card selected to swap. + Båda platserna måste ha ett kort valt för att byta. @@ -17053,13 +17132,13 @@ This action cannot be reversed, and you will lose any saves on the card. %1 [%2] - %1 [%2] + %1 [%2] %1 [Missing] Ignore Crowdin's warning for [Missing], the text should be translated. - %1 [Missing] + %1 [saknas] @@ -17097,27 +17176,27 @@ This action cannot be reversed, and you will lose any saves on the card. Float - Float + Flyttal Double - Double + Dubbel String - String + Sträng Array of byte - Array of byte + Array av byte Hex - Hex + Hex @@ -17127,83 +17206,83 @@ This action cannot be reversed, and you will lose any saves on the card. Filter Search - Filter Search + Filtersökning Equals - Equals + Lika med Not Equals - Not Equals + Inte lika med Greater Than - Greater Than + Större än Greater Than Or Equal - Greater Than Or Equal + Större än eller lika med Less Than - Less Than + Mindre än Less Than Or Equal - Less Than Or Equal + Mindre än eller lika med Comparison - Comparison + Jämförelse Start - Start + Start End - End + Slut Search Results List Context Menu - Search Results List Context Menu + Kontextmeny för sökresultatlista Copy Address - Copy Address + Kopiera adress Go to in Disassembly - Go to in Disassembly + Gå in i Disassembly Add to Saved Memory Addresses - Add to Saved Memory Addresses + Lägg till i sparade minnesadresser Remove Result - Remove Result + Ta bort resultat @@ -17213,82 +17292,82 @@ This action cannot be reversed, and you will lose any saves on the card. Debugger - Debugger + Debugger Invalid start address - Invalid start address + Ogiltig startadress Invalid end address - Invalid end address + Ogiltig slutadress Start address can't be equal to or greater than the end address - Start address can't be equal to or greater than the end address + Startadressen kan inte vara lika med eller större än slutadressen Invalid search value - Invalid search value + Ogiltigt sökvärde Value is larger than type - Value is larger than type + Värdet är större än typen This search comparison can only be used with filter searches. - This search comparison can only be used with filter searches. + Denna sökjämförelse kan endast användas med filtersökningar. %0 results found - %0 results found + %0 resultat hittades Searching... - Searching... + Söker... Increased - Increased + Ökad Increased By - Increased By + Ökad med Decreased - Decreased + Minskad Decreased By - Decreased By + Minskad med Changed - Changed + Ändrad Changed By - Changed By + Ändrad med Not Changed - Not Changed + Inte ändrad @@ -17296,82 +17375,82 @@ This action cannot be reversed, and you will lose any saves on the card. Memory - Memory + Minne Copy Address - Copy Address + Kopiera adress Go to in Disassembly - Go to in Disassembly + Gå in i Disassembly Go to address - Go to address + Gå till adress Show as Little Endian - Show as Little Endian + Visa som Little Endian Show as 1 byte - Show as 1 byte + Visa som 1 byte Show as 2 bytes - Show as 2 bytes + Visa som 2 bytes Show as 4 bytes - Show as 4 bytes + Visa som 4 bytes Show as 8 bytes - Show as 8 bytes + Visa som 8 bytes Add to Saved Memory Addresses - Add to Saved Memory Addresses + Lägg till i sparade minnesadresser Copy Byte - Copy Byte + Kopiera byte Copy Segment - Copy Segment + Kopiera segment Copy Character - Copy Character + Kopiera tecken Paste - Paste + Klistra in Go To In Memory View - Go To In Memory View + Gå in i minnesvy - + Cannot Go To - Cannot Go To + Kan inte gå till @@ -17379,42 +17458,42 @@ This action cannot be reversed, and you will lose any saves on the card. No existing function found. - No existing function found. + Ingen befintlig funktion hittades. No next symbol found. - No next symbol found. + Ingen nästa symbol hittades. Size is invalid. - Size is invalid. + Storleken är ogiltig. Size is not a multiple of 4. - Size is not a multiple of 4. + Storleken är inte en multipel av 4. A function already exists at that address. - A function already exists at that address. + En funktion finns redan på den adressen. Cannot create symbol source. - Cannot create symbol source. + Kan inte skapa symbolkälla. Cannot create symbol. - Cannot create symbol. + Kan inte skapa symbol. Cannot Create Function - Cannot Create Function + Kan inte skapa funktion @@ -17422,17 +17501,17 @@ This action cannot be reversed, and you will lose any saves on the card. Cannot create symbol source. - Cannot create symbol source. + Kan inte skapa symbolkälla. Cannot create symbol. - Cannot create symbol. + Kan inte skapa symbol. Cannot Create Global Variable - Cannot Create Global Variable + Kan inte skapa global variabel @@ -17440,54 +17519,54 @@ This action cannot be reversed, and you will lose any saves on the card. New Input Recording - New Input Recording + Ny inmatningsinspelning Select Recording Type - Select Recording Type + Välj inspelningstyp Power On Indicates that the input recording that is about to be started will be recorded from the moment the emulation boots on/starts. - Power On + Uppstart Save State Indicates that the input recording that is about to be started will be recorded when an accompanying save state is saved. - Save State + Spara tillstånd <html><head/><body><p align="center"><span style=" color:#ff0000;">Be Warned! Making an input recording that starts from a save-state will fail to work on future versions due to save-state versioning.</span></p></body></html> - <html><head/><body><p align="center"><span style=" color:#ff0000;">Be Warned! Making an input recording that starts from a save-state will fail to work on future versions due to save-state versioning.</span></p></body></html> + <html><head/><body><p align="center"><span style=" color:#ff0000;">Varning! Gör du en inmatningsinspelning som startar från ett sparat tillstånd så kommer det inte att fungera på framtida versioner på grund av versionen av det sparade tillståndet.</span></p></body></html> Select File Path - Select File Path + Välj filsökväg Browse - Browse + Bläddra Enter Author Name - Enter Author Name + Ange upphovspersonens namn Input Recording Files (*.p2m2) - Input Recording Files (*.p2m2) + Filer för inmatningsinspelningar (*.p2m2) Select a File - Select a File + Välj en fil @@ -17496,27 +17575,27 @@ This action cannot be reversed, and you will lose any saves on the card. Invalid function. - Invalid function. + Ogiltig funktion. Cannot determine stack frame size of selected function. - Cannot determine stack frame size of selected function. + Kan inte bestämma storlek för stack frame för vald funktion. Cannot create symbol source. - Cannot create symbol source. + Kan inte skapa symbolkälla. Cannot create symbol. - Cannot create symbol. + Kan inte skapa symbol. Cannot Create Local Variable - Cannot Create Local Variable + Kan inte skapa lokal variabel @@ -17525,32 +17604,32 @@ This action cannot be reversed, and you will lose any saves on the card. Invalid function. - Invalid function. + Ogiltig funktion. Invalid storage type. - Invalid storage type. + Ogiltig lagringstyp. Cannot determine stack frame size of selected function. - Cannot determine stack frame size of selected function. + Kan inte beställa storlek för stack frame för vald funktion. Cannot create symbol source. - Cannot create symbol source. + Kan inte skapa symbolkälla. Cannot create symbol. - Cannot create symbol. + Kan inte skapa symbol. Cannot Create Parameter Variable - Cannot Create Parameter Variable + Kan inte skapa parametervariabel @@ -17558,118 +17637,118 @@ This action cannot be reversed, and you will lose any saves on the card. Dialog - Dialog + Dialog Name - Name + Namn Address - Address + Adress Register - Register + Register Stack Pointer Offset - Stack Pointer Offset + Offset för stackpekare Size - Size + Storlek Custom - Custom + Anpassad Existing Functions - Existing Functions + Befintliga funktioner Shrink to avoid overlaps - Shrink to avoid overlaps + Minska för att undvika överlappningar Do not modify - Do not modify + Ändra inte Type - Type + Typ Function - Function + Funktion Global - Global + Global Stack - Stack + Stack Fill existing function (%1 bytes) - Fill existing function (%1 bytes) + Fyll befintlig funktion (%1 bytes) Fill existing function (none found) - Fill existing function (none found) + Fyll befintlig funktion (ingen hittades) Fill space (%1 bytes) - Fill space (%1 bytes) + Fyll utrymme (%1 bytes) Fill space (no next symbol) - Fill space (no next symbol) + Fyll utrymme (ingen nästa symbol) Fill existing function - Fill existing function + Fyll befintlig funktion Fill space - Fill space + Fyll utrymme Name is empty. - Name is empty. + Namnet är tomt. Address is not valid. - Address is not valid. + Adressen är inte giltig. Address is not aligned. - Address is not aligned. + Adressen är inte justerad. @@ -17679,52 +17758,52 @@ This action cannot be reversed, and you will lose any saves on the card. D-Pad Up - D-Pad Up + D-Pad upp D-Pad Right - D-Pad Right + D-Pad höger D-Pad Down - D-Pad Down + D-Pad ner D-Pad Left - D-Pad Left + D-Pad vänster Triangle - Triangle + Triangel Circle - Circle + Cirkel Cross - Cross + Kryss Square - Square + Fyrkant @@ -17732,7 +17811,7 @@ This action cannot be reversed, and you will lose any saves on the card. Select - Select + Select @@ -17741,155 +17820,155 @@ This action cannot be reversed, and you will lose any saves on the card. Start - Start + Start L1 (Left Bumper) - L1 (Left Bumper) + L1 (Left Bumper) L2 (Left Trigger) - L2 (Left Trigger) + L2 (Left Trigger) R1 (Right Bumper) - R1 (Right Bumper) + R1 (Right Bumper) R2 (Right Trigger) - R2 (Right Trigger) + R2 (Right Trigger) L3 (Left Stick Button) - L3 (Left Stick Button) + L3 (Left Stick Button) R3 (Right Stick Button) - R3 (Right Stick Button) + R3 (Right Stick Button) Analog Toggle - Analog Toggle + Analog växling Apply Pressure - Apply Pressure + Tillämpa tryck Left Stick Up - Left Stick Up + Vänster spak upp Left Stick Right - Left Stick Right + Vänster spak höger Left Stick Down - Left Stick Down + Vänster spak ner Left Stick Left - Left Stick Left + Vänster spak vänster Right Stick Up - Right Stick Up + Höger spak upp Right Stick Right - Right Stick Right + Höger spak höger Right Stick Down - Right Stick Down + Höger spak ner Right Stick Left - Right Stick Left + Höger spak vänster Large (Low Frequency) Motor - Large (Low Frequency) Motor + Stor (Lågfrekvens) motor Small (High Frequency) Motor - Small (High Frequency) Motor + Liten (Högfrekvens) motor Not Inverted - Not Inverted + Inte inverterad Invert Left/Right - Invert Left/Right + Invertera vänster/höger Invert Up/Down - Invert Up/Down + Invertera upp/ner Invert Left/Right + Up/Down - Invert Left/Right + Up/Down + Invertera vänster/höger + upp/ner Invert Left Stick - Invert Left Stick + Invertera vänster spak Inverts the direction of the left analog stick. - Inverts the direction of the left analog stick. + Inverterar riktningen för vänstra analogspaken. Invert Right Stick - Invert Right Stick + Invertera höger spak Inverts the direction of the right analog stick. - Inverts the direction of the right analog stick. + Inverterar riktningen för högra analogspaken. Analog Deadzone - Analog Deadzone + Analogt dödläge Sets the analog stick deadzone, i.e. the fraction of the stick movement which will be ignored. - Sets the analog stick deadzone, i.e. the fraction of the stick movement which will be ignored. + Sets the analog stick deadzone, i.e. the fraction of the stick movement which will be ignored. @@ -17901,154 +17980,154 @@ This action cannot be reversed, and you will lose any saves on the card. %.0f%% - %.0f%% + %.0f%% Button/Trigger Deadzone - Button/Trigger Deadzone + Button/Trigger Deadzone Sets the deadzone for activating buttons/triggers, i.e. the fraction of the trigger which will be ignored. - Sets the deadzone for activating buttons/triggers, i.e. the fraction of the trigger which will be ignored. + Sets the deadzone for activating buttons/triggers, i.e. the fraction of the trigger which will be ignored. Pressure Modifier Amount - Pressure Modifier Amount + Pressure Modifier Amount Analog light is now on for port {0} / slot {1} - Analog light is now on for port {0} / slot {1} + Analog lampa är nu på för port {0} / slot {1} Analog light is now off for port {0} / slot {1} - Analog light is now off for port {0} / slot {1} + Analog lampa är nu avstängd för port {0} / slot {1} Analog Sensitivity - Analog Sensitivity + Analog känslighet Sets the analog stick axis scaling factor. A value between 130% and 140% is recommended when using recent controllers, e.g. DualShock 4, Xbox One Controller. - Sets the analog stick axis scaling factor. A value between 130% and 140% is recommended when using recent controllers, e.g. DualShock 4, Xbox One Controller. + Sets the analog stick axis scaling factor. A value between 130% and 140% is recommended when using recent controllers, e.g. DualShock 4, Xbox One Controller. Large Motor Vibration Scale - Large Motor Vibration Scale + Vibrationsskala för stor motor Increases or decreases the intensity of low frequency vibration sent by the game. - Increases or decreases the intensity of low frequency vibration sent by the game. + Ökar eller minskar intensiteten för lågfrekvent vibration som skickas av spelet. Small Motor Vibration Scale - Small Motor Vibration Scale + Vibrationsskala för liten motor Increases or decreases the intensity of high frequency vibration sent by the game. - Increases or decreases the intensity of high frequency vibration sent by the game. + Ökar eller minskar intensiteten för högfrekvent vibration som skickas av spelet. Sets the pressure when the modifier button is held. - Sets the pressure when the modifier button is held. + Ställer in trycket för när modifierarknappen hålls ner. Not Connected - Not Connected + Inte ansluten DualShock 2 - DualShock 2 + DualShock 2 Strum Up - Strum Up + Strum Up Strum Down - Strum Down + Strum Down Green Fret - Green Fret + Green Fret Red Fret - Red Fret + Red Fret Yellow Fret - Yellow Fret + Yellow Fret Blue Fret - Blue Fret + Blue Fret Orange Fret - Orange Fret + Orange Fret Whammy Bar - Whammy Bar + Whammy Bar Tilt Up - Tilt Up + Tilt Up Whammy Bar Deadzone - Whammy Bar Deadzone + Dödläge för Whammy Bar Sets the whammy bar deadzone. Inputs below this value will not be sent to the PS2. - Sets the whammy bar deadzone. Inputs below this value will not be sent to the PS2. + Sets the whammy bar deadzone. Inputs below this value will not be sent to the PS2. Whammy Bar Sensitivity - Whammy Bar Sensitivity + Känslighet för Whammy Bar Sets the whammy bar axis scaling factor. - Sets the whammy bar axis scaling factor. + Sets the whammy bar axis scaling factor. Guitar - Guitar + Guitar Controller port {0}, slot {1} has a {2} connected, but the save state has a {3}. Ejecting {3} and replacing it with {2}. - Controller port {0}, slot {1} has a {2} connected, but the save state has a {3}. -Ejecting {3} and replacing it with {2}. + Kontrollerport {0}, plats {1} har en {2} ansluten men sparat tillstånd har en {3}. +Koppla från {3} och ersätt den med {2}. @@ -18098,152 +18177,152 @@ Ejecting {3} and replacing it with {2}. Pop'n Music - Pop'n Music + Pop'n Music Motor - Motor + Motor Dial (Left) - Dial (Left) + Dial (Left) Dial (Right) - Dial (Right) + Dial (Right) Dial Deadzone - Dial Deadzone + Dial Deadzone Sets the dial deadzone. Inputs below this value will not be sent to the PS2. - Sets the dial deadzone. Inputs below this value will not be sent to the PS2. + Sets the dial deadzone. Inputs below this value will not be sent to the PS2. Dial Sensitivity - Dial Sensitivity + Dial Sensitivity Sets the dial scaling factor. - Sets the dial scaling factor. + Sets the dial scaling factor. Jogcon - Jogcon + Jogcon B Button - B Button + B-knapp A Button - A Button + A-knapp I Button - I Button + I-knapp II Button - II Button + II-knapp L (Left Bumper) - L (Left Bumper) + L (Left Bumper) R (Right Bumper) - R (Right Bumper) + R (Right Bumper) Twist (Left) - Twist (Left) + Twist (Left) Twist (Right) - Twist (Right) + Twist (Right) Twist Deadzone - Twist Deadzone + Twist Deadzone Sets the twist deadzone. Inputs below this value will not be sent to the PS2. - Sets the twist deadzone. Inputs below this value will not be sent to the PS2. + Sets the twist deadzone. Inputs below this value will not be sent to the PS2. Twist Sensitivity - Twist Sensitivity + Twist Sensitivity Sets the twist scaling factor. - Sets the twist scaling factor. + Sets the twist scaling factor. Negcon - Negcon + Negcon Patch - + Failed to open {}. Built-in game patches are not available. - Failed to open {}. Built-in game patches are not available. + Misslyckades med att öppna {}. Inbyggda spelpatchar är inte tillgängliga. - + %n GameDB patches are active. OSD Message - - %n GameDB patches are active. - %n GameDB patches are active. + + %n GameDB-patch är aktiv. + %n GameDB-patchar är aktiva. - + %n game patches are active. OSD Message - - %n game patches are active. - %n game patches are active. + + %n spelpatch är aktiv. + %n spelpatchar är aktiva. - + %n cheat patches are active. OSD Message - - %n cheat patches are active. - %n cheat patches are active. + + %n fuskpatch är aktiv. + %n fuskpatchar är aktiva. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. - No cheats or patches (widescreen, compatibility or others) are found / enabled. + Inga fusk eller patchar (bredbild, kompatibilitet eller annat) hittades / aktiverade. @@ -18251,12 +18330,12 @@ Ejecting {3} and replacing it with {2}. Disabled (Noisy) - Disabled (Noisy) + Inaktiverad (Noisy) TimeStretch (Recommended) - TimeStretch (Recommended) + TimeStretch (Rekommenderas) @@ -18264,7 +18343,7 @@ Ejecting {3} and replacing it with {2}. PCSX2 uses your camera to emulate an EyeToy camera plugged into the virtual PS2. - PCSX2 uses your camera to emulate an EyeToy camera plugged into the virtual PS2. + PCSX2 använder din kamera för att emulera en EyeToy-kamera ansluten till den virtuella PS2. @@ -18272,7 +18351,7 @@ Ejecting {3} and replacing it with {2}. PCSX2 uses your microphone to emulate a USB microphone plugged into the virtual PS2. - PCSX2 uses your microphone to emulate a USB microphone plugged into the virtual PS2. + PCSX2 använder din mikrofon för att emulera en USB-mikrofon ansluten till den virtuella PS2. @@ -18280,17 +18359,17 @@ Ejecting {3} and replacing it with {2}. Invalid array subscript. - Invalid array subscript. + Ogiltig array subscript. No type name provided. - No type name provided. + Inget typnamn angavs. Type '%1' not found. - Type '%1' not found. + Typen '%1' hittades inte. @@ -18299,20 +18378,20 @@ Ejecting {3} and replacing it with {2}. HDD Creator - HDD Creator + Hårddiskskapare Failed to create HDD image - Failed to create HDD image + Misslyckades med att skapa hårddiskavbild Creating HDD file %1 / %2 MiB - Creating HDD file + Skapar hårddiskfil %1 / %2 MiB @@ -18342,47 +18421,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. + RA: Inloggad som %1 (%2 poäng, softcore: %3 poäng). %4 olästa meddelanden. - - + + Error Fel - + An error occurred while deleting empty game settings: {} - An error occurred while deleting empty game settings: + Ett fel inträffade vid borttagning av tomma spelinställningar: {} - + An error occurred while saving game settings: {} - An error occurred while saving game settings: + Ett fel inträffade vid sparandet av spelinställningar: {} - + Controller {} connected. - Controller {} connected. + Handkontroller {} ansluten. - + System paused because controller {} was disconnected. - System paused because controller {} was disconnected. + Systemet pausade därför att kontroller {} kopplades från. - + Controller {} disconnected. - Controller {} disconnected. + Handkontroller {} frånkopplad. - + Cancel Avbryt @@ -18420,108 +18499,108 @@ Ejecting {3} and replacing it with {2}. Register View - Register View + Registervy View as hex - View as hex + Visa som hex View as float - View as float + Visa som flyttal Copy Top Half - Copy Top Half + Kopiera övre halvan Copy Bottom Half - Copy Bottom Half + Kopiera nedre halvan Copy Segment - Copy Segment + Kopiera segment Copy Value - Copy Value + Kopiera värde Change Top Half - Change Top Half + Ändra övre halvan Change Bottom Half - Change Bottom Half + Ändra nedre halvan Change Segment - Change Segment + Ändra segment Change Value - Change Value + Ändra värde Go to in Disassembly - Go to in Disassembly + Go to in Disassembly Go to in Memory View - Go to in Memory View + Gå in i minnesvy Change %1 Changing the value in a CPU register (e.g. "Change t0") - Change %1 + Ändra %1 Invalid register value - Invalid register value + Ogiltigt registervärde Invalid hexadecimal register value. - Invalid hexadecimal register value. + Ogiltigt hexadecimalt registervärde. Invalid floating-point register value. - Invalid floating-point register value. + Invalid floating-point register value. Invalid target address - Invalid target address + Ogiltig måladress SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. - This save state is outdated and is no longer compatible with the current version of PCSX2. + Detta sparade tillstånd är föråldrat och inte längre kompatibelt med den aktuella versionen av PCSX2. -If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. +Om du har någon spel som inte sparats på detta sparade tillstånd så kan du hämta den kompatibela versionen (PCSX2 {}) från pcsx2.net. Läs sedan in det sparade tillståndet och spara ditt spel till minneskortet. @@ -18529,17 +18608,17 @@ If you have any unsaved progress on this save state, you can download the compat MEMORY ADDRESS - MEMORY ADDRESS + MINNESADRESS LABEL - LABEL + ETIKETT DESCRIPTION - DESCRIPTION + BESKRIVNING @@ -18549,7 +18628,7 @@ If you have any unsaved progress on this save state, you can download the compat Reset - Återställ + Nollställ @@ -18560,7 +18639,7 @@ If you have any unsaved progress on this save state, you can download the compat Confirm Folder - Bekräfta Mapp + Bekräfta mapp @@ -18569,11 +18648,11 @@ If you have any unsaved progress on this save state, you can download the compat %1 Do you want to create this directory? - The chosen directory does not currently exist: + Den valda katalogen finns inte för närvarande: %1 -Do you want to create this directory? +Vill du skapa denna katalog? @@ -18583,12 +18662,12 @@ Do you want to create this directory? Folder path cannot be empty. - Folder path cannot be empty. + Mappsökvägen får inte vara tom. Select folder for %1 - Select folder for %1 + Välj mapp för %1 @@ -18597,19 +18676,19 @@ Do you want to create this directory? Use Global Setting [Enabled] THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Enabled]: the text must be translated. - Use Global Setting [Enabled] + Använd global inställning [aktiverad] Use Global Setting [Disabled] THIS STRING IS SHARED ACROSS MULTIPLE OPTIONS. Be wary about gender/number. Also, ignore Crowdin's warning regarding [Disabled]: the text must be translated. - Use Global Setting [Disabled] + Använd global inställning [inaktiverad] Use Global Setting [%1] - Use Global Setting [%1] + Använd global inställning [%1] @@ -18620,22 +18699,22 @@ Do you want to create this directory? PCSX2 Settings - PCSX2 Settings + Inställningar för PCSX2 Restore Defaults - Restore Defaults + Återställ standardvärden Copy Global Settings - Copy Global Settings + Kopiera globala inställningar Clear Settings - Clear Settings + Töm inställningar @@ -18645,33 +18724,33 @@ Do you want to create this directory? <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. - <strong>Summary</strong><hr>This page shows details about the selected game. Changing the Input Profile will set the controller binding scheme for this game to whichever profile is chosen, instead of the default (Shared) configuration. The track list and dump verification can be used to determine if your disc image matches a known good dump. If it does not match, the game may be broken. + <strong>Sammandrag</strong><hr>Denna sida visar detaljer om valt spel. Ändring av inmatningsprofil ställer in handkontrollens bindningsschema för detta spel till önskad profil, istället för standardkonfigurationen (Delad). Spårlistan och dumpverifiering kan användas för att fastställa om din skivavbild matchar en känd bra dump. Om den inte matchar så kan spelet vara trasigt. Summary - Summary + Sammandrag Summary is unavailable for files not present in game list. - Summary is unavailable for files not present in game list. + Sammandrag finns inte tillgänglig för filer som inte finns i spellistan. Interface - Interface + Gränssnitt Game List - Game List + Spellista <strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate the game list. Search directories can be added, removed, and switched to recursive/non-recursive. - <strong>Game List Settings</strong><hr>The list above shows the directories which will be searched by PCSX2 to populate the game list. Search directories can be added, removed, and switched to recursive/non-recursive. + <strong>Inställningar för spellista</strong><hr>Listan ovanför visar katalogerna som kommer att sökas igenom av PCSX2 för att fylla i spellistan. Sökkataloger kan läggas till, tas bort och växlas mellan rekursivt och inte. @@ -18686,32 +18765,32 @@ Do you want to create this directory? Patches - Patches + Patchar <strong>Patches</strong><hr>This section allows you to select optional patches to apply to the game, which may provide performance, visual, or gameplay improvements. - <strong>Patches</strong><hr>This section allows you to select optional patches to apply to the game, which may provide performance, visual, or gameplay improvements. + <strong>Patchar</strong><hr>Denna sektion låter dig att välja valfria patchar att tillämpa i spel, som kan ge förbättringar i prestanda, visuellt bättre eller ökat spelvärde. Cheats - Cheats + Fusk <strong>Cheats</strong><hr>This section allows you to select which cheats you wish to enable. You cannot enable/disable cheats without labels for old-format pnach files, those will automatically activate if the main cheat enable option is checked. - <strong>Cheats</strong><hr>This section allows you to select which cheats you wish to enable. You cannot enable/disable cheats without labels for old-format pnach files, those will automatically activate if the main cheat enable option is checked. + <strong>Fusk</strong><hr>Denna sektion låter dig att välja vilka fusk som du önskar att använda. Du kan inte aktivera/inaktivera fusk för patchfiler med gammalt format. De kommer automatiskt aktiveras om alternativet för huvudfusket har markerats. Game Fixes - Game Fixes + Spelfixar <strong>Game Fixes Settings</strong><hr>Game Fixes can work around incorrect emulation in some titles.<br>However, they can also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise. - <strong>Game Fixes Settings</strong><hr>Game Fixes can work around incorrect emulation in some titles.<br>However, they can also cause problems in games if used incorrectly.<br>It is best to leave them all disabled unless advised otherwise. + <strong>Inställningar för spelfixar</strong><hr>Spelfixar kan lösa problem med felaktig emulering i vissa titlar.<br>Dock kan de även orsaka problem i spel om de används felaktigt.<br>Det är bäst att lämna dem alla inaktiverade om inget annat rekommenderas. @@ -18731,7 +18810,7 @@ Do you want to create this directory? Network & HDD - Network & HDD + Nätverk och hårddisk @@ -18741,92 +18820,92 @@ Do you want to create this directory? <strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files. - <strong>Folder Settings</strong><hr>These options control where PCSX2 will save runtime data files. + <strong>Mappinställningar</strong><hr>Dessa alternativ styr var PCSX2 ska spara datafiler vid körningar. Achievements - Achievements + Prestationer <strong>Achievements Settings</strong><hr>These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games. - <strong>Achievements Settings</strong><hr>These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games. + <strong>Inställningar för prestationer</strong><hr>Dessa alternativ styr RetroAchievements-implementation i PCSX2, som tillåter dig att tjäna prestationer i dina spel. RAIntegration is being used, built-in RetroAchievements support is disabled. - RAIntegration is being used, built-in RetroAchievements support is disabled. + RAIntegration används, inbyggt stöd för RetroAchievements är inaktiverat. Advanced - Advanced + Avancerat Are you sure you want to restore the default settings? Any existing preferences will be lost. - Are you sure you want to restore the default settings? Any existing preferences will be lost. + Är du säker på att du vill återskapa standardinställningarna? Alla befintliga inställningar kommer gå förlorade. <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Interface Settings</strong><hr>These options control how the software looks and behaves.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Gränssnittsinställningar</strong><hr>Dessa alternativ styr hur programvaran ser och och beter sig.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>BIOS Settings</strong><hr>Configure your BIOS here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>BIOS-inställningar</strong><hr>Konfigure ditt BIOS här.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Emulation Settings</strong><hr>These options determine the configuration of frame pacing and game settings.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Emuleringsinställningar</strong><hr>Dessa alternativ bestämmer konfigurationen av frame pacing och spelinställningar.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Graphics Settings</strong><hr>These options determine the configuration of the graphical output.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Grafikinställningar</strong><hr>Dessa alternativ bestämmer konfigurationen av den grafiska utmatningen.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Audio Settings</strong><hr>These options control the audio output of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Ljudinställningar</strong><hr>Dessa alternativ styr ljudutmatningen för konsolen.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Memory Card Settings</strong><hr>Create and configure Memory Cards here.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Inställningar för minneskort</strong><hr>Skapa och konfigurera minneskort här.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Network & HDD Settings</strong><hr>These options control the network connectivity and internal HDD storage of the console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Inställningar för nätverk och hårddisk</strong><hr>Dessa alternativ styr nätverksanslutningar och intern hårddisklagring i konsolen.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. - <strong>Advanced Settings</strong><hr>These are advanced options to determine the configuration of the simulated console.<br><br>Mouse over an option for additional information, and Shift+Wheel to scroll this panel. + <strong>Avancerade inställningar</strong><hr>Dessa är avancerade alternativ för att bestämma konfigurationen av den simulerade konsolen.<br><br>Hovra över ett alternativ för ytterligare information och Skift+Hjul för att rulla i panelen. Debug - Debug + Felsök <strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. <strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large amounts of disk space. - <strong>Debug Settings</strong><hr>These are options which can be used to log internal information about the application. <strong>Do not modify unless you know what you are doing</strong>, it will cause significant slowdown, and can waste large amounts of disk space. + <strong>Debuginställningar</strong><hr>Dessa är alternativ som kan användas för att logga intern information om programmet. <strong>Ändra ingenting såvida du inte vet vad du gör</strong>, det kan orsaka omfattande långsamheter och fylla upp ditt diskutrymme. Confirm Restore Defaults - Confirm Restore Defaults + Bekräfta återställ standardvärden Reset UI Settings - Reset UI Settings + Nollställ inställningar för användargränssnitt @@ -18835,16 +18914,16 @@ Do you want to create this directory? Any current setting values will be overwritten. Do you want to continue? - The configuration for this game will be replaced by the current global settings. + Konfigurationen för detta spel kommer att ersättas av de aktuella globala inställningarna. -Any current setting values will be overwritten. +Alla aktuella inställningsvärden kommer att skrivas över. -Do you want to continue? +Vill du fortsätta? Per-game configuration copied from global settings. - Per-game configuration copied from global settings. + Konfiguration per-spel har kopierats från globala inställningar. @@ -18853,21 +18932,21 @@ Do you want to continue? Any current setting values will be lost. Do you want to continue? - The configuration for this game will be cleared. + Konfigurationen för detta spel kommer att tömmas. -Any current setting values will be lost. +Alla aktuella inställningsvärden kommer att förloras. -Do you want to continue? +Vill du fortsätta? Per-game configuration cleared. - Per-game configuration cleared. + Konfiguration per-spel har tömts. Recommended Value - Recommended Value + Rekommenderat värde @@ -18875,32 +18954,32 @@ Do you want to continue? PCSX2 Setup Wizard - PCSX2 Setup Wizard + Konfigurationsguide för PCSX2 Language - Language + Språk BIOS Image - BIOS Image + BIOS-avbild Game Directories - Game Directories + Spelkataloger Controller Setup - Controller Setup + Handkontroller Complete - Complete + Färdig @@ -18915,17 +18994,17 @@ Do you want to continue? Enable Automatic Updates - Enable Automatic Updates + Aktivera automatiska uppdateringar <html><head/><body><p>PCSX2 requires a PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <strong>from an actual PS2 unit that you own</strong> (borrowing doesn't count).</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct PCSX2 to scan an alternative directory.</p><p>A guide for dumping your BIOS can be found <a href="https://pcsx2.net/docs/setup/bios/">here</a>.</p></body></html> - <html><head/><body><p>PCSX2 requires a PS2 BIOS in order to run.</p><p>For legal reasons, you must obtain a BIOS <strong>from an actual PS2 unit that you own</strong> (borrowing doesn't count).</p><p>Once dumped, this BIOS image should be placed in the bios folder within the data directory shown below, or you can instruct PCSX2 to scan an alternative directory.</p><p>A guide for dumping your BIOS can be found <a href="https://pcsx2.net/docs/setup/bios/">here</a>.</p></body></html> + <html><head/><body><p>PCSX2 kräver ett PS2 BIOS för att kunna starta.</p><p>Av juridiska skäl så måste du skaffa ett BIOS <strong>från en riktig PS2-enhet som du äger</strong> (låna räcker inte). </p><p>När den har dumpats så ska BIOS-avbilden placeras i bios-mappen i datakatalogen som visas nedan, eller så kan du ställa in att PCSX2 ska leta igenom en alternativ katalog.</p><p>En guide för hur man dumpar sitt BIOS kan hittas <a href="https://pcsx2.net/docs/setup/bios/">här</a>.</p></body></html> BIOS Directory: - BIOS Directory: + BIOS-katalog: @@ -18935,207 +19014,207 @@ Do you want to continue? Reset - Reset + Nollställ Filename - Filename + Filnamn Version - Version + Version Open BIOS Folder... - Open BIOS Folder... + Öppna BIOS-mapp... Refresh List - Refresh List + Uppdatera lista <html><head/><body><p>PCSX2 will automatically scan and identify games from the selected directories below, and populate the game list.<br>These games should be dumped from discs you own. Guides for dumping discs can be found <a href="https://pcsx2.net/docs/setup/dumping">here</a>.</p><p>Supported formats for dumps include:</p><p><ul><li>.bin/.iso (ISO Disc Images)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Compressed ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip Compressed ISO)</li></ul></p></p></body></html> - <html><head/><body><p>PCSX2 will automatically scan and identify games from the selected directories below, and populate the game list.<br>These games should be dumped from discs you own. Guides for dumping discs can be found <a href="https://pcsx2.net/docs/setup/dumping">here</a>.</p><p>Supported formats for dumps include:</p><p><ul><li>.bin/.iso (ISO Disc Images)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Compressed ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip Compressed ISO)</li></ul></p></p></body></html> + </p><p><html><head/><body><p>PCSX2 kommer automatiskt att söka igenom och identifiera spel från de valda katalogerna nedan och fylla i spellistan. Dessa spel bör dumpas från skivor som du äger. Guider för hur man dumpar skivor hittas <a href="https://pcsx2.net/docs/setup/dumping">här</a>Format som stöds för dumpar inkluderar: </p><p><ul><li>.bin/.iso (ISO-skivavbilder)</li><li>.mdf (Media Descriptor File)</li><li>.chd (Compressed Hunks of Data)</li><li>.cso (Komprimerad ISO)</li><li>.zso (Compressed ISO)</li><li>.gz (Gzip-komprimerad ISO)</li></ul></p></p></body></html> Search Directories (will be scanned for games) - Search Directories (will be scanned for games) + Sökkataloger (kommer att sökas igenom efter spel) Add... - Add... + Lägg till... Remove - Remove + Ta bort Search Directory - Search Directory + Sökkatalog Scan Recursively - Scan Recursively + Sök rekursivt <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> - <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Welcome to PCSX2!</span></h1><p>This wizard will help guide you through the configuration steps required to use the application. It is recommended if this is your first time installing PCSX2 that you view the setup guide <a href="https://pcsx2.net/docs/">here</a>.</p><p>By default, PCSX2 will connect to the server at <a href="https://pcsx2.net/">pcsx2.net</a> to check for updates, and if available and confirmed, download update packages from <a href="https://github.com/">github.com</a>. If you do not wish for PCSX2 to make any network connections on startup, you should uncheck the Automatic Updates option now. The Automatic Update setting can be changed later at any time in Interface Settings.</p><p>Please choose a language and theme to begin.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Välkommen till PCSX2!</span></h1><p>Denna guide hjälper dig genom konfigurationen som krävs för att kunna använda programmet. Om det är första gången du installerar PCSX2 så rekommenderas det att du tittar på guiden <a href="https://pcsx2.net/docs/">här</a>.</p><p>PCSX2 kommer som standard att ansluta till servern på <a href="https://pcsx2.net/">pcsx2.net</a> för att leta efter uppdateringar och, om tillgängligt och bekräftat, hämta uppdateringspaket från <a href="https://github.com/">github.com</a>. Om du inte vill att PCSX2 ska göra några nätverksanslutningar vid uppstart så kan du inaktivera automatiska uppdateringar nu. Inställningen för automatiska uppdateringar kan ändras senare i användargränssnittet.</p><p>Välj ett språk och tema för att börja.</p></body></html> <html><head/><body><p>By default, PCSX2 will map your keyboard to the virtual PS2 controller.</p><p><span style=" font-weight:704;">To use an external controller, you must map it first. </span>On this screen, you can automatically map any controller which is currently connected. If your controller is not currently connected, you can plug it in now.</p><p>To change controller bindings in more detail, or use multi-tap, open the Settings menu and choose Controllers once you have completed the Setup Wizard.</p><p>Guides for configuring controllers can be found <a href="https://pcsx2.net/docs/post/controllers/"><span style="">here</span></a>.</p></body></html> - <html><head/><body><p>By default, PCSX2 will map your keyboard to the virtual PS2 controller.</p><p><span style=" font-weight:704;">To use an external controller, you must map it first. </span>On this screen, you can automatically map any controller which is currently connected. If your controller is not currently connected, you can plug it in now.</p><p>To change controller bindings in more detail, or use multi-tap, open the Settings menu and choose Controllers once you have completed the Setup Wizard.</p><p>Guides for configuring controllers can be found <a href="https://pcsx2.net/docs/post/controllers/"><span style="">here</span></a>.</p></body></html> + <html><head/><body><p>PCSX2 kommer som standard att mappa ditt tangentbord till den virtuella PS2-handkontrollen.</p><p><span style=" font-weight:704;">För att använda en extern handkontroller så måste du först mappa den. </span>På denna skärm kan du automatiskt mappa valfri handkontroller som för nävarande är anslutna. Om din handkontroller inte är ansluten så kan du ansluta den nu.</p><p>För att ändra knappbindningar för handkontroller, eller använda multi-tap, öppna inställningsmenyn och välj Handkontroller när du har gått igenom konfigurationsguiden.</p><p>Guider för att konfigurera handkontroller kan hittas <a href="https://pcsx2.net/docs/post/controllers/"><span style="">här</span></a>.</p></body></html> Controller Port 1 - Controller Port 1 + Kontrollerport 1 Controller Mapped To: - Controller Mapped To: + Handkontroller mappad till: Controller Type: - Controller Type: + Handkontrollertyp: Default (Keyboard) - Default (Keyboard) + Standard (tangentbord) Automatic Mapping - Automatic Mapping + Automatisk mappning Controller Port 2 - Controller Port 2 + Kontrollerport 2 <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using PCSX2.</p></body></html> - <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Setup Complete!</span></h1><p>You are now ready to run games.</p><p>Further options are available under the settings menu. You can also use the Big Picture UI for navigation entirely with a gamepad.</p><p>We hope you enjoy using PCSX2.</p></body></html> + <html><head/><body><h1 style=" margin-top:18px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:700;">Konfigurationen är färdig!</span></h1><p>Du är nu klar för att starta spel.</p><p>Ytterligare alternativ finns tillgängliga i inställningsmenyn. Du kan även använda Storbildsläget för att navigera helt med en handkontroller.</p><p>Vi hoppas att du har kul med PCSX2.</p></body></html> &Back - &Back + &Bakåt &Next - &Next + &Nästa &Cancel - &Cancel + A&vbryt Warning - Warning + Varning A BIOS image has not been selected. PCSX2 <strong>will not</strong> be able to run games without a BIOS image.<br><br>Are you sure you wish to continue without selecting a BIOS image? - A BIOS image has not been selected. PCSX2 <strong>will not</strong> be able to run games without a BIOS image.<br><br>Are you sure you wish to continue without selecting a BIOS image? + Ingen BIOS-avbild har valts. PCSX2 <strong>kommer inte</strong> att kunna starta spel utan en BIOS-avbild.<br><br>Är du säker på att du vill fortsätta utan att välja en BIOS-avbild? No game directories have been selected. You will have to manually open any game dumps you want to play, PCSX2's list will be empty. Are you sure you want to continue? - No game directories have been selected. You will have to manually open any game dumps you want to play, PCSX2's list will be empty. + Inga spelkataloger har valts. Du måste manuellt öppna speldumpar som du vill spela. PCSX2s lista kommer att vara tom. -Are you sure you want to continue? +Är du säker på att du vill fortsätta? &Finish - &Finish + &Färdig Cancel Setup - Cancel Setup + Avbryt konfiguration Are you sure you want to cancel PCSX2 setup? Any changes have been saved, and the wizard will run again next time you start PCSX2. - Are you sure you want to cancel PCSX2 setup? + Är du säker på att du vill avbryta konfigurationen av PCSX2? -Any changes have been saved, and the wizard will run again next time you start PCSX2. +Ändringar har sparats och konfígurationsguiden kommer att köras nästa gång du startar PCSX2. Open Directory... - Open Directory... + Öppna katalog... Select Search Directory - Select Search Directory + Välj sökkatalog Scan Recursively? - Scan Recursively? + Sök igenom rekursivt? Would you like to scan the directory "%1" recursively? Scanning recursively takes more time, but will identify files in subdirectories. - Would you like to scan the directory "%1" recursively? + Vill du söka igenom katalogen "%1" rekursivt? -Scanning recursively takes more time, but will identify files in subdirectories. +Söka igenom den rekursivt tar längre tid men identifierar filer i underkataloger. Default (None) - Default (None) + Standard (ingen) No devices available - No devices available + Inga enheter tillgängliga Automatic Binding - Automatic Binding + Automatisk bindning No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. - No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + Inga generiska bindningar genererades för enheten '%1'. Handkontrollen/källan kanske inte har stöd för automatisk mappning. @@ -19144,37 +19223,37 @@ Scanning recursively takes more time, but will identify files in subdirectories. ENTRY Warning: short space limit. Abbreviate if needed. - ENTRY + POST LABEL Warning: short space limit. Abbreviate if needed. - LABEL + ETIKETT PC Warning: short space limit. Abbreviate if needed. PC = Program Counter (location where the CPU is executing). - PC + PC INSTRUCTION Warning: short space limit. Abbreviate if needed. - INSTRUCTION + INSTRUKTION STACK POINTER Warning: short space limit. Abbreviate if needed. - STACK POINTER + STACKPEKARE SIZE Warning: short space limit. Abbreviate if needed. - SIZE + STORLEK @@ -19182,42 +19261,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Alive - Alive + Levande Dead - Dead + Död Name - Name + Namn Value - Value + Värde Location - Location + Plats Size - Size + Storlek Type - Type + Typ Liveness - Liveness + Livlighet @@ -19225,12 +19304,12 @@ Scanning recursively takes more time, but will identify files in subdirectories. Symbol no longer exists. - Symbol no longer exists. + Symbolen finns inte längre. Cannot Change Type - Cannot Change Type + Kan inte byta typ @@ -19238,144 +19317,144 @@ Scanning recursively takes more time, but will identify files in subdirectories. Form - Form + Form Refresh - Refresh + Uppdatera Filter - Filter + Filter + - + + + - - - + - (unknown source file) - (unknown source file) + (okänd källfil) (unknown section) - (unknown section) + (okänd sektion) (unknown module) - (unknown module) + (okänd modul) Copy Name - Copy Name + Kopiera namn Copy Mangled Name - Copy Mangled Name + Kopiera manglat namn Copy Location - Copy Location + Kopiera plats Rename Symbol - Rename Symbol + Byt namn på symbol Go to in Disassembly - Go to in Disassembly + Gå in i disassembly Go to in Memory View - Go to in Memory View + Gå in i minnesvy Show Size Column - Show Size Column + Visa storlekskolumn Group by Module - Group by Module + Gruppera efter modul Group by Section - Group by Section + Gruppera efter sektion Group by Source File - Group by Source File + Gruppera efter källfil Sort by if type is known - Sort by if type is known + Sortera efter om typen är känd Reset children - Reset children + Nollställ barn Change type temporarily - Change type temporarily + Ändra typ temporärt Confirm Deletion - Confirm Deletion + Bekräfta borttagning Delete '%1'? - Delete '%1'? + Ta bort '%1'? Name: - Name: + Namn: Change Type To - Change Type To + Ändra typ till Type: - Type: + Typ: Cannot Change Type - Cannot Change Type + Kan inte ändra typ That node cannot have a type. - That node cannot have a type. + Den noden kan inte ha en typ. @@ -19384,139 +19463,139 @@ Scanning recursively takes more time, but will identify files in subdirectories. INVALID - INVALID + OGILTIG ID Warning: short space limit. Abbreviate if needed. - ID + ID PC Warning: short space limit. Abbreviate if needed. PC = Program Counter (location where the CPU is executing). - PC + PRÄK ENTRY Warning: short space limit. Abbreviate if needed. - ENTRY + POST PRIORITY Warning: short space limit. Abbreviate if needed. - PRIORITY + PRIORITET STATE Warning: short space limit. Abbreviate if needed. - STATE + TILLSTÅ WAIT TYPE Warning: short space limit. Abbreviate if needed. - WAIT TYPE + VÄNTTYP BAD Refers to a Thread State in the Debugger. - BAD + DÅLIG RUN Refers to a Thread State in the Debugger. - RUN + KÖR READY Refers to a Thread State in the Debugger. - READY + REDO WAIT Refers to a Thread State in the Debugger. - WAIT + VÄNTA SUSPEND Refers to a Thread State in the Debugger. - SUSPEND + VÄNTA WAIT SUSPEND Refers to a Thread State in the Debugger. - WAIT SUSPEND + VÄNT VILA DORMANT Refers to a Thread State in the Debugger. - DORMANT + DVALA NONE Refers to a Thread Wait State in the Debugger. - NONE + INGEN WAKEUP REQUEST Refers to a Thread Wait State in the Debugger. - WAKEUP REQUEST + VAKN BEGÄR SEMAPHORE Refers to a Thread Wait State in the Debugger. - SEMAPHORE + SEMAFOR SLEEP Refers to a Thread Wait State in the Debugger. - SLEEP + SOVA DELAY Refers to a Thread Wait State in the Debugger. - DELAY + FÖRDRÖJ EVENTFLAG Refers to a Thread Wait State in the Debugger. - EVENTFLAG + HÄNDFLAG MBOX Refers to a Thread Wait State in the Debugger. - MBOX + MBOX VPOOL Refers to a Thread Wait State in the Debugger. - VPOOL + VPOOL FIXPOOL Refers to a Thread Wait State in the Debugger. - FIXPOOL + FIXPOOL @@ -19524,79 +19603,79 @@ Scanning recursively takes more time, but will identify files in subdirectories. Webcam (EyeToy) - Webcam (EyeToy) + Webbkamera (EyeToy) Sony EyeToy - Sony EyeToy + Sony EyeToy Konami Capture Eye - Konami Capture Eye + Konami Capture Eye Video Device - Video Device + Videoenhet Audio Device - Audio Device + Ljudenhet Audio Latency - Audio Latency + Ljudlatens Selects the device to capture images from. - Selects the device to capture images from. + Väljer enheten att fånga bilder från. HID Keyboard (Konami) - HID Keyboard (Konami) + HID-tangentbord (Konami) Keyboard - Keyboard + Tangentbord HID Mouse - HID Mouse + HID-mus Pointer - Pointer + Pekare Left Button - Left Button + Vänster knapp Right Button - Right Button + Höger knapp Middle Button - Middle Button + Mittenknapp GunCon 2 - GunCon 2 + GunCon 2 @@ -19609,7 +19688,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. D-Pad Up - D-Pad Up + D-Pad upp @@ -19622,7 +19701,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. D-Pad Down - D-Pad Down + D-Pad ner @@ -19635,7 +19714,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. D-Pad Left - D-Pad Left + D-Pad vänster @@ -19648,22 +19727,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. D-Pad Right - D-Pad Right + D-Pad höger Trigger - Trigger + Avtryckare Shoot Offscreen - Shoot Offscreen + Skjut utanför skärm Calibration Shot - Calibration Shot + Kalibreringsskott @@ -19696,7 +19775,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Select - Select + Select @@ -19709,158 +19788,158 @@ Scanning recursively takes more time, but will identify files in subdirectories. Start - Start + Start Relative Left - Relative Left + Relativ vänster Relative Right - Relative Right + Relativ höger Relative Up - Relative Up + Relativ upp Relative Down - Relative Down + Relativ ner Cursor Path - Cursor Path + Markörsökväg Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor. - Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor. + Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor. Cursor Scale - Cursor Scale + Markörskala Scales the crosshair image set above. - Scales the crosshair image set above. + Scales the crosshair image set above. %.0f%% - %.0f%% + %.0f%% Cursor Color - Cursor Color + Markörfärg Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) - Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) + Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc) Manual Screen Configuration - Manual Screen Configuration + Manuell skärmkonfiguration Forces the use of the screen parameters below, instead of automatic parameters if available. - Forces the use of the screen parameters below, instead of automatic parameters if available. + Forces the use of the screen parameters below, instead of automatic parameters if available. X Scale (Sensitivity) - X Scale (Sensitivity) + X-skala (känslighet) Scales the position to simulate CRT curvature. - Scales the position to simulate CRT curvature. + Scales the position to simulate CRT curvature. %.2f%% - %.2f%% + %.2f%% Y Scale (Sensitivity) - Y Scale (Sensitivity) + Y-skala (känslighet) Center X - Center X + Centrera X Sets the horizontal center position of the simulated screen. - Sets the horizontal center position of the simulated screen. + Sets the horizontal center position of the simulated screen. %.0fpx - %.0fpx + %.0fpx Center Y - Center Y + Centrera Y Sets the vertical center position of the simulated screen. - Sets the vertical center position of the simulated screen. + Sets the vertical center position of the simulated screen. Screen Width - Screen Width + Skärmbredd Sets the width of the simulated screen. - Sets the width of the simulated screen. + Sets the width of the simulated screen. %dpx - %dpx + %dpx Screen Height - Screen Height + Skärmhöjd Sets the height of the simulated screen. - Sets the height of the simulated screen. + Sets the height of the simulated screen. Logitech USB Headset - Logitech USB Headset + Logitech USB Headset Input Device - Input Device + Inmatningsenhet @@ -19868,17 +19947,17 @@ Scanning recursively takes more time, but will identify files in subdirectories. Selects the device to read audio from. - Selects the device to read audio from. + Väljer den enhet att läsa ljud från. Output Device - Output Device + Utmatningsenhet Selects the device to output audio to. - Selects the device to output audio to. + Väljer enheten att mata ut ljud till. @@ -19886,7 +19965,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Input Latency - Input Latency + Inmatningslatens @@ -19895,7 +19974,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Specifies the latency to the host input device. - Specifies the latency to the host input device. + Anger latensen till värdens inmatningsenhet. @@ -19905,125 +19984,125 @@ Scanning recursively takes more time, but will identify files in subdirectories. %dms - %dms + %dms Output Latency - Output Latency + Utmatningslatens Specifies the latency to the host output device. - Specifies the latency to the host output device. + Anger latensen till värdens utmatningsenhet. USB-Mic: Neither player 1 nor 2 is connected. - USB-Mic: Neither player 1 nor 2 is connected. + USB-Mic: Varken spelare 1 eller 2 är anslutna. USB-Mic: Failed to start player {} audio stream. - USB-Mic: Failed to start player {} audio stream. + USB-Mic: Failed to start player {} audio stream. Microphone - Microphone + Mikrofon Singstar - Singstar + Singstar Logitech - Logitech + Logitech Konami - Konami + Konami Player 1 Device - Player 1 Device + Enhet för spelare 1 Selects the input for the first player. - Selects the input for the first player. + Väljer inmatning för första spelaren. Player 2 Device - Player 2 Device + Enhet för spelare 2 Selects the input for the second player. - Selects the input for the second player. + Väljer inmatning för andra spelaren. usb-msd: Could not open image file '{}' - usb-msd: Could not open image file '{}' + usb-msd: Kunde inte öppna avbildsfilen '{}' Mass Storage Device - Mass Storage Device + Masslagringsenhet Modification time to USB mass storage image changed, reattaching. - Modification time to USB mass storage image changed, reattaching. + Modification time to USB mass storage image changed, reattaching. Iomega Zip-100 (Generic) - Iomega Zip-100 (Generic) + Iomega Zip-100 (allmän) Sony MSAC-US1 (PictureParadise) - Sony MSAC-US1 (PictureParadise) + Sony MSAC-US1 (PictureParadise) Image Path - Image Path + Avbildssökväg Sets the path to image which will back the virtual mass storage device. - Sets the path to image which will back the virtual mass storage device. + Ställer in sökvägen till avbilden som ska hålla den virtuella masslagringsenheten. Steering Left - Steering Left + Styrning vänster Steering Right - Steering Right + Styrning höger Throttle - Throttle + Gaspedal @@ -20087,59 +20166,59 @@ Scanning recursively takes more time, but will identify files in subdirectories. Force Feedback - Force Feedback + Force Feedback Shift Up / R1 - Shift Up / R1 + Växla upp / R1 Shift Down / L1 - Shift Down / L1 + Växla ner / L1 L3 - L3 + L3 R3 - R3 + R3 Menu Up - Menu Up + Meny upp Menu Down - Menu Down + Meny ner X - X + X Y - Y + Y Off - Off + Av Low - Low + Låg @@ -20154,78 +20233,78 @@ Scanning recursively takes more time, but will identify files in subdirectories. Steering Smoothing - Steering Smoothing + Styrutjämning Smooths out changes in steering to the specified percentage per poll. Needed for using keyboards. - Smooths out changes in steering to the specified percentage per poll. Needed for using keyboards. + Jämnar ut ändringar i styrningen till angivet procenttal per poll. Behövs vid styrning med tangentbord. %d%% - %d%% + %d%% Steering Deadzone - Steering Deadzone + Steering Deadzone Steering axis deadzone for pads or non self centering wheels. - Steering axis deadzone for pads or non self centering wheels. + Steering axis deadzone for pads or non self centering wheels. Steering Damping - Steering Damping + Steering Damping Applies power curve filter to steering axis values. Dampens small inputs. - Applies power curve filter to steering axis values. Dampens small inputs. + Applies power curve filter to steering axis values. Dampens small inputs. Workaround for Intermittent FFB Loss - Workaround for Intermittent FFB Loss + Workaround for Intermittent FFB Loss Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. - Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. + Works around bugs in some wheels' firmware that result in brief interruptions in force. Leave this disabled unless you need it, as it has negative side effects on many wheels. Wheel Device - Wheel Device + Rattenhet Driving Force - Driving Force + Driving Force Driving Force Pro - Driving Force Pro + Driving Force Pro Driving Force Pro (rev11.02) - Driving Force Pro (rev11.02) + Driving Force Pro (rev11.02) GT Force - GT Force + GT Force Rock Band Drum Kit - Rock Band Drum Kit + Rock Band-trumset @@ -20259,7 +20338,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Buzz Controller - Buzz Controller + Buzz-kontroller @@ -20364,7 +20443,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. KeyboardMania - KeyboardMania + KeyboardMania @@ -20409,460 +20488,460 @@ Scanning recursively takes more time, but will identify files in subdirectories. G# 1 - G# 1 + G# 1 A 1 - A 1 + A 1 A# 1 - A# 1 + A# 1 B 1 - B 1 + B 1 C 2 - C 2 + C 2 C# 2 - C# 2 + C# 2 D 2 - D 2 + D 2 D# 2 - D# 2 + D# 2 E 2 - E 2 + E 2 F 2 - F 2 + F 2 F# 2 - F# 2 + F# 2 G 2 - G 2 + G 2 G# 2 - G# 2 + G# 2 A 2 - A 2 + A 2 A# 2 - A# 2 + A# 2 B 2 - B 2 + B 2 Wheel Up - Wheel Up + Wheel Up Wheel Down - Wheel Down + Wheel Down Sega Seamic - Sega Seamic + Sega Seamic Stick Left - Stick Left + Spak vänster Stick Right - Stick Right + Spak höger Stick Up - Stick Up + Spak upp Stick Down - Stick Down + Spak ner Z - Z + Z L - L + L R - R + R Failed to open '{}' for printing. - Failed to open '{}' for printing. + Misslyckades med att öppna '{}' för utskrift. Printer saving to '{}'... - Printer saving to '{}'... + Skrivare sparas till '{}'... Printer - Printer + Skrivare None - None + Ingen Not Connected - Not Connected + Inte ansluten Default Input Device - Default Input Device + Standardenhet för inmatning Default Output Device - Default Output Device + Standardenhet för utmatning DJ Hero Turntable - DJ Hero Turntable + DJ Hero Turntable Triangle / Euphoria - Triangle / Euphoria + Triangle / Euphoria Crossfader Left - Crossfader Left + Crossfader Left Crossfader Right - Crossfader Right + Crossfader Right Left Turntable Clockwise - Left Turntable Clockwise + Left Turntable Clockwise Left Turntable Counterclockwise - Left Turntable Counterclockwise + Left Turntable Counterclockwise Right Turntable Clockwise - Right Turntable Clockwise + Right Turntable Clockwise Right Turntable Counterclockwise - Right Turntable Counterclockwise + Right Turntable Counterclockwise Left Turntable Green - Left Turntable Green + Left Turntable Green Left Turntable Red - Left Turntable Red + Left Turntable Red Left Turntable Blue - Left Turntable Blue + Left Turntable Blue Right Turntable Green - Right Turntable Green + Right Turntable Green Right Turntable Red - Right Turntable Red + Right Turntable Red Right Turntable Blue - Right Turntable Blue + Right Turntable Blue Apply a multiplier to the turntable - Apply a multiplier to the turntable + Apply a multiplier to the turntable Effects Knob Left - Effects Knob Left + Effects Knob Left Effects Knob Right - Effects Knob Right + Effects Knob Right Turntable Multiplier - Turntable Multiplier + Turntable Multiplier Gametrak Device - Gametrak Device + Gametrak-enhet Foot Pedal - Foot Pedal + Fotpedal Left X - Left X + Vänster X Left Y - Left Y + Vänster Y Left Z - Left Z + Vänster Z Right X - Right X + Höger X Right Y - Right Y + Höger Y Right Z - Right Z + Höger Z Invert X axis - Invert X axis + Invertera X-axel Invert Y axis - Invert Y axis + Invertera Y-axel Invert Z axis - Invert Z axis + Invertera Z-axel Limit Z axis [100-4095] - Limit Z axis [100-4095] + Begränsa Z-axel [100-4095] - 4095 for original Gametrak controllers - 1790 for standard gamepads - - 4095 for original Gametrak controllers + - 4095 for original Gametrak controllers - 1790 for standard gamepads %d - %d + %d RealPlay Device - RealPlay Device + RealPlay-enhet RealPlay Racing - RealPlay Racing + RealPlay Racing RealPlay Sphere - RealPlay Sphere + RealPlay Sphere RealPlay Golf - RealPlay Golf + RealPlay Golf RealPlay Pool - RealPlay Pool + RealPlay Pool Accel X - Accel X + Accel X Accel Y - Accel Y + Accel Y Accel Z - Accel Z + Accel Z Trance Vibrator (Rez) - Trance Vibrator (Rez) + Trance Vibrator (Rez) Train Controller - Train Controller + Tågkontroller Type 2 - Type 2 + Type 2 Shinkansen - Shinkansen + Shinkansen Ryojōhen - Ryojōhen + Ryojōhen Power - Power + Power A Button - A Button + A-knapp B Button - B Button + B-knapp C Button - C Button + C-knapp D Button - D Button + D-knapp Announce - Announce + Announce Horn - Horn + Tuta Left Door - Left Door + Vänster dörr Right Door - Right Door + Höger dörr Camera Button - Camera Button + Kameraknapp Axes Passthrough - Axes Passthrough + Axes Passthrough Passes through the unprocessed input axis to the game. Enable if you are using a compatible Densha De Go! controller. Disable if you are using any other joystick. - Passes through the unprocessed input axis to the game. Enable if you are using a compatible Densha De Go! controller. Disable if you are using any other joystick. + Passes through the unprocessed input axis to the game. Enable if you are using a compatible Densha De Go! controller. Disable if you are using any other joystick. @@ -20870,7 +20949,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Axes - Axes + Axlar @@ -20883,7 +20962,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Player 1 - Player 1 + Spelare 1 @@ -20891,7 +20970,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Red - Red + Röd @@ -20915,7 +20994,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. PushButton - PushButton + Tryckknapp @@ -20923,7 +21002,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Blue - Blue + Blå @@ -20931,7 +21010,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Orange - Orange + Orange @@ -20939,7 +21018,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Green - Green + Grön @@ -20947,22 +21026,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. Yellow - Yellow + Gul Player 2 - Player 2 + Spelare 2 Player 3 - Player 3 + Spelare 3 Player 4 - Player 4 + Spelare 4 @@ -20970,84 +21049,84 @@ Scanning recursively takes more time, but will identify files in subdirectories. Face Buttons - Face Buttons + Handlingsknappar C - C + C B - B + B D - D + D A - A + A Hints - Hints + Tips The Densha Controller Type 2 is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has five progressively higher notches of power. The brake axis starts released, and has eight progressively increasing notches plus an Emergency Brake. This controller is compatible with several games and generally maps well to hardware with one or two physical axes with a similar range of notches, such as the modern "Zuiki One Handle MasCon". This controller is created for the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. The 'Densha Controller Type 2' and 'Zuiki One Handle MasCon' are specific brands of USB train master controller. Both products are only distributed in Japan, so they do not have official non-Japanese names. - The Densha Controller Type 2 is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has five progressively higher notches of power. The brake axis starts released, and has eight progressively increasing notches plus an Emergency Brake. This controller is compatible with several games and generally maps well to hardware with one or two physical axes with a similar range of notches, such as the modern "Zuiki One Handle MasCon". + Densha Controller Type 2 är en tågförarkontroller med två handtag samt D-Pad och sex knappar. Gasreglaget utgår från neutral och har fem stegvis högre effektnivåer. Bromsaxeln börjar utsläppt och har åtta stegvis ökande nivåer samt en nödbroms. Denna styrenhet är kompatibel med flera spel och i allmänhet fungerar väl till hårdvara med en eller två fysiska axlar med ett liknande utbud av nivåer, såsom den moderna "Zuiki One Handle MasCon". D-Pad - D-Pad + Riktningsknappar Down - Down + Ner Left - Left + Vänster Up - Up + Upp Right - Right + Höger Power Lever Power refers to the train's accelerator which causes the train to increase speed. - Power Lever + Fartreglage Brake Lever - Brake Lever + Bromsspak Select - Select + Select Start - Start + Start @@ -21055,42 +21134,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Hints - Hints + Tips To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. - To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + För att binda styrning för de flesta moderna 900-graders rattar så vrid ratten ett varv i önskad riktning och sedan tillbaka till mitten. Force Feedback - Force Feedback + Force Feedback D-Pad - D-Pad + Riktningsknappar Down - Down + Ner Left - Left + Vänster Up - Up + Upp Right - Right + Höger @@ -21105,32 +21184,32 @@ Scanning recursively takes more time, but will identify files in subdirectories. Brake - Brake + Broms Steering Left - Steering Left + Styra vänster Steering Right - Steering Right + Styra höger Select - Select + Select Start - Start + Start Face Buttons - Face Buttons + Handlingsknappar @@ -21165,7 +21244,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Accelerator - Accelerator + Gaspedal @@ -21173,17 +21252,17 @@ Scanning recursively takes more time, but will identify files in subdirectories. Hints - Hints + Tips To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. - To bind steering for most modern 900 degree wheels, turn the wheel one rotation in the desired direction, then back again to center. + För att binda styrning för de flesta moderna 900-graders rattar så vrid ratten ett varv i önskad riktning och sedan tillbaka till mitten. Force Feedback - Force Feedback + Force Feedback @@ -21203,37 +21282,37 @@ Scanning recursively takes more time, but will identify files in subdirectories. Steering Left - Steering Left + Styra vänster Steering Right - Steering Right + Styra höger Left Paddle - Left Paddle + Vänster paddel Right Paddle - Right Paddle + Höger paddel Y - Y + Y B - B + B Accelerator - Accelerator + Gaspedal @@ -21241,13 +21320,13 @@ Scanning recursively takes more time, but will identify files in subdirectories. Left Hand - Left Hand + Vänster hand X Axis - X Axis + X-axel @@ -21258,47 +21337,47 @@ Scanning recursively takes more time, but will identify files in subdirectories. PushButton - PushButton + Tryckknapp Left=0 / Right=0x3ff - Left=0 / Right=0x3ff + Vänster=0 / Höger=0x3ff Y Axis - Y Axis + Y-axel Back=0 / Front=0x3ff - Back=0 / Front=0x3ff + Bak=0 / Fram=0x3ff Z Axis - Z Axis + Z-axel Top=0 / Bottom=0xfff - Top=0 / Bottom=0xfff + Överst=0 / Nederst=0xfff Foot Pedal - Foot Pedal + Fotpedal Right Hand - Right Hand + Höger hand @@ -21306,49 +21385,49 @@ Scanning recursively takes more time, but will identify files in subdirectories. Buttons - Buttons + Knappar A - A + A C - C + C Start - Start + Start Select - Select + Select B - B + B D-Pad - D-Pad + Riktningsknappar Down - Down + Ner Left - Left + Vänster @@ -21365,43 +21444,43 @@ Scanning recursively takes more time, but will identify files in subdirectories. Pointer Setup - Pointer Setup + Konfigurera pekare <p>By default, GunCon2 will use the mouse pointer. To use the mouse, you <strong>do not</strong> need to configure any bindings apart from the trigger and buttons.</p> <p>If you want to use a controller, or lightgun which simulates a controller instead of a mouse, then you should bind it to Relative Aiming. Otherwise, Relative Aiming should be <strong>left unbound</strong>.</p> - <p>By default, GunCon2 will use the mouse pointer. To use the mouse, you <strong>do not</strong> need to configure any bindings apart from the trigger and buttons.</p> + <p>GunCon2 kommer som standard att använda muspekaren. För att använda musen behöver du <strong>inte</strong> konfigurera några bindningar förutom avtryckaren och knappar.</p> -<p>If you want to use a controller, or lightgun which simulates a controller instead of a mouse, then you should bind it to Relative Aiming. Otherwise, Relative Aiming should be <strong>left unbound</strong>.</p> +<p>Om du vill använda en handkontroller eller ljuspistol som simulerar en kontrollera istället för en mus så kan du binda den till Relative Aiming. Om inte bör Relative Aiming <strong>lämnas obunden</strong>.</p> Relative Aiming Try to use Sony's official terminology for this. A good place to start would be in the console or the DualShock 2's manual. If this element was officially translated to your language by Sony in later DualShocks, you may use that term. - Relative Aiming + Relative Aiming Trigger - Trigger + Avtryckare Shoot Offscreen - Shoot Offscreen + Skjut utanför skärm Calibration Shot - Calibration Shot + Kalibreringsskott Calibration shot is required to pass the setup screen in some games. - Calibration shot is required to pass the setup screen in some games. + Kalibreringsskott krävs för att komma förbi inställningsskärmen i vissa spel. @@ -21409,7 +21488,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. D-Pad Up - D-Pad Up + D-Pad upp @@ -21424,57 +21503,57 @@ Scanning recursively takes more time, but will identify files in subdirectories. PushButton - PushButton + Tryckknapp D-Pad Down - D-Pad Down + D-Pad ner D-Pad Left - D-Pad Left + D-Pad vänster D-Pad Right - D-Pad Right + D-Pad höger Red - Red + Röd Green - Green + Grön Yellow - Yellow + Gul Blue - Blue + Blå Accel X - Accel X + Accel X Accel Y - Accel Y + Accel Y Accel Z - Accel Z + Accel Z @@ -21482,96 +21561,96 @@ Scanning recursively takes more time, but will identify files in subdirectories. Hints - Hints + Tips The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. Ryojōhen refers to a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains. For consistency, romanization of 'Ryojōhen' should be kept consistent across western languages, as there is no official translation for this name. - The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. + The Ryojōhen Controller is a two-handle train master controller with a D-Pad and seven buttons. The power axis starts from neutral and has four progressively higher notches of power. The brake axis is analogue with three regions representing to release brake pressure, hold brakes at the current pressure, or increase brake pressure. Extending this axis to the extreme triggers the Emergency Brake. This controller is designed for use with Densha De GO! Ryojōhen, and is best used with hardware with two axes, one of which can be easily feathered to increase or decrease brake pressure. Door Buttons Door buttons toggle to open or close train doors when this controller is used with Densha De GO! games. - Door Buttons + Dörrknappar Left - Left + Vänster PushButton - PushButton + Tryckknapp Right - Right + Höger D-Pad - D-Pad + Riktningsknappar Down - Down + Ner Up - Up + Upp Brake Lever - Brake Lever + Bromsspak Power Lever Power refers to the train's accelerator which causes the train to increase speed. - Power Lever + Fartreglage Face Buttons - Face Buttons + Handlingsknappar Select - Select + Select Start - Start + Start Announce Announce is used in-game to trigger the train conductor to make voice over announcements for an upcoming train stop. - Announce + Informera Camera Camera is used to switch the view point. Original: 視点切替 - Camera + Kamera Horn Horn is used to alert people and cars that a train is approaching. Original: 警笛 - Horn + Tuta @@ -21579,84 +21658,84 @@ Scanning recursively takes more time, but will identify files in subdirectories. Hints - Hints + Tips The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. This controller is created for a specific edition of the Densha De GO! game franchise, which is about playing the role of a train conductor. The controller mimics controls inside of Japanese trains, in this case bullet trains. The product does not have an official name translation, and it is common to refer to the train type as Shinkansen. - The Shinkansen Controller is a two-handle train master controller with a D-Pad and six buttons. The power axis starts from neutral and has thirteen progressively higher notches of power. The brake axis starts released, and has seven progressively increasing notches plus an Emergency Brake. This controller is designed for use with Densha De GO! San'yō Shinkansen-hen, and is best used with hardware with 14 or more notch settings on an axis. + Shinkansen Controller är en tågförarkontroller med två handtag samt en D-Pad och sex knappar. Gasreglaget utgår från neutral och har tretton successivt högre nivåer. Bromsaxeln börjar utsläppt och har sju stegvis ökande nivåer samt en nödbroms. Denna styrenhet är utformad för användning med Densha De GO! San'yoō Shinkansen-hen och används bäst med hårdvara med 14 eller fler nivåinställningar på en axel. Power Lever Power refers to the train's accelerator which causes the train to increase speed. - Power Lever + Fartreglage D-Pad - D-Pad + Riktningsknappar Down - Down + Ner Left - Left + Vänster Up - Up + Upp Right - Right + Höger Select - Select + Select Start - Start + Start Brake Lever - Brake Lever + Bromsspak Face Buttons - Face Buttons + Handlingsknappar C - C + C B - B + B D - D + D A - A + A @@ -21664,7 +21743,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Motor - Motor + Motor @@ -21672,7 +21751,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Device Type - Device Type + Enhetstyp @@ -21687,83 +21766,83 @@ Scanning recursively takes more time, but will identify files in subdirectories. Automatic Mapping - Automatic Mapping + Automatisk mappning Clear Mapping - Clear Mapping + Töm mappning USB Port %1 - USB Port %1 + USB-port %1 No devices available - No devices available + Inga enheter tillgängliga Clear Bindings - Clear Bindings + Töm bindningar Are you sure you want to clear all bindings for this device? This action cannot be undone. - Are you sure you want to clear all bindings for this device? This action cannot be undone. + Är du säker på att du vill tömma alla bindningar för denna enhet? Denna åtgärd går inte att ångra. Automatic Binding - Automatic Binding + Automatisk bindning No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. - No generic bindings were generated for device '%1'. The controller/source may not support automatic mapping. + Inga generiska bindningar genererades för enheten '%1'. Kontrollern/källan kanske inte har stöd för automatisk mappning. VMManager - + Failed to back up old save state {}. - Failed to back up old save state {}. + Misslyckades med att säkerhetskopiera gammalt sparat tillstånd {}. - + Failed to save save state: {}. - Failed to save save state: {}. + Misslyckades med att spara sparat tillstånd: {}. - + PS2 BIOS ({}) - PS2 BIOS ({}) + PS2 BIOS ({}) - + Unknown Game - Unknown Game + Okänt spel - + CDVD precaching was cancelled. - CDVD precaching was cancelled. + Förcachning av CDVD avbröts. - + CDVD precaching failed: {} - CDVD precaching failed: {} + Förcachning av CDVD misslyckades: {} - + Error Fel - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21771,283 +21850,283 @@ For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own Once dumped, this BIOS image should be placed in the bios folder within the data directory (Tools Menu -> Open Data Directory). Please consult the FAQs and Guides for further instructions. - PCSX2 requires a PS2 BIOS in order to run. + PCSX2 kräver ett PS2 BIOS för att kunna köras. -For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). +Av juridiska skäl *måste* du skaffa ett BIOS från en faktisk PS2-enhet som du äger (att låna räcker inte). -Once dumped, this BIOS image should be placed in the bios folder within the data directory (Tools Menu -> Open Data Directory). +När BIOS-bilden har dumpats bör den placeras i bios-mappen i datakatalogen (Verktygsmenyn -> Öppna datakatalog). -Please consult the FAQs and Guides for further instructions. +Se FAQ och guider för ytterligare instruktioner. - + Resuming state - Resuming state + Återupptar tillstånd - + Boot and Debug - Boot and Debug + Uppstart och felsökning - + Failed to load save state - Failed to load save state + Misslyckades med att läsa in sparat tillstånd - + State saved to slot {}. - State saved to slot {}. + Tillstånd sparat till plats {}. - + Failed to save save state to slot {}. - Failed to save save state to slot {}. + Misslyckades med att spara tillstånd till plats {}. - - + + Loading state - Loading state + Läser in tillstånd - + Failed to load state (Memory card is busy) - Failed to load state (Memory card is busy) + Misslyckades med att läsa in tillstånd (Minneskortet är upptaget) - + There is no save state in slot {}. - There is no save state in slot {}. + Det finns inget sparat tillstånd i plats {}. - + Failed to load state from slot {} (Memory card is busy) - Failed to load state from slot {} (Memory card is busy) + Misslyckades med att läsa in tillstånd från plats {} (Minnetskortet är upptaget) - + Loading state from slot {}... - Loading state from slot {}... + Läser in tillstånd från plats {}... - + Failed to save state (Memory card is busy) - Failed to save state (Memory card is busy) + Misslyckades med att spara tillstånd (Minneskortet är upptaget) - + Failed to save state to slot {} (Memory card is busy) - Failed to save state to slot {} (Memory card is busy) + Misslyckades med att spara tillstånd till plats {} (Minneskortet är upptaget) - + Saving state to slot {}... - Saving state to slot {}... + Sparar tillstånd till plats {}... - + Frame advancing - Frame advancing + Frame advancing - + Disc removed. - Disc removed. + Skivan borttagen. - + Disc changed to '{}'. - Disc changed to '{}'. + Skivan byttes till '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} - Failed to open new disc image '{}'. Reverting to old image. -Error was: {} + Misslyckades med att öppna ny skivavbild '{}'. Återgår till gammal avbild. +Felet var: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} - Failed to switch back to old disc image. Removing disc. -Error was: {} + Misslyckades med att växla tillbaka till gammal skivavbild. Tar bort skivan. +Felet var: {} - + Cheats have been disabled due to achievements hardcore mode. - Cheats have been disabled due to achievements hardcore mode. + Fusk har inaktiverats på grund av hardcore-läget för prestationer. - + Fast CDVD is enabled, this may break games. - Fast CDVD is enabled, this may break games. + Snabb CDVD är aktiverad. Detta kan ge problem i spel. - + Cycle rate/skip is not at default, this may crash or make games run too slow. - Cycle rate/skip is not at default, this may crash or make games run too slow. + Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. - Upscale multiplier is below native, this will break rendering. + Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. - Mipmapping is disabled. This may break rendering in some games. + Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. - Renderer is not set to Automatic. This may cause performance problems and graphical issues. + Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running - No Game Running + Inget spel är igång - + Trilinear filtering is not set to automatic. This may break rendering in some games. - Trilinear filtering is not set to automatic. This may break rendering in some games. + Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. - Blending Accuracy is below Basic, this may break effects in some games. + Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. - Hardware Download Mode is not set to Accurate, this may break rendering in some games. + Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. - EE FPU Round Mode is not set to default, this may break some games. + EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. - EE FPU Clamp Mode is not set to default, this may break some games. + EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. - VU0 Round Mode is not set to default, this may break some games. + VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. - VU1 Round Mode is not set to default, this may break some games. + VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. - VU Clamp Mode is not set to default, this may break some games. + VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. - 128MB RAM is enabled. Compatibility with some games may be affected. + 128MB RAM är aktiverat. Kompatibilitet för vissa spel kan påverkas. - + Game Fixes are not enabled. Compatibility with some games may be affected. - Game Fixes are not enabled. Compatibility with some games may be affected. + Spelfixar är inte aktiverat. Kompatibilitet med vissa spel kan påverkas. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. - Compatibility Patches are not enabled. Compatibility with some games may be affected. + Kompatibilitetspatchar är inte aktiverat. Kompatibilitet med vissa spel kan påverkas. - + Frame rate for NTSC is not default. This may break some games. - Frame rate for NTSC is not default. This may break some games. + Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. - Frame rate for PAL is not default. This may break some games. + Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. - EE Recompiler is not enabled, this will significantly reduce performance. + EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. - VU0 Recompiler is not enabled, this will significantly reduce performance. + VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. - VU1 Recompiler is not enabled, this will significantly reduce performance. + VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. - IOP Recompiler is not enabled, this will significantly reduce performance. + IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. - EE Cache is enabled, this will significantly reduce performance. + EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. - EE Wait Loop Detection is not enabled, this may reduce performance. + EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. - INTC Spin Detection is not enabled, this may reduce performance. + INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. - Fastmem is not enabled, this will reduce performance. + Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. - Instant VU1 is disabled, this may reduce performance. + Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. - mVU Flag Hack is not enabled, this may reduce performance. + mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. - GPU Palette Conversion is enabled, this may reduce performance. + GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. - Texture Preloading is not Full, this may reduce performance. + Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. - Estimate texture region is enabled, this may reduce performance. + Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. - Texture dumping is enabled, this will continually dump textures to disk. + Texturdumpning är aktiverat. Detta kommer dumpa texturer till disk hela tiden. diff --git a/pcsx2-qt/Translations/pcsx2-qt_tr-TR.ts b/pcsx2-qt/Translations/pcsx2-qt_tr-TR.ts index 04ebd82ce4596..2e94ee566d12b 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_tr-TR.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_tr-TR.ts @@ -732,307 +732,318 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Genelde Seçilmiş Ayarı Kullan [%1] - + Rounding Mode Yuvarlama Modu - - - + + + Chop/Zero (Default) Kes / Sıfır (Varsayılan) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2'nin, Emotion Engine''in Floating Point Unit'ini (EE FPU) taklit ederken yuvarlama işlemlerini nasıl ele aldığını değiştirir. PS2'deki çeşitli FPU'lar uluslararası standartlara uygun olmadığından, bazı oyunların matematik işlemlerini doğru yapabilmesi için farklı modlara ihtiyaç duyulabilir. Varsayılan değer, oyunların büyük çoğunluğunu düzgün şekilde işler; <b>bir oyunda görünür bir sorun yokken bu ayarı değiştirmek, kararsızlığa neden olabilir.</b> - + Division Rounding Mode Bölme Yuvarlama Modu - + Nearest (Default) En Yakın (Varsayılan) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Floating-point bölme işleminin sonuçlarının nasıl yuvarlandığını belirler. Bazı oyunlar belirli ayarları gerektirir; <b>bir oyunda görünür bir sorun yokken bu ayarı değiştirmek, kararsızlığa neden olabilir.</b> - + Clamping Mode Sıkıştırma Modu - - - + + + Normal (Default) Normal (Varsayılan) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2'nin float değerleri standart x86 aralığında tutma şeklini değiştirir. Varsayılan değer, oyunların büyük çoğunluğunu düzgün şekilde işler; <b>bir oyunda görünür bir sorun yokken bu ayarı değiştirmek, kararsızlığa neden olabilir.</b> - - + + Enable Recompiler Yeniden Derleyiciyi Etkinleştir - + - - - + + + - + - - - - + + + + + Checked İşaretli - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. 64 bit MIPS-IV makine kodunun x86'ya tam zamanında ikili çevirisini gerçekleştirir. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Bekleme Döngüsü Tespiti - + Moderate speedup for some games, with no known side effects. Bazı oyunlar için orta düzeyde hızlanma sağlar, bilinen yan etkisi yok. - + Enable Cache (Slow) Önbelleği Etkinleştir (Yavaş) - - - - + + + + Unchecked İşaretsiz - + Interpreter only, provided for diagnostic. Sadece yorumlayıcı, tanı için temin edilmiştir. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Döndürme Tespiti - + Huge speedup for some games, with almost no compatibility side effects. Bazı oyunlar için, neredeyse hiç uyumluluk yan etkisi olmadan, yüksek düzeyde hızlanma sağlar. - + Enable Fast Memory Access Hızlı Bellek Erişimini Etkinleştir - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Her bellek erişiminde kayıt temizlemeden kaçınmak için, geri yamalama kullanır. - + Pause On TLB Miss ESÖ Iska Durumunda Duraklat - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Etkin Sayfalar Önbelleği veya ESÖ ıska durumu olduğunda görmezden gelip devam etmek yerine, sanal makineyi duraklatır. Sanal makinenin, istisnaya neden olan talimatta değil, bloğun bitiminden sonra duraklayacağını unutmayın. Geçersiz erişimin gerçekleştiği adresi görmek için konsola bakın. - + Enable 128MB RAM (Dev Console) 128MB RAM'ı (Geliştirici Konsolu) Etkinleştir - + Exposes an additional 96MB of memory to the virtual machine. Sanal makineye ekstra 96MB bellek sunar. - + VU0 Rounding Mode VU0 Yuvarlama Modu - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> PCSX2'nin, Emotion Engine'in Vektör Birimi 0'ı (EE VU0) taklit ederken yuvarlama işlemlerini nasıl ele aldığını değiştirir. Varsayılan değer, oyunların büyük çoğunluğunu düzgün şekilde işler; <b>bir oyunda görünür bir sorun olmadığında bu ayarı değiştirmek, kararlılık sorunlarına ve/veya çöküşlere yol açabilir.</b> - + VU1 Rounding Mode VU1 Yuvarlama Modu - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> PCSX2'nin, Emotion Engine in Vektör Birimi 1'ı (EE VU0) taklit ederken yuvarlama işlemlerini nasıl ele aldığını değiştirir. Varsayılan değer, oyunların büyük çoğunluğunu düzgün şekilde işler; <b>bir oyunda görünür bir sorun olmadığında bu ayarı değiştirmek, kararlılık sorunlarına ve/veya çöküşlere yol açabilir.</b> - + VU0 Clamping Mode VU0 Sıkıştırma Modu - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2'nin, Emotion Engine'in Vektör Birimi 0'ı (EE VU0) içinde float değerlerini standart x86 aralığında tutma şeklini değiştirir. Varsayılan değer, oyunların büyük çoğunluğunu düzgün şekilde işler; <b>bir oyunda görünür bir sorun olmadığında bu ayarı değiştirmek, kararsızlığa neden olabilir.</b> - + VU1 Clamping Mode VU1 Sıkıştırma Modu - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> PCSX2'nin, Emotion Engine'in Vektör Birimi 1'ı (EE VU1) içinde float değerlerini standart x86 aralığında tutma şeklini değiştirir. Varsayılan değer, oyunların büyük çoğunluğunu düzgün şekilde işler; <b>bir oyunda görünür bir sorun olmadığında bu ayarı değiştirmek, kararsızlığa neden olabilir.</b> - + Enable Instant VU1 Anlık VU1'i etkinleştir - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. VU1'i anında çalıştırır. Çoğu oyunda mütevazı bir hız artışı sağlar. Çoğu oyun için güvenlidir, ancak birkaç oyun grafiksel hatalar gösterebilir. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. VU0 Yeniden Derleyicisini Etkinleştir (Mikro Mod) - + Enables VU0 Recompiler. VU0 Yeniden Derleyicisini etkinleştirir. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. VU1 Yeniden Derleyicisini Etkinleştir - + Enables VU1 Recompiler. VU1 Yeniden Derleyicisini etkinleştirir. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. İyi hızlanma sağlar ve yüksek derecede uyumludur. Grafiksel hatalara neden olabilir. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. 32 bit MIPS-I makine kodunun x86'ya tam zamanında ikili çevirisini gerçekleştirir. - + Enable Game Fixes Oyun Düzeltmelerini Etkinleştir - + Automatically loads and applies fixes to known problematic games on game start. Problemli olduğu bilinen oyunlara, başlangıçta, düzeltmeleri otomatik yükler ve uygular. - + Enable Compatibility Patches Uyumluluk Yamalarını Etkinleştir - + Automatically loads and applies compatibility patches to known problematic games. Problemli olduğu bilinen oyunlara, uyumluluk yamalarını otomatik yükler ve uygular. - + Savestate Compression Method Savestate Compression Method - + Zstandard - Zstandard + Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1255,29 +1266,29 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Kare Hızı Kontrolü - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Kare Hızı: - + NTSC Frame Rate: NTSC Kare Hızı: @@ -1292,7 +1303,7 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Compression Level: - + Compression Method: Compression Method: @@ -1304,17 +1315,17 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Deflate64 - Deflate64 + Deflate64 Zstandard - Zstandard + Zstandard LZMA2 - LZMA2 + LZMA2 @@ -1337,17 +1348,22 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Ayarları - + Slot: Slot: - + Enable Etkinleştir @@ -1868,8 +1884,8 @@ Liderlik Tablosu Sıranız: {2} içinden {1} AutoUpdaterDialog - - + + Automatic Updater Otomatik Güncelleyici @@ -1909,68 +1925,68 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Daha Sonra Hatırlat - - + + Updater Error Güncelleyici Hatası - + <h2>Changes:</h2> <h2>Değişiklikler:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Durum Kaydı Uyarısı</h2><p>Bu güncellemeyi kurmak, durum kayıtlarınızı <b>uyumsuz</b> yapacaktır. Lütfen bu güncellemeyi kurmadan önce oyunlarınızı bir Hafıza Kartı içerisine kaydettiğinizden emin olun yoksa ilerlemenizi kaybedeceksiniz.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Ayarlar Uyarısı</h2><p>Bu güncellemeyi kurmak, uygulama yapılandırmanızı sıfırlayacaktır. Bu güncelleme sonrasında ayarlarınızı yeniden yapılandırmanız gerektiğini lütfen aklınızda bulundurun.</p> - + Savestate Warning Durum Kaydı Uyarısı - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>UYARI</h1><p style='font-size:12pt;'>Bu güncellemeyi yüklemek<b>Durum Kayıtlarınızı uyumsuz hale getirecek</b>, <i>devam etmeden önce ilerlemenizi Hafıza Kartına kaydettiğinize emin olun</i>.</p><p>Devam etmek istediğiniz emin misiniz?</p> - + Downloading %1... İndiriliyor %1... - + No updates are currently available. Please try again later. Mevcut güncelleme yok. Lütfen daha sonra tekrar deneyin. - + Current Version: %1 (%2) Mevcut Sürüm: %1 (%2) - + New Version: %1 (%2) Yeni Sürüm: %1 (%2) - + Download Size: %1 MB İndirme Boyutu: %1 MB - + Loading... Yükleniyor... - + Failed to remove updater exe after update. Güncellemeden sonra güncelleme programı silinemedi. @@ -2134,21 +2150,21 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Etkinleştir - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size - Invalid Size + Geçersiz Boyut @@ -2236,17 +2252,17 @@ Liderlik Tablosu Sıranız: {2} içinden {1} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Oyun diski çıkarılabilir bir sürücüde, takılma ve donma gibi performans sorunları ortaya çıkabilir. - + Saving CDVD block dump to '{}'. CDVD blok dökümü şuraya kaydediliyor: '{}'. - + Precaching CDVD CDVD önbelleğe alınıyor @@ -2271,7 +2287,7 @@ Liderlik Tablosu Sıranız: {2} içinden {1} Bilinmiyor - + Precaching is not supported for discs. Diskler için önbellekleme desteklenmez. @@ -3228,29 +3244,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Profili Sil - + Mapping Settings Eşleştirme Ayarları - - + + Restore Defaults Varsayılanları Geri Yükle - - - + + + Create Input Profile Yeni Giriş Profili Oluştur - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3261,40 +3282,43 @@ Bir oyuna özel girdi profili oluşturmak için, o oyunun özelliklerine gidin, Yeni girdi profiline bir isim girin: - - - - + + + + + + Error Hata - + + A profile with the name '%1' already exists. '%1' adında bir profil zaten mevcut. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Şu anda seçili olan profildeki tüm atamaları yeni profile kopyalamak istiyor musunuz? Hayır'ı seçmek tamamen boş bir profil oluşturacaktır. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Genel ayarlardaki mevcut tuş atamalarını yeni girdi profiline kopyalamak istiyor musunuz? - + Failed to save the new profile to '%1'. '%1' ismine yeni profil kaydedilemedi. - + Load Input Profile Giriş Profilini Yükle - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3307,12 +3331,27 @@ Mevcut tüm genel atamalar kaldırılacak ve profil atamaları yüklenecektir. Bu eylemi geri alamazsınız. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Giriş Profilini Sil - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3321,12 +3360,12 @@ You cannot undo this action. Bu eylemi geri alamazsınız. - + Failed to delete '%1'. '%1' silinemedi. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3339,13 +3378,13 @@ Tüm paylaşılan atamalar ve yapılandırma kaybolacak, ancak giriş profilleri Bu eylemi geri alamazsınız. - + Global Settings Genel Ayarlar - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3353,8 +3392,8 @@ Bu eylemi geri alamazsınız. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3362,26 +3401,26 @@ Bu eylemi geri alamazsınız. %2 - - + + USB Port %1 %2 USB Portu %1 %2 - + Hotkeys Kısayol Tuşları - + Shared "Shared" refers here to the shared input profile. Paylaşılan - + The input profile named '%1' cannot be found. '%1' adındaki giriş profili bulunamadı. @@ -4005,63 +4044,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add - Add + Ekle - + Remove - Remove + Kaldır - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4104,7 +4143,7 @@ Do you want to overwrite? Scan Mode - Scan Mode + Tarama Modu @@ -4132,17 +4171,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4168,7 +4222,7 @@ Do you want to overwrite? Always - Always + Her zaman @@ -4179,7 +4233,7 @@ Do you want to overwrite? Never - Never + Asla @@ -4261,12 +4315,12 @@ Do you want to overwrite? Enable - Enable + Etkinleştir EE - EE + EE @@ -4277,42 +4331,42 @@ Do you want to overwrite? SPR / MFIFO - SPR / MFIFO + SPR / MFIFO VIF - VIF + VIF COP1 (FPU) - COP1 (FPU) + COP1 (FPU) MSKPATH3 - MSKPATH3 + MSKPATH3 Cache - Cache + Önbellek GIF - GIF + GIF R5900 - R5900 + R5900 COP0 - COP0 + COP0 @@ -4329,7 +4383,7 @@ Do you want to overwrite? SIF - SIF + SIF @@ -4350,18 +4404,18 @@ Do you want to overwrite? Unknown MMIO - Unknown MMIO + Bilinmeyen MMIO IPU - IPU + IPU BIOS - BIOS + BIOS @@ -4377,17 +4431,17 @@ Do you want to overwrite? IOP - IOP + IOP CDVD - CDVD + CDVD R3000A - R3000A + R3000A @@ -4402,12 +4456,12 @@ Do you want to overwrite? MDEC - MDEC + MDEC COP2 (GPU) - COP2 (GPU) + COP2 (GPU) @@ -4484,7 +4538,7 @@ Do you want to overwrite? EE BIOS - EE BIOS + EE BIOS @@ -4504,7 +4558,7 @@ Do you want to overwrite? EE R5900 - EE R5900 + EE R5900 @@ -4514,7 +4568,7 @@ Do you want to overwrite? EE COP0 - EE COP0 + EE COP0 @@ -4524,7 +4578,7 @@ Do you want to overwrite? EE COP1 - EE COP1 + EE COP1 @@ -4534,7 +4588,7 @@ Do you want to overwrite? EE COP2 - EE COP2 + EE COP2 @@ -4544,7 +4598,7 @@ Do you want to overwrite? EE Cache - EE Cache + EE Önbelleği @@ -4587,7 +4641,7 @@ Do you want to overwrite? EE IPU - EE IPU + EE IPU @@ -4627,7 +4681,7 @@ Do you want to overwrite? EE MFIFO - EE MFIFO + EE MFIFO @@ -4658,7 +4712,7 @@ Do you want to overwrite? EE VIF - EE VIF + EE VIF @@ -4668,7 +4722,7 @@ Do you want to overwrite? EE GIF - EE GIF + EE GIF @@ -4678,7 +4732,7 @@ Do you want to overwrite? IOP BIOS - IOP BIOS + IOP BIOS @@ -4698,7 +4752,7 @@ Do you want to overwrite? IOP R3000A - IOP R3000A + IOP R3000A @@ -4708,7 +4762,7 @@ Do you want to overwrite? IOP COP2 - IOP COP2 + IOP COP2 @@ -4758,7 +4812,7 @@ Do you want to overwrite? IOP CDVD - IOP CDVD + IOP CDVD @@ -4778,7 +4832,7 @@ Do you want to overwrite? EE SIF - EE SIF + EE SIF @@ -4794,53 +4848,53 @@ Do you want to overwrite? PCSX2 Hata Ayıklayıcı - + Run Çalıştır - + Step Into 'e/a adım at - + F11 F11 - + Step Over Üzerinden geç - + F10 F10 - + Step Out Dışarı Çıkmak - + Shift+F11 Shift+F11 - + Always On Top Her Zaman Üstte - + Show this window on top Bu pencereyi üstte göster - + Analyze Analyze @@ -4858,48 +4912,48 @@ Do you want to overwrite? Demontaj - + Copy Address Adresi Kopyala - + Copy Instruction Hex Yönerge Hexini Kopyala - + NOP Instruction(s) NOP Talimat(lar)ı - + Run to Cursor İmlece Çalıştır - + Follow Branch Dalı Takip Et - + Go to in Memory View Bellek Görünümünde Göster - + Add Function Fonksiyon Ekle - - + + Rename Function Fonksiyonu Yeniden Adlandır - + Remove Function Fonksiyonu Sil @@ -4920,23 +4974,23 @@ Do you want to overwrite? Yönergeyi Oluştur - + Function name Fonksiyon adı - - + + Rename Function Error Fonksiyonu Yeniden Adlandırma Hatası - + Function name cannot be nothing. Fonksiyon adı boş olamaz. - + No function / symbol is currently selected. Mevcut seçili fonksiyon / sembol yok. @@ -4946,72 +5000,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Fonksiyon Hatasını Eski Haline Getir - + Unable to stub selected address. Seçilmiş konum saplanamadı. - + &Copy Instruction Text &Yönerge Metnini Kopyala - + Copy Function Name Fonksiyon Adını Kopyala - + Restore Instruction(s) Yönerge(yi)(leri) eski haline getir - + Asse&mble new Instruction(s) Yeni Yönerge(ler) Oluştur - + &Jump to Cursor &İmlece Atla - + Toggle &Breakpoint Kesme Noktasını Aç/Kapa - + &Go to Address &Adrese Git - + Restore Function Fonksiyonu Eski Haline Getir - + Stub (NOP) Function Saptama (NOP) Fonksiyonu - + Show &Opcode &İşlem Kodunu Göster - + %1 NOT VALID ADDRESS %1 GEÇERSİZ ADRES @@ -5038,86 +5092,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Yuva: %1 | %2 | EE: %3 | VU %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Yuva: %1 | %2 | EE: %3 | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image Görüntü yok - + %1x%2 %1x%2 - + FPS: %1 - FPS: %1 + FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Oyun: %1 (%2) - + Rich presence inactive or unsupported. Zengin içerik devre dışı ya da desteklenmiyor. - + Game not loaded or no RetroAchievements available. Oyun yüklenmemiş veya RetroAchievement mevcut değil. - - - - + + + + Error Hata - + Failed to create HTTPDownloader. HTTPİndirici oluşturma başarısız. - + Downloading %1... İndiriliyor %1... - + Download failed with HTTP status code %1. HTTP durum kodu%1 ile indirme başarısız. - + Download failed: Data is empty. İndirme başarısız: Veri boş. - + Failed to write '%1'. '%1' Yazılamadı. @@ -5491,81 +5545,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5699,344 +5748,344 @@ URL şuydu: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Herhangi bir CD/DVD-ROM aygıtı bulunamadı. Lütfen bağlı bir sürücünüz ve ona erişmek için yeterli izinleriniz olduğundan emin olun. - + Use Global Setting Genel Ayarları Kullan - + Automatic binding failed, no devices are available. Otomatik tuş atama başarısız oldu, kullanılabilir cihaz yok. - + Game title copied to clipboard. Oyun başlığı panoya kopyalandı. - + Game serial copied to clipboard. Oyun serisi panoya kopyalandı. - + Game CRC copied to clipboard. Oyun CRC panoya kopyalandı. - + Game type copied to clipboard. Oyun türü panoya kopyalandı. - + Game region copied to clipboard. Oyun bölgesi panoya kopyalandı. - + Game compatibility copied to clipboard. Oyun uyumluluğu panoya kopyalandı. - + Game path copied to clipboard. Oyunun dizin yolu panoya kopyalandı. - + Controller settings reset to default. Kontrolör ayarlarını varsayılana geri getirir. - + No input profiles available. Giriş profili yok. - + Create New... Yeni oluştur... - + Enter the name of the input profile you wish to create. Oluşturmak istediğiniz giriş profilinin adını girin. - + Are you sure you want to restore the default settings? Any preferences will be lost. Varsayılan ayarlara geri dönmek istediğinize emin misiniz? Herhangi bir değişiklik sıfırlanacaktır. - + Settings reset to defaults. Ayarlar varsayılana sıfırlanır. - + No save present in this slot. Bu slotta herhangi bir kayıt bulunmamaktadır. - + No save states found. Herhangi bir anlık kayıt bulunamadı. - + Failed to delete save state. Anlık kayıt silinemedi. - + Failed to copy text to clipboard. Panoya kopyalama başarısız. - + This game has no achievements. Bu oyunda başarımlar desteklenmiyor. - + This game has no leaderboards. Bu oyunda lider sıralaması bulunmamakta. - + Reset System Sistemi Sıfırla - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Zor mod sistem sıfırlanana kadar etkinleştirilmeyecek. Sistemi şimdi sıfırlamak ister misiniz? - + Launch a game from images scanned from your game directories. Identifier (Key): FullscreenUI['Oyun klasörlerinizden taranmış imaj dosyanlarından bir oyun başlatın.'] FullscreenUI ../../pcsx2/ImGui/FullscreenUI.cpp:6872 - + Launch a game by selecting a file/disc image. Dosya/disk imajı seçerek bir oyunu başlat. - + Start the console without any disc inserted. Konsolu herhangi bir disk olmadan başlat. - + Start a game from a disc in your PC's DVD drive. Bilgisayarın DVD sürücüsünden bir oyunu başlat. - + No Binding Tuş ataması bulunmamakta - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Şimdi bir kontrolcü tuşuna veya yönüne basın. - + Timing out in %.0f seconds... %.0f Saniye içerisinde zaman aşımı yaşanacak... - + Unknown Bilinmiyor - + OK Tamam - + Select Device Cihaz Seç - + Details Ayrıntılar - + Options Ayarlar - + Copies the current global settings to this game. Şimdiki Genel ayarları bu oyuna kopyalar. - + Clears all settings set for this game. Bu oyun için ayarlanmış tüm ayarları siler. - + Behaviour Davranış - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Emülasyon çalışırken ekran koruyucunun açılmasını ve uyku moduna geçmeyi önler. - + Shows the game you are currently playing as part of your profile on Discord. Mevcut oynanan oyunu Discord profilinde gösterir. - + Pauses the emulator when a game is started. Oyun başlatıldığında emülatörü duraklatır. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pencereyi simge durumunda küçülttüğünüzde veya başka bir uygulamaya geçtiğinizde emülatörü duraklatır ve geri döndüğünüzde duraklatmayı kaldırır. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Hızlı menüyü açtığınızda emülatörü duraklatır ve kapattığınızda duraklatmayı kaldırır. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Kısayol tuşuna basıldığında emülatörün/oyunun kapatılmasını onaylamak için bir istem görüntülenip görüntülenmeyeceğini belirler. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Bilgisayarınızı kapatırken veya uygulamadan çıkarken emülatör durumunu otomatik olarak kaydeder. Bir dahaki sefere doğrudan kaldığınız yerden devam edebilirsiniz. - + Uses a light coloured theme instead of the default dark theme. Varsayılan koyu tema yerine açık renkli bir tema kullanır. - + Game Display Oyun Ekranı - + Switches between full screen and windowed when the window is double-clicked. Pencereye çift tıklandığında tam ekran ve pencereli ekran arasında geçiş yapar. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Emülatör tam ekran modundayken fare işaretçisini/imlecini gizler. - + Determines how large the on-screen messages and monitor are. Ekrandaki mesajların ve monitörün ne kadar büyük olduğunu belirler. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Oluşturulan/yüklenen kaydetme durumları, alınan ekran görüntüleri vb. gibi olaylar meydana geldiğinde ekran mesajlarını gösterir. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Sistemin mevcut emülasyon hızını ekranın sağ-üst köşesinde yüzde olarak gösterir. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Ekranın sağ üst köşesinde sistem tarafından saniyede görüntülenen video karesi (veya v-sync) sayısını gösterir. - + Shows the CPU usage based on threads in the top-right corner of the display. Ekranın sağ-üst köşesindeki iş parçacıklarına göre CPU kullanımını gösterir. - + Shows the host's GPU usage in the top-right corner of the display. Ekranın sağ-üst köşesinde GPU kullanımını gösterir. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Ekranın sağ üst köşesinde GS (primitifler, çizim çağrıları) ile ilgili istatistikleri gösterir. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Hızlandırırken, durdururken ve diğer sıradışı durumlar sırasında belirteçler gösterir. - + Shows the current configuration in the bottom-right corner of the display. Geçerli yapılandırmayı ekranın sağ alt köşesinde gösterir. - + Shows the current controller state of the system in the bottom-left corner of the display. Kontrolcünün geçerli yapılandırmasını ekranın sağ alt köşesinde gösterir. - + Displays warnings when settings are enabled which may break games. Oyunu bozabilecek ayarlar etkin iken uyarı mesajı gösterir. - + Resets configuration to defaults (excluding controller settings). Konfigürasyonları varsayılana sıfırlar (kontrolcü ayarları dışında). - + Changes the BIOS image used to start future sessions. Gelecekteki oturumları başlatmak için kullanılan BIOS görüntüsünü değiştirir. - + Automatic Otomatik - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Varsayılan - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6045,1977 +6094,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Oyun başlatıldığında otomatik olarak tam ekran moduna geçer. - + On-Screen Display Ekran Üstü Gösterge (OSD) - + %d%% %%%d - + Shows the resolution of the game in the top-right corner of the display. Oyunun çözünürlüğünü ekranın sağ üst köşesinde gösterir. - + BIOS Configuration BIOS Yapılandırması - + BIOS Selection BIOS Seçimi - + Options and Patches Seçenekler ve Yamalar - + Skips the intro screen, and bypasses region checks. Giriş ekranını atlar ve bölge kontrollerini atlar. - + Speed Control Hız Kontrolü - + Normal Speed Normal Hız - + Sets the speed when running without fast forwarding. İleri sarma tuşunu kullanmadan hızı ayarlar. - + Fast Forward Speed İleri Sarma Hızı - + Sets the speed when using the fast forward hotkey. İleri sarma tuşunu kullanarak hızı ayarlar. - + Slow Motion Speed Ağır Çekim Hızı - + Sets the speed when using the slow motion hotkey. Yavaş çekim tuşunu kullanarak hızı ayarlar. - + System Settings Sistem Ayarları - + EE Cycle Rate EE Döngü Hızı - + Underclocks or overclocks the emulated Emotion Engine CPU. Emotion Engine işlemcisinin emülasyonunu underclocklar ya da overclocklar. - + EE Cycle Skipping EE Döngüsü Atlama - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Anında VU1'i Etkinleştir - + Enable Cheats Hileleri Etkinleştir - + Enables loading cheats from pnach files. .pnach dosyalarından hile yüklemeyi etkinleştirir. - + Enable Host Filesystem Ana Bilgisayar Dosya Sistemini Etkinleştir - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Hızlı CDVD'yi Etkinleştir - + Fast disc access, less loading times. Not recommended. Disk erişimini hızlandırır, yükleme süresini azaltır. Tavsiye edilmez. - + Frame Pacing/Latency Control Kare Hızı/Gecikme Kontrolü - + Maximum Frame Latency Maksimum Kare Gecikmesi - + Sets the number of frames which can be queued. Sıraya alınabilecek çerçeve sayısını ayarlar. - + Optimal Frame Pacing Optimum Kare Hızı - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Konuk yenileme hızının ana bilgisayarla eşleşmesi için emülasyonu hızlandırır. - + Renderer İşleyici - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Görüntü - + Aspect Ratio En/Boy Oranı - + Selects the aspect ratio to display the game content at. Oyunun içeriğini görüntülemek için görüntü oranını seçer. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. PS2'nin taramalı çıkışını görüntülemek üzere aşamalıya dönüştürmek için kullanılan algoritmayı seçer. - + Screenshot Size Ekran Görüntüsü Boyutu - + Determines the resolution at which screenshots will be saved. Ekran görüntülerinin kaydedileceği çözünürlüğü belirler. - + Screenshot Format Ekran görüntüsü formatı - + Selects the format which will be used to save screenshots. Ekran görüntülerini kaydetmek için kullanılacak formatı seçer. - + Screenshot Quality Ekran Görüntüsü Kalitesi - + Selects the quality at which screenshots will be compressed. Ekran görüntülerinin sıkıştırılacağı kaliteyi seçer. - + Vertical Stretch Dikey Esneme - + Increases or decreases the virtual picture size vertically. Sanal resim boyutunu dikey olarak artırır veya azaltır. - + Crop Kırp - + Crops the image, while respecting aspect ratio. Görseli kırparken en boy oranını korur. - + %dpx %dpx - - Enable Widescreen Patches - Geniş Ekran Yamalarını Etkinleştir - - - - Enables loading widescreen patches from pnach files. - Geniş ekran yamalarının pnach dosyalarından yüklenmesini sağlar. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling İki Yönlü Ölçeklendirme - + Smooths out the image when upscaling the console to the screen. Konsolu ekrana ölçeklendirirken görüntüyü pürüzsüzleştirir. - + Integer Upscaling Tam Sayı Ölçeklendirme - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Ana bilgisayardaki piksellerin konsoldaki piksellere oranının bir tam sayı olmasını sağlamak için görüntüleme alanına dolgu ekler. Bazı 2D oyunlarda daha keskin bir görüntü sağlayabilir. - + Screen Offsets Ekran Kaydırmaları - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Fazla Taramayı Göster - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering İşleme - + Internal Resolution Dahili Çözünürlük - + Multiplies the render resolution by the specified factor (upscaling). İşleme çözünürlüğünü belirtilen miktarda çoğaltır (çözünürlük yükseltme). - + Mipmapping Mipmapping - + Bilinear Filtering İki Yönlü Filtreleme - + Selects where bilinear filtering is utilized when rendering textures. Dokuları işlerken üç yönlü filtrelemenin nerede kullanılacağını seçer. - + Trilinear Filtering Üç Yönlü Filtreleme - + Selects where trilinear filtering is utilized when rendering textures. Dokuları işlerken üçlü filtrelemenin nerede kullanılacağını seçer. - + Anisotropic Filtering Eşyönsüz Filtreleme - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Doku Önyükleme - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared - Shared + Paylaşılan - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Donanım Düzeltmeleri - + Manual Hardware Fixes Manuel Donanım Düzeltmeleri - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Yazılım ile renderlama kullanarak CLUT noktalarını/spriteları çizer. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Güvenli Özellikleri Kapat - + This option disables multiple safe features. Bu seçenek, birden çok güvenli özelliği devre dışı bırakır. - + This option disables game-specific render fixes. Bu seçenek, oyun için özel yapılan düzeltmeleri devre dışı bırakır. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Oyunlar doku boyutlarını kendileri ayarlamazsa, dokuların boyutunu azaltmaya çalışır. (Ör. Snowblind oyunları). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Ölçeklendirme Düzeltmeleri - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale İki Yönlü Ölçeklendirme - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Ölçeklendirme sırasında iki yönlü filtreleme nedeniyle dokuları yumuşatabilir. Örneğin: Brave oyunundaki güneş parlaması. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Bazı oyunlardaki ölçeklendirme (dikey çizgiler) ile ilgili sorunları giderir. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Doku Değişikliği - + Load Textures Dokuları Yükle - + Loads replacement textures where available and user-provided. Mevcut ve kullanıcı tarafından sağlanan dokuları yükler. - + Asynchronous Texture Loading Eşzamansız Doku Yükleme - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Doku yükleme işlemini bir çekirdeğe yükler ve doku değiştirmeleri etkinleştirildiğinde yaşanan takılmaları azaltır. - + Precache Replacements Yenilemeleri Önbellekle - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Tüm değiştirilen dokuları belleğe önceden yükler. Eşzamansız yükleme aktifse gerekli değildir. - + Replacements Directory Replacements Directory - + Folders Klasörler - + Texture Dumping Texture Dışarı Aktarma - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures FMP kaplamalarını dışarı aktar - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Son İşleme (Post-Processing) - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filtreler - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Parlaklığı ayarlar. 50 normal değerdir. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Kontrastı ayarla. 50 varsayılan değerdir. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Doygunluğu ayarlar. 50 normal değerdir. - + TV Shaders TV Gölgelendiricileri - + Advanced Gelişmiş - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Donanımsal İndirme Modu - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Özel tam ekrana izin ver - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Doku Bariyerlerini Geçersiz Kıl - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Gölgelendirici Önbelleğini Devre Dışı Bırak - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Ayarlar ve İşlemler - + Creates a new memory card file or folder. Yeni bir hafıza kartı dosyası veya klasörü oluşturur. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Tetik - + Toggles the macro when the button is pressed, instead of held. Tuşa basılı tutmak yerine sadece basıldığında makroyu değiştirir. - + Savestate Savestate - + Compression Method - Compression Method + Sıkıştırma Yöntemi - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s - Version: %s + Sürüm: %s - + {:%H:%M} {:%H:%M} - + Slot {} Yuva {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 - Deflate64 + Deflate64 - + Zstandard - Zstandard + Zstandard - + LZMA2 - LZMA2 + LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) - Medium (Recommended) + Orta (Önerilen) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Seçimi değiştir - + Select Seç - + Parent Directory Ana Dizin - + Enter Value Değer girin - + About Hakkında - + Toggle Fullscreen Tam Ekranı Değiştir - + Navigate Gezin - + Load Global State Genel Durumu Yükle - + Change Page Sayfayı Değiştir - + Return To Game Oyuna Dön - + Select State Durum Kaydı Seç - + Select Game Oyun seç - + Change View Görünümü Değiştir - + Launch Options Başlatma Seçenekleri - + Create Save State Backups Durum Kaydı Yedekleri Oluştur - + Show PCSX2 Version - Show PCSX2 Version + PCSX2 Sürümünü Göster - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status - Show Video Capture Status + Video Yakalama Durumunu Göster - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Hafıza Kartı Oluştur - + Configuration Yapılandırma - + Start Game Oyunu Başlat - + Launch a game from a file, disc, or starts the console without any disc inserted. Bir dosyadan yada Diskten oyunu başlat ya da Disk olmadan konsolu çalıştır. - + Changes settings for the application. Uygulama için ayarları değiştir. - + Return to desktop mode, or exit the application. Masaüstü moduna dön ya da uygulamayı kapat. - + Back Geri - + Return to the previous menu. Önceki menüye dön. - + Exit PCSX2 PCSX2'yi kapat - + Completely exits the application, returning you to your desktop. Uygulamayı tamamen kapatır, masaüstüne yönlendirir. - + Desktop Mode Masaüstü Modu - + Exits Big Picture mode, returning to the desktop interface. Geniş Ekran Modu'nu kapatır, masaüstüne yönlendirir. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Giriş Kaynakları - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. XInput kaynağı, XBox 360/XBox One/XBox Series kontrolcüleri için destek sağlar. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. İlave üç kontrolcü slotu sağlar. Tüm oyunlarda desteklenmez. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Makro aktifken ne kadar basınç simülasyonu yapılacağını belirler. - + Determines the pressure required to activate the macro. Makroyu etkinleştirmek için gereken basıncı belirler. - + Toggle every %d frames Her %d kareyi değiştir - + Clears all bindings for this USB controller. Bu oyun kontrolcüsü için tüm atamaları sıfırlar. - + Data Save Locations Data Save Locations - + Show Advanced Settings - Show Advanced Settings + Gelişmiş Ayarları Göster - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Bu seçeneklerin değiştirilmesi oyunların çalışmamasına neden olabilir. Değiştirme riski size aittir, PCSX2 ekibi bu ayarların değiştirildiği yapılandırmalar için destek sağlamayacaktır. - + Logging Log alınıyor - + System Console Sistem Konsolu - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Konsolu - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Konsolu - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Yuvarlama Modu - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Ondalıklı sayı işlemlerinin sonuçlarının nasıl yuvarlanacağını belirler. Bazı oyunlar özel ayarlara ihtiyaç duyar. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Aralık dışı ondalıklı sayıların nasıl işleneceğini belirler. Bazı oyunlar özel ayarlara ihtiyaç duyar. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vektör Birimleri - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O İşlemci - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Grafikler - + Use Debug Device Use Debug Device - + Settings Ayarlar - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Hile kodları - + No patches are available for this game. No patches are available for this game. - + Game Patches Oyun Yamaları - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Oyun yamalarını aktifleştirmek öngörülemeyen davranışlara, çökmelere, ilerleyiş engellerine veya kayıtlı oyunların bozulmasına neden olabilir. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Oyun yamalarını kullanma riski size aittir, PCSX2 ekibi Oyun yamalarını etkinleştiren kullanıcılara destek sağlamayacaktır. - + Game Fixes Oyun Düzeltmeleri - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Oyun yamaları, her seçeneğin ne işe yaradığı ve bunu yapmanın sonuçlarının farkında olunmadığı sürece değiştirilmemelidir. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. Tales of Destiny için. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Karmaşık hareketli videoları (FMV) olan bazı oyunlar için gereklidir. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State İlerlemeyi Yükle - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State İlerlemeyi Kaydet - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8024,2071 +8078,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Bölge: - + Compatibility: Uyumluluk: - + No Game Selected Oyun Seçilmedi - + Search Directories Dizinleri Ara - + Adds a new directory to the game search list. Oyun arama listesine yeni bir dizin ekler. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings Liste Ayarları - + Sets which view the game list will open to. Oyun listesinin hangi görünümde açılacağını ayarlar. - + Determines which field the game list will be sorted by. Oyun listesinin hangi alana göre sıralanacağını belirler. - + Reverses the game list sort order from the default (usually ascending to descending). Oyun listesi sıralama düzenini varsayılanın tersine çevirir (genellikle artan yerine azalan). - + Cover Settings Kapak Ayarları - + Downloads covers from a user-specified URL template. Kapakları, kullanıcı tarafından belirlenen bir URL şablonundan indirir. - + Operations İşlemler - + Selects where anisotropic filtering is utilized when rendering textures. Dokular işlenirken eşyönsüz filtrelemenin nerede kullanılacağını seçer. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Kapak Resimlerini İndir - + About PCSX2 PCSX2 Hakkında - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2, ücretsiz ve açık kaynaklı bir PlayStation 2 (PS2) emülatörüdür. Amacı; MIPS CPU Yorumlayıcıları, Yeniden Derleyiciler, donanım durumları ve PS2 sistem belleğini yöneten bir Sanal Makinenin kombinasyonunu kullanarak PS2'nin donanımını taklit etmektir. Bu, birçok ek özellik ve avantajla birlikte PC'nizde PS2 oyunları oynamanıza olanak sağlar. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 ve PS2, Sony Interactive Entertainment'ın tescilli ticari markalarıdır. Bu uygulama, Sony Interactive Entertainment ile hiçbir şekilde bağlantılı değildir. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Etkinleştirildiğinde ve oturum açıldığında, PCSX2 başlangıçta başarımları tarayacak. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Etkinleştirildiğinde, PCSX2 resmi olmayan setlerdeki başarımları listeleyecektir. Bu başarımlar RetroAchievements tarafından takip edilmeyecektir. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Hata - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching CDVD Önbelleklemeyi Aktifleştir - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Dikey Senkronizasyon (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Genişletme - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization - Synchronization + Senkronizasyon - + Buffer Size - Buffer Size + Arabellek Boyutu - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Hesap - + Logs out of RetroAchievements. RetroAchievements'dan çıkış yapar. - + Logs in to RetroAchievements. RetroAchievements'a giriş yapar. - + Current Game Mevcut Oyun - + An error occurred while deleting empty game settings: {} Boş oyun ayarları silinirken bir hata oluştu: {} - + An error occurred while saving game settings: {} Oyun ayarları kaydedilirken bir hata oluştu: {} - + {} is not a valid disc image. {} geçerli bir disk imajı değil. - + Automatic mapping completed for {}. Otomatik atama {} için tamamlandı. - + Automatic mapping failed for {}. Otomatik atama {} için başarısız oldu. - + Game settings initialized with global settings for '{}'. Oyun ayarları '{}' için genel ayarlarla başlatıldı. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Klasör) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Makro {} Bağlarını Seçin - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} - This Session: {} + Bu Oturum: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} - Saved {} + {} kaydedildi - + {} does not exist. - {} does not exist. + {} mevcut değil. - + {} deleted. - {} deleted. + {} silindi. - + Failed to delete {}. Failed to delete {}. - + File: {} - File: {} + Dosya: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} - Last Played: {} + Son Oynanma: {} - + Size: {:.2f} MB - Size: {:.2f} MB + Boyut: {:.2f} MB - + Left: - Left: + Sol: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings - Interface Settings + Arayüz Ayarları - + BIOS Settings - BIOS Settings + BIOS Ayarları - + Emulation Settings - Emulation Settings + Emülasyon Ayarları - + Graphics Settings - Graphics Settings + Grafik Ayarları - + Audio Settings - Audio Settings + Ses Ayarları - + Memory Card Settings - Memory Card Settings + Hafıza Kartı Ayarları - + Controller Settings - Controller Settings + Kontrolcü Ayarları - + Hotkey Settings Hotkey Settings - + Achievements Settings - Achievements Settings + Başarım Ayarları - + Folder Settings Klasör Ayarları - + Advanced Settings - Advanced Settings + Gelişmiş Ayarlar - + Patches - Patches + Yamalar - + Cheats - Cheats + Hileler - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed - 50% Speed + %50 Hız - + 60% Speed - 60% Speed + %60 Hız - + 75% Speed - 75% Speed + %75 Hız - + 100% Speed (Default) - 100% Speed (Default) + %100 Hız (Varsayılan) - + 130% Speed - 130% Speed + %130 Hız - + 180% Speed - 180% Speed + %180 Hız - + 300% Speed - 300% Speed + %300 Hız - + Normal (Default) - Normal (Default) + Normal (Varsayılan) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame - 1 Frame + 1 Kare - + 2 Frames 2 Kare - + 3 Frames 3 Kare - + None Hiçbiri - + Extra + Preserve Sign Ekstra + İşareti Koru - + Full Tam - + Extra Ekstra - + Automatic (Default) Otomatik (Varsayılan) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Yazılım - + Null Boş - + Off Kapalı - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) - Off (Default) + Kapalı (Varsayılan) - + 2x - 2x + 2x - + 4x - 4x + 4x - + 8x - 8x + 8x - + 16x - 16x + 16x - + Partial - Partial + Kısmi - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution - Screen Resolution + Ekran Çözünürlüğü - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Oyun listesinde taranmayan oyunlar için ayrıntılar gösterilemez. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Değiştirmek İçin Basın - + Deadzone Ölü bölge - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG - PNG + PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Makronun, tuşları hangi sıklıkta açıp kapatacağını belirler (diğer adıyla otomatik ateşleme). - + {} Frames - {} Frames + {} Kare - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG - JPEG + JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Özel (Doku) - + Special (Texture - Aggressive) Özel (Doku - Agresif) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS - 4xRGSS + 4xRGSS - + NxAGSS - NxAGSS + NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) - PS2 (8MB) + PS2 (8MB) - + PS2 (16MB) - PS2 (16MB) + PS2 (16MB) - + PS2 (32MB) - PS2 (32MB) + PS2 (32MB) - + PS2 (64MB) - PS2 (64MB) + PS2 (64MB) - + PS1 - PS1 + PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Oyun Listesi - + Game List Settings Oyun Listesi Ayarları - + Type - Type + Tür - + Serial Serial - + Title - Title + Başlık - + File Title - File Title + Dosya Başlığı - + CRC - CRC + CRC - + Time Played Time Played - + Last Played Last Played - + Size - Size + Boyut - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File - Start File + Dosyayı Başlat - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region - Region + Bölge - + Compatibility Rating Compatibility Rating - + Path - Path + Yol - + Disc Path - Disc Path + Disk Yolu - + Select Disc Path - Select Disc Path + Disk Yolunu Seç - + Copy Settings - Copy Settings + Ayarları Kopyala - + Clear Settings - Clear Settings + Ayarları Temizle - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS - Show FPS + FPS'i Göster - + Show CPU Usage - Show CPU Usage + CPU Kullanımını Göster - + Show GPU Usage - Show GPU Usage + GPU Kullanımını Göster - + Show Resolution - Show Resolution + Çözünürlüğü Göster - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings - Show Settings + Ayarları Göster - + Show Inputs - Show Inputs + Girişleri Göster - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings - Reset Settings + Ayarları Sıfırla - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Klasör Hafıza Kartı Filtresi - + Create - Create + Oluştur - + Cancel Cancel - + Load Profile - Load Profile + Profili Yükle - + Save Profile - Save Profile + Profili Kaydet - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type - Controller Type + Kontrolcü Türü - + Automatic Mapping Otomatik Tuş Atama - + Controller Port {}{} Macros Kontrolcü Portu {}{} Makroları - + Controller Port {} Macros Kontrolcü Portu {} Makroları - + Macro Button {} Makro Tuşu {} - + Buttons - Buttons + Tuşlar - + Frequency - Frequency + Sıklık - + Pressure - Pressure + Basınç - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type - Device Type + Cihaz Türü - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings - {} Settings + {} Ayarlar - + Cache Directory - Cache Directory + Önbellek Dizini - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory - Save States Directory + Durum Kaydı Dizini - + Game Settings Directory - Game Settings Directory + Oyun Ayarları Dizini - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Doku Değişimleri Dizini - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements - Achievements + Başarımlar - + Save Screenshot - Save Screenshot + Ekran Görüntüsünü Kaydet - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game - Close Game + Oyunu Kapat - + Exit Without Saving - Exit Without Saving + Kaydetmeden Çık - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save - Delete Save + Kaydı Sil - + Close Menu - Close Menu + Menüyü Kapat - + Delete State - Delete State + Durumu Sil - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Listeden Kaldır - + Default View - Default View + Varsayılan Görünüm - + Sort By - Sort By + Sıralama Ölçütü - + Sort Reversed Sort Reversed - + Scan For New Games - Scan For New Games + Yeni Oyunları Tara - + Rescan All Games - Rescan All Games + Tüm Oyunları Tekrar Tara - + Website Website - + Support Forums Support Forums - + GitHub Repository - GitHub Repository + GitHub Deposu - + License - License + Lisans - + Close - Close + Kapat - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements - Enable Achievements + Başarımları Etkinleştir - + Hardcore Mode - Hardcore Mode + Ekstrem Mod - + Sound Effects - Sound Effects + Ses Efektleri - + Test Unofficial Achievements - Test Unofficial Achievements + Resmi Olmayan Başarımları Test Et - + Username: {} - Username: {} + Kullanıcı Adı: {} - + Login token generated on {} Login token generated on {} - + Logout Oturumu kapat - + Not Logged In Giriş Yapılmadı - + Login Giriş - + Game: {0} ({1}) - Game: {0} ({1}) + Oyun: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -10366,7 +10425,7 @@ Please see our official documentation for more information. All CRCs - All CRCs + Tüm CRC'ler @@ -10454,7 +10513,7 @@ arttırabilirsiniz. Bu sistem gereksinimlerini arttıracaktır. Game Fixes - Game Fixes + Oyun Düzeltmeleri @@ -10607,7 +10666,7 @@ arttırabilirsiniz. Bu sistem gereksinimlerini arttıracaktır. For Tales of Destiny. - For Tales of Destiny. + Tales of Destiny için. @@ -10700,27 +10759,27 @@ arttırabilirsiniz. Bu sistem gereksinimlerini arttıracaktır. PS2 Disc - PS2 Disc + PS2 Diski PS1 Disc - PS1 Disc + PS1 Diski ELF - ELF + ELF Other - Other + Diğer Unknown - Unknown + Bilinmeyen @@ -10735,7 +10794,7 @@ arttırabilirsiniz. Bu sistem gereksinimlerini arttıracaktır. Menu - Menu + Menü @@ -10745,12 +10804,12 @@ arttırabilirsiniz. Bu sistem gereksinimlerini arttıracaktır. Playable - Playable + Oynanabilir Perfect - Perfect + Mükemmel @@ -10775,39 +10834,39 @@ arttırabilirsiniz. Bu sistem gereksinimlerini arttıracaktır. Today - Today + Bugün Yesterday - Yesterday + Dün {}h {}m - {}h {}m + {}s {}d {}h {}m {}s - {}h {}m {}s + {}s {}d {}sn {}m {}s - {}m {}s + {}d {}sn {}s - {}s + {}sn %n hours - %n hours + %n saat %n hours @@ -10816,7 +10875,7 @@ arttırabilirsiniz. Bu sistem gereksinimlerini arttıracaktır. %n minutes - %n minutes + %n dakika %n minutes @@ -11076,32 +11135,42 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - - All CRCs - All CRCs + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + All CRCs + Tüm CRC'ler + + + Reload Patches Yamaları Yenile - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. Bu oyun için herhangi bir yama mevcut değil. @@ -11378,7 +11447,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Disc Path: - Disc Path: + Disk Yolu: @@ -11404,13 +11473,13 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula %0%1 First arg is a GameList compat; second is a string with space followed by star rating OR empty if Unknown compat - %0%1 + %0%1 %0%1 First arg is filled-in stars for game compatibility; second is empty stars; should be swapped for RTL languages - %0%1 + %0%1 @@ -11482,7 +11551,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula <not computed> - <not computed> + <not computed> @@ -11577,11 +11646,11 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula - - - - - + + + + + Off (Default) Kapalı (Varsayılan) @@ -11591,10 +11660,10 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula - - - - + + + + Automatic (Default) Otomatik (Varsayılan) @@ -11661,7 +11730,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11727,29 +11796,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Ekran Ofsetleri - + Show Overscan Fazla Taramayı Göster - - - Enable Widescreen Patches - Geniş Ekran Yamalarını Etkinleştir - - - - Enable No-Interlacing Patches - Taramasız Yamaları Etkinleştir - - + Anti-Blur Anti-Blur @@ -11760,7 +11819,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Taramalı Ofseti Devre Dışı Bırak @@ -11770,18 +11829,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Ekran Görüntüsü Büyüklüğü: - + Screen Resolution Ekran Çözünürlüğü - + Internal Resolution Dahili Çözünürlük - + PNG PNG @@ -11833,7 +11892,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) İki Yönlü (PS2) @@ -11880,7 +11939,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11896,7 +11955,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basit(Tavsiye Edilen) @@ -11928,11 +11987,11 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Partial - Partial + Kısmi - + Full (Hash Cache) Full (Hash Cache) @@ -11948,31 +12007,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Paleti Dönüşümü - + Manual Hardware Renderer Fixes Manuel Donanım Oluşturucu Düzeltmeleri - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11984,15 +12043,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto-Flush @@ -12020,8 +12079,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Devre dışı) @@ -12078,18 +12137,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Güvenli Özellikleri Kapat - + Preload Frame Data Kare Verisini Önceden Yükle - + Texture Inside RT RT İçindeki Doku @@ -12188,13 +12247,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12208,16 +12267,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12236,7 +12285,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne WebP - WebP + WebP @@ -12290,25 +12339,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Doku Bölgesini Tahmin Et - + Disable Render Fixes Oluşturma Düzeltmelerini Devre Dışı Bırak @@ -12319,7 +12368,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Ölçeklendirilmemiş Palet Doku Çizimleri @@ -12378,25 +12427,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dokuları Çıkart - + Dump Mipmaps Mipmap'leri Dök - + Dump FMV Textures Dump FMV Textures - + Load Textures Dokuları Yükle @@ -12406,6 +12455,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12414,7 +12473,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Normal - Normal + Normal @@ -12423,13 +12482,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Dokuları Önceden Önbellekle @@ -12452,8 +12511,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Hiçbiri (Varsayılan) @@ -12474,7 +12533,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12526,7 +12585,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12541,7 +12600,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Kontrast: - + Saturation Doygunluk @@ -12562,50 +12621,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Göstergeleri Göster - + Show Resolution Çözünürlüğü Göster - + Show Inputs Girişleri Göster - + Show GPU Usage GPU Kullanımını Göster - + Show Settings Ayarları Göster - + Show FPS FPS Göster - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12621,30 +12680,30 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics İstatistikleri Göster - + Asynchronous Texture Loading Asynchronous Texture Loading Saturation: - Saturation: + Doygunluk: - + Show CPU Usage CPU Kullanımını Göster - + Warn About Unsafe Settings Güvenilir Olmayan Ayarlar Hakkında Uyar @@ -12670,9 +12729,9 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) - Left (Default) + Sol (Varsayılan) @@ -12681,45 +12740,45 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) - Right (Default) + Sağ (Varsayılan) - + Show Frame Times Show Frame Times - + Show PCSX2 Version - Show PCSX2 Version + PCSX2 Sürümünü Göster - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status - Show Video Capture Status + Video Yakalama Durumunu Göster - + Show VPS - Show VPS + VPS'i göster @@ -12822,23 +12881,23 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne LZMA (xz) - LZMA (xz) + LZMA (xz) - + Zstandard (zst) - Zstandard (zst) + Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12891,7 +12950,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12901,1214 +12960,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Yazılımsal - + Null Null here means that this is a graphics backend that will show nothing. Boş - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Genelde Seçilmiş Ayarı Kullan [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked İşaretsiz - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Oyun başlangıcında geniş ekran yamalarını otomatik olarak yükler ve uygular. Sorunlara neden olabilir. + Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Oyun başlangıcında interlacing önleyici yamaları otomatik olarak yükler ve uygular. Sorunlara neden olabilir. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Yazılım CLUT Oluşturma - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. Bu seçenek, oyuna özel oluşturma düzeltmelerini devre dışı bırakır. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. GPU'da çevirmek yerine 4-bit ve 8-bit çerçeve arabelleğini CPU'da çevir. Harry Potter ve Stuntman oyunlarında etkilidir. Performansı büyük ölçüde etkiler. - - + + Disabled Devre Dışı - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Doku önbelleğinin önceki çerçeve göstergesinin iç kısmını giriş dokusu olarak yeniden kullanmasını sağlar. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Ace Combat, Tekken, Soul Calibur, vb. gibi Namco oyunlarındaki ölçeklendirme (dikey çizgiler) sorunlarını giderir. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec - Video Codec + Video Kodlayıcı - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format - Video Format + Video Formatı - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate - Video Bitrate + Video Bit Hızı - + 6000 kbps - 6000 kbps + 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution - Automatic Resolution + Otomatik Çözünürlük - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec - Audio Codec + Ses Kodlayıcı - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate - Audio Bitrate + Ses Bit Hızı - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked İşaretli - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio En Boy Oranı - + Auto Standard (4:3/3:2 Progressive) Otomatik Standart (4:3/3:2 Oranlı) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Konsol'un çıktısını ekrana görüntülemek için kullanılan en boy oranını değiştirir. Varsayılan ayar, en boy oranını bir oyunun döneminin televizyon ekranında nasıl gözüktüğüne uyacak şekilde ayarlayan Otomatik Standart (4:3/3:2 Oranlı) şeklindedir. - + Deinterlacing Deinterlacing - + Screenshot Size Ekran Görüntüsü Büyüklüğü - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Ekran görüntülerinin kaydedileceği çözünürlüğü belirler. Dahili çözünürlükler, dosya boyutu pahasına daha fazla ayrıntıyı korur. - + Screenshot Format Ekran Görüntüsü Biçimi - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Ekran görüntülerini kaydetmek için kullanılacak formatı seçer. JPEG daha küçük dosyalar üretir, ancak ayrıntıları kaybeder. - + Screenshot Quality Ekran Görüntüsü Kalitesi - - + + 50% %50 - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Ekran görüntülerinin sıkıştırılacağı kaliteyi seçer. Daha yüksek değerler JPEG için daha fazla ayrıntıyı korur ve PNG için dosya boyutunu azaltır. - - + + 100% 100% - + Vertical Stretch Dikey Genişletme - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Ekranın dikey bileşenini uzatır (&lt; %100) veya sıkıştırır (&gt; %100). - + Fullscreen Mode Tam Ekran Modu - - - + + + Borderless Fullscreen Tam Ekran Kenarlıksız Pencere - + Chooses the fullscreen resolution and frequency. Tam ekran çözünürlüğünü ve frekansını seçer. - + Left Sol - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Ekranın sol tarafından kırpılan piksel sayısını değiştirir. - + Top Üst - + Changes the number of pixels cropped from the top of the display. Ekranın üstünden kırpılan piksel sayısını değiştirir. - + Right Sağ - + Changes the number of pixels cropped from the right side of the display. Ekranın sağ tarafından kırpılan piksel sayısını değiştirir. - + Bottom Alt - + Changes the number of pixels cropped from the bottom of the display. Ekranın altından kırpılan piksel sayısını değiştirir. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Doku Filtreleme - + Trilinear Filtering Trilineer Filtreleme - + Anisotropic Filtering Eşyönsüz Doku Süzmesi - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Dokuları Önceden Yükle - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Bazı oyunların doğru şekilde işlenmesi için gereken mipmapping özelliğini etkinleştirir. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Ölçeklendirme sırasında iki yönlü filtreleme nedeniyle dokuları yumuşatabilir. Örneğin: Brave oyunundaki güneş parlaması. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Keskinlik - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Parlaklık - - - + + + 50 50 - + Contrast Kontrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps - 160 kbps + 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Varsayılan - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14116,10 +14175,10 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format - Default + Varsayılan @@ -14145,7 +14204,7 @@ Swap chain: see Microsoft's Terminology Portal. Save Screenshot - Save Screenshot + Ekran Görüntüsünü Kaydet @@ -14215,12 +14274,12 @@ Swap chain: see Microsoft's Terminology Portal. Automatic - Automatic + Otomatik Off - Off + Kapalı @@ -14333,254 +14392,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System Sistem - + Open Pause Menu Oyun Menüsünü Aç - + Open Achievements List Başarım Listesini Aç - + Open Leaderboards List Skor Sıralamasını Aç - + Toggle Pause Duraklat - + Toggle Fullscreen Tam Ekran Modunu Aç/Kapat - + Toggle Frame Limit Kare Sınırlayıcıyı Aç/Kapat - + Toggle Turbo / Fast Forward Turbo Modunu Aç/Kapat - + Toggle Slow Motion Ağır Çekim Modunu Aç/Kapat - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Ses Düzeyini Artır - + Decrease Volume Ses Düzeyini Azalt - + Toggle Mute Sesi Aç/Kapat - + Frame Advance Kare İlerlemesi - + Shut Down Virtual Machine Sanal Makineyi Kapat - + Reset Virtual Machine Sanal Makineyi Yeniden Başlat - + Toggle Input Recording Mode Girdi Kaydetme Modunu Aç/Kapat - - + + Save States Durum Kayıtları - + Select Previous Save Slot Önceki Kayıt Slotunu Seç - + Select Next Save Slot Sonraki Kayıt Slotunu Seç - + Save State To Selected Slot Seçilmiş Slota Durum Kaydını Kaydet - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Durum Kaydını Slot 1'e Kaydet - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Durum Kaydını Slot 2'ye Kaydet - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Durum Kaydını Slot 3'e Kaydet - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Durum Kaydını Slot 4'e Kaydet - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Durum Kaydını Slot 5'e Kaydet - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Durum Kaydını Slot 6'ya Kaydet - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Durum Kaydını Slot 7'ye Kaydet - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Durum Kaydını Slot 8'e Kaydet - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Durum Kaydını Slot 9'a Kaydet - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Durum Kaydını Slot 10'a Kaydet - + Load State From Slot 10 Load State From Slot 10 @@ -14610,7 +14669,7 @@ Swap chain: see Microsoft's Terminology Portal. Frame: {}/{} ({}) - Frame: {}/{} ({}) + Kare: {}/{} ({}) @@ -14630,38 +14689,38 @@ Swap chain: see Microsoft's Terminology Portal. Load - Load + Yükle Save - Save + Kaydet Select Previous - Select Previous + Öncekini Seç Select Next - Select Next + Sonrakini Seç Close Menu - Close Menu + Menüyü Kapat Save Slot {0} - Save Slot {0} + Kayıt Yuvası {0} No save present in this slot. - No save present in this slot. + Bu yuvada kayıtlı dosya yok. @@ -14888,42 +14947,42 @@ Right click to clear binding Cross - Cross + Çarpı Square - Square + Kare Triangle - Triangle + Üçgen Circle - Circle + Daire L1 - L1 + L1 R1 - R1 + R1 L2 - L2 + L2 R2 - R2 + R2 @@ -14933,12 +14992,12 @@ Right click to clear binding L3 - L3 + L3 R3 - R3 + R3 @@ -15004,7 +15063,7 @@ Right click to clear binding Behaviour - Behaviour + Davranış @@ -15040,7 +15099,7 @@ Right click to clear binding Pause On Controller Disconnection - Pause On Controller Disconnection + Kontrolcü Bağlantısı Kesildiğinde Duraklat @@ -15387,12 +15446,12 @@ Right click to clear binding Log Files (*.txt) - Log Files (*.txt) + Günlük Dosyaları (*.txt) Error - Error + Hata @@ -15458,594 +15517,608 @@ Right click to clear binding &Sistem - - - + + Change Disc Diski Değiştir - - + Load State Durum Kaydı Yükle - - Save State - Durum Kaydı - - - + S&ettings Aya&rlar - + &Help &Yardım - + &Debug &Hata ayıklama - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size - &Window Size + &Pencere Boyutu - + &Tools - &Tools + &Araçlar - - Input Recording - Input Recording - - - + Toolbar Araç Çubuğu - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Kaydetmeden Kapat - + &Reset &Yeniden Başlat - + &Pause &Duraklat - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emülasyon - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics - &Grafikler - - - - A&chievements - &Başarımlar + &Grafikler - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Tam ekran - - - + Resolution Scale Çözünürlük Ölçeği - + &GitHub Repository... &GitHub Deposu... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Sunucusu... - + Check for &Updates... Güncellemeleri &Kontrol Et... - + About &Qt... Qt &Hakkında... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Tam ekran - + Change Disc... In Toolbar Diski Değiştir... - + &Audio &Ses - - Game List - Oyun Listesi - - - - Interface - Arayüz + + Global State + Genel Durum - - Add Game Directory... - Oyun Dizini Ekle... + + &Screenshot + &Ekran Görüntüsü - - &Settings - &Ayarlar + + Start File + In Toolbar + Dosyayı Başlat - - From File... - Dosyadan... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Diski Çıkar + + Setti&ngs + Setti&ngs - - Global State - Genel Durum + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Ekran Görüntüsü + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar BIOS'u Başlat - + Shut Down In Toolbar Kapat - + Reset In Toolbar Yeniden Başlat - + Pause In Toolbar Duraklat - + Load State In Toolbar Durum Kaydını Yükle - + Save State In Toolbar Durum Kaydı - + + &Emulation + &Emulation + + + Controllers In Toolbar Kontrolcüler - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Ayarlar - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Ekran Görüntüsü - + &Memory Cards &Hafıza Kartları - + &Network && HDD &Ağ && HDD - + &Folders &Klasörler - + &Toolbar &Toolbar - - Lock Toolbar - Araç Çubuğunu kilitle + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Oyun &Listesi + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Kapakları &Yenile (Izgara Görünüşü) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Hafıza Kartı Klasörünü Aç... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Dizini Aç... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Yazılım İşlemeyi Aç/Kapat + + &Controller Logs + &Controller Logs - - Open Debugger - Hata Ayıklayıcısını Aç + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Hileleri ve Yamaları Yeniden Yükle + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - Yeni + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Başlat + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Durdur + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Ayarlar + + + Game &List + Oyun &Listesi - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Kontrolcü Kaydı + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Kapakları &Yenile (Izgara Görünüşü) + + + + Open Memory Card Directory... + Hafıza Kartı Klasörünü Aç... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Geniş Ekran Moduna Geç - - + + Big Picture In Toolbar Geniş Ekran Modu - - Cover Downloader... - Kapak İndirici... - - - - + Show Advanced Settings Gelişmiş Ayarları Göster - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Kaydetme - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Dahili Çözünürlük - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Tekrar gösterme - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16058,297 +16131,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy UYARI: Hafıza Kartı Meşgul - + Confirm Shutdown Kapatmayı Onayla - + Are you sure you want to shut down the virtual machine? Sanal Makineyi kapatmak istediğinize emin misiniz? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Hata - + You must select a disc to change discs. Disk değiştirmek için önce bir disk seçmelisiniz. - + Properties... Özellikler... - + Set Cover Image... Kapak Resmi Ayarla... - + Exclude From List Listeden Ayrı Tut - + Reset Play Time - Reset Play Time + Oynama Süresini Sıfırla - + Check Wiki Page Check Wiki Page - + Default Boot Varsayılan Önyükleme - + Fast Boot Hızlı Önyükleme - + Full Boot Tam Önyükleme - + Boot and Debug Önyükle ve Hata ayıkla - + Add Search Directory... Add Search Directory... - + Start File Dosyayı Başlat - + Start Disc Diskten Başlat - + Select Disc Image Disk İmajı Seç - + Updater Error Güncelleyici Hatası - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Otomatik güncelleme mevcut platformda desteklenmiyor. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Duraklatıldı - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode - Stop Big Picture Mode + Geniş Ekran Modunu Durdur - + Exit Big Picture In Toolbar - Exit Big Picture + Geniş Ekrandan Çık - + Game Properties Oyun Ayarları - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. Durum Kaydı mevcut değil. - + Select Cover Image Kapak Resmi Ayarla - + Cover Already Exists Kapak Resmi Zaten Mevcut - + A cover image for this game already exists, do you wish to replace it? Bu oyun için halihazırda bir kapak resmi mevcut, değiştirmek istediğinize emin misiniz? - + + - Copy Error Kopyalama hatası - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Sıfırlamayı Onayla - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16357,12 +16430,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16375,89 +16448,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Temiz Önyükleme - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Dosyadan yükle... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Durum Kayıtlarını Sil... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Devletleri Kaydet (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Durum Kayıtlarını Sil - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16466,49 +16539,49 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 durum kayıtları silindi. - + Save To File... Dosyaya kaydet... - + Empty Boş - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Diski Değiştir - + Reset Yeniden Başlat Missing Font File - Missing Font File + Eksik Yazı Tipi Dosyası @@ -16524,25 +16597,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16559,28 +16632,33 @@ Diğer PCSX2 örneklerini kapatın veya bilgisayarınızı yeniden başlatın. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Hafıza Kartı yeniden yerleştirildi. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -16598,25 +16676,25 @@ Diğer PCSX2 örneklerini kapatın veya bilgisayarınızı yeniden başlatın. 8 MB File - 8 MB File + 8 MB Dosya 16 MB File - 16 MB File + 16 MB Dosya 32 MB File - 32 MB File + 32 MB Dosya 64 MB File - 64 MB File + 64 MB Dosya @@ -16978,7 +17056,7 @@ Diğer PCSX2 örneklerini kapatın veya bilgisayarınızı yeniden başlatın. Slot %1 - Slot %1 + Yuva %1 @@ -17070,12 +17148,12 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Value - Value + Değer Type - Type + Tür @@ -17191,7 +17269,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Copy Address - Copy Address + Adresi Kopyala @@ -17206,7 +17284,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Remove Result - Remove Result + Sonucu Kaldır @@ -17216,7 +17294,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Debugger - Debugger + Hata Ayıklayıcı @@ -17251,12 +17329,12 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. %0 results found - %0 results found + %0 sonuç bulundu Searching... - Searching... + Aranıyor... @@ -17372,7 +17450,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek.Go To In Memory View - + Cannot Go To Cannot Go To @@ -17392,7 +17470,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Size is invalid. - Size is invalid. + Boyut geçersiz. @@ -17490,7 +17568,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Select a File - Select a File + Bir Dosya Seç @@ -17499,7 +17577,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Invalid function. - Invalid function. + Geçersiz fonksiyon. @@ -17528,12 +17606,12 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Invalid function. - Invalid function. + Geçersiz fonksiyon. Invalid storage type. - Invalid storage type. + Geçersiz depolama türü. @@ -17571,7 +17649,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Address - Address + Adres @@ -17587,12 +17665,12 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Size - Size + Boyut Custom - Custom + Özel @@ -17612,7 +17690,7 @@ Bu işlem geri alınamaz. Hafıza Kartındaki bütün kayıtlar silinecek. Type - Type + Tür @@ -18066,37 +18144,37 @@ Ejecting {3} and replacing it with {2}. Blue (Left) - Blue (Left) + Mavi (Sol) Blue (Right) - Blue (Right) + Mavi (Sağ) White (Left) - White (Left) + Beyaz (Sol) White (Right) - White (Right) + Beyaz (Sağ) Green (Left) - Green (Left) + Yeşil (Sol) Green (Right) - Green (Right) + Yeşil (Sağ) Red - Red + Kırmızı @@ -18106,7 +18184,7 @@ Ejecting {3} and replacing it with {2}. Motor - Motor + Motor @@ -18141,7 +18219,7 @@ Ejecting {3} and replacing it with {2}. Jogcon - Jogcon + Jogcon @@ -18206,18 +18284,18 @@ Ejecting {3} and replacing it with {2}. Negcon - Negcon + Negcon Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18226,7 +18304,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18235,7 +18313,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18244,7 +18322,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Hiçbir hile veya yama (geniş ekran, uyumluluk ve diğerleri) bulunamadı / aktif edilemedi. @@ -18345,47 +18423,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error - Error + Hata - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18455,7 +18533,7 @@ Ejecting {3} and replacing it with {2}. Copy Value - Copy Value + Değeri Kopyala @@ -18475,7 +18553,7 @@ Ejecting {3} and replacing it with {2}. Change Value - Change Value + Değeri Değiştir @@ -18518,7 +18596,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18537,7 +18615,7 @@ If you have any unsaved progress on this save state, you can download the compat LABEL - LABEL + ETİKET @@ -18581,7 +18659,7 @@ Do you want to create this directory? Error - Error + Hata @@ -18623,12 +18701,12 @@ Do you want to create this directory? PCSX2 Settings - PCSX2 Settings + PCSX2 Ayarları Restore Defaults - Restore Defaults + Varsayılanları Geri Yükle @@ -18638,12 +18716,12 @@ Do you want to create this directory? Clear Settings - Clear Settings + Ayarları Temizle Close - Close + Kapat @@ -18654,7 +18732,7 @@ Do you want to create this directory? Summary - Summary + Özet @@ -18664,7 +18742,7 @@ Do you want to create this directory? Interface - Interface + Arayüz @@ -18679,17 +18757,17 @@ Do you want to create this directory? BIOS - BIOS + BIOS Emulation - Emulation + Emülasyon Patches - Patches + Yamalar @@ -18699,7 +18777,7 @@ Do you want to create this directory? Cheats - Cheats + Hileler @@ -18709,7 +18787,7 @@ Do you want to create this directory? Game Fixes - Game Fixes + Oyun Düzeltmeleri @@ -18719,22 +18797,22 @@ Do you want to create this directory? Graphics - Graphics + Grafikler Audio - Audio + Ses Memory Cards - Memory Cards + Hafıza Kartları Network & HDD - Network & HDD + Ağ & HDD @@ -18749,7 +18827,7 @@ Do you want to create this directory? Achievements - Achievements + Başarımlar @@ -18764,7 +18842,7 @@ Do you want to create this directory? Advanced - Advanced + Gelişmiş @@ -18829,7 +18907,7 @@ Do you want to create this directory? Reset UI Settings - Reset UI Settings + Arayüz Ayarlarını Sıfırla @@ -19153,7 +19231,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula LABEL Warning: short space limit. Abbreviate if needed. - LABEL + ETİKET @@ -19177,7 +19255,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula SIZE Warning: short space limit. Abbreviate if needed. - SIZE + BOYUT @@ -19200,22 +19278,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Value - Value + Değer Location - Location + Konum Size - Size + Boyut Type - Type + Tür @@ -19246,7 +19324,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Refresh - Refresh + Yenile @@ -19256,12 +19334,12 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula + - + + + - - - + - @@ -19271,7 +19349,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula (unknown section) - (unknown section) + (bilinmeyen bölüm) @@ -19291,7 +19369,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Copy Location - Copy Location + Konumu Kopyala @@ -19347,7 +19425,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Confirm Deletion - Confirm Deletion + Silmeyi Onayla @@ -19367,7 +19445,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Type: - Type: + Tür: @@ -19387,7 +19465,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula INVALID - INVALID + GEÇERSİZ @@ -19411,13 +19489,13 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula PRIORITY Warning: short space limit. Abbreviate if needed. - PRIORITY + ÖNCELİK STATE Warning: short space limit. Abbreviate if needed. - STATE + DURUM @@ -19435,13 +19513,13 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula RUN Refers to a Thread State in the Debugger. - RUN + ÇALIŞTIR READY Refers to a Thread State in the Debugger. - READY + HAZIR @@ -19507,19 +19585,19 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula MBOX Refers to a Thread Wait State in the Debugger. - MBOX + MBOX VPOOL Refers to a Thread Wait State in the Debugger. - VPOOL + VPOOL FIXPOOL Refers to a Thread Wait State in the Debugger. - FIXPOOL + FIXPOOL @@ -19553,7 +19631,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Audio Latency - Audio Latency + Ses Gecikmesi @@ -19656,7 +19734,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Trigger - Trigger + Tetik @@ -19680,13 +19758,13 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula B - B + B C - C + C @@ -19933,7 +20011,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Microphone - Microphone + Mikrofon @@ -19943,12 +20021,12 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Logitech - Logitech + Logitech Konami - Konami + Konami @@ -20367,7 +20445,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula KeyboardMania - KeyboardMania + Keyboardmania @@ -20739,7 +20817,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula %d - %d + %d @@ -20815,22 +20893,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula A Button - A Button + A Tuşu B Button - B Button + B Tuşu C Button - C Button + C Tuşu D Button - D Button + D Tuşu @@ -20855,7 +20933,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Camera Button - Camera Button + Kamera Tuşu @@ -20873,12 +20951,12 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Axes - Axes + Eksenler Buttons - Buttons + Tuşlar @@ -20886,7 +20964,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Player 1 - Player 1 + 1. Oyuncu @@ -20894,7 +20972,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Red - Red + Kırmızı @@ -20926,7 +21004,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Blue - Blue + Mavi @@ -20934,7 +21012,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Orange - Orange + Turuncu @@ -20942,7 +21020,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Green - Green + Yeşil @@ -20950,22 +21028,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Yellow - Yellow + Sarı Player 2 - Player 2 + 2. Oyuncu Player 3 - Player 3 + 3. Oyuncu Player 4 - Player 4 + 4. Oyuncu @@ -20978,22 +21056,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula C - C + C B - B + B D - D + D A - A + A @@ -21014,22 +21092,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Down - Down + Aşağı Left - Left + Sol Up - Up + Yukarı Right - Right + Sağ @@ -21250,7 +21328,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula X Axis - X Axis + X Ekseni @@ -21273,7 +21351,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Y Axis - Y Axis + Y Ekseni @@ -21285,7 +21363,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Z Axis - Z Axis + Z Ekseni @@ -21345,7 +21423,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Down - Down + Aşağı @@ -21447,22 +21525,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Red - Red + Kırmızı Green - Green + Yeşil Yellow - Yellow + Sarı Blue - Blue + Mavi @@ -21503,7 +21581,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Left - Left + Sol @@ -21515,7 +21593,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Right - Right + Sağ @@ -21525,12 +21603,12 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Down - Down + Aşağı Up - Up + Yukarı @@ -21568,7 +21646,7 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Camera Camera is used to switch the view point. Original: 視点切替 - Camera + Kamera @@ -21604,22 +21682,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula Down - Down + Aşağı Left - Left + Sol Up - Up + Yukarı Right - Right + Sağ @@ -21644,22 +21722,22 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula C - C + C B - B + B D - D + D A - A + A @@ -21731,42 +21809,42 @@ Yinelemeli tarama daha fazla zaman alır, ancak alt dizinlerdeki dosyaları bula VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Bilinmeyen Oyun - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Hata - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21783,272 +21861,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. Slot {} Durum Kaydı Barındırmıyor. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Durum kaydı {} slotuna kaydediliyor... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Hızlı CDVD aktif, bu seçenek oyunları bozabilir. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Döngü hızı/atlaması varsayılan değerde değil, bu durum oyunların çökmesine veya çok yavaş çalışmasına neden olabilir. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Oyun düzeltmeleri aktif değil. Bazı oyunlarda uyumluluk sorunları yaşanabilir. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Uyumluluk yamaları aktif değil. Bazı oyunlarda uyumluluk sorunları yaşanabilir. - + Frame rate for NTSC is not default. This may break some games. Kare hızı NTSC oyunlar için varsayılan olarak ayarlanmamış. Bu seçenek bazı oyunları bozabilir. - + Frame rate for PAL is not default. This may break some games. Kare hızı PAL oyunlar için varsayılan olarak ayarlanmamış. Bu seçenek bazı oyunları bozabilir. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_uk-UA.ts b/pcsx2-qt/Translations/pcsx2-qt_uk-UA.ts index 8d376301a0eae..e8f9f8db93e32 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_uk-UA.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_uk-UA.ts @@ -742,307 +742,318 @@ Leaderboard Position: {1} of {2} Застосувати глобальне значення [%1] - + Rounding Mode Режим округлення - - - + + + Chop/Zero (Default) Chop/Zero (за замовчуванням) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Змінює, як PCSX2 обробляє округлення під час емуляції математичного співпроцесора в Emotion Engine (EE FPU). Оскільки різні FPU в PS2 не відповідають міжнародним стандартам, деяким іграм можуть знадобитися різні режими для правильного математичного обчислення. Значення за замовчуванням впорається з переважною більшістю ігор; <b>зміна цього налаштування, коли гра не має видимих проблем, може спричинити нестабільність.</b> - + Division Rounding Mode Режим округлення ділень - + Nearest (Default) Ніяка (за замовчуванням) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Режим клемпінгу - - - + + + Normal (Default) Звичайний (за замовчуванням) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Змінює, як PCSX2 вправляється зі збереженням чисел з рухомою комою в стандартному діапазоні x86. Значення за замовчуванням впорається з переважною більшістю ігор; <b>зміна цього налаштування, коли у гри немає видимих проблем, може спричинити нестабільність.</b> - - + + Enable Recompiler Увімкнути рекомпілятор - + - - - + + + - + - - - - + + + + + Checked Позначено - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Виконує вчасний бінарний переклад 64-бітного машинного коду MIPS-IV в x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Детектор холостого циклу - + Moderate speedup for some games, with no known side effects. Помірне прискорення для деяких ігор, без відомих побічних ефектів. - + Enable Cache (Slow) Увімкнути кешування (повільно) - - - - + + + + Unchecked Без позначки - + Interpreter only, provided for diagnostic. Лише для інтерпретатора, надається для діагностики. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. Детектор затримки INTC - + Huge speedup for some games, with almost no compatibility side effects. Велике прискорення для деяких ігор, майже без побічних ефектів сумісності. - + Enable Fast Memory Access Увімкнути швидкий доступ до пам'яті - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Використовує «бекпетчинг», щоб уникати промивку реєстру на кожному зверненні до пам'яті. - + Pause On TLB Miss Пауза на TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Ставить віртуальну машину на паузу, коли виникає TLB Miss, замість того щоб ігнорувати його і продовжувати. Зверніть увагу, що віртуальна машина буде зупинятися після кінця блоку, а не на інструкції, де виявився виняток. Зверніться до консолі, щоб бачити адрес, в якому стався неприпустимий доступ. - + Enable 128MB RAM (Dev Console) Увімкнути 128МБ оперативної пам'яті (консоль для розробника) - + Exposes an additional 96MB of memory to the virtual machine. Виставляє додаткові 96МБ пам'яті для віртуальної машини. - + VU0 Rounding Mode Режим округлення VU0 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Змінює, як PCSX2 обробляє округлення під час емуляції Vector Unit 0 процесора Emotion Engine (EE VU0). Значення за замовчуванням впорається з переважною більшістю ігор; <b>зміна цього налаштування, коли у гри немає видимих проблем, може спричинити нестабільність.</b> - + VU1 Rounding Mode Режим округлення VU1 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Змінює, як PCSX2 обробляє округлення під час емуляції Vector Unit 1 в Emotion Engine (EE VU1). Значення за замовчуванням впорається з переважною більшістю ігор; <b>зміна цього налаштування, коли у гри немає видимих проблем, може спричинити нестабільність.</b> - + VU0 Clamping Mode Режим затискання VU0 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Змінює, як PCSX2 вправляється зі збереженням чисел з рухомою комою в стандартному діапазоні x86 у Vector Unit 0 в Emotion Engine (EE VU0). Значення за замовчуванням впорається з переважною більшістю ігор; <b>зміна цього налаштування, коли у гри немає видимих проблем, може спричинити нестабільність.</b> - + VU1 Clamping Mode Режим затискання VU1 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Змінює, як PCSX2 вправляється зі збереженням чисел з рухомою комою в стандартному діапазоні x86 у Vector Unit 1 в Emotion Engine (EE VU1). Значення за замовчуванням впорається з переважною більшістю ігор; <b>зміна цього налаштування, коли у гри немає видимих проблем, може спричинити нестабільність.</b> - + Enable Instant VU1 Увімкнути миттєвий VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Запускає VU1 миттєво. Надає невелике поліпшення швидкості у більшості ігор. Безпечно для більшості ігор, але кілька ігор можуть проявляти графічні помилки. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Увімкнути рекомпілятор VU0 (мікрорежим) - + Enables VU0 Recompiler. Вмикає рекомпілятор VU0. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Увімкнути рекомпілятор VU1 - + Enables VU1 Recompiler. Вмикає рекомпілятор VU1. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag хак - + Good speedup and high compatibility, may cause graphical errors. Хороше прискорення і висока сумісність, може призвести до графічних помилок. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Виконує вчасний бінарний переклад 32-бітного машинного коду MIPS-I в x86. - + Enable Game Fixes Увімкнути ігрові виправлення - + Automatically loads and applies fixes to known problematic games on game start. Автоматично завантажує і застосовує виправлення до відомих проблемних ігор під час їхнього запуску. - + Enable Compatibility Patches Увімкнути патчі сумісності - + Automatically loads and applies compatibility patches to known problematic games. Автоматично завантажує і застосовує патчі сумісності до відомих проблемних ігор. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium - Medium + Середній - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1265,29 +1276,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Керування частотою кадрів - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. гц - + PAL Frame Rate: Частота кадрів PAL: - + NTSC Frame Rate: Частота кадрів NTSC: @@ -1302,7 +1313,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1334,12 +1345,12 @@ Leaderboard Position: {1} of {2} Medium (Recommended) - Medium (Recommended) + Середній (Рекомендовано) High - High + Високо @@ -1347,17 +1358,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings Налаштування PINE - + Slot: Слот: - + Enable Увімкнути @@ -1387,7 +1403,7 @@ Leaderboard Position: {1} of {2} Close - Close + Закрити @@ -1442,7 +1458,7 @@ Leaderboard Position: {1} of {2} Center Image: - Center Image: + Центр зображення: @@ -1502,17 +1518,17 @@ Leaderboard Position: {1} of {2} Buffer Size: - Buffer Size: + Розмір буфера: Maximum latency: 0 frames (0.00ms) - Maximum latency: 0 frames (0.00ms) + Максимальна затримка: 0 кадрів (0.00мс) Backend: - Backend: + Бекенд: @@ -1528,7 +1544,7 @@ Leaderboard Position: {1} of {2} Output Volume: - Output Volume: + Вихідна гучність: @@ -1539,13 +1555,13 @@ Leaderboard Position: {1} of {2} Fast Forward Volume: - Fast Forward Volume: + Гучність перемотування вперед: Mute All Sound - Mute All Sound + Заглушити всі звуки @@ -1836,7 +1852,7 @@ Leaderboard Position: {1} of {2} 30 - 30 + 30 @@ -1856,7 +1872,7 @@ Leaderboard Position: {1} of {2} 10 - 10 + 10 @@ -1878,8 +1894,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Автоматичне оновлення @@ -1919,68 +1935,68 @@ Leaderboard Position: {1} of {2} Нагадайте мені пізніше - - + + Updater Error Помилка системи оновлення - + <h2>Changes:</h2> <h2>Зміни:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Попередження щодо збережених станів</h2><p>Інсталяція цього оновлення зроблять ваші збережені стани <b>несумісними</b>. Переконайтеся, що ви збереглися у своїх іграх на карті пам'яті перед цим оновленням, або ви втратите прогрес.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Попередження щодо налаштувань</h2><p>Інсталяція цього оновлення призведе до скидання конфігурації вашої програми. Будь ласка, зверніть увагу, що вам доведеться переналаштовувати ваші параметри після цього оновлення.</p> - + Savestate Warning Попередження про стани збереження - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>УВАГА</h1><p style='font-size:12pt;'>Встановлення цього оновлення зроблять ваші <b>стани збереження несумісними</b>, <i>переконайтеся, що ваш прогрес був збережений на ваших картах пам'яті перед тим, як продовжити.</i>.</p><p>Чи бажаєте ви продовжити?</p> - + Downloading %1... Завантаження %1... - + No updates are currently available. Please try again later. Оновлень наразі немає. Будь ласка, спробуйте знову пізніше. - + Current Version: %1 (%2) Поточна версія: %1 (%2) - + New Version: %1 (%2) Нова версія: %1 (%2) - + Download Size: %1 MB Розмір завантаження: %1 МБ - + Loading... Завантажується... - + Failed to remove updater exe after update. Не вдалося видалити виконуваний файл оновлювача після оновлення. @@ -2144,19 +2160,19 @@ Leaderboard Position: {1} of {2} Увімкнути - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2246,17 +2262,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Диск гри розташований на змінному диску, можливі проблеми зі швидкодією, такі як відхилення частоти та зависання. - + Saving CDVD block dump to '{}'. Збереження дампу блоку CDVD на '{}'. - + Precaching CDVD Precaching CDVD @@ -2281,7 +2297,7 @@ Leaderboard Position: {1} of {2} Невідомий - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -2629,22 +2645,22 @@ Leaderboard Position: {1} of {2} L2 - L2 + L2 R2 - R2 + R2 L1 - L1 + L1 R1 - R1 + R1 @@ -2732,7 +2748,7 @@ Leaderboard Position: {1} of {2} L - L + L @@ -2742,7 +2758,7 @@ Leaderboard Position: {1} of {2} R - R + R @@ -2752,22 +2768,22 @@ Leaderboard Position: {1} of {2} I - I + I II - II + II B - B + B A - A + A @@ -3238,29 +3254,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Видалити профіль - + Mapping Settings Параметри прив'язок - - + + Restore Defaults Скинути до початкових - - - + + + Create Input Profile Створити профіль вводу - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3271,40 +3292,43 @@ Enter the name for the new input profile: Введіть назву для нового профілю введення: - - - - + + + + + + Error Помилка - + + A profile with the name '%1' already exists. Профіль з іменем '%1' вже існує. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Чи хочете скопіювати всі прив'язки з поточного профілю у новий профіль? Якщо вибрати "Ні", буде створено повністю порожній профіль. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Чи хочете скопіювати поточні прив'язки з глобальних налаштувань у новий профіль? - + Failed to save the new profile to '%1'. Не вдалося зберегти новий профіль у '%1'. - + Load Input Profile Завантажити профіль вводу - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3317,12 +3341,27 @@ You cannot undo this action. Ви не зможете скасувати цю дію. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Видалити профіль вводу - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3331,12 +3370,12 @@ You cannot undo this action. Ви не зможете скасувати цю дію. - + Failed to delete '%1'. Не вдалося видалити '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3349,13 +3388,13 @@ You cannot undo this action. Ви не зможете скасувати цю дію. - + Global Settings Загальні опції - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3363,8 +3402,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3372,26 +3411,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB-порт %1 %2 - + Hotkeys Гарячі клавіші - + Shared "Shared" refers here to the shared input profile. Спільний - + The input profile named '%1' cannot be found. Профіль вводу з назвою '%1' знайти неможливо. @@ -3978,7 +4017,7 @@ Do you want to overwrite? <html><head/><body><p><br/></p></body></html> - <html><head/><body><p><br/></p></body></html> + <html><head/><body><p><br/></p></body></html> @@ -4015,63 +4054,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4142,17 +4181,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4178,7 +4232,7 @@ Do you want to overwrite? Always - Always + Завжди @@ -4189,7 +4243,7 @@ Do you want to overwrite? Never - Never + Ніколи @@ -4276,7 +4330,7 @@ Do you want to overwrite? EE - EE + EE @@ -4287,42 +4341,42 @@ Do you want to overwrite? SPR / MFIFO - SPR / MFIFO + SPR / MFIFO VIF - VIF + VIF COP1 (FPU) - COP1 (FPU) + COP1 (FPU) MSKPATH3 - MSKPATH3 + MSKPATH3 Cache - Cache + Кеш GIF - GIF + GIF R5900 - R5900 + R5900 COP0 - COP0 + COP0 @@ -4339,7 +4393,7 @@ Do you want to overwrite? SIF - SIF + SIF @@ -4494,7 +4548,7 @@ Do you want to overwrite? EE BIOS - EE BIOS + EE BIOS @@ -4514,7 +4568,7 @@ Do you want to overwrite? EE R5900 - EE R5900 + EE R5900 @@ -4524,7 +4578,7 @@ Do you want to overwrite? EE COP0 - EE COP0 + EE COP0 @@ -4534,7 +4588,7 @@ Do you want to overwrite? EE COP1 - EE COP1 + EE COP1 @@ -4544,7 +4598,7 @@ Do you want to overwrite? EE COP2 - EE COP2 + EE COP2 @@ -4597,7 +4651,7 @@ Do you want to overwrite? EE IPU - EE IPU + EE IPU @@ -4627,7 +4681,7 @@ Do you want to overwrite? EE MSKPATH3 - EE MSKPATH3 + EE MSKPATH3 @@ -4637,7 +4691,7 @@ Do you want to overwrite? EE MFIFO - EE MFIFO + EE MFIFO @@ -4668,7 +4722,7 @@ Do you want to overwrite? EE VIF - EE VIF + EE VIF @@ -4678,7 +4732,7 @@ Do you want to overwrite? EE GIF - EE GIF + EE GIF @@ -4688,7 +4742,7 @@ Do you want to overwrite? IOP BIOS - IOP BIOS + IOP BIOS @@ -4708,7 +4762,7 @@ Do you want to overwrite? IOP R3000A - IOP R3000A + IOP R3000A @@ -4718,7 +4772,7 @@ Do you want to overwrite? IOP COP2 - IOP COP2 + IOP COP2 @@ -4768,7 +4822,7 @@ Do you want to overwrite? IOP CDVD - IOP CDVD + IOP CDVD @@ -4778,7 +4832,7 @@ Do you want to overwrite? IOP MDEC - IOP MDEC + IOP MDEC @@ -4788,7 +4842,7 @@ Do you want to overwrite? EE SIF - EE SIF + EE SIF @@ -4804,53 +4858,53 @@ Do you want to overwrite? Налагоджувач PCSX2 - + Run Запуск - + Step Into Вступити - + F11 F11 - + Step Over Переступити - + F10 F10 - + Step Out Відступити - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4868,49 +4922,49 @@ Do you want to overwrite? Дизасемблювання - + Copy Address Скопіювати адресу - + Copy Instruction Hex Копіювати шістнадцяткову цифру інструкції - + NOP Instruction(s) Встановити NOP інструкції(-ям) - + Run to Cursor Запустіть курсор - + Follow Branch Слідкуйте за філією - + Go to in Memory View Перейти до байта в перегляді пам'яті - + Add Function Додати функцію - - + + Rename Function Перейменувати функцію - + Remove Function Прибрати функцію @@ -4931,23 +4985,23 @@ Do you want to overwrite? Асемблювати інструкцію - + Function name Ім'я функції - - + + Rename Function Error Помилка перейменування функції - + Function name cannot be nothing. Назва функції не може бути пустою. - + No function / symbol is currently selected. Наразі не обрано жодної функції / символу. @@ -4957,72 +5011,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 НЕ Є ВІРНОЮ АДРЕСОЮ @@ -5049,85 +5103,85 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Слот: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Слот: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 - FPS: %1 + FPS: %1 - + VPS: %1 - VPS: %1 + VPS: %1 - + Speed: %1% - Speed: %1% + Швидкість: %1% - + Game: %1 (%2) Гра: %1 (%2) - + Rich presence inactive or unsupported. Розширена присутність неактивна або не підтримується. - + Game not loaded or no RetroAchievements available. Гра не завантажена або немає доступних досягнень RetroAchievements для цієї гри. - - - - + + + + Error Помилка - + Failed to create HTTPDownloader. Не вдалося створити HTTPDownloader. - + Downloading %1... Завантаження %1... - + Download failed with HTTP status code %1. Завантажити не вдалося, за кодом стану HTTP %1. - + Download failed: Data is empty. Завантаження не вдалося: дані порожні. - + Failed to write '%1'. Не вдалося записати '%1'. @@ -5501,81 +5555,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5709,342 +5758,342 @@ URL-адреса: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Не вдалося знайти жодного CD/DVD-ROM пристрою. Будь ласка, переконайтеся, що у вас є підключений дисковод і дозвіл для доступу до нього. - + Use Global Setting Застосувати глобальне значення - + Automatic binding failed, no devices are available. Помилка автоматичної прив'язки, ніяких пристроїв не доступно. - + Game title copied to clipboard. Назву гри скопійовано в буфер обміну. - + Game serial copied to clipboard. Серійний номер гри скопійовано в буфер обміну. - + Game CRC copied to clipboard. CRC гри скопійовано в буфер обміну. - + Game type copied to clipboard. Тип гри скопійовано в буфер обміну. - + Game region copied to clipboard. Регіон гри скопійовано в буфер обміну. - + Game compatibility copied to clipboard. Сумісність гри скопійовано в буфер обміну. - + Game path copied to clipboard. Шлях до гри скопійовано в буфер обміну. - + Controller settings reset to default. Налаштування контролера були скинуті до початкових значень. - + No input profiles available. Немає доступних профілів вводу. - + Create New... Створити новий... - + Enter the name of the input profile you wish to create. Введіть ім'я профілю вводу, який ви хочете створити. - + Are you sure you want to restore the default settings? Any preferences will be lost. Ви впевнені, що хочете скинути налаштування до початкових? Будь-які налаштування, виставлені за уподобанням, буде втрачено. - + Settings reset to defaults. Налаштування було скинуто до початкових значень. - + No save present in this slot. В цьому слоті немає збереження. - + No save states found. Станів збереження не знайдено. - + Failed to delete save state. Не вдалося видалити збережений стан. - + Failed to copy text to clipboard. Не вдалося скопіювати текст в буфер обміну. - + This game has no achievements. Ця гра не має досягнень. - + This game has no leaderboards. Ця гра не має таблиць лідерів. - + Reset System Перезавантажити систему - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Хардкорний режим не буде увімкнений до перезапуску системи. Чи хочете ви зробити перезавантаження системи зараз? - + Launch a game from images scanned from your game directories. Запуск гри з образів дисків, сканованих з ваших директорій з іграми. - + Launch a game by selecting a file/disc image. Запуск гри, обравши файл/образ диска. - + Start the console without any disc inserted. Запустити консоль без вставленого диска. - + Start a game from a disc in your PC's DVD drive. Запуск гри з диска, вставленого в DVD дисковод вашого ПК. - + No Binding Нема прив'язки - + Setting %s binding %s. Встановлення %s для прив'язки %s. - + Push a controller button or axis now. Натисніть кнопку або вісь контролера. - + Timing out in %.0f seconds... В очікуванні %.0f секунд... - + Unknown Невідомо - + OK ОК - + Select Device Оберіть пристрій - + Details Подробиці - + Options Опції - + Copies the current global settings to this game. Копіює поточні глобальні налаштування до цієї гри. - + Clears all settings set for this game. Скидає всі налаштування, встановлені для цієї гри. - + Behaviour Поведінка - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Запобігає збереженню екрану (скринсейвер) і режиму сну від активації, коли триває емуляція. - + Shows the game you are currently playing as part of your profile on Discord. Показує гру, в яку ви зараз граєте, як частину вашого профілю в Discord. - + Pauses the emulator when a game is started. Призупиняє емулятор, коли гра запущена. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Призупиняє емулятор під час згортанні вікна або переходу до іншого додатку, і відновлює роботу при поверненні до вікна. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Призупиняє емулятор, коли ви відкриваєте швидке меню, і відновлює роботу при його закритті. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Визначає, чи буде запит про завершення роботи емулятора/гри, коли натиснута гаряча клавіша. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Автоматично зберігає стан емулятора при вимиканні або виході. Ви можете відновити роботу прямо з місця виходу в наступний раз. - + Uses a light coloured theme instead of the default dark theme. Використовувати світлу тему замість стандартної темної теми. - + Game Display Зображення гри - + Switches between full screen and windowed when the window is double-clicked. Перемикає між повноекранним режимом і віконним, коли вікно натискається подвійним натисканням. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Приховує курсор миші, коли емулятор знаходиться в повноекранному режимі. - + Determines how large the on-screen messages and monitor are. Визначає розмір повідомлень та моніторингу на екрані. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Показує повідомлення на екрані, коли відбуваються події, такі як створення/завантаження збереження стану, зняття скриншотів, тощо. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Показує поточну швидкість емуляції системи у правому верхньому куті екрану у відсотках. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Показує кількість відеокадрів (або вертикальної синхронізації) зображених в секунду системою в правому верхньому куті екрану. - + Shows the CPU usage based on threads in the top-right corner of the display. Показує навантаження ЦП на основі потоків в правому верхньому куті екрану. - + Shows the host's GPU usage in the top-right corner of the display. Показує навантаження ГП комп'ютера хоста в правому верхньому куті екрану. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Показує статистику про GS (примітиви, виклики малювання) в правому верхньому куті екрану. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Показує показники коли перемотка вперед, пауза та інші незвичні стани активні. - + Shows the current configuration in the bottom-right corner of the display. Показує поточну конфігурацію в правому нижньому куті екрану. - + Shows the current controller state of the system in the bottom-left corner of the display. Показує поточний стан контролера системи в нижньому лівому куті екрану. - + Displays warnings when settings are enabled which may break games. Показує попередження, коли увімкнені налаштування, які можуть ламати ігри. - + Resets configuration to defaults (excluding controller settings). Скидає налаштування до початкових (за винятком налаштувань контролера). - + Changes the BIOS image used to start future sessions. Змінює образ BIOS, який буде використовуватися для наступних сесій. - + Automatic Авто - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default За замовчуванням - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6053,1977 +6102,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Автоматично перемикає на повноекранний режим, коли починається гра. - + On-Screen Display Інформація на екрані (OSD) - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Показує роздільну здатність гри у правому верхньому куті екрану. - + BIOS Configuration Конфігурація BIOS - + BIOS Selection Вибір BIOS - + Options and Patches Опції та патчі - + Skips the intro screen, and bypasses region checks. Пропускає вступний екран і обходить перевірку регіону. - + Speed Control Налаштування швидкості - + Normal Speed Звичайна швидкість - + Sets the speed when running without fast forwarding. Встановлює швидкість під час роботи без перемотки вперед. - + Fast Forward Speed Швидкість перемотки вперед - + Sets the speed when using the fast forward hotkey. Встановлює швидкість роботи, коли натиснута гаряча клавіша перемотки вперед. - + Slow Motion Speed Швидкість сповільнення - + Sets the speed when using the slow motion hotkey. Встановлює швидкість роботи, коли натиснута гаряча клавіша сповільнення. - + System Settings Налаштування системи - + EE Cycle Rate Частота циклів EE - + Underclocks or overclocks the emulated Emotion Engine CPU. Андерклокає або розганяє емульований ЦП Emotion Engine. - + EE Cycle Skipping Пропуск циклів EE - + Enable MTVU (Multi-Threaded VU1) Увімкнути MTVU (Багатопотоковий VU1) - + Enable Instant VU1 Увімкнути миттєвий VU1 - + Enable Cheats Увімкнути чіти - + Enables loading cheats from pnach files. Вмикає завантаження чітів з файлів pnach. - + Enable Host Filesystem Увімкнути файлову систему хоста - + Enables access to files from the host: namespace in the virtual machine. Вмикає доступ до файлів комп'ютера хоста: простір назв у віртуальній машині. - + Enable Fast CDVD Увімкнути швидкий CDVD - + Fast disc access, less loading times. Not recommended. Швидше доступ до диска, менше часу завантаження. Не рекомендується. - + Frame Pacing/Latency Control Налаштування темпу кадрів/затримки - + Maximum Frame Latency Максимальна затримка у кадрах - + Sets the number of frames which can be queued. Встановлює кількість кадрів, які можуть бути поставлені в чергу. - + Optimal Frame Pacing Оптимальний темп кадрів - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Синхронізує потоки EE та GS після кожного кадру. Найнижча затримка вводу, але збільшує системні вимоги. - + Speeds up emulation so that the guest refresh rate matches the host. Прискорює емуляцію, щоб частота оновлення емуляції відповідало монітору. - + Renderer Рендерер - + Selects the API used to render the emulated GS. Обирає API, який використовується для візуалізації емульованого GS. - + Synchronizes frame presentation with host refresh. Синхронізує показ кадрів з частотою оновлення екрану хоста. - + Display Зображення - + Aspect Ratio Співвідношення сторін - + Selects the aspect ratio to display the game content at. Обирає співвідношення сторін для зображення ігрового вмісту. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Обирає співвідношення сторін для зображення при виявленні відтворення FMV. - + Deinterlacing Деінтерлейсинг - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Обирає алгоритм, який використовується для перетворення черезрядковий вихід PS2 у прогресивний. - + Screenshot Size Розмір скриншоту - + Determines the resolution at which screenshots will be saved. Визначає роздільну здатність, за якої буде збережено скриншот. - + Screenshot Format Формат скриншоту - + Selects the format which will be used to save screenshots. Обирає формат, який буде використовуватися для збереження скриншотів. - + Screenshot Quality Якість скриншоту - + Selects the quality at which screenshots will be compressed. Обирає якість, за якої скриншоти будуть стискатися. - + Vertical Stretch Вертикальне розтягування - + Increases or decreases the virtual picture size vertically. Збільшує або зменшує розмір віртуальної картинки вертикально. - + Crop Обрізка - + Crops the image, while respecting aspect ratio. Обрізає зображення, зберігаючи співвідношення сторін. - + %dpx %dpx - - Enable Widescreen Patches - Увімкнути широкоекранні патчі - - - - Enables loading widescreen patches from pnach files. - Вмикає завантаження широкоекранних патчей з файлів pnach. - - - - Enable No-Interlacing Patches - Увімкнути патчі видалення інтерлейсингу - - - - Enables loading no-interlacing patches from pnach files. - Вмикає завантаження патчі видалення інтерлейсингу (черезрядковості) з файлів pnach. - - - + Bilinear Upscaling Білінійний апскейлінг - + Smooths out the image when upscaling the console to the screen. Згладжує зображення при масштабуванні с консолі на екран. - + Integer Upscaling Цілочисельний скейлінг - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Додає відступи до області зображення, щоб переконатися, що співвідношення між пікселями на моніторі хоста до пікселів на консолі є цілим числом. Результує у чіткішому зображенні в деяких 2D іграх. - + Screen Offsets Зміщення екрана - + Enables PCRTC Offsets which position the screen as the game requests. Вмикає PCRTC зміщення, яка вміє позиціювати екран за запитом гри. - + Show Overscan Показати оверскан - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Дозволяє опції відобразити область оверскана (облямівка) на іграх, які малюють більше ніж безпечна область екрана. - + Anti-Blur Антирозмивання - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Вмикає вбудовані хаки антирозмивання. Менш точний у плані рендеру графіки PS2, але багато ігор будуть виглядати менш розмито. - + Rendering Рендеринг - + Internal Resolution Внутрішня роздільна здатність - + Multiplies the render resolution by the specified factor (upscaling). Множить роздільну здатність рендера на вказаний коефіцієнт (апскейлінг). - + Mipmapping Міпмаппінг - + Bilinear Filtering Білінійна фільтрація - + Selects where bilinear filtering is utilized when rendering textures. Обирає де білінійна фільтрація буде використовуватися при малюванні текстур. - + Trilinear Filtering Трилінійна фільтрація - + Selects where trilinear filtering is utilized when rendering textures. Обирає де трилінійна фільтрація буде використовуватися при малюванні текстур. - + Anisotropic Filtering Анізотропна фільтрація - + Dithering Дитеринг - + Selects the type of dithering applies when the game requests it. Обирає, який тип дитерингу буде застосовуватися, коли гра запитує його. - + Blending Accuracy Точність блендінгу - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Визначає рівень точності під час емуляції режимів накладання, які не підтримуються графічним API хоста. - + Texture Preloading Передзавантаження текстур - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Завантажує повні текстури на ГП при використанні, а не тільки використані частини. Може підвищити продуктивність в деяких іграх. - + Software Rendering Threads Потоки для програмного рендереру - + Number of threads to use in addition to the main GS thread for rasterization. Кількість потоків для використання в додаток до основного потоку GS для растерізації. - + Auto Flush (Software) Автозмив (програмний) - + Force a primitive flush when a framebuffer is also an input texture. Робе примусову промивку примітивів, коли буфер кадру також є вхідною текстурою. - + Edge AA (AA1) Згладжування Edge (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Вмикає емуляцію згладжування країв GS (AA1). - + Enables emulation of the GS's texture mipmapping. Вмикає емуляцію міпмаппінга текстур GS. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Апаратні фікси - + Manual Hardware Fixes Ручні фікси апаратного рендереру - + Disables automatic hardware fixes, allowing you to set fixes manually. Вимикає автоматичні фікси апаратного рендереру, дозволяючи вам обирати фікси вручну. - + CPU Sprite Render Size Розмір рендеру спрайтів на ЦП - + Uses software renderer to draw texture decompression-like sprites. Використовує програмний рендерер для зображення спрайтів, які виглядають ніби вони призначенні для декомпресії текстур. - + CPU Sprite Render Level Рівень рендеру спрайтів на ЦП - + Determines filter level for CPU sprite render. Визначає рівень фільтру для рендеру спрайтів на ЦП. - + Software CLUT Render Програмний рендеринг CLUT - + Uses software renderer to draw texture CLUT points/sprites. Використовує програмний рендерер для малювання точок і спрайтів, які використовують CLUT текстур. - + Skip Draw Start Початок Skipdraw - + Object range to skip drawing. Діапазон для пропуску малювання об'єктів. - + Skip Draw End Кінець Skipdraw - + Auto Flush (Hardware) Автозмив (апаратний) - + CPU Framebuffer Conversion Конвертація буфера кадрів на ЦП - + Disable Depth Conversion Вимкнути конвертацію глибини - + Disable Safe Features Вимкнути безпечні функції - + This option disables multiple safe features. Ця опція вимикає кілька безпечних функцій. - + This option disables game-specific render fixes. Ця опція вимикає специфічні фікси рендеру для певної гри. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Завантажує дані GS під час рендеру нового кадру, щоб точно відтворити деякі ефекти. - + Disable Partial Invalidation Вимкнути перевірку часткових недійсностей - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Видаляє записи кешу текстур коли присутній будь-який перетин, а не тільки області з перетинами. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Дозволяє кешу текстур повторно використовувати як вхідну текстуру для внутрішньої частини попереднього буфера кадрів. - + Read Targets When Closing Зчитувати таргети при закритті - + Flushes all targets in the texture cache back to local memory when shutting down. Змиває всі таргети у кеші текстур назад до локальної пам'яті при закритті. - + Estimate Texture Region Відрахувати область текстур - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Намагається зменшити розмір текстури коли ігри не задають його самі (наприклад, ігри на двигуні Snowblind). - + GPU Palette Conversion Конвертація палітри на ГП - + Upscaling Fixes Фікси апскейлу - + Adjusts vertices relative to upscaling. Корегує вершини відносно апскейлу. - + Native Scaling Рідне масштабування - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Округлювач спрайтів - + Adjusts sprite coordinates. Корегує координати спрайтів. - + Bilinear Upscale Білінійний апскейл - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Може згладити текстури через білінійний фільтр під час апскейлу. Наприклад, сонячні промені в Brave. - + Adjusts target texture offsets. Корегує зміщення цільових текстур. - + Align Sprite Вирівнювач спрайтів - + Fixes issues with upscaling (vertical lines) in some games. Виправляє проблеми з апскейлом (вертикальними лініями) в деяких іграх. - + Merge Sprite Об'єднувач спрайтів - + Replaces multiple post-processing sprites with a larger single sprite. Замінює постобробку кількох спрайтів замощення одним жирним спрайтом. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Знижує точність емуляції GS, щоб уникнути прогалини між пікселями при апскейлі. Виправляє текст в іграх Wild Arms. - + Unscaled Palette Texture Draws Малювання палітрових текстур без масштабування - + Can fix some broken effects which rely on pixel perfect precision. Може виправити деякі зламані ефекти, які покладаються на ідеальній точності до пікселя. - + Texture Replacement Заміна текстур - + Load Textures Завантажувати текстури - + Loads replacement textures where available and user-provided. Завантажує замінні текстури, де доступно і надано користувачем. - + Asynchronous Texture Loading Асинхронне завантаження текстур - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Завантажує замінні текстури на робочий потік, зменшуючи мікрозависання, коли заміни увімкнені. - + Precache Replacements Прекешувати заміни - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Передзавантажує всі змінні текстури у пам'ять. Не потрібно при асинхронному завантаженні. - + Replacements Directory Директорія для замін - + Folders Папки - + Texture Dumping Дампінг текстур - + Dump Textures Дампити текстури - + Dump Mipmaps Дампити міпмапи - + Includes mipmaps when dumping textures. Включає міпмапи до дампінгу текстур. - + Dump FMV Textures Дампити FMV текстури - + Allows texture dumping when FMVs are active. You should not enable this. Дозволяє дампінг текстур, коли працюють FMV. Вам не слід це вмикати. - + Post-Processing Постобробка - + FXAA FXAA - + Enables FXAA post-processing shader. Вмикає шейдер постобробки FXAA. - + Contrast Adaptive Sharpening Контрастно-адаптивна різкість (CAS) - + Enables FidelityFX Contrast Adaptive Sharpening. Вмикає контрастно-адаптивну різкість FidelityFX. - + CAS Sharpness Різкість CAS - + Determines the intensity the sharpening effect in CAS post-processing. Визначає інтенсивність ефекту різкості в постобробці CAS. - + Filters Фільтри - + Shade Boost Посилення відтінків - + Enables brightness/contrast/saturation adjustment. Дозволяє регулювати яскравість/контраст/насиченість. - + Shade Boost Brightness Посилення відтінків яскравості - + Adjusts brightness. 50 is normal. Регулює яскравість. Нормальне значення - 50. - + Shade Boost Contrast Посилення відтінків контрастності - + Adjusts contrast. 50 is normal. Регулює контраст. Нормальне значення - 50. - + Shade Boost Saturation Посилення відтінків насиченості - + Adjusts saturation. 50 is normal. Регулює насиченість. Нормальне значення - 50. - + TV Shaders TV шейдери - + Advanced Розширені - + Skip Presenting Duplicate Frames Пропускати повторювані кадри - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Режим апаратного завантаження - + Changes synchronization behavior for GS downloads. Змінює поведінку синхронізації для завантажень GS. - + Allow Exclusive Fullscreen Дозволити ексклюзивний повний екран - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Заміщає евристику драйвера для увімкнення ексклюзивного повноекранного режиму, або Direct flip/scanout. - + Override Texture Barriers Змістити бар'єри текстур - + Forces texture barrier functionality to the specified value. Примусово застосовувати функціонал бар'єру текстур за вказаним значенням. - + GS Dump Compression Компресія дампу GS - + Sets the compression algorithm for GS dumps. Встановлює алгоритм компресії для дампів GS. - + Disable Framebuffer Fetch Вимкнути доступ до буфера кадрів - + Prevents the usage of framebuffer fetch when supported by host GPU. Запобігає використанню буферу кадрів, якщо це підтримується графічним процесором комп'ютера. - + Disable Shader Cache Вимкнути кеш шейдерів - + Prevents the loading and saving of shaders/pipelines to disk. Запобігає завантаженню та збереженню шейдерів/конвейерів на дискові. - + Disable Vertex Shader Expand Вимкнути розширення вершинних шейдерів - + Falls back to the CPU for expanding sprites/lines. Використовує ЦП як резерв для розширення спрайтів/ліній. - + Changes when SPU samples are generated relative to system emulation. Змінює коли семпли SPU генеруються відносно емуляції системи. - + %d ms %d мс - + Settings and Operations Налаштування та операції - + Creates a new memory card file or folder. Створює нову карту пам'яті або папку. - + Simulates a larger memory card by filtering saves only to the current game. Симулює більшу карту пам'яті, фільтруючи збереження лише для поточної гри. - + If not set, this card will be considered unplugged. Якщо не увімкнено, то ця карта буде вважатиметься непід'єднаною. - + The selected memory card image will be used for this slot. Обраний образ карти пам'яті буде використано для цього слоту. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s - Version: %s + Версія: %s - + {:%H:%M} - {:%H:%M} + {:%H:%M} - + Slot {} Слот {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP - WebP + WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 - LZMA2 + LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Створити карту пам'яті - + Configuration Конфігурація - + Start Game Запустити гру - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Вийти з PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Скидає всю конфігурацію до початкових (включаючи прив'язки). - + Replaces these settings with a previously saved input profile. Заміняє ці налаштування на попередньо збережений профіль вводу. - + Stores the current settings to an input profile. Зберігає поточні налаштування в профіль вводу. - + Input Sources Джерела введення - + The SDL input source supports most controllers. Джерело введення SDL підтримує більшість контролерів. - + Provides vibration and LED control support over Bluetooth. Забезпечує підтримку вібрації та керування LED через Bluetooth. - + Allow SDL to use raw access to input devices. Дозволяє SDL використовувати сирий доступ до пристроїв вводу. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Джерело XInput надає підтримку для контролерів Xbox 360 / Xbox One / Xbox Series. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Вмикає додаткові три слоти для контролерів. Не підтримується для всіх ігор. - + Attempts to map the selected port to a chosen controller. Спробує прив'язати вказаний порт до обраного контролера. - + Determines how much pressure is simulated when macro is active. Визначає, скільки сили тиску буде симульовано, коли макрос активний. - + Determines the pressure required to activate the macro. Визначає тиск, потрібний для активації макросу. - + Toggle every %d frames Перемикати кожні %d кадрів - + Clears all bindings for this USB controller. Скидає всі прив'язки для цього USB-контролера. - + Data Save Locations Розташування даних збережень - + Show Advanced Settings Показати розширені налаштування - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Зміна цих опцій можуть призвести до того, що ігри стануть нефункціональними. Редагуйте на власний ризик, команда PCSX2 не буде надавати підтримку з конфігураціями зі зміненими опціями звідси. - + Logging Logging - + System Console Системна консоль - + Writes log messages to the system console (console window/standard output). Пише повідомлення журналу в системну консоль (вікно консолі/стандартний вивід). - + File Logging Логування файлів - + Writes log messages to emulog.txt. Пише повідомлення журналу в emulog.txt. - + Verbose Logging Детальне логування - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Часові відмітки в журналі - + Writes timestamps alongside log messages. Пише часові відмітки разом з повідомленнями журналу. - + EE Console Консоль EE - + Writes debug messages from the game's EE code to the console. Пише повідомлення для налагодження з ігрового EE коду в консоль. - + IOP Console Консоль IOP - + Writes debug messages from the game's IOP code to the console. Пише повідомлення для налагодження з ігрового IOP коду в консоль. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Режим округлення - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Визначає, як округлюються результати операцій з рухомою комою. Деякі ігри потребують конкретних налаштувань. - + Division Rounding Mode Режим округлення ділень - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Режим клемпінгу - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Визначає, як поступатися з числами з рухомою комою за межами діапазону. Деякі ігри потребують конкретних налаштувань. - + Enable EE Recompiler Увімкнути рекомпілятор EE - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Виконує вчасний бінарний переклад 64-бітного машинного коду MIPS-IV в рідний код. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Увімкнути детектор холостого циклу - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode Режим округлення VU0 - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode Режим округлення VU1 - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Графіка - + Use Debug Device Use Debug Device - + Settings Налаштування - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Чит-коди - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Активація чітів може спричинити непередбачувану поведінку, краші, софт-локи, або пошкодженню збережених ігор. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Активація ігрових патчів може спричинити непередбачувану поведінку, краші, софт-локи, або пошкодженню збережених ігор. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Використовуйте патчі на власний ризик, команда PCSX2 не буде надавати жодної підтримки для користувачів, які активували ігрові патчі. - + Game Fixes Ігрові фікси - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Емулювати VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8032,2071 +8086,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Регіон: - + Compatibility: Сумісність: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Операції - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Завантажити обкладинки - + About PCSX2 Про PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. Коли увімкнено і здійснено вхід, PCSX2 буде сканувати на наявність досягнень під час запуску емулятора. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. Режим "виклику" для досягнень, у тому числі відстежування таблиці лідерів. Вимикає збережені стани, чіти, і функції сповільнення. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. Коли увімкнено, PCSX2 буде робити перелік досягнень з неофіційних сетів. Ці досягнення не відстежуються серверами RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. Коли увімкнено, PCSX2 вважатиме, що всі досягнення закриті та не буде відсилати сповіщення з їх розблокуванням на сервер. - + Error Помилка - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. Коли увімкнено, кожен сеанс буде поводитися так, ніби ніяких досягнень не було розблоковано. - + Account Обліковий запис - + Logs out of RetroAchievements. Виходить з RetroAchievements. - + Logs in to RetroAchievements. Входить в RetroAchievements. - + Current Game Поточна гра - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Папка) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Збережено {} - + {} does not exist. {} не існує. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} Файл: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Востаннє зіграно: {} - + Size: {:.2f} MB Розмір: {:.2f} МБ - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Налаштування інтерфейсу - + BIOS Settings Налаштування BIOS - + Emulation Settings Налаштування емуляції - + Graphics Settings Налаштування графіки - + Audio Settings Налаштування аудіо - + Memory Card Settings Налаштування карти пам’яті - + Controller Settings Налаштування контролера - + Hotkey Settings Hotkey Settings - + Achievements Settings Налаштування досягнень - + Folder Settings Налаштування папок - + Advanced Settings Додаткові налаштування - + Patches Патчі - + Cheats Чіти - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Вимкнено - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 кадр - + 2 Frames 2 кадри - + 3 Frames 3 кадри - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Повний - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Найближчий - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Мертва зона - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Лише спрайти - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Без компресії - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8МБ) - + PS2 (16MB) PS2 (16МБ) - + PS2 (32MB) PS2 (32МБ) - + PS2 (64MB) PS2 (64МБ) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Список ігор - + Game List Settings Game List Settings - + Type Тип - + Serial Serial - + Title Назва - + File Title Назва файлу - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Розмір - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Запустити файл - + Start BIOS Запустити BIOS - + Start Disc Запустити диск - + Exit Вихід - + Set Input Binding Set Input Binding - + Region Регіон - + Compatibility Rating Оцінка сумісності - + Path Шлях - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Скопіювати налаштування - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Показувати FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Створити - + Cancel Скасувати - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Тип контролера - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Кнопки - + Frequency Частота - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB-порт {} - + Device Type Тип пристрою - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Налаштування - + Cache Directory Директорія для кешу - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Продовжити гру - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Досягнення - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Видалити збереження - + Close Menu Закрити меню - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Сортувати за - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Вебсайт - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License Ліцензія - + Close Закрити - + RAIntegration is being used instead of the built-in achievements implementation. Замість вбудованої імплементації досягнень буде використовуватися RAIntegration. - + Enable Achievements Увімкнути досягнення - + Hardcore Mode Хардкорний режим - + Sound Effects Звукові ефекти - + Test Unofficial Achievements Тестувати неофіційні досягнення - + Username: {} Ім'я користувача: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Гра: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Гра не завантажена або немає доступних досягнень RetroAchievements для цієї гри. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11088,32 +11147,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Перезавантажити патчі - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. Немає доступних патчей для цієї гри. @@ -11416,13 +11485,13 @@ Scanning recursively takes more time, but will identify files in subdirectories. %0%1 First arg is a GameList compat; second is a string with space followed by star rating OR empty if Unknown compat - %0%1 + %0%1 %0%1 First arg is filled-in stars for game compatibility; second is empty stars; should be swapped for RTL languages - %0%1 + %0%1 @@ -11589,11 +11658,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Вимкнено (за замовчуванням) @@ -11603,10 +11672,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Автоматично (за замовчуванням) @@ -11673,7 +11742,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Білінійна (гладка) @@ -11739,29 +11808,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Зміщення екрана - + Show Overscan Показати оверскан - - - Enable Widescreen Patches - Увімкнути широкоекранні патчі - - - - Enable No-Interlacing Patches - Увімкнути патчі видалення інтерлейсингу - - + Anti-Blur Антирозмивання @@ -11772,7 +11831,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Вимкнути зміщення інтерлейсингу @@ -11782,18 +11841,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Розмір скриншоту: - + Screen Resolution Роздільна здатність екрана - + Internal Resolution Внутрішня роздільна здатність - + PNG PNG @@ -11845,7 +11904,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Білінійна (PS2) @@ -11892,7 +11951,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Без масштабування (за замовчуванням) @@ -11908,7 +11967,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Базова (рекомендується) @@ -11944,7 +12003,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Повне (кешування хешу) @@ -11960,31 +12019,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion Конвертація палітри на ГП - + Manual Hardware Renderer Fixes Ручні фікси апаратного рендереру - + Spin GPU During Readbacks Пробуджувати ГП під час зворотних зчитувань - + Spin CPU During Readbacks Пробуджувати ЦП під час зворотних зчитувань @@ -11996,15 +12055,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Міпмаппінг - - + + Auto Flush Автозмив @@ -12032,8 +12091,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (вимкнено) @@ -12090,18 +12149,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Вимкнути безпечні функції - + Preload Frame Data Передзавантаження дані кадру - + Texture Inside RT Текстура всередині RT @@ -12200,13 +12259,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Об'єднувач спрайтів - + Align Sprite Вирівнювач спрайтів @@ -12220,16 +12279,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12248,7 +12297,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne WebP - WebP + WebP @@ -12302,25 +12351,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Вимкнути перевірку часткових недійсностей - + Read Targets When Closing Зчитувати таргети при закритті - + Estimate Texture Region Відрахувати область текстур - + Disable Render Fixes Вимкнути фікси рендеру @@ -12331,7 +12380,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Малювання палітрових текстур без масштабування @@ -12390,25 +12439,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Дампити текстури - + Dump Mipmaps Дампити міпмапи - + Dump FMV Textures Дампити FMV текстури - + Load Textures Завантажувати текстури @@ -12418,6 +12467,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12435,13 +12494,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Прекешувати текстури @@ -12464,8 +12523,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) Ніяка (за замовчуванням) @@ -12486,7 +12545,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12538,7 +12597,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Посилення відтінку @@ -12553,7 +12612,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Контраст: - + Saturation Насиченість: @@ -12574,50 +12633,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Показувати показники - + Show Resolution Показувати роздільну здатність - + Show Inputs Показувати введення - + Show GPU Usage Показувати використання ГП - + Show Settings Показувати налаштування - + Show FPS Показувати FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12633,13 +12692,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Показувати статистику - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12650,13 +12709,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Показувати використання ЦП - + Warn About Unsafe Settings Попереджати про небезпечні налаштування @@ -12682,7 +12741,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12693,43 +12752,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12838,19 +12897,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Пропускати повторювані кадри - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12903,7 +12962,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Показувати відсотки швидкості @@ -12913,1214 +12972,1214 @@ Swap chain: see Microsoft's Terminology Portal. Вимкнути доступ до буфера кадрів - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Програмний - + Null Null here means that this is a graphics backend that will show nothing. Пусто - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Застосувати глобальне значення [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Без позначки - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - Автоматично завантажує і застосовує широкоекранні патчі при запуску гри. Може викликати проблеми. + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - Автоматично завантажує і застосовує патчі для видалення інтерлейсингу при запуску гри. Може викликати проблеми. + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Вимикає зміщення інтерлейсингу, що може зменшити розмиття в деяких ситуаціях. - + Bilinear Filtering Білінійна фільтрація - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Вмикає білінійний фільтр. Згладжує загальну картинку, яка відображається на екрані. Виправляє позиціювання між пікселями. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Вмикає PCRTC зміщення, яка вміє позиціювати екран за запитом гри. Корисно для деяких ігор, таких як WipEout Fusion з її ефектом скріншейку, але це може зробити зображення розмитим. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Дозволяє опції відобразити область оверскана (облямівка) на іграх, які малюють більше ніж безпечна область екрана. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Контролює рівень точності емуляції модуля блендінгу (накладання) GS.<br> Чим вище значення, тим точніше блендінг емулюється у шейдері, тим вище буде погіршення швидкості емуляції.<br> Зауважте, що можливість блендінгу в Direct3D обмежений, на відміну від OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Програмний рендеринг CLUT - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. Ця опція вимикає специфічні фікси рендеру для певної гри. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. За замовчуванням, кеш текстур перевіряє часткові недійсності. На жаль це дуже дорого вичислювати на процесорі. Цей хак заміняє перевірку хешу повним видаленням текстури для зменшення навантаження на процесор. Допомагає в емуляції ігор на двигуні студії Snowblind. - + Framebuffer Conversion Конвертація буфера кадрів - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Конвертує 4-бітний і 8-бітний буфер кадрів на ЦП замість ГП. Допомагає з іграми Harry Potter і Stuntman. Це сильно впливає на продуктивність. - - + + Disabled Вимкнено - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Дозволяє кешу текстур повторно використовувати як вхідну текстуру для внутрішньої частини попереднього буфера кадрів. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Змиває всі таргети у кеші текстур назад до локальної пам'яті при закритті. Може запобігти втраті візуальних ефектів при збереженні стану або перемиканні рендерерами, але також може зіпсувати графіку. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Намагається зменшити розмір текстури коли ігри не задають його самі (наприклад, ігри на двигуні Snowblind). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Виправляє проблеми з апскейлом (вертикальними лініями) в іграх від Namco, наприклад Ace Combat, Tekken, Soul Calibur, тощо. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Масштабує розмір OSD з 50% до 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Показує індикатори значків OSD для станів емуляції, як Пауза, Турбо, Перемотка вперед, та Сповільнення. - + Displays various settings and the current values of those settings, useful for debugging. Показує різні параметри та поточні значення цих налаштувань, корисно для налагодження. - + Displays a graph showing the average frametimes. Відображає графік, який показує середню тривалість кадрів. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Дозволити ексклюзивний повний екран - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Заміщає евристику драйвера для увімкнення ексклюзивного повноекранного режиму, або Direct flip/scanout.<br>Заборона ексклюзивного повного екрана може сприяти плавному перемиканню вікон, але збільшенню затримку вводу. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Позначено - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Вмикає вбудовані хаки антирозмивання. Менш точний у плані рендеру графіки PS2, але багато ігор будуть виглядати менш розмито. - + Integer Scaling Цілочисельний скейлінг - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Додає відступи до області зображення, щоб переконатися, що співвідношення між пікселями на моніторі хоста до пікселів на консолі є цілим числом. Результує у чіткішому зображенні в деяких 2D іграх. - + Aspect Ratio Співвідношення сторін - + Auto Standard (4:3/3:2 Progressive) Авто стандартне (4:3/3:2 прогресивне) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Змінює співвідношення сторін, яке використовується для зображення консолі, що виводиться на екран. За замовчуванням стоїть Авто стандартне (4:3/3:2 прогресивне), яке автоматично підлаштовує співвідношення сторін відповідно тому, як гра б показувалась на типовому телевізору тієї епохи. - + Deinterlacing Деінтерлейсинг - + Screenshot Size Розмір скриншоту - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Визначає роздільну здатність, за якою будуть зберігатися скриншоти. Внутрішні роздільні здатності зберігають більше деталей ціною більшого розміру файлу. - + Screenshot Format Формат скриншоту - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Обирає формат який буде використовуватися для збереження скриншотів. JPEG створює менші файли, але втрачає деталі. - + Screenshot Quality Якість скриншоту - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Обирає якість, виходячи з якої скриншоти будуть стиснуті. Вищі значення зберігають більше деталей у випадку з JPEG, і зменшують розмір файлу з PNG. - - + + 100% 100% - + Vertical Stretch Вертикальне розтягування - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Розтягує (&lt; 100%) і здавлює (&gt; 100%) дисплей по вертикалі. - + Fullscreen Mode Повноекранний режим - - - + + + Borderless Fullscreen Режим без рамки - + Chooses the fullscreen resolution and frequency. Вибір повноекранної роздільної здатності та частоти. - + Left Зліва - - - - + + + + 0px 0пкс - + Changes the number of pixels cropped from the left side of the display. Змінює кількість пікселів, обрізаних з лівої частини екрану. - + Top Згори - + Changes the number of pixels cropped from the top of the display. Змінює кількість пікселів, обрізаних з верхньої частини екрану. - + Right Справа - + Changes the number of pixels cropped from the right side of the display. Змінює кількість пікселів, обрізаних з правої частини екрану. - + Bottom Знизу - + Changes the number of pixels cropped from the bottom of the display. Змінює кількість пікселів, обрізаних з нижньої частини екрану. - - + + Native (PS2) (Default) Рідна (PS2) (За замовчуванням) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Керує роздільною здатністю, за якою ігри рендеряться. Високі роздільні здатності можуть вплинути на швидкодію на старших або слабших ГП.<br>Нерідна роздільна здатність може викликати незначні графічні помилки в деяких іграх.<br>Роздільна здатність FMV залишиться без змін, так як відео файли попередньо зрендерені. - + Texture Filtering Фільтрація текстур - + Trilinear Filtering Трилінійна фільтрація - + Anisotropic Filtering Анізотропна фільтрація - + Reduces texture aliasing at extreme viewing angles. Знижує аліасинг текстур при перегляді під екстремальними кутами. - + Dithering Дитеринг - + Blending Accuracy Точність блендінгу - + Texture Preloading Передзавантаження текстур - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Завантажує цілі текстури відразу замість маленьких частин, по можливості уникаючи надлишкові завантаження. Сприяє швидкодії у більшості ігор, але може сповільнити у невеликій частині ігор. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. Конвертацією текстур кольорових мап займається ГП замість ЦП, коли увімкнено. Це компроміс між ГП та ЦП. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Увімкнення цієї опції дає вам можливість змінювати фікси рендереру та апскейлу для ваших ігор. Однак, ЯКЩО ви УВІМКНУЛИ це, ви ВІДКЛЮЧИТЕ АВТОМАТИЧНІ НАЛАШТУВАННЯ і ви можете знову увімкнути автоматичні налаштування, знявши прапорець з цієї опції. - + 2 threads 2 потоки - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Робе примусову промивку примітивів, коли буфер кадру також є вхідною текстурою. Виправляє ефекти постобробки, такі як тіні в серії ігор Jak та освітлення в GTA:SA. - + Enables mipmapping, which some games require to render correctly. Вмикає міпмаппінг, який потрібен деяким іграм для коректного зображення. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Початок діапазону Skipdraw - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Повністю пропускає малювання поверхонь, починаючи з поверхні, вказаному в лівому полі та закінчуючи поверхнею вказаною у полі справа. - + Skipdraw Range End Кінець діапазону Skipdraw - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. Ця опція вимикає кілька безпечних функцій. Вимикає рендеринг точних немасштабних точок та ліній, що може допомогти з іграми Xenosaga. Вимикає точне очищення пам'яті GS зроблене на процесорі, і лишає цю роботу графічному процесору, що може допомогти з іграми Kingdom Hearts. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Напівпіксельне зміщення - + Might fix some misaligned fog, bloom, or blend effect. Може виправити туман, блиск та ефекти змішування, які були неправильно вирівняні. - + Round Sprite Округлювач спрайтів - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Виправляє вибірку текстур 2D-спрайтів під час масштабування. Виправляє лінії в спрайтах ігор, таких як Ar tonelico, під час масштабування. Параметр Half призначений для плоских спрайтів, Full — для всіх спрайтів. - + Texture Offsets X Зміщення текстур на осі X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Зміщення для координат SV/UV текстур. Виправляє деякі дивні проблеми з текстури, а також може виправити деякі вирівнювання постобробки. - + Texture Offsets Y Зміщення текстур на осі Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Знижує точність емуляції GS, щоб уникнути прогалини між пікселями при апскейлі. Виправляє текст в іграх Wild Arms. - + Bilinear Upscale Білінійний апскейл - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Може згладити текстури через білінійний фільтр під час апскейлу. Наприклад, сонячні промені в Brave. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Замінює постобробку кількох спрайтів замощення одним жирним спрайтом. Це зменшує різноманітні лінії, які з'являються через апскейл. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Контрастно-адаптивна різкість (CAS) - + Sharpness Різкість - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Дозволяє регулювати насиченість, контраст і яскравість. Стандартним значенням для яскравості, насиченості та контрастності є 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Застосовує алгоритм згладжування FXAA, для покращення візуальної якості ігор. - + Brightness Яскравість - - - + + + 50 50 - + Contrast Контраст - + TV Shader TV шейдер - + Applies a shader which replicates the visual effects of different styles of television set. Застосовує шейдер, який відтворює візуальні ефекти різних телевізорів. - + OSD Scale Масштаб OSD - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Показує повідомлення на екрані, коли відбуваються події, такі як створення/завантаження збереження стану, зняття скриншотів, тощо. - + Shows the internal frame rate of the game in the top-right corner of the display. Показує внутрішню частоту кадрів гри у правому верхньому куті екрану. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Показує поточну швидкість емуляції системи у правому верхньому куті екрану у відсотках. - + Shows the resolution of the game in the top-right corner of the display. Показує роздільну здатність гри у правому верхньому куті екрану. - + Shows host's CPU utilization. Показує навантаження ЦП. - + Shows host's GPU utilization. Показує навантаження ГП. - + Shows counters for internal graphical utilization, useful for debugging. Показує лічильники внутрішнього графічного навантаження, корисно для налагодження. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Показує попередження, коли увімкнені налаштування, які можуть ламати ігри. - - + + Leave It Blank Залишити порожнім - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression Компресія дампу GS - + Change the compression algorithm used when creating a GS dump. Змінити алгоритм компресії, який використовується при створенні дампу GS. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Використовує презентаційну модель Blit замість перевертання під час використання Федерера Direct3D 11. Зазвичай це призводить до зниження продуктивності, але може знадобитися для деяких потокових програм або для зняття обмеження частоти кадрів у деяких системах. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode Режим завантаження GS - + Accurate Точний - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Пропускає синхронізацію з потоком GS і графічним процесором хоста для завантажень GS. Може призвести до значного збільшення швидкості на повільніших системах ціною багатьох несправних графічних ефектів. Якщо ігри зламані, і у вас увімкнено цей параметр, спочатку вимкніть його. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. За замовчуванням - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14128,7 +14187,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14345,254 +14404,254 @@ Swap chain: see Microsoft's Terminology Portal. Станів збереження не знайдено в слоті {}. - - - + + - - - - + + + + - + + System Система - + Open Pause Menu Відкрити меню паузи - + Open Achievements List Відкрити список досягнень - + Open Leaderboards List Відкрити таблиці лідерів - + Toggle Pause Перемкнути паузу - + Toggle Fullscreen Перемкнути повний екран - + Toggle Frame Limit Перемкнути ліміт швидкості - + Toggle Turbo / Fast Forward Перемкнути Турбо / Перемотку вперед - + Toggle Slow Motion Перемкнути сповільнення - + Turbo / Fast Forward (Hold) Турбо / Перемотка вперед (тримати) - + Increase Target Speed Збільшити цільову швидкість - + Decrease Target Speed Зменшити цільову швидкість - + Increase Volume Збільшити гучність - + Decrease Volume Зменшити гучність - + Toggle Mute Перемкнути звук - + Frame Advance Просунутися на кадр - + Shut Down Virtual Machine Вимкнути віртуальну машину - + Reset Virtual Machine Перезавантажити віртуальну машину - + Toggle Input Recording Mode Перемкнути режим запису вводу - - + + Save States Стани збереження - + Select Previous Save Slot Обрати попередній слот збереження - + Select Next Save Slot Обрати наступний слот збереження - + Save State To Selected Slot Зберегти стан в обраний слот - + Load State From Selected Slot Завантажити стан з обраного слота - + Save State and Select Next Slot Зберегти стан та обрати наступний слот - + Select Next Slot and Save State Обрати наступний слот і зберегти стан - + Save State To Slot 1 Зберегти стан до слота 1 - + Load State From Slot 1 Завантажити стан зі слота 1 - + Save State To Slot 2 Зберегти стан до слота 2 - + Load State From Slot 2 Завантажити стан зі слота 2 - + Save State To Slot 3 Зберегти стан до слота 3 - + Load State From Slot 3 Завантажити стан зі слота 3 - + Save State To Slot 4 Зберегти стан до слота 4 - + Load State From Slot 4 Завантажити стан зі слота 4 - + Save State To Slot 5 Зберегти стан до слота 5 - + Load State From Slot 5 Завантажити стан зі слота 5 - + Save State To Slot 6 Зберегти стан до слота 6 - + Load State From Slot 6 Завантажити стан зі слота 6 - + Save State To Slot 7 Зберегти стан до слота 7 - + Load State From Slot 7 Завантажити стан зі слота 7 - + Save State To Slot 8 Зберегти стан до слота 8 - + Load State From Slot 8 Завантажити стан зі слота 8 - + Save State To Slot 9 Зберегти стан до слота 9 - + Load State From Slot 9 Завантажити стан зі слота 9 - + Save State To Slot 10 Зберегти стан до слота 10 - + Load State From Slot 10 Завантажити стан зі слота 10 @@ -15471,594 +15530,608 @@ Right click to clear binding Система - - - + + Change Disc Змінити диск - - + Load State Завантажити стан - - Save State - Зберегти стан - - - + S&ettings Налаштування - + &Help Довідка - + &Debug Налагодження - - Switch Renderer - Переключити рендерер - - - + &View Вигляд - + &Window Size Розмір вікна - + &Tools Інструменти - - Input Recording - Запис вводу - - - + Toolbar Панель інструментів - + Start &File... З&апустити файл... - - Start &Disc... - Запустити диск... - - - + Start &BIOS Запустити &BIOS - + &Scan For New Games Сканувати нов&і ігри - + &Rescan All Games Перес&канувати всі ігри - + Shut &Down &Вимкнути - + Shut Down &Without Saving Вимкнути без збереження - + &Reset Перезапустити - + &Pause Пау&за - + E&xit Вихід - + &BIOS &BIOS - - Emulation - Емуляція - - - + &Controllers Контролери - + &Hotkeys Га&рячі клавіші - + &Graphics Графіка - - A&chievements - До&сягнення - - - + &Post-Processing Settings... Налаштування постобробки... - - Fullscreen - Повний екран - - - + Resolution Scale Масштабування роздільної здатності - + &GitHub Repository... Репозіторій на &GitHub... - + Support &Forums... Форуми підтримки... - + &Discord Server... &Discord сервер... - + Check for &Updates... Перевірити наявність оновлень... - + About &Qt... Про &Qt... - + &About PCSX2... Про PCSX2... - + Fullscreen In Toolbar Повний екран - + Change Disc... In Toolbar Змінити диск... - + &Audio Звук - - Game List - Список ігор - - - - Interface - Інтерфейс + + Global State + Глобальний запис - - Add Game Directory... - Додати директорію з іграми... + + &Screenshot + Скриншот - - &Settings - Налаштування + + Start File + In Toolbar + Запустити файл - - From File... - З файлу... + + &Change Disc + &Change Disc - - From Device... - З пристрою... + + &Load State + &Load State - - From Game List... - Зі списку ігор... + + Sa&ve State + Sa&ve State - - Remove Disc - Витягнути диск + + Setti&ngs + Setti&ngs - - Global State - Глобальний запис + + &Switch Renderer + &Switch Renderer - - &Screenshot - Скриншот + + &Input Recording + &Input Recording - - Start File - In Toolbar - Запустити файл + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Запустити диск - + Start BIOS In Toolbar Запустити BIOS - + Shut Down In Toolbar Завершити роботу - + Reset In Toolbar Перезавантажити - + Pause In Toolbar Пауза - + Load State In Toolbar Завантажити стан - + Save State In Toolbar Зберегти стан - + + &Emulation + &Emulation + + + Controllers In Toolbar Контролери - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Налаштування - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Скриншот - + &Memory Cards Карти пам'яті - + &Network && HDD Мережа &та жорсткий диск - + &Folders П&апки - + &Toolbar Пан&ель інструментів - - Lock Toolbar - Закріпити панель інструментів + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - Панель статусу + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Детальний статус + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Список ігор + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - Дисплей системи + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Властивості гри + + E&nable System Console + E&nable System Console - - Game &Grid - Сітка ігор + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Показати назви (У режимі сітки) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Збільшити (У режимі сітки) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Зменшити (У режимі сітки) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Оновити обкладинки (У режимі &сітки) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Відкрити директорію для карт пам'яті... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Відкрити каталог даних... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Перемкнути програмний рендеринг + + &Controller Logs + &Controller Logs - - Open Debugger - Відкрити налагоджувач + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Перезавантажити чіти/патчі + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Увімкнути системну консоль + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Увімкнути детальне логування + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Увімкнути логування консолі EE + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Увімкнути логування консолі IOP + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Зберегти GS дамп з одним кадром + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - Новий + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Грати + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Стоп + + &Status Bar + Панель статусу - - Settings - This section refers to the Input Recording submenu. - Налаштування + + + Game &List + Список ігор - - - Input Recording Logs - Логи запису вводу + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Логи контролера + + &Verbose Status + &Verbose Status - - Enable &File Logging - Увімкнути логування файлів + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + Дисплей системи + + + + Game &Properties + Властивості гри - - Enable CDVD Read Logging - Увімкнути логування читання CDVD + + Game &Grid + Сітка ігор - - Save CDVD Block Dump - Зберегти дамп блоку CDVD + + Zoom &In (Grid View) + Збільшити (У режимі сітки) - - Enable Log Timestamps - Увімкнути часові мітки у логуванні + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Зменшити (У режимі сітки) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Оновити обкладинки (У режимі &сітки) + + + + Open Memory Card Directory... + Відкрити директорію для карт пам'яті... + + + + Input Recording Logs + Логи запису вводу + + + + Enable &File Logging + Увімкнути логування файлів + + + Start Big Picture Mode Запустити режим Big Picture - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Завантажувач обкладинок... - - - - + Show Advanced Settings Показати розширені налаштування - - Recording Viewer - Переглядач записів - - - - + Video Capture Запис відео - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Внутрішня роздільна здатність - + %1x Scale %1x масштабу - + Select location to save block dump: Виберіть місце для збереження блоку дампів: - + Do not show again Більше не показувати - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16071,297 +16144,297 @@ Are you sure you want to continue? Ви впевнені, що хочете продовжити? - + %1 Files (*.%2) %1 файлів (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Підтвердження вимкнення - + Are you sure you want to shut down the virtual machine? Ви впевнені, що хочете вимкнути віртуальну машину? - + Save State For Resume Зберегти стан для продовження - - - - - - + + + + + + Error Помилка - + You must select a disc to change discs. Виберіть диск для зміни дисків. - + Properties... Властивості... - + Set Cover Image... Задати зображення обкладинки... - + Exclude From List Виключити зі списку - + Reset Play Time Скинути зіграний час - + Check Wiki Page Check Wiki Page - + Default Boot Запуск за замовчуванням - + Fast Boot Швидкий запуск - + Full Boot Повний запуск - + Boot and Debug Запуск і налагодження - + Add Search Directory... Додати директорію пошуку... - + Start File Запустити файл - + Start Disc Запустити диск - + Select Disc Image Оберіть образ диска - + Updater Error Помилка системи оновлення - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>На жаль, ви намагаєтеся оновити версію PCSX2, яка не є офіційним релізом з GitHub. Для запобігання несумісностей, автооновлення увімкнуто лише в офіційних збірках.</p><p>Щоб отримати офіційну збірку, будь ласка, завантажте її за посиланням нижче:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Автоматичне оновлення не підтримується на поточній платформі. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Файли з записом вводу (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Призупинено - + Load State Failed Не вдалося завантажити стан - + Cannot load a save state without a running VM. Неможливо завантажити стан збереження без увімкненої віртуальної машини. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Не вдалося отримати інформацію про вікно з віджета - + Stop Big Picture Mode Зупинити режим Big Picture - + Exit Big Picture In Toolbar Вийти з Big Picture - + Game Properties Властивості ігри - + Game properties is unavailable for the current game. Властивості гри недоступні для поточної гри. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Не вдалося знайти жодного CD/DVD-ROM пристрою. Будь ласка, переконайтеся, що у вас є підключений дисковод і дозвіл для доступу до нього. - + Select disc drive: Оберіть дисковод: - + This save state does not exist. Цього збереженого стану не існує. - + Select Cover Image Оберіть зображення обкладинки - + Cover Already Exists Обкладинка вже виставлена - + A cover image for this game already exists, do you wish to replace it? Зображення обкладинки для цієї гри вже виставлено, бажаєте його замінити? - + + - Copy Error Помилка копіювання - + Failed to remove existing cover '%1' Не вдалося прибрати присутню обкладинку '%1' - + Failed to copy '%1' to '%2' Не вдалося скопіювати '%1' в '%2' - + Failed to remove '%1' Не вдалося видалити '%1' - - + + Confirm Reset Підтвердження скидання - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16370,12 +16443,12 @@ This action cannot be undone. Цю дію не можна скасувати. - + Load Resume State Завантажити стан для продовження - + A resume save state was found for this game, saved at: %1. @@ -16388,89 +16461,89 @@ Do you want to load this state, or start from a fresh boot? Ви хочете завантажити цей стан, або почати з чистого запуску? - + Fresh Boot Чистий запуск - + Delete And Boot Видалити та запустити - + Failed to delete save state file '%1'. Не вдалося видалити файл збереженого стану '%1'. - + Load State File... Завантажити файл стану... - + Load From File... Завантажити з файлу... - - + + Select Save State File Обрати файл збереженого стану - + Save States (*.p2s) Збережені стани (*.p2s) - + Delete Save States... Видалити збережені стани... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> УВАГА: Ваша карта пам'яті все ще записує дані. Завершення роботи зараз <b>ПРИЗВЕДЕ ДО НЕЗВОРОТНЬОГО ЗНИЩЕННЯ ВАШОЇ КАРТИ ПАМ'ЯТІ.</b> Настійно рекомендуємо відновити роботу гри для того, щоб вона закінчила записувати дані на вашу карту пам'яті.<br><br>Чи бажаєте все одно завершити роботу і <b>ЗНИЩИТИ ВАШУ КАРТУ ПАМ'ЯТІ БЕЗ МОЖЛИВОСТІ ЇЇ ВІДНОВИТИ?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Скасувати завантажений стан - + Resume (%2) Продовжити (%2) - + Load Slot %1 (%2) Завантажити слот %1 (%2) - - + + Delete Save States Видалити збережені стани - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16479,42 +16552,42 @@ The saves will not be recoverable. Стани не підлягають відновленню. - + %1 save states deleted. %1 збережених станів видалено. - + Save To File... Зберегти у файл... - + Empty Пусто - + Save Slot %1 (%2) Слот збереження %1 (%2) - + Confirm Disc Change Підтвердження зміну диска - + Do you want to swap discs or boot the new image (via system reset)? Хочете поміняти місцями диски або запустити новий образ (через перезавантаження системи)? - + Swap Disc Змінити диск - + Reset Перезавантажити @@ -16537,25 +16610,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Помилка створення карти пам'яті - + Could not create the memory card: {} Не вдалося створити карту пам'яті: {} - + Memory Card Read Failed Помилка зчитування карти пам'яті - + Unable to access memory card: {} @@ -16572,28 +16645,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Карта пам'яті '{}' була збережена в сховищі. - + Failed to create memory card. The error was: {} Не вдалося створити карту пам'яті. Помилкою була: {} - + Memory Cards reinserted. Карти пам'яті витягнуто і вставлено знову. - + Force ejecting all Memory Cards. Reinserting in 1 second. Примусово витягуємо всі карти пам'яті. Вставляємо знову через 1 секунду. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17385,7 +17463,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18225,12 +18303,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Не вдалося відкрити {}. Вбудовані ігрові патчі недоступні. - + %n GameDB patches are active. OSD Message @@ -18241,7 +18319,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18252,7 +18330,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18263,7 +18341,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. Ніяких чітів або патчей (на широкий екран, сумісність чи інші) не було знайдено / увімкнено. @@ -18364,47 +18442,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18537,7 +18615,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21750,42 +21828,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Не вдалося створити резервну копію старого стану збереження {}. - + Failed to save save state: {}. Не вдалося зберегти стан збереження: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Невідома гра - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Помилка - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21802,272 +21880,272 @@ Please consult the FAQs and Guides for further instructions. Для подальших інструкцій зверніться до FAQ і посібників. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. Стан збережено в слот {}. - + Failed to save save state to slot {}. Не вдалося зберегти стан збереження в слот {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. Немає збереженого стану в слоті {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Завантаження стану зі слота {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Збереження стану до слота {}... - + Frame advancing Frame advancing - + Disc removed. Диск витягнуто. - + Disc changed to '{}'. Диск змінено на '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Чіти були вимкнені через хардкорний режим досягнень. - + Fast CDVD is enabled, this may break games. Швидкий CDVD увімкнений, це може зламати ігри. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Частота циклів/пропуск не встановлені за замовчуванням, це може призвести до крашу або сповільнення ігор. - + Upscale multiplier is below native, this will break rendering. Множник апскейлу менший за рідний, це може зламати зображення. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Фільтрація текстур не виставлена на Білінійну (PS2). Це зламає зображення у деяких іграх. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Трилінійна фільтрація не виставлена автоматичним. Це може зламати зображення в деяких іграх. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Режим апаратного завантаження не виставлений до Точного, це може зламати зображення в деяких іграх. - + EE FPU Round Mode is not set to default, this may break some games. Режим раундінгу EE FPU не встановлений за замовчуванням, це може зламати деякі ігри. - + EE FPU Clamp Mode is not set to default, this may break some games. Режим клемпінгу EE FPU не встановлений за замовчуванням, це може зламати деякі ігри. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. Режим клемпінгу VU не встановлений за замовчуванням, це може зламати деякі ігри. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Ігрові фікси не увімкнені. Це може вплинути на сумісність з деякими іграми. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Патчі сумісності не увімкнені. Це може вплинути на сумісність з деякими іграми. - + Frame rate for NTSC is not default. This may break some games. Частота кадрів для NTSC не встановлена за замовчуванням. Це може зламати деякі ігри. - + Frame rate for PAL is not default. This may break some games. Частота кадрів для PAL не встановлена за замовчуванням. Це може зламати деякі ігри. - + EE Recompiler is not enabled, this will significantly reduce performance. Рекомпілятор EE не увімкнений, це значно зменшить продуктивність. - + VU0 Recompiler is not enabled, this will significantly reduce performance. Рекомпілятор VU0 не увімкнений, це значно зменшить продуктивність. - + VU1 Recompiler is not enabled, this will significantly reduce performance. Рекомпілятор VU1 не увімкнений, це значно зменшить продуктивність. - + IOP Recompiler is not enabled, this will significantly reduce performance. Рекомпілятор IOP не увімкнений, це значно зменшить продуктивність. - + EE Cache is enabled, this will significantly reduce performance. Кешування EE увімкнено, це значно зменшить продуктивність. - + EE Wait Loop Detection is not enabled, this may reduce performance. Детектор холостого циклу EE не увімкнений, це може зменшити продуктивність. - + INTC Spin Detection is not enabled, this may reduce performance. Детектор кружляння INTC не увімкнений, це може зменшити продуктивність. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Миттєвий VU1 вимкнений, це може зменшити продуктивність. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag хак не увімкнений, це може зменшити продуктивність. - + GPU Palette Conversion is enabled, this may reduce performance. Конвертація палітри на ГП увімкнено, це може зменшити продуктивність. - + Texture Preloading is not Full, this may reduce performance. Передзавантаження текстур не виставлено Повним, це може зменшити продуктивність. - + Estimate texture region is enabled, this may reduce performance. Відраховування області текстур увімкнено, це може зменшити продуктивність. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_vi-VN.ts b/pcsx2-qt/Translations/pcsx2-qt_vi-VN.ts index b80e690c67a6d..2faf6a4b8c64e 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_vi-VN.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_vi-VN.ts @@ -730,307 +730,318 @@ Leaderboard Position: {1} of {2} Use Global Setting [%1] - + Rounding Mode Rounding Mode - - - + + + Chop/Zero (Default) Chop/Zero (Default) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode Clamping Mode - - - + + + Normal (Default) Normal (Default) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler Enable Recompiler - + - - - + + + - + - - - - + + + + + Checked Checked - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Cache (Slow) Enable Cache (Slow) - - - - + + + + Unchecked Unchecked - + Interpreter only, provided for diagnostic. Interpreter only, provided for diagnostic. - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) Uses backpatching to avoid register flushing on every memory access. - + Pause On TLB Miss Pause On TLB Miss - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 Rounding Mode - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 Clamping Mode - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. Enable VU0 Recompiler (Micro Mode) - + Enables VU0 Recompiler. Enables VU0 Recompiler. - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. Enable VU1 Recompiler - + Enables VU1 Recompiler. Enables VU1 Recompiler. - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU Flag Hack - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. - + Enable Game Fixes Enable Game Fixes - + Automatically loads and applies fixes to known problematic games on game start. Automatically loads and applies fixes to known problematic games on game start. - + Enable Compatibility Patches Enable Compatibility Patches - + Automatically loads and applies compatibility patches to known problematic games. Automatically loads and applies compatibility patches to known problematic games. - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium Medium - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1253,29 +1264,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control Frame Rate Control - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. hz - + PAL Frame Rate: PAL Frame Rate: - + NTSC Frame Rate: NTSC Frame Rate: @@ -1290,7 +1301,7 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: @@ -1335,17 +1346,22 @@ Leaderboard Position: {1} of {2} Very High (Slow, Not Recommended) - + + Use Save State Selector + Use Save State Selector + + + PINE Settings PINE Settings - + Slot: Slot: - + Enable Enable @@ -1866,8 +1882,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater Automatic Updater @@ -1907,68 +1923,68 @@ Leaderboard Position: {1} of {2} Remind Me Later - - + + Updater Error Updater Error - + <h2>Changes:</h2> <h2>Changes:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> - + Savestate Warning Savestate Warning - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> - + Downloading %1... Downloading %1... - + No updates are currently available. Please try again later. No updates are currently available. Please try again later. - + Current Version: %1 (%2) Current Version: %1 (%2) - + New Version: %1 (%2) New Version: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... Loading... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2132,19 +2148,19 @@ Leaderboard Position: {1} of {2} Enable - - + + Invalid Address Invalid Address - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2234,17 +2250,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. - + Saving CDVD block dump to '{}'. Saving CDVD block dump to '{}'. - + Precaching CDVD Precaching CDVD @@ -2269,7 +2285,7 @@ Leaderboard Position: {1} of {2} Unknown - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -3226,29 +3242,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3259,40 +3280,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error Error - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3305,12 +3329,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3319,12 +3358,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3337,13 +3376,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3351,8 +3390,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3360,26 +3399,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4003,63 +4042,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove Remove - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip Skip - + Custom Address Range: Custom Address Range: - + Start: Start: - + End: End: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4130,17 +4169,32 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + Condition + + + Add Symbol File Add Symbol File @@ -4792,53 +4846,53 @@ Do you want to overwrite? PCSX2 Debugger - + Run Run - + Step Into Step Into - + F11 F11 - + Step Over Step Over - + F10 F10 - + Step Out Step Out - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4856,48 +4910,48 @@ Do you want to overwrite? Disassembly - + Copy Address Copy Address - + Copy Instruction Hex Copy Instruction Hex - + NOP Instruction(s) NOP Instruction(s) - + Run to Cursor Run to Cursor - + Follow Branch Follow Branch - + Go to in Memory View Go to in Memory View - + Add Function Add Function - - + + Rename Function Rename Function - + Remove Function Remove Function @@ -4918,23 +4972,23 @@ Do you want to overwrite? Assemble Instruction - + Function name Function name - - + + Rename Function Error Rename Function Error - + Function name cannot be nothing. Function name cannot be nothing. - + No function / symbol is currently selected. No function / symbol is currently selected. @@ -4944,72 +4998,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 NOT VALID ADDRESS @@ -5036,86 +5090,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) Game: %1 (%2) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5489,81 +5543,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5697,342 +5746,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Use Global Setting Use Global Setting - + Automatic binding failed, no devices are available. Automatic binding failed, no devices are available. - + Game title copied to clipboard. Game title copied to clipboard. - + Game serial copied to clipboard. Game serial copied to clipboard. - + Game CRC copied to clipboard. Game CRC copied to clipboard. - + Game type copied to clipboard. Game type copied to clipboard. - + Game region copied to clipboard. Game region copied to clipboard. - + Game compatibility copied to clipboard. Game compatibility copied to clipboard. - + Game path copied to clipboard. Game path copied to clipboard. - + Controller settings reset to default. Controller settings reset to default. - + No input profiles available. No input profiles available. - + Create New... Create New... - + Enter the name of the input profile you wish to create. Enter the name of the input profile you wish to create. - + Are you sure you want to restore the default settings? Any preferences will be lost. Are you sure you want to restore the default settings? Any preferences will be lost. - + Settings reset to defaults. Settings reset to defaults. - + No save present in this slot. No save present in this slot. - + No save states found. No save states found. - + Failed to delete save state. Failed to delete save state. - + Failed to copy text to clipboard. Failed to copy text to clipboard. - + This game has no achievements. This game has no achievements. - + This game has no leaderboards. This game has no leaderboards. - + Reset System Reset System - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? - + Launch a game from images scanned from your game directories. Launch a game from images scanned from your game directories. - + Launch a game by selecting a file/disc image. Launch a game by selecting a file/disc image. - + Start the console without any disc inserted. Start the console without any disc inserted. - + Start a game from a disc in your PC's DVD drive. Start a game from a disc in your PC's DVD drive. - + No Binding No Binding - + Setting %s binding %s. Setting %s binding %s. - + Push a controller button or axis now. Push a controller button or axis now. - + Timing out in %.0f seconds... Timing out in %.0f seconds... - + Unknown Unknown - + OK OK - + Select Device Select Device - + Details Details - + Options Options - + Copies the current global settings to this game. Copies the current global settings to this game. - + Clears all settings set for this game. Clears all settings set for this game. - + Behaviour Behaviour - + Prevents the screen saver from activating and the host from sleeping while emulation is running. Prevents the screen saver from activating and the host from sleeping while emulation is running. - + Shows the game you are currently playing as part of your profile on Discord. Shows the game you are currently playing as part of your profile on Discord. - + Pauses the emulator when a game is started. Pauses the emulator when a game is started. - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. - + Pauses the emulator when you open the quick menu, and unpauses when you close it. Pauses the emulator when you open the quick menu, and unpauses when you close it. - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Uses a light coloured theme instead of the default dark theme. Uses a light coloured theme instead of the default dark theme. - + Game Display Game Display - + Switches between full screen and windowed when the window is double-clicked. Switches between full screen and windowed when the window is double-clicked. - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. Hides the mouse pointer/cursor when the emulator is in fullscreen mode. - + Determines how large the on-screen messages and monitor are. Determines how large the on-screen messages and monitor are. - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. - + Shows the CPU usage based on threads in the top-right corner of the display. Shows the CPU usage based on threads in the top-right corner of the display. - + Shows the host's GPU usage in the top-right corner of the display. Shows the host's GPU usage in the top-right corner of the display. - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. Shows indicators when fast forwarding, pausing, and other abnormal states are active. - + Shows the current configuration in the bottom-right corner of the display. Shows the current configuration in the bottom-right corner of the display. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - + Resets configuration to defaults (excluding controller settings). Resets configuration to defaults (excluding controller settings). - + Changes the BIOS image used to start future sessions. Changes the BIOS image used to start future sessions. - + Automatic Automatic - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6041,1977 +6090,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS Configuration - + BIOS Selection BIOS Selection - + Options and Patches Options and Patches - + Skips the intro screen, and bypasses region checks. Skips the intro screen, and bypasses region checks. - + Speed Control Speed Control - + Normal Speed Normal Speed - + Sets the speed when running without fast forwarding. Sets the speed when running without fast forwarding. - + Fast Forward Speed Fast Forward Speed - + Sets the speed when using the fast forward hotkey. Sets the speed when using the fast forward hotkey. - + Slow Motion Speed Slow Motion Speed - + Sets the speed when using the slow motion hotkey. Sets the speed when using the slow motion hotkey. - + System Settings System Settings - + EE Cycle Rate EE Cycle Rate - + Underclocks or overclocks the emulated Emotion Engine CPU. Underclocks or overclocks the emulated Emotion Engine CPU. - + EE Cycle Skipping EE Cycle Skipping - + Enable MTVU (Multi-Threaded VU1) Enable MTVU (Multi-Threaded VU1) - + Enable Instant VU1 Enable Instant VU1 - + Enable Cheats Enable Cheats - + Enables loading cheats from pnach files. Enables loading cheats from pnach files. - + Enable Host Filesystem Enable Host Filesystem - + Enables access to files from the host: namespace in the virtual machine. Enables access to files from the host: namespace in the virtual machine. - + Enable Fast CDVD Enable Fast CDVD - + Fast disc access, less loading times. Not recommended. Fast disc access, less loading times. Not recommended. - + Frame Pacing/Latency Control Frame Pacing/Latency Control - + Maximum Frame Latency Maximum Frame Latency - + Sets the number of frames which can be queued. Sets the number of frames which can be queued. - + Optimal Frame Pacing Optimal Frame Pacing - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. - + Speeds up emulation so that the guest refresh rate matches the host. Speeds up emulation so that the guest refresh rate matches the host. - + Renderer Renderer - + Selects the API used to render the emulated GS. Selects the API used to render the emulated GS. - + Synchronizes frame presentation with host refresh. Synchronizes frame presentation with host refresh. - + Display Display - + Aspect Ratio Aspect Ratio - + Selects the aspect ratio to display the game content at. Selects the aspect ratio to display the game content at. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. Selects the aspect ratio for display when a FMV is detected as playing. - + Deinterlacing Deinterlacing - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. Selects the algorithm used to convert the PS2's interlaced output to progressive for display. - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Determines the resolution at which screenshots will be saved. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. Selects the format which will be used to save screenshots. - + Screenshot Quality Screenshot Quality - + Selects the quality at which screenshots will be compressed. Selects the quality at which screenshots will be compressed. - + Vertical Stretch Vertical Stretch - + Increases or decreases the virtual picture size vertically. Increases or decreases the virtual picture size vertically. - + Crop Crop - + Crops the image, while respecting aspect ratio. Crops the image, while respecting aspect ratio. - + %dpx %dpx - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enables loading widescreen patches from pnach files. - Enables loading widescreen patches from pnach files. - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - - - Enables loading no-interlacing patches from pnach files. - Enables loading no-interlacing patches from pnach files. - - - + Bilinear Upscaling Bilinear Upscaling - + Smooths out the image when upscaling the console to the screen. Smooths out the image when upscaling the console to the screen. - + Integer Upscaling Integer Upscaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Screen Offsets Screen Offsets - + Enables PCRTC Offsets which position the screen as the game requests. Enables PCRTC Offsets which position the screen as the game requests. - + Show Overscan Show Overscan - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + Anti-Blur Anti-Blur - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Rendering Rendering - + Internal Resolution Internal Resolution - + Multiplies the render resolution by the specified factor (upscaling). Multiplies the render resolution by the specified factor (upscaling). - + Mipmapping Mipmapping - + Bilinear Filtering Bilinear Filtering - + Selects where bilinear filtering is utilized when rendering textures. Selects where bilinear filtering is utilized when rendering textures. - + Trilinear Filtering Trilinear Filtering - + Selects where trilinear filtering is utilized when rendering textures. Selects where trilinear filtering is utilized when rendering textures. - + Anisotropic Filtering Anisotropic Filtering - + Dithering Dithering - + Selects the type of dithering applies when the game requests it. Selects the type of dithering applies when the game requests it. - + Blending Accuracy Blending Accuracy - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. Determines the level of accuracy when emulating blend modes not supported by the host graphics API. - + Texture Preloading Texture Preloading - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. - + Software Rendering Threads Software Rendering Threads - + Number of threads to use in addition to the main GS thread for rasterization. Number of threads to use in addition to the main GS thread for rasterization. - + Auto Flush (Software) Auto Flush (Software) - + Force a primitive flush when a framebuffer is also an input texture. Force a primitive flush when a framebuffer is also an input texture. - + Edge AA (AA1) Edge AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). Enables emulation of the GS's edge anti-aliasing (AA1). - + Enables emulation of the GS's texture mipmapping. Enables emulation of the GS's texture mipmapping. - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared Shared - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes Hardware Fixes - + Manual Hardware Fixes Manual Hardware Fixes - + Disables automatic hardware fixes, allowing you to set fixes manually. Disables automatic hardware fixes, allowing you to set fixes manually. - + CPU Sprite Render Size CPU Sprite Render Size - + Uses software renderer to draw texture decompression-like sprites. Uses software renderer to draw texture decompression-like sprites. - + CPU Sprite Render Level CPU Sprite Render Level - + Determines filter level for CPU sprite render. Determines filter level for CPU sprite render. - + Software CLUT Render Software CLUT Render - + Uses software renderer to draw texture CLUT points/sprites. Uses software renderer to draw texture CLUT points/sprites. - + Skip Draw Start Skip Draw Start - + Object range to skip drawing. Object range to skip drawing. - + Skip Draw End Skip Draw End - + Auto Flush (Hardware) Auto Flush (Hardware) - + CPU Framebuffer Conversion CPU Framebuffer Conversion - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features Disable Safe Features - + This option disables multiple safe features. This option disables multiple safe features. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Disable Partial Invalidation Disable Partial Invalidation - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. Removes texture cache entries when there is any intersection, rather than only the intersected areas. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Read Targets When Closing Read Targets When Closing - + Flushes all targets in the texture cache back to local memory when shutting down. Flushes all targets in the texture cache back to local memory when shutting down. - + Estimate Texture Region Estimate Texture Region - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + GPU Palette Conversion GPU Palette Conversion - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. Adjusts vertices relative to upscaling. - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite Round Sprite - + Adjusts sprite coordinates. Adjusts sprite coordinates. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Adjusts target texture offsets. Adjusts target texture offsets. - + Align Sprite Align Sprite - + Fixes issues with upscaling (vertical lines) in some games. Fixes issues with upscaling (vertical lines) in some games. - + Merge Sprite Merge Sprite - + Replaces multiple post-processing sprites with a larger single sprite. Replaces multiple post-processing sprites with a larger single sprite. - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws - + Can fix some broken effects which rely on pixel perfect precision. Can fix some broken effects which rely on pixel perfect precision. - + Texture Replacement Texture Replacement - + Load Textures Load Textures - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Asynchronous Texture Loading Asynchronous Texture Loading - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Precache Replacements Precache Replacements - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Replacements Directory Replacements Directory - + Folders Folders - + Texture Dumping Texture Dumping - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Dump FMV Textures Dump FMV Textures - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Post-Processing Post-Processing - + FXAA FXAA - + Enables FXAA post-processing shader. Enables FXAA post-processing shader. - + Contrast Adaptive Sharpening Contrast Adaptive Sharpening - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + CAS Sharpness CAS Sharpness - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Filters Filters - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. Enables brightness/contrast/saturation adjustment. - + Shade Boost Brightness Shade Boost Brightness - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Shade Boost Contrast Shade Boost Contrast - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Shade Boost Saturation Shade Boost Saturation - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + TV Shaders TV Shaders - + Advanced Advanced - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode Hardware Download Mode - + Changes synchronization behavior for GS downloads. Changes synchronization behavior for GS downloads. - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. - + Override Texture Barriers Override Texture Barriers - + Forces texture barrier functionality to the specified value. Forces texture barrier functionality to the specified value. - + GS Dump Compression GS Dump Compression - + Sets the compression algorithm for GS dumps. Sets the compression algorithm for GS dumps. - + Disable Framebuffer Fetch Disable Framebuffer Fetch - + Prevents the usage of framebuffer fetch when supported by host GPU. Prevents the usage of framebuffer fetch when supported by host GPU. - + Disable Shader Cache Disable Shader Cache - + Prevents the loading and saving of shaders/pipelines to disk. Prevents the loading and saving of shaders/pipelines to disk. - + Disable Vertex Shader Expand Disable Vertex Shader Expand - + Falls back to the CPU for expanding sprites/lines. Falls back to the CPU for expanding sprites/lines. - + Changes when SPU samples are generated relative to system emulation. Changes when SPU samples are generated relative to system emulation. - + %d ms %d ms - + Settings and Operations Settings and Operations - + Creates a new memory card file or folder. Creates a new memory card file or folder. - + Simulates a larger memory card by filtering saves only to the current game. Simulates a larger memory card by filtering saves only to the current game. - + If not set, this card will be considered unplugged. If not set, this card will be considered unplugged. - + The selected memory card image will be used for this slot. The selected memory card image will be used for this slot. - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger Trigger - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select Select - + Parent Directory Parent Directory - + Enter Value Enter Value - + About About - + Toggle Fullscreen Toggle Fullscreen - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game Select Game - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version Show PCSX2 Version - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card Create Memory Card - + Configuration Configuration - + Start Game Start Game - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back Back - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 Exit PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode Desktop Mode - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). Resets all configuration to defaults (including bindings). - + Replaces these settings with a previously saved input profile. Replaces these settings with a previously saved input profile. - + Stores the current settings to an input profile. Stores the current settings to an input profile. - + Input Sources Input Sources - + The SDL input source supports most controllers. The SDL input source supports most controllers. - + Provides vibration and LED control support over Bluetooth. Provides vibration and LED control support over Bluetooth. - + Allow SDL to use raw access to input devices. Allow SDL to use raw access to input devices. - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. The XInput source provides support for XBox 360/XBox One/XBox Series controllers. - + Multitap Multitap - + Enables an additional three controller slots. Not supported in all games. Enables an additional three controller slots. Not supported in all games. - + Attempts to map the selected port to a chosen controller. Attempts to map the selected port to a chosen controller. - + Determines how much pressure is simulated when macro is active. Determines how much pressure is simulated when macro is active. - + Determines the pressure required to activate the macro. Determines the pressure required to activate the macro. - + Toggle every %d frames Toggle every %d frames - + Clears all bindings for this USB controller. Clears all bindings for this USB controller. - + Data Save Locations Data Save Locations - + Show Advanced Settings Show Advanced Settings - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. - + Logging Logging - + System Console System Console - + Writes log messages to the system console (console window/standard output). Writes log messages to the system console (console window/standard output). - + File Logging File Logging - + Writes log messages to emulog.txt. Writes log messages to emulog.txt. - + Verbose Logging Verbose Logging - + Writes dev log messages to log sinks. Writes dev log messages to log sinks. - + Log Timestamps Log Timestamps - + Writes timestamps alongside log messages. Writes timestamps alongside log messages. - + EE Console EE Console - + Writes debug messages from the game's EE code to the console. Writes debug messages from the game's EE code to the console. - + IOP Console IOP Console - + Writes debug messages from the game's IOP code to the console. Writes debug messages from the game's IOP code to the console. - + CDVD Verbose Reads CDVD Verbose Reads - + Logs disc reads from games. Logs disc reads from games. - + Emotion Engine Emotion Engine - + Rounding Mode Rounding Mode - + Determines how the results of floating-point operations are rounded. Some games need specific settings. Determines how the results of floating-point operations are rounded. Some games need specific settings. - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode Clamping Mode - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. Determines how out-of-range floating point numbers are handled. Some games need specific settings. - + Enable EE Recompiler Enable EE Recompiler - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. - + Enable EE Cache Enable EE Cache - + Enables simulation of the EE's cache. Slow. Enables simulation of the EE's cache. Slow. - + Enable INTC Spin Detection Enable INTC Spin Detection - + Huge speedup for some games, with almost no compatibility side effects. Huge speedup for some games, with almost no compatibility side effects. - + Enable Wait Loop Detection Enable Wait Loop Detection - + Moderate speedup for some games, with no known side effects. Moderate speedup for some games, with no known side effects. - + Enable Fast Memory Access Enable Fast Memory Access - + Uses backpatching to avoid register flushing on every memory access. Uses backpatching to avoid register flushing on every memory access. - + Vector Units Vector Units - + VU0 Rounding Mode VU0 Rounding Mode - + VU0 Clamping Mode VU0 Clamping Mode - + VU1 Rounding Mode VU1 Rounding Mode - + VU1 Clamping Mode VU1 Clamping Mode - + Enable VU0 Recompiler (Micro Mode) Enable VU0 Recompiler (Micro Mode) - + New Vector Unit recompiler with much improved compatibility. Recommended. New Vector Unit recompiler with much improved compatibility. Recommended. - + Enable VU1 Recompiler Enable VU1 Recompiler - + Enable VU Flag Optimization Enable VU Flag Optimization - + Good speedup and high compatibility, may cause graphical errors. Good speedup and high compatibility, may cause graphical errors. - + I/O Processor I/O Processor - + Enable IOP Recompiler Enable IOP Recompiler - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. - + Graphics Graphics - + Use Debug Device Use Debug Device - + Settings Settings - + No cheats are available for this game. No cheats are available for this game. - + Cheat Codes Cheat Codes - + No patches are available for this game. No patches are available for this game. - + Game Patches Game Patches - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. - + Game Fixes Game Fixes - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. - + FPU Multiply Hack FPU Multiply Hack - + For Tales of Destiny. For Tales of Destiny. - + Preload TLB Hack Preload TLB Hack - + Needed for some games with complex FMV rendering. Needed for some games with complex FMV rendering. - + Skip MPEG Hack Skip MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. Skips videos/FMVs in games to avoid game hanging/freezes. - + OPH Flag Hack OPH Flag Hack - + EE Timing Hack EE Timing Hack - + Instant DMA Hack Instant DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. - + For SOCOM 2 HUD and Spy Hunter loading hang. For SOCOM 2 HUD and Spy Hunter loading hang. - + VU Add Hack VU Add Hack - + Full VU0 Synchronization Full VU0 Synchronization - + Forces tight VU0 sync on every COP2 instruction. Forces tight VU0 sync on every COP2 instruction. - + VU Overflow Hack VU Overflow Hack - + To check for possible float overflows (Superman Returns). To check for possible float overflows (Superman Returns). - + Use accurate timing for VU XGKicks (slower). Use accurate timing for VU XGKicks (slower). - + Load State Load State - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State Save State - + Load Resume State Load Resume State - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8020,2071 +8074,2076 @@ Do you want to load this save and continue? Do you want to load this save and continue? - + Region: Region: - + Compatibility: Compatibility: - + No Game Selected No Game Selected - + Search Directories Search Directories - + Adds a new directory to the game search list. Adds a new directory to the game search list. - + Scanning Subdirectories Scanning Subdirectories - + Not Scanning Subdirectories Not Scanning Subdirectories - + List Settings List Settings - + Sets which view the game list will open to. Sets which view the game list will open to. - + Determines which field the game list will be sorted by. Determines which field the game list will be sorted by. - + Reverses the game list sort order from the default (usually ascending to descending). Reverses the game list sort order from the default (usually ascending to descending). - + Cover Settings Cover Settings - + Downloads covers from a user-specified URL template. Downloads covers from a user-specified URL template. - + Operations Operations - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. Identifies any new files added to the game directories. - + Forces a full rescan of all games previously identified. Forces a full rescan of all games previously identified. - + Download Covers Download Covers - + About PCSX2 About PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. - + When enabled and logged in, PCSX2 will scan for achievements on startup. When enabled and logged in, PCSX2 will scan for achievements on startup. - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. Displays popup messages on events such as achievement unlocks and leaderboard submissions. - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. Plays sound effects for events such as achievement unlocks and leaderboard submissions. - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. - + Error Error - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control Audio Control - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization Synchronization - + Buffer Size Buffer Size - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account Account - + Logs out of RetroAchievements. Logs out of RetroAchievements. - + Logs in to RetroAchievements. Logs in to RetroAchievements. - + Current Game Current Game - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} is not a valid disc image. - + Automatic mapping completed for {}. Automatic mapping completed for {}. - + Automatic mapping failed for {}. Automatic mapping failed for {}. - + Game settings initialized with global settings for '{}'. Game settings initialized with global settings for '{}'. - + Game settings have been cleared for '{}'. Game settings have been cleared for '{}'. - + {} (Current) {} (Current) - + {} (Folder) {} (Folder) - + Failed to load '{}'. Failed to load '{}'. - + Input profile '{}' loaded. Input profile '{}' loaded. - + Input profile '{}' saved. Input profile '{}' saved. - + Failed to save input profile '{}'. Failed to save input profile '{}'. - + Port {} Controller Type Port {} Controller Type - + Select Macro {} Binds Select Macro {} Binds - + Port {} Device Port {} Device - + Port {} Subtype Port {} Subtype - + {} unlabelled patch codes will automatically activate. {} unlabelled patch codes will automatically activate. - + {} unlabelled patch codes found but not enabled. {} unlabelled patch codes found but not enabled. - + This Session: {} This Session: {} - + All Time: {} All Time: {} - + Save Slot {0} Save Slot {0} - + Saved {} Saved {} - + {} does not exist. {} does not exist. - + {} deleted. {} deleted. - + Failed to delete {}. Failed to delete {}. - + File: {} File: {} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} Time Played: {} - + Last Played: {} Last Played: {} - + Size: {:.2f} MB Size: {:.2f} MB - + Left: Left: - + Top: Top: - + Right: Right: - + Bottom: Bottom: - + Summary Summary - + Interface Settings Interface Settings - + BIOS Settings BIOS Settings - + Emulation Settings Emulation Settings - + Graphics Settings Graphics Settings - + Audio Settings Audio Settings - + Memory Card Settings Memory Card Settings - + Controller Settings Controller Settings - + Hotkey Settings Hotkey Settings - + Achievements Settings Achievements Settings - + Folder Settings Folder Settings - + Advanced Settings Advanced Settings - + Patches Patches - + Cheats Cheats - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% Speed - + 60% Speed 60% Speed - + 75% Speed 75% Speed - + 100% Speed (Default) 100% Speed (Default) - + 130% Speed 130% Speed - + 180% Speed 180% Speed - + 300% Speed 300% Speed - + Normal (Default) Normal (Default) - + Mild Underclock Mild Underclock - + Moderate Underclock Moderate Underclock - + Maximum Underclock Maximum Underclock - + Disabled Disabled - + 0 Frames (Hard Sync) 0 Frames (Hard Sync) - + 1 Frame 1 Frame - + 2 Frames 2 Frames - + 3 Frames 3 Frames - + None None - + Extra + Preserve Sign Extra + Preserve Sign - + Full Full - + Extra Extra - + Automatic (Default) Automatic (Default) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software Software - + Null Null - + Off Off - + Bilinear (Smooth) Bilinear (Smooth) - + Bilinear (Sharp) Bilinear (Sharp) - + Weave (Top Field First, Sawtooth) Weave (Top Field First, Sawtooth) - + Weave (Bottom Field First, Sawtooth) Weave (Bottom Field First, Sawtooth) - + Bob (Top Field First) Bob (Top Field First) - + Bob (Bottom Field First) Bob (Bottom Field First) - + Blend (Top Field First, Half FPS) Blend (Top Field First, Half FPS) - + Blend (Bottom Field First, Half FPS) Blend (Bottom Field First, Half FPS) - + Adaptive (Top Field First) Adaptive (Top Field First) - + Adaptive (Bottom Field First) Adaptive (Bottom Field First) - + Native (PS2) Native (PS2) - + Nearest Nearest - + Bilinear (Forced) Bilinear (Forced) - + Bilinear (PS2) Bilinear (PS2) - + Bilinear (Forced excluding sprite) Bilinear (Forced excluding sprite) - + Off (None) Off (None) - + Trilinear (PS2) Trilinear (PS2) - + Trilinear (Forced) Trilinear (Forced) - + Scaled Scaled - + Unscaled (Default) Unscaled (Default) - + Minimum Minimum - + Basic (Recommended) Basic (Recommended) - + Medium Medium - + High High - + Full (Slow) Full (Slow) - + Maximum (Very Slow) Maximum (Very Slow) - + Off (Default) Off (Default) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial Partial - + Full (Hash Cache) Full (Hash Cache) - + Force Disabled Force Disabled - + Force Enabled Force Enabled - + Accurate (Recommended) Accurate (Recommended) - + Disable Readbacks (Synchronize GS Thread) Disable Readbacks (Synchronize GS Thread) - + Unsynchronized (Non-Deterministic) Unsynchronized (Non-Deterministic) - + Disabled (Ignore Transfers) Disabled (Ignore Transfers) - + Screen Resolution Screen Resolution - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode Spectator Mode - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (Disabled) - + 1 (64 Max Width) 1 (64 Max Width) - + 2 (128 Max Width) 2 (128 Max Width) - + 3 (192 Max Width) 3 (192 Max Width) - + 4 (256 Max Width) 4 (256 Max Width) - + 5 (320 Max Width) 5 (320 Max Width) - + 6 (384 Max Width) 6 (384 Max Width) - + 7 (448 Max Width) 7 (448 Max Width) - + 8 (512 Max Width) 8 (512 Max Width) - + 9 (576 Max Width) 9 (576 Max Width) - + 10 (640 Max Width) 10 (640 Max Width) - + Sprites Only Sprites Only - + Sprites/Triangles Sprites/Triangles - + Blended Sprites/Triangles Blended Sprites/Triangles - + 1 (Normal) 1 (Normal) - + 2 (Aggressive) 2 (Aggressive) - + Inside Target Inside Target - + Merge Targets Merge Targets - + Normal (Vertex) Normal (Vertex) - + Special (Texture) Special (Texture) - + Special (Texture - Aggressive) Special (Texture - Aggressive) - + Align To Native Align To Native - + Half Half - + Force Bilinear Force Bilinear - + Force Nearest Force Nearest - + Disabled (Default) Disabled (Default) - + Enabled (Sprites Only) Enabled (Sprites Only) - + Enabled (All Primitives) Enabled (All Primitives) - + None (Default) None (Default) - + Sharpen Only (Internal Resolution) Sharpen Only (Internal Resolution) - + Sharpen and Resize (Display Resolution) Sharpen and Resize (Display Resolution) - + Scanline Filter Scanline Filter - + Diagonal Filter Diagonal Filter - + Triangular Filter Triangular Filter - + Wave Filter Wave Filter - + Lottes CRT Lottes CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed Uncompressed - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) Chop/Zero (Default) - + Game Grid Game Grid - + Game List Game List - + Game List Settings Game List Settings - + Type Type - + Serial Serial - + Title Title - + File Title File Title - + CRC CRC - + Time Played Time Played - + Last Played Last Played - + Size Size - + Select Disc Image Select Disc Image - + Select Disc Drive Select Disc Drive - + Start File Start File - + Start BIOS Start BIOS - + Start Disc Start Disc - + Exit Exit - + Set Input Binding Set Input Binding - + Region Region - + Compatibility Rating Compatibility Rating - + Path Path - + Disc Path Disc Path - + Select Disc Path Select Disc Path - + Copy Settings Copy Settings - + Clear Settings Clear Settings - + Inhibit Screensaver Inhibit Screensaver - + Enable Discord Presence Enable Discord Presence - + Pause On Start Pause On Start - + Pause On Focus Loss Pause On Focus Loss - + Pause On Menu Pause On Menu - + Confirm Shutdown Confirm Shutdown - + Save State On Shutdown Save State On Shutdown - + Use Light Theme Use Light Theme - + Start Fullscreen Start Fullscreen - + Double-Click Toggles Fullscreen Double-Click Toggles Fullscreen - + Hide Cursor In Fullscreen Hide Cursor In Fullscreen - + OSD Scale OSD Scale - + Show Messages Show Messages - + Show Speed Show Speed - + Show FPS Show FPS - + Show CPU Usage Show CPU Usage - + Show GPU Usage Show GPU Usage - + Show Resolution Show Resolution - + Show GS Statistics Show GS Statistics - + Show Status Indicators Show Status Indicators - + Show Settings Show Settings - + Show Inputs Show Inputs - + Warn About Unsafe Settings Warn About Unsafe Settings - + Reset Settings Reset Settings - + Change Search Directory Change Search Directory - + Fast Boot Fast Boot - + Output Volume Output Volume - + Memory Card Directory Memory Card Directory - + Folder Memory Card Filter Folder Memory Card Filter - + Create Create - + Cancel Cancel - + Load Profile Load Profile - + Save Profile Save Profile - + Enable SDL Input Source Enable SDL Input Source - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense Enhanced Mode - + SDL Raw Input SDL Raw Input - + Enable XInput Input Source Enable XInput Input Source - + Enable Console Port 1 Multitap Enable Console Port 1 Multitap - + Enable Console Port 2 Multitap Enable Console Port 2 Multitap - + Controller Port {}{} Controller Port {}{} - + Controller Port {} Controller Port {} - + Controller Type Controller Type - + Automatic Mapping Automatic Mapping - + Controller Port {}{} Macros Controller Port {}{} Macros - + Controller Port {} Macros Controller Port {} Macros - + Macro Button {} Macro Button {} - + Buttons Buttons - + Frequency Frequency - + Pressure Pressure - + Controller Port {}{} Settings Controller Port {}{} Settings - + Controller Port {} Settings Controller Port {} Settings - + USB Port {} USB Port {} - + Device Type Device Type - + Device Subtype Device Subtype - + {} Bindings {} Bindings - + Clear Bindings Clear Bindings - + {} Settings {} Settings - + Cache Directory Cache Directory - + Covers Directory Covers Directory - + Snapshots Directory Snapshots Directory - + Save States Directory Save States Directory - + Game Settings Directory Game Settings Directory - + Input Profile Directory Input Profile Directory - + Cheats Directory Cheats Directory - + Patches Directory Patches Directory - + Texture Replacements Directory Texture Replacements Directory - + Video Dumping Directory Video Dumping Directory - + Resume Game Resume Game - + Toggle Frame Limit Toggle Frame Limit - + Game Properties Game Properties - + Achievements Achievements - + Save Screenshot Save Screenshot - + Switch To Software Renderer Switch To Software Renderer - + Switch To Hardware Renderer Switch To Hardware Renderer - + Change Disc Change Disc - + Close Game Close Game - + Exit Without Saving Exit Without Saving - + Back To Pause Menu Back To Pause Menu - + Exit And Save State Exit And Save State - + Leaderboards Leaderboards - + Delete Save Delete Save - + Close Menu Close Menu - + Delete State Delete State - + Default Boot Default Boot - + Reset Play Time Reset Play Time - + Add Search Directory Add Search Directory - + Open in File Browser Open in File Browser - + Disable Subdirectory Scanning Disable Subdirectory Scanning - + Enable Subdirectory Scanning Enable Subdirectory Scanning - + Remove From List Remove From List - + Default View Default View - + Sort By Sort By - + Sort Reversed Sort Reversed - + Scan For New Games Scan For New Games - + Rescan All Games Rescan All Games - + Website Website - + Support Forums Support Forums - + GitHub Repository GitHub Repository - + License License - + Close Close - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration is being used instead of the built-in achievements implementation. - + Enable Achievements Enable Achievements - + Hardcore Mode Hardcore Mode - + Sound Effects Sound Effects - + Test Unofficial Achievements Test Unofficial Achievements - + Username: {} Username: {} - + Login token generated on {} Login token generated on {} - + Logout Logout - + Not Logged In Not Logged In - + Login Login - + Game: {0} ({1}) Game: {0} ({1}) - + Rich presence inactive or unsupported. Rich presence inactive or unsupported. - + Game not loaded or no RetroAchievements available. Game not loaded or no RetroAchievements available. - + Card Enabled Card Enabled - + Card Name Card Name - + Eject Card Eject Card @@ -11070,32 +11129,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches Reload Patches - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. There are no patches available for this game. @@ -11571,11 +11640,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) Off (Default) @@ -11585,10 +11654,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) Automatic (Default) @@ -11655,7 +11724,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. Bilinear (Smooth) @@ -11721,29 +11790,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets Screen Offsets - + Show Overscan Show Overscan - - - Enable Widescreen Patches - Enable Widescreen Patches - - - - Enable No-Interlacing Patches - Enable No-Interlacing Patches - - + Anti-Blur Anti-Blur @@ -11754,7 +11813,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset Disable Interlace Offset @@ -11764,18 +11823,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Screenshot Size: - + Screen Resolution Screen Resolution - + Internal Resolution Internal Resolution - + PNG PNG @@ -11827,7 +11886,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) Bilinear (PS2) @@ -11874,7 +11933,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) Unscaled (Default) @@ -11890,7 +11949,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) Basic (Recommended) @@ -11926,7 +11985,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) Full (Hash Cache) @@ -11942,31 +12001,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU Palette Conversion - + Manual Hardware Renderer Fixes Manual Hardware Renderer Fixes - + Spin GPU During Readbacks Spin GPU During Readbacks - + Spin CPU During Readbacks Spin CPU During Readbacks @@ -11978,15 +12037,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmapping - - + + Auto Flush Auto Flush @@ -12014,8 +12073,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (Disabled) @@ -12072,18 +12131,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features Disable Safe Features - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT @@ -12182,13 +12241,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite Merge Sprite - + Align Sprite Align Sprite @@ -12202,16 +12261,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12284,25 +12333,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation Disable Partial Source Invalidation - + Read Targets When Closing Read Targets When Closing - + Estimate Texture Region Estimate Texture Region - + Disable Render Fixes Disable Render Fixes @@ -12313,7 +12362,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws Unscaled Palette Texture Draws @@ -12372,25 +12421,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures Dump Textures - + Dump Mipmaps Dump Mipmaps - + Dump FMV Textures Dump FMV Textures - + Load Textures Load Textures @@ -12400,6 +12449,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12417,13 +12476,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures Precache Textures @@ -12446,8 +12505,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) None (Default) @@ -12468,7 +12527,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12520,7 +12579,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12535,7 +12594,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Contrast: - + Saturation Saturation @@ -12556,50 +12615,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators Show Indicators - + Show Resolution Show Resolution - + Show Inputs Show Inputs - + Show GPU Usage Show GPU Usage - + Show Settings Show Settings - + Show FPS Show FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12615,13 +12674,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics Show Statistics - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12632,13 +12691,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage Show CPU Usage - + Warn About Unsafe Settings Warn About Unsafe Settings @@ -12664,7 +12723,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12675,43 +12734,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12820,19 +12879,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames Skip Presenting Duplicate Frames - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12885,7 +12944,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages Show Speed Percentages @@ -12895,1214 +12954,1214 @@ Swap chain: see Microsoft's Terminology Portal. Disable Framebuffer Fetch - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. Software - + Null Null here means that this is a graphics backend that will show nothing. Null - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] Use Global Setting [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked Unchecked - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. Automatically loads and applies widescreen patches on game start. Can cause issues. - + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. Disables interlacing offset which may reduce blurring in some situations. - + Bilinear Filtering Bilinear Filtering - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. Enables the option to show the overscan area on games which draw more than the safe area of the screen. - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render Software CLUT Render - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. This option disables game-specific render fixes. - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. - + Framebuffer Conversion Framebuffer Conversion - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. - - + + Disabled Disabled - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. Adjusts brightness. 50 is normal. - + Adjusts contrast. 50 is normal. Adjusts contrast. 50 is normal. - + Adjusts saturation. 50 is normal. Adjusts saturation. 50 is normal. - + Scales the size of the onscreen OSD from 50% to 500%. Scales the size of the onscreen OSD from 50% to 500%. - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. - + Displays various settings and the current values of those settings, useful for debugging. Displays various settings and the current values of those settings, useful for debugging. - + Displays a graph showing the average frametimes. Displays a graph showing the average frametimes. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen Allow Exclusive Fullscreen - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked Checked - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. - + Integer Scaling Integer Scaling - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. - + Aspect Ratio Aspect Ratio - + Auto Standard (4:3/3:2 Progressive) Auto Standard (4:3/3:2 Progressive) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. - + Deinterlacing Deinterlacing - + Screenshot Size Screenshot Size - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. - + Screenshot Format Screenshot Format - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. - + Screenshot Quality Screenshot Quality - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. - - + + 100% 100% - + Vertical Stretch Vertical Stretch - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. - + Fullscreen Mode Fullscreen Mode - - - + + + Borderless Fullscreen Borderless Fullscreen - + Chooses the fullscreen resolution and frequency. Chooses the fullscreen resolution and frequency. - + Left Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. Changes the number of pixels cropped from the left side of the display. - + Top Top - + Changes the number of pixels cropped from the top of the display. Changes the number of pixels cropped from the top of the display. - + Right Right - + Changes the number of pixels cropped from the right side of the display. Changes the number of pixels cropped from the right side of the display. - + Bottom Bottom - + Changes the number of pixels cropped from the bottom of the display. Changes the number of pixels cropped from the bottom of the display. - - + + Native (PS2) (Default) Native (PS2) (Default) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. - + Texture Filtering Texture Filtering - + Trilinear Filtering Trilinear Filtering - + Anisotropic Filtering Anisotropic Filtering - + Reduces texture aliasing at extreme viewing angles. Reduces texture aliasing at extreme viewing angles. - + Dithering Dithering - + Blending Accuracy Blending Accuracy - + Texture Preloading Texture Preloading - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. - + 2 threads 2 threads - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. - + Enables mipmapping, which some games require to render correctly. Enables mipmapping, which some games require to render correctly. - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start Skipdraw Range Start - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. - + Skipdraw Range End Skipdraw Range End - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset Half Pixel Offset - + Might fix some misaligned fog, bloom, or blend effect. Might fix some misaligned fog, bloom, or blend effect. - + Round Sprite Round Sprite - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. - + Texture Offsets X Texture Offsets X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. - + Texture Offsets Y Texture Offsets Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. - + Bilinear Upscale Bilinear Upscale - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx Contrast Adaptive Sharpening - + Sharpness Sharpness - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. - + Brightness Brightness - - - + + + 50 50 - + Contrast Contrast - + TV Shader TV Shader - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + OSD Scale OSD Scale - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. - + Shows the internal frame rate of the game in the top-right corner of the display. Shows the internal frame rate of the game in the top-right corner of the display. - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. Shows the current emulation speed of the system in the top-right corner of the display as a percentage. - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + Shows host's CPU utilization. Shows host's CPU utilization. - + Shows host's GPU utilization. Shows host's GPU utilization. - + Shows counters for internal graphical utilization, useful for debugging. Shows counters for internal graphical utilization, useful for debugging. - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. Displays warnings when settings are enabled which may break games. - - + + Leave It Blank Leave It Blank - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS Dump Compression - + Change the compression algorithm used when creating a GS dump. Change the compression algorithm used when creating a GS dump. - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS Download Mode - + Accurate Accurate - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. Default - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14110,7 +14169,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format Default @@ -14327,254 +14386,254 @@ Swap chain: see Microsoft's Terminology Portal. No save state found in slot {}. - - - + + - - - - + + + + - + + System System - + Open Pause Menu Open Pause Menu - + Open Achievements List Open Achievements List - + Open Leaderboards List Open Leaderboards List - + Toggle Pause Toggle Pause - + Toggle Fullscreen Toggle Fullscreen - + Toggle Frame Limit Toggle Frame Limit - + Toggle Turbo / Fast Forward Toggle Turbo / Fast Forward - + Toggle Slow Motion Toggle Slow Motion - + Turbo / Fast Forward (Hold) Turbo / Fast Forward (Hold) - + Increase Target Speed Increase Target Speed - + Decrease Target Speed Decrease Target Speed - + Increase Volume Increase Volume - + Decrease Volume Decrease Volume - + Toggle Mute Toggle Mute - + Frame Advance Frame Advance - + Shut Down Virtual Machine Shut Down Virtual Machine - + Reset Virtual Machine Reset Virtual Machine - + Toggle Input Recording Mode Toggle Input Recording Mode - - + + Save States Save States - + Select Previous Save Slot Select Previous Save Slot - + Select Next Save Slot Select Next Save Slot - + Save State To Selected Slot Save State To Selected Slot - + Load State From Selected Slot Load State From Selected Slot - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 Save State To Slot 1 - + Load State From Slot 1 Load State From Slot 1 - + Save State To Slot 2 Save State To Slot 2 - + Load State From Slot 2 Load State From Slot 2 - + Save State To Slot 3 Save State To Slot 3 - + Load State From Slot 3 Load State From Slot 3 - + Save State To Slot 4 Save State To Slot 4 - + Load State From Slot 4 Load State From Slot 4 - + Save State To Slot 5 Save State To Slot 5 - + Load State From Slot 5 Load State From Slot 5 - + Save State To Slot 6 Save State To Slot 6 - + Load State From Slot 6 Load State From Slot 6 - + Save State To Slot 7 Save State To Slot 7 - + Load State From Slot 7 Load State From Slot 7 - + Save State To Slot 8 Save State To Slot 8 - + Load State From Slot 8 Load State From Slot 8 - + Save State To Slot 9 Save State To Slot 9 - + Load State From Slot 9 Load State From Slot 9 - + Save State To Slot 10 Save State To Slot 10 - + Load State From Slot 10 Load State From Slot 10 @@ -15451,594 +15510,608 @@ Right click to clear binding &System - - - + + Change Disc Change Disc - - + Load State Load State - - Save State - Save State - - - + S&ettings S&ettings - + &Help &Help - + &Debug &Debug - - Switch Renderer - Switch Renderer - - - + &View &View - + &Window Size &Window Size - + &Tools &Tools - - Input Recording - Input Recording - - - + Toolbar Toolbar - + Start &File... Start &File... - - Start &Disc... - Start &Disc... - - - + Start &BIOS Start &BIOS - + &Scan For New Games &Scan For New Games - + &Rescan All Games &Rescan All Games - + Shut &Down Shut &Down - + Shut Down &Without Saving Shut Down &Without Saving - + &Reset &Reset - + &Pause &Pause - + E&xit E&xit - + &BIOS &BIOS - - Emulation - Emulation - - - + &Controllers &Controllers - + &Hotkeys &Hotkeys - + &Graphics &Graphics - - A&chievements - A&chievements - - - + &Post-Processing Settings... &Post-Processing Settings... - - Fullscreen - Fullscreen - - - + Resolution Scale Resolution Scale - + &GitHub Repository... &GitHub Repository... - + Support &Forums... Support &Forums... - + &Discord Server... &Discord Server... - + Check for &Updates... Check for &Updates... - + About &Qt... About &Qt... - + &About PCSX2... &About PCSX2... - + Fullscreen In Toolbar Fullscreen - + Change Disc... In Toolbar Change Disc... - + &Audio &Audio - - Game List - Game List - - - - Interface - Interface + + Global State + Global State - - Add Game Directory... - Add Game Directory... + + &Screenshot + &Screenshot - - &Settings - &Settings + + Start File + In Toolbar + Start File - - From File... - From File... + + &Change Disc + &Change Disc - - From Device... - From Device... + + &Load State + &Load State - - From Game List... - From Game List... + + Sa&ve State + Sa&ve State - - Remove Disc - Remove Disc + + Setti&ngs + Setti&ngs - - Global State - Global State + + &Switch Renderer + &Switch Renderer - - &Screenshot - &Screenshot + + &Input Recording + &Input Recording - - Start File - In Toolbar - Start File + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar Start Disc - + Start BIOS In Toolbar Start BIOS - + Shut Down In Toolbar Shut Down - + Reset In Toolbar Reset - + Pause In Toolbar Pause - + Load State In Toolbar Load State - + Save State In Toolbar Save State - + + &Emulation + &Emulation + + + Controllers In Toolbar Controllers - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar Settings - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar Screenshot - + &Memory Cards &Memory Cards - + &Network && HDD &Network && HDD - + &Folders &Folders - + &Toolbar &Toolbar - - Lock Toolbar - Lock Toolbar + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - &Status Bar + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - Verbose Status + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - Game &List + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - System &Display + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - Game &Properties + + E&nable System Console + E&nable System Console - - Game &Grid - Game &Grid + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - Show Titles (Grid View) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - Zoom &In (Grid View) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - Zoom &Out (Grid View) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - Refresh &Covers (Grid View) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - Open Memory Card Directory... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - Open Data Directory... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - Toggle Software Rendering + + &Controller Logs + &Controller Logs - - Open Debugger - Open Debugger + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - Reload Cheats/Patches + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - Enable System Console + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - Enable Verbose Logging + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - Enable EE Console Logging + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - Enable IOP Console Logging + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - Save Single Frame GS Dump + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - New + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - Play + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - Stop + + &Status Bar + &Status Bar - - Settings - This section refers to the Input Recording submenu. - Settings + + + Game &List + Game &List - - - Input Recording Logs - Input Recording Logs + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - Controller Logs + + &Verbose Status + &Verbose Status - - Enable &File Logging - Enable &File Logging + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + System &Display + + + + Game &Properties + Game &Properties - - Enable CDVD Read Logging - Enable CDVD Read Logging + + Game &Grid + Game &Grid - - Save CDVD Block Dump - Save CDVD Block Dump + + Zoom &In (Grid View) + Zoom &In (Grid View) - - Enable Log Timestamps - Enable Log Timestamps + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + Zoom &Out (Grid View) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + Refresh &Covers (Grid View) + + + + Open Memory Card Directory... + Open Memory Card Directory... + + + + Input Recording Logs + Input Recording Logs + + + + Enable &File Logging + Enable &File Logging + + + Start Big Picture Mode Start Big Picture Mode - - + + Big Picture In Toolbar Big Picture - - Cover Downloader... - Cover Downloader... - - - - + Show Advanced Settings Show Advanced Settings - - Recording Viewer - Recording Viewer - - - - + Video Capture Video Capture - - Edit Cheats... - Edit Cheats... - - - - Edit Patches... - Edit Patches... - - - + Internal Resolution Internal Resolution - + %1x Scale %1x Scale - + Select location to save block dump: Select location to save block dump: - + Do not show again Do not show again - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16051,297 +16124,297 @@ The PCSX2 team will not provide any support for configurations that modify these Are you sure you want to continue? - + %1 Files (*.%2) %1 Files (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown Confirm Shutdown - + Are you sure you want to shut down the virtual machine? Are you sure you want to shut down the virtual machine? - + Save State For Resume Save State For Resume - - - - - - + + + + + + Error Error - + You must select a disc to change discs. You must select a disc to change discs. - + Properties... Properties... - + Set Cover Image... Set Cover Image... - + Exclude From List Exclude From List - + Reset Play Time Reset Play Time - + Check Wiki Page Check Wiki Page - + Default Boot Default Boot - + Fast Boot Fast Boot - + Full Boot Full Boot - + Boot and Debug Boot and Debug - + Add Search Directory... Add Search Directory... - + Start File Start File - + Start Disc Start Disc - + Select Disc Image Select Disc Image - + Updater Error Updater Error - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. Automatic updating is not supported on the current platform. - + Confirm File Creation Confirm File Creation - + The pnach file '%1' does not currently exist. Do you want to create it? The pnach file '%1' does not currently exist. Do you want to create it? - + Failed to create '%1'. Failed to create '%1'. - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) Input Recording Files (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused Paused - + Load State Failed Load State Failed - + Cannot load a save state without a running VM. Cannot load a save state without a running VM. - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? - + Cannot change from game to GS dump without shutting down first. Cannot change from game to GS dump without shutting down first. - + Failed to get window info from widget Failed to get window info from widget - + Stop Big Picture Mode Stop Big Picture Mode - + Exit Big Picture In Toolbar Exit Big Picture - + Game Properties Game Properties - + Game properties is unavailable for the current game. Game properties is unavailable for the current game. - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. - + Select disc drive: Select disc drive: - + This save state does not exist. This save state does not exist. - + Select Cover Image Select Cover Image - + Cover Already Exists Cover Already Exists - + A cover image for this game already exists, do you wish to replace it? A cover image for this game already exists, do you wish to replace it? - + + - Copy Error Copy Error - + Failed to remove existing cover '%1' Failed to remove existing cover '%1' - + Failed to copy '%1' to '%2' Failed to copy '%1' to '%2' - + Failed to remove '%1' Failed to remove '%1' - - + + Confirm Reset Confirm Reset - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. You must select a different file to the current cover image. - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16350,12 +16423,12 @@ This action cannot be undone. This action cannot be undone. - + Load Resume State Load Resume State - + A resume save state was found for this game, saved at: %1. @@ -16368,89 +16441,89 @@ Do you want to load this state, or start from a fresh boot? Do you want to load this state, or start from a fresh boot? - + Fresh Boot Fresh Boot - + Delete And Boot Delete And Boot - + Failed to delete save state file '%1'. Failed to delete save state file '%1'. - + Load State File... Load State File... - + Load From File... Load From File... - - + + Select Save State File Select Save State File - + Save States (*.p2s) Save States (*.p2s) - + Delete Save States... Delete Save States... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State Undo Load State - + Resume (%2) Resume (%2) - + Load Slot %1 (%2) Load Slot %1 (%2) - - + + Delete Save States Delete Save States - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16459,42 +16532,42 @@ The saves will not be recoverable. The saves will not be recoverable. - + %1 save states deleted. %1 save states deleted. - + Save To File... Save To File... - + Empty Empty - + Save Slot %1 (%2) Save Slot %1 (%2) - + Confirm Disc Change Confirm Disc Change - + Do you want to swap discs or boot the new image (via system reset)? Do you want to swap discs or boot the new image (via system reset)? - + Swap Disc Swap Disc - + Reset Reset @@ -16517,25 +16590,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16552,28 +16625,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. Memory Card '{}' was saved to storage. - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. Memory Cards reinserted. - + Force ejecting all Memory Cards. Reinserting in 1 second. Force ejecting all Memory Cards. Reinserting in 1 second. + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17365,7 +17443,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18205,12 +18283,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. Failed to open {}. Built-in game patches are not available. - + %n GameDB patches are active. OSD Message @@ -18218,7 +18296,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18226,7 +18304,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18234,7 +18312,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. No cheats or patches (widescreen, compatibility or others) are found / enabled. @@ -18335,47 +18413,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error Error - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel Cancel @@ -18508,7 +18586,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21721,42 +21799,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. Failed to back up old save state {}. - + Failed to save save state: {}. Failed to save save state: {}. - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game Unknown Game - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error Error - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21773,272 +21851,272 @@ Once dumped, this BIOS image should be placed in the bios folder within the data Please consult the FAQs and Guides for further instructions. - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. State saved to slot {}. - + Failed to save save state to slot {}. Failed to save save state to slot {}. - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. There is no save state in slot {}. - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... Loading state from slot {}... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... Saving state to slot {}... - + Frame advancing Frame advancing - + Disc removed. Disc removed. - + Disc changed to '{}'. Disc changed to '{}'. - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. Cheats have been disabled due to achievements hardcore mode. - + Fast CDVD is enabled, this may break games. Fast CDVD is enabled, this may break games. - + Cycle rate/skip is not at default, this may crash or make games run too slow. Cycle rate/skip is not at default, this may crash or make games run too slow. - + Upscale multiplier is below native, this will break rendering. Upscale multiplier is below native, this will break rendering. - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. Trilinear filtering is not set to automatic. This may break rendering in some games. - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. Hardware Download Mode is not set to Accurate, this may break rendering in some games. - + EE FPU Round Mode is not set to default, this may break some games. EE FPU Round Mode is not set to default, this may break some games. - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU Clamp Mode is not set to default, this may break some games. - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU Clamp Mode is not set to default, this may break some games. - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. Game Fixes are not enabled. Compatibility with some games may be affected. - + Compatibility Patches are not enabled. Compatibility with some games may be affected. Compatibility Patches are not enabled. Compatibility with some games may be affected. - + Frame rate for NTSC is not default. This may break some games. Frame rate for NTSC is not default. This may break some games. - + Frame rate for PAL is not default. This may break some games. Frame rate for PAL is not default. This may break some games. - + EE Recompiler is not enabled, this will significantly reduce performance. EE Recompiler is not enabled, this will significantly reduce performance. - + VU0 Recompiler is not enabled, this will significantly reduce performance. VU0 Recompiler is not enabled, this will significantly reduce performance. - + VU1 Recompiler is not enabled, this will significantly reduce performance. VU1 Recompiler is not enabled, this will significantly reduce performance. - + IOP Recompiler is not enabled, this will significantly reduce performance. IOP Recompiler is not enabled, this will significantly reduce performance. - + EE Cache is enabled, this will significantly reduce performance. EE Cache is enabled, this will significantly reduce performance. - + EE Wait Loop Detection is not enabled, this may reduce performance. EE Wait Loop Detection is not enabled, this may reduce performance. - + INTC Spin Detection is not enabled, this may reduce performance. INTC Spin Detection is not enabled, this may reduce performance. - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. Instant VU1 is disabled, this may reduce performance. - + mVU Flag Hack is not enabled, this may reduce performance. mVU Flag Hack is not enabled, this may reduce performance. - + GPU Palette Conversion is enabled, this may reduce performance. GPU Palette Conversion is enabled, this may reduce performance. - + Texture Preloading is not Full, this may reduce performance. Texture Preloading is not Full, this may reduce performance. - + Estimate texture region is enabled, this may reduce performance. Estimate texture region is enabled, this may reduce performance. - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/Translations/pcsx2-qt_zh-CN.ts b/pcsx2-qt/Translations/pcsx2-qt_zh-CN.ts index e45644cbab382..86fd4a6afe2ef 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_zh-CN.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_zh-CN.ts @@ -727,307 +727,318 @@ Leaderboard Position: {1} of {2} 使用全局设置 [%1] - + Rounding Mode 舍入模式 - - - + + + Chop/Zero (Default) 舍去/零(默认) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 更改 PCSX2 在模拟情感引擎的浮点单元 (EE FPU) 时处理舍入的方式。由于 PS2 中的各种浮点单元不符合国际标准,一些游戏可能需要不同的模式才能正确地进行数学运算。默认值适用于绝大多数游戏;<b>在游戏没有明显问题时修改此设置可能会导致不稳定。</b> - + Division Rounding Mode 除法舍入模式 - + Nearest (Default) 最接近 (默认) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 确定浮点被除时的结果如何进行四舍五入。有些游戏需要特定设置; <b>当游戏没有明显问题时修改此设置可能会导致不稳定。</b> - + Clamping Mode 压制模式 - - - + + + Normal (Default) 普通 (默认) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 更改 PCSX2 如何将浮点数处理保持在标准 x86 范围内的方式。默认值适用于绝大多数游戏;<b>在游戏没有明显问题时修改此设置可能会导致不稳定。</b> - - + + Enable Recompiler 启用重编译器 - + - - - + + + - + - - - - + + + + + Checked 选中 - + + Use Save State Selector + 使用即时存档选择器 + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + 当切换即时存档位置时显示一个即时存档选择器 UI 而不是显示一个提示气泡。 + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. 将64位MIPS-IV机器码实时转译为x86机器码。 - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). 等待循环检测 - + Moderate speedup for some games, with no known side effects. 对某些游戏有轻微的加速,没有已知的副作用。 - + Enable Cache (Slow) 启用缓存 (慢) - - - - + + + + Unchecked 不勾选 - + Interpreter only, provided for diagnostic. 仅解释器,用于诊断。 - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC 旋转检测 - + Huge speedup for some games, with almost no compatibility side effects. 对某些游戏有巨大的加速作用,对兼容性几乎没有副作用。 - + Enable Fast Memory Access 开启快速内存访问 - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) 使用后补补丁以避免在每次访问内存时刷新寄存器。 - + Pause On TLB Miss 在 TLB 缺失时暂停 - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. 当 TLB 缺失时暂停虚拟机,而不是忽略并继续。请注意虚拟机将在代码块结束后暂停,而不是在导致异常的指令上暂停。参考控制台查看发生无效访问的地址。 - + Enable 128MB RAM (Dev Console) 开启 128MB RAM (开发机) - + Exposes an additional 96MB of memory to the virtual machine. 向虚拟机开放额外的 96MB 内存。 - + VU0 Rounding Mode VU0 舍入模式 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> 更改 PCSX2 在模拟情感引擎的向量单元 0(EE VU0)时处理舍入的方式。默认值适用于绝大多数游戏;<b>在游戏没有明显问题时修改此设置将导致稳定性问题和/或崩溃。</b> - + VU1 Rounding Mode VU1 舍入模式 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> 更改 PCSX2 在模拟情感引擎的向量单元 1 (EE Vu1) 时处理舍入的方式。默认值适用于绝大多数游戏;<b>在游戏没有明显问题时修改此设置将导致稳定性问题和/或崩溃。</b> - + VU0 Clamping Mode VU0 压制模式 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 更改 PCSX2 在情感引擎的向量单元 0 (EE VU0)中将浮点数处理保持在标准 x86 范围内的方式。默认值适用于绝大多数游戏;<b>在游戏没有明显问题时修改此设置可能会导致不稳定。</b> - + VU1 Clamping Mode VU1 压制模式 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> 更改 PCSX2 在情感引擎的向量单元 1 (EE Vu1) 中将浮点数处理保持在标准 x86 范围内的方式。默认值适用于绝大多数游戏;<b>在游戏没有明显问题时修改此设置可能会导致不稳定。</b> - + Enable Instant VU1 开启即时 VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. 立即运行 VU1。在大多数游戏中提供适度的速度提升。对于大多数游戏来说是安全的,但少数游戏可能会显示图形错误。 - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. 开启 VU0 重编译器 (微模式) - + Enables VU0 Recompiler. 开启 VU0 重编译器。 - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. 开启 VU1 重编译器 - + Enables VU1 Recompiler. 启用 VU1 重编译器。 - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU 标志 Hack - + Good speedup and high compatibility, may cause graphical errors. 良好的加速和高兼容性,可能会导致图形错误。 - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. 将32位MIPS-I机器码实时转译为x86机器码。 - + Enable Game Fixes 启用游戏修复 - + Automatically loads and applies fixes to known problematic games on game start. 在游戏开始时,对已知有问题的游戏自动加载并应用修复。 - + Enable Compatibility Patches 启用兼容性补丁 - + Automatically loads and applies compatibility patches to known problematic games. 为已知有问题的游戏自动加载并应用兼容性补丁。 - + Savestate Compression Method 即时存档压缩模式 - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. 确定压缩即时存档时使用的算法。 - + Savestate Compression Level 即时存档压缩等级 - + Medium 中等 - + Determines the level to be used when compressing savestates. 确定压缩即时存档时使用的等级。 - + Save State On Shutdown 关闭时保存即时存档 - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. 关机或退出时自动保存模拟器状态。然后您可以直接从下一次停止的位置继续。 - + Create Save State Backups 创建即时存档备份 - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. 如果创建即时存档时即时存档存在则创建即时存档的备份副本。备份副本具有 .Backup 后缀。 @@ -1250,29 +1261,29 @@ Leaderboard Position: {1} of {2} 创建即时存档备份 - + Save State On Shutdown 关闭时保存即时存档 - + Frame Rate Control 帧率控制 - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. 赫兹 - + PAL Frame Rate: PAL 帧率: - + NTSC Frame Rate: NTSC 帧率: @@ -1287,7 +1298,7 @@ Leaderboard Position: {1} of {2} 压缩等级: - + Compression Method: 压缩模式: @@ -1332,17 +1343,22 @@ Leaderboard Position: {1} of {2} 非常高 (速度慢,不推荐) - + + Use Save State Selector + 使用即时存档选择器 + + + PINE Settings PINE 设置 - + Slot: 卡槽: - + Enable 启用 @@ -1863,8 +1879,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater 自动更新器 @@ -1904,68 +1920,68 @@ Leaderboard Position: {1} of {2} 下次再提醒我 - - + + Updater Error 更新错误 - + <h2>Changes:</h2> <h2>改动:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>即时存档警告</h2><p>安装此更新将会使您的即时存档变得 <b>不兼容</b>。 请确认在安装此更新前您已经将您的游戏进度保存至记忆卡中,否则您将丢失进度。</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>设置警告</h2><p>安装此更新将重置您的程序配置。请注意在此更新后您必须重新配置您的设置。</p> - + Savestate Warning 即时存档警告 - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>安装此更新将会使您的<b>即时存档变的不兼容</b>, <i>请在继续前确认已将您的游戏进度保存在记忆卡中了</i>。</p><p>您要继续吗?</p> - + Downloading %1... 正在下载 %1... - + No updates are currently available. Please try again later. 当前无可用更新。请稍后再试。 - + Current Version: %1 (%2) 当前版本: %1 (%2) - + New Version: %1 (%2) 新版本: %1 (%2) - + Download Size: %1 MB 下载大小: %1 MB - + Loading... 正在载入... - + Failed to remove updater exe after update. 在更新后移除更新器 exe 失败。 @@ -2129,19 +2145,19 @@ Leaderboard Position: {1} of {2} 开启 - - + + Invalid Address 无效的地址 - - + + Invalid Condition 无效的条件 - + Invalid Size 无效的大小 @@ -2231,17 +2247,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. 游戏光盘位于可卸载的驱动器上,可能会出现卡顿和死锁等性能问题。 - + Saving CDVD block dump to '{}'. 正在保存 CDVD 块转储到 '{}'。 - + Precaching CDVD 预缓存 CDVD @@ -2266,7 +2282,7 @@ Leaderboard Position: {1} of {2} 未知 - + Precaching is not supported for discs. 预缓存不支持光盘。 @@ -3223,29 +3239,34 @@ Not Configured/Buttons configured + Rename Profile + 重命名方案 + + + Delete Profile 删除方案 - + Mapping Settings 映射设置 - - + + Restore Defaults 还原默认 - - - + + + Create Input Profile 创建输入方案 - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3256,40 +3277,43 @@ Enter the name for the new input profile: 输入新输入配置文件的名称: - - - - + + + + + + Error 错误 - + + A profile with the name '%1' already exists. 已经存在名称是 '%1' 的输入方案。 - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. 是否要将当前选定方案文件中的所有绑定复制到新方案文件?选择否将创建一个完全空的配置文件。 - + Do you want to copy the current hotkey bindings from global settings to the new input profile? 您要将当前热键绑定从全局设置复制到新的输入配置文件吗? - + Failed to save the new profile to '%1'. 保存新方案到 '%1' 失败。 - + Load Input Profile 载入输入方案 - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3302,12 +3326,27 @@ You cannot undo this action. 您无法撤销此操作。 - + + Rename Input Profile + 重命名输入方案 + + + + Enter the new name for the input profile: + 输入新输入方案的名称: + + + + Failed to rename '%1'. + 重命名 '%1' 失败。 + + + Delete Input Profile 删除输入方案 - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3316,12 +3355,12 @@ You cannot undo this action. 您无法撤销此操作。 - + Failed to delete '%1'. 删除 '%1' 失败。 - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3333,13 +3372,13 @@ You cannot undo this action. 您无法撤销此操作。 - + Global Settings 全局设置 - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3347,8 +3386,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3356,26 +3395,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB 端口 %1 %2 - + Hotkeys 热键 - + Shared "Shared" refers here to the shared input profile. 共享 - + The input profile named '%1' cannot be found. 找不到名称是 '%1' 的输入方案。 @@ -3999,63 +4038,63 @@ Do you want to overwrite? 从文件导入 (.elf、.sym 等): - + Add 添加 - + Remove 移除 - + Scan For Functions 扫描函数 - + Scan Mode: 扫描模式: - + Scan ELF 扫描 ELF - + Scan Memory 扫描内存 - + Skip 跳过 - + Custom Address Range: 自定义地址范围: - + Start: 起始: - + End: 结束: - + Hash Functions 散列函数 - + Gray Out Symbols For Overwritten Functions 覆盖函数后变灰符号 @@ -4126,17 +4165,32 @@ Do you want to overwrite? 为所有检测到的函数生成哈希值,并将不匹配的函数中显示的符号变成灰色。 - + <i>No symbol sources in database.</i> <i>数据库中没有符号源。</i> - + <i>Start this game to modify the symbol sources list.</i> <i>启动此游戏来修改符号源列表。</i> - + + Path + 路径 + + + + Base Address + 基地址 + + + + Condition + 条件 + + + Add Symbol File 添加符号文件 @@ -4637,7 +4691,7 @@ Do you want to overwrite? Log DMA transfer activity. Stalls, bus right arbitration, etc. - 记录 DMA 传输活动。停顿,总线权仲裁等。 + 记录 DMA 传输活动。卡顿、总线权仲裁等。 @@ -4788,53 +4842,53 @@ Do you want to overwrite? PCSX2 调试器 - + Run 运行 - + Step Into 单步执行 - + F11 F11 - + Step Over 单步跳过 - + F10 F10 - + Step Out 单步跳出 - + Shift+F11 Shift+F11 - + Always On Top 总在最前 - + Show this window on top 总在最前显示此窗口 - + Analyze 分析 @@ -4852,48 +4906,48 @@ Do you want to overwrite? 反汇编 - + Copy Address 复制地址 - + Copy Instruction Hex 复制16进制指令 - + NOP Instruction(s) 用 NOP 覆盖 - + Run to Cursor 运行到光标 - + Follow Branch 跟随分支 - + Go to in Memory View 转到内存视图 - + Add Function 添加函数 - - + + Rename Function 重命名函数 - + Remove Function 移除函数 @@ -4914,23 +4968,23 @@ Do you want to overwrite? 汇编指令 - + Function name 函数名称 - - + + Rename Function Error 重命名函数错误 - + Function name cannot be nothing. 函数名不能为空。 - + No function / symbol is currently selected. 当前未选定函数 / 符号。 @@ -4940,72 +4994,72 @@ Do you want to overwrite? 转到反汇编 - + Cannot Go To 无法转到 - + Restore Function Error 还原函数错误 - + Unable to stub selected address. 无法留存选定的地址。 - + &Copy Instruction Text 复制指令文本(&C) - + Copy Function Name 复制函数名 - + Restore Instruction(s) 还原指令 - + Asse&mble new Instruction(s) 汇编新指令(&M) - + &Jump to Cursor 跳转到指针(&J) - + Toggle &Breakpoint 切换断点(&B) - + &Go to Address 转到地址(&G) - + Restore Function 还原函数 - + Stub (NOP) Function 无效化 (NOP) 函数 - + Show &Opcode 显示 &Opcode - + %1 NOT VALID ADDRESS %1 不是有效的地址 @@ -5032,86 +5086,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - 存档: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + 位置: %1 | 音量: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - 存档: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + 位置: %1 | 音量: %2% | %3 | EE: %4% | GS: %5% - + No Image 无图像 - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% 速度: %1% - + Game: %1 (%2) 游戏: %1 (%2) - + Rich presence inactive or unsupported. 富状态未激活或不支持。 - + Game not loaded or no RetroAchievements available. 游戏未加载或无 RetroAchievements 成就可用。 - - - - + + + + Error 错误 - + Failed to create HTTPDownloader. 创建 HTTPDownloader 失败。 - + Downloading %1... 正在下载 %1... - + Download failed with HTTP status code %1. 下载失败,HTTP状态代码为 %1。 - + Download failed: Data is empty. 下载失败: 数据是空的。 - + Failed to write '%1'. 写入 '%1' 失败。 @@ -5485,81 +5539,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. 无效的内存访问大小 %d。 - + Invalid memory access (unaligned). 无效的内存访问(未对齐)。 - - + + Token too long. 令牌过长。 - + Invalid number "%s". 无效的数字 "%s"。 - + Invalid symbol "%s". 无效的符号 "%s"。 - + Invalid operator at "%s". 无效的运算符在 "%s"。 - + Closing parenthesis without opening one. 没有开头的右括号。 - + Closing bracket without opening one. 没有开头的大括号。 - + Parenthesis not closed. 括号未闭合。 - + Not enough arguments. 参数不足。 - + Invalid memsize operator. 无效的内存大小运算符。 - + Division by zero. 被零除。 - + Modulo by zero. 对零取余。 - + Invalid tertiary operator. 无效的三级运算符。 - - - Invalid expression. - 无效的表达式。 - FileOperations @@ -5693,342 +5742,342 @@ URL: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. 找不到任何 CD/DVD-ROM 设备。请确保您已连接驱动器并具有足够的访问权限。 - + Use Global Setting 使用全局设置 - + Automatic binding failed, no devices are available. 自动绑定失败,没有可用设备。 - + Game title copied to clipboard. 游戏标题已复制到剪贴板。 - + Game serial copied to clipboard. 游戏序列号已复制到剪贴板。 - + Game CRC copied to clipboard. 游戏 CRC 已复制到剪贴板。 - + Game type copied to clipboard. 游戏类型已复制到剪贴板。 - + Game region copied to clipboard. 游戏区域已复制到剪贴板。 - + Game compatibility copied to clipboard. 游戏兼容性已复制到剪贴板。 - + Game path copied to clipboard. 游戏路径已复制到剪贴板。 - + Controller settings reset to default. 已将控制器设置重置为默认。 - + No input profiles available. 没有可用的输入方案。 - + Create New... 新建... - + Enter the name of the input profile you wish to create. 请输入您要创建的输入方案名称。 - + Are you sure you want to restore the default settings? Any preferences will be lost. 您确实要恢复默认设置吗?所有参数都将丢失。 - + Settings reset to defaults. 设置已被重置为默认值。 - + No save present in this slot. 此位置中无存档。 - + No save states found. 找不到即时存档。 - + Failed to delete save state. 删除即时存档失败。 - + Failed to copy text to clipboard. 复制文本到剪贴板失败。 - + This game has no achievements. 此游戏没有成就。 - + This game has no leaderboards. 此游戏没有排行榜。 - + Reset System 重置系统 - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? 不会启用硬核模式直到系统被重置。您要立即重置系统吗? - + Launch a game from images scanned from your game directories. 从在您游戏目录下扫描到的映像启动游戏。 - + Launch a game by selecting a file/disc image. 通过选择一个文件/光盘映像启动游戏。 - + Start the console without any disc inserted. 在没有插入任何光盘的情况下启动主机。 - + Start a game from a disc in your PC's DVD drive. 启动您 PC 的 DVD 驱动器中光盘上的游戏。 - + No Binding 没有绑定 - + Setting %s binding %s. 设置 %s 绑定 %s。 - + Push a controller button or axis now. 现在请按下手柄的按钮或轴。 - + Timing out in %.0f seconds... %.0f 秒后超时... - + Unknown 未知 - + OK 确定 - + Select Device 选择驱动器 - + Details 详情 - + Options 选项 - + Copies the current global settings to this game. 复制当前的全局设置到此游戏。 - + Clears all settings set for this game. 清除此游戏的所有设置。 - + Behaviour 行为 - + Prevents the screen saver from activating and the host from sleeping while emulation is running. 在模拟运行时防止激活屏幕保护程序以及主机休眠。 - + Shows the game you are currently playing as part of your profile on Discord. 将您当前正在游玩的游戏显示在 Discord 中您个人档案中。 - + Pauses the emulator when a game is started. 游戏开始时暂停模拟器。 - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. 在最小化窗口或切换到另一个应用程序时暂停模拟器并在切换回时取消暂停。 - + Pauses the emulator when you open the quick menu, and unpauses when you close it. 在您打开快速菜单时暂停模拟器。并在您关闭它时取消暂停。 - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. 确认按下热键时是否显示确认关闭模拟器/游戏的提示。 - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. 关机或退出时自动保存模拟器状态。然后您可以直接从下一次停止的位置继续。 - + Uses a light coloured theme instead of the default dark theme. 使用浅色主题而不是默认的深色主题。 - + Game Display 游戏显示 - + Switches between full screen and windowed when the window is double-clicked. 双击窗口时在全屏和窗口之间切换。 - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. 当模拟器处于全屏模式时隐藏鼠标指针/光标。 - + Determines how large the on-screen messages and monitor are. 确定屏显消息和监视器的大小。 - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. 显示屏显消息-当事件发生时显示消息例如正在创建/加载保存即时存档、正在截取屏幕截图等。 - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. 在屏幕的右上角以百分比形式显示系统的当前模拟速度。 - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. 在显示器的右上角显示系统每秒视频帧(或垂直同步)数。 - + Shows the CPU usage based on threads in the top-right corner of the display. 在显示器的右上角显示基于线程的 CPU 占用率。 - + Shows the host's GPU usage in the top-right corner of the display. 在显示器的右上角显示主机的 GPU 占用率。 - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. 在显示器的右上角显示有关 GS (原语、绘制调用) 的统计信息。 - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. 在快进、暂停和其他异常状态处于活动状态时显示指示器。 - + Shows the current configuration in the bottom-right corner of the display. 在显示器的右下角显示当前配置。 - + Shows the current controller state of the system in the bottom-left corner of the display. 在显示器的左下角显示系统的当前控制器状态。 - + Displays warnings when settings are enabled which may break games. 当设置可能破坏游戏时显示警告。 - + Resets configuration to defaults (excluding controller settings). 将设置重置为默认 (控制器设置除外)。 - + Changes the BIOS image used to start future sessions. 更改启动下次会话所需的 BIOS 映像。 - + Automatic 自动 - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default 默认 - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6037,1977 +6086,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. 游戏开始时自动切换到全屏模式。 - + On-Screen Display 屏上显示 - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. 在屏幕的右上角显示游戏的分辨率。 - + BIOS Configuration BIOS 配置 - + BIOS Selection 选择 BIOS - + Options and Patches 选项和补丁 - + Skips the intro screen, and bypasses region checks. 跳过标题画面,并且绕过区域检测。 - + Speed Control 速度控制 - + Normal Speed 普通速度 - + Sets the speed when running without fast forwarding. 设置在没有快进时的速度。 - + Fast Forward Speed 快进速度 - + Sets the speed when using the fast forward hotkey. 设置使用快进热键时的速度。 - + Slow Motion Speed 慢动作速度 - + Sets the speed when using the slow motion hotkey. 设置使用慢动作热键时的速度。 - + System Settings 系统设置 - + EE Cycle Rate EE 循环率 - + Underclocks or overclocks the emulated Emotion Engine CPU. 降频或超频所模拟的情感引擎 CPU。 - + EE Cycle Skipping EE 循环跳过 - + Enable MTVU (Multi-Threaded VU1) 开启 MTVU (多线程 VU1) - + Enable Instant VU1 开启即时 VU1 - + Enable Cheats 开启作弊 - + Enables loading cheats from pnach files. 开启从 pnach 文件加载作弊。 - + Enable Host Filesystem 开启主机文件系统 - + Enables access to files from the host: namespace in the virtual machine. 开启访问主机中的文件:虚拟机中的命名空间。 - + Enable Fast CDVD 开启快速 CDVD - + Fast disc access, less loading times. Not recommended. 快速光盘访问,较少的加载时间。不推荐。 - + Frame Pacing/Latency Control 帧调整/延迟控制 - + Maximum Frame Latency 最大帧延迟 - + Sets the number of frames which can be queued. 设置可以排队的帧数量。 - + Optimal Frame Pacing 最佳帧调步 - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. 在每一帧之后同步 EE 和 GS 线程。最低输入延迟,但增加了系统需求。 - + Speeds up emulation so that the guest refresh rate matches the host. 加快模拟速度,使来宾刷新率与宿主匹配。 - + Renderer 渲染器 - + Selects the API used to render the emulated GS. 选择用于渲染模拟 GS 的 API。 - + Synchronizes frame presentation with host refresh. 使帧显示与主机刷新同步。 - + Display 显示 - + Aspect Ratio 高宽比 - + Selects the aspect ratio to display the game content at. 选择用于显示游戏内容的高宽比。 - + FMV Aspect Ratio Override FMV 高宽比替代 - + Selects the aspect ratio for display when a FMV is detected as playing. 选择检测到正在播放 FMV 时的高宽比。 - + Deinterlacing 反交错 - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. 选择将 PS2 的隔行输出转换为逐行显示的算法。 - + Screenshot Size 截图尺寸 - + Determines the resolution at which screenshots will be saved. 确定保存屏幕截图的分辨率。 - + Screenshot Format 截图格式 - + Selects the format which will be used to save screenshots. 选择保存屏幕截图的格式。 - + Screenshot Quality 截图质量 - + Selects the quality at which screenshots will be compressed. 选择屏幕截图的压缩质量。 - + Vertical Stretch 垂直拉伸 - + Increases or decreases the virtual picture size vertically. 增大或减小可见画面的垂直尺寸。 - + Crop 裁剪 - + Crops the image, while respecting aspect ratio. 裁剪图像,同时考虑纵横比。 - + %dpx %dpx - - Enable Widescreen Patches - 开启宽屏补丁 - - - - Enables loading widescreen patches from pnach files. - 开启从 pnach 文件中加载宽屏补丁。 - - - - Enable No-Interlacing Patches - 开启反隔行扫描补丁 - - - - Enables loading no-interlacing patches from pnach files. - 开启从 pnach 文件中加载去隔行扫描补丁。 - - - + Bilinear Upscaling 双线性缩放 - + Smooths out the image when upscaling the console to the screen. 在将主机画面升格到屏幕时平滑画面。 - + Integer Upscaling 整数倍拉伸 - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. 填充显示区域以确保主机上的像素与游戏机中的像素之间的比率为整数。可能会在一些2D游戏中产生更清晰的图像。 - + Screen Offsets 屏幕偏移 - + Enables PCRTC Offsets which position the screen as the game requests. 开启根据游戏要求定位屏幕的 PCRTC 偏移量。 - + Show Overscan 显示过扫描 - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 启用该选项可显示绘制在超过屏幕安全区域的过扫描区域。 - + Anti-Blur 反模糊 - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 启用内部反模糊 hack。这会降低 PS2 的渲染精度但会使许多游戏看起来不那么模糊。 - + Rendering 渲染 - + Internal Resolution 内部分辨率 - + Multiplies the render resolution by the specified factor (upscaling). 按指定倍数放大渲染分辨率(升格)。 - + Mipmapping Mipmap 贴图 - + Bilinear Filtering 双线性过滤 - + Selects where bilinear filtering is utilized when rendering textures. 选择渲染纹理时使用双线性过滤的位置。 - + Trilinear Filtering 三线性过滤 - + Selects where trilinear filtering is utilized when rendering textures. 选择渲染纹理时使用三线性过滤的位置。 - + Anisotropic Filtering 各异向性过滤 - + Dithering 抖动 - + Selects the type of dithering applies when the game requests it. 选择游戏请求抖动时要使用的类型。 - + Blending Accuracy 混合精确性 - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. 当模拟主机图形 API 不支持的混合模式时,确定精度水平。 - + Texture Preloading 预加载纹理 - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. 在使用时将完整纹理上载到 GPU,而不仅仅是已使用的区域。可以在某些游戏中提高性能。 - + Software Rendering Threads 软件渲染线程 - + Number of threads to use in addition to the main GS thread for rasterization. 用于附加在光栅化的主 GS 线程上的线程数。 - + Auto Flush (Software) 自动刷新 (软件) - + Force a primitive flush when a framebuffer is also an input texture. 当帧缓冲区也是输入纹理时强制基本体刷新。 - + Edge AA (AA1) 边缘 AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). 开启模拟 GS 的边缘抗锯齿 (AA1)。 - + Enables emulation of the GS's texture mipmapping. 开启模拟 GS 的 mipmap 贴图。 - + The selected input profile will be used for this game. 选定的输入方案将被用于此游戏。 - + Shared 共享 - + Input Profile 输入方案 - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + 当切换即时存档位置时显示一个即时存档选择器 UI 而不是显示一个提示气泡。 + + + Shows the current PCSX2 version on the top-right corner of the display. 在显示器的右上角显示当前的 PCSX2 版本。 - + Shows the currently active input recording status. 显示当前活动的输入状态。 - + Shows the currently active video capture status. 显示当前活动的视频捕获状态。 - + Shows a visual history of frame times in the upper-left corner of the display. 在显示器的左上角显示帧时间的可视历史记录。 - + Shows the current system hardware information on the OSD. 在 OSD 上显示当前系统的硬件信息。 - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. 将模拟线程固定到 CPU 核心以潜在地改善性能/帧时间差异。 - + + Enable Widescreen Patches + 开启宽屏补丁 + + + + Enables loading widescreen patches from pnach files. + 开启从 pnach 文件中加载宽屏补丁。 + + + + Enable No-Interlacing Patches + 开启反隔行扫描补丁 + + + + Enables loading no-interlacing patches from pnach files. + 开启从 pnach 文件中加载去隔行扫描补丁。 + + + Hardware Fixes 硬件修复 - + Manual Hardware Fixes 手动硬件修复 - + Disables automatic hardware fixes, allowing you to set fixes manually. 关闭自动硬件修复,允许您手动设置修复。 - + CPU Sprite Render Size CPU 活动块渲染器大小 - + Uses software renderer to draw texture decompression-like sprites. 使用软件渲染器绘制类似于纹理解压缩的活动块。 - + CPU Sprite Render Level CPU 活动块渲染器水平 - + Determines filter level for CPU sprite render. 确定 CPU 活动块渲染器的滤镜水平。 - + Software CLUT Render 软件 Clut 渲染 - + Uses software renderer to draw texture CLUT points/sprites. 使用软件渲染器绘制纹理 CLUT 点/活动块。 - + Skip Draw Start 跳过描绘开始 - + Object range to skip drawing. 要跳过描绘的对象范围。 - + Skip Draw End 跳过描绘结束 - + Auto Flush (Hardware) 自动刷新 (硬件) - + CPU Framebuffer Conversion CPU 帧缓冲转换 - + Disable Depth Conversion 关闭深度转换 - + Disable Safe Features 关闭安全功能 - + This option disables multiple safe features. 此选项会关闭多个安全功能。 - + This option disables game-specific render fixes. 此选项会关闭指定的游戏渲染器修复。 - + Uploads GS data when rendering a new frame to reproduce some effects accurately. 渲染新帧时上载 GS 数据以准确再现某些效果。 - + Disable Partial Invalidation 禁用部分失效 - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. 当存在任何相交时移除纹理缓存条目,而不仅仅是相交区域。 - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. 允许纹理缓存将上一个帧缓冲区的内部数据作为输入纹理重新使用。 - + Read Targets When Closing 关闭时读取目标 - + Flushes all targets in the texture cache back to local memory when shutting down. 关闭时将纹理缓存中的所有目标刷新回本地内存。 - + Estimate Texture Region 估计纹理区域 - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). 尝试在游戏本身不设置纹理大小时减小纹理大小(例如 Snowblind 游戏)。 - + GPU Palette Conversion GPU 调色板转换 - + Upscaling Fixes 倍线修复 - + Adjusts vertices relative to upscaling. 相对于放大比例调整顶点。 - + Native Scaling 原生缩放 - + Attempt to do rescaling at native resolution. 尝试重新缩放为原生分辨率。 - + Round Sprite 取整活动块 - + Adjusts sprite coordinates. 调节活动块坐标。 - + Bilinear Upscale 双线性升格 - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. 由于在缩放时会进行双线性过滤所以可以平滑纹理。 - + Adjusts target texture offsets. 调节目标纹理偏移。 - + Align Sprite 对齐活动块 - + Fixes issues with upscaling (vertical lines) in some games. 修正了某些游戏中升格(垂直线)问题。 - + Merge Sprite 合并活动块 - + Replaces multiple post-processing sprites with a larger single sprite. 将多个后处理活动块替换为更大的单个块。 - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. 降低 GS 精度以避免在缩放时像素之间出现间隙。修正了 Wild Arms 游戏中的文字。 - + Unscaled Palette Texture Draws 未缩放的调色板纹理绘制 - + Can fix some broken effects which rely on pixel perfect precision. 可以修复一些依赖于像素完美精度的破碎效果。 - + Texture Replacement 纹理替换 - + Load Textures 加载纹理 - + Loads replacement textures where available and user-provided. 加载用户提供的可用替换纹理。 - + Asynchronous Texture Loading 异步纹理加载 - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. 将替换纹理加载到辅助线程上,从而在启用替换时减少微卡顿。 - + Precache Replacements 预缓存替换 - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. 预先加载所有的替换纹理到内存中。不再需要异步加载。 - + Replacements Directory 替换目录 - + Folders 文件夹 - + Texture Dumping 纹理转储 - + Dump Textures 转储纹理 - + Dump Mipmaps 转储 mipmap 贴图 - + Includes mipmaps when dumping textures. 在转储纹理时包含 mipmap 贴图。 - + Dump FMV Textures 转储 FMV 纹理 - + Allows texture dumping when FMVs are active. You should not enable this. 在 FNV 活动时允许纹理转储。您应该开启此选项。 - + Post-Processing 后置处理 - + FXAA FXAA - + Enables FXAA post-processing shader. 开启 FXAA后处理着色器。 - + Contrast Adaptive Sharpening 对比度自适应锐化 - + Enables FidelityFX Contrast Adaptive Sharpening. 开启 FidelityFX 对比度自适应锐化。 - + CAS Sharpness CAS 锐化 - + Determines the intensity the sharpening effect in CAS post-processing. 确定 CAS 后处理中锐化效果的强度。 - + Filters 滤镜 - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. 开启亮度/对比度/饱和度调整。 - + Shade Boost Brightness Shade Boost 亮度 - + Adjusts brightness. 50 is normal. 调节亮度。50 为普通。 - + Shade Boost Contrast Shade Boost 对比度 - + Adjusts contrast. 50 is normal. 调节对比度。50 为普通。 - + Shade Boost Saturation Shade Boost 饱和度 - + Adjusts saturation. 50 is normal. 调节饱和度。50 为普通。 - + TV Shaders TV 着色器 - + Advanced 高级 - + Skip Presenting Duplicate Frames 跳过显示重复帧 - + Extended Upscaling Multipliers 扩展升格倍数 - + Displays additional, very high upscaling multipliers dependent on GPU capability. 按照 GPU 的性能显示额外的,非常高的升格倍数。 - + Hardware Download Mode 硬件下载模式 - + Changes synchronization behavior for GS downloads. 更改 GS 下载的同步行为。 - + Allow Exclusive Fullscreen 允许独占全屏 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. 覆盖驱动的启发式规则以启用独占全屏或直接翻转/扫描。 - + Override Texture Barriers 覆盖纹理光栅 - + Forces texture barrier functionality to the specified value. 将纹理屏障功能强制设置为指定值。 - + GS Dump Compression GS 转储压缩 - + Sets the compression algorithm for GS dumps. 设置 GS 转储的压缩算法。 - + Disable Framebuffer Fetch 关闭帧缓冲获取 - + Prevents the usage of framebuffer fetch when supported by host GPU. 当主机 GPU 支持时防止使用帧缓冲区提取。 - + Disable Shader Cache 关闭着色器缓存 - + Prevents the loading and saving of shaders/pipelines to disk. 防止加载以及保存着色器/管道到磁盘上。 - + Disable Vertex Shader Expand 关闭顶点着色器扩展 - + Falls back to the CPU for expanding sprites/lines. 退回到 CPU 以扩展活动块/行数。 - + Changes when SPU samples are generated relative to system emulation. 相对于系统模拟生成 SPU 采样时更改。 - + %d ms %d 毫秒 - + Settings and Operations 设置与操作 - + Creates a new memory card file or folder. 创建一个新的记忆卡或文件夹。 - + Simulates a larger memory card by filtering saves only to the current game. 通过过滤仅用于当前游戏存档来模拟一个更大的记忆卡。 - + If not set, this card will be considered unplugged. 如果未设置,此卡将被视为未插入。 - + The selected memory card image will be used for this slot. 选定的记忆卡映像将用于此位置。 - + Enable/Disable the Player LED on DualSense controllers. 开启/关闭在 DualSense 控制器上的玩家 LED。 - + Trigger 触发 - + Toggles the macro when the button is pressed, instead of held. 在按下按钮而不是按住按钮时切换宏。 - + Savestate 即时存档 - + Compression Method 压缩模式 - + Sets the compression algorithm for savestate. 设置即时存档的压缩算法。 - + Compression Level 压缩等级 - + Sets the compression level for savestate. 设置即时存档的压缩等级。 - + Version: %s 版本: %s - + {:%H:%M} {:%H:%M} - + Slot {} 位置 {} - + 1.25x Native (~450px) 1.25 倍原生 (~450px) - + 1.5x Native (~540px) 1.5 倍原生 (~540px) - + 1.75x Native (~630px) 1.75 倍原生 (~630px) - + 2x Native (~720px/HD) 2 倍原生 (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5 倍原生 (~900px/HD+) - + 3x Native (~1080px/FHD) 3 倍原生 (~1080px/FHD) - + 3.5x Native (~1260px) 3.5 倍原生 (~1260px) - + 4x Native (~1440px/QHD) 4 倍原生 (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5 倍原生 (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6 倍原生 (~2160px/4K UHD) - + 7x Native (~2520px) 7 倍原生 (~2520px) - + 8x Native (~2880px/5K UHD) 8 倍原生 (~2880px/5K UHD) - + 9x Native (~3240px) 9 倍原生 (~3240px) - + 10x Native (~3600px/6K UHD) 10 倍原生 (~3600px/6K UHD) - + 11x Native (~3960px) 11 倍原生 (~3960px) - + 12x Native (~4320px/8K UHD) 12 倍原生 (~4320px/8K UHD) - + WebP WebP - + Aggressive 激进 - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) 低 (速度快) - + Medium (Recommended) 中 (推荐) - + Very High (Slow, Not Recommended) 非常高 (速度慢,不推荐) - + Change Selection 更改选择 - + Select 选择 - + Parent Directory 父目录 - + Enter Value 输入值 - + About 关于 - + Toggle Fullscreen 切换全屏 - + Navigate 导航 - + Load Global State 加载全局即时存档 - + Change Page 更改页面 - + Return To Game 返回游戏 - + Select State 选择即时存档 - + Select Game 选择游戏 - + Change View 更改视图 - + Launch Options 启动选项 - + Create Save State Backups 创建即时存档备份 - + Show PCSX2 Version 显示 PCSX2 版本 - + Show Input Recording Status 显示输入录制状态 - + Show Video Capture Status 显示视频捕获状态 - + Show Frame Times 显示帧时间 - + Show Hardware Info 显示硬件信息 - + Create Memory Card 创建记忆卡 - + Configuration 配置 - + Start Game 启动游戏 - + Launch a game from a file, disc, or starts the console without any disc inserted. 从文件、光盘启动游戏,或在未插入任何光盘的情况下启动主机。 - + Changes settings for the application. 更改应用程序的设置。 - + Return to desktop mode, or exit the application. 返回到桌面模式,或退出应用程序。 - + Back 返回 - + Return to the previous menu. 返回到上一级菜单。 - + Exit PCSX2 退出 PCSX2 - + Completely exits the application, returning you to your desktop. 完全退出应用程序,是您返回到桌面。 - + Desktop Mode 桌面模式 - + Exits Big Picture mode, returning to the desktop interface. 退出大屏模式,返回到桌面界面。 - + Resets all configuration to defaults (including bindings). 重置所有配置为默认值 (包含绑定)。 - + Replaces these settings with a previously saved input profile. 将这些设置重置为上次保存的输入方案。 - + Stores the current settings to an input profile. 保存当前的设置到一个输入方案。 - + Input Sources 输入源 - + The SDL input source supports most controllers. SDL 输入源支持最多控制器。 - + Provides vibration and LED control support over Bluetooth. 通过蓝牙提供震动和 LED 控制支持。 - + Allow SDL to use raw access to input devices. 允许 SDL 使用 raw 访问输入设备。 - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Xinput 源提供对 XBox 360/XBox One/XBox Series 控制器的支持。 - + Multitap 多分插 - + Enables an additional three controller slots. Not supported in all games. 开启一个额外的三个控制器插槽。不是所有游戏都支持。 - + Attempts to map the selected port to a chosen controller. 尝试映射选定的端口到选定的控制器上。 - + Determines how much pressure is simulated when macro is active. 确定当宏处于活动状态时模拟的压力大小。 - + Determines the pressure required to activate the macro. 确定激活宏所需的压力。 - + Toggle every %d frames 切换每 %d 帧 - + Clears all bindings for this USB controller. 清除此 USB 控制器的所有绑定。 - + Data Save Locations 数据保存位置 - + Show Advanced Settings 显示高级设置 - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. 更改这些选项可能会导致游戏无法运行。修改风险自负,PCSX2 团队不会为更改了这些设置的配置提供支持。 - + Logging 日志 - + System Console 系统控制台 - + Writes log messages to the system console (console window/standard output). 写入日志消息到系统控制台 (控制台窗口/标准输出)。 - + File Logging 文件日志 - + Writes log messages to emulog.txt. 写入日志消息到 emulog.txt。 - + Verbose Logging 详细日志记录 - + Writes dev log messages to log sinks. 将开发日志消息写入日志接收器。 - + Log Timestamps 记录时间戳 - + Writes timestamps alongside log messages. 在日志消息旁边写入时间戳。 - + EE Console EE 控制台 - + Writes debug messages from the game's EE code to the console. 将调试消息从游戏的 EE 代码写入控制台。 - + IOP Console IOP 控制台 - + Writes debug messages from the game's IOP code to the console. 将调试消息从游戏的 IOP 代码写入控制台。 - + CDVD Verbose Reads CDVD 详细读取 - + Logs disc reads from games. 记录游戏读取光盘。 - + Emotion Engine 情感引擎 - + Rounding Mode 舍入模式 - + Determines how the results of floating-point operations are rounded. Some games need specific settings. 确定如何四舍五入浮点运算的结果。有些游戏需要特定的设置。 - + Division Rounding Mode 除法舍入模式 - + Determines how the results of floating-point division is rounded. Some games need specific settings. 确定如何四舍五入浮点除法的结果。有些游戏需要特定的设置。 - + Clamping Mode 压制模式 - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. 确定如何处理超出范围的浮点数。有些游戏需要特定的设置。 - + Enable EE Recompiler 开启 EE 重编译器 - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. 执行 64 位 MIPS-IV 机器码到本机代码的实时二进制转换。 - + Enable EE Cache 开启 EE 缓存 - + Enables simulation of the EE's cache. Slow. 开启模拟 EE 缓存。慢。 - + Enable INTC Spin Detection 开启 INTC 自旋检测 - + Huge speedup for some games, with almost no compatibility side effects. 对某些游戏有巨大的加速作用,几乎没有兼容性的副作用。 - + Enable Wait Loop Detection 开启等待循环检测 - + Moderate speedup for some games, with no known side effects. 适度加速某些游戏,没有已知的副作用。 - + Enable Fast Memory Access 开启快速内存访问 - + Uses backpatching to avoid register flushing on every memory access. 使用回补以避免在每次内存访问时刷新寄存器。 - + Vector Units 矢量单元 - + VU0 Rounding Mode VU0 舍入模式 - + VU0 Clamping Mode VU0 压制模式 - + VU1 Rounding Mode VU1 舍入模式 - + VU1 Clamping Mode VU1 压制模式 - + Enable VU0 Recompiler (Micro Mode) 开启 VU0 重编译器 (微模式) - + New Vector Unit recompiler with much improved compatibility. Recommended. 新的矢量单元重编译器将大幅改善兼容性。推荐。 - + Enable VU1 Recompiler 开启 VU1 重编译器 - + Enable VU Flag Optimization 开启 VU 标志优化 - + Good speedup and high compatibility, may cause graphical errors. 良好的加速和高兼容性,可能会导致图形错误。 - + I/O Processor I/O 处理器 - + Enable IOP Recompiler 开启 IOP 重编译器 - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. 执行 32 位 MIPS-I 机器码到本机代码的实时二进制转换。 - + Graphics 图形 - + Use Debug Device 使用调试设备 - + Settings 设置 - + No cheats are available for this game. 没有此游戏可用的作弊。 - + Cheat Codes 作弊代码 - + No patches are available for this game. 没有此游戏可用的补丁。 - + Game Patches 游戏补丁 - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. 激活作弊可能会导致不可预测的行为、崩溃、软锁或破坏已保存的游戏。 - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. 激活游戏补丁可能会导致不可预测的行为、崩溃、软锁或破坏已保存的游戏。 - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. 使用补丁的风险自负,PCSX2 团队将不会为启用游戏补丁的用户提供支持。 - + Game Fixes 游戏修正 - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. 除非您知道每个选项的作用以及这样做的影响,否则不应修改游戏修复。 - + FPU Multiply Hack FPU 乘法 Hack - + For Tales of Destiny. 用于宿命传说。 - + Preload TLB Hack 预载 TLB Hack - + Needed for some games with complex FMV rendering. 某些复杂 FMV 渲染的游戏需要。 - + Skip MPEG Hack 跳过 MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. 跳过游戏中的视频/FMV 以避免游戏挂起/冻结。 - + OPH Flag Hack OPH 标志 Hack - + EE Timing Hack EE 计时 Hack - + Instant DMA Hack 即时 DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. 已知对下列游戏有效: 玛娜传奇 1、沙尘之锁、敌后阵线。 - + For SOCOM 2 HUD and Spy Hunter loading hang. 用于 SOCOM 2 HUD 和 Spy Hunter 加载挂起。 - + VU Add Hack VU 加法 Hack - + Full VU0 Synchronization 完整 VU0 同步 - + Forces tight VU0 sync on every COP2 instruction. 在每个 COP2 指令上强制严格 VU0 同步。 - + VU Overflow Hack VU 溢出 Hack - + To check for possible float overflows (Superman Returns). 检测可能的浮点溢出 (超人回归)。 - + Use accurate timing for VU XGKicks (slower). 为 VU XGKicks 使用精确计时 (较慢)。 - + Load State 加载即时存档 - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. 使模拟情感引擎跳过循环。有助于类似 SOTC 这样的一小部分游戏。大多数情况下这对性能是有害的。 - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. 通常在具有 4 个或更多核心的 CPU 上有加速效果。对大多数游戏来说都是安全的,但是也有一些是不兼容的可能会卡死。 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. 立即运行 VU1。在大多数游戏中提供适度的速度提升。对于大多数游戏来说是安全的,但少数游戏可能会显示图形错误。 - + Disable the support of depth buffers in the texture cache. 关闭纹理缓存中深度缓冲区的支持。 - + Disable Render Fixes 关闭渲染器修复 - + Preload Frame Data 预载帧数据 - + Texture Inside RT 纹理内部 RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. 开启时 GPU 会转换颜色贴图纹理,否则 CPU 会。这是 GPU 和 CPU 之间的权衡。 - + Half Pixel Offset 半像素偏移 - + Texture Offset X 纹理偏移 X - + Texture Offset Y 纹理偏移 Y - + Dumps replaceable textures to disk. Will reduce performance. 将可替换纹理转储到磁盘。会降低性能。 - + Applies a shader which replicates the visual effects of different styles of television set. 应用可复现多种不同电视视觉效果的着色器。 - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. 跳过显示在 25/30fps 游戏中不变的帧。可以提高速度,但会增加输入延迟/使帧间隔变得更差。 - + Enables API-level validation of graphics commands. 启用图形命令的 API 级验证。 - + Use Software Renderer For FMVs 为 FMV 使用软件渲染器 - + To avoid TLB miss on Goemon. 防止大盗伍佑卫门 tlb 丢失。 - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. 通用计时 hack。已知会影响以下游戏: 数码恶魔传说、SSX。 - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. 适用于高速缓存模拟问题。已知会影响以下游戏: 超火爆摔跤 Z。 - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. 已知对下列游戏有效:死神战士之刃、梦幻骑士 II 和 III、巫术。 - + Emulate GIF FIFO 模拟 GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. 正确但较慢。已知对下列游戏有效: Fifa 街头足球 2。 - + DMA Busy Hack DMA 忙碌 Hack - + Delay VIF1 Stalls 延迟 VIF1 失速 - + Emulate VIF FIFO 模拟 VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. 模拟 VIF1 FIFO 预读。已知对下列游戏有效: Test Drive Unlimited、变形金刚。 - + VU I Bit Hack VU I 位 Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. 避免在某些游戏中不断重新编译。已知会影响以下游戏:疤面煞星掌握世界、古惑狼赛车团队竞速。 - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. 用于 Tri-Ace 游戏: 星之海洋 3、凡人物语、北欧女神 2。 - + VU Sync VU 同步 - + Run behind. To avoid sync problems when reading or writing VU registers. 运行到后面去。以避免在读取或写入 VU 寄存器时出现同步问题。 - + VU XGKick Sync VU XGKick 同步 - + Force Blit Internal FPS Detection 强制点阵内部 FPS 检测 - + Save State 保存即时存档 - + Load Resume State 加载并继续即时存档 - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8016,2071 +8070,2076 @@ Do you want to load this save and continue? 您要加载此存档并继续吗? - + Region: 区域: - + Compatibility: 兼容性: - + No Game Selected 没有选择游戏 - + Search Directories 搜索目录 - + Adds a new directory to the game search list. 添加一个新目录到游戏搜索列表。 - + Scanning Subdirectories 扫描子目录 - + Not Scanning Subdirectories 不扫描子目录 - + List Settings 列表设置 - + Sets which view the game list will open to. 设置打开游戏列表时的视图。 - + Determines which field the game list will be sorted by. 确定将按哪个字段对游戏列表进行排序。 - + Reverses the game list sort order from the default (usually ascending to descending). 颠倒游戏列表的默认排序(通常是升序到降序)。 - + Cover Settings 封面设置 - + Downloads covers from a user-specified URL template. 从用户指定的URL模板下载封面。 - + Operations 操作 - + Selects where anisotropic filtering is utilized when rendering textures. 选择渲染纹理时要使用何种各向异性过滤设置。 - + Use alternative method to calculate internal FPS to avoid false readings in some games. 使用其它方法计算内部 FPS 以避免在某些游戏中出现错误读数。 - + Identifies any new files added to the game directories. 标识添加到游戏目录中的任何新文件。 - + Forces a full rescan of all games previously identified. 强制重新扫描之前确定的所有游戏。 - + Download Covers 下载封面 - + About PCSX2 关于 PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 是一个免费的开源 PlayStation2(PS2) 模拟器。它的目的是使用 MIPS CPU 解释器、重新编译器以及用于管理硬件状态以及 PS 系统内存的虚拟机的组合来模拟PS2的硬件。这使您可以在您的 PC 上玩 PS2 游戏,并具有许多其他功能和好处。 - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 和 PS2 是索尼互动娱乐公司的注册商标。此应用程序与索尼互动娱乐公司没有任何关联。 - + When enabled and logged in, PCSX2 will scan for achievements on startup. 启用并登录后,PCSX2 将在启动时扫描成就。 - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "挑战" 模式的成就,包括排行榜跟踪。禁用即时存档、作弊和减速功能。 - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. 显示例如成就解锁和排行榜提交等事件的弹出消息。 - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. 为成就解锁和排行榜提交等活动播放音效。 - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. 当挑战/已获得的成就处于活动状态时在屏幕右下角显示图标。 - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. 启用后,PCSX2 将列出非官方设置的成就。这些成就不会被 RetroAchievements 所追踪。 - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. 启用后,PCSX2 将假定所有成就都已锁定不会向服务器发送任何解锁通知。 - + Error 错误 - + Pauses the emulator when a controller with bindings is disconnected. 当绑定的控制器断开连接时暂停模拟器。 - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix 如果创建存档时即时存档已存在则创建即时存档的备份拷贝。备份副本具有 .backup 后缀 - + Enable CDVD Precaching 开启 CDVD 预缓存 - + Loads the disc image into RAM before starting the virtual machine. 在启动虚拟机前加载光盘映像到内存中。 - + Vertical Sync (VSync) 垂直同步 (VSync) - + Sync to Host Refresh Rate 同步为主机刷新率 - + Use Host VSync Timing 使用主机垂直同步计时 - + Disables PCSX2's internal frame timing, and uses host vsync instead. 禁用 PCSX2 的内部帧计时,使用主机垂直同步替代。 - + Disable Mailbox Presentation 关闭 Mailbox 呈现 - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. 强制在 Mailbox 呈现上使用FIFO,即双缓冲而不是三缓冲。通常会导致较差的帧间隔。 - + Audio Control 音频控制 - + Controls the volume of the audio played on the host. 控制主机上播放的音频的音量。 - + Fast Forward Volume 快进音量 - + Controls the volume of the audio played on the host when fast forwarding. 控制快进时主机上播放的音频的音量。 - + Mute All Sound 静音所有声音 - + Prevents the emulator from producing any audible sound. 防止模拟器发出任何可听到的声音。 - + Backend Settings 后端设置 - + Audio Backend 音频后端 - + The audio backend determines how frames produced by the emulator are submitted to the host. 音频后端确定模拟器如何将生成的帧提交给主机。 - + Expansion 扩展 - + Determines how audio is expanded from stereo to surround for supported games. 确定如何把支持游戏的音频从立体声扩展到环绕声。 - + Synchronization 同步 - + Buffer Size 缓冲大小 - + Determines the amount of audio buffered before being pulled by the host API. 确定主机 API 拉取之前缓冲的音频量。 - + Output Latency 输出延迟 - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. 确定主机 API 拾取音频和通过扬声器播放音频之间的延迟时间。 - + Minimal Output Latency 最小输出延迟 - + When enabled, the minimum supported output latency will be used for the host API. 开启后,主机 API 将使用支持的最小输出延迟。 - + Thread Pinning 线程锁定 - + Force Even Sprite Position 强制均匀活动块位置 - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. 启动、提交或失败排行榜挑战时显示弹出消息。 - + When enabled, each session will behave as if no achievements have been unlocked. 启用后,每个会话的行为就像没有解锁成就成果一样。 - + Account 账户 - + Logs out of RetroAchievements. 从 RetroAchievements 注销。 - + Logs in to RetroAchievements. 登录到 RetroAchievements。 - + Current Game 当前游戏 - + An error occurred while deleting empty game settings: {} 删除空游戏设置时发生了一个错误: {} - + An error occurred while saving game settings: {} 保存游戏设置时发生了一个错误: {} - + {} is not a valid disc image. {} 不是一个有效的光盘映像。 - + Automatic mapping completed for {}. 为 {} 完成自动映射。 - + Automatic mapping failed for {}. 为 {} 自动映射失败。 - + Game settings initialized with global settings for '{}'. 为 '{}' 使用全局设置初始化游戏设置。 - + Game settings have been cleared for '{}'. 已为 '{}' 清除设置。 - + {} (Current) {} (当前) - + {} (Folder) {} (文件夹) - + Failed to load '{}'. 加载 ’{}‘ 失败。 - + Input profile '{}' loaded. 已加载输入方案 '{}'。 - + Input profile '{}' saved. 已保存输入方案 '{}'。 - + Failed to save input profile '{}'. 保存输入方案 '{}' 失败。 - + Port {} Controller Type 端口 {} 控制器类型 - + Select Macro {} Binds 选择宏 {} 绑定 - + Port {} Device 端口 {} 设备 - + Port {} Subtype 端口 {} 子类型 - + {} unlabelled patch codes will automatically activate. {} 个无标签的补丁代码将会被自动激活。 - + {} unlabelled patch codes found but not enabled. 不会开启 {} 个无标签的补丁代码。 - + This Session: {} 此会话: {} - + All Time: {} 所有时间: {} - + Save Slot {0} 存档位置 {0} - + Saved {} 已保存 {} - + {} does not exist. {} 不存在。 - + {} deleted. 已删除 {}。 - + Failed to delete {}. 删除 {} 失败。 - + File: {} 文件:{} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} 已游玩时间: {} - + Last Played: {} 最后游玩时间: {} - + Size: {:.2f} MB 大小: {:.2f} MB - + Left: 左: - + Top: 上: - + Right: 右: - + Bottom: 下: - + Summary 统计 - + Interface Settings 界面设置 - + BIOS Settings BIOS 设置 - + Emulation Settings 模拟设置 - + Graphics Settings 图形设置 - + Audio Settings 音频设置 - + Memory Card Settings 记忆卡设置 - + Controller Settings 控制器设置 - + Hotkey Settings 热键设置 - + Achievements Settings 成就设置 - + Folder Settings 文件夹设置 - + Advanced Settings 高级设置 - + Patches 补丁 - + Cheats 修改 - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% 速度 - + 60% Speed 60% 速度 - + 75% Speed 75% 速度 - + 100% Speed (Default) 100% 速度 (默认) - + 130% Speed 130% 速度 - + 180% Speed 180% 速度 - + 300% Speed 300% 速度 - + Normal (Default) 普通 (默认) - + Mild Underclock 轻微降频 - + Moderate Underclock 中度降频 - + Maximum Underclock 最大降频 - + Disabled 关闭 - + 0 Frames (Hard Sync) 0 帧 (硬同步) - + 1 Frame 1 帧 - + 2 Frames 2 帧 - + 3 Frames 3 帧 - + None - + Extra + Preserve Sign 终极 + 保留符号 - + Full 完全 - + Extra 额外 - + Automatic (Default) 自动 (默认) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal Metal - + Software 软件 - + Null - + Off - + Bilinear (Smooth) 双线性 (平滑) - + Bilinear (Sharp) 双线性 (锐利) - + Weave (Top Field First, Sawtooth) 交织 (顶部优先,平滑) - + Weave (Bottom Field First, Sawtooth) 交织 (底部优先,平滑) - + Bob (Top Field First) Bob (顶部优先) - + Bob (Bottom Field First) Bob (底部优先) - + Blend (Top Field First, Half FPS) 混合 (顶部优先, 半数 FPS) - + Blend (Bottom Field First, Half FPS) 混合 (底部优先, 半数 FPS) - + Adaptive (Top Field First) 自适应 (顶部区域优先) - + Adaptive (Bottom Field First) 自适应 (底部区域优先) - + Native (PS2) 原生 (PS2) - + Nearest 最近似 - + Bilinear (Forced) 双线性 (强制) - + Bilinear (PS2) 双线性 (PS2) - + Bilinear (Forced excluding sprite) 双线性 (强制除活动块外) - + Off (None) 关 (无) - + Trilinear (PS2) 三线性 (PS2) - + Trilinear (Forced) 三线性 (强制) - + Scaled 缩放 - + Unscaled (Default) 不缩放 (默认) - + Minimum 最小 - + Basic (Recommended) 基础 (推荐) - + Medium 中等 - + High - + Full (Slow) 完全 (慢) - + Maximum (Very Slow) 最大 (非常慢) - + Off (Default) 关 (默认) - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - + Partial 部分 - + Full (Hash Cache) 完全 (散列缓存) - + Force Disabled 强制关闭 - + Force Enabled 强制开启 - + Accurate (Recommended) 精确 (推荐) - + Disable Readbacks (Synchronize GS Thread) 关闭回读 (同步 GS 线程) - + Unsynchronized (Non-Deterministic) 不同步 (不确定性) - + Disabled (Ignore Transfers) 关闭 (忽略传输) - + Screen Resolution 屏幕分辨率 - + Internal Resolution (Aspect Uncorrected) 内部分辨率 (不纠正高宽比) - + Load/Save State 载入/保存即时存档 - + WARNING: Memory Card Busy 警告: 记忆卡忙 - + Cannot show details for games which were not scanned in the game list. 无法显示未在游戏列表中扫描的游戏的详细信息。 - + Pause On Controller Disconnection 在控制器断开连接时暂停 - + + Use Save State Selector + 使用即时存档选择器 + + + SDL DualSense Player LED SDL DualSense 玩家 LED - + Press To Toggle 按住切换 - + Deadzone 死区 - + Full Boot 完全引导 - + Achievement Notifications 成就通知 - + Leaderboard Notifications 排行榜通知 - + Enable In-Game Overlays 开启游戏内覆盖层 - + Encore Mode Encore 模式 - + Spectator Mode 观众模式 - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. 在 CPU 而不是 GPU 上转换 4 位和 8 位帧缓冲。 - + Removes the current card from the slot. 从插槽中移除当前的记忆卡。 - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). 确定宏打开和关闭按钮的频率(也称为连发)。 - + {} Frames {} 帧 - + No Deinterlacing 无反交错 - + Force 32bit 强制 32 位 - + JPEG JPEG - + 0 (Disabled) 0 (关闭) - + 1 (64 Max Width) 1 (64 最大宽度) - + 2 (128 Max Width) 2 (128 最大宽度) - + 3 (192 Max Width) 3 (192 最大宽度) - + 4 (256 Max Width) 4 (256 最大宽度) - + 5 (320 Max Width) 5 (320 最大宽度) - + 6 (384 Max Width) 6 (384 最大宽度) - + 7 (448 Max Width) 7 (448 最大宽度) - + 8 (512 Max Width) 8 (512 最大宽度) - + 9 (576 Max Width) 9 (576 最大宽度) - + 10 (640 Max Width) 10 (640 最大宽度) - + Sprites Only 仅活动块 - + Sprites/Triangles 活动块/三角形 - + Blended Sprites/Triangles 绑定的活动块/三角形 - + 1 (Normal) 1 (普通) - + 2 (Aggressive) 2 (激进) - + Inside Target 在目标内部 - + Merge Targets 合并目标 - + Normal (Vertex) 普通 (顶点) - + Special (Texture) 特殊 (纹理) - + Special (Texture - Aggressive) 特殊 (纹理 - 激进) - + Align To Native 与本地对齐 - + Half 一半 - + Force Bilinear 强制双线性 - + Force Nearest 强制最邻近 - + Disabled (Default) 关闭 (默认) - + Enabled (Sprites Only) 开启 (仅活动块) - + Enabled (All Primitives) 开启 (所有元素) - + None (Default) 无 (默认) - + Sharpen Only (Internal Resolution) 仅锐化 (内部分辨率) - + Sharpen and Resize (Display Resolution) 锐化并调整大小 (显示分辨率) - + Scanline Filter 扫描线滤镜 - + Diagonal Filter 对角线滤镜 - + Triangular Filter 三角滤镜 - + Wave Filter 波形滤镜 - + Lottes CRT 乐天 CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed 未压缩 - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative 负数 - + Positive 正数 - + Chop/Zero (Default) 舍去/清零(默认) - + Game Grid 游戏网格 - + Game List 游戏列表 - + Game List Settings 游戏列表设置 - + Type 类型 - + Serial 序列号 - + Title 标题 - + File Title 文件标题 - + CRC CRC - + Time Played 已游玩时间 - + Last Played 最后游戏时间 - + Size 大小 - + Select Disc Image 选择光盘映像 - + Select Disc Drive 选择光盘驱动器 - + Start File 启动文件 - + Start BIOS 启动 BIOS - + Start Disc 启动光盘 - + Exit 退出 - + Set Input Binding 设置输入绑定 - + Region 区域 - + Compatibility Rating 兼容性等级 - + Path 路径 - + Disc Path 光盘路径 - + Select Disc Path 选择光盘路径 - + Copy Settings 复制设置 - + Clear Settings 清除设置 - + Inhibit Screensaver 禁用屏幕保护程序 - + Enable Discord Presence 开启 Discord Presence - + Pause On Start 启动时暂停 - + Pause On Focus Loss 丢失焦点时暂停 - + Pause On Menu 菜单中暂停 - + Confirm Shutdown 确认退出 - + Save State On Shutdown 关闭时保存即时存档 - + Use Light Theme 使用浅色主题 - + Start Fullscreen 启动全屏幕 - + Double-Click Toggles Fullscreen 双击切换全屏幕 - + Hide Cursor In Fullscreen 全屏模式下隐藏光标 - + OSD Scale OSD 比例 - + Show Messages 显示消息 - + Show Speed 显示速度 - + Show FPS 显示 FPS - + Show CPU Usage 显示 CPU 占用率 - + Show GPU Usage 显示 GPU 占用率 - + Show Resolution 显示分辨率 - + Show GS Statistics 显示 GS 统计 - + Show Status Indicators 显示状态指示器 - + Show Settings 显示设置 - + Show Inputs 显示输入 - + Warn About Unsafe Settings 警告不安全的设置 - + Reset Settings 重置设置 - + Change Search Directory 更改搜索目录 - + Fast Boot 快速引导 - + Output Volume 输出音量 - + Memory Card Directory 记忆卡目录 - + Folder Memory Card Filter 文件夹记忆卡筛选器 - + Create 创建 - + Cancel 取消 - + Load Profile 载入方案 - + Save Profile 保存方案 - + Enable SDL Input Source 开启 SDL 输入源 - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense 增强模式 - + SDL Raw Input SDL Raw 输入 - + Enable XInput Input Source 开启 XInput 输入源 - + Enable Console Port 1 Multitap 开启主机端口 1 多分插 - + Enable Console Port 2 Multitap 开启主机端口 2 多分插 - + Controller Port {}{} 控制器端口 {}{} - + Controller Port {} 控制器端口 {} - + Controller Type 控制器类型 - + Automatic Mapping 自动映射 - + Controller Port {}{} Macros 控制器端口 {}{} 宏 - + Controller Port {} Macros 控制器端口 {} 宏 - + Macro Button {} 宏按钮 {} - + Buttons 按钮 - + Frequency 频率 - + Pressure 压敏 - + Controller Port {}{} Settings 控制器端口 {}{} 设置 - + Controller Port {} Settings 控制器端口 {} 设置 - + USB Port {} USB 端口 {} - + Device Type 设备类型 - + Device Subtype 设备子类型 - + {} Bindings {} 条绑定 - + Clear Bindings 清除绑定 - + {} Settings {} 个设置 - + Cache Directory 缓存目录 - + Covers Directory 封面目录 - + Snapshots Directory 快照目录 - + Save States Directory 即时存档目录 - + Game Settings Directory 游戏设置目录 - + Input Profile Directory 输入方案目录 - + Cheats Directory 作弊目录 - + Patches Directory 补丁目录 - + Texture Replacements Directory 纹理替换目录 - + Video Dumping Directory 视频转储目录 - + Resume Game 继续游戏 - + Toggle Frame Limit 切换帧数限制 - + Game Properties 游戏属性 - + Achievements 成就 - + Save Screenshot 保存截图 - + Switch To Software Renderer 切换到软件渲染器 - + Switch To Hardware Renderer 切换到硬件渲染器 - + Change Disc 更换光盘 - + Close Game 关闭游戏 - + Exit Without Saving 退出不存档 - + Back To Pause Menu 返回到暂停菜单 - + Exit And Save State 退出并即时存档 - + Leaderboards 排行榜 - + Delete Save 删除存档 - + Close Menu 关闭菜单 - + Delete State 删除即时存档 - + Default Boot 默认引导 - + Reset Play Time 重置游戏时间 - + Add Search Directory 添加搜索目录 - + Open in File Browser 在文件浏览器中打开 - + Disable Subdirectory Scanning 关闭子目录搜索 - + Enable Subdirectory Scanning 开启子目录搜索 - + Remove From List 从列表中移除 - + Default View 默认视图 - + Sort By 排序方式 - + Sort Reversed 反转排序 - + Scan For New Games 搜索新游戏 - + Rescan All Games 重新扫描所有游戏 - + Website 网站 - + Support Forums 支持论坛 - + GitHub Repository GitHub 存储库 - + License 许可 - + Close 关闭 - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration 被用于替代内置的成就实现。 - + Enable Achievements 开启成就 - + Hardcore Mode 硬核模式 - + Sound Effects 声音效果 - + Test Unofficial Achievements 测试非官方成就 - + Username: {} 用户名: {} - + Login token generated on {} 登录凭据生成于{} - + Logout 注销 - + Not Logged In 未登录 - + Login 登录 - + Game: {0} ({1}) 游戏: {0} ({1}) - + Rich presence inactive or unsupported. 未激活富在线状态或不支持。 - + Game not loaded or no RetroAchievements available. 未加载游戏或无 RetroAchievements 可用。 - + Card Enabled 开启卡带 - + Card Name 卡带名称 - + Eject Card 弹出卡带 @@ -11066,32 +11125,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. 由于您加载了未标记的补丁因此将禁用 PCSX2 中捆绑的任何此游戏的补丁。 - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs 所有 CRC - + Reload Patches 重载补丁 - + Show Patches For All CRCs 显示所有 CRC 的补丁 - + Checked 选中 - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. 切换扫描游戏所有 CRC 的补丁文件。启用此功能后还将加载具有不同 CRC 游戏序列号的可用补丁。 - + There are no patches available for this game. 没有此游戏可用的补丁。 @@ -11567,11 +11636,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) 关 (默认) @@ -11581,10 +11650,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) 自动 (默认) @@ -11651,7 +11720,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. 双线性 (平滑) @@ -11717,29 +11786,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets 屏幕偏移 - + Show Overscan 显示过扫描 - - - Enable Widescreen Patches - 开启宽屏补丁 - - - - Enable No-Interlacing Patches - 开启反隔行扫描补丁 - - + Anti-Blur 反模糊 @@ -11750,7 +11809,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset 关闭隔行扫描偏移 @@ -11760,18 +11819,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne 截图尺寸: - + Screen Resolution 屏幕分辨率 - + Internal Resolution 内部分辨率 - + PNG PNG @@ -11823,7 +11882,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) 双线性 (PS2) @@ -11870,7 +11929,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) 不缩放 (默认) @@ -11886,7 +11945,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) 基础 (推荐) @@ -11922,7 +11981,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) 完全 (散列缓存) @@ -11938,31 +11997,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion 关闭深度转换 - + GPU Palette Conversion GPU 调色板转换 - + Manual Hardware Renderer Fixes 手动硬件渲染器修复 - + Spin GPU During Readbacks 在回读期间保持 GPU 运行 - + Spin CPU During Readbacks 在回读期间保持 CPU 运行 @@ -11974,15 +12033,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping Mipmap 贴图 - - + + Auto Flush 自动清理 @@ -12010,8 +12069,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (关闭) @@ -12068,18 +12127,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features 关闭安全功能 - + Preload Frame Data 预载帧数据 - + Texture Inside RT 纹理内部 RT @@ -12178,13 +12237,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite 合并活动快 - + Align Sprite 对齐活动块 @@ -12198,16 +12257,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing 无反交错 - - - Apply Widescreen Patches - 应用宽屏补丁 - - - - Apply No-Interlacing Patches - 应用反隔行补丁 - Window Resolution (Aspect Corrected) @@ -12280,25 +12329,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation 禁用部分源无效 - + Read Targets When Closing 关闭时读取目标 - + Estimate Texture Region 估计纹理区域 - + Disable Render Fixes 关闭渲染器修复 @@ -12309,7 +12358,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws 未缩放的调色板纹理绘制 @@ -12368,25 +12417,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures 转储纹理 - + Dump Mipmaps 转储 mipmap 贴图 - + Dump FMV Textures 转储 FMV 纹理 - + Load Textures 加载纹理 @@ -12396,6 +12445,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) 原生 (10:7) + + + Apply Widescreen Patches + 应用宽屏补丁 + + + + Apply No-Interlacing Patches + 应用反隔行补丁 + Native Scaling @@ -12413,13 +12472,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position 强制均匀活动块位置 - + Precache Textures 预缓存纹理 @@ -12442,8 +12501,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) 无 (默认) @@ -12464,7 +12523,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12516,7 +12575,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost Shade Boost @@ -12531,7 +12590,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne 对比度: - + Saturation 饱和度 @@ -12552,50 +12611,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators 显示指示器 - + Show Resolution 显示分辨率 - + Show Inputs 显示输入 - + Show GPU Usage 显示 GPU 占用率 - + Show Settings 显示设置 - + Show FPS 显示 FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. 关闭 Mailbox 呈现 - + Extended Upscaling Multipliers 扩展升格倍数 @@ -12611,13 +12670,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics 显示统计信息 - + Asynchronous Texture Loading 异步纹理加载 @@ -12628,13 +12687,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage 显示 CPU 占用率 - + Warn About Unsafe Settings 警告不安全的设置 @@ -12660,7 +12719,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) 左 (默认) @@ -12671,43 +12730,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) 右 (默认) - + Show Frame Times 显示帧时间 - + Show PCSX2 Version 显示 PCSX2 版本 - + Show Hardware Info 显示硬件信息 - + Show Input Recording Status 显示输入录制状态 - + Show Video Capture Status 显示视频捕获状态 - + Show VPS 显示 VPS @@ -12816,19 +12875,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames 跳过显示重复帧 - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12881,7 +12940,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages 显示速度百分比 @@ -12891,1214 +12950,1214 @@ Swap chain: see Microsoft's Terminology Portal. 关闭帧缓冲获取 - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. 软件 - + Null Null here means that this is a graphics backend that will show nothing. - + 2x 2x - + 4x 4x - + 8x 8x - + 16x 16x - - - - + + + + Use Global Setting [%1] 使用全局设置 [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked 不勾选 - + + Enable Widescreen Patches + 开启宽屏补丁 + + + Automatically loads and applies widescreen patches on game start. Can cause issues. 游戏开始时自动加载和应用宽屏补丁。可能会导致问题。 - + + Enable No-Interlacing Patches + 开启反隔行扫描补丁 + + + Automatically loads and applies no-interlacing patches on game start. Can cause issues. 在游戏开始时自动加载和应用非隔行扫描补丁。可能会导致问题。 - + Disables interlacing offset which may reduce blurring in some situations. 关闭隔行扫描偏移这在某些情况下可能会减少模糊。 - + Bilinear Filtering 双线性过滤 - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. 启用双线性后处理过滤器。使显示在屏幕上的画面整体更加平滑。更正了像素之间的位置。 - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. 启用根据游戏要求定位屏幕的 PCRTC 偏移量。适用于某些游戏如 Wapout Fusion 的屏幕抖动效果,但可能会使图片变得模糊。 - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 启用该选项可显示绘制在超过屏幕安全区域的过扫描区域。 - + FMV Aspect Ratio Override FMV 高宽比替代 - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. 确定要在模拟主机的隔行扫描屏幕上使用的去隔行扫描方法。自动应该能够正确地对大多数游戏进行隔行扫描,但如果您看到明显不稳定的图像,请尝试其它可用选项。 - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. 控制 GS 混合单元模拟的精度级别。<br>设置越高,着色器中模拟的混合越准确,速度损失就越大。<br>请注意与 OpenGL/Vulkan 相比 Direct3D 的混合在功能性上稍差。 - + Software Rendering Threads 软件渲染线程 - + CPU Sprite Render Size CPU 活动块渲染器大小 - + Software CLUT Render 软件 Clut 渲染 - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. 尝试检测游戏何时绘制自己的调色板然后通过特殊处理将其渲染到GPU上。 - + This option disables game-specific render fixes. 此选项会关闭指定的游戏渲染器修复。 - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. 默认情况下,纹理缓存处理部分失效。不幸的是以 CPU 为基础的计算成本非常高。这种 hack 将部分失效替换为纹理的完全删除用来减少 CPU 负载。这对 Snowblind 引擎游戏很有帮助。 - + Framebuffer Conversion 帧缓冲区转换 - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. 在 CPU 而不是 GPU 上转换 4 位和 8 位帧缓冲区。帮助哈利波特和特技演员游戏。它对性能有很大的影响。 - - + + Disabled 关闭 - - Remove Unsupported Settings - 移除不支持的设置 - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - 您当前为此游戏启用了<strong>启用宽屏补丁</strong>或<strong>启用反隔行扫描补丁</strong>选项。<br><br>我们不再支持这些选项,作为替代<strong>您应该选择 "补丁" 选项卡,并明确的启用所需的补丁。</strong><br><br>是否要立即从您的游戏配置中删除这些选项? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. 替代全动态视频 (FMV) 高宽比。如果关闭,FMV 高宽比将与常规长宽比设置匹配相同的值。 - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. 启用 mipmap,某些游戏需要它才能正确渲染。mipmap 在距离逐渐更远的地方使用逐渐降低分辨率的纹理变体以减少处理负载并避免视觉伪影。 - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. 更改用于将纹理映射到表面的过滤算法。<br>最接近的: 不尝试混合颜色。<br>双线性 (强制): 即使游戏告诉 PS2 不要这样做,也会将颜色混合在一起,以去除不同颜色像素之间的粗糙边缘。<br>双线性 (PS2): 将过滤应用于游戏指示 PS2 过滤的所有表面。<br>双线性 (强制排除活动块): 将对所有表面应用过滤,即使游戏告诉 PS2 不要这样做,活动块除外。 - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. 通过从两个最近的 mipmap 贴图中采样颜色,减少应用于小而陡角度表面的大型纹理的模糊度。要求纹理贴图处于 “打开” 状态。<br>关闭: 禁用该功能。<br>三线性(PS2): 对游戏指示 PS2 进行的所有表面进行三线性过滤。<br>三线性(强制): 对所有表面进行三线性过滤,即使游戏告诉 PS2 不要这样做。 - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. 减少颜色之间的色带并改善可感知的颜色深度。<br>关: 禁用任何抖动。<br>缩放: 可识别升阶/最高抖动效果。<br>未缩放: 本机抖动/最低抖动效果在缩放时不会增加正方形的大小。<br>强制 32 位: 将所有绘制视为32位以避免条带和抖动。 - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. 在读回期间对 CPU 执行无用的工作以防止其进入省电模式。可以提高读回期间的性能但会显著增加功耗。 - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. 在回读期间向 GPU 提交无用的工作以防止其进入省电模式。可以提高读回期间的性能但会显著增加功耗。 - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. 渲染线程数:单线程为 0,多线程为 2 或更多(1 为调试)。建议使用 2 到 4 个线程,超过这个数可能会更慢而不是更快。 - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. 禁用纹理缓存中深度缓冲区的支持。可能会造成各种问题并且仅对调试有用。 - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. 允许纹理缓存将上一个帧缓冲区的内部数据作为输入纹理重新使用。 - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. 关闭时将纹理缓存中的所有目标刷新回本地内存。可以防止在即时存档或切换渲染器时丢失图形效果,但也可能导致图形损坏。 - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). 尝试在游戏本身不设置纹理大小时减小纹理大小(例如 Snowblind 游戏)。 - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. 修正了在 Namco 游戏中升格(垂直线)的问题,如皇牌空战、铁拳、刀魂等。 - + Dumps replaceable textures to disk. Will reduce performance. 将可替换纹理转储到磁盘。会降低性能。 - + Includes mipmaps when dumping textures. 在转储纹理时包含 mipmap 贴图。 - + Allows texture dumping when FMVs are active. You should not enable this. 在 FNV 活动时允许纹理转储。您应该开启此选项。 - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. 将替换纹理加载到辅助线程上,从而在启用替换时减少微卡顿。 - + Loads replacement textures where available and user-provided. 加载用户提供的可用替换纹理。 - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. 预先加载所有的替换纹理到内存中。不再需要异步加载。 - + Enables FidelityFX Contrast Adaptive Sharpening. 开启 FidelityFX 对比度自适应锐化。 - + Determines the intensity the sharpening effect in CAS post-processing. 确定 CAS 后处理中锐化效果的强度。 - + Adjusts brightness. 50 is normal. 调节亮度。50 为普通。 - + Adjusts contrast. 50 is normal. 调节对比度。50 为普通。 - + Adjusts saturation. 50 is normal. 调节饱和度。50 为普通。 - + Scales the size of the onscreen OSD from 50% to 500%. 将屏幕 OSD 的大小调整至 50% 到 500% 之间。 - + OSD Messages Position OSD 消息位置 - + OSD Statistics Position OSD 统计信息位置 - + Shows a variety of on-screen performance data points as selected by the user. 在屏幕上显示由用户选定的性能数据点。 - + Shows the vsync rate of the emulator in the top-right corner of the display. 在画面的右上角显示模拟器的垂直同步率。 - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. 显示如暂停、加速、快进和慢动作等模拟状态的 OSD 图标指示器。 - + Displays various settings and the current values of those settings, useful for debugging. 显示各种设置以及这些设置的当前值,这对调试很有用。 - + Displays a graph showing the average frametimes. 显示一个表示平均帧时间的图表。 - + Shows the current system hardware information on the OSD. 在 OSD 上显示当前系统的硬件信息。 - + Video Codec 视频编码器 - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> 选择要用于视频捕获的视频编码器。<b>如果不确定,请将其保留为默认。<b> - + Video Format 视频格式 - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> 选择视频捕获要使用哪种视频格式。如果选择了编码器不支持的格式,那么系统就会自动使用第一个可用的格式。<b>如果不确定,请保持默认值。<b> - + Video Bitrate 视频位率 - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. 设置要使用的视频位率。更大的位率通常会产生更好的视频质量但代价是产生更大的文件。 - + Automatic Resolution 自动分辨率 - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> 选中时,视频捕获分辨率将遵循正在运行的游戏的内部分辨率。<br><br><b>要小心使用此设置,特别别是当您正在使用升格时,因为较高的内部分辨率(高于4倍)可能会导致非常大的视频捕获并可能导致系统过载。</b> - + Enable Extra Video Arguments 开启额外的视频参数 - + Allows you to pass arguments to the selected video codec. 允许您将参数传递给选定的视频编码器。 - + Extra Video Arguments 额外的视频参数 - + Audio Codec 音频编码器 - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> 选择要用于视频捕获的音频编码器。<b>如果不确定,请将其保留为默认。<b> - + Audio Bitrate 音频位率 - + Enable Extra Audio Arguments 开启额外的音频参数 - + Allows you to pass arguments to the selected audio codec. 允许您将参数传递给选定的音频编码器。 - + Extra Audio Arguments 额外的音频参数 - + Allow Exclusive Fullscreen 允许独占全屏 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. 替代驱动程序的规则以启用独占全屏或直接翻转/扫描。<br>禁用独占全屏可能会使得认为切换以及覆盖更加流畅,但会增加输入延迟。 - + 1.25x Native (~450px) 1.25 倍原生 (~450px) - + 1.5x Native (~540px) 1.5 倍原生 (~540px) - + 1.75x Native (~630px) 1.75 倍原生 (~630px) - + 2x Native (~720px/HD) 2 倍原生 (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5 倍原生 (~900px/HD+) - + 3x Native (~1080px/FHD) 3 倍原生 (~1080px/FHD) - + 3.5x Native (~1260px) 3.5 倍原生 (~1260px) - + 4x Native (~1440px/QHD) 4 倍原生 (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5 倍原生 (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6 倍原生 (~2160px/4K UHD) - + 7x Native (~2520px) 7 倍原生 (~2520px) - + 8x Native (~2880px/5K UHD) 8 倍原生 (~2880px/5K UHD) - + 9x Native (~3240px) 9 倍原生 (~3240px) - + 10x Native (~3600px/6K UHD) 10 倍原生 (~3600px/6K UHD) - + 11x Native (~3960px) 11 倍原生 (~3960px) - + 12x Native (~4320px/8K UHD) 12 倍原生 (~4320px/8K UHD) - + 13x Native (~4680px) 13 倍原生 (~4680px) - + 14x Native (~5040px) 14 倍原生 (~5040px) - + 15x Native (~5400px) 15 倍原生 (~5400px) - + 16x Native (~5760px) 16 倍原生 (~5760px) - + 17x Native (~6120px) 17 倍原生 (~6120px) - + 18x Native (~6480px/12K UHD) 18 倍原生 (~6480px/12K UHD) - + 19x Native (~6840px) 19 倍原生 (~6840px) - + 20x Native (~7200px) 20 倍原生 (~7200px) - + 21x Native (~7560px) 21 倍原生 (~7560px) - + 22x Native (~7920px) 22 倍原生 (~7920px) - + 23x Native (~8280px) 23 倍原生 (~8280px) - + 24x Native (~8640px/16K UHD) 24 倍原生 (~8640px/16K UHD) - + 25x Native (~9000px) 25 倍原生 (~9000px) - - + + %1x Native %1 倍原生 - - - - - - - - - + + + + + + + + + Checked 选中 - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 启用内部反模糊 hack。这会降低 PS2 的渲染精度但会使许多游戏看起来不那么模糊。 - + Integer Scaling 整数倍拉伸 - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. 填充显示区域以确保主机上的像素与游戏机中的像素之间的比率为整数。可能会在一些2D游戏中产生更清晰的图像。 - + Aspect Ratio 高宽比 - + Auto Standard (4:3/3:2 Progressive) 自动标准 (4:3/3:2 逐行) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. 更改用于将主机的输出显示到屏幕上的高宽比。默认的是自动标准(4:3/3:2 逐行) 它会自动调整宽高比来匹配游戏在那个时代的典型电视上的显示方式。 - + Deinterlacing 反交错 - + Screenshot Size 截图尺寸 - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. 确定保存屏幕截图的分辨率。内部分辨率以文件大小为代价保留了更多细节。 - + Screenshot Format 截图格式 - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. 选择将用于保存屏幕截图的格式。JPEG 会生成较小的文件,但会丢失细节。 - + Screenshot Quality 截图质量 - - + + 50% 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. 选择屏幕截图压缩的质量。值越高可以为 JPEG 保留更多细节并减小 PNG 的文件大小。 - - + + 100% 100% - + Vertical Stretch 垂直拉伸 - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. 拉伸 (&lt; 100%) 或收缩 (&gt; 100%) 显示的垂直部分。 - + Fullscreen Mode 全屏模式 - - - + + + Borderless Fullscreen 无边框全屏幕 - + Chooses the fullscreen resolution and frequency. 选择全屏分辨率和频率。 - + Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. 更改从显示屏左侧裁剪的像素数。 - + Top - + Changes the number of pixels cropped from the top of the display. 更改从显示屏顶端裁剪的像素数。 - + Right - + Changes the number of pixels cropped from the right side of the display. 更改从显示屏右侧裁剪的像素数。 - + Bottom - + Changes the number of pixels cropped from the bottom of the display. 更改从显示屏底部裁剪的像素数。 - - + + Native (PS2) (Default) 原生 (PS2) (默认) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. 控制渲染游戏的分辨率。高分辨率可能会影响较旧或较低端 GPU 的性能。<br>非本机分辨率可能会在某些游戏中导致轻微的图形问题。<br>FMV分辨率将保持不变,因为视频文件是预先渲染的。 - + Texture Filtering 纹理过滤 - + Trilinear Filtering 三线性过滤 - + Anisotropic Filtering 各意向性过滤 - + Reduces texture aliasing at extreme viewing angles. 减少极端视角下的纹理锯齿。 - + Dithering 抖动 - + Blending Accuracy 混合精确性 - + Texture Preloading 预加载纹理 - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. 一次上载整个纹理而不是小块,尽可能避免多余的上载。提高了大多数游戏的性能,但在少数情况下会导致降速。 - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. 开启时 GPU 会转换颜色贴图纹理,否则 CPU 会。这是 GPU 和 CPU 之间的权衡。 - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. 启用此选项后您可以更改渲染器并升级游戏的修复。但是如果您已启用此选项,您将禁用自动设置并可以通过取消选中此选项来重新启用自动设置。 - + 2 threads 2 线程 - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. 当帧缓冲区也是输入纹理时强制简易刷新。修正了一些处理效果如 JAK 系列中的阴影和 GTA:SA 中的光线传递。 - + Enables mipmapping, which some games require to render correctly. 启用 mipmap 贴图,某些游戏需要它才能正确渲染。 - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. 允许 CPU 活动块渲染器上激活的最大目标内存宽度。 - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. 尝试检测游戏何时绘制自己的调色板然后在软件中渲染它,而不是在 GPU 上。 - + GPU Target CLUT GPU 目标 CLUT - + Skipdraw Range Start 跳过描绘范围开始 - - - - + + + + 0 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. 完全跳过绘制表面,从左侧框中的表面一直到右侧框中指定的表面。 - + Skipdraw Range End 跳过描绘范围结束 - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. 此选项禁用多个安全功能。禁用精确的未缩放的点和线渲染这可以改善异度传说游戏。禁用要在 CPU上 完成的精确 GS 内存清除,并让 GPU 处理它,这可以改善王国之心游戏。 - + Uploads GS data when rendering a new frame to reproduce some effects accurately. 渲染新帧时上载 GS 数据以准确再现某些效果。 - + Half Pixel Offset 半像素偏移 - + Might fix some misaligned fog, bloom, or blend effect. 可能会修复一些未对齐的雾、光晕或混合效果。 - + Round Sprite 取整活动块 - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. 修复了缩放时 2D 活动块纹理的采样。修正了类似魔塔大陆等游戏升格时活动块中的线条。半选项适用于扁平活动块,完整选项适用于所有活动块。 - + Texture Offsets X 纹理偏移 X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. ST/UV纹理坐标的偏移。修复了一些奇怪的纹理问题也可能修复了一些后处理对齐。 - + Texture Offsets Y 纹理偏移 Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. 降低 GS 精度以避免在缩放时像素之间出现间隙。修正了 Wild Arms 游戏中的文字。 - + Bilinear Upscale 双线性升格 - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. 由于在缩放时会进行双线性过滤所以可以平滑纹理。 - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. 将后处理的多个铺装活动块替换为单个胖活动块。它减少了各种升格后的线条。 - + Force palette texture draws to render at native resolution. 强制调色板纹理绘制使用原生分辨率进行渲染。 - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx 对比度自适应锐化 - + Sharpness 锐化 - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. 允许调整饱和度、对比度和亮度。亮度、饱和度和对比度的值默认为 50。 - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. 应用 FXAA 抗锯齿算法来提高游戏的图像质量。 - + Brightness 明亮 - - - + + + 50 50 - + Contrast 对比度 - + TV Shader TV 着色器 - + Applies a shader which replicates the visual effects of different styles of television set. 应用可复现多种不同电视视觉效果的着色器。 - + OSD Scale OSD 比例 - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. 显示屏显消息-当事件发生时显示消息例如正在创建/加载保存即时存档、正在截取屏幕截图等。 - + Shows the internal frame rate of the game in the top-right corner of the display. 在屏幕的右上角显示游戏的内部帧速率。 - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. 在屏幕的右上角以百分比形式显示系统的当前模拟速度。 - + Shows the resolution of the game in the top-right corner of the display. 在屏幕的右上角显示游戏的分辨率。 - + Shows host's CPU utilization. 显示主机的 CPU 占用率。 - + Shows host's GPU utilization. 显示主机的 GPU 占用率。 - + Shows counters for internal graphical utilization, useful for debugging. 显示用于内部图形使用的计数器,对调试很有用。 - + Shows the current controller state of the system in the bottom-left corner of the display. 在显示器的左下角显示系统的当前控制器状态。 - + Shows the current PCSX2 version on the top-right corner of the display. 在显示器的右上角显示当前的 PCSX2 版本。 - + Shows the currently active video capture status. 显示当前活动的视频捕获状态。 - + Shows the currently active input recording status. 显示当前活动的输入状态。 - + Displays warnings when settings are enabled which may break games. 当设置可能破坏游戏时显示警告。 - - + + Leave It Blank 请留空它 - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" 传递给所选视频编解码器的参数。<br><b>必须使用‘=’将键与值分开,并使用‘:’将两对分开。</b><br>例如:“CRF=21:Preset=Veryfast” - + Sets the audio bitrate to be used. 设置要使用的音频位率。 - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" 传递给所选音频编解码器的参数。<br><b>必须使用‘=’将键与值分开,并使用‘:’将两对分开。</b><br>例如:“COMPRESSION_LEVEL=4:JOIN_STEREO=1” - + GS Dump Compression GS 转储压缩 - + Change the compression algorithm used when creating a GS dump. 更改创建 GS 转储时使用的压缩算法。 - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit 使用 Direct3D 11 渲染器时使用 blit 演示模型而不是翻转。这通常会导致性能降低,但对于某些流应用程序或在某些系统上取消帧速率上限可能是必需的。 - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. 检测 25/30fps 游戏中何时呈现空闲帧,并跳过呈现这些帧。帧仍然被渲染,这只是意味着图形处理器有更多时间来完成它(这不是跳帧)。当 CPU/GPU 接近最大利用率时可以平滑帧时间波动,但会使帧节奏更加不一致并且可能会增加输入延迟。 - + Displays additional, very high upscaling multipliers dependent on GPU capability. 按照 GPU 的性能显示额外的,非常高的升格倍数。 - + Enable Debug Device 开启调试设备 - + Enables API-level validation of graphics commands. 启用图形命令的 API 级验证。 - + GS Download Mode GS 下载模式 - + Accurate 精确 - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. 跳过 GS 线程和主机 GPU 进行 GS 下载的同步。可能会在速度较慢的系统上大幅提升速度,但代价是许多损坏的图形效果。如果游戏被破坏并且您启用了此选项,请先禁用它。 - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. 默认 - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. 强制在 Mailbox 呈现上使用FIFO,即双缓冲而不是三缓冲。通常会导致较差的帧间隔。 @@ -14106,7 +14165,7 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format 默认 @@ -14323,254 +14382,254 @@ Swap chain: see Microsoft's Terminology Portal. 在位置 {} 没找到即时存档。 - - - + + - - - - + + + + - + + System 系统 - + Open Pause Menu 打开暂停菜单 - + Open Achievements List 打开成就列表 - + Open Leaderboards List 打开排行榜列表 - + Toggle Pause 切换暂停 - + Toggle Fullscreen 切换全屏 - + Toggle Frame Limit 切换帧数限制 - + Toggle Turbo / Fast Forward 切换加速 / 快进 - + Toggle Slow Motion 切换慢动作 - + Turbo / Fast Forward (Hold) 加速/快进(保持) - + Increase Target Speed 增加目标速度 - + Decrease Target Speed 降低目标速度 - + Increase Volume 增大音量 - + Decrease Volume 减小音量 - + Toggle Mute 切换静音 - + Frame Advance 帧步进 - + Shut Down Virtual Machine 关闭虚拟机 - + Reset Virtual Machine 重置虚拟机 - + Toggle Input Recording Mode 切换输入录制模式 - - + + Save States 即时存档 - + Select Previous Save Slot 选择上一个即时存档位置 - + Select Next Save Slot 选择下一个即时存档位置 - + Save State To Selected Slot 保存即时存档到选定的位置 - + Load State From Selected Slot 从选定的位置加载即时存档 - + Save State and Select Next Slot 即时存档并选择下一个位置 - + Select Next Slot and Save State 选择一个位置并即时存档 - + Save State To Slot 1 保存即时存档到位置 1 - + Load State From Slot 1 从位置 1 加载即时存档 - + Save State To Slot 2 保存即时存档到位置 2 - + Load State From Slot 2 从位置 2 加载即时存档 - + Save State To Slot 3 保存即时存档到位置 3 - + Load State From Slot 3 从位置 3 加载即时存档 - + Save State To Slot 4 保存即时存档到位置 4 - + Load State From Slot 4 从位置 4 加载即时存档 - + Save State To Slot 5 保存即时存档到位置 5 - + Load State From Slot 5 从位置 5 加载即时存档 - + Save State To Slot 6 保存即时存档到位置 6 - + Load State From Slot 6 从位置 6 加载即时存档 - + Save State To Slot 7 保存即时存档到位置 7 - + Load State From Slot 7 从位置 7 加载即时存档 - + Save State To Slot 8 保存即时存档到位置 8 - + Load State From Slot 8 从位置 8 加载即时存档 - + Save State To Slot 9 保存即时存档到位置 9 - + Load State From Slot 9 从位置 9 加载即时存档 - + Save State To Slot 10 保存即时存档到位置 10 - + Load State From Slot 10 从位置 10 加载即时存档 @@ -15447,594 +15506,608 @@ Right click to clear binding 系统(&S) - - - + + Change Disc 更换光盘 - - + Load State 加载即时存档 - - Save State - 保存即时存档 - - - + S&ettings 设置(&E) - + &Help 帮助(&H) - + &Debug 调试(&D) - - Switch Renderer - 切换渲染器 - - - + &View 视图(&V) - + &Window Size 窗口大小(&W) - + &Tools 工具(&T) - - Input Recording - 录制输入 - - - + Toolbar 工具栏 - + Start &File... 启动文件(&F)... - - Start &Disc... - 启动光盘(&D)... - - - + Start &BIOS 启动 &BIOS - + &Scan For New Games 扫描新游戏(&S) - + &Rescan All Games 重新扫描所有游戏(&R) - + Shut &Down 关机(&D) - + Shut Down &Without Saving 关闭并不保存(&W) - + &Reset 重启(&R) - + &Pause 暂停(&P) - + E&xit 退出(&X) - + &BIOS &BIOS - - Emulation - 模拟 - - - + &Controllers 控制器(&C) - + &Hotkeys 热键(&H) - + &Graphics 图形(&G) - - A&chievements - 成就(&C) - - - + &Post-Processing Settings... 前置处理设置(&P)... - - Fullscreen - 全屏幕 - - - + Resolution Scale 分辨率比例 - + &GitHub Repository... &GitHub 存储库... - + Support &Forums... 支持论坛(&F)... - + &Discord Server... &Discord 服务器... - + Check for &Updates... 检查更新(&U)... - + About &Qt... 关于 &Qt... - + &About PCSX2... 关于 PCSX2(&A)... - + Fullscreen In Toolbar 全屏幕 - + Change Disc... In Toolbar 更换光盘... - + &Audio 音频(&A) - - Game List - 游戏列表 - - - - Interface - 界面 + + Global State + 全局状态 - - Add Game Directory... - 添加游戏目录... + + &Screenshot + 截图(&S) - - &Settings - 设置(&S) + + Start File + In Toolbar + 启动文件 - - From File... - 来自文件... + + &Change Disc + 更换光盘(&C) - - From Device... - 来自设备... + + &Load State + 加载即时存档(&L) - - From Game List... - 来自游戏列表... + + Sa&ve State + 保存即时存档(&V) - - Remove Disc - 移除光盘 + + Setti&ngs + 设置(&N) - - Global State - 全局状态 + + &Switch Renderer + 切换渲染器(&S) - - &Screenshot - 截图(&S) + + &Input Recording + 录制输入(&I) - - Start File - In Toolbar - 启动文件 + + Start D&isc... + 启动光盘(&I)... - + Start Disc In Toolbar 启动光盘 - + Start BIOS In Toolbar 启动 BIOS - + Shut Down In Toolbar 关机 - + Reset In Toolbar 重置 - + Pause In Toolbar 暂停 - + Load State In Toolbar 加载即时存档 - + Save State In Toolbar 保存即时存档 - + + &Emulation + 模拟(&E) + + + Controllers In Toolbar 控制器 - + + Achie&vements + 成就(&V) + + + + &Fullscreen + 全屏(&F) + + + + &Interface + 介面(&I) + + + + Add Game &Directory... + 添加游戏目录(&D)... + + + Settings In Toolbar 设置 - + + &From File... + 来自文件(&F)... + + + + From &Device... + 来自设备(&D)... + + + + From &Game List... + 来自游戏列表(&G)... + + + + &Remove Disc + 移除光盘(&R) + + + Screenshot In Toolbar 截图 - + &Memory Cards 记忆卡(&M) - + &Network && HDD 网络与硬盘(&N) - + &Folders 文件夹(&F) - + &Toolbar 工具栏(&T) - - Lock Toolbar - 锁定工具栏 + + Show Titl&es (Grid View) + 显示标题 (网格视图)(&E) - - &Status Bar - 状态栏(&S) + + &Open Data Directory... + 打开数据目录(&O)... - - Verbose Status - 详细状态 + + &Toggle Software Rendering + 切换软件渲染器(&T) - - Game &List - 游戏列表(&L) + + &Open Debugger + 打开调试器(&O) - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - 系统显示(&D) + + &Reload Cheats/Patches + 重载作弊/补丁(&R) - - Game &Properties - 游戏属性(&P) + + E&nable System Console + 开启系统控制台(&N) - - Game &Grid - 游戏网格(&G) + + Enable &Debug Console + 开启调试控制台(&D) - - Show Titles (Grid View) - 显示标题 (网格视图) + + Enable &Log Window + 开启日志窗口(&L) - - Zoom &In (Grid View) - 放大 (网格视图)(&I) + + Enable &Verbose Logging + 开启详细日志(&V) - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + 开启 EE 控制台与日志(&L) - - Zoom &Out (Grid View) - 缩小 (网格视图)(&O) + + Enable &IOP Console Logging + 开启 &IOP 控制台日志 - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + 保存单帧 &GS 转储 - - Refresh &Covers (Grid View) - 刷新封面 (网格视图)(&C) + + &New + This section refers to the Input Recording submenu. + 新建(&P) - - Open Memory Card Directory... - 打开记忆卡目录... + + &Play + This section refers to the Input Recording submenu. + 播放(&P) - - Open Data Directory... - 打开数据目录... + + &Stop + This section refers to the Input Recording submenu. + 停止(&S) - - Toggle Software Rendering - 切换软件渲染 + + &Controller Logs + 控制器日志(&C) - - Open Debugger - 打开调试器 + + &Input Recording Logs + 录制输入日志(&I) - - Reload Cheats/Patches - 重载修改/补丁 + + Enable &CDVD Read Logging + 开启 &CDVD 读取日志 - - Enable System Console - 开启系统控制台 + + Save CDVD &Block Dump + 保存 CDVD 区块转储(&B) - - Enable Debug Console - 开启调试控制台 + + &Enable Log Timestamps + 开启日志时间戳(&E) - - Enable Log Window - 开启日志窗口 + + Start Big Picture &Mode + 启动大画面模式(&M) - - Enable Verbose Logging - 开启详细日志 + + &Cover Downloader... + 封面下载器(&C)... - - Enable EE Console Logging - 开启 EE 控制台日志 + + &Show Advanced Settings + 显示高级设置(&S) - - Enable IOP Console Logging - 开启 IOP 控制台日志 + + &Recording Viewer + 录像查看器(&R) - - Save Single Frame GS Dump - 保存单个 GS 帧转储 + + &Video Capture + 视频捕获(&V) - - New - This section refers to the Input Recording submenu. - 新建 + + &Edit Cheats... + 编辑作弊(&E)... - - Play - This section refers to the Input Recording submenu. - 播放 + + Edit &Patches... + 编辑补丁(&P)... - - Stop - This section refers to the Input Recording submenu. - 停止 + + &Status Bar + 状态栏(&S) - - Settings - This section refers to the Input Recording submenu. - 设置 + + + Game &List + 游戏列表(&L) - - - Input Recording Logs - 录制输入日志 + + Loc&k Toolbar + 锁定工具栏(&L) - - Controller Logs - 控制器日志 + + &Verbose Status + 详细状态(&V) - - Enable &File Logging - 开启文件日志(&F) + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + 系统显示(&D) + + + + Game &Properties + 游戏属性(&P) - - Enable CDVD Read Logging - 开启 CDVD 读取日志 + + Game &Grid + 游戏网格(&G) - - Save CDVD Block Dump - 保存 CDVD 块转储 + + Zoom &In (Grid View) + 放大 (网格视图)(&I) - - Enable Log Timestamps - 开启日志时间戳 + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + 缩小 (网格视图)(&O) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + 刷新封面 (网格视图)(&C) + + + + Open Memory Card Directory... + 打开记忆卡目录... + + + + Input Recording Logs + 录制输入日志 + + + + Enable &File Logging + 开启文件日志(&F) + + + Start Big Picture Mode 启动大屏模式 - - + + Big Picture In Toolbar 大屏 - - Cover Downloader... - 封面下载器... - - - - + Show Advanced Settings 显示高级设置 - - Recording Viewer - 录像查看器 - - - - + Video Capture 视频捕获 - - Edit Cheats... - 编辑作弊... - - - - Edit Patches... - 编辑补丁... - - - + Internal Resolution 内部分辨率 - + %1x Scale %1x 比例 - + Select location to save block dump: 选择保存块转储的位置: - + Do not show again 不再显示 - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16047,297 +16120,297 @@ PCSX2 团队不会为修改这些设置的配置提供任何支持,您可以自 您确定要继续吗? - + %1 Files (*.%2) %1 文件 (*.%2) - + WARNING: Memory Card Busy 警告: 记忆卡忙 - + Confirm Shutdown 确认退出 - + Are you sure you want to shut down the virtual machine? 您确实要关闭虚拟机吗? - + Save State For Resume 保存状态以继续 - - - - - - + + + + + + Error 错误 - + You must select a disc to change discs. 您必须选择一张需要更换光盘。 - + Properties... 属性... - + Set Cover Image... 设置封面图像... - + Exclude From List 从列表中排除 - + Reset Play Time 重置游戏时间 - + Check Wiki Page 查看 Wiki 页面 - + Default Boot 默认引导 - + Fast Boot 快速引导 - + Full Boot 完全引导 - + Boot and Debug 引导并调试 - + Add Search Directory... 添加搜索目录... - + Start File 启动文件 - + Start Disc 启动光盘 - + Select Disc Image 选择光盘映像 - + Updater Error 更新错误 - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>对不起,您正在尝试更新的 PCSX2 版本不是 GitHub 的官方版本。为了防止不兼容,自动更新程序只在官方版本上启用。</p><p>要获得官方版本,请从下面的链接下载:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. 自动更新不支持当前的平台。 - + Confirm File Creation 确认文件创建 - + The pnach file '%1' does not currently exist. Do you want to create it? pnach 文件 '%1' 当前不存在。您要创建它吗? - + Failed to create '%1'. 创建 '%1' 失败。 - + Theme Change 更改主题 - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? 更改主题将会关闭调试器窗口。将会丢失所有未保存的数据。您要继续吗? - + Input Recording Failed 录制输入失败 - + Failed to create file: {} 创建文件失败: {} - + Input Recording Files (*.p2m2) 输入录像文件 (*.p2m2) - + Input Playback Failed 播放输入失败 - + Failed to open file: {} 打开文件失败: {} - + Paused 暂停 - + Load State Failed 加载即时存档失败 - + Cannot load a save state without a running VM. 无法在没有运行 VM 的情况下加载一个即时存档。 - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? 如果不重置虚拟机则无法加载新的 ELF。是否要立即重置该虚拟机? - + Cannot change from game to GS dump without shutting down first. 如果不先关机就无法从游戏更改到 GS 转储。 - + Failed to get window info from widget 从小部件获取窗口信息失败 - + Stop Big Picture Mode 停止大屏模式 - + Exit Big Picture In Toolbar 退出大屏模式 - + Game Properties 游戏属性 - + Game properties is unavailable for the current game. 当前游戏的游戏属性不可用。 - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. 找不到任何 CD/DVD-ROM 设备。请确保您已连接驱动器并具有足够的访问权限。 - + Select disc drive: 选择光盘驱动器: - + This save state does not exist. 此即时存档不存在。 - + Select Cover Image 选择封面图像 - + Cover Already Exists 封面已存在 - + A cover image for this game already exists, do you wish to replace it? 此游戏的封面图片已存在,您要替换它吗? - + + - Copy Error 复制错误 - + Failed to remove existing cover '%1' 移除现存封面 '%1' 失败 - + Failed to copy '%1' to '%2' 复制'%1' 到’%2‘ 失败 - + Failed to remove '%1' 移除 '%1' 失败 - - + + Confirm Reset 确认重置 - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) 所有封面图像类型 (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. 您必须选择与当前封面图像不同的文件。 - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16346,12 +16419,12 @@ This action cannot be undone. 此操作无法被撤销。 - + Load Resume State 加载并继续即时存档 - + A resume save state was found for this game, saved at: %1. @@ -16364,89 +16437,89 @@ Do you want to load this state, or start from a fresh boot? 您是要加载此状态,还是要重新启动? - + Fresh Boot 重新启动 - + Delete And Boot 删除并重启 - + Failed to delete save state file '%1'. 删除即时存档文件 '%1'.失败。 - + Load State File... 载入即时存档文件... - + Load From File... 从文件载入... - - + + Select Save State File 选择即时存档文件 - + Save States (*.p2s) 即时存档 (*.p2s) - + Delete Save States... 删除即时存档... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) 所有文件类型 (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;单轨道 Raw 映像 (*.bin *.iso);;Cue 表 (*.cue);;媒体描述符文件 (*.mdf);;MAME CHD 映像 (*.chd);;CSO 映像 (*.cso);;ZSO 映像 (*.zso);;GZ 映像 (*.gz);;ELF 可执行文件 (*.elf);;IRX 可执行文件 (*.irx);;GS 转储 (*.gs *.gs.xz *.gs.zst);;区块转储 (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) 所有文件类型 (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;单轨道 Raw 映像 (*.bin *.iso);;Cue 表 (*.cue);;媒体描述符文件 (*.mdf);;MAME CHD 映像 (*.chd);;CSO 映像 (*.cso);;ZSO 映像 (*.zso);;GZ 映像 (*.gz);;区块转储 (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> 警告: 您的记忆卡仍在写入数据。现在关机<b>将不可逆转地破坏您的记忆卡。</b>强烈建议您继续游戏并让它完成对您的记忆卡的写入。<br><br>是否仍要关闭并<b>不可逆转地损坏您的内存卡?</b> - + Save States (*.p2s *.p2s.backup) 即时存档 (*.p2s *.p2s.backup) - + Undo Load State 撤销载入即时存档 - + Resume (%2) 继续 (%2) - + Load Slot %1 (%2) 载入位置 %1 (%2) - - + + Delete Save States 删除即时存档 - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16455,42 +16528,42 @@ The saves will not be recoverable. 存档无法恢复。 - + %1 save states deleted. 已删除 %1 即时存档。 - + Save To File... 保存到文件... - + Empty - + Save Slot %1 (%2) 保存到位置 %1 (%2) - + Confirm Disc Change 确认更改光盘 - + Do you want to swap discs or boot the new image (via system reset)? 是否要交换光盘或启动新镜像(通过系统重置)? - + Swap Disc 交换光盘 - + Reset 重置 @@ -16513,25 +16586,25 @@ The saves will not be recoverable. MemoryCard - - + + Memory Card Creation Failed 创建记忆卡失败 - + Could not create the memory card: {} 无法创建记忆卡: {} - + Memory Card Read Failed 读取记忆卡失败 - + Unable to access memory card: {} @@ -16548,28 +16621,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. 记忆卡 '{}' 已被保存到存储设备中。 - + Failed to create memory card. The error was: {} 创建记忆卡失败。错误是: {} - + Memory Cards reinserted. 已重新插入记忆卡。 - + Force ejecting all Memory Cards. Reinserting in 1 second. 强制弹出所有记忆卡。在 1 秒后重新插入。 + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + 虚拟主机已经有一段时间没有保存您的记忆卡了。即时存档不应用于代替游戏内的存档。 + MemoryCardConvertDialog @@ -17361,7 +17439,7 @@ This action cannot be reversed, and you will lose any saves on the card.转到内存视图 - + Cannot Go To 无法转到 @@ -18201,12 +18279,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. 无法打开 {}。内置游戏补丁不可用。 - + %n GameDB patches are active. OSD Message @@ -18214,7 +18292,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18222,7 +18300,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18230,7 +18308,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. 没有找到 / 开启作弊或补丁 (宽屏、兼容性以及其它)。 @@ -18331,47 +18409,47 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: 登录为 %1 (%2 pts, 非核心: %3 pts)。 %4 条未读消息。 - - + + Error 错误 - + An error occurred while deleting empty game settings: {} 删除空游戏设置时发生了一个错误: {} - + An error occurred while saving game settings: {} 保存游戏设置时发生了一个错误: {} - + Controller {} connected. 已连接控制器 {}。 - + System paused because controller {} was disconnected. 由于控制器 {} 已断开连接,系统已暂停。 - + Controller {} disconnected. 控制器 {} 已断开连接。 - + Cancel 取消 @@ -18504,7 +18582,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -21717,42 +21795,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. 备份旧的即时存档失败 {}。 - + Failed to save save state: {}. 保存即时存档 {} 失败。 - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game 未知游戏 - + CDVD precaching was cancelled. 已取消 CDVD 预缓存。 - + CDVD precaching failed: {} 预缓存 CDVD 失败: {} - + Error 错误 - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21769,272 +21847,272 @@ Please consult the FAQs and Guides for further instructions. 请参阅常见问题解答和指南获取详细说明。 - + Resuming state 从即时存档继续 - + Boot and Debug 引导并调试 - + Failed to load save state 载入即时存档失败 - + State saved to slot {}. 即时存档已保存到位置 {}. - + Failed to save save state to slot {}. 即时存档保存到位置 {} 失败。 - - + + Loading state 正在加载即时存档 - + Failed to load state (Memory card is busy) 加载即时存档失败 (记忆卡忙) - + There is no save state in slot {}. 在位置 {} 没有即时存档。 - + Failed to load state from slot {} (Memory card is busy) 从位置 {} 加载即时存档失败 (记忆卡忙) - + Loading state from slot {}... 从位置 {} 加载即时存档... - + Failed to save state (Memory card is busy) 保存即时存档失败 (记忆卡忙) - + Failed to save state to slot {} (Memory card is busy) 向位置 {} 保存即时存档失败 (记忆卡忙) - + Saving state to slot {}... 正在保存即时存档到位置 {}... - + Frame advancing 帧步进 - + Disc removed. 已移除光盘。 - + Disc changed to '{}'. 已更改光盘为 '{}'。 - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} 打开新的光盘映像 '{}' 失败。正在还原为旧的映像。 错误是: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} 切换回旧光盘映像失败。正在移除光盘。 错误是: {} - + Cheats have been disabled due to achievements hardcore mode. 由于硬核成就模式作弊已被禁用。 - + Fast CDVD is enabled, this may break games. 已开启快速 CDVD,这可能会破坏部分游戏。 - + Cycle rate/skip is not at default, this may crash or make games run too slow. 循环频率/跳过不是默认设置,这可能会导致崩溃或使游戏运行太慢。 - + Upscale multiplier is below native, this will break rendering. 缩放倍数低于原生,这可能破坏渲染。 - + Mipmapping is disabled. This may break rendering in some games. 已关闭 Mipmap 贴图。这可能破坏某些游戏。 - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. 渲染器未设置为自动。这可能导致性能和图形问题。 - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. 纹理过滤未被设置为双线性 (PS2)。这可能会破坏某些游戏的渲染。 - + No Game Running 没有游戏运行 - + Trilinear filtering is not set to automatic. This may break rendering in some games. 三线性过滤未被设置为自动。这可能会破坏某些游戏的渲染。 - + Blending Accuracy is below Basic, this may break effects in some games. 混合精确性低于基础,这可能会破坏某些游戏中的特效。 - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. 硬件下载模式未被设置为精确,这可能会破坏某些游戏的渲染。 - + EE FPU Round Mode is not set to default, this may break some games. EE FPU 舍入模式未被设置为默认,这可能会破坏某些游戏。 - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU 压制模式未被设置为默认,这可能会破坏某些游戏。 - + VU0 Round Mode is not set to default, this may break some games. VU0 舍入模式未设置为默认模式,这可能会破坏某些游戏。 - + VU1 Round Mode is not set to default, this may break some games. VU1 舍入模式未设置为默认模式,这可能会破坏某些游戏。 - + VU Clamp Mode is not set to default, this may break some games. VU 压制模式未被设置为默认,这可能会破坏某些游戏。 - + 128MB RAM is enabled. Compatibility with some games may be affected. 已开启 128MB RAM。某些游戏的兼容性将受到影响。 - + Game Fixes are not enabled. Compatibility with some games may be affected. 未启用游戏修复。某些游戏的兼容性可能会受到影响。 - + Compatibility Patches are not enabled. Compatibility with some games may be affected. 未启用兼容性补丁。某些游戏的兼容性可能会受到影响。 - + Frame rate for NTSC is not default. This may break some games. NTSC 制式的帧率不是默认值。这可能会破坏某些游戏。 - + Frame rate for PAL is not default. This may break some games. PAL 制式的帧率不是默认值。这可能会破坏某些游戏。 - + EE Recompiler is not enabled, this will significantly reduce performance. 未启用 EE 重编译器,这将显著降低性能。 - + VU0 Recompiler is not enabled, this will significantly reduce performance. 未启用 VU0 重编译器,这将显著降低性能。 - + VU1 Recompiler is not enabled, this will significantly reduce performance. 未启用 VU1 重编译器,这将显著降低性能。 - + IOP Recompiler is not enabled, this will significantly reduce performance. 未启用 IOP 重编译器,这将显著降低性能。 - + EE Cache is enabled, this will significantly reduce performance. 已启用 EE 缓存,这将显著降低性能。 - + EE Wait Loop Detection is not enabled, this may reduce performance. 未启用 EE 等待循环检测,这将显著降低性能。 - + INTC Spin Detection is not enabled, this may reduce performance. 未启用 INTC 自旋检测,这将显著降低性能。 - + Fastmem is not enabled, this will reduce performance. 未开启 Fastmen,这会降低系统性能。 - + Instant VU1 is disabled, this may reduce performance. 即时 VU1 被禁用,这将降低性能。 - + mVU Flag Hack is not enabled, this may reduce performance. 未启用 mVU 标志 Hack,这将降低性能。 - + GPU Palette Conversion is enabled, this may reduce performance. 已启用 GPU 调色版,这将降低性能。 - + Texture Preloading is not Full, this may reduce performance. 纹理预载未满,这将降低性能。 - + Estimate texture region is enabled, this may reduce performance. 已启用估计纹理区域,这可能会降低性能。 - + Texture dumping is enabled, this will continually dump textures to disk. 已开启纹理转储,这将持续的转储纹理到磁盘上。 diff --git a/pcsx2-qt/Translations/pcsx2-qt_zh-TW.ts b/pcsx2-qt/Translations/pcsx2-qt_zh-TW.ts index 42244e0e3629d..1c50bd1916e4a 100644 --- a/pcsx2-qt/Translations/pcsx2-qt_zh-TW.ts +++ b/pcsx2-qt/Translations/pcsx2-qt_zh-TW.ts @@ -397,7 +397,7 @@ Login token generated on %2. {} (Hardcore Mode) - {} (Hardcore Mode) + {} (硬核模式) @@ -727,307 +727,318 @@ Leaderboard Position: {1} of {2} 使用全域性設定 [%1] - + Rounding Mode 環繞模式 - - - + + + Chop/Zero (Default) 捨去 / 零 (預設) - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Floating Point Unit (EE FPU). Because the various FPUs in the PS2 are non-compliant with international standards, some games may need different modes to do math correctly. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Division Rounding Mode Division Rounding Mode - + Nearest (Default) Nearest (Default) - + Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Determines how the results of floating-point division are rounded. Some games need specific settings; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Clamping Mode 接觸模式 - - - + + + Normal (Default) 普通 (預設) - + Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range. The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - - + + Enable Recompiler 啟用重編譯器 - + - - - + + + - + - - - - + + + + + Checked 選中 - + + Use Save State Selector + Use Save State Selector + + + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to x86. 將64位MIPS-IV機器碼實時轉譯為x86機器碼。 - + Wait Loop Detection Wait loop: When the game makes the CPU do nothing (loop/spin) while it waits for something to happen (usually an interrupt). 等待循環檢測 - + Moderate speedup for some games, with no known side effects. 對某些遊戲有輕微的加速,沒有已知的副作用。 - + Enable Cache (Slow) 啟用快取 (慢) - - - - + + + + Unchecked 已取消勾選 - + Interpreter only, provided for diagnostic. 僅解譯器, 用於診斷。 - + INTC Spin Detection INTC = Name of a PS2 register, leave as-is. "spin" = to make a cpu (or gpu) actively do nothing while you wait for something. Like spinning in a circle, you're moving but not actually going anywhere. INTC 旋轉檢測 - + Huge speedup for some games, with almost no compatibility side effects. 對某些遊戲有巨大的加速作用,對相容性幾乎沒有副作用。 - + Enable Fast Memory Access 開啟快速記憶體訪問 - + Uses backpatching to avoid register flushing on every memory access. "Backpatching" = To edit previously generated code to change what it does (in this case, we generate direct memory accesses, then backpatch them to jump to a fancier handler function when we realize they need the fancier handler function) 使用后補補丁以避免在每次訪問記憶體時重新整理暫存器。 - + Pause On TLB Miss 在 TLB 缺失時暫停 - + Pauses the virtual machine when a TLB miss occurs, instead of ignoring it and continuing. Note that the VM will pause after the end of the block, not on the instruction which caused the exception. Refer to the console to see the address where the invalid access occurred. 當 TLB 缺失時暫停虛擬機器,而不是忽略並繼續。請注意虛擬機器將在程式碼塊結束后暫停,而不是在導致異常的指令上暫停。參考控制檯檢視發生無效訪問的地址。 - + Enable 128MB RAM (Dev Console) Enable 128MB RAM (Dev Console) - + Exposes an additional 96MB of memory to the virtual machine. Exposes an additional 96MB of memory to the virtual machine. - + VU0 Rounding Mode VU0 循環模式 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU1 Rounding Mode VU1 循環模式 - + Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> Changes how PCSX2 handles rounding while emulating the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem will cause stability issues and/or crashes.</b> - + VU0 Clamping Mode VU0 壓制模式 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 0 (EE VU0). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + VU1 Clamping Mode VU1 壓制模式 - + Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> Changes how PCSX2 handles keeping floats in a standard x86 range in the Emotion Engine's Vector Unit 1 (EE VU1). The default value handles the vast majority of games; <b>modifying this setting when a game is not having a visible problem can cause instability.</b> - + Enable Instant VU1 Enable Instant VU1 - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Enable VU0 Recompiler (Micro Mode) VU0 = Vector Unit 0. One of the PS2's processors. 開啟 VU0 重編譯器 (微模式) - + Enables VU0 Recompiler. 開啟 VU0 重編譯器。 - + Enable VU1 Recompiler VU1 = Vector Unit 1. One of the PS2's processors. 開啟 VU1 重編譯器 - + Enables VU1 Recompiler. 啟用 VU1 重編譯器。 - + mVU Flag Hack mVU = PCSX2's recompiler for VU (Vector Unit) code (full name: microVU) mVU 標誌 Hack - + Good speedup and high compatibility, may cause graphical errors. 良好的加速和高相容性,可能會導致圖形錯誤。 - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to x86. 將32位MIPS-I機器碼實時轉譯為x86機器碼。 - + Enable Game Fixes 啟用遊戲修復 - + Automatically loads and applies fixes to known problematic games on game start. 在遊戲開始時,對已知有問題的遊戲自動載入並應用修復。 - + Enable Compatibility Patches 啟用相容性補丁 - + Automatically loads and applies compatibility patches to known problematic games. 為已知有問題的遊戲自動載入並應用相容性補丁。 - + Savestate Compression Method Savestate Compression Method - + Zstandard Zstandard - + Determines the algorithm to be used when compressing savestates. Determines the algorithm to be used when compressing savestates. - + Savestate Compression Level Savestate Compression Level - + Medium - Medium + 中等 - + Determines the level to be used when compressing savestates. Determines the level to be used when compressing savestates. - + Save State On Shutdown Save State On Shutdown - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. - + Create Save State Backups Create Save State Backups - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. Do not translate the ".backup" extension. Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix. @@ -1250,29 +1261,29 @@ Leaderboard Position: {1} of {2} Create Save State Backups - + Save State On Shutdown Save State On Shutdown - + Frame Rate Control 幀率控制 - - + + hz hz=Hertz, as in the measuring unit. Shown after the corresponding number. Those languages who'd need to remove the space or do something in between should do so. 赫茲 - + PAL Frame Rate: PAL 幀率: - + NTSC Frame Rate: NTSC 幀率: @@ -1287,14 +1298,14 @@ Leaderboard Position: {1} of {2} Compression Level: - + Compression Method: Compression Method: Uncompressed - Uncompressed + 未壓縮 @@ -1314,35 +1325,40 @@ Leaderboard Position: {1} of {2} Low (Fast) - Low (Fast) + 低(快速) Medium (Recommended) - Medium (Recommended) + 中(建議) High - High + 中等(推薦) Very High (Slow, Not Recommended) - Very High (Slow, Not Recommended) + 非常高(慢速,不推薦) + + + + Use Save State Selector + Use Save State Selector - + PINE Settings PINE 設定 - + Slot: 卡槽: - + Enable 啟用 @@ -1352,7 +1368,7 @@ Leaderboard Position: {1} of {2} Analysis Options - Analysis Options + 分析選項 @@ -1367,12 +1383,12 @@ Leaderboard Position: {1} of {2} Analyze - Analyze + 分析 Close - Close + 關閉 @@ -1391,12 +1407,12 @@ Leaderboard Position: {1} of {2} 30 - 30 + 30 Shift: - Shift: + 轉移: @@ -1407,17 +1423,17 @@ Leaderboard Position: {1} of {2} 20 - 20 + 20 Depth: - Depth: + 深度: 10 - 10 + 10 @@ -1497,7 +1513,7 @@ Leaderboard Position: {1} of {2} Backend: - Backend: + 後端: @@ -1508,12 +1524,12 @@ Leaderboard Position: {1} of {2} Controls - Controls + 控制 Output Volume: - Output Volume: + 輸出音量: @@ -1530,7 +1546,7 @@ Leaderboard Position: {1} of {2} Mute All Sound - Mute All Sound + 將所有聲音都靜音 @@ -1634,12 +1650,12 @@ Leaderboard Position: {1} of {2} % - % + % Audio Backend - Audio Backend + @@ -1657,12 +1673,12 @@ Leaderboard Position: {1} of {2} Buffer Size - Buffer Size + 緩衝區大小 Output Volume - Output Volume + 輸出音量 @@ -1692,7 +1708,7 @@ Leaderboard Position: {1} of {2} Expansion Mode - Expansion Mode + 擴充套件模式 @@ -1718,7 +1734,7 @@ Leaderboard Position: {1} of {2} Reset Volume - Reset Volume + 重置音量 @@ -1803,7 +1819,7 @@ Leaderboard Position: {1} of {2} Default - Default + 預設 @@ -1821,7 +1837,7 @@ Leaderboard Position: {1} of {2} 30 - 30 + 30 @@ -1831,7 +1847,7 @@ Leaderboard Position: {1} of {2} 20 - 20 + 20 @@ -1841,7 +1857,7 @@ Leaderboard Position: {1} of {2} 10 - 10 + 10 @@ -1863,8 +1879,8 @@ Leaderboard Position: {1} of {2} AutoUpdaterDialog - - + + Automatic Updater 自動更新器 @@ -1904,68 +1920,68 @@ Leaderboard Position: {1} of {2} 下次再提醒我 - - + + Updater Error 更新錯誤 - + <h2>Changes:</h2> <h2>改動:</h2> - + <h2>Save State Warning</h2><p>Installing this update will make your save states <b>incompatible</b>. Please ensure you have saved your games to a Memory Card before installing this update or you will lose progress.</p> <h2>即時存檔警告</h2><p>安裝此更新將會使您的即時存檔變得 <b>不相容</b>。 請確認在安裝此更新前您已經將您的遊戲進度儲存至記憶卡中,否則您將丟失進度。</p> - + <h2>Settings Warning</h2><p>Installing this update will reset your program configuration. Please note that you will have to reconfigure your settings after this update.</p> <h2>設定警告</h2><p>安裝此更新將重置您的程式配置。請注意在此更新后您必須重新配置您的設定。</p> - + Savestate Warning 即時存檔警告 - + <h1>WARNING</h1><p style='font-size:12pt;'>Installing this update will make your <b>save states incompatible</b>, <i>be sure to save any progress to your memory cards before proceeding</i>.</p><p>Do you wish to continue?</p> <h1>WARNING</h1><p style='font-size:12pt;'>安裝此更新將會使您的<b>即時存檔變的不相容</b>, <i>請在繼續前確認已將您的遊戲進度儲存在記憶卡中了</i>。</p><p>您要繼續嗎?</p> - + Downloading %1... 正在下載 %1... - + No updates are currently available. Please try again later. 目前無可用更新。請稍後再試。 - + Current Version: %1 (%2) 目前版本: %1 (%2) - + New Version: %1 (%2) 新版本: %1 (%2) - + Download Size: %1 MB Download Size: %1 MB - + Loading... 正在載入... - + Failed to remove updater exe after update. Failed to remove updater exe after update. @@ -2086,7 +2102,7 @@ Leaderboard Position: {1} of {2} 0 - 0 + 0 @@ -2111,7 +2127,7 @@ Leaderboard Position: {1} of {2} 1 - 1 + 1 @@ -2129,19 +2145,19 @@ Leaderboard Position: {1} of {2} 開啟 - - + + Invalid Address - Invalid Address + 無效位址 - - + + Invalid Condition Invalid Condition - + Invalid Size Invalid Size @@ -2231,17 +2247,17 @@ Leaderboard Position: {1} of {2} CDVD - + Game disc location is on a removable drive, performance issues such as jittering and freezing may occur. 遊戲光碟位於可解除安裝的驅動器上,可能會出現卡頓和死鎖等效能問題。 - + Saving CDVD block dump to '{}'. 正在儲存 CDVD 塊轉儲到 '{}'。 - + Precaching CDVD Precaching CDVD @@ -2266,7 +2282,7 @@ Leaderboard Position: {1} of {2} 未知 - + Precaching is not supported for discs. Precaching is not supported for discs. @@ -2410,25 +2426,25 @@ Leaderboard Position: {1} of {2} L2 Leave this button name as-is. - L2 + L2 R2 Leave this button name as-is. - R2 + R2 L1 Leave this button name as-is. - L1 + L1 R1 Leave this button name as-is. - R1 + R1 @@ -2589,22 +2605,22 @@ Leaderboard Position: {1} of {2} Down - Down + Left - Left + Up - Up + Right - Right + @@ -2614,62 +2630,62 @@ Leaderboard Position: {1} of {2} L2 - L2 + L2 R2 - R2 + R2 L1 - L1 + L1 R1 - R1 + R1 Start - Start + 開始 Select - Select + 選擇 Face Buttons - Face Buttons + 面板按鈕 Cross - Cross + × Square - Square + Triangle - Triangle + Circle - Circle + Small Motor - Small Motor + 小馬達 @@ -2692,57 +2708,57 @@ Leaderboard Position: {1} of {2} Down - Down + Left - Left + Up - Up + Right - Right + Large Motor - Large Motor + 大馬達 L - L + L Start - Start + 開始 R - R + R Face Buttons - Face Buttons + 面板按鈕 I - I + I II - II + II @@ -2781,7 +2797,7 @@ Leaderboard Position: {1} of {2} Yellow (Left) - Yellow (Left) + 黃色(左) @@ -2802,12 +2818,12 @@ Leaderboard Position: {1} of {2} Start Leave this button name as-is or uppercase it entirely. - Start + 開始 Red - Red + @@ -3223,29 +3239,34 @@ Not Configured/Buttons configured + Rename Profile + Rename Profile + + + Delete Profile Delete Profile - + Mapping Settings Mapping Settings - - + + Restore Defaults Restore Defaults - - - + + + Create Input Profile Create Input Profile - + Custom input profiles are used to override the Shared input profile for specific games. To apply a custom input profile to a game, go to its Game Properties, then change the 'Input Profile' on the Summary tab. @@ -3256,40 +3277,43 @@ To apply a custom input profile to a game, go to its Game Properties, then chang Enter the name for the new input profile: - - - - + + + + + + Error - Error + 錯誤 - + + A profile with the name '%1' already exists. A profile with the name '%1' already exists. - + Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. Do you want to copy all bindings from the currently-selected profile to the new profile? Selecting No will create a completely empty profile. - + Do you want to copy the current hotkey bindings from global settings to the new input profile? Do you want to copy the current hotkey bindings from global settings to the new input profile? - + Failed to save the new profile to '%1'. Failed to save the new profile to '%1'. - + Load Input Profile Load Input Profile - + Are you sure you want to load the input profile named '%1'? All current global bindings will be removed, and the profile bindings loaded. @@ -3302,12 +3326,27 @@ All current global bindings will be removed, and the profile bindings loaded. You cannot undo this action. - + + Rename Input Profile + Rename Input Profile + + + + Enter the new name for the input profile: + Enter the new name for the input profile: + + + + Failed to rename '%1'. + Failed to rename '%1'. + + + Delete Input Profile Delete Input Profile - + Are you sure you want to delete the input profile named '%1'? You cannot undo this action. @@ -3316,12 +3355,12 @@ You cannot undo this action. You cannot undo this action. - + Failed to delete '%1'. Failed to delete '%1'. - + Are you sure you want to restore the default controller configuration? All shared bindings and configuration will be lost, but your input profiles will remain. @@ -3334,13 +3373,13 @@ All shared bindings and configuration will be lost, but your input profiles will You cannot undo this action. - + Global Settings Global Settings - - + + Controller Port %1%2 %3 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3348,8 +3387,8 @@ You cannot undo this action. %3 - - + + Controller Port %1 %2 Controller Port is an official term from Sony. Find the official translation for your language inside the console's manual. @@ -3357,26 +3396,26 @@ You cannot undo this action. %2 - - + + USB Port %1 %2 USB Port %1 %2 - + Hotkeys Hotkeys - + Shared "Shared" refers here to the shared input profile. Shared - + The input profile named '%1' cannot be found. The input profile named '%1' cannot be found. @@ -4000,63 +4039,63 @@ Do you want to overwrite? Import from file (.elf, .sym, etc): - + Add Add - + Remove - Remove + 移除 - + Scan For Functions Scan For Functions - + Scan Mode: Scan Mode: - + Scan ELF Scan ELF - + Scan Memory Scan Memory - + Skip - Skip + 跳過 - + Custom Address Range: Custom Address Range: - + Start: - Start: + 開始: - + End: - End: + 結束: - + Hash Functions Hash Functions - + Gray Out Symbols For Overwritten Functions Gray Out Symbols For Overwritten Functions @@ -4127,19 +4166,34 @@ Do you want to overwrite? Generate hashes for all the detected functions, and gray out the symbols displayed in the debugger for functions that no longer match. - + <i>No symbol sources in database.</i> <i>No symbol sources in database.</i> - + <i>Start this game to modify the symbol sources list.</i> <i>Start this game to modify the symbol sources list.</i> - + + Path + Path + + + + Base Address + Base Address + + + + Condition + 條件 + + + Add Symbol File - Add Symbol File + 添加符號文件 @@ -4148,7 +4202,7 @@ Do you want to overwrite? Analysis - Analysis + 分析 @@ -4174,7 +4228,7 @@ Do you want to overwrite? Never - Never + 永不 @@ -4789,53 +4843,53 @@ Do you want to overwrite? PCSX2 偵錯程式 - + Run 執行 - + Step Into 單步執行 - + F11 F11 - + Step Over 單步跳過 - + F10 F10 - + Step Out 單步跳出 - + Shift+F11 Shift+F11 - + Always On Top Always On Top - + Show this window on top Show this window on top - + Analyze Analyze @@ -4853,48 +4907,48 @@ Do you want to overwrite? 反彙編 - + Copy Address 複製地址 - + Copy Instruction Hex 複製16進位制指令 - + NOP Instruction(s) NOP 指令 - + Run to Cursor 執行到游標 - + Follow Branch 跟隨分支 - + Go to in Memory View 轉到記憶體檢視 - + Add Function 新增函式 - - + + Rename Function 重新命名函式 - + Remove Function 移除函式 @@ -4915,23 +4969,23 @@ Do you want to overwrite? 彙編指令 - + Function name 函式名稱 - - + + Rename Function Error 重新命名函式錯誤 - + Function name cannot be nothing. 函式名不能為空。 - + No function / symbol is currently selected. 目前未選中函式 / 符號。 @@ -4941,72 +4995,72 @@ Do you want to overwrite? Go To In Disassembly - + Cannot Go To Cannot Go To - + Restore Function Error Restore Function Error - + Unable to stub selected address. Unable to stub selected address. - + &Copy Instruction Text &Copy Instruction Text - + Copy Function Name Copy Function Name - + Restore Instruction(s) Restore Instruction(s) - + Asse&mble new Instruction(s) Asse&mble new Instruction(s) - + &Jump to Cursor &Jump to Cursor - + Toggle &Breakpoint Toggle &Breakpoint - + &Go to Address &Go to Address - + Restore Function Restore Function - + Stub (NOP) Function Stub (NOP) Function - + Show &Opcode Show &Opcode - + %1 NOT VALID ADDRESS %1 不是有效的地址 @@ -5033,86 +5087,86 @@ Do you want to overwrite? EmuThread - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% - Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% + Slot: %1 | Volume: %2% | %3 | EE: %4% | VU: %5% | GS: %6% - - Slot: %1 | %2 | EE: %3% | GS: %4% - Slot: %1 | %2 | EE: %3% | GS: %4% + + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% + Slot: %1 | Volume: %2% | %3 | EE: %4% | GS: %5% - + No Image No Image - + %1x%2 %1x%2 - + FPS: %1 FPS: %1 - + VPS: %1 VPS: %1 - + Speed: %1% Speed: %1% - + Game: %1 (%2) 遊戲: %1 (%2) - + Rich presence inactive or unsupported. 富狀態未啟用或不支援。 - + Game not loaded or no RetroAchievements available. 遊戲未載入或無 RetroAchievements 成就可用。 - - - - + + + + Error Error - + Failed to create HTTPDownloader. Failed to create HTTPDownloader. - + Downloading %1... Downloading %1... - + Download failed with HTTP status code %1. Download failed with HTTP status code %1. - + Download failed: Data is empty. Download failed: Data is empty. - + Failed to write '%1'. Failed to write '%1'. @@ -5486,81 +5540,76 @@ Do you want to overwrite? ExpressionParser - + Invalid memory access size %d. Invalid memory access size %d. - + Invalid memory access (unaligned). Invalid memory access (unaligned). - - + + Token too long. Token too long. - + Invalid number "%s". Invalid number "%s". - + Invalid symbol "%s". Invalid symbol "%s". - + Invalid operator at "%s". Invalid operator at "%s". - + Closing parenthesis without opening one. Closing parenthesis without opening one. - + Closing bracket without opening one. Closing bracket without opening one. - + Parenthesis not closed. Parenthesis not closed. - + Not enough arguments. Not enough arguments. - + Invalid memsize operator. Invalid memsize operator. - + Division by zero. Division by zero. - + Modulo by zero. Modulo by zero. - + Invalid tertiary operator. Invalid tertiary operator. - - - Invalid expression. - Invalid expression. - FileOperations @@ -5694,342 +5743,342 @@ The URL was: %1 FullscreenUI - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. 找不到任何 CD/DVD-ROM 裝置。請確保您已連線驅動器並具有足夠的訪問許可權。 - + Use Global Setting 使用全域性設定 - + Automatic binding failed, no devices are available. 自動繫結失敗,沒有可用裝置。 - + Game title copied to clipboard. 遊戲標題已複製到剪貼簿。 - + Game serial copied to clipboard. 遊戲序列號已複製到剪貼簿。 - + Game CRC copied to clipboard. 遊戲 CRC 已複製到剪貼簿。 - + Game type copied to clipboard. 遊戲型別已複製到剪貼簿。 - + Game region copied to clipboard. 遊戲區域已複製到剪貼簿。 - + Game compatibility copied to clipboard. 遊戲相容性已複製到剪貼簿。 - + Game path copied to clipboard. 遊戲路徑已複製到剪貼簿。 - + Controller settings reset to default. 已將控制器設定重置為預設。 - + No input profiles available. 沒有可用的輸入方案。 - + Create New... 新建... - + Enter the name of the input profile you wish to create. 請輸入您要建立的輸入方案名稱。 - + Are you sure you want to restore the default settings? Any preferences will be lost. 您確實要恢復預設設定嗎?所有參數都將丟失。 - + Settings reset to defaults. 設定已被重置為預設值。 - + No save present in this slot. 此位置中無存檔。 - + No save states found. 找不到即時存檔。 - + Failed to delete save state. 刪除即時存檔失敗。 - + Failed to copy text to clipboard. 複製文字到剪貼簿失敗。 - + This game has no achievements. 此遊戲沒有成就。 - + This game has no leaderboards. 此遊戲沒有排行榜。 - + Reset System 重置系統 - + Hardcore mode will not be enabled until the system is reset. Do you want to reset the system now? 不會啟用硬核模式直到系統被重置。您要立即重置系統嗎? - + Launch a game from images scanned from your game directories. 從您遊戲目錄掃瞄所獲得的圖片啟動遊戲。 - + Launch a game by selecting a file/disc image. 通過選擇一個檔案/光碟映像啟動遊戲。 - + Start the console without any disc inserted. 在沒有插入任何光碟的情況下啟動主機。 - + Start a game from a disc in your PC's DVD drive. 啟動您 PC 的 DVD 驅動器中光碟上的遊戲。 - + No Binding 沒有繫結 - + Setting %s binding %s. 設定 %s 繫結 %s。 - + Push a controller button or axis now. 現在請按下控制的按鈕或軸。 - + Timing out in %.0f seconds... %.0f 秒后超時... - + Unknown 未知 - + OK 確定 - + Select Device 選擇驅動器 - + Details 詳情 - + Options 選項 - + Copies the current global settings to this game. 複製目前的全域性設定到此遊戲。 - + Clears all settings set for this game. 清除此遊戲的所有設定。 - + Behaviour 行為 - + Prevents the screen saver from activating and the host from sleeping while emulation is running. 在模擬執行時防止螢幕保護程式啟用和主機休眠。 - + Shows the game you are currently playing as part of your profile on Discord. 將您目前正在遊玩的遊戲顯示在 Discord 中您個人檔案中。 - + Pauses the emulator when a game is started. 遊戲開始時暫停模擬器。 - + Pauses the emulator when you minimize the window or switch to another application, and unpauses when you switch back. 在最小化視窗或切換到另一個應用程式時暫停模擬器並在切換回時取消暫停。 - + Pauses the emulator when you open the quick menu, and unpauses when you close it. 在您打開快速菜單時暫停模擬器。並在您關閉它時取消暫停。 - + Determines whether a prompt will be displayed to confirm shutting down the emulator/game when the hotkey is pressed. 確認按下熱鍵時是否顯示確認關閉模擬器/遊戲的提示。 - + Automatically saves the emulator state when powering down or exiting. You can then resume directly from where you left off next time. 關機或退出時自動儲存模擬器狀態。然後您可以直接從下一次停止的位置繼續。 - + Uses a light coloured theme instead of the default dark theme. 使用淺色主題而不是預設的深色主題。 - + Game Display 遊戲顯示 - + Switches between full screen and windowed when the window is double-clicked. 雙擊視窗時在全屏和視窗之間切換。 - + Hides the mouse pointer/cursor when the emulator is in fullscreen mode. 當模擬器處於全屏模式時隱藏滑鼠指針/游標。 - + Determines how large the on-screen messages and monitor are. 確定屏顯訊息和監視器的大小。 - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. 顯示屏顯訊息-當事件發生時顯示訊息例如正在建立/載入儲存即時存檔、正在擷取螢幕截圖等。 - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. 在螢幕的右上角以百分比形式顯示系統的當前模擬速度。 - + Shows the number of video frames (or v-syncs) displayed per second by the system in the top-right corner of the display. 在顯示器的右上角顯示系統每秒視訊幀(或垂直同步)數。 - + Shows the CPU usage based on threads in the top-right corner of the display. 在顯示器的右上角顯示基於執行緒的 CPU 佔用率。 - + Shows the host's GPU usage in the top-right corner of the display. 在顯示器的右上角顯示主機的 GPU 佔用率。 - + Shows statistics about GS (primitives, draw calls) in the top-right corner of the display. 在顯示器的右上角顯示有關 GS (原語、繪製呼叫) 的統計資訊。 - + Shows indicators when fast forwarding, pausing, and other abnormal states are active. 在快進、暫停和其他異常狀態處於活動狀態時顯示指示器。 - + Shows the current configuration in the bottom-right corner of the display. 在顯示器的右下角顯示目前配置。 - + Shows the current controller state of the system in the bottom-left corner of the display. 在顯示器的左下角顯示系統的當前控制器狀態。 - + Displays warnings when settings are enabled which may break games. 當設定可能破壞遊戲時顯示警告。 - + Resets configuration to defaults (excluding controller settings). 將設定重置為預設 (控制器設定除外)。 - + Changes the BIOS image used to start future sessions. 更改啟動下次會話所需的 BIOS 映像。 - + Automatic 自動 - + {0}/{1}/{2}/{3} {0}/{1}/{2}/{3} - + Default Default - + WARNING: Your memory card is still writing data. Shutting down now will IRREVERSIBLY DESTROY YOUR MEMORY CARD. It is strongly recommended to resume your game and let it finish writing to your memory card. Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? @@ -6038,1977 +6087,1982 @@ Do you wish to shutdown anyways and IRREVERSIBLY DESTROY YOUR MEMORY CARD? - + Automatically switches to fullscreen mode when a game is started. Automatically switches to fullscreen mode when a game is started. - + On-Screen Display On-Screen Display - + %d%% %d%% - + Shows the resolution of the game in the top-right corner of the display. Shows the resolution of the game in the top-right corner of the display. - + BIOS Configuration BIOS配置 - + BIOS Selection 選擇 BIOS - + Options and Patches 選項和補丁 - + Skips the intro screen, and bypasses region checks. 跳過標題畫面,並且繞過區域檢測。 - + Speed Control 速度控制 - + Normal Speed 普通速度 - + Sets the speed when running without fast forwarding. 設定在沒有快進時的速度。 - + Fast Forward Speed 快進速度 - + Sets the speed when using the fast forward hotkey. 設定使用快進熱鍵時的速度。 - + Slow Motion Speed 慢動作速度 - + Sets the speed when using the slow motion hotkey. 設定使用慢動作熱鍵時的速度。 - + System Settings 系統設定 - + EE Cycle Rate EE 循環率 - + Underclocks or overclocks the emulated Emotion Engine CPU. 降頻或超頻所模擬的情感引擎 CPU。 - + EE Cycle Skipping EE 循環跳過 - + Enable MTVU (Multi-Threaded VU1) 開啟 MTVU (多執行緒 VU1) - + Enable Instant VU1 開啟即時 VU1 - + Enable Cheats 開啟作弊 - + Enables loading cheats from pnach files. 開啟從 pnach 檔案載入作弊。 - + Enable Host Filesystem 開啟主機檔案系統 - + Enables access to files from the host: namespace in the virtual machine. 開啟訪問主機中的檔案:虛擬機器中的名稱空間。 - + Enable Fast CDVD 開啟快速 CDVD - + Fast disc access, less loading times. Not recommended. 快速光碟訪問,較少的載入時間。不推薦。 - + Frame Pacing/Latency Control 幀調整/延遲控制 - + Maximum Frame Latency 最大幀延遲 - + Sets the number of frames which can be queued. 設定可以排隊的幀數量。 - + Optimal Frame Pacing 最佳幀調步 - + Synchronize EE and GS threads after each frame. Lowest input latency, but increases system requirements. 在每一幀之後同步 EE 和 GS 執行緒。最低輸入延遲,但增加了系統需求。 - + Speeds up emulation so that the guest refresh rate matches the host. 加快模擬速度,使來賓重新整理率與宿主匹配。 - + Renderer 渲染器 - + Selects the API used to render the emulated GS. 選擇用於渲染模擬 GS 的 API。 - + Synchronizes frame presentation with host refresh. 使幀顯示與主機重新整理同步。 - + Display 顯示 - + Aspect Ratio 高寬比 - + Selects the aspect ratio to display the game content at. 選擇用於顯示遊戲內容的高寬比。 - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Selects the aspect ratio for display when a FMV is detected as playing. 選擇檢測到正在播放 FMV 時的高寬比。 - + Deinterlacing 反交錯 - + Selects the algorithm used to convert the PS2's interlaced output to progressive for display. 選擇將 PS2 的隔行輸出轉換為逐行顯示的演算法。 - + Screenshot Size 截圖尺寸 - + Determines the resolution at which screenshots will be saved. 確定儲存螢幕截圖的解析度。 - + Screenshot Format 截圖格式 - + Selects the format which will be used to save screenshots. 選擇儲存螢幕截圖的格式。 - + Screenshot Quality 截圖質量 - + Selects the quality at which screenshots will be compressed. 選擇螢幕截圖的壓縮質量。 - + Vertical Stretch 垂直拉伸 - + Increases or decreases the virtual picture size vertically. 增大或減小可見畫面的垂直尺寸。 - + Crop 裁剪 - + Crops the image, while respecting aspect ratio. 裁剪影象,同時考慮縱橫比。 - + %dpx %dpx - - Enable Widescreen Patches - 開啟寬屏補丁 - - - - Enables loading widescreen patches from pnach files. - 開啟從 pnach 檔案中載入寬屏補丁。 - - - - Enable No-Interlacing Patches - 開啟反隔行掃瞄補丁 - - - - Enables loading no-interlacing patches from pnach files. - 開啟從 pnach 檔案中載入去隔行掃瞄補丁。 - - - + Bilinear Upscaling 雙線性升格 - + Smooths out the image when upscaling the console to the screen. 在將主機畫面升格到螢幕時平滑畫面。 - + Integer Upscaling 整數倍拉伸 - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. 填充顯示區域以確保主機上的畫素與遊戲機中的畫素之間的比率為整數。可能會在一些2D遊戲中產生更清晰的影象。 - + Screen Offsets 螢幕偏移 - + Enables PCRTC Offsets which position the screen as the game requests. 開啟根據遊戲要求定位螢幕的 PCRTC 偏移量。 - + Show Overscan 顯示過掃瞄 - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 啟用該選項可顯示繪製在超過螢幕安全區域的過掃瞄區域。 - + Anti-Blur 反模糊 - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 啟用內部反模糊 hack。這會降低 PS2 的渲染精度但會使許多遊戲看起來不那麼模糊。 - + Rendering 渲染 - + Internal Resolution 內部解析度 - + Multiplies the render resolution by the specified factor (upscaling). 按指定倍數放大渲染解析度(升格)。 - + Mipmapping 紋理貼圖 - + Bilinear Filtering 雙線性過濾 - + Selects where bilinear filtering is utilized when rendering textures. 選擇渲染紋理時使用雙線性過濾的位置。 - + Trilinear Filtering 三線性過濾 - + Selects where trilinear filtering is utilized when rendering textures. 選擇渲染紋理時使用三線性過濾的位置。 - + Anisotropic Filtering 各意向性過濾 - + Dithering 抖動 - + Selects the type of dithering applies when the game requests it. 選擇遊戲請求抖動時要使用的型別。 - + Blending Accuracy 混合精確性 - + Determines the level of accuracy when emulating blend modes not supported by the host graphics API. 當模擬主機圖形 API 不支援的混合模式時,確定精度水平。 - + Texture Preloading 預載入紋理 - + Uploads full textures to the GPU on use, rather than only the utilized regions. Can improve performance in some games. 在使用時將完整紋理上載到 GPU,而不僅僅是已使用的區域。可以在某些遊戲中提高效能。 - + Software Rendering Threads 軟體渲染執行緒 - + Number of threads to use in addition to the main GS thread for rasterization. 用於附加在光柵化的主 GS 執行緒上的執行緒數。 - + Auto Flush (Software) 自動重新整理 (軟體) - + Force a primitive flush when a framebuffer is also an input texture. 當幀緩衝區也是輸入紋理時強制基本體重新整理。 - + Edge AA (AA1) 邊緣 AA (AA1) - + Enables emulation of the GS's edge anti-aliasing (AA1). 開啟模擬 GS 的邊緣抗鋸齒 (AA1)。 - + Enables emulation of the GS's texture mipmapping. 開啟模擬 GS 的紋理貼圖。 - + The selected input profile will be used for this game. The selected input profile will be used for this game. - + Shared - Shared + 共享 - + Input Profile Input Profile - + + Show a save state selector UI when switching slots instead of showing a notification bubble. + Show a save state selector UI when switching slots instead of showing a notification bubble. + + + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows a visual history of frame times in the upper-left corner of the display. Shows a visual history of frame times in the upper-left corner of the display. - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Pins emulation threads to CPU cores to potentially improve performance/frame time variance. Pins emulation threads to CPU cores to potentially improve performance/frame time variance. - + + Enable Widescreen Patches + Enable Widescreen Patches + + + + Enables loading widescreen patches from pnach files. + Enables loading widescreen patches from pnach files. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches + + + + Enables loading no-interlacing patches from pnach files. + Enables loading no-interlacing patches from pnach files. + + + Hardware Fixes 硬體修復 - + Manual Hardware Fixes 手動硬體修復 - + Disables automatic hardware fixes, allowing you to set fixes manually. 關閉自動硬體修復,允許您手動設定修復。 - + CPU Sprite Render Size CPU 活動塊渲染器大小 - + Uses software renderer to draw texture decompression-like sprites. 使用軟體渲染器繪製類似於紋理解壓縮的活動塊。 - + CPU Sprite Render Level CPU 活動塊渲染器水平 - + Determines filter level for CPU sprite render. 確定 CPU 活動塊渲染器的濾鏡水平。 - + Software CLUT Render 軟體 Clut 渲染 - + Uses software renderer to draw texture CLUT points/sprites. 使用軟體渲染器繪製紋理 CLUT 點/活動塊。 - + Skip Draw Start 跳過描繪開始 - + Object range to skip drawing. 要跳過描繪的對象範圍。 - + Skip Draw End 跳過描繪結束 - + Auto Flush (Hardware) 自動重新整理 (硬體) - + CPU Framebuffer Conversion CPU 幀緩衝轉換 - + Disable Depth Conversion Disable Depth Conversion - + Disable Safe Features 關閉安全功能 - + This option disables multiple safe features. 此選項會關閉多個安全功能。 - + This option disables game-specific render fixes. 此選項會關閉指定的遊戲渲染器修復。 - + Uploads GS data when rendering a new frame to reproduce some effects accurately. 渲染新幀時上載 GS 數據以準確再現某些效果。 - + Disable Partial Invalidation 禁用部分失效 - + Removes texture cache entries when there is any intersection, rather than only the intersected areas. 當存在任何相交時移除紋理快取條目,而不僅僅是相交區域。 - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. 允許紋理快取將上一個幀緩衝區的內部數據作為輸入紋理重新使用。 - + Read Targets When Closing 關閉時讀取目標 - + Flushes all targets in the texture cache back to local memory when shutting down. 關閉時將紋理快取中的所有目標重新整理回本地記憶體。 - + Estimate Texture Region 估計紋理區域 - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). 嘗試在遊戲本身不設定紋理大小時減小紋理大小(例如 Snowblind 遊戲)。 - + GPU Palette Conversion GPU 調色板轉換 - + Upscaling Fixes Upscaling Fixes - + Adjusts vertices relative to upscaling. 相對於放大比例調整頂點。 - + Native Scaling Native Scaling - + Attempt to do rescaling at native resolution. Attempt to do rescaling at native resolution. - + Round Sprite 活動塊環繞 - + Adjusts sprite coordinates. 調節活動塊座標。 - + Bilinear Upscale 雙線性升格 - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. 由於在縮放時會進行雙線性過濾所以可以平滑紋理。 - + Adjusts target texture offsets. 調節目標紋理偏移。 - + Align Sprite 排列活動塊 - + Fixes issues with upscaling (vertical lines) in some games. 修正了某些遊戲中升格(垂直線)問題。 - + Merge Sprite 合併活動快 - + Replaces multiple post-processing sprites with a larger single sprite. 將多個后處理活動塊替換為更大的單個塊。 - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. 降低 GS 精度以避免在縮放時畫素之間出現間隙。修正了 Wild Arms 遊戲中的文字。 - + Unscaled Palette Texture Draws 未縮放的調色板紋理繪製 - + Can fix some broken effects which rely on pixel perfect precision. 可以修復一些依賴於畫素完美精度的破碎效果。 - + Texture Replacement 紋理替換 - + Load Textures 載入紋理 - + Loads replacement textures where available and user-provided. 載入使用者提供的可用替換紋理。 - + Asynchronous Texture Loading 非同步紋理載入 - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. 將替換紋理載入到輔助執行緒上,從而在啟用替換時減少微卡頓。 - + Precache Replacements 預快取替換 - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. 預先載入所有的替換紋理到記憶體中。不再需要非同步載入。 - + Replacements Directory 替換目錄 - + Folders 資料夾 - + Texture Dumping 紋理轉儲 - + Dump Textures 轉儲紋理 - + Dump Mipmaps 轉儲紋理貼圖 - + Includes mipmaps when dumping textures. 在轉儲紋理時包含紋理貼圖。 - + Dump FMV Textures 轉儲 FMV 紋理 - + Allows texture dumping when FMVs are active. You should not enable this. 在 FNV 活動時允許紋理轉儲。您應該開啟此選項。 - + Post-Processing 後置處理 - + FXAA FXAA - + Enables FXAA post-processing shader. 開啟 FXAA后處理著色器。 - + Contrast Adaptive Sharpening 對比度自適應銳化 - + Enables FidelityFX Contrast Adaptive Sharpening. 開啟 FidelityFX 對比度自適應銳化。 - + CAS Sharpness CAS 銳化 - + Determines the intensity the sharpening effect in CAS post-processing. 確定 CAS 后處理中銳化效果的強度。 - + Filters 濾鏡 - + Shade Boost Shade Boost - + Enables brightness/contrast/saturation adjustment. 開啟亮度/對比度/飽和度調整。 - + Shade Boost Brightness Shade Boost 亮度 - + Adjusts brightness. 50 is normal. 調節亮度。50 為普通。 - + Shade Boost Contrast Shade Boost 對比度 - + Adjusts contrast. 50 is normal. 調節對比度。50 為普通。 - + Shade Boost Saturation Shade Boost 飽和度 - + Adjusts saturation. 50 is normal. 調節飽和度。50 為普通。 - + TV Shaders TV 著色器 - + Advanced 高級 - + Skip Presenting Duplicate Frames 跳過顯示重複幀 - + Extended Upscaling Multipliers Extended Upscaling Multipliers - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Hardware Download Mode 硬體下載模式 - + Changes synchronization behavior for GS downloads. 更改 GS 下載的同步行為。 - + Allow Exclusive Fullscreen 允許獨佔全屏 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout. 覆蓋驅動的啓發式規則以啟用獨佔全屏或直接翻轉/掃瞄。 - + Override Texture Barriers 覆蓋紋理光柵 - + Forces texture barrier functionality to the specified value. 將紋理屏障功能強制設定為指定值。 - + GS Dump Compression GS 轉儲壓縮 - + Sets the compression algorithm for GS dumps. 設定 GS 轉儲的壓縮演算法。 - + Disable Framebuffer Fetch 關閉幀緩衝獲取 - + Prevents the usage of framebuffer fetch when supported by host GPU. 當主機 GPU 支援時防止使用幀緩衝區提取。 - + Disable Shader Cache 關閉著色器快取 - + Prevents the loading and saving of shaders/pipelines to disk. 防止載入以及儲存著色器/管道到磁碟上。 - + Disable Vertex Shader Expand 關閉頂點著色器擴充套件 - + Falls back to the CPU for expanding sprites/lines. 退回到 CPU 以擴充套件活動塊/行數。 - + Changes when SPU samples are generated relative to system emulation. 相對於系統模擬產生 SPU 採樣時更改。 - + %d ms %d ms - + Settings and Operations 設定與操作 - + Creates a new memory card file or folder. 建立一個新的記憶卡或資料夾。 - + Simulates a larger memory card by filtering saves only to the current game. 通過過濾僅用於目前遊戲存檔來模擬一個更大的記憶卡。 - + If not set, this card will be considered unplugged. 如果未設定,此卡將被視為未插入。 - + The selected memory card image will be used for this slot. 選定的記憶卡映像將用於此位置。 - + Enable/Disable the Player LED on DualSense controllers. Enable/Disable the Player LED on DualSense controllers. - + Trigger - Trigger + 觸發 - + Toggles the macro when the button is pressed, instead of held. Toggles the macro when the button is pressed, instead of held. - + Savestate Savestate - + Compression Method Compression Method - + Sets the compression algorithm for savestate. Sets the compression algorithm for savestate. - + Compression Level Compression Level - + Sets the compression level for savestate. Sets the compression level for savestate. - + Version: %s Version: %s - + {:%H:%M} {:%H:%M} - + Slot {} Slot {} - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + WebP WebP - + Aggressive Aggressive - + Deflate64 Deflate64 - + Zstandard Zstandard - + LZMA2 LZMA2 - + Low (Fast) Low (Fast) - + Medium (Recommended) Medium (Recommended) - + Very High (Slow, Not Recommended) Very High (Slow, Not Recommended) - + Change Selection Change Selection - + Select - Select + 選擇 - + Parent Directory Parent Directory - + Enter Value - Enter Value + 輸入數值 - + About - About + 關於 - + Toggle Fullscreen - Toggle Fullscreen + 切換全屏 - + Navigate Navigate - + Load Global State Load Global State - + Change Page Change Page - + Return To Game Return To Game - + Select State Select State - + Select Game - Select Game + 選擇遊戲 - + Change View Change View - + Launch Options Launch Options - + Create Save State Backups Create Save State Backups - + Show PCSX2 Version - Show PCSX2 Version + 顯示PCSE2版本 - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show Frame Times Show Frame Times - + Show Hardware Info Show Hardware Info - + Create Memory Card 建立記憶卡 - + Configuration 配置 - + Start Game - Start Game + 開始遊戲 - + Launch a game from a file, disc, or starts the console without any disc inserted. Launch a game from a file, disc, or starts the console without any disc inserted. - + Changes settings for the application. Changes settings for the application. - + Return to desktop mode, or exit the application. Return to desktop mode, or exit the application. - + Back - Back + 返回 - + Return to the previous menu. Return to the previous menu. - + Exit PCSX2 - Exit PCSX2 + 退出PCSX2 - + Completely exits the application, returning you to your desktop. Completely exits the application, returning you to your desktop. - + Desktop Mode - Desktop Mode + 桌面模式 - + Exits Big Picture mode, returning to the desktop interface. Exits Big Picture mode, returning to the desktop interface. - + Resets all configuration to defaults (including bindings). 重置所有配置為預設值 (包含繫結)。 - + Replaces these settings with a previously saved input profile. 將這些設定重置為上次儲存的輸入方案。 - + Stores the current settings to an input profile. 儲存目前的設定到一個輸入方案。 - + Input Sources 輸入源 - + The SDL input source supports most controllers. SDL 輸入源支援最多控制器。 - + Provides vibration and LED control support over Bluetooth. 通過藍芽提供震動和 LED 控制支援。 - + Allow SDL to use raw access to input devices. 允許 SDL 使用 raw 訪問輸入裝置。 - + The XInput source provides support for XBox 360/XBox One/XBox Series controllers. Xinput 源提供對 XBox 360/XBox One/XBox Series 控制器的支援。 - + Multitap 多分插 - + Enables an additional three controller slots. Not supported in all games. 開啟一個額外的三個控制器插槽。不是所有遊戲都支援。 - + Attempts to map the selected port to a chosen controller. 嘗試對映選定的埠到選定的控制器上。 - + Determines how much pressure is simulated when macro is active. 確定當宏處於活動狀態時模擬的壓力大小。 - + Determines the pressure required to activate the macro. 確定啟用宏所需的壓力。 - + Toggle every %d frames 切換每 %d 幀 - + Clears all bindings for this USB controller. 清除此 USB 控制器的所有繫結。 - + Data Save Locations 數據儲存位置 - + Show Advanced Settings 顯示高級設定 - + Changing these options may cause games to become non-functional. Modify at your own risk, the PCSX2 team will not provide support for configurations with these settings changed. 更改這些選項可能會導致遊戲無法執行。修改風險自負,PCSX2 團隊不會為更改了這些設定的配置提供支援。 - + Logging Logging - + System Console 系統控制檯 - + Writes log messages to the system console (console window/standard output). 寫入日誌訊息到系統控制檯 (控制檯視窗/標準輸出)。 - + File Logging 檔案日誌 - + Writes log messages to emulog.txt. 寫入日誌訊息到 emulog.txt。 - + Verbose Logging 詳細日誌記錄 - + Writes dev log messages to log sinks. 將開發日誌訊息寫入日誌接收器。 - + Log Timestamps 記錄時間戳 - + Writes timestamps alongside log messages. 在日誌訊息旁邊寫入時間戳。 - + EE Console EE 控制檯 - + Writes debug messages from the game's EE code to the console. 將除錯訊息從遊戲的 EE 程式碼寫入控制檯。 - + IOP Console IOP 控制檯 - + Writes debug messages from the game's IOP code to the console. 將除錯訊息從遊戲的 IOP 程式碼寫入控制檯。 - + CDVD Verbose Reads CDVD 詳細讀取 - + Logs disc reads from games. 記錄遊戲讀取光碟。 - + Emotion Engine 情感引擎 - + Rounding Mode 環繞模式 - + Determines how the results of floating-point operations are rounded. Some games need specific settings. 確定如何四捨五入浮點運算的結果。有些遊戲需要特定的設定。 - + Division Rounding Mode Division Rounding Mode - + Determines how the results of floating-point division is rounded. Some games need specific settings. Determines how the results of floating-point division is rounded. Some games need specific settings. - + Clamping Mode 接觸模式 - + Determines how out-of-range floating point numbers are handled. Some games need specific settings. 確定如何處理超出範圍的浮點數。有些遊戲需要特定的設定。 - + Enable EE Recompiler 開啟 EE 重編譯器 - + Performs just-in-time binary translation of 64-bit MIPS-IV machine code to native code. 執行 64 位 MIPS-IV 機器碼到本機程式碼的實時二進制轉換。 - + Enable EE Cache 開啟 EE 快取 - + Enables simulation of the EE's cache. Slow. 開啟模擬 EE 快取。慢。 - + Enable INTC Spin Detection 開啟 INTC 自旋檢測 - + Huge speedup for some games, with almost no compatibility side effects. 對某些遊戲有巨大的加速作用,幾乎沒有相容性的副作用。 - + Enable Wait Loop Detection 開啟等待循環檢測 - + Moderate speedup for some games, with no known side effects. 適度加速某些遊戲,沒有已知的副作用。 - + Enable Fast Memory Access 開啟快速記憶體訪問 - + Uses backpatching to avoid register flushing on every memory access. 使用回補以避免在每次記憶體訪問時重新整理暫存器。 - + Vector Units 向量單元 - + VU0 Rounding Mode VU0 循環模式 - + VU0 Clamping Mode VU0 壓制模式 - + VU1 Rounding Mode VU1 循環模式 - + VU1 Clamping Mode VU1 壓制模式 - + Enable VU0 Recompiler (Micro Mode) 開啟 VU0 重編譯器 (微模式) - + New Vector Unit recompiler with much improved compatibility. Recommended. 新的向量單元重編譯器將大幅改善相容性。推薦。 - + Enable VU1 Recompiler 開啟 VU1 重編譯器 - + Enable VU Flag Optimization 開啟 VU 標誌優化 - + Good speedup and high compatibility, may cause graphical errors. 良好的加速和高相容性,可能會導致圖形錯誤。 - + I/O Processor I/O 處理器 - + Enable IOP Recompiler 開啟 IOP 重編譯器 - + Performs just-in-time binary translation of 32-bit MIPS-I machine code to native code. 執行 32 位 MIPS-I 機器碼到本機程式碼的實時二進制轉換。 - + Graphics 圖形 - + Use Debug Device 使用除錯裝置 - + Settings 設定 - + No cheats are available for this game. 沒有此遊戲可用的作弊。 - + Cheat Codes 作弊程式碼 - + No patches are available for this game. 沒有此遊戲可用的補丁。 - + Game Patches 遊戲補丁 - + Activating cheats can cause unpredictable behavior, crashing, soft-locks, or broken saved games. 啟用作弊可能會導致不可預測的行為、崩潰、軟鎖或破壞已儲存的遊戲。 - + Activating game patches can cause unpredictable behavior, crashing, soft-locks, or broken saved games. 啟用遊戲補丁可能會導致不可預測的行為、崩潰、軟鎖或破壞已儲存的遊戲。 - + Use patches at your own risk, the PCSX2 team will provide no support for users who have enabled game patches. 使用補丁的風險自負,PCSX2 團隊將不會為啟用遊戲補丁的使用者提供支援。 - + Game Fixes 遊戲修正 - + Game fixes should not be modified unless you are aware of what each option does and the implications of doing so. 除非您知道每個選項的作用以及這樣做的影響,否則不應修改遊戲修復。 - + FPU Multiply Hack FPU 乘法 Hack - + For Tales of Destiny. 用於宿命傳說。 - + Preload TLB Hack 預載 TLB Hack - + Needed for some games with complex FMV rendering. 某些複雜 FMV 渲染的遊戲需要。 - + Skip MPEG Hack 跳過 MPEG Hack - + Skips videos/FMVs in games to avoid game hanging/freezes. 跳過遊戲中的視訊/FMV 以避免遊戲掛起/凍結。 - + OPH Flag Hack OPH 標誌 Hack - + EE Timing Hack EE 計時 Hack - + Instant DMA Hack 即時 DMA Hack - + Known to affect following games: Mana Khemia 1, Metal Saga, Pilot Down Behind Enemy Lines. 已知對下列遊戲有效: 瑪娜傳奇 1、沙塵之鎖、敵後陣線。 - + For SOCOM 2 HUD and Spy Hunter loading hang. 用於 SOCOM 2 HUD 和 Spy Hunter 載入掛起。 - + VU Add Hack VU 加法 Hack - + Full VU0 Synchronization 完整 VU0 同步 - + Forces tight VU0 sync on every COP2 instruction. 在每個 COP2 指令上強制嚴格 VU0 同步。 - + VU Overflow Hack VU 溢出 Hack - + To check for possible float overflows (Superman Returns). 檢測可能的浮點溢出 (超人迴歸)。 - + Use accurate timing for VU XGKicks (slower). 為 VU XGKicks 使用精確計時 (較慢)。 - + Load State 載入即時存檔 - + Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. Makes the emulated Emotion Engine skip cycles. Helps a small subset of games like SOTC. Most of the time it's harmful to performance. - + Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. Generally a speedup on CPUs with 4 or more cores. Safe for most games, but a few are incompatible and may hang. - + Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. Runs VU1 instantly. Provides a modest speed improvement in most games. Safe for most games, but a few games may exhibit graphical errors. - + Disable the support of depth buffers in the texture cache. Disable the support of depth buffers in the texture cache. - + Disable Render Fixes Disable Render Fixes - + Preload Frame Data Preload Frame Data - + Texture Inside RT Texture Inside RT - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. - + Half Pixel Offset Half Pixel Offset - + Texture Offset X Texture Offset X - + Texture Offset Y Texture Offset Y - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Applies a shader which replicates the visual effects of different styles of television set. Applies a shader which replicates the visual effects of different styles of television set. - + Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. Skips displaying frames that don't change in 25/30fps games. Can improve speed, but increase input lag/make frame pacing worse. - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + Use Software Renderer For FMVs Use Software Renderer For FMVs - + To avoid TLB miss on Goemon. To avoid TLB miss on Goemon. - + General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. General-purpose timing hack. Known to affect following games: Digital Devil Saga, SSX. - + Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. Good for cache emulation problems. Known to affect following games: Fire Pro Wrestling Z. - + Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. Known to affect following games: Bleach Blade Battlers, Growlanser II and III, Wizardry. - + Emulate GIF FIFO Emulate GIF FIFO - + Correct but slower. Known to affect the following games: Fifa Street 2. Correct but slower. Known to affect the following games: Fifa Street 2. - + DMA Busy Hack DMA Busy Hack - + Delay VIF1 Stalls Delay VIF1 Stalls - + Emulate VIF FIFO Emulate VIF FIFO - + Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. Simulate VIF1 FIFO read ahead. Known to affect following games: Test Drive Unlimited, Transformers. - + VU I Bit Hack VU I Bit Hack - + Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. Avoids constant recompilation in some games. Known to affect the following games: Scarface The World is Yours, Crash Tag Team Racing. - + For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. For Tri-Ace Games: Star Ocean 3, Radiata Stories, Valkyrie Profile 2. - + VU Sync VU Sync - + Run behind. To avoid sync problems when reading or writing VU registers. Run behind. To avoid sync problems when reading or writing VU registers. - + VU XGKick Sync VU XGKick Sync - + Force Blit Internal FPS Detection Force Blit Internal FPS Detection - + Save State 儲存即時存檔 - + Load Resume State 載入並繼續即時存檔 - + A resume save state created at %s was found. Do you want to load this save and continue? @@ -8017,2071 +8071,2076 @@ Do you want to load this save and continue? 您要載入此存檔並繼續嗎? - + Region: 區域: - + Compatibility: 相容性: - + No Game Selected 沒有選擇遊戲 - + Search Directories 搜索目錄 - + Adds a new directory to the game search list. 新增一個新目錄到遊戲搜索列表。 - + Scanning Subdirectories 掃瞄子目錄 - + Not Scanning Subdirectories 不掃瞄子目錄 - + List Settings 列表設定 - + Sets which view the game list will open to. 設定打開遊戲列表時的檢視。 - + Determines which field the game list will be sorted by. 確定將按哪個欄位對遊戲列表進行排序。 - + Reverses the game list sort order from the default (usually ascending to descending). 顛倒遊戲列表的預設排序(通常是升序到降序)。 - + Cover Settings 封面設定 - + Downloads covers from a user-specified URL template. 從使用者指定的URL模板下載封面。 - + Operations 操作 - + Selects where anisotropic filtering is utilized when rendering textures. Selects where anisotropic filtering is utilized when rendering textures. - + Use alternative method to calculate internal FPS to avoid false readings in some games. Use alternative method to calculate internal FPS to avoid false readings in some games. - + Identifies any new files added to the game directories. 標識新增到遊戲目錄中的任何新檔案。 - + Forces a full rescan of all games previously identified. 強制重新掃瞄之前確定的所有遊戲。 - + Download Covers 下載封面 - + About PCSX2 關於 PCSX2 - + PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits. PCSX2 是一個免費的開源 PlayStation2(PS2) 模擬器。它的目的是使用 MIPS CPU 直譯器、重新編譯器以及用於管理硬體狀態以及 PS 系統記憶體的虛擬機器的組合來模擬PS2的硬體。這使您可以在您的 PC 上玩 PS2 遊戲,並具有許多其他功能和好處。 - + PlayStation 2 and PS2 are registered trademarks of Sony Interactive Entertainment. This application is not affiliated in any way with Sony Interactive Entertainment. PlayStation 2 和 PS2 是索尼互動娛樂公司的註冊商標。此應用程式與索尼互動娛樂公司沒有任何關聯。 - + When enabled and logged in, PCSX2 will scan for achievements on startup. 啟用並登錄后,PCSX2 將在啟動時掃瞄成就。 - + "Challenge" mode for achievements, including leaderboard tracking. Disables save state, cheats, and slowdown functions. "挑戰" 模式的成就,包括排行榜跟蹤。禁用即時存檔、作弊和減速功能。 - + Displays popup messages on events such as achievement unlocks and leaderboard submissions. 顯示例如成就解鎖和排行榜提交等事件的彈出訊息。 - + Plays sound effects for events such as achievement unlocks and leaderboard submissions. 為成就解鎖和排行榜提交等活動播放音效。 - + Shows icons in the lower-right corner of the screen when a challenge/primed achievement is active. 當挑戰/已獲得的成就處於活動狀態時在螢幕右下角顯示圖示。 - + When enabled, PCSX2 will list achievements from unofficial sets. These achievements are not tracked by RetroAchievements. 啟用后,PCSX2 將列出非官方設定的成就。這些成就不會被 RetroAchievements 所追蹤。 - + When enabled, PCSX2 will assume all achievements are locked and not send any unlock notifications to the server. 啟用后,PCSX2 將假定所有成就都已鎖定不會向伺服器發送任何解鎖通知。 - + Error - Error + 錯誤 - + Pauses the emulator when a controller with bindings is disconnected. Pauses the emulator when a controller with bindings is disconnected. - + Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix - + Enable CDVD Precaching Enable CDVD Precaching - + Loads the disc image into RAM before starting the virtual machine. Loads the disc image into RAM before starting the virtual machine. - + Vertical Sync (VSync) Vertical Sync (VSync) - + Sync to Host Refresh Rate Sync to Host Refresh Rate - + Use Host VSync Timing Use Host VSync Timing - + Disables PCSX2's internal frame timing, and uses host vsync instead. Disables PCSX2's internal frame timing, and uses host vsync instead. - + Disable Mailbox Presentation Disable Mailbox Presentation - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. - + Audio Control - Audio Control + 音效控制 - + Controls the volume of the audio played on the host. Controls the volume of the audio played on the host. - + Fast Forward Volume Fast Forward Volume - + Controls the volume of the audio played on the host when fast forwarding. Controls the volume of the audio played on the host when fast forwarding. - + Mute All Sound Mute All Sound - + Prevents the emulator from producing any audible sound. Prevents the emulator from producing any audible sound. - + Backend Settings Backend Settings - + Audio Backend Audio Backend - + The audio backend determines how frames produced by the emulator are submitted to the host. The audio backend determines how frames produced by the emulator are submitted to the host. - + Expansion Expansion - + Determines how audio is expanded from stereo to surround for supported games. Determines how audio is expanded from stereo to surround for supported games. - + Synchronization - Synchronization + 同步 - + Buffer Size - Buffer Size + 緩衝區大小 - + Determines the amount of audio buffered before being pulled by the host API. Determines the amount of audio buffered before being pulled by the host API. - + Output Latency Output Latency - + Determines how much latency there is between the audio being picked up by the host API, and played through speakers. Determines how much latency there is between the audio being picked up by the host API, and played through speakers. - + Minimal Output Latency Minimal Output Latency - + When enabled, the minimum supported output latency will be used for the host API. When enabled, the minimum supported output latency will be used for the host API. - + Thread Pinning Thread Pinning - + Force Even Sprite Position Force Even Sprite Position - + Displays popup messages when starting, submitting, or failing a leaderboard challenge. Displays popup messages when starting, submitting, or failing a leaderboard challenge. - + When enabled, each session will behave as if no achievements have been unlocked. When enabled, each session will behave as if no achievements have been unlocked. - + Account 帳號 - + Logs out of RetroAchievements. 從 RetroAchievements 註銷。 - + Logs in to RetroAchievements. 登錄到 RetroAchievements。 - + Current Game 當前遊戲 - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + {} is not a valid disc image. {} 不是一個有效的光碟映像。 - + Automatic mapping completed for {}. 為 {} 自動對映完成。 - + Automatic mapping failed for {}. 為 {} 自動對映失敗。 - + Game settings initialized with global settings for '{}'. 為 '{}' 使用全域性設定初始化遊戲設定。 - + Game settings have been cleared for '{}'. 已為 '{}' 清除設定。 - + {} (Current) {} (目前) - + {} (Folder) {} (資料夾) - + Failed to load '{}'. 載入 』{}『 失敗。 - + Input profile '{}' loaded. 已載入輸入方案 '{}'。 - + Input profile '{}' saved. 已儲存輸入方案 '{}'。 - + Failed to save input profile '{}'. 儲存輸入方案 '{}' 失敗。 - + Port {} Controller Type 埠 {} 控制器型別 - + Select Macro {} Binds 選擇宏 {} 繫結 - + Port {} Device 埠 {} 裝置 - + Port {} Subtype 埠 {} 子型別 - + {} unlabelled patch codes will automatically activate. {} 個無標籤的補丁程式碼將會被自動啟用。 - + {} unlabelled patch codes found but not enabled. 不會開啟 {} 個無標籤的補丁程式碼。 - + This Session: {} 此會話: {} - + All Time: {} 所有時間: {} - + Save Slot {0} 存檔位置 {0} - + Saved {} 已儲存 {} - + {} does not exist. {} 不存在。 - + {} deleted. 已刪除 {}。 - + Failed to delete {}. 刪除 {} 失敗。 - + File: {} 檔案:{} - + CRC: {:08X} CRC: {:08X} - + Time Played: {} 已遊玩時間: {} - + Last Played: {} 最後遊玩時間: {} - + Size: {:.2f} MB 大小: {:.2f} MB - + Left: - Left: + 左: - + Top: - Top: + 上: - + Right: - Right: + 右: - + Bottom: - Bottom: + 下: - + Summary 統計 - + Interface Settings 界面設定 - + BIOS Settings BIOS 設定 - + Emulation Settings 模擬設定 - + Graphics Settings 圖形設定 - + Audio Settings 音訊設定 - + Memory Card Settings 記憶卡設定 - + Controller Settings 控制器設定 - + Hotkey Settings 熱鍵設定 - + Achievements Settings 成就設定 - + Folder Settings 資料夾設定 - + Advanced Settings 高級設定 - + Patches 補丁 - + Cheats 修改 - + 2% [1 FPS (NTSC) / 1 FPS (PAL)] 2% [1 FPS (NTSC) / 1 FPS (PAL)] - + 10% [6 FPS (NTSC) / 5 FPS (PAL)] 10% [6 FPS (NTSC) / 5 FPS (PAL)] - + 25% [15 FPS (NTSC) / 12 FPS (PAL)] 25% [15 FPS (NTSC) / 12 FPS (PAL)] - + 50% [30 FPS (NTSC) / 25 FPS (PAL)] 50% [30 FPS (NTSC) / 25 FPS (PAL)] - + 75% [45 FPS (NTSC) / 37 FPS (PAL)] 75% [45 FPS (NTSC) / 37 FPS (PAL)] - + 90% [54 FPS (NTSC) / 45 FPS (PAL)] 90% [54 FPS (NTSC) / 45 FPS (PAL)] - + 100% [60 FPS (NTSC) / 50 FPS (PAL)] 100% [60 FPS (NTSC) / 50 FPS (PAL)] - + 110% [66 FPS (NTSC) / 55 FPS (PAL)] 110% [66 FPS (NTSC) / 55 FPS (PAL)] - + 120% [72 FPS (NTSC) / 60 FPS (PAL)] 120% [72 FPS (NTSC) / 60 FPS (PAL)] - + 150% [90 FPS (NTSC) / 75 FPS (PAL)] 150% [90 FPS (NTSC) / 75 FPS (PAL)] - + 175% [105 FPS (NTSC) / 87 FPS (PAL)] 175% [105 FPS (NTSC) / 87 FPS (PAL)] - + 200% [120 FPS (NTSC) / 100 FPS (PAL)] 200% [120 FPS (NTSC) / 100 FPS (PAL)] - + 300% [180 FPS (NTSC) / 150 FPS (PAL)] 300% [180 FPS (NTSC) / 150 FPS (PAL)] - + 400% [240 FPS (NTSC) / 200 FPS (PAL)] 400% [240 FPS (NTSC) / 200 FPS (PAL)] - + 500% [300 FPS (NTSC) / 250 FPS (PAL)] 500% [300 FPS (NTSC) / 250 FPS (PAL)] - + 1000% [600 FPS (NTSC) / 500 FPS (PAL)] 1000% [600 FPS (NTSC) / 500 FPS (PAL)] - + 50% Speed 50% 速度 - + 60% Speed 60% 速度 - + 75% Speed 75% 速度 - + 100% Speed (Default) 100% 速度 (預設) - + 130% Speed 130% 速度 - + 180% Speed 180% 速度 - + 300% Speed 300% 速度 - + Normal (Default) 普通 (預設) - + Mild Underclock 輕微降頻 - + Moderate Underclock 中度降頻 - + Maximum Underclock 最大降頻 - + Disabled 關閉 - + 0 Frames (Hard Sync) 0 幀 (硬同步) - + 1 Frame 1 幀 - + 2 Frames 2 幀 - + 3 Frames 3 幀 - + None - + Extra + Preserve Sign 終極 + 保留符號 - + Full 完全 - + Extra 額外 - + Automatic (Default) 自動 (預設) - + Direct3D 11 Direct3D 11 - + Direct3D 12 Direct3D 12 - + OpenGL OpenGL - + Vulkan Vulkan - + Metal 金屬 - + Software 軟體 - + Null - + Off - + Bilinear (Smooth) 雙線性 (平滑) - + Bilinear (Sharp) 雙線性 (銳利) - + Weave (Top Field First, Sawtooth) 交織 (頂部優先,平滑) - + Weave (Bottom Field First, Sawtooth) 交織 (底部優先,平滑) - + Bob (Top Field First) Bob (頂部優先) - + Bob (Bottom Field First) Bob (底部優先) - + Blend (Top Field First, Half FPS) 混合 (頂部優先, 半數 FPS) - + Blend (Bottom Field First, Half FPS) 混合 (底部優先, 半數 FPS) - + Adaptive (Top Field First) 自適應 (頂部區域優先) - + Adaptive (Bottom Field First) 自適應 (底部區域優先) - + Native (PS2) 原生 (PS2) - + Nearest 最近似 - + Bilinear (Forced) 雙線性 (強制) - + Bilinear (PS2) 雙線性 (PS2) - + Bilinear (Forced excluding sprite) 雙線性 (強制除活動塊外) - + Off (None) 關 (無) - + Trilinear (PS2) 三線性 (PS2) - + Trilinear (Forced) 三線性 (強制) - + Scaled 縮放 - + Unscaled (Default) 不縮放 (預設) - + Minimum 最小 - + Basic (Recommended) 基礎 (推薦) - + Medium 中等 - + High - + Full (Slow) 完全 (慢) - + Maximum (Very Slow) 最大 (非常慢) - + Off (Default) 關 (預設) - + 2x 2倍 - + 4x 4倍 - + 8x 8倍 - + 16x 16倍 - + Partial 部分 - + Full (Hash Cache) 完全 (雜湊快取) - + Force Disabled 強制關閉 - + Force Enabled 強制開啟 - + Accurate (Recommended) 精確 (推薦) - + Disable Readbacks (Synchronize GS Thread) 關閉回讀 (同步 GS 執行緒) - + Unsynchronized (Non-Deterministic) 不同步 (不確定性) - + Disabled (Ignore Transfers) 關閉 (忽略傳輸) - + Screen Resolution 螢幕解析度 - + Internal Resolution (Aspect Uncorrected) Internal Resolution (Aspect Uncorrected) - + Load/Save State Load/Save State - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Cannot show details for games which were not scanned in the game list. Cannot show details for games which were not scanned in the game list. - + Pause On Controller Disconnection Pause On Controller Disconnection - + + Use Save State Selector + Use Save State Selector + + + SDL DualSense Player LED SDL DualSense Player LED - + Press To Toggle Press To Toggle - + Deadzone Deadzone - + Full Boot Full Boot - + Achievement Notifications Achievement Notifications - + Leaderboard Notifications Leaderboard Notifications - + Enable In-Game Overlays Enable In-Game Overlays - + Encore Mode Encore Mode - + Spectator Mode 觀察者模式 - + PNG PNG - + - - - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. - + Removes the current card from the slot. Removes the current card from the slot. - + Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). Determines the frequency at which the macro will toggle the buttons on and off (aka auto fire). - + {} Frames {} Frames - + No Deinterlacing No Deinterlacing - + Force 32bit Force 32bit - + JPEG JPEG - + 0 (Disabled) 0 (關閉) - + 1 (64 Max Width) 1 (64 最大寬度) - + 2 (128 Max Width) 2 (128 最大寬度) - + 3 (192 Max Width) 3 (192 最大寬度) - + 4 (256 Max Width) 4 (256 最大寬度) - + 5 (320 Max Width) 5 (320 最大寬度) - + 6 (384 Max Width) 6 (384 最大寬度) - + 7 (448 Max Width) 7 (448 最大寬度) - + 8 (512 Max Width) 8 (512 最大寬度) - + 9 (576 Max Width) 9 (576 最大寬度) - + 10 (640 Max Width) 10 (640 最大寬度) - + Sprites Only 僅活動塊 - + Sprites/Triangles 活動塊/三角形 - + Blended Sprites/Triangles 繫結的活動塊/三角形 - + 1 (Normal) 1 (普通) - + 2 (Aggressive) 2 (激進) - + Inside Target 在目標內部 - + Merge Targets 合併目標 - + Normal (Vertex) 普通 (頂點) - + Special (Texture) 特殊 (紋理) - + Special (Texture - Aggressive) 特殊 (紋理 - 激進) - + Align To Native Align To Native - + Half 一半 - + Force Bilinear 強制雙線性 - + Force Nearest 強制最鄰近 - + Disabled (Default) 關閉 (預設) - + Enabled (Sprites Only) 開啟 (僅活動塊) - + Enabled (All Primitives) 開啟 (所有元素) - + None (Default) 無 (預設) - + Sharpen Only (Internal Resolution) 僅銳化 (內部解析度) - + Sharpen and Resize (Display Resolution) 銳化並調整大小 (顯示解析度) - + Scanline Filter 掃瞄線濾鏡 - + Diagonal Filter 對角線濾鏡 - + Triangular Filter 三角濾鏡 - + Wave Filter 波形濾鏡 - + Lottes CRT 樂天 CRT - + 4xRGSS 4xRGSS - + NxAGSS NxAGSS - + Uncompressed 未壓縮 - + LZMA (xz) LZMA (xz) - + Zstandard (zst) Zstandard (zst) - + PS2 (8MB) PS2 (8MB) - + PS2 (16MB) PS2 (16MB) - + PS2 (32MB) PS2 (32MB) - + PS2 (64MB) PS2 (64MB) - + PS1 PS1 - + Negative Negative - + Positive Positive - + Chop/Zero (Default) - Chop/Zero (Default) + 捨去 / 零 (預設) - + Game Grid 遊戲網格 - + Game List 遊戲列表 - + Game List Settings 遊戲列表設定 - + Type 型別 - + Serial 序列號 - + Title 標題 - + File Title 檔案標題 - + CRC CRC - + Time Played 已遊玩時間 - + Last Played 最後遊戲時間 - + Size 大小 - + Select Disc Image 選擇光碟映像 - + Select Disc Drive 選擇光碟驅動器 - + Start File 啟動檔案 - + Start BIOS 啟動 BIOS - + Start Disc 啟動光碟 - + Exit 退出 - + Set Input Binding 設定輸入繫結 - + Region 區域 - + Compatibility Rating 相容性等級 - + Path 路徑 - + Disc Path 光碟路徑 - + Select Disc Path 選擇光碟路徑 - + Copy Settings 複製設定 - + Clear Settings 清除設定 - + Inhibit Screensaver 禁用螢幕保護程式 - + Enable Discord Presence Enable Discord Presence - + Pause On Start 啟動時暫停 - + Pause On Focus Loss 丟失焦點時暫停 - + Pause On Menu 菜單中暫停 - + Confirm Shutdown 確認退出 - + Save State On Shutdown 關閉時儲存即時存檔 - + Use Light Theme 使用淺色主題 - + Start Fullscreen 啟動全螢幕 - + Double-Click Toggles Fullscreen 雙擊切換全螢幕 - + Hide Cursor In Fullscreen 全屏模式下隱藏游標 - + OSD Scale OSD 比例 - + Show Messages 顯示訊息 - + Show Speed 顯示速度 - + Show FPS 顯示 FPS - + Show CPU Usage 顯示 CPU 佔用率 - + Show GPU Usage 顯示 GPU 佔用率 - + Show Resolution 顯示解析度 - + Show GS Statistics 顯示 GS 統計 - + Show Status Indicators 顯示狀態指示器 - + Show Settings 顯示設定 - + Show Inputs 顯示輸入 - + Warn About Unsafe Settings 警告不安全的設定 - + Reset Settings 重置設定 - + Change Search Directory 更改搜索目錄 - + Fast Boot 快速引導 - + Output Volume 輸出音量 - + Memory Card Directory 記憶卡目錄 - + Folder Memory Card Filter 資料夾記憶卡篩選器 - + Create 建立 - + Cancel 取消 - + Load Profile 載入方案 - + Save Profile 儲存方案 - + Enable SDL Input Source 開啟 SDL 輸入源 - + SDL DualShock 4 / DualSense Enhanced Mode SDL DualShock 4 / DualSense 增強模式 - + SDL Raw Input SDL Raw 輸入 - + Enable XInput Input Source 開啟 XInput 輸入源 - + Enable Console Port 1 Multitap 開啟主機埠 1 多分插 - + Enable Console Port 2 Multitap 開啟主機埠 2 多分插 - + Controller Port {}{} 控制器埠 {}{} - + Controller Port {} 控制器埠 {} - + Controller Type 控制器型別 - + Automatic Mapping 自動對映 - + Controller Port {}{} Macros 控制器埠 {}{} 宏 - + Controller Port {} Macros 控制器埠 {{} 宏 - + Macro Button {} 宏按鈕 {} - + Buttons 按鈕 - + Frequency 頻率 - + Pressure 壓敏 - + Controller Port {}{} Settings 控制器埠 {}{} 設定 - + Controller Port {} Settings 控制器埠 {} 設定 - + USB Port {} USB 埠 {} - + Device Type 裝置型別 - + Device Subtype 裝置子型別 - + {} Bindings {} 條繫結 - + Clear Bindings 清除繫結 - + {} Settings {} 個設定 - + Cache Directory 快取目錄 - + Covers Directory 封面目錄 - + Snapshots Directory 快照目錄 - + Save States Directory 即時存檔目錄 - + Game Settings Directory 遊戲設定目錄 - + Input Profile Directory 輸入方案目錄 - + Cheats Directory 作弊目錄 - + Patches Directory 補丁目錄 - + Texture Replacements Directory 紋理替換目錄 - + Video Dumping Directory 視訊轉儲目錄 - + Resume Game 繼續遊戲 - + Toggle Frame Limit 切換整數限制 - + Game Properties 遊戲屬性 - + Achievements 成就 - + Save Screenshot 儲存截圖 - + Switch To Software Renderer 切換到軟體渲染器 - + Switch To Hardware Renderer 切換到硬體渲染器 - + Change Disc 更換光碟 - + Close Game 關閉遊戲 - + Exit Without Saving 退出不存檔 - + Back To Pause Menu 返回到暫停菜單 - + Exit And Save State 退出並即時存檔 - + Leaderboards 排行榜 - + Delete Save 刪除存檔 - + Close Menu 關閉菜單 - + Delete State 刪除即時存檔 - + Default Boot 預設引導 - + Reset Play Time 重置遊戲時間 - + Add Search Directory 新增搜索目錄 - + Open in File Browser 在檔案瀏覽器中打開 - + Disable Subdirectory Scanning 關閉子目錄搜索 - + Enable Subdirectory Scanning 開啟子目錄搜索 - + Remove From List 從列表中移除 - + Default View 預設檢視 - + Sort By 排序方式 - + Sort Reversed 反轉排序 - + Scan For New Games 搜索新遊戲 - + Rescan All Games 重新掃瞄所有遊戲 - + Website 網站 - + Support Forums 支援論壇 - + GitHub Repository GitHub 儲存庫 - + License 許可 - + Close 關閉 - + RAIntegration is being used instead of the built-in achievements implementation. RAIntegration 被用於替代內建的成就實現。 - + Enable Achievements 開啟成就 - + Hardcore Mode 硬核模式 - + Sound Effects 聲音效果 - + Test Unofficial Achievements 測試非官方成就 - + Username: {} 使用者名稱: {} - + Login token generated on {} 登錄憑據產生于{} - + Logout 註銷 - + Not Logged In 未登錄 - + Login 登錄 - + Game: {0} ({1}) 遊戲: {0} ({1}) - + Rich presence inactive or unsupported. 未啟用富線上狀態或不支援。 - + Game not loaded or no RetroAchievements available. 未載入遊戲或無 RetroAchievements 可用。 - + Card Enabled 開啟卡帶 - + Card Name 卡帶名稱 - + Eject Card 彈出卡帶 @@ -10344,7 +10403,7 @@ Please see our official documentation for more information. Search... - Search... + 搜索... @@ -10447,7 +10506,7 @@ graphical quality, but this will increase system requirements. Game Fixes - Game Fixes + 遊戲修正 @@ -10693,12 +10752,12 @@ graphical quality, but this will increase system requirements. PS2 Disc - PS2 Disc + PS2 光碟 PS1 Disc - PS1 Disc + PS1 光碟 @@ -10708,27 +10767,27 @@ graphical quality, but this will increase system requirements. Other - Other + 其它 Unknown - Unknown + 未知 Nothing - Nothing + Intro - Intro + 介紹 Menu - Menu + 選單 @@ -10738,12 +10797,12 @@ graphical quality, but this will increase system requirements. Playable - Playable + 可玩 Perfect - Perfect + 完美 @@ -11067,32 +11126,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. Any patches bundled with PCSX2 for this game will be disabled since you have unlabeled patches loaded. - + + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>Widescreen patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + <html><head/><body><p>No-Interlacing patches are currently <span style=" font-weight:600;">ENABLED</span> globally.</p></body></html> + + + All CRCs All CRCs - + Reload Patches 過載補丁 - + Show Patches For All CRCs Show Patches For All CRCs - + Checked Checked - + Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. Toggles scanning patch files for all CRCs of the game. With this enabled available patches for the game serial with different CRCs will also be loaded. - + There are no patches available for this game. 沒有此遊戲可用的補丁。 @@ -11568,11 +11637,11 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - - + + + + + Off (Default) 關 (預設) @@ -11582,10 +11651,10 @@ Scanning recursively takes more time, but will identify files in subdirectories. - - - - + + + + Automatic (Default) 自動 (預設) @@ -11652,7 +11721,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. - + Bilinear (Smooth) Smooth: Refers to the texture clarity. 雙線性 (平滑) @@ -11718,29 +11787,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Screen Offsets 螢幕偏移 - + Show Overscan 顯示過掃瞄 - - - Enable Widescreen Patches - 開啟寬屏補丁 - - - - Enable No-Interlacing Patches - 開啟反隔行掃瞄補丁 - - + Anti-Blur 反模糊 @@ -11751,7 +11810,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Interlace Offset 關閉隔行掃瞄偏移 @@ -11761,18 +11820,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne 截圖尺寸: - + Screen Resolution 螢幕解析度 - + Internal Resolution 內部解析度 - + PNG PNG @@ -11824,7 +11883,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Bilinear (PS2) 雙線性 (PS2) @@ -11871,7 +11930,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled (Default) 不縮放 (預設) @@ -11887,7 +11946,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Basic (Recommended) 基礎 (推薦) @@ -11923,7 +11982,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Full (Hash Cache) 完全 (雜湊快取) @@ -11939,31 +11998,31 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Depth Conversion Disable Depth Conversion - + GPU Palette Conversion GPU 調色板轉換 - + Manual Hardware Renderer Fixes 手動硬體渲染器修復 - + Spin GPU During Readbacks 在回讀期間保持 GPU 執行 - + Spin CPU During Readbacks 在回讀期間保持 CPU 執行 @@ -11975,15 +12034,15 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + Mipmapping 紋理貼圖 - - + + Auto Flush 自動清理 @@ -12011,8 +12070,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + 0 (Disabled) 0 (Disabled) 0 (關閉) @@ -12069,18 +12128,18 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Safe Features 關閉安全功能 - + Preload Frame Data 預載幀數據 - + Texture Inside RT 紋理內部 RT @@ -12179,13 +12238,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Merge Sprite 合併活動快 - + Align Sprite 排列活動塊 @@ -12199,16 +12258,6 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne No Deinterlacing No Deinterlacing - - - Apply Widescreen Patches - Apply Widescreen Patches - - - - Apply No-Interlacing Patches - Apply No-Interlacing Patches - Window Resolution (Aspect Corrected) @@ -12281,25 +12330,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Disable Partial Source Invalidation 禁用部分源無效 - + Read Targets When Closing 關閉時讀取目標 - + Estimate Texture Region 估計紋理區域 - + Disable Render Fixes 關閉渲染器修復 @@ -12310,7 +12359,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Unscaled Palette Texture Draws 未縮放的調色板紋理繪製 @@ -12369,25 +12418,25 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Dump Textures 轉儲紋理 - + Dump Mipmaps 轉儲紋理貼圖 - + Dump FMV Textures 轉儲 FMV 紋理 - + Load Textures 載入紋理 @@ -12397,6 +12446,16 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne Native (10:7) Native (10:7) + + + Apply Widescreen Patches + Apply Widescreen Patches + + + + Apply No-Interlacing Patches + Apply No-Interlacing Patches + Native Scaling @@ -12414,13 +12473,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Force Even Sprite Position Force Even Sprite Position - + Precache Textures 預快取紋理 @@ -12443,8 +12502,8 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - - + + None (Default) 無 (預設) @@ -12465,7 +12524,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + FXAA FXAA @@ -12517,7 +12576,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Shade Boost 陰影增強 @@ -12532,7 +12591,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne 對比度: - + Saturation 飽和度 @@ -12553,50 +12612,50 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Indicators 顯示指示器 - + Show Resolution 顯示解析度 - + Show Inputs 顯示輸入 - + Show GPU Usage 顯示 GPU 佔用率 - + Show Settings 顯示設定 - + Show FPS 顯示 FPS - + Disable Mailbox Presentation Mailbox Presentation: a type of graphics-rendering technique that has not been exposed to the public that often, so chances are you will need to keep the word mailbox in English. It does not have anything to do with postal mailboxes or email inboxes/outboxes. Disable Mailbox Presentation - + Extended Upscaling Multipliers Extended Upscaling Multipliers @@ -12612,13 +12671,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show Statistics 顯示統計資訊 - + Asynchronous Texture Loading Asynchronous Texture Loading @@ -12629,13 +12688,13 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Show CPU Usage 顯示 CPU 佔用率 - + Warn About Unsafe Settings 警告不安全的設定 @@ -12661,7 +12720,7 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Left (Default) Left (Default) @@ -12672,43 +12731,43 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Right (Default) Right (Default) - + Show Frame Times Show Frame Times - + Show PCSX2 Version Show PCSX2 Version - + Show Hardware Info Show Hardware Info - + Show Input Recording Status Show Input Recording Status - + Show Video Capture Status Show Video Capture Status - + Show VPS Show VPS @@ -12817,19 +12876,19 @@ Percentage sign that will appear next to a number. Add a space or whatever is ne - + Zstandard (zst) Zstandard (zst) - + Skip Presenting Duplicate Frames 跳過顯示重複幀 - + Use Blit Swap Chain Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit \nSwap chain: see Microsoft's Terminology Portal. ---------- @@ -12882,7 +12941,7 @@ Swap chain: see Microsoft's Terminology Portal. - + Show Speed Percentages 顯示速度百分比 @@ -12892,1214 +12951,1214 @@ Swap chain: see Microsoft's Terminology Portal. 關閉幀緩衝獲取 - + Direct3D 11 Graphics backend/engine type. Leave as-is. Direct3D 11 - + Direct3D 12 Graphics backend/engine type. Leave as-is. Direct3D 12 - + OpenGL Graphics backend/engine type. Leave as-is. OpenGL - + Vulkan Graphics backend/engine type. Leave as-is. Vulkan - + Metal Graphics backend/engine type. Leave as-is. Metal - + Software Graphics backend/engine type (refers to emulating the GS in software, on the CPU). Translate accordingly. 軟體 - + Null Null here means that this is a graphics backend that will show nothing. - + 2x - 2x + 2倍 - + 4x - 4x + 4倍 - + 8x - 8x + 8倍 - + 16x - 16x + 16倍 - - - - + + + + Use Global Setting [%1] 使用全域性設定 [%1] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + + + + + + Unchecked 未選中 - + + Enable Widescreen Patches + Enable Widescreen Patches + + + Automatically loads and applies widescreen patches on game start. Can cause issues. - 遊戲開始時自動載入和應用寬屏補丁。可能會導致問題。 + Automatically loads and applies widescreen patches on game start. Can cause issues. + + + + Enable No-Interlacing Patches + Enable No-Interlacing Patches - + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - 在遊戲開始時自動載入和應用非隔行掃瞄補丁。可能會導致問題。 + Automatically loads and applies no-interlacing patches on game start. Can cause issues. - + Disables interlacing offset which may reduce blurring in some situations. 關閉隔行掃瞄偏移這在某些情況下可能會減少模糊。 - + Bilinear Filtering 雙線性過濾 - + Enables bilinear post processing filter. Smooths the overall picture as it is displayed on the screen. Corrects positioning between pixels. 啟用雙線性后處理過濾器。使顯示在螢幕上的畫面整體更加平滑。更正了畫素之間的位置。 - + Enables PCRTC Offsets which position the screen as the game requests. Useful for some games such as WipEout Fusion for its screen shake effect, but can make the picture blurry. PCRTC: Programmable CRT (Cathode Ray Tube) Controller. 啟用根據遊戲要求定位螢幕的 PCRTC 偏移量。適用於某些遊戲如 Wapout Fusion 的螢幕抖動效果,但可能會使圖片變得模糊。 - + Enables the option to show the overscan area on games which draw more than the safe area of the screen. 啟用該選項可顯示繪製在超過螢幕安全區域的過掃瞄區域。 - + FMV Aspect Ratio Override FMV Aspect Ratio Override - + Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. Determines the deinterlacing method to be used on the interlaced screen of the emulated console. Automatic should be able to correctly deinterlace most games, but if you see visibly shaky graphics, try one of the available options. - + Control the accuracy level of the GS blending unit emulation.<br> The higher the setting, the more blending is emulated in the shader accurately, and the higher the speed penalty will be.<br> Do note that Direct3D's blending is reduced in capability compared to OpenGL/Vulkan. 控制 GS 混合單元模擬的精度級別。<br>設定越高,著色器中模擬的混合越準確,速度損失就越大。<br>請注意與 OpenGL/Vulkan 相比 Direct3D 的混合在功能性上稍差。 - + Software Rendering Threads Software Rendering Threads - + CPU Sprite Render Size CPU Sprite Render Size - + Software CLUT Render 軟體 Clut 渲染 - + Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. Try to detect when a game is drawing its own color palette and then renders it on the GPU with special handling. - + This option disables game-specific render fixes. 此選項會關閉指定的遊戲渲染器修復。 - + By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps with the Snowblind engine games. 預設情況下,紋理快取處理部分失效。不幸的是以 CPU 為基礎的計算成本非常高。這種 hack 將部分失效替換為紋理的完全刪除用來減少 CPU 負載。這對 Snowblind 引擎遊戲很有幫助。 - + Framebuffer Conversion 幀緩衝區轉換 - + Convert 4-bit and 8-bit framebuffer on the CPU instead of the GPU. Helps Harry Potter and Stuntman games. It has a big impact on performance. 在 CPU 而不是 GPU 上轉換 4 位和 8 位幀緩衝區。幫助哈利波特和特技演員遊戲。它對效能有很大的影響。 - - + + Disabled 關閉 - - Remove Unsupported Settings - Remove Unsupported Settings - - - - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - You currently have the <strong>Enable Widescreen Patches</strong> or <strong>Enable No-Interlacing Patches</strong> options enabled for this game.<br><br>We no longer support these options, instead <strong>you should select the "Patches" section, and explicitly enable the patches you want.</strong><br><br>Do you want to remove these options from your game configuration now? - - - + Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. Overrides the full-motion video (FMV) aspect ratio. If disabled, the FMV Aspect Ratio will match the same value as the general Aspect Ratio setting. - + Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. Enables mipmapping, which some games require to render correctly. Mipmapping uses progressively lower resolution variants of textures at progressively further distances to reduce processing load and avoid visual artifacts. - + Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. Changes what filtering algorithm is used to map textures to surfaces.<br> Nearest: Makes no attempt to blend colors.<br> Bilinear (Forced): Will blend colors together to remove harsh edges between different colored pixels even if the game told the PS2 not to.<br> Bilinear (PS2): Will apply filtering to all surfaces that a game instructs the PS2 to filter.<br> Bilinear (Forced Excluding Sprites): Will apply filtering to all surfaces, even if the game told the PS2 not to, except sprites. - + Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. Reduces blurriness of large textures applied to small, steeply angled surfaces by sampling colors from the two nearest Mipmaps. Requires Mipmapping to be 'on'.<br> Off: Disables the feature.<br> Trilinear (PS2): Applies Trilinear filtering to all surfaces that a game instructs the PS2 to.<br> Trilinear (Forced): Applies Trilinear filtering to all surfaces, even if the game told the PS2 not to. - + Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. Reduces banding between colors and improves the perceived color depth.<br> Off: Disables any dithering.<br> Scaled: Upscaling-aware / Highest dithering effect.<br> Unscaled: Native Dithering / Lowest dithering effect does not increase size of squares when upscaling.<br> Force 32bit: Treat all draws as if they were 32bit to avoid banding and dithering. - + Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Does useless work on the CPU during readbacks to prevent it from going to into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. Submits useless work to the GPU during readbacks to prevent it from going into powersave modes. May improve performance during readbacks but with a significant increase in power usage. - + Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging). 2 to 4 threads is recommended, any more than that is likely to be slower instead of faster. - + Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. Disable the support of depth buffers in the texture cache. Will likely create various glitches and is only useful for debugging. - + Allows the texture cache to reuse as an input texture the inner portion of a previous framebuffer. 允許紋理快取將上一個幀緩衝區的內部數據作為輸入紋理重新使用。 - + Flushes all targets in the texture cache back to local memory when shutting down. Can prevent lost visuals when saving state or switching renderers, but can also cause graphical corruption. 關閉時將紋理快取中的所有目標重新整理回本地記憶體。可以防止在即時存檔或切換渲染器時丟失圖形效果,但也可能導致圖形損壞。 - + Attempts to reduce the texture size when games do not set it themselves (e.g. Snowblind games). 嘗試在遊戲本身不設定紋理大小時減小紋理大小(例如 Snowblind 遊戲)。 - + Fixes issues with upscaling (vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. Namco: a game publisher and development company. Leave the name as-is. Ace Combat, Tekken, Soul Calibur: game names. Leave as-is or use official translations. 修正了在 Namco 遊戲中升格(垂直線)的問題,如皇牌空戰、鐵拳、刀魂等。 - + Dumps replaceable textures to disk. Will reduce performance. Dumps replaceable textures to disk. Will reduce performance. - + Includes mipmaps when dumping textures. Includes mipmaps when dumping textures. - + Allows texture dumping when FMVs are active. You should not enable this. Allows texture dumping when FMVs are active. You should not enable this. - + Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. Loads replacement textures on a worker thread, reducing microstutter when replacements are enabled. - + Loads replacement textures where available and user-provided. Loads replacement textures where available and user-provided. - + Preloads all replacement textures to memory. Not necessary with asynchronous loading. Preloads all replacement textures to memory. Not necessary with asynchronous loading. - + Enables FidelityFX Contrast Adaptive Sharpening. Enables FidelityFX Contrast Adaptive Sharpening. - + Determines the intensity the sharpening effect in CAS post-processing. Determines the intensity the sharpening effect in CAS post-processing. - + Adjusts brightness. 50 is normal. - Adjusts brightness. 50 is normal. + 調節亮度。50 為普通。 - + Adjusts contrast. 50 is normal. - Adjusts contrast. 50 is normal. + 調節對比度。50 為普通。 - + Adjusts saturation. 50 is normal. - Adjusts saturation. 50 is normal. + 調節飽和度。50 為普通。 - + Scales the size of the onscreen OSD from 50% to 500%. 將螢幕 OSD 的大小從 50% 調整為 500%。 - + OSD Messages Position OSD Messages Position - + OSD Statistics Position OSD Statistics Position - + Shows a variety of on-screen performance data points as selected by the user. Shows a variety of on-screen performance data points as selected by the user. - + Shows the vsync rate of the emulator in the top-right corner of the display. Shows the vsync rate of the emulator in the top-right corner of the display. - + Shows OSD icon indicators for emulation states such as Pausing, Turbo, Fast-Forward, and Slow-Motion. 顯示如暫停、加速、快進和慢動作等模擬狀態的 OSD 圖示指示器。 - + Displays various settings and the current values of those settings, useful for debugging. 顯示各種設定以及這些設定的當前值,這對除錯很有用。 - + Displays a graph showing the average frametimes. 顯示一個表示平均幀時間的圖表。 - + Shows the current system hardware information on the OSD. Shows the current system hardware information on the OSD. - + Video Codec Video Codec - + Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Video Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Video Format Video Format - + Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> Selects which Video Format to be used for Video Capture. If by chance the codec does not support the format, the first format available will be used. <b>If unsure, leave it on default.<b> - + Video Bitrate Video Bitrate - + 6000 kbps 6000 kbps - + Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. Sets the video bitrate to be used. Larger bitrate generally yields better video quality at the cost of larger resulting file size. - + Automatic Resolution Automatic Resolution - + When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> When checked, the video capture resolution will follows the internal resolution of the running game.<br><br><b>Be careful when using this setting especially when you are upscaling, as higher internal resolution (above 4x) can results in very large video capture and can cause system overload.</b> - + Enable Extra Video Arguments Enable Extra Video Arguments - + Allows you to pass arguments to the selected video codec. Allows you to pass arguments to the selected video codec. - + Extra Video Arguments Extra Video Arguments - + Audio Codec Audio Codec - + Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> Selects which Audio Codec to be used for Video Capture. <b>If unsure, leave it on default.<b> - + Audio Bitrate Audio Bitrate - + Enable Extra Audio Arguments Enable Extra Audio Arguments - + Allows you to pass arguments to the selected audio codec. Allows you to pass arguments to the selected audio codec. - + Extra Audio Arguments Extra Audio Arguments - + Allow Exclusive Fullscreen 允許獨佔全屏 - + Overrides the driver's heuristics for enabling exclusive fullscreen, or direct flip/scanout.<br>Disallowing exclusive fullscreen may enable smoother task switching and overlays, but increase input latency. 替代驅動程式的規則以啟用獨佔全屏或直接翻轉/掃瞄。<br>禁用獨佔全屏可能會使得認為切換以及覆蓋更加流暢,但會增加輸入延遲。 - + 1.25x Native (~450px) 1.25x Native (~450px) - + 1.5x Native (~540px) 1.5x Native (~540px) - + 1.75x Native (~630px) 1.75x Native (~630px) - + 2x Native (~720px/HD) 2x Native (~720px/HD) - + 2.5x Native (~900px/HD+) 2.5x Native (~900px/HD+) - + 3x Native (~1080px/FHD) 3x Native (~1080px/FHD) - + 3.5x Native (~1260px) 3.5x Native (~1260px) - + 4x Native (~1440px/QHD) 4x Native (~1440px/QHD) - + 5x Native (~1800px/QHD+) 5x Native (~1800px/QHD+) - + 6x Native (~2160px/4K UHD) 6x Native (~2160px/4K UHD) - + 7x Native (~2520px) 7x Native (~2520px) - + 8x Native (~2880px/5K UHD) 8x Native (~2880px/5K UHD) - + 9x Native (~3240px) 9x Native (~3240px) - + 10x Native (~3600px/6K UHD) 10x Native (~3600px/6K UHD) - + 11x Native (~3960px) 11x Native (~3960px) - + 12x Native (~4320px/8K UHD) 12x Native (~4320px/8K UHD) - + 13x Native (~4680px) 13x Native (~4680px) - + 14x Native (~5040px) 14x Native (~5040px) - + 15x Native (~5400px) 15x Native (~5400px) - + 16x Native (~5760px) 16x Native (~5760px) - + 17x Native (~6120px) 17x Native (~6120px) - + 18x Native (~6480px/12K UHD) 18x Native (~6480px/12K UHD) - + 19x Native (~6840px) 19x Native (~6840px) - + 20x Native (~7200px) 20x Native (~7200px) - + 21x Native (~7560px) 21x Native (~7560px) - + 22x Native (~7920px) 22x Native (~7920px) - + 23x Native (~8280px) 23x Native (~8280px) - + 24x Native (~8640px/16K UHD) 24x Native (~8640px/16K UHD) - + 25x Native (~9000px) 25x Native (~9000px) - - + + %1x Native %1x Native - - - - - - - - - + + + + + + + + + Checked 選中 - + Enables internal Anti-Blur hacks. Less accurate to PS2 rendering but will make a lot of games look less blurry. 啟用內部反模糊 hack。這會降低 PS2 的渲染精度但會使許多遊戲看起來不那麼模糊。 - + Integer Scaling 整數倍拉伸 - + Adds padding to the display area to ensure that the ratio between pixels on the host to pixels in the console is an integer number. May result in a sharper image in some 2D games. 填充顯示區域以確保主機上的畫素與遊戲機中的畫素之間的比率為整數。可能會在一些2D遊戲中產生更清晰的影象。 - + Aspect Ratio 高寬比 - + Auto Standard (4:3/3:2 Progressive) 自動標準 (4:3/3:2 逐行) - + Changes the aspect ratio used to display the console's output to the screen. The default is Auto Standard (4:3/3:2 Progressive) which automatically adjusts the aspect ratio to match how a game would be shown on a typical TV of the era. 更改用於將主機的輸出顯示到螢幕上的高寬比。預設的是自動標準(4:3/3:2 逐行) 它會自動調整寬高比來匹配遊戲在那個時代的典型電視上的顯示方式。 - + Deinterlacing 反交錯 - + Screenshot Size 截圖尺寸 - + Determines the resolution at which screenshots will be saved. Internal resolutions preserve more detail at the cost of file size. 確定儲存螢幕截圖的解析度。內部解析度以檔案大小為代價保留了更多細節。 - + Screenshot Format 截圖格式 - + Selects the format which will be used to save screenshots. JPEG produces smaller files, but loses detail. 選擇將用於儲存螢幕截圖的格式。JPEG 會產生較小的檔案,但會丟失細節。 - + Screenshot Quality 截圖質量 - - + + 50% - 50% + 50% - + Selects the quality at which screenshots will be compressed. Higher values preserve more detail for JPEG, and reduce file size for PNG. 選擇螢幕截圖壓縮的質量。值越高可以為 JPEG 保留更多細節並減小 PNG 的檔案大小。 - - + + 100% - 100% + 100% - + Vertical Stretch 垂直拉伸 - + Stretches (&lt; 100%) or squashes (&gt; 100%) the vertical component of the display. 拉伸 (&lt; 100%) 或收縮 (&gt; 100%) 顯示的垂直部分。 - + Fullscreen Mode 全屏模式 - - - + + + Borderless Fullscreen 無邊框全螢幕 - + Chooses the fullscreen resolution and frequency. 選擇全屏解析度和頻率。 - + Left - - - - + + + + 0px 0px - + Changes the number of pixels cropped from the left side of the display. 更改從顯示屏左側裁剪的畫素數。 - + Top - + Changes the number of pixels cropped from the top of the display. 更改從顯示屏頂端裁剪的畫素數。 - + Right - + Changes the number of pixels cropped from the right side of the display. 更改從顯示屏右側裁剪的畫素數。 - + Bottom - + Changes the number of pixels cropped from the bottom of the display. 更改從顯示屏底部裁剪的畫素數。 - - + + Native (PS2) (Default) 原生 (PS2) (預設) - + Control the resolution at which games are rendered. High resolutions can impact performance on older or lower-end GPUs.<br>Non-native resolution may cause minor graphical issues in some games.<br>FMV resolution will remain unchanged, as the video files are pre-rendered. 控制渲染遊戲的解析度。高解析度可能會影響較舊或較低端 GPU 的效能。<br>非本機解析度可能會在某些遊戲中導致輕微的圖形問題。<br>FMV解析度將保持不變,因為視訊檔案是預先渲染的。 - + Texture Filtering 紋理過濾 - + Trilinear Filtering 三線性過濾 - + Anisotropic Filtering 各意向性過濾 - + Reduces texture aliasing at extreme viewing angles. 減少極端視角下的紋理鋸齒。 - + Dithering 抖動 - + Blending Accuracy 混合精確性 - + Texture Preloading 預載入紋理 - + Uploads entire textures at once instead of small pieces, avoiding redundant uploads when possible. Improves performance in most games, but can make a small selection slower. 一次上載整個紋理而不是小塊,儘可能避免多餘的上載。提高了大多數遊戲的效能,但在少數情況下會導致降速。 - + When enabled GPU converts colormap-textures, otherwise the CPU will. It is a trade-off between GPU and CPU. 開啟時 GPU 會轉換顏色貼圖紋理,否則 CPU 會。這是 GPU 和 CPU 之間的權衡。 - + Enabling this option gives you the ability to change the renderer and upscaling fixes to your games. However IF you have ENABLED this, you WILL DISABLE AUTOMATIC SETTINGS and you can re-enable automatic settings by unchecking this option. 啟用此選項后您可以更改渲染器並升級遊戲的修復。但是如果您已啟用此選項,您將禁用自動設定並可以通過取消選中此選項來重新啟用自動設定。 - + 2 threads 2 執行緒 - - + + Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. 當幀緩衝區也是輸入紋理時強制簡易重新整理。修正了一些處理效果如 JAK 系列中的陰影和 GTA:SA 中的光線傳遞。 - + Enables mipmapping, which some games require to render correctly. 啟用紋理貼圖,某些遊戲需要正確渲染紋理貼圖。 - + The maximum target memory width that will allow the CPU Sprite Renderer to activate on. The maximum target memory width that will allow the CPU Sprite Renderer to activate on. - + Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. Tries to detect when a game is drawing its own color palette and then renders it in software, instead of on the GPU. - + GPU Target CLUT GPU Target CLUT - + Skipdraw Range Start 跳過描繪範圍開始 - - - - + + + + 0 - 0 + 0 - - + + Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. 完全跳過繪製表面,從左側框中的表面一直到右側框中指定的表面。 - + Skipdraw Range End 跳過描繪範圍結束 - + This option disables multiple safe features. Disables accurate Unscale Point and Line rendering which can help Xenosaga games. Disables accurate GS Memory Clearing to be done on the CPU, and let the GPU handle it, which can help Kingdom Hearts games. 此選項禁用多個安全功能。禁用精確的未縮放的點和線渲染這可以改善異度傳說遊戲。禁用要在 CPU上 完成的精確 GS 記憶體清除,並讓 GPU 處理它,這可以改善王國之心遊戲。 - + Uploads GS data when rendering a new frame to reproduce some effects accurately. Uploads GS data when rendering a new frame to reproduce some effects accurately. - + Half Pixel Offset 半畫素偏移 - + Might fix some misaligned fog, bloom, or blend effect. 可能會修復一些未對齊的霧、光暈或混合效果。 - + Round Sprite 活動塊環繞 - + Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites. 修復了縮放時 2D 活動塊紋理的採樣。修正了類似魔塔大陸等遊戲升格時活動塊中的線條。半選項適用於扁平活動塊,完整選項適用於所有活動塊。 - + Texture Offsets X 紋理偏移 X - - + + Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. ST and UV are different types of texture coordinates, like XY would be spatial coordinates. ST/UV紋理座標的偏移。修復了一些奇怪的紋理問題也可能修復了一些后處理對齊。 - + Texture Offsets Y 紋理偏移 Y - + Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. Wild Arms: name of a game series. Leave as-is or use an official translation. 降低 GS 精度以避免在縮放時畫素之間出現間隙。修正了 Wild Arms 遊戲中的文字。 - + Bilinear Upscale 雙線性升格 - + Can smooth out textures due to be bilinear filtered when upscaling. E.g. Brave sun glare. 由於在縮放時會進行雙線性過濾所以可以平滑紋理。 - + Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines. 將后處理的多個鋪裝活動塊替換為單個胖活動塊。它減少了各種升格后的線條。 - + Force palette texture draws to render at native resolution. Force palette texture draws to render at native resolution. - + Contrast Adaptive Sharpening You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx 對比度自適應銳化 - + Sharpness 銳化 - + Enables saturation, contrast, and brightness to be adjusted. Values of brightness, saturation, and contrast are at default 50. 允許調整飽和度、對比度和亮度。亮度、飽和度和對比度的值預設為 50。 - + Applies the FXAA anti-aliasing algorithm to improve the visual quality of games. 應用 FXAA 抗鋸齒演算法來提高遊戲的影象質量。 - + Brightness 明亮 - - - + + + 50 - 50 + 50 - + Contrast 對比度 - + TV Shader TV 著色器 - + Applies a shader which replicates the visual effects of different styles of television set. 應用可復現多種不同電視視覺效果的著色器。 - + OSD Scale OSD 比例 - + Shows on-screen-display messages when events occur such as save states being created/loaded, screenshots being taken, etc. 顯示屏顯訊息-當事件發生時顯示訊息例如正在建立/載入儲存即時存檔、正在擷取螢幕截圖等。 - + Shows the internal frame rate of the game in the top-right corner of the display. 在螢幕的右上角顯示遊戲的內部幀速率。 - + Shows the current emulation speed of the system in the top-right corner of the display as a percentage. 在螢幕的右上角以百分比形式顯示系統的當前模擬速度。 - + Shows the resolution of the game in the top-right corner of the display. 在螢幕的右上角顯示遊戲的解析度。 - + Shows host's CPU utilization. 顯示主機的 CPU 佔用率。 - + Shows host's GPU utilization. 顯示主機的 GPU 佔用率。 - + Shows counters for internal graphical utilization, useful for debugging. 顯示用於內部圖形使用的計數器,對除錯很有用。 - + Shows the current controller state of the system in the bottom-left corner of the display. Shows the current controller state of the system in the bottom-left corner of the display. - + Shows the current PCSX2 version on the top-right corner of the display. Shows the current PCSX2 version on the top-right corner of the display. - + Shows the currently active video capture status. Shows the currently active video capture status. - + Shows the currently active input recording status. Shows the currently active input recording status. - + Displays warnings when settings are enabled which may break games. 當設定可能破壞遊戲時顯示警告。 - - + + Leave It Blank 請留空它 - + Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" Parameters passed to the selected video codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "crf = 21 : preset = veryfast" - + Sets the audio bitrate to be used. Sets the audio bitrate to be used. - + 160 kbps 160 kbps - + Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" Parameters passed to the selected audio codec.<br><b>You must use '=' to separate key from value and ':' to separate two pairs from each other.</b><br>For example: "compression_level = 4 : joint_stereo = 1" - + GS Dump Compression GS 轉儲壓縮 - + Change the compression algorithm used when creating a GS dump. 更改建立 GS 轉儲時使用的壓縮演算法。 - + Uses a blit presentation model instead of flipping when using the Direct3D 11 renderer. This usually results in slower performance, but may be required for some streaming applications, or to uncap framerates on some systems. Blit = a data operation. You might want to write it as-is, but fully uppercased. More information: https://en.wikipedia.org/wiki/Bit_blit 使用 Direct3D 11 渲染器時使用 blit 演示模型而不是翻轉。這通常會導致效能降低,但對於某些流應用程式或在某些系統上取消幀速率上限可能是必需的。 - + Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. Detects when idle frames are being presented in 25/30fps games, and skips presenting those frames. The frame is still rendered, it just means the GPU has more time to complete it (this is NOT frame skipping). Can smooth out frame time fluctuations when the CPU/GPU are near maximum utilization, but makes frame pacing more inconsistent and can increase input lag. - + Displays additional, very high upscaling multipliers dependent on GPU capability. Displays additional, very high upscaling multipliers dependent on GPU capability. - + Enable Debug Device Enable Debug Device - + Enables API-level validation of graphics commands. Enables API-level validation of graphics commands. - + GS Download Mode GS 下載模式 - + Accurate 精確 - + Skips synchronizing with the GS thread and host GPU for GS downloads. Can result in a large speed boost on slower systems, at the cost of many broken graphical effects. If games are broken and you have this option enabled, please disable it first. 跳過 GS 執行緒和主機 GPU 進行 GS 下載的同步。可能會在速度較慢的系統上大幅提升速度,但代價是許多損壞的圖形效果。如果遊戲被破壞並且您啟用了此選項,請先禁用它。 - - - - - + + + + + Default This string refers to a default codec, whether it's an audio codec or a video codec. 預設 - + Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. Usually results in worse frame pacing. @@ -14107,10 +14166,10 @@ Swap chain: see Microsoft's Terminology Portal. GraphicsSettingsWidget::GraphicsSettingsWidget - + Default This string refers to a default pixel format - Default + 預設 @@ -14211,7 +14270,7 @@ Swap chain: see Microsoft's Terminology Portal. Off - Off + @@ -14324,254 +14383,254 @@ Swap chain: see Microsoft's Terminology Portal. 在位置 {} 沒找到即時存檔。 - - - + + - - - - + + + + - + + System 系統 - + Open Pause Menu 打開暫停菜單 - + Open Achievements List 打開成就列表 - + Open Leaderboards List 打開排行榜列表 - + Toggle Pause 切換暫停 - + Toggle Fullscreen 切換全屏 - + Toggle Frame Limit 切換整數限制 - + Toggle Turbo / Fast Forward 切換加速 / 快進 - + Toggle Slow Motion 切換慢動作 - + Turbo / Fast Forward (Hold) 加速/快進(保持) - + Increase Target Speed 增加目標速度 - + Decrease Target Speed 降低目標速度 - + Increase Volume 增大音量 - + Decrease Volume 減小音量 - + Toggle Mute 切換靜音 - + Frame Advance 幀步進 - + Shut Down Virtual Machine 關閉虛擬機器 - + Reset Virtual Machine 重置虛擬機器 - + Toggle Input Recording Mode 切換輸入錄製模式 - - + + Save States 即時存檔 - + Select Previous Save Slot 選擇上一個即時存檔位置 - + Select Next Save Slot 選擇下一個即時存檔位置 - + Save State To Selected Slot 儲存即時存檔到選定的位置 - + Load State From Selected Slot 從選定的位置載入即時存檔 - + Save State and Select Next Slot Save State and Select Next Slot - + Select Next Slot and Save State Select Next Slot and Save State - + Save State To Slot 1 儲存即時存檔到位置 1 - + Load State From Slot 1 從位置 1 載入即時存檔 - + Save State To Slot 2 儲存即時存檔到位置 2 - + Load State From Slot 2 從位置 2 載入即時存檔 - + Save State To Slot 3 儲存即時存檔到位置 3 - + Load State From Slot 3 從位置 3 載入即時存檔 - + Save State To Slot 4 儲存即時存檔到位置 4 - + Load State From Slot 4 從位置 4 載入即時存檔 - + Save State To Slot 5 儲存即時存檔到位置 5 - + Load State From Slot 5 從位置 5 載入即時存檔 - + Save State To Slot 6 儲存即時存檔到位置 6 - + Load State From Slot 6 從位置 6 載入即時存檔 - + Save State To Slot 7 儲存即時存檔到位置 7 - + Load State From Slot 7 從位置 7 載入即時存檔 - + Save State To Slot 8 儲存即時存檔到位置 8 - + Load State From Slot 8 從位置 8 載入即時存檔 - + Save State To Slot 9 儲存即時存檔到位置 9 - + Load State From Slot 9 從位置 9 載入即時存檔 - + Save State To Slot 10 儲存即時存檔到位置 10 - + Load State From Slot 10 從位置 10 載入即時存檔 @@ -14626,7 +14685,7 @@ Swap chain: see Microsoft's Terminology Portal. Save - Save + 保存 @@ -14641,7 +14700,7 @@ Swap chain: see Microsoft's Terminology Portal. Close Menu - Close Menu + 關閉菜單 @@ -14681,7 +14740,7 @@ Swap chain: see Microsoft's Terminology Portal. 100% - 100% + 100% @@ -14878,42 +14937,42 @@ Right click to clear binding Cross - Cross + × Square - Square + Triangle - Triangle + Circle - Circle + L1 - L1 + L1 R1 - R1 + R1 L2 - L2 + L2 R2 - R2 + R2 @@ -14923,22 +14982,22 @@ Right click to clear binding L3 - L3 + L3 R3 - R3 + R3 Select - Select + 選擇 Start - Start + 開始 (Start) @@ -15440,7 +15499,7 @@ Right click to clear binding PCSX2 - PCSX2 + PCSX2 @@ -15448,594 +15507,608 @@ Right click to clear binding 系統(&S) - - - + + Change Disc 更換光碟 - - + Load State 載入即時存檔 - - Save State - 儲存即時存檔 - - - + S&ettings 設定(&E) - + &Help 幫助(&H) - + &Debug 除錯(&D) - - Switch Renderer - 切換渲染器 - - - + &View 檢視(&V) - + &Window Size 視窗大小(&W) - + &Tools 工具(&T) - - Input Recording - 錄製輸入 - - - + Toolbar 工具欄 - + Start &File... 啟動檔案(&F)... - - Start &Disc... - 啟動光碟(&D)... - - - + Start &BIOS 啟動 &BIOS - + &Scan For New Games 掃瞄新遊戲(&S) - + &Rescan All Games 重新掃瞄所有遊戲(&R) - + Shut &Down 關機(&D) - + Shut Down &Without Saving 關閉並不儲存(&W) - + &Reset 重啟(&R) - + &Pause 暫停(&P) - + E&xit 退出(&X) - + &BIOS &BIOS - - Emulation - 模擬 - - - + &Controllers 控制器(&C) - + &Hotkeys 熱鍵(&H) - + &Graphics 圖形(&G) - - A&chievements - 成就(&C) - - - + &Post-Processing Settings... 前置處理設定(&P)... - - Fullscreen - 全螢幕 - - - + Resolution Scale 解析度比例 - + &GitHub Repository... &GitHub 儲存庫... - + Support &Forums... 支援論壇(&F)... - + &Discord Server... &Discord 伺服器... - + Check for &Updates... 檢查更新(&U)... - + About &Qt... 關於 &Qt... - + &About PCSX2... 關於 PCSX2(&A)... - + Fullscreen In Toolbar 全螢幕 - + Change Disc... In Toolbar 更換光碟... - + &Audio 音訊(&A) - - Game List - 遊戲列表 - - - - Interface - 界面 + + Global State + 全域性狀態 - - Add Game Directory... - 新增遊戲目錄... + + &Screenshot + 截圖(&S) - - &Settings - 設定(&S) + + Start File + In Toolbar + 啟動檔案 - - From File... - 來自檔案... + + &Change Disc + &Change Disc - - From Device... - 來自裝置... + + &Load State + &Load State - - From Game List... - 來自遊戲列表... + + Sa&ve State + Sa&ve State - - Remove Disc - 移除光碟 + + Setti&ngs + Setti&ngs - - Global State - 全域性狀態 + + &Switch Renderer + &Switch Renderer - - &Screenshot - 截圖(&S) + + &Input Recording + &Input Recording - - Start File - In Toolbar - 啟動檔案 + + Start D&isc... + Start D&isc... - + Start Disc In Toolbar 啟動光碟 - + Start BIOS In Toolbar 啟動 BIOS - + Shut Down In Toolbar 關機 - + Reset In Toolbar 重置 - + Pause In Toolbar 暫停 - + Load State In Toolbar 載入即時存檔 - + Save State In Toolbar 儲存即時存檔 - + + &Emulation + &Emulation + + + Controllers In Toolbar 控制器 - + + Achie&vements + Achie&vements + + + + &Fullscreen + &Fullscreen + + + + &Interface + &Interface + + + + Add Game &Directory... + Add Game &Directory... + + + Settings In Toolbar 設定 - + + &From File... + &From File... + + + + From &Device... + From &Device... + + + + From &Game List... + From &Game List... + + + + &Remove Disc + &Remove Disc + + + Screenshot In Toolbar 截圖 - + &Memory Cards 記憶卡(&M) - + &Network && HDD 網路與硬碟(&N) - + &Folders 資料夾(&F) - + &Toolbar 工具欄(&T) - - Lock Toolbar - 鎖定工具欄 + + Show Titl&es (Grid View) + Show Titl&es (Grid View) - - &Status Bar - 狀態列(&S) + + &Open Data Directory... + &Open Data Directory... - - Verbose Status - 詳細狀態 + + &Toggle Software Rendering + &Toggle Software Rendering - - Game &List - 遊戲列表(&L) + + &Open Debugger + &Open Debugger - - System &Display - This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. - 系統顯示(&D) + + &Reload Cheats/Patches + &Reload Cheats/Patches - - Game &Properties - 遊戲屬性(&P) + + E&nable System Console + E&nable System Console - - Game &Grid - 遊戲網格(&G) + + Enable &Debug Console + Enable &Debug Console - - Show Titles (Grid View) - 顯示標題 (網格檢視) + + Enable &Log Window + Enable &Log Window - - Zoom &In (Grid View) - 放大 (網格檢視)(&I) + + Enable &Verbose Logging + Enable &Verbose Logging - - Ctrl++ - Ctrl++ + + Enable EE Console &Logging + Enable EE Console &Logging - - Zoom &Out (Grid View) - 縮小 (網格檢視)(&O) + + Enable &IOP Console Logging + Enable &IOP Console Logging - - Ctrl+- - Ctrl+- + + Save Single Frame &GS Dump + Save Single Frame &GS Dump - - Refresh &Covers (Grid View) - 重新整理封面 (網格檢視)(&C) + + &New + This section refers to the Input Recording submenu. + &New - - Open Memory Card Directory... - 打開記憶卡目錄... + + &Play + This section refers to the Input Recording submenu. + &Play - - Open Data Directory... - 打開數據目錄... + + &Stop + This section refers to the Input Recording submenu. + &Stop - - Toggle Software Rendering - 切換軟體渲染 + + &Controller Logs + &Controller Logs - - Open Debugger - 打開偵錯程式 + + &Input Recording Logs + &Input Recording Logs - - Reload Cheats/Patches - 過載修改/補丁 + + Enable &CDVD Read Logging + Enable &CDVD Read Logging - - Enable System Console - 開啟系統控制檯 + + Save CDVD &Block Dump + Save CDVD &Block Dump - - Enable Debug Console - Enable Debug Console + + &Enable Log Timestamps + &Enable Log Timestamps - - Enable Log Window - Enable Log Window + + Start Big Picture &Mode + Start Big Picture &Mode - - Enable Verbose Logging - 開啟詳細日誌 + + &Cover Downloader... + &Cover Downloader... - - Enable EE Console Logging - 開啟 EE 控制檯日誌 + + &Show Advanced Settings + &Show Advanced Settings - - Enable IOP Console Logging - 開啟 IOP 控制檯日誌 + + &Recording Viewer + &Recording Viewer - - Save Single Frame GS Dump - 儲存單個 GS 幀轉儲 + + &Video Capture + &Video Capture - - New - This section refers to the Input Recording submenu. - 新建 + + &Edit Cheats... + &Edit Cheats... - - Play - This section refers to the Input Recording submenu. - 播放 + + Edit &Patches... + Edit &Patches... - - Stop - This section refers to the Input Recording submenu. - 停止 + + &Status Bar + 狀態列(&S) - - Settings - This section refers to the Input Recording submenu. - 設定 + + + Game &List + 遊戲列表(&L) - - - Input Recording Logs - 錄製輸入日誌 + + Loc&k Toolbar + Loc&k Toolbar - - Controller Logs - 控制器日誌 + + &Verbose Status + &Verbose Status - - Enable &File Logging - 開啟檔案日誌(&F) + + System &Display + This grayed-out at first option will become available while there is a game emulated and the game list is displayed over the actual emulation, to let users display the system emulation once more. + 系統顯示(&D) + + + + Game &Properties + 遊戲屬性(&P) - - Enable CDVD Read Logging - 開啟 CDVD 讀取日誌 + + Game &Grid + 遊戲網格(&G) - - Save CDVD Block Dump - 儲存 CDVD 塊轉儲 + + Zoom &In (Grid View) + 放大 (網格檢視)(&I) - - Enable Log Timestamps - 開啟日誌時間戳 + + Ctrl++ + Ctrl++ - - + + Zoom &Out (Grid View) + 縮小 (網格檢視)(&O) + + + + Ctrl+- + Ctrl+- + + + + Refresh &Covers (Grid View) + 重新整理封面 (網格檢視)(&C) + + + + Open Memory Card Directory... + 打開記憶卡目錄... + + + + Input Recording Logs + 錄製輸入日誌 + + + + Enable &File Logging + 開啟檔案日誌(&F) + + + Start Big Picture Mode 啟動大屏模式 - - + + Big Picture In Toolbar 大屏 - - Cover Downloader... - 封面下載器... - - - - + Show Advanced Settings 顯示高級設定 - - Recording Viewer - 錄像檢視器 - - - - + Video Capture 視訊捕獲 - - Edit Cheats... - 編輯作弊... - - - - Edit Patches... - 編輯補丁... - - - + Internal Resolution 內部解析度 - + %1x Scale %1x 比例 - + Select location to save block dump: 選擇儲存塊轉儲的位置: - + Do not show again 不再顯示 - + Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting. The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own. @@ -16048,297 +16121,297 @@ PCSX2 團隊不會為修改這些設定的配置提供任何支援,您可以自 您確定要繼續嗎? - + %1 Files (*.%2) %1 檔案 (*.%2) - + WARNING: Memory Card Busy WARNING: Memory Card Busy - + Confirm Shutdown 確認退出 - + Are you sure you want to shut down the virtual machine? 您確實要關閉虛擬機器嗎? - + Save State For Resume 儲存狀態以繼續 - - - - - - + + + + + + Error 錯誤 - + You must select a disc to change discs. 您必須選擇一張需要更換光碟。 - + Properties... 屬性... - + Set Cover Image... 設定封面影象... - + Exclude From List 從列表中排除 - + Reset Play Time 重置遊戲時間 - + Check Wiki Page Check Wiki Page - + Default Boot 預設引導 - + Fast Boot 快速引導 - + Full Boot 完全引導 - + Boot and Debug 引導並除錯 - + Add Search Directory... 新增搜索目錄... - + Start File 啟動檔案 - + Start Disc 啟動光碟 - + Select Disc Image 選擇光碟映像 - + Updater Error 更新錯誤 - + <p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> <p>對不起,您正在嘗試更新的 PCSX2 版本不是 GitHub 的官方版本。爲了防止不相容,自動更新程式只在官方版本上啟用。</p><p>要獲得官方版本,請從下面的鏈接下載:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p> - + Automatic updating is not supported on the current platform. 自動更新不支援目前的平臺。 - + Confirm File Creation 確認檔案建立 - + The pnach file '%1' does not currently exist. Do you want to create it? pnach 檔案 '%1' 目前不存在。您要建立它嗎? - + Failed to create '%1'. 建立 '%1' 失敗。 - + Theme Change Theme Change - + Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue? - + Input Recording Failed Input Recording Failed - + Failed to create file: {} Failed to create file: {} - + Input Recording Files (*.p2m2) 輸入錄像檔案 (*.p2m2) - + Input Playback Failed Input Playback Failed - + Failed to open file: {} Failed to open file: {} - + Paused 暫停 - + Load State Failed 載入即時存檔失敗 - + Cannot load a save state without a running VM. 無法在沒有執行 VM 的情況下載入一個即時存檔。 - + The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now? 如果不重置虛擬機器則無法載入新的 ELF。是否要立即重置該虛擬機器? - + Cannot change from game to GS dump without shutting down first. 如果不先關機就無法從遊戲更改到 GS 轉儲。 - + Failed to get window info from widget 從小部件獲取視窗資訊失敗 - + Stop Big Picture Mode 停止大屏模式 - + Exit Big Picture In Toolbar 退出大屏模式 - + Game Properties 遊戲屬性 - + Game properties is unavailable for the current game. 目前遊戲的遊戲屬性不可用。 - + Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it. 找不到任何 CD/DVD-ROM 裝置。請確保您已連線驅動器並具有足夠的訪問許可權。 - + Select disc drive: 選擇光碟驅動器: - + This save state does not exist. 此即時存檔不存在。 - + Select Cover Image 選擇封面影象 - + Cover Already Exists 封面已存在 - + A cover image for this game already exists, do you wish to replace it? 此遊戲的封面圖片已存在,您要替換它嗎? - + + - Copy Error 複製錯誤 - + Failed to remove existing cover '%1' 移除現存封面 '%1' 失敗 - + Failed to copy '%1' to '%2' 複製'%1' 到』%2『 失敗 - + Failed to remove '%1' 移除 '%1' 失敗 - - + + Confirm Reset 確認重置 - + All Cover Image Types (*.jpg *.jpeg *.png *.webp) All Cover Image Types (*.jpg *.jpeg *.png *.webp) - + You must select a different file to the current cover image. 您必須選擇與目前封面影象不同的檔案。 - + Are you sure you want to reset the play time for '%1'? This action cannot be undone. @@ -16347,12 +16420,12 @@ This action cannot be undone. 此操作無法被撤銷。 - + Load Resume State 載入並繼續即時存檔 - + A resume save state was found for this game, saved at: %1. @@ -16365,89 +16438,89 @@ Do you want to load this state, or start from a fresh boot? 您是要載入此狀態,還是要重新啟動? - + Fresh Boot 重新啟動 - + Delete And Boot 刪除並重啟 - + Failed to delete save state file '%1'. 刪除即時存檔檔案 '%1'.失敗。 - + Load State File... 載入即時存檔檔案... - + Load From File... 從檔案載入... - - + + Select Save State File 選擇即時存檔檔案 - + Save States (*.p2s) 即時存檔 (*.p2s) - + Delete Save States... 刪除即時存檔... - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.elf *.irx *.gs *.gs.xz *.gs.zst *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;ELF Executables (*.elf);;IRX Executables (*.irx);;GS Dumps (*.gs *.gs.xz *.gs.zst);;Block Dumps (*.dump) - + All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) All File Types (*.bin *.iso *.cue *.mdf *.chd *.cso *.zso *.gz *.dump);;Single-Track Raw Images (*.bin *.iso);;Cue Sheets (*.cue);;Media Descriptor File (*.mdf);;MAME CHD Images (*.chd);;CSO Images (*.cso);;ZSO Images (*.zso);;GZ Images (*.gz);;Block Dumps (*.dump) - + WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> WARNING: Your memory card is still writing data. Shutting down now <b>WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.</b> It is strongly recommended to resume your game and let it finish writing to your memory card.<br><br>Do you wish to shutdown anyways and <b>IRREVERSIBLY DESTROY YOUR MEMORY CARD?</b> - + Save States (*.p2s *.p2s.backup) Save States (*.p2s *.p2s.backup) - + Undo Load State 撤銷載入即時存檔 - + Resume (%2) 繼續 (%2) - + Load Slot %1 (%2) 載入位置 %1 (%2) - - + + Delete Save States 刪除即時存檔 - + Are you sure you want to delete all save states for %1? The saves will not be recoverable. @@ -16456,42 +16529,42 @@ The saves will not be recoverable. 存檔無法恢復。 - + %1 save states deleted. 已刪除 %1 即時存檔。 - + Save To File... 儲存到檔案... - + Empty - + Save Slot %1 (%2) 儲存到位置 %1 (%2) - + Confirm Disc Change 確認更改光碟 - + Do you want to swap discs or boot the new image (via system reset)? 是否要交換光碟或啟動新映象(通過系統重置)? - + Swap Disc 交換光碟 - + Reset 重置 @@ -16508,31 +16581,31 @@ The saves will not be recoverable. Downloading Files - Downloading Files + 下載檔案中 MemoryCard - - + + Memory Card Creation Failed Memory Card Creation Failed - + Could not create the memory card: {} Could not create the memory card: {} - + Memory Card Read Failed Memory Card Read Failed - + Unable to access memory card: {} @@ -16549,28 +16622,33 @@ Close any other instances of PCSX2, or restart your computer. - - + + Memory Card '{}' was saved to storage. 記憶卡 '{}' 已被儲存到儲存裝置中。 - + Failed to create memory card. The error was: {} Failed to create memory card. The error was: {} - + Memory Cards reinserted. 已重新插入記憶卡。 - + Force ejecting all Memory Cards. Reinserting in 1 second. 強制彈出所有記憶卡。在 1 秒後重新插入。 + + + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves. + MemoryCardConvertDialog @@ -17060,12 +17138,12 @@ This action cannot be reversed, and you will lose any saves on the card. Value - Value + 數值 Type - Type + 型別 @@ -17115,7 +17193,7 @@ This action cannot be reversed, and you will lose any saves on the card. Search - Search + 搜索 @@ -17166,7 +17244,7 @@ This action cannot be reversed, and you will lose any saves on the card. Start - Start + 開始 @@ -17246,7 +17324,7 @@ This action cannot be reversed, and you will lose any saves on the card. Searching... - Searching... + 搜索中... @@ -17362,7 +17440,7 @@ This action cannot be reversed, and you will lose any saves on the card.Go To In Memory View - + Cannot Go To Cannot Go To @@ -18202,12 +18280,12 @@ Ejecting {3} and replacing it with {2}. Patch - + Failed to open {}. Built-in game patches are not available. 無法打開 {}。內建遊戲補丁不可用。 - + %n GameDB patches are active. OSD Message @@ -18215,7 +18293,7 @@ Ejecting {3} and replacing it with {2}. - + %n game patches are active. OSD Message @@ -18223,7 +18301,7 @@ Ejecting {3} and replacing it with {2}. - + %n cheat patches are active. OSD Message @@ -18231,7 +18309,7 @@ Ejecting {3} and replacing it with {2}. - + No cheats or patches (widescreen, compatibility or others) are found / enabled. 沒有找到 / 開啟作弊或補丁 (寬屏、相容性以及其它)。 @@ -18332,49 +18410,49 @@ Ejecting {3} and replacing it with {2}. QtHost - + RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. RA: Logged in as %1 (%2 pts, softcore: %3 pts). %4 unread messages. - - + + Error - Error + 錯誤 - + An error occurred while deleting empty game settings: {} An error occurred while deleting empty game settings: {} - + An error occurred while saving game settings: {} An error occurred while saving game settings: {} - + Controller {} connected. Controller {} connected. - + System paused because controller {} was disconnected. System paused because controller {} was disconnected. - + Controller {} disconnected. Controller {} disconnected. - + Cancel - Cancel + 取消 @@ -18382,7 +18460,7 @@ Ejecting {3} and replacing it with {2}. PCSX2 - PCSX2 + PCSX2 @@ -18505,7 +18583,7 @@ Ejecting {3} and replacing it with {2}. SaveState - + This save state is outdated and is no longer compatible with the current version of PCSX2. If you have any unsaved progress on this save state, you can download the compatible version (PCSX2 {}) from pcsx2.net, load the save state, and save your progress to the memory card. @@ -18524,7 +18602,7 @@ If you have any unsaved progress on this save state, you can download the compat LABEL - LABEL + 標籤 @@ -18610,12 +18688,12 @@ Do you want to create this directory? PCSX2 Settings - PCSX2 Settings + PCSX2 設定 Restore Defaults - Restore Defaults + 還原預設 @@ -18625,12 +18703,12 @@ Do you want to create this directory? Clear Settings - Clear Settings + 清除設定 Close - Close + 關閉 @@ -18651,12 +18729,12 @@ Do you want to create this directory? Interface - Interface + 界面 Game List - Game List + 遊戲列表 @@ -18671,12 +18749,12 @@ Do you want to create this directory? Emulation - Emulation + 模擬 Patches - Patches + 補丁 @@ -18696,7 +18774,7 @@ Do you want to create this directory? Game Fixes - Game Fixes + 遊戲修正 @@ -18716,7 +18794,7 @@ Do you want to create this directory? Memory Cards - Memory Cards + 記憶卡 @@ -18726,7 +18804,7 @@ Do you want to create this directory? Folders - Folders + 資料夾 @@ -18751,7 +18829,7 @@ Do you want to create this directory? Advanced - Advanced + 高級 @@ -18857,7 +18935,7 @@ Do you want to continue? Recommended Value - Recommended Value + 推薦值 @@ -19146,7 +19224,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. PC Warning: short space limit. Abbreviate if needed. PC = Program Counter (location where the CPU is executing). - PC + 桌機 @@ -19182,7 +19260,7 @@ Scanning recursively takes more time, but will identify files in subdirectories. Name - Name + 名稱 @@ -20054,24 +20132,24 @@ Scanning recursively takes more time, but will identify files in subdirectories. L1 - L1 + L1 R1 - R1 + R1 L2 - L2 + L2 R2 - R2 + R2 @@ -20092,12 +20170,12 @@ Scanning recursively takes more time, but will identify files in subdirectories. L3 - L3 + L3 R3 - R3 + R3 @@ -20113,33 +20191,33 @@ Scanning recursively takes more time, but will identify files in subdirectories. X - X + X Y - Y + Y Off - Off + Low - Low + Medium - Medium + 中等 High - High + @@ -21591,32 +21669,32 @@ Scanning recursively takes more time, but will identify files in subdirectories. Down - Down + Left - Left + Up - Up + Right - Right + Select - Select + 選擇 Start - Start + 開始 @@ -21631,22 +21709,22 @@ Scanning recursively takes more time, but will identify files in subdirectories. C - C + C B - B + B D - D + D A - A + A @@ -21718,42 +21796,42 @@ Scanning recursively takes more time, but will identify files in subdirectories. VMManager - + Failed to back up old save state {}. 備份舊的即時存檔失敗 {}。 - + Failed to save save state: {}. 儲存即時存檔 {} 失敗。 - + PS2 BIOS ({}) PS2 BIOS ({}) - + Unknown Game 未知遊戲 - + CDVD precaching was cancelled. CDVD precaching was cancelled. - + CDVD precaching failed: {} CDVD precaching failed: {} - + Error 錯誤 - + PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain a BIOS from an actual PS2 unit that you own (borrowing doesn't count). @@ -21770,272 +21848,272 @@ Please consult the FAQs and Guides for further instructions. 請參閱常見問題解答和指南獲取詳細說明。 - + Resuming state Resuming state - + Boot and Debug Boot and Debug - + Failed to load save state Failed to load save state - + State saved to slot {}. 即時存檔已儲存到位置 {}. - + Failed to save save state to slot {}. 即時存檔儲存到位置 {} 失敗。 - - + + Loading state Loading state - + Failed to load state (Memory card is busy) Failed to load state (Memory card is busy) - + There is no save state in slot {}. 在位置 {} 沒有即時存檔。 - + Failed to load state from slot {} (Memory card is busy) Failed to load state from slot {} (Memory card is busy) - + Loading state from slot {}... 從位置 {} 載入即時存檔... - + Failed to save state (Memory card is busy) Failed to save state (Memory card is busy) - + Failed to save state to slot {} (Memory card is busy) Failed to save state to slot {} (Memory card is busy) - + Saving state to slot {}... 正在儲存即時存檔到位置 {}... - + Frame advancing Frame advancing - + Disc removed. 已移除光碟。 - + Disc changed to '{}'. 已更改光碟為 '{}'。 - + Failed to open new disc image '{}'. Reverting to old image. Error was: {} Failed to open new disc image '{}'. Reverting to old image. Error was: {} - + Failed to switch back to old disc image. Removing disc. Error was: {} Failed to switch back to old disc image. Removing disc. Error was: {} - + Cheats have been disabled due to achievements hardcore mode. 由於硬核成就模式作弊已被禁用。 - + Fast CDVD is enabled, this may break games. 已開啟快速 CDVD,這可能回破壞部分遊戲。 - + Cycle rate/skip is not at default, this may crash or make games run too slow. 循環頻率/跳過不是預設設定,這可能會導致崩潰或使遊戲執行太慢。 - + Upscale multiplier is below native, this will break rendering. 縮放倍數低於原生,這可能破壞渲染。 - + Mipmapping is disabled. This may break rendering in some games. Mipmapping is disabled. This may break rendering in some games. - + Renderer is not set to Automatic. This may cause performance problems and graphical issues. Renderer is not set to Automatic. This may cause performance problems and graphical issues. - + Texture filtering is not set to Bilinear (PS2). This will break rendering in some games. 紋理過濾未被設定為雙線性 (PS2)。這可能會破壞某些遊戲的渲染。 - + No Game Running No Game Running - + Trilinear filtering is not set to automatic. This may break rendering in some games. 三線性過濾未被設定未自動。這可能會破壞某些遊戲的渲染。 - + Blending Accuracy is below Basic, this may break effects in some games. Blending Accuracy is below Basic, this may break effects in some games. - + Hardware Download Mode is not set to Accurate, this may break rendering in some games. 硬體下載模式未被設定為精確,這可能會破壞某些遊戲的渲染。 - + EE FPU Round Mode is not set to default, this may break some games. EE FPU 循環模式未被設定為預設,這可能會破壞某些遊戲。 - + EE FPU Clamp Mode is not set to default, this may break some games. EE FPU 壓制模式未被設定為預設,這可能會破壞某些遊戲。 - + VU0 Round Mode is not set to default, this may break some games. VU0 Round Mode is not set to default, this may break some games. - + VU1 Round Mode is not set to default, this may break some games. VU1 Round Mode is not set to default, this may break some games. - + VU Clamp Mode is not set to default, this may break some games. VU 壓制模式未被設定為預設,這可能會破壞某些遊戲。 - + 128MB RAM is enabled. Compatibility with some games may be affected. 128MB RAM is enabled. Compatibility with some games may be affected. - + Game Fixes are not enabled. Compatibility with some games may be affected. 未啟用遊戲修復。某些遊戲的相容性可能會受到影響。 - + Compatibility Patches are not enabled. Compatibility with some games may be affected. 未啟用相容性補丁。某些遊戲的相容性可能會受到影響。 - + Frame rate for NTSC is not default. This may break some games. NTSC 制式的幀率不是預設值。這可能會破壞某些遊戲。 - + Frame rate for PAL is not default. This may break some games. PAL 制式的幀率不是預設值。這可能會破壞某些遊戲。 - + EE Recompiler is not enabled, this will significantly reduce performance. 未啟用 EE 重編譯器,這將顯著降低效能。 - + VU0 Recompiler is not enabled, this will significantly reduce performance. 未啟用 VU0 重編譯器,這將顯著降低效能。 - + VU1 Recompiler is not enabled, this will significantly reduce performance. 未啟用 VU1 重編譯器,這將顯著降低效能。 - + IOP Recompiler is not enabled, this will significantly reduce performance. 未啟用 IOP 重編譯器,這將顯著降低效能。 - + EE Cache is enabled, this will significantly reduce performance. 已啟用 EE 快取,這將顯著降低效能。 - + EE Wait Loop Detection is not enabled, this may reduce performance. 未啟用 EE 等待循環檢測,這將顯著降低效能。 - + INTC Spin Detection is not enabled, this may reduce performance. 未啟用 INTC 自旋檢測,這將顯著降低效能。 - + Fastmem is not enabled, this will reduce performance. Fastmem is not enabled, this will reduce performance. - + Instant VU1 is disabled, this may reduce performance. 即時 VU1 被禁用,這將降低效能。 - + mVU Flag Hack is not enabled, this may reduce performance. 未啟用 mVU 標誌 Hack,這將降低效能。 - + GPU Palette Conversion is enabled, this may reduce performance. 已啟用 GPU 調色版,這將降低效能。 - + Texture Preloading is not Full, this may reduce performance. 紋理預載未滿,這將降低效能。 - + Estimate texture region is enabled, this may reduce performance. 已啟用估計紋理區域,這可能會降低效能。 - + Texture dumping is enabled, this will continually dump textures to disk. Texture dumping is enabled, this will continually dump textures to disk. diff --git a/pcsx2-qt/VCRuntimeChecker.cpp b/pcsx2-qt/VCRuntimeChecker.cpp index f1cd4597c6432..81a7615199b4e 100644 --- a/pcsx2-qt/VCRuntimeChecker.cpp +++ b/pcsx2-qt/VCRuntimeChecker.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/RedtapeWindows.h" diff --git a/pcsx2/Achievements.cpp b/pcsx2/Achievements.cpp index 2fa1bfda6a5dc..41fc8d729939c 100644 --- a/pcsx2/Achievements.cpp +++ b/pcsx2/Achievements.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define IMGUI_DEFINE_MATH_OPERATORS @@ -300,7 +300,7 @@ std::string Achievements::GetGameHash(const std::string& elf_path) Error error; if (!cdvdLoadElf(&elfo, elf_path, false, &error)) { - Console.Error(fmt::format("(Achievements) Failed to read ELF '{}' on disc: {}", elf_path, error.GetDescription())); + Console.Error(fmt::format("Achievements: Failed to read ELF '{}' on disc: {}", elf_path, error.GetDescription())); return {}; } @@ -441,7 +441,7 @@ bool Achievements::Initialize() const std::string api_token = Host::GetBaseStringSettingValue("Achievements", "Token"); if (!username.empty() && !api_token.empty()) { - Console.WriteLn("(Achievements) Attempting login with user '%s'...", username.c_str()); + Console.WriteLn("Achievements: Attempting login with user '%s'...", username.c_str()); s_login_request = rc_client_begin_login_with_token(s_client, username.c_str(), api_token.c_str(), ClientLoginWithTokenCallback, nullptr); } @@ -608,7 +608,7 @@ void Achievements::EnsureCacheDirectoriesExist() void Achievements::ClientMessageCallback(const char* message, const rc_client_t* client) { - Console.WriteLn("(Achievements) %s", message); + Console.WriteLn("Achievements: %s", message); } uint32_t Achievements::ClientReadMemory(uint32_t address, uint8_t* buffer, uint32_t num_bytes, rc_client_t* client) @@ -865,7 +865,7 @@ void Achievements::IdentifyGame(u32 disc_crc, u32 crc) // bail out if we're not logged in, just save the hash if (!IsLoggedInOrLoggingIn()) { - Console.WriteLn(Color_StrongYellow, "(Achievements) Skipping load game because we're not logged in."); + Console.WriteLn(Color_StrongYellow, "Achievements: Skipping load game because we're not logged in."); DisableHardcoreMode(); return; } @@ -908,7 +908,7 @@ void Achievements::ClientLoadGameCallback(int result, const char* error_message, if (result == RC_NO_GAME_LOADED) { // Unknown game. - Console.WriteLn(Color_StrongYellow, "(Achievements) Unknown game '%s', disabling achievements.", s_game_hash.c_str()); + Console.WriteLn(Color_StrongYellow, "Achievements: Unknown game '%s', disabling achievements.", s_game_hash.c_str()); DisableHardcoreMode(); return; } @@ -1083,7 +1083,7 @@ void Achievements::HandleUnlockEvent(const rc_client_event_t* event) const rc_client_achievement_t* cheevo = event->achievement; pxAssert(cheevo); - Console.WriteLn("(Achievements) Achievement %s (%u) for game %u unlocked", cheevo->title, cheevo->id, s_game_id); + Console.WriteLn("Achievements: Achievement %s (%u) for game %u unlocked", cheevo->title, cheevo->id, s_game_id); UpdateGameSummary(); if (EmuConfig.Achievements.Notifications) @@ -1109,7 +1109,7 @@ void Achievements::HandleUnlockEvent(const rc_client_event_t* event) void Achievements::HandleGameCompleteEvent(const rc_client_event_t* event) { - Console.WriteLn("(Achievements) Game %u complete", s_game_id); + Console.WriteLn("Achievements: Game %u complete", s_game_id); UpdateGameSummary(); if (EmuConfig.Achievements.Notifications) @@ -1133,7 +1133,7 @@ void Achievements::HandleGameCompleteEvent(const rc_client_event_t* event) void Achievements::HandleLeaderboardStartedEvent(const rc_client_event_t* event) { - DevCon.WriteLn("(Achievements) Leaderboard %u (%s) started", event->leaderboard->id, event->leaderboard->title); + DevCon.WriteLn("Achievements: Leaderboard %u (%s) started", event->leaderboard->id, event->leaderboard->title); if (EmuConfig.Achievements.LeaderboardNotifications) { @@ -1152,7 +1152,7 @@ void Achievements::HandleLeaderboardStartedEvent(const rc_client_event_t* event) void Achievements::HandleLeaderboardFailedEvent(const rc_client_event_t* event) { - DevCon.WriteLn("(Achievements) Leaderboard %u (%s) failed", event->leaderboard->id, event->leaderboard->title); + DevCon.WriteLn("Achievements: Leaderboard %u (%s) failed", event->leaderboard->id, event->leaderboard->title); if (EmuConfig.Achievements.LeaderboardNotifications) { @@ -1171,7 +1171,7 @@ void Achievements::HandleLeaderboardFailedEvent(const rc_client_event_t* event) void Achievements::HandleLeaderboardSubmittedEvent(const rc_client_event_t* event) { - Console.WriteLn("(Achievements) Leaderboard %u (%s) submitted", event->leaderboard->id, event->leaderboard->title); + Console.WriteLn("Achievements: Leaderboard %u (%s) submitted", event->leaderboard->id, event->leaderboard->title); if (EmuConfig.Achievements.LeaderboardNotifications) { @@ -1203,7 +1203,7 @@ void Achievements::HandleLeaderboardSubmittedEvent(const rc_client_event_t* even void Achievements::HandleLeaderboardScoreboardEvent(const rc_client_event_t* event) { - Console.WriteLn("(Achievements) Leaderboard %u scoreboard rank %u of %u", event->leaderboard_scoreboard->leaderboard_id, + Console.WriteLn("Achievements: Leaderboard %u scoreboard rank %u of %u", event->leaderboard_scoreboard->leaderboard_id, event->leaderboard_scoreboard->new_rank, event->leaderboard_scoreboard->num_entries); if (EmuConfig.Achievements.LeaderboardNotifications) @@ -1234,7 +1234,7 @@ void Achievements::HandleLeaderboardScoreboardEvent(const rc_client_event_t* eve void Achievements::HandleLeaderboardTrackerShowEvent(const rc_client_event_t* event) { DevCon.WriteLn( - "(Achievements) Showing leaderboard tracker: %u: %s", event->leaderboard_tracker->id, event->leaderboard_tracker->display); + "Achievements: Showing leaderboard tracker: %u: %s", event->leaderboard_tracker->id, event->leaderboard_tracker->display); LeaderboardTrackerIndicator indicator; indicator.tracker_id = event->leaderboard_tracker->id; @@ -1251,7 +1251,7 @@ void Achievements::HandleLeaderboardTrackerHideEvent(const rc_client_event_t* ev if (it == s_active_leaderboard_trackers.end()) return; - DevCon.WriteLn("(Achievements) Hiding leaderboard tracker: %u", id); + DevCon.WriteLn("Achievements: Hiding leaderboard tracker: %u", id); it->active = false; it->show_hide_time.Reset(); } @@ -1265,7 +1265,7 @@ void Achievements::HandleLeaderboardTrackerUpdateEvent(const rc_client_event_t* return; DevCon.WriteLn( - "(Achievements) Updating leaderboard tracker: %u: %s", event->leaderboard_tracker->id, event->leaderboard_tracker->display); + "Achievements: Updating leaderboard tracker: %u: %s", event->leaderboard_tracker->id, event->leaderboard_tracker->display); it->text = event->leaderboard_tracker->display; it->active = true; @@ -1288,7 +1288,7 @@ void Achievements::HandleAchievementChallengeIndicatorShowEvent(const rc_client_ indicator.active = true; s_active_challenge_indicators.push_back(std::move(indicator)); - DevCon.WriteLn("(Achievements) Show challenge indicator for %u (%s)", event->achievement->id, event->achievement->title); + DevCon.WriteLn("Achievements: Show challenge indicator for %u (%s)", event->achievement->id, event->achievement->title); } void Achievements::HandleAchievementChallengeIndicatorHideEvent(const rc_client_event_t* event) @@ -1298,14 +1298,14 @@ void Achievements::HandleAchievementChallengeIndicatorHideEvent(const rc_client_ if (it == s_active_challenge_indicators.end()) return; - DevCon.WriteLn("(Achievements) Hide challenge indicator for %u (%s)", event->achievement->id, event->achievement->title); + DevCon.WriteLn("Achievements: Hide challenge indicator for %u (%s)", event->achievement->id, event->achievement->title); it->show_hide_time.Reset(); it->active = false; } void Achievements::HandleAchievementProgressIndicatorShowEvent(const rc_client_event_t* event) { - DevCon.WriteLn("(Achievements) Showing progress indicator: %u (%s): %s", event->achievement->id, event->achievement->title, + DevCon.WriteLn("Achievements: Showing progress indicator: %u (%s): %s", event->achievement->id, event->achievement->title, event->achievement->measured_progress); if (!s_active_progress_indicator.has_value()) @@ -1323,14 +1323,14 @@ void Achievements::HandleAchievementProgressIndicatorHideEvent(const rc_client_e if (!s_active_progress_indicator.has_value()) return; - DevCon.WriteLn("(Achievements) Hiding progress indicator"); + DevCon.WriteLn("Achievements: Hiding progress indicator"); s_active_progress_indicator->show_hide_time.Reset(); s_active_progress_indicator->active = false; } void Achievements::HandleAchievementProgressIndicatorUpdateEvent(const rc_client_event_t* event) { - DevCon.WriteLn("(Achievements) Updating progress indicator: %u (%s): %s", event->achievement->id, event->achievement->title, + DevCon.WriteLn("Achievements: Updating progress indicator: %u (%s): %s", event->achievement->id, event->achievement->title, event->achievement->measured_progress); s_active_progress_indicator->achievement = event->achievement; s_active_progress_indicator->active = true; @@ -1341,13 +1341,13 @@ void Achievements::HandleServerErrorEvent(const rc_client_event_t* event) std::string message = fmt::format(TRANSLATE_FS("Achievements", "Server error in {0}:\n{1}"), event->server_error->api ? event->server_error->api : "UNKNOWN", event->server_error->error_message ? event->server_error->error_message : "UNKNOWN"); - Console.Error("(Achievements) %s", message.c_str()); + Console.Error("Achievements: %s", message.c_str()); Host::AddOSDMessage(std::move(message), Host::OSD_ERROR_DURATION); } void Achievements::HandleServerDisconnectedEvent(const rc_client_event_t* event) { - Console.Warning("(Achievements) Server disconnected."); + Console.Warning("Achievements: Server disconnected."); MTGS::RunOnGSThread([]() { if (ImGuiManager::InitializeFullscreenUI()) @@ -1360,7 +1360,7 @@ void Achievements::HandleServerDisconnectedEvent(const rc_client_event_t* event) void Achievements::HandleServerReconnectedEvent(const rc_client_event_t* event) { - Console.Warning("(Achievements) Server reconnected."); + Console.Warning("Achievements: Server reconnected."); MTGS::RunOnGSThread([]() { if (ImGuiManager::InitializeFullscreenUI()) @@ -1385,7 +1385,7 @@ void Achievements::ResetClient() if (!IsActive()) return; - Console.WriteLn("(Achievements) Reset client"); + Console.WriteLn("Achievements: Reset client"); rc_client_reset(s_client); } @@ -1811,11 +1811,11 @@ void Achievements::Logout() if (HasActiveGame()) ClearGameInfo(); - Console.WriteLn("(Achievements) Logging out..."); + Console.WriteLn("Achievements: Logging out..."); rc_client_logout(s_client); } - Console.WriteLn("(Achievements) Clearing credentials..."); + Console.WriteLn("Achievements: Clearing credentials..."); Host::RemoveBaseSettingValue("Achievements", "Username"); Host::RemoveBaseSettingValue("Achievements", "Token"); Host::RemoveBaseSettingValue("Achievements", "LoginTimestamp"); @@ -1955,13 +1955,14 @@ void Achievements::DrawGameOverlays() GSTexture* badge = ImGuiFullscreen::GetCachedTextureAsync(indicator.badge_path.c_str()); if (badge) { - dl->AddImage(badge->GetNativeHandle(), current_position, current_position + image_size, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), col); + dl->AddImage(reinterpret_cast(badge->GetNativeHandle()), + current_position, current_position + image_size, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), col); current_position.x -= x_advance; } if (!indicator.active && opacity <= 0.01f) { - DevCon.WriteLn("(Achievements) Remove challenge indicator"); + DevCon.WriteLn("Achievements: Remove challenge indicator"); it = s_active_challenge_indicators.erase(it); } else @@ -1995,7 +1996,8 @@ void Achievements::DrawGameOverlays() if (badge) { const ImVec2 badge_pos = box_min + ImVec2(padding, padding); - dl->AddImage(badge->GetNativeHandle(), badge_pos, badge_pos + image_size, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), col); + dl->AddImage(reinterpret_cast(badge->GetNativeHandle()), + badge_pos, badge_pos + image_size, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), col); } const ImVec2 text_pos = box_min + ImVec2(padding + image_size.x + spacing, (box_max.y - box_min.y - text_size.y) * 0.5f); @@ -2004,7 +2006,7 @@ void Achievements::DrawGameOverlays() if (!indicator.active && opacity <= 0.01f) { - DevCon.WriteLn("(Achievements) Remove progress indicator"); + DevCon.WriteLn("Achievements: Remove progress indicator"); s_active_progress_indicator.reset(); } @@ -2046,7 +2048,7 @@ void Achievements::DrawGameOverlays() if (!indicator.active && opacity <= 0.01f) { - DevCon.WriteLn("(Achievements) Remove tracker indicator"); + DevCon.WriteLn("Achievements: Remove tracker indicator"); it = s_active_leaderboard_trackers.erase(it); } else @@ -2112,7 +2114,7 @@ void Achievements::DrawPauseMenuOverlays() if (!badge) continue; - dl->AddImage(badge->GetNativeHandle(), position, position + image_size); + dl->AddImage(reinterpret_cast(badge->GetNativeHandle()), position, position + image_size); const char* achievement_title = indicator.achievement->title; const char* achievement_title_end = achievement_title + std::strlen(indicator.achievement->title); @@ -2151,7 +2153,7 @@ bool Achievements::PrepareAchievementsWindow() RC_CLIENT_ACHIEVEMENT_LIST_GROUPING_PROGRESS /*RC_CLIENT_ACHIEVEMENT_LIST_GROUPING_LOCK_STATE*/); if (!s_achievement_list) { - Console.Error("(Achievements) rc_client_create_achievement_list() returned null"); + Console.Error("Achievements: rc_client_create_achievement_list() returned null"); return false; } @@ -2202,8 +2204,8 @@ void Achievements::DrawAchievementsWindow() GSTexture* badge = ImGuiFullscreen::GetCachedTextureAsync(s_game_icon.c_str()); if (badge) { - ImGui::GetWindowDrawList()->AddImage( - badge->GetNativeHandle(), icon_min, icon_max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(badge->GetNativeHandle()), + icon_min, icon_max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); } } @@ -2391,8 +2393,8 @@ void Achievements::DrawAchievement(const rc_client_achievement_t* cheevo) GSTexture* badge = ImGuiFullscreen::GetCachedTextureAsync(badge_path->c_str()); if (badge) { - ImGui::GetWindowDrawList()->AddImage( - badge->GetNativeHandle(), bb.Min, bb.Min + image_size, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(badge->GetNativeHandle()), + bb.Min, bb.Min + image_size, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); } } @@ -2489,7 +2491,7 @@ bool Achievements::PrepareLeaderboardsWindow() s_leaderboard_list = rc_client_create_leaderboard_list(client, RC_CLIENT_LEADERBOARD_LIST_GROUPING_NONE); if (!s_leaderboard_list) { - Console.Error("(Achievements) rc_client_create_leaderboard_list() returned null"); + Console.Error("Achievements: rc_client_create_leaderboard_list() returned null"); return false; } @@ -2561,8 +2563,8 @@ void Achievements::DrawLeaderboardsWindow() GSTexture* badge = ImGuiFullscreen::GetCachedTextureAsync(s_game_icon.c_str()); if (badge) { - ImGui::GetWindowDrawList()->AddImage( - badge->GetNativeHandle(), icon_min, icon_max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(badge->GetNativeHandle()), + icon_min, icon_max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); } } @@ -2854,8 +2856,8 @@ void Achievements::DrawLeaderboardEntry(const rc_client_leaderboard_entry_t& ent } if (icon_tex) { - ImGui::GetWindowDrawList()->AddImage( - icon_tex->GetNativeHandle(), icon_bb.Min, icon_bb.Min + ImVec2(icon_size, icon_size)); + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(icon_tex->GetNativeHandle()), + icon_bb.Min, icon_bb.Min + ImVec2(icon_size, icon_size)); } const ImRect user_bb(ImVec2(text_start_x + column_spacing + icon_size, bb.Min.y), ImVec2(bb.Max.x, midpoint)); @@ -2920,7 +2922,7 @@ void Achievements::DrawLeaderboardListEntry(const rc_client_leaderboard_t* lboar void Achievements::OpenLeaderboard(const rc_client_leaderboard_t* lboard) { - Console.WriteLn("(Achievements) Opening leaderboard '%s' (%u)", lboard->title, lboard->id); + Console.WriteLn("Achievements: Opening leaderboard '%s' (%u)", lboard->title, lboard->id); CloseLeaderboard(); @@ -2974,7 +2976,7 @@ void Achievements::FetchNextLeaderboardEntries() for (rc_client_leaderboard_entry_list_t* list : s_leaderboard_entry_lists) start += list->num_entries; - Console.WriteLn("(Achievements) Fetching entries %u to %u", start, start + LEADERBOARD_ALL_FETCH_SIZE); + Console.WriteLn("Achievements: Fetching entries %u to %u", start, start + LEADERBOARD_ALL_FETCH_SIZE); if (s_leaderboard_fetch_handle) rc_client_abort_async(s_client, s_leaderboard_fetch_handle); diff --git a/pcsx2/Achievements.h b/pcsx2/Achievements.h index 21dcc96a93d9d..086b2b52c4d1f 100644 --- a/pcsx2/Achievements.h +++ b/pcsx2/Achievements.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/BuildVersion.cpp b/pcsx2/BuildVersion.cpp index 0fe5a265ae027..f7d8f10c3062f 100644 --- a/pcsx2/BuildVersion.cpp +++ b/pcsx2/BuildVersion.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "svnrev.h" diff --git a/pcsx2/BuildVersion.h b/pcsx2/BuildVersion.h index 6b399404eac49..adf17a6d65ebe 100644 --- a/pcsx2/BuildVersion.h +++ b/pcsx2/BuildVersion.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/BlockdumpFileReader.cpp b/pcsx2/CDVD/BlockdumpFileReader.cpp index 056cbdec2deb3..2e60202c2db33 100644 --- a/pcsx2/CDVD/BlockdumpFileReader.cpp +++ b/pcsx2/CDVD/BlockdumpFileReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BlockdumpFileReader.h" diff --git a/pcsx2/CDVD/BlockdumpFileReader.h b/pcsx2/CDVD/BlockdumpFileReader.h index 9b32c8063b495..aac41d92ed55b 100644 --- a/pcsx2/CDVD/BlockdumpFileReader.h +++ b/pcsx2/CDVD/BlockdumpFileReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/ThreadedFileReader.h" diff --git a/pcsx2/CDVD/CDVD.cpp b/pcsx2/CDVD/CDVD.cpp index 9bd3c9b3bf3d8..b268470aad464 100644 --- a/pcsx2/CDVD/CDVD.cpp +++ b/pcsx2/CDVD/CDVD.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVD.h" @@ -28,6 +28,9 @@ #include #include +#ifndef _WIN32 +#include +#endif #include cdvdStruct cdvd; @@ -917,9 +920,38 @@ void cdvdReset() cdvd.ReadTime = cdvdBlockReadTime(MODE_DVDROM); cdvd.RotSpeed = cdvdRotationTime(MODE_DVDROM); + if (EmuConfig.ManuallySetRealTimeClock) + { + // Convert to GMT+9 (assumes GMT+0) + std::tm tm{}; + tm.tm_sec = EmuConfig.RtcSecond; + tm.tm_min = EmuConfig.RtcMinute; + tm.tm_hour = EmuConfig.RtcHour; + tm.tm_mday = EmuConfig.RtcDay; + tm.tm_mon = EmuConfig.RtcMonth - 1; + tm.tm_year = EmuConfig.RtcYear + 100; // 2000 - 1900 + tm.tm_isdst = 1; + + // Need this instead of mktime for timezone independence + std::time_t t = 0; + #if defined(_WIN32) + t = _mkgmtime(&tm) + 32400; //60 * 60 * 9 for GMT+9 + gmtime_s(&tm, &t); + #else + t = timegm(&tm) + 32400; + gmtime_r(&t, &tm); + #endif + + cdvd.RTC.second = tm.tm_sec; + cdvd.RTC.minute = tm.tm_min; + cdvd.RTC.hour = tm.tm_hour; + cdvd.RTC.day = tm.tm_mday; + cdvd.RTC.month = tm.tm_mon + 1; + cdvd.RTC.year = tm.tm_year - 100; + } // If we are recording, always use the same RTC setting // for games that use the RTC to seed their RNG -- this is very important to be the same everytime! - if (g_InputRecording.isActive()) + else if (g_InputRecording.isActive()) { Console.WriteLn("Input Recording Active - Using Constant RTC of 04-03-2020 (DD-MM-YYYY)"); // Why not just 0 everything? Some games apparently require the date to be valid in terms of when diff --git a/pcsx2/CDVD/CDVD.h b/pcsx2/CDVD/CDVD.h index 744a81307dbe8..ddaf28ffa45f4 100644 --- a/pcsx2/CDVD/CDVD.h +++ b/pcsx2/CDVD/CDVD.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/CDVD_internal.h b/pcsx2/CDVD/CDVD_internal.h index e9ec3a2802385..1cab9f4c73a94 100644 --- a/pcsx2/CDVD/CDVD_internal.h +++ b/pcsx2/CDVD/CDVD_internal.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/CDVDcommon.cpp b/pcsx2/CDVD/CDVDcommon.cpp index 5162b85440966..dd2c12c98707a 100644 --- a/pcsx2/CDVD/CDVDcommon.cpp +++ b/pcsx2/CDVD/CDVDcommon.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDcommon.h" @@ -23,7 +23,7 @@ #include #include -#include "fmt/core.h" +#include "fmt/format.h" // TODO: FIXME! Should be platform specific. #ifdef _WIN32 diff --git a/pcsx2/CDVD/CDVDcommon.h b/pcsx2/CDVD/CDVDcommon.h index 4ac864d0fde19..0f884c0e49c97 100644 --- a/pcsx2/CDVD/CDVDcommon.h +++ b/pcsx2/CDVD/CDVDcommon.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/CDVDdiscReader.cpp b/pcsx2/CDVD/CDVDdiscReader.cpp index e969249b1156f..69138356e0b8c 100644 --- a/pcsx2/CDVD/CDVDdiscReader.cpp +++ b/pcsx2/CDVD/CDVDdiscReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVDdiscReader.h" diff --git a/pcsx2/CDVD/CDVDdiscReader.h b/pcsx2/CDVD/CDVDdiscReader.h index 9b717357164c9..e7085e4e1f59a 100644 --- a/pcsx2/CDVD/CDVDdiscReader.h +++ b/pcsx2/CDVD/CDVDdiscReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/CDVDdiscThread.cpp b/pcsx2/CDVD/CDVDdiscThread.cpp index 44703fb4df9b1..98b9ed82b88ce 100644 --- a/pcsx2/CDVD/CDVDdiscThread.cpp +++ b/pcsx2/CDVD/CDVDdiscThread.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVDdiscReader.h" diff --git a/pcsx2/CDVD/CDVDisoReader.cpp b/pcsx2/CDVD/CDVDisoReader.cpp index f15064f5b5b5e..1a85c9125445f 100644 --- a/pcsx2/CDVD/CDVDisoReader.cpp +++ b/pcsx2/CDVD/CDVDisoReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IsoFileFormats.h" diff --git a/pcsx2/CDVD/ChdFileReader.cpp b/pcsx2/CDVD/ChdFileReader.cpp index 2c5a440b2cf26..20033ee31d058 100644 --- a/pcsx2/CDVD/ChdFileReader.cpp +++ b/pcsx2/CDVD/ChdFileReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ChdFileReader.h" diff --git a/pcsx2/CDVD/ChdFileReader.h b/pcsx2/CDVD/ChdFileReader.h index 063a9aff74887..cd34f448892ec 100644 --- a/pcsx2/CDVD/ChdFileReader.h +++ b/pcsx2/CDVD/ChdFileReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/CsoFileReader.cpp b/pcsx2/CDVD/CsoFileReader.cpp index a24656218f017..ee966d98d650a 100644 --- a/pcsx2/CDVD/CsoFileReader.cpp +++ b/pcsx2/CDVD/CsoFileReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CsoFileReader.h" diff --git a/pcsx2/CDVD/CsoFileReader.h b/pcsx2/CDVD/CsoFileReader.h index 4d366716cb1bb..6311ada33d07f 100644 --- a/pcsx2/CDVD/CsoFileReader.h +++ b/pcsx2/CDVD/CsoFileReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/Darwin/DriveUtility.cpp b/pcsx2/CDVD/Darwin/DriveUtility.cpp index f20eb2526b588..c74dcb1f55f58 100644 --- a/pcsx2/CDVD/Darwin/DriveUtility.cpp +++ b/pcsx2/CDVD/Darwin/DriveUtility.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDdiscReader.h" diff --git a/pcsx2/CDVD/Darwin/IOCtlSrc.cpp b/pcsx2/CDVD/Darwin/IOCtlSrc.cpp index 9fce3a72de256..da6517b3f77a1 100644 --- a/pcsx2/CDVD/Darwin/IOCtlSrc.cpp +++ b/pcsx2/CDVD/Darwin/IOCtlSrc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDdiscReader.h" diff --git a/pcsx2/CDVD/FlatFileReader.cpp b/pcsx2/CDVD/FlatFileReader.cpp index b1f9f5b9a591f..386ad0d3e477a 100644 --- a/pcsx2/CDVD/FlatFileReader.cpp +++ b/pcsx2/CDVD/FlatFileReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "FlatFileReader.h" diff --git a/pcsx2/CDVD/FlatFileReader.h b/pcsx2/CDVD/FlatFileReader.h index bb4a21a970f4d..e2803772cdb9b 100644 --- a/pcsx2/CDVD/FlatFileReader.h +++ b/pcsx2/CDVD/FlatFileReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/GzippedFileReader.cpp b/pcsx2/CDVD/GzippedFileReader.cpp index 0b2734bde9e67..06d828b28bd9b 100644 --- a/pcsx2/CDVD/GzippedFileReader.cpp +++ b/pcsx2/CDVD/GzippedFileReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Config.h" diff --git a/pcsx2/CDVD/GzippedFileReader.h b/pcsx2/CDVD/GzippedFileReader.h index 4ddc075b73483..269a3ba1753f4 100644 --- a/pcsx2/CDVD/GzippedFileReader.h +++ b/pcsx2/CDVD/GzippedFileReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/InputIsoFile.cpp b/pcsx2/CDVD/InputIsoFile.cpp index 4e1fa5490a3c7..ce3c23578caee 100644 --- a/pcsx2/CDVD/InputIsoFile.cpp +++ b/pcsx2/CDVD/InputIsoFile.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/BlockdumpFileReader.h" diff --git a/pcsx2/CDVD/IsoFileFormats.h b/pcsx2/CDVD/IsoFileFormats.h index 01d7672a66507..d07f549add805 100644 --- a/pcsx2/CDVD/IsoFileFormats.h +++ b/pcsx2/CDVD/IsoFileFormats.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/IsoHasher.cpp b/pcsx2/CDVD/IsoHasher.cpp index af05d0f6d6a8e..c55c1a423052e 100644 --- a/pcsx2/CDVD/IsoHasher.cpp +++ b/pcsx2/CDVD/IsoHasher.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDcommon.h" @@ -9,7 +9,7 @@ #include "common/MD5Digest.h" #include "common/StringUtil.h" -#include "fmt/core.h" +#include "fmt/format.h" #include diff --git a/pcsx2/CDVD/IsoHasher.h b/pcsx2/CDVD/IsoHasher.h index 400c8197f9127..bb7f3dacecce0 100644 --- a/pcsx2/CDVD/IsoHasher.h +++ b/pcsx2/CDVD/IsoHasher.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/IsoReader.cpp b/pcsx2/CDVD/IsoReader.cpp index 7f665eb83bd43..662d37abbd4c2 100644 --- a/pcsx2/CDVD/IsoReader.cpp +++ b/pcsx2/CDVD/IsoReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDcommon.h" diff --git a/pcsx2/CDVD/IsoReader.h b/pcsx2/CDVD/IsoReader.h index 574bcb71c7fe2..026a93948dfc4 100644 --- a/pcsx2/CDVD/IsoReader.h +++ b/pcsx2/CDVD/IsoReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/Linux/DriveUtility.cpp b/pcsx2/CDVD/Linux/DriveUtility.cpp index 7da8796e6f47d..0180b99f6edff 100644 --- a/pcsx2/CDVD/Linux/DriveUtility.cpp +++ b/pcsx2/CDVD/Linux/DriveUtility.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDdiscReader.h" diff --git a/pcsx2/CDVD/Linux/IOCtlSrc.cpp b/pcsx2/CDVD/Linux/IOCtlSrc.cpp index c180d7585a76d..cef3e01e6a89c 100644 --- a/pcsx2/CDVD/Linux/IOCtlSrc.cpp +++ b/pcsx2/CDVD/Linux/IOCtlSrc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDdiscReader.h" diff --git a/pcsx2/CDVD/OutputIsoFile.cpp b/pcsx2/CDVD/OutputIsoFile.cpp index 9e072e54feda9..bd64be2cd9bf5 100644 --- a/pcsx2/CDVD/OutputIsoFile.cpp +++ b/pcsx2/CDVD/OutputIsoFile.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/IsoFileFormats.h" @@ -8,7 +8,7 @@ #include "common/FileSystem.h" #include "common/StringUtil.h" -#include "fmt/core.h" +#include "fmt/format.h" #include diff --git a/pcsx2/CDVD/Ps1CD.cpp b/pcsx2/CDVD/Ps1CD.cpp index 7a4abe741e937..e2979a2b40d5a 100644 --- a/pcsx2/CDVD/Ps1CD.cpp +++ b/pcsx2/CDVD/Ps1CD.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "R3000A.h" diff --git a/pcsx2/CDVD/Ps1CD.h b/pcsx2/CDVD/Ps1CD.h index a4b4b05ec3d0d..65416d3a1502d 100644 --- a/pcsx2/CDVD/Ps1CD.h +++ b/pcsx2/CDVD/Ps1CD.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/ThreadedFileReader.cpp b/pcsx2/CDVD/ThreadedFileReader.cpp index 95f21ba2127af..4a1b5828e037c 100644 --- a/pcsx2/CDVD/ThreadedFileReader.cpp +++ b/pcsx2/CDVD/ThreadedFileReader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ThreadedFileReader.h" diff --git a/pcsx2/CDVD/ThreadedFileReader.h b/pcsx2/CDVD/ThreadedFileReader.h index 75945cc7ac6cd..ceb58c9281ef4 100644 --- a/pcsx2/CDVD/ThreadedFileReader.h +++ b/pcsx2/CDVD/ThreadedFileReader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/CDVD/Windows/DriveUtility.cpp b/pcsx2/CDVD/Windows/DriveUtility.cpp index 01f1a2e4e5319..87c0e6f30760a 100644 --- a/pcsx2/CDVD/Windows/DriveUtility.cpp +++ b/pcsx2/CDVD/Windows/DriveUtility.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDdiscReader.h" diff --git a/pcsx2/CDVD/Windows/IOCtlSrc.cpp b/pcsx2/CDVD/Windows/IOCtlSrc.cpp index 005f6e846a528..33a0f329febc5 100644 --- a/pcsx2/CDVD/Windows/IOCtlSrc.cpp +++ b/pcsx2/CDVD/Windows/IOCtlSrc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVDdiscReader.h" diff --git a/pcsx2/COP0.cpp b/pcsx2/COP0.cpp index 60cb09371afab..1c6361d1ed29b 100644 --- a/pcsx2/COP0.cpp +++ b/pcsx2/COP0.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" @@ -230,49 +230,49 @@ void MapTLB(const tlbs& t, int i) u32 saddr, eaddr; COP0_LOG("MAP TLB %d: 0x%08X-> [0x%08X 0x%08X] S=%d G=%d ASID=%d Mask=0x%03X EntryLo0 PFN=%x EntryLo0 Cache=%x EntryLo1 PFN=%x EntryLo1 Cache=%x VPN2=%x", - i, t.VPN2, t.PFN0, t.PFN1, t.S >> 31, t.G, t.ASID, - t.Mask, t.EntryLo0 >> 6, (t.EntryLo0 & 0x38) >> 3, t.EntryLo1 >> 6, (t.EntryLo1 & 0x38) >> 3, t.VPN2); + i, t.VPN2(), t.PFN0(), t.PFN1(), t.isSPR() >> 31, t.isGlobal(), t.EntryHi.ASID, + t.Mask(), t.EntryLo0.PFN, t.EntryLo0.C, t.EntryLo1.PFN, t.EntryLo1.C, t.VPN2()); // According to the manual // 'It [SPR] must be mapped into a contiguous 16 KB of virtual address space that is // aligned on a 16KB boundary.Results are not guaranteed if this restriction is not followed.' // Assume that the game isn't doing anything less-than-ideal with the scratchpad mapping and map it directly to eeMem->Scratch. - if (t.S) + if (t.isSPR()) { - if (t.VPN2 != 0x70000000) - Console.Warning("COP0: Mapping Scratchpad to non-default address 0x%08X", t.VPN2); + if (t.VPN2() != 0x70000000) + Console.Warning("COP0: Mapping Scratchpad to non-default address 0x%08X", t.VPN2()); - vtlb_VMapBuffer(t.VPN2, eeMem->Scratch, Ps2MemSize::Scratch); + vtlb_VMapBuffer(t.VPN2(), eeMem->Scratch, Ps2MemSize::Scratch); } else { - if (t.EntryLo0 & 0x2) + if (t.EntryLo0.V) { - mask = ((~t.Mask) << 1) & 0xfffff; - saddr = t.VPN2 >> 12; - eaddr = saddr + t.Mask + 1; + mask = ((~t.Mask()) << 1) & 0xfffff; + saddr = t.VPN2() >> 12; + eaddr = saddr + t.Mask() + 1; for (addr = saddr; addr < eaddr; addr++) { - if ((addr & mask) == ((t.VPN2 >> 12) & mask)) + if ((addr & mask) == ((t.VPN2() >> 12) & mask)) { //match - memSetPageAddr(addr << 12, t.PFN0 + ((addr - saddr) << 12)); + memSetPageAddr(addr << 12, t.PFN0() + ((addr - saddr) << 12)); Cpu->Clear(addr << 12, 0x400); } } } - if (t.EntryLo1 & 0x2) + if (t.EntryLo1.V) { - mask = ((~t.Mask) << 1) & 0xfffff; - saddr = (t.VPN2 >> 12) + t.Mask + 1; - eaddr = saddr + t.Mask + 1; + mask = ((~t.Mask()) << 1) & 0xfffff; + saddr = (t.VPN2() >> 12) + t.Mask() + 1; + eaddr = saddr + t.Mask() + 1; for (addr = saddr; addr < eaddr; addr++) { - if ((addr & mask) == ((t.VPN2 >> 12) & mask)) + if ((addr & mask) == ((t.VPN2() >> 12) & mask)) { //match - memSetPageAddr(addr << 12, t.PFN1 + ((addr - saddr) << 12)); + memSetPageAddr(addr << 12, t.PFN1() + ((addr - saddr) << 12)); Cpu->Clear(addr << 12, 0x400); } } @@ -280,27 +280,36 @@ void MapTLB(const tlbs& t, int i) } } +__inline u32 ConvertPageMask(const u32 PageMask) +{ + const u32 mask = std::popcount(PageMask >> 13); + + pxAssertMsg(!((mask & 1) || mask > 12), "Invalid page mask for this TLB entry. EE cache doesn't know what to do here."); + + return (1 << (12 + mask)) - 1; +} + void UnmapTLB(const tlbs& t, int i) { //Console.WriteLn("Clear TLB %d: %08x-> [%08x %08x] S=%d G=%d ASID=%d Mask= %03X", i,t.VPN2,t.PFN0,t.PFN1,t.S,t.G,t.ASID,t.Mask); u32 mask, addr; u32 saddr, eaddr; - if (t.S) + if (t.isSPR()) { - vtlb_VMapUnmap(t.VPN2, 0x4000); + vtlb_VMapUnmap(t.VPN2(), 0x4000); return; } - if (t.EntryLo0 & 0x2) + if (t.EntryLo0.V) { - mask = ((~t.Mask) << 1) & 0xfffff; - saddr = t.VPN2 >> 12; - eaddr = saddr + t.Mask + 1; + mask = ((~t.Mask()) << 1) & 0xfffff; + saddr = t.VPN2() >> 12; + eaddr = saddr + t.Mask() + 1; // Console.WriteLn("Clear TLB: %08x ~ %08x",saddr,eaddr-1); for (addr = saddr; addr < eaddr; addr++) { - if ((addr & mask) == ((t.VPN2 >> 12) & mask)) + if ((addr & mask) == ((t.VPN2() >> 12) & mask)) { //match memClearPageAddr(addr << 12); Cpu->Clear(addr << 12, 0x400); @@ -308,38 +317,74 @@ void UnmapTLB(const tlbs& t, int i) } } - if (t.EntryLo1 & 0x2) + if (t.EntryLo1.V) { - mask = ((~t.Mask) << 1) & 0xfffff; - saddr = (t.VPN2 >> 12) + t.Mask + 1; - eaddr = saddr + t.Mask + 1; + mask = ((~t.Mask()) << 1) & 0xfffff; + saddr = (t.VPN2() >> 12) + t.Mask() + 1; + eaddr = saddr + t.Mask() + 1; // Console.WriteLn("Clear TLB: %08x ~ %08x",saddr,eaddr-1); for (addr = saddr; addr < eaddr; addr++) { - if ((addr & mask) == ((t.VPN2 >> 12) & mask)) + if ((addr & mask) == ((t.VPN2() >> 12) & mask)) { //match memClearPageAddr(addr << 12); Cpu->Clear(addr << 12, 0x400); } } } + + for (size_t i = 0; i < cachedTlbs.count; i++) + { + if (cachedTlbs.PFN0s[i] == t.PFN0() && cachedTlbs.PFN1s[i] == t.PFN1() && cachedTlbs.PageMasks[i] == ConvertPageMask(t.PageMask.UL)) + { + for (size_t j = i; j < cachedTlbs.count - 1; j++) + { + cachedTlbs.CacheEnabled0[j] = cachedTlbs.CacheEnabled0[j + 1]; + cachedTlbs.CacheEnabled1[j] = cachedTlbs.CacheEnabled1[j + 1]; + cachedTlbs.PFN0s[j] = cachedTlbs.PFN0s[j + 1]; + cachedTlbs.PFN1s[j] = cachedTlbs.PFN1s[j + 1]; + cachedTlbs.PageMasks[j] = cachedTlbs.PageMasks[j + 1]; + } + cachedTlbs.count--; + break; + } + } } void WriteTLB(int i) { - tlb[i].PageMask = cpuRegs.CP0.n.PageMask; - tlb[i].EntryHi = cpuRegs.CP0.n.EntryHi; - tlb[i].EntryLo0 = cpuRegs.CP0.n.EntryLo0; - tlb[i].EntryLo1 = cpuRegs.CP0.n.EntryLo1; - - tlb[i].Mask = (cpuRegs.CP0.n.PageMask >> 13) & 0xfff; - tlb[i].nMask = (~tlb[i].Mask) & 0xfff; - tlb[i].VPN2 = ((cpuRegs.CP0.n.EntryHi >> 13) & (~tlb[i].Mask)) << 13; - tlb[i].ASID = cpuRegs.CP0.n.EntryHi & 0xfff; - tlb[i].G = cpuRegs.CP0.n.EntryLo0 & cpuRegs.CP0.n.EntryLo1 & 0x1; - tlb[i].PFN0 = (((cpuRegs.CP0.n.EntryLo0 >> 6) & 0xFFFFF) & (~tlb[i].Mask)) << 12; - tlb[i].PFN1 = (((cpuRegs.CP0.n.EntryLo1 >> 6) & 0xFFFFF) & (~tlb[i].Mask)) << 12; - tlb[i].S = cpuRegs.CP0.n.EntryLo0 & 0x80000000; + tlb[i].PageMask.UL = cpuRegs.CP0.n.PageMask; + tlb[i].EntryHi.UL = cpuRegs.CP0.n.EntryHi; + tlb[i].EntryLo0.UL = cpuRegs.CP0.n.EntryLo0; + tlb[i].EntryLo1.UL = cpuRegs.CP0.n.EntryLo1; + + // Setting the cache mode to reserved values is vaguely defined in the manual. + // I found that SPR is set to cached regardless. + // Non-SPR entries default to uncached on reserved cache modes. + if (tlb[i].isSPR()) + { + tlb[i].EntryLo0.C = 3; + tlb[i].EntryLo1.C = 3; + } + else + { + if (!tlb[i].EntryLo0.isValidCacheMode()) + tlb[i].EntryLo0.C = 2; + if (!tlb[i].EntryLo1.isValidCacheMode()) + tlb[i].EntryLo1.C = 2; + } + + if (!tlb[i].isSPR() && ((tlb[i].EntryLo0.V && tlb[i].EntryLo0.isCached()) || (tlb[i].EntryLo1.V && tlb[i].EntryLo1.isCached()))) + { + const size_t idx = cachedTlbs.count; + cachedTlbs.CacheEnabled0[idx] = tlb[i].EntryLo0.isCached() ? ~0 : 0; + cachedTlbs.CacheEnabled1[idx] = tlb[i].EntryLo1.isCached() ? ~0 : 0; + cachedTlbs.PFN1s[idx] = tlb[i].PFN1(); + cachedTlbs.PFN0s[idx] = tlb[i].PFN0(); + cachedTlbs.PageMasks[idx] = ConvertPageMask(tlb[i].PageMask.UL); + + cachedTlbs.count++; + } MapTLB(tlb[i], i); } @@ -355,49 +400,57 @@ namespace COP0 { cpuRegs.CP0.n.Index, cpuRegs.CP0.n.PageMask, cpuRegs.CP0.n.EntryHi, cpuRegs.CP0.n.EntryLo0, cpuRegs.CP0.n.EntryLo1); - int i = cpuRegs.CP0.n.Index & 0x3f; + const u8 i = cpuRegs.CP0.n.Index & 0x3f; + + if (i > 47) + { + Console.Warning("TLBR with index > 47! (%d)", i); + return; + } - cpuRegs.CP0.n.PageMask = tlb[i].PageMask; - cpuRegs.CP0.n.EntryHi = tlb[i].EntryHi & ~(tlb[i].PageMask | 0x1f00); - cpuRegs.CP0.n.EntryLo0 = (tlb[i].EntryLo0 & ~1) | ((tlb[i].EntryHi >> 12) & 1); - cpuRegs.CP0.n.EntryLo1 = (tlb[i].EntryLo1 & ~1) | ((tlb[i].EntryHi >> 12) & 1); + cpuRegs.CP0.n.PageMask = tlb[i].PageMask.Mask << 13; + cpuRegs.CP0.n.EntryHi = tlb[i].EntryHi.UL & ~((tlb[i].PageMask.Mask << 13) | 0x1f00); + cpuRegs.CP0.n.EntryLo0 = tlb[i].EntryLo0.UL & ~(0xFC000000) & ~1; + cpuRegs.CP0.n.EntryLo1 = tlb[i].EntryLo1.UL & ~(0x7C000000) & ~1; + // "If both the Global bit of EntryLo0 and EntryLo1 are set to 1, the processor ignores the ASID during TLB lookup." + // This is reflected during TLBR, where G is only set if both EntryLo0 and EntryLo1 are global. + cpuRegs.CP0.n.EntryLo0 |= (tlb[i].EntryLo0.UL & 1) & (tlb[i].EntryLo1.UL & 1); + cpuRegs.CP0.n.EntryLo1 |= (tlb[i].EntryLo0.UL & 1) & (tlb[i].EntryLo1.UL & 1); } void TLBWI() { - int j = cpuRegs.CP0.n.Index & 0x3f; + const u8 j = cpuRegs.CP0.n.Index & 0x3f; - //if (j > 48) return; + if (j > 47) + { + Console.Warning("TLBWI with index > 47! (%d)", j); + return; + } COP0_LOG("COP0_TLBWI %d:%x,%x,%x,%x", cpuRegs.CP0.n.Index, cpuRegs.CP0.n.PageMask, cpuRegs.CP0.n.EntryHi, cpuRegs.CP0.n.EntryLo0, cpuRegs.CP0.n.EntryLo1); UnmapTLB(tlb[j], j); - tlb[j].PageMask = cpuRegs.CP0.n.PageMask; - tlb[j].EntryHi = cpuRegs.CP0.n.EntryHi; - tlb[j].EntryLo0 = cpuRegs.CP0.n.EntryLo0; - tlb[j].EntryLo1 = cpuRegs.CP0.n.EntryLo1; WriteTLB(j); } void TLBWR() { - int j = cpuRegs.CP0.n.Random & 0x3f; + const u8 j = cpuRegs.CP0.n.Random & 0x3f; - //if (j > 48) return; + if (j > 47) + { + Console.Warning("TLBWR with random > 47! (%d)", j); + return; + } DevCon.Warning("COP0_TLBWR %d:%x,%x,%x,%x\n", cpuRegs.CP0.n.Random, cpuRegs.CP0.n.PageMask, cpuRegs.CP0.n.EntryHi, cpuRegs.CP0.n.EntryLo0, cpuRegs.CP0.n.EntryLo1); - //if (j > 48) return; - UnmapTLB(tlb[j], j); - tlb[j].PageMask = cpuRegs.CP0.n.PageMask; - tlb[j].EntryHi = cpuRegs.CP0.n.EntryHi; - tlb[j].EntryLo0 = cpuRegs.CP0.n.EntryLo0; - tlb[j].EntryLo1 = cpuRegs.CP0.n.EntryLo1; WriteTLB(j); } @@ -422,7 +475,7 @@ namespace COP0 { cpuRegs.CP0.n.Index = 0xFFFFFFFF; for (i = 0; i < 48; i++) { - if (tlb[i].VPN2 == ((~tlb[i].Mask) & (EntryHi32.s.VPN2)) && ((tlb[i].G & 1) || ((tlb[i].ASID & 0xff) == EntryHi32.s.ASID))) + if (tlb[i].VPN2() == ((~tlb[i].Mask()) & (EntryHi32.s.VPN2)) && ((tlb[i].isGlobal()) || ((tlb[i].EntryHi.ASID & 0xff) == EntryHi32.s.ASID))) { cpuRegs.CP0.n.Index = i; break; diff --git a/pcsx2/COP0.h b/pcsx2/COP0.h index 299d51b34e0b7..7698acd9f8a7e 100644 --- a/pcsx2/COP0.h +++ b/pcsx2/COP0.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/COP2.cpp b/pcsx2/COP2.cpp index eac0646eb5642..52fb5670b267b 100644 --- a/pcsx2/COP2.cpp +++ b/pcsx2/COP2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Cache.cpp b/pcsx2/Cache.cpp index bc1e6a4f7be3c..fd6a2ac277252 100644 --- a/pcsx2/Cache.cpp +++ b/pcsx2/Cache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" @@ -23,10 +23,11 @@ namespace // When this happens, the cache still fills with the data and when it gets evicted the data is lost. // We don't emulate memory access on a logic level, so we need to ensure that we don't try to load/store to a non-existant physical address. // This fixes the Find My Own Way demo. - bool validPFN = true; + // The lower parts of a cache tags structure is as follows: // 31 - 12: The physical address cache tag. - // 11 - 7: Unused. + // 11: Used by PCSX2 to indicate if the physical address is valid. + // 10 - 7: Unused. // 6: Dirty flag. // 5: Valid flag. // 4: LRF flag - least recently filled flag. @@ -39,7 +40,8 @@ namespace VALID_FLAG = 0x20, LRF_FLAG = 0x10, LOCK_FLAG = 0x8, - ALL_FLAGS = 0xFFF + ALL_FLAGS = 0x7FF, + ALL_BITS = 0xFFF }; int flags() const @@ -65,23 +67,36 @@ namespace void clearLocked() { rawValue &= ~LOCK_FLAG; } void toggleLRF() { rawValue ^= LRF_FLAG; } - uptr addr() const { return rawValue & ~ALL_FLAGS; } + uptr addr() const { return rawValue & ~ALL_BITS; } void setAddr(uptr addr) { - rawValue &= ALL_FLAGS; - rawValue |= (addr & ~ALL_FLAGS); + rawValue &= ALL_BITS; + rawValue |= (addr & ~ALL_BITS); } bool matches(uptr other) const { - return isValid() && addr() == (other & ~ALL_FLAGS); + return isValid() && addr() == (other & ~ALL_BITS); } void clear() { rawValue &= LRF_FLAG; } + + constexpr bool isValidPFN() const + { + return rawValue & 0x800; + } + + constexpr void setValidPFN(bool valid) + { + if (valid) + rawValue |= 0x800; + else + rawValue &= ~0x800; + } }; struct CacheLine @@ -103,7 +118,7 @@ namespace uptr target = addr(); CACHE_LOG("Write back at %zx", target); - if (tag.validPFN) + if (tag.isValidPFN()) *reinterpret_cast(target) = data; tag.clearDirty(); } @@ -113,7 +128,7 @@ namespace pxAssertMsg(!tag.isDirtyAndValid(), "Loaded a value into cache without writing back the old one!"); tag.setAddr(ppf); - if (!tag.validPFN) + if (!tag.isValidPFN()) { // Reading from invalid physical addresses seems to return 0 on hardware std::memset(&data, 0, sizeof(data)); @@ -238,7 +253,7 @@ static int getFreeCache(u32 mem, int* way, bool validPFN) CacheLine line = cache.lineAt(setIdx, newWay); line.writeBackIfNeeded(); - line.tag.validPFN = validPFN; + line.tag.setValidPFN(validPFN); line.load(ppf); line.tag.toggleLRF(); } diff --git a/pcsx2/Cache.h b/pcsx2/Cache.h index e77c04f15ef0f..15b040c346a98 100644 --- a/pcsx2/Cache.h +++ b/pcsx2/Cache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Common.h b/pcsx2/Common.h index 589f5e4b8daa5..244b5348524f6 100644 --- a/pcsx2/Common.h +++ b/pcsx2/Common.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Config.h b/pcsx2/Config.h index 51023d9f270e0..fa9b97ea2b1e4 100644 --- a/pcsx2/Config.h +++ b/pcsx2/Config.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -746,6 +746,7 @@ struct Pcsx2Config SaveTexture : 1, SaveDepth : 1, SaveAlpha : 1, + SaveInfo : 1, DumpReplaceableTextures : 1, DumpReplaceableMipmaps : 1, DumpTexturesWithFMVActive : 1, @@ -1276,6 +1277,8 @@ struct Pcsx2Config EnablePatches : 1, // enables patch detection and application EnableCheats : 1, // enables cheat detection and application EnablePINE : 1, // enables inter-process communication + EnableWideScreenPatches : 1, + EnableNoInterlacingPatches : 1, EnableFastBoot : 1, EnableFastBootFastForward : 1, EnableThreadPinning : 1, @@ -1288,6 +1291,7 @@ struct Pcsx2Config InhibitScreensaver : 1, BackupSavestate : 1, McdFolderAutoManage : 1, + ManuallySetRealTimeClock : 1, HostFs : 1, @@ -1321,6 +1325,13 @@ struct Pcsx2Config int PINESlot; + int RtcYear; + int RtcMonth; + int RtcDay; + int RtcHour; + int RtcMinute; + int RtcSecond; + // Set at runtime, not loaded from config. std::string CurrentBlockdump; std::string CurrentIRX; diff --git a/pcsx2/Counters.cpp b/pcsx2/Counters.cpp index 432a0f72d89e3..b2465402babd4 100644 --- a/pcsx2/Counters.cpp +++ b/pcsx2/Counters.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include @@ -403,7 +403,7 @@ void UpdateVSyncRate(bool force) vSyncInfoCalc(&vSyncInfo, frames_per_second, total_scanlines); if (video_mode_initialized) - Console.WriteLn(Color_Green, "(UpdateVSyncRate) Mode Changed to %s.", ReportVideoMode()); + Console.WriteLn(Color_Green, "UpdateVSyncRate: Mode Changed to %s.", ReportVideoMode()); if (custom && video_mode_initialized) Console.WriteLn(Color_StrongGreen, " ... with user configured refresh rate: %.02f Hz", vertical_frequency); diff --git a/pcsx2/Counters.h b/pcsx2/Counters.h index 9575caaa87019..cfa774afc284c 100644 --- a/pcsx2/Counters.h +++ b/pcsx2/Counters.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/ATA/ATA.h b/pcsx2/DEV9/ATA/ATA.h index 778f63cde4ff8..b15d56fa8686b 100644 --- a/pcsx2/DEV9/ATA/ATA.h +++ b/pcsx2/DEV9/ATA/ATA.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/ATA/ATA_Info.cpp b/pcsx2/DEV9/ATA/ATA_Info.cpp index 1f8526bfac59e..242d158953439 100644 --- a/pcsx2/DEV9/ATA/ATA_Info.cpp +++ b/pcsx2/DEV9/ATA/ATA_Info.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ATA.h" diff --git a/pcsx2/DEV9/ATA/ATA_State.cpp b/pcsx2/DEV9/ATA/ATA_State.cpp index c53e4a506a1f8..d102ca743eded 100644 --- a/pcsx2/DEV9/ATA/ATA_State.cpp +++ b/pcsx2/DEV9/ATA/ATA_State.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/pcsx2/DEV9/ATA/ATA_Transfer.cpp b/pcsx2/DEV9/ATA/ATA_Transfer.cpp index cb4fc94d72722..1a69cb6b85b39 100644 --- a/pcsx2/DEV9/ATA/ATA_Transfer.cpp +++ b/pcsx2/DEV9/ATA/ATA_Transfer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/pcsx2/DEV9/ATA/Commands/ATA_CmdDMA.cpp b/pcsx2/DEV9/ATA/Commands/ATA_CmdDMA.cpp index 28dea8f7cc348..b664eb09cf6c6 100644 --- a/pcsx2/DEV9/ATA/Commands/ATA_CmdDMA.cpp +++ b/pcsx2/DEV9/ATA/Commands/ATA_CmdDMA.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/ATA/ATA.h" diff --git a/pcsx2/DEV9/ATA/Commands/ATA_CmdExecuteDeviceDiag.cpp b/pcsx2/DEV9/ATA/Commands/ATA_CmdExecuteDeviceDiag.cpp index f21f0e648a284..f035c30b15df3 100644 --- a/pcsx2/DEV9/ATA/Commands/ATA_CmdExecuteDeviceDiag.cpp +++ b/pcsx2/DEV9/ATA/Commands/ATA_CmdExecuteDeviceDiag.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/ATA/ATA.h" diff --git a/pcsx2/DEV9/ATA/Commands/ATA_CmdNoData.cpp b/pcsx2/DEV9/ATA/Commands/ATA_CmdNoData.cpp index 725e0b599522b..df5decc5de573 100644 --- a/pcsx2/DEV9/ATA/Commands/ATA_CmdNoData.cpp +++ b/pcsx2/DEV9/ATA/Commands/ATA_CmdNoData.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/ATA/ATA.h" diff --git a/pcsx2/DEV9/ATA/Commands/ATA_CmdPIOData.cpp b/pcsx2/DEV9/ATA/Commands/ATA_CmdPIOData.cpp index a8ed39dfbb899..7c6ead3d73e29 100644 --- a/pcsx2/DEV9/ATA/Commands/ATA_CmdPIOData.cpp +++ b/pcsx2/DEV9/ATA/Commands/ATA_CmdPIOData.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/ATA/ATA.h" diff --git a/pcsx2/DEV9/ATA/Commands/ATA_CmdSMART.cpp b/pcsx2/DEV9/ATA/Commands/ATA_CmdSMART.cpp index 195b7468bff5a..25429e34fbfc8 100644 --- a/pcsx2/DEV9/ATA/Commands/ATA_CmdSMART.cpp +++ b/pcsx2/DEV9/ATA/Commands/ATA_CmdSMART.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/ATA/ATA.h" diff --git a/pcsx2/DEV9/ATA/Commands/ATA_Command.cpp b/pcsx2/DEV9/ATA/Commands/ATA_Command.cpp index 6fbd5152e00e6..ec4f43ff319aa 100644 --- a/pcsx2/DEV9/ATA/Commands/ATA_Command.cpp +++ b/pcsx2/DEV9/ATA/Commands/ATA_Command.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/ATA/ATA.h" diff --git a/pcsx2/DEV9/ATA/Commands/ATA_SCE.cpp b/pcsx2/DEV9/ATA/Commands/ATA_SCE.cpp index 6d355ae0e49a0..9ef01f26e4929 100644 --- a/pcsx2/DEV9/ATA/Commands/ATA_SCE.cpp +++ b/pcsx2/DEV9/ATA/Commands/ATA_SCE.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/ATA/ATA.h" diff --git a/pcsx2/DEV9/ATA/HddCreate.cpp b/pcsx2/DEV9/ATA/HddCreate.cpp index c8a78ce4c486f..03881606aabfb 100644 --- a/pcsx2/DEV9/ATA/HddCreate.cpp +++ b/pcsx2/DEV9/ATA/HddCreate.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/FileSystem.h" diff --git a/pcsx2/DEV9/ATA/HddCreate.h b/pcsx2/DEV9/ATA/HddCreate.h index 5adf26b8c0041..d554c45139840 100644 --- a/pcsx2/DEV9/ATA/HddCreate.h +++ b/pcsx2/DEV9/ATA/HddCreate.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/AdapterUtils.cpp b/pcsx2/DEV9/AdapterUtils.cpp index bb274f3c62777..a182e658df4c4 100644 --- a/pcsx2/DEV9/AdapterUtils.cpp +++ b/pcsx2/DEV9/AdapterUtils.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "AdapterUtils.h" diff --git a/pcsx2/DEV9/AdapterUtils.h b/pcsx2/DEV9/AdapterUtils.h index a06b766ae6206..1dbcf91523864 100644 --- a/pcsx2/DEV9/AdapterUtils.h +++ b/pcsx2/DEV9/AdapterUtils.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/DEV9.cpp b/pcsx2/DEV9/DEV9.cpp index dcd77928b3225..82ffbc186138c 100644 --- a/pcsx2/DEV9/DEV9.cpp +++ b/pcsx2/DEV9/DEV9.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/pcsx2/DEV9/DEV9.h b/pcsx2/DEV9/DEV9.h index 5841cd0c32124..f1745b79d60bd 100644 --- a/pcsx2/DEV9/DEV9.h +++ b/pcsx2/DEV9/DEV9.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/InternalServers/DHCP_Logger.cpp b/pcsx2/DEV9/InternalServers/DHCP_Logger.cpp index 1400ebbe4a1aa..53a23f6670a80 100644 --- a/pcsx2/DEV9/InternalServers/DHCP_Logger.cpp +++ b/pcsx2/DEV9/InternalServers/DHCP_Logger.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DHCP_Logger.h" diff --git a/pcsx2/DEV9/InternalServers/DHCP_Logger.h b/pcsx2/DEV9/InternalServers/DHCP_Logger.h index 472972e544915..52a2d36e42b26 100644 --- a/pcsx2/DEV9/InternalServers/DHCP_Logger.h +++ b/pcsx2/DEV9/InternalServers/DHCP_Logger.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/InternalServers/DHCP_Server.cpp b/pcsx2/DEV9/InternalServers/DHCP_Server.cpp index 2957e5d8136c7..fa8e913031db1 100644 --- a/pcsx2/DEV9/InternalServers/DHCP_Server.cpp +++ b/pcsx2/DEV9/InternalServers/DHCP_Server.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DEV9/InternalServers/DHCP_Server.h b/pcsx2/DEV9/InternalServers/DHCP_Server.h index acd098512e9c9..e56319f6dd34c 100644 --- a/pcsx2/DEV9/InternalServers/DHCP_Server.h +++ b/pcsx2/DEV9/InternalServers/DHCP_Server.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/InternalServers/DNS_Logger.cpp b/pcsx2/DEV9/InternalServers/DNS_Logger.cpp index 2ee28726867b9..f301abdc68cd5 100644 --- a/pcsx2/DEV9/InternalServers/DNS_Logger.cpp +++ b/pcsx2/DEV9/InternalServers/DNS_Logger.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DNS_Logger.h" diff --git a/pcsx2/DEV9/InternalServers/DNS_Logger.h b/pcsx2/DEV9/InternalServers/DNS_Logger.h index 6bf43ce3f816a..2ee8e26662d83 100644 --- a/pcsx2/DEV9/InternalServers/DNS_Logger.h +++ b/pcsx2/DEV9/InternalServers/DNS_Logger.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/InternalServers/DNS_Server.cpp b/pcsx2/DEV9/InternalServers/DNS_Server.cpp index fb21905cbf117..5ac6b18a09d5c 100644 --- a/pcsx2/DEV9/InternalServers/DNS_Server.cpp +++ b/pcsx2/DEV9/InternalServers/DNS_Server.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DEV9/InternalServers/DNS_Server.h b/pcsx2/DEV9/InternalServers/DNS_Server.h index a94789ac52de7..33b7990f3178b 100644 --- a/pcsx2/DEV9/InternalServers/DNS_Server.h +++ b/pcsx2/DEV9/InternalServers/DNS_Server.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.cpp b/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.cpp index 635f0c24ce3cd..58782b990d202 100644 --- a/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.cpp +++ b/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ARP_Packet.h" diff --git a/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.h b/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.h index 037e957d41cf2..edbddf181c48c 100644 --- a/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.h +++ b/pcsx2/DEV9/PacketReader/ARP/ARP_Packet.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.cpp b/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.cpp index abf2797088958..f07e2870901f9 100644 --- a/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.cpp +++ b/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ARP_PacketEditor.h" diff --git a/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.h b/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.h index 307e9af7d77ad..f8d0ae3a65a61 100644 --- a/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.h +++ b/pcsx2/DEV9/PacketReader/ARP/ARP_PacketEditor.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/EthernetFrame.cpp b/pcsx2/DEV9/PacketReader/EthernetFrame.cpp index 9221fb1e2553d..efe7faa7c9165 100644 --- a/pcsx2/DEV9/PacketReader/EthernetFrame.cpp +++ b/pcsx2/DEV9/PacketReader/EthernetFrame.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "EthernetFrame.h" diff --git a/pcsx2/DEV9/PacketReader/EthernetFrame.h b/pcsx2/DEV9/PacketReader/EthernetFrame.h index 321abef5ce59d..9556431f3ed08 100644 --- a/pcsx2/DEV9/PacketReader/EthernetFrame.h +++ b/pcsx2/DEV9/PacketReader/EthernetFrame.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/EthernetFrameEditor.cpp b/pcsx2/DEV9/PacketReader/EthernetFrameEditor.cpp index 583db8dbe0df9..7dd7f0ed890d1 100644 --- a/pcsx2/DEV9/PacketReader/EthernetFrameEditor.cpp +++ b/pcsx2/DEV9/PacketReader/EthernetFrameEditor.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "EthernetFrameEditor.h" diff --git a/pcsx2/DEV9/PacketReader/EthernetFrameEditor.h b/pcsx2/DEV9/PacketReader/EthernetFrameEditor.h index ea364824dedd7..8e21dc666aabd 100644 --- a/pcsx2/DEV9/PacketReader/EthernetFrameEditor.h +++ b/pcsx2/DEV9/PacketReader/EthernetFrameEditor.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.cpp b/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.cpp index 475b9b0469228..113c45b593369 100644 --- a/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.cpp +++ b/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ICMP_Packet.h" diff --git a/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.h b/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.h index 8c067605363ca..3d4df43cf63dc 100644 --- a/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.h +++ b/pcsx2/DEV9/PacketReader/IP/ICMP/ICMP_Packet.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/IP_Address.h b/pcsx2/DEV9/PacketReader/IP/IP_Address.h index 303ed8c750f98..dff2f96c2a048 100644 --- a/pcsx2/DEV9/PacketReader/IP/IP_Address.h +++ b/pcsx2/DEV9/PacketReader/IP/IP_Address.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/IP_Options.cpp b/pcsx2/DEV9/PacketReader/IP/IP_Options.cpp index 3bb86aef4c48c..09c1eba8a5816 100644 --- a/pcsx2/DEV9/PacketReader/IP/IP_Options.cpp +++ b/pcsx2/DEV9/PacketReader/IP/IP_Options.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IP_Options.h" diff --git a/pcsx2/DEV9/PacketReader/IP/IP_Options.h b/pcsx2/DEV9/PacketReader/IP/IP_Options.h index 2125068627e66..333cb5c488f04 100644 --- a/pcsx2/DEV9/PacketReader/IP/IP_Options.h +++ b/pcsx2/DEV9/PacketReader/IP/IP_Options.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/IP_Packet.cpp b/pcsx2/DEV9/PacketReader/IP/IP_Packet.cpp index 035ea29512263..b36625be2f719 100644 --- a/pcsx2/DEV9/PacketReader/IP/IP_Packet.cpp +++ b/pcsx2/DEV9/PacketReader/IP/IP_Packet.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IP_Packet.h" diff --git a/pcsx2/DEV9/PacketReader/IP/IP_Packet.h b/pcsx2/DEV9/PacketReader/IP/IP_Packet.h index e06ecb9c69b0a..090956016bcd1 100644 --- a/pcsx2/DEV9/PacketReader/IP/IP_Packet.h +++ b/pcsx2/DEV9/PacketReader/IP/IP_Packet.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/IP_Payload.h b/pcsx2/DEV9/PacketReader/IP/IP_Payload.h index c82cd31dc4da5..5eb2177e19ed7 100644 --- a/pcsx2/DEV9/PacketReader/IP/IP_Payload.h +++ b/pcsx2/DEV9/PacketReader/IP/IP_Payload.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.cpp b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.cpp index 59d3fc95f60d7..ed7db3c20cfaa 100644 --- a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.cpp +++ b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "TCP_Options.h" diff --git a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.h b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.h index 4231cbea401cb..dee8f5be09876 100644 --- a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.h +++ b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Options.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.cpp b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.cpp index ecf9ef151d14c..5bac990f438a4 100644 --- a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.cpp +++ b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "TCP_Packet.h" diff --git a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.h b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.h index dbf71e9ba083b..575a732531a93 100644 --- a/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.h +++ b/pcsx2/DEV9/PacketReader/IP/TCP/TCP_Packet.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.cpp b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.cpp index 18fab6ea802a7..7d190b6eae9ef 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.cpp +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DHCP_Options.h" diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.h b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.h index 6427ec04ac43d..62e74f6c12078 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.h +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Options.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.cpp b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.cpp index 0b2d0b130e73d..dfbae7feea630 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.cpp +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DHCP_Packet.h" diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.h b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.h index f800fe448eac9..97a07d351a5b1 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.h +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DHCP/DHCP_Packet.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.cpp b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.cpp index 6cc06a3b69a29..bdba74bbfbb00 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.cpp +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DNS_Classes.h" diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.h b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.h index ac43df17aaf0e..7b076234cd507 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.h +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Classes.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Enums.h b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Enums.h index 376444cb3027a..4813e45f45dd4 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Enums.h +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Enums.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.cpp b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.cpp index c6998408028d4..1af94e2079797 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.cpp +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DNS_Packet.h" diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.h b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.h index 638b192c74cf6..954b975d30ce8 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.h +++ b/pcsx2/DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.cpp b/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.cpp index 1982b586a0fca..f0fc0f417b508 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.cpp +++ b/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "UDP_Packet.h" diff --git a/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.h b/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.h index 1dec28ee41c52..68d4da80da5b5 100644 --- a/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.h +++ b/pcsx2/DEV9/PacketReader/IP/UDP/UDP_Packet.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/MAC_Address.h b/pcsx2/DEV9/PacketReader/MAC_Address.h index c7cbe50c91830..8c6bab13c503c 100644 --- a/pcsx2/DEV9/PacketReader/MAC_Address.h +++ b/pcsx2/DEV9/PacketReader/MAC_Address.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/NetLib.h b/pcsx2/DEV9/PacketReader/NetLib.h index 383b03133ebef..fc059093093bc 100644 --- a/pcsx2/DEV9/PacketReader/NetLib.h +++ b/pcsx2/DEV9/PacketReader/NetLib.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/PacketReader/Payload.h b/pcsx2/DEV9/PacketReader/Payload.h index 0be8fd69fa5bc..55914b5f24e62 100644 --- a/pcsx2/DEV9/PacketReader/Payload.h +++ b/pcsx2/DEV9/PacketReader/Payload.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/Sessions/BaseSession.cpp b/pcsx2/DEV9/Sessions/BaseSession.cpp index 1e139afed66c3..6065cfb1ee38e 100644 --- a/pcsx2/DEV9/Sessions/BaseSession.cpp +++ b/pcsx2/DEV9/Sessions/BaseSession.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BaseSession.h" diff --git a/pcsx2/DEV9/Sessions/BaseSession.h b/pcsx2/DEV9/Sessions/BaseSession.h index ad75aaebacf78..663ea23c62164 100644 --- a/pcsx2/DEV9/Sessions/BaseSession.h +++ b/pcsx2/DEV9/Sessions/BaseSession.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.cpp b/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.cpp index cc125cceaef38..5cf266d54aaf1 100644 --- a/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.cpp +++ b/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef _WIN32 diff --git a/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.h b/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.h index 9c70853807799..8f5a26b5d5ac0 100644 --- a/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.h +++ b/pcsx2/DEV9/Sessions/ICMP_Session/ICMP_Session.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.cpp b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.cpp index 21a08d85fbd7e..44dd4ebe035a7 100644 --- a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.cpp +++ b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "TCP_Session.h" diff --git a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.h b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.h index b928b851dd782..92520568bd7e4 100644 --- a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.h +++ b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_In.cpp b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_In.cpp index fe442fdeb64b6..b125fdfe63b56 100644 --- a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_In.cpp +++ b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_In.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_Out.cpp b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_Out.cpp index 8cb640cbab50e..f37d50272b665 100644 --- a/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_Out.cpp +++ b/pcsx2/DEV9/Sessions/TCP_Session/TCP_Session_Out.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DEV9/Sessions/UDP_Session/UDP_BaseSession.h b/pcsx2/DEV9/Sessions/UDP_Session/UDP_BaseSession.h index ba07fa66e66c6..5edccecac493c 100644 --- a/pcsx2/DEV9/Sessions/UDP_Session/UDP_BaseSession.h +++ b/pcsx2/DEV9/Sessions/UDP_Session/UDP_BaseSession.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.cpp b/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.cpp index 57ff9cb65b1bf..5e08805bc601b 100644 --- a/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.cpp +++ b/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.h b/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.h index af4aafd98fd0c..4bc1d2ae278a9 100644 --- a/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.h +++ b/pcsx2/DEV9/Sessions/UDP_Session/UDP_FixedPort.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.cpp b/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.cpp index f1e60d09224d3..5f246417d3b7d 100644 --- a/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.cpp +++ b/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.h b/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.h index 37ac6bcf3648a..e8b965b4e18bf 100644 --- a/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.h +++ b/pcsx2/DEV9/Sessions/UDP_Session/UDP_Session.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/SimpleQueue.h b/pcsx2/DEV9/SimpleQueue.h index 9292b495d80bc..5158604da6e9e 100644 --- a/pcsx2/DEV9/SimpleQueue.h +++ b/pcsx2/DEV9/SimpleQueue.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/ThreadSafeMap.h b/pcsx2/DEV9/ThreadSafeMap.h index 7409d7ca9c352..79de408689f0b 100644 --- a/pcsx2/DEV9/ThreadSafeMap.h +++ b/pcsx2/DEV9/ThreadSafeMap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/Win32/pcap_io_win32.cpp b/pcsx2/DEV9/Win32/pcap_io_win32.cpp index ea846fddc0a89..148c969132f20 100644 --- a/pcsx2/DEV9/Win32/pcap_io_win32.cpp +++ b/pcsx2/DEV9/Win32/pcap_io_win32.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/pcap_io.h" diff --git a/pcsx2/DEV9/Win32/pcap_io_win32_funcs.h b/pcsx2/DEV9/Win32/pcap_io_win32_funcs.h index bd462d11e5e4e..ec9a6144ea36a 100644 --- a/pcsx2/DEV9/Win32/pcap_io_win32_funcs.h +++ b/pcsx2/DEV9/Win32/pcap_io_win32_funcs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef FUNCTION_SHIM_ANY_ARG diff --git a/pcsx2/DEV9/Win32/tap-win32.cpp b/pcsx2/DEV9/Win32/tap-win32.cpp index d52ba6a400ce2..12839eeb769b5 100644 --- a/pcsx2/DEV9/Win32/tap-win32.cpp +++ b/pcsx2/DEV9/Win32/tap-win32.cpp @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/RedtapeWindows.h" #include "common/RedtapeWilCom.h" #include "common/StringUtil.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include diff --git a/pcsx2/DEV9/Win32/tap.h b/pcsx2/DEV9/Win32/tap.h index 11f8861688c8f..68565ad07ac73 100644 --- a/pcsx2/DEV9/Win32/tap.h +++ b/pcsx2/DEV9/Win32/tap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/flash.cpp b/pcsx2/DEV9/flash.cpp index 7c92f73b6c31d..60af9ef3c46d7 100644 --- a/pcsx2/DEV9/flash.cpp +++ b/pcsx2/DEV9/flash.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // The code has been designed for 64Mb flash and uses as file support the second memory card diff --git a/pcsx2/DEV9/net.cpp b/pcsx2/DEV9/net.cpp index 6fc752ae84f6a..6e37a05ddbc1a 100644 --- a/pcsx2/DEV9/net.cpp +++ b/pcsx2/DEV9/net.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DEV9/net.h b/pcsx2/DEV9/net.h index a8b0c18320aa9..93fcf38537ac8 100644 --- a/pcsx2/DEV9/net.h +++ b/pcsx2/DEV9/net.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/pcap_io.cpp b/pcsx2/DEV9/pcap_io.cpp index 3664a778c9861..0a5a0a5492554 100644 --- a/pcsx2/DEV9/pcap_io.cpp +++ b/pcsx2/DEV9/pcap_io.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/pcsx2/DEV9/pcap_io.h b/pcsx2/DEV9/pcap_io.h index a81d9182b5654..70e8b4d909911 100644 --- a/pcsx2/DEV9/pcap_io.h +++ b/pcsx2/DEV9/pcap_io.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/smap.cpp b/pcsx2/DEV9/smap.cpp index 6ce5d976a0152..8957e1a9e8ddf 100644 --- a/pcsx2/DEV9/smap.cpp +++ b/pcsx2/DEV9/smap.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef _WIN32 diff --git a/pcsx2/DEV9/smap.h b/pcsx2/DEV9/smap.h index 845a668200e1b..ee2f86104faaa 100644 --- a/pcsx2/DEV9/smap.h +++ b/pcsx2/DEV9/smap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DEV9/sockets.cpp b/pcsx2/DEV9/sockets.cpp index fbd73f1cc43fb..745de87d1070e 100644 --- a/pcsx2/DEV9/sockets.cpp +++ b/pcsx2/DEV9/sockets.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Assertions.h" diff --git a/pcsx2/DEV9/sockets.h b/pcsx2/DEV9/sockets.h index dae59a2d1b814..ae970e80ad5b2 100644 --- a/pcsx2/DEV9/sockets.h +++ b/pcsx2/DEV9/sockets.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/BiosDebugData.cpp b/pcsx2/DebugTools/BiosDebugData.cpp index e2172c1cd045b..b8e989f53a1d7 100644 --- a/pcsx2/DebugTools/BiosDebugData.cpp +++ b/pcsx2/DebugTools/BiosDebugData.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BiosDebugData.h" diff --git a/pcsx2/DebugTools/BiosDebugData.h b/pcsx2/DebugTools/BiosDebugData.h index 8222c75cb1b65..b4008db1a0133 100644 --- a/pcsx2/DebugTools/BiosDebugData.h +++ b/pcsx2/DebugTools/BiosDebugData.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/Breakpoints.cpp b/pcsx2/DebugTools/Breakpoints.cpp index 1f0c1421782a8..0e2cc3b287db1 100644 --- a/pcsx2/DebugTools/Breakpoints.cpp +++ b/pcsx2/DebugTools/Breakpoints.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Breakpoints.h" diff --git a/pcsx2/DebugTools/Breakpoints.h b/pcsx2/DebugTools/Breakpoints.h index 58942df01201f..546df3784789d 100644 --- a/pcsx2/DebugTools/Breakpoints.h +++ b/pcsx2/DebugTools/Breakpoints.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #pragma once diff --git a/pcsx2/DebugTools/Debug.h b/pcsx2/DebugTools/Debug.h index ad686cfac6dd7..121ddbeda4bbf 100644 --- a/pcsx2/DebugTools/Debug.h +++ b/pcsx2/DebugTools/Debug.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/DebugInterface.cpp b/pcsx2/DebugTools/DebugInterface.cpp index db4ac668de033..9010787c90b05 100644 --- a/pcsx2/DebugTools/DebugInterface.cpp +++ b/pcsx2/DebugTools/DebugInterface.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DebugInterface.h" diff --git a/pcsx2/DebugTools/DebugInterface.h b/pcsx2/DebugTools/DebugInterface.h index 2626becb5d383..3e89473aa8748 100644 --- a/pcsx2/DebugTools/DebugInterface.h +++ b/pcsx2/DebugTools/DebugInterface.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/DisASM.h b/pcsx2/DebugTools/DisASM.h index 0c3a10b097ed1..6f43969e1c6ca 100644 --- a/pcsx2/DebugTools/DisASM.h +++ b/pcsx2/DebugTools/DisASM.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DebugTools/DisR3000A.cpp b/pcsx2/DebugTools/DisR3000A.cpp index 3d476c2ffb289..88947d185f93a 100644 --- a/pcsx2/DebugTools/DisR3000A.cpp +++ b/pcsx2/DebugTools/DisR3000A.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "R3000A.h" diff --git a/pcsx2/DebugTools/DisR5900asm.cpp b/pcsx2/DebugTools/DisR5900asm.cpp index 746fe86eb4cf2..43c13fd9f4675 100644 --- a/pcsx2/DebugTools/DisR5900asm.cpp +++ b/pcsx2/DebugTools/DisR5900asm.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Debug.h" diff --git a/pcsx2/DebugTools/DisVU0Micro.cpp b/pcsx2/DebugTools/DisVU0Micro.cpp index 0c484a881bc58..2e5519fc0e749 100644 --- a/pcsx2/DebugTools/DisVU0Micro.cpp +++ b/pcsx2/DebugTools/DisVU0Micro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Debug.h" diff --git a/pcsx2/DebugTools/DisVU1Micro.cpp b/pcsx2/DebugTools/DisVU1Micro.cpp index d8a576b1e2b37..d58c9228a5692 100644 --- a/pcsx2/DebugTools/DisVU1Micro.cpp +++ b/pcsx2/DebugTools/DisVU1Micro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Debug.h" diff --git a/pcsx2/DebugTools/DisVUmicro.h b/pcsx2/DebugTools/DisVUmicro.h index c019f3c77103e..75c6e66f27193 100644 --- a/pcsx2/DebugTools/DisVUmicro.h +++ b/pcsx2/DebugTools/DisVUmicro.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define _disVUTables(VU) \ diff --git a/pcsx2/DebugTools/DisVUops.h b/pcsx2/DebugTools/DisVUops.h index 1beaa782ee1c1..5027c6d8eb2e9 100644 --- a/pcsx2/DebugTools/DisVUops.h +++ b/pcsx2/DebugTools/DisVUops.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define _disVUOpcodes(VU) \ diff --git a/pcsx2/DebugTools/DisassemblyManager.cpp b/pcsx2/DebugTools/DisassemblyManager.cpp index de1aa48ae9a52..70259ca05275a 100644 --- a/pcsx2/DebugTools/DisassemblyManager.cpp +++ b/pcsx2/DebugTools/DisassemblyManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/DebugTools/DisassemblyManager.h b/pcsx2/DebugTools/DisassemblyManager.h index 3bee4baa88410..64aa180b3ac05 100644 --- a/pcsx2/DebugTools/DisassemblyManager.h +++ b/pcsx2/DebugTools/DisassemblyManager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/ExpressionParser.cpp b/pcsx2/DebugTools/ExpressionParser.cpp index 170796e5124a3..35cf0c7dfdda1 100644 --- a/pcsx2/DebugTools/ExpressionParser.cpp +++ b/pcsx2/DebugTools/ExpressionParser.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ExpressionParser.h" diff --git a/pcsx2/DebugTools/ExpressionParser.h b/pcsx2/DebugTools/ExpressionParser.h index a34bc4857395a..fd83d7bfe5e7f 100644 --- a/pcsx2/DebugTools/ExpressionParser.h +++ b/pcsx2/DebugTools/ExpressionParser.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/MIPSAnalyst.cpp b/pcsx2/DebugTools/MIPSAnalyst.cpp index 5dcfe7f9d4c5b..efac8c8a615aa 100644 --- a/pcsx2/DebugTools/MIPSAnalyst.cpp +++ b/pcsx2/DebugTools/MIPSAnalyst.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MIPSAnalyst.h" diff --git a/pcsx2/DebugTools/MIPSAnalyst.h b/pcsx2/DebugTools/MIPSAnalyst.h index 073d996d86982..2123e7b814522 100644 --- a/pcsx2/DebugTools/MIPSAnalyst.h +++ b/pcsx2/DebugTools/MIPSAnalyst.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/MipsAssembler.cpp b/pcsx2/DebugTools/MipsAssembler.cpp index 5db774bf111fe..b6286538bfad0 100644 --- a/pcsx2/DebugTools/MipsAssembler.cpp +++ b/pcsx2/DebugTools/MipsAssembler.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MipsAssembler.h" diff --git a/pcsx2/DebugTools/MipsAssembler.h b/pcsx2/DebugTools/MipsAssembler.h index 1a36e71b8e4c8..fb1d566512ba0 100644 --- a/pcsx2/DebugTools/MipsAssembler.h +++ b/pcsx2/DebugTools/MipsAssembler.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/MipsAssemblerTables.cpp b/pcsx2/DebugTools/MipsAssemblerTables.cpp index 925982722f862..70ee103847cc5 100644 --- a/pcsx2/DebugTools/MipsAssemblerTables.cpp +++ b/pcsx2/DebugTools/MipsAssemblerTables.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MipsAssemblerTables.h" diff --git a/pcsx2/DebugTools/MipsAssemblerTables.h b/pcsx2/DebugTools/MipsAssemblerTables.h index 12f4a0dba5a38..bb69ea6dbabac 100644 --- a/pcsx2/DebugTools/MipsAssemblerTables.h +++ b/pcsx2/DebugTools/MipsAssemblerTables.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/MipsStackWalk.cpp b/pcsx2/DebugTools/MipsStackWalk.cpp index d6047536249c1..7b7b17c69a9a9 100644 --- a/pcsx2/DebugTools/MipsStackWalk.cpp +++ b/pcsx2/DebugTools/MipsStackWalk.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #include "MipsStackWalk.h" diff --git a/pcsx2/DebugTools/MipsStackWalk.h b/pcsx2/DebugTools/MipsStackWalk.h index a3f9208a6ab4f..7e51243bdda61 100644 --- a/pcsx2/DebugTools/MipsStackWalk.h +++ b/pcsx2/DebugTools/MipsStackWalk.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #pragma once diff --git a/pcsx2/DebugTools/SymbolGuardian.cpp b/pcsx2/DebugTools/SymbolGuardian.cpp index 4dd549cefb055..c8df75019914e 100644 --- a/pcsx2/DebugTools/SymbolGuardian.cpp +++ b/pcsx2/DebugTools/SymbolGuardian.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SymbolGuardian.h" diff --git a/pcsx2/DebugTools/SymbolGuardian.h b/pcsx2/DebugTools/SymbolGuardian.h index eb93c1a6b8ce5..52ba4dd815ef1 100644 --- a/pcsx2/DebugTools/SymbolGuardian.h +++ b/pcsx2/DebugTools/SymbolGuardian.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/DebugTools/SymbolImporter.cpp b/pcsx2/DebugTools/SymbolImporter.cpp index 5d3eeb97835e1..9892b59c393bc 100644 --- a/pcsx2/DebugTools/SymbolImporter.cpp +++ b/pcsx2/DebugTools/SymbolImporter.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SymbolImporter.h" @@ -97,11 +97,20 @@ void SymbolImporter::OnElfChanged(std::vector elf, const std::string& elf_fi return; } - AnalyseElf(std::move(elf), elf_file_name, EmuConfig.DebuggerAnalysis); + AnalyseElf(std::move(elf), elf_file_name, EmuConfig.DebuggerAnalysis, true); m_symbol_table_loaded_on_boot = true; } +void SymbolImporter::OnElfLoadedInMemory() +{ + { + std::lock_guard lock(m_elf_loaded_in_memory_mutex); + m_elf_loaded_in_memory = true; + } + m_elf_loaded_in_memory_condition_variable.notify_one(); +} + void SymbolImporter::OnDebuggerOpened() { m_debugger_open = true; @@ -165,11 +174,23 @@ void SymbolImporter::LoadAndAnalyseElf(Pcsx2Config::DebugAnalysisOptions options return; } - AnalyseElf(elfo.ReleaseData(), elf_path, options); + AnalyseElf(elfo.ReleaseData(), elf_path, options, false); } +struct SymbolImporterThreadParameters +{ + std::vector elf; + std::string elf_file_name; + std::string nocash_path; + Pcsx2Config::DebugAnalysisOptions options; + bool wait_until_elf_is_loaded; +}; + void SymbolImporter::AnalyseElf( - std::vector elf, const std::string& elf_file_name, Pcsx2Config::DebugAnalysisOptions options) + std::vector elf, + const std::string& elf_file_name, + Pcsx2Config::DebugAnalysisOptions options, + bool wait_until_elf_is_loaded) { // Search for a .sym file to load symbols from. std::string nocash_path; @@ -185,38 +206,63 @@ void SymbolImporter::AnalyseElf( nocash_path = iso_file_path.substr(0, n) + ".sym"; } - ccc::Result parsed_elf = ccc::ElfFile::parse(std::move(elf)); - if (!parsed_elf.success()) - { - ccc::report_error(parsed_elf.error()); - return; - } - - ccc::ElfSymbolFile symbol_file(std::move(*parsed_elf), std::move(elf_file_name)); + SymbolImporterThreadParameters parameters; + parameters.elf = std::move(elf); + parameters.elf_file_name = elf_file_name; + parameters.nocash_path = std::move(nocash_path); + parameters.options = std::move(options); + parameters.wait_until_elf_is_loaded = wait_until_elf_is_loaded; ShutdownWorkerThread(); - m_import_thread = std::thread([this, nocash_path, options, worker_symbol_file = std::move(symbol_file), builtins = m_builtin_types]() { + m_import_thread = std::thread([this, params = std::move(parameters)]() { Threading::SetNameOfCurrentThread("Symbol Worker"); + ccc::Result parsed_elf = ccc::ElfFile::parse(std::move(params.elf)); + if (!parsed_elf.success()) + { + ccc::report_error(parsed_elf.error()); + return; + } + + ccc::ElfSymbolFile symbol_file(std::move(*parsed_elf), std::move(params.elf_file_name)); + ccc::SymbolDatabase temp_database; - ImportSymbols(temp_database, worker_symbol_file, nocash_path, options, builtins, &m_interrupt_import_thread); + ImportSymbols( + temp_database, + symbol_file, + params.nocash_path, + params.options, + m_builtin_types, + &m_interrupt_import_thread); if (m_interrupt_import_thread) return; - if (options.GenerateFunctionHashes) + if (params.options.GenerateFunctionHashes) { - ElfMemoryReader reader(worker_symbol_file.elf()); + ElfMemoryReader reader(symbol_file.elf()); SymbolGuardian::GenerateFunctionHashes(temp_database, reader); } if (m_interrupt_import_thread) return; + if (params.wait_until_elf_is_loaded && params.options.FunctionScanMode == DebugFunctionScanMode::SCAN_MEMORY) + { + // Wait for the entry point to start compiling on the CPU thread so + // we know the functions we want to scan are loaded in memory. + std::unique_lock lock(m_elf_loaded_in_memory_mutex); + m_elf_loaded_in_memory_condition_variable.wait(lock, + [this]() { return m_elf_loaded_in_memory; }); + + if (m_interrupt_import_thread) + return; + } + m_guardian.ReadWrite([&](ccc::SymbolDatabase& database) { - ClearExistingSymbols(database, options); + ClearExistingSymbols(database, params.options); if (m_interrupt_import_thread) return; @@ -229,7 +275,7 @@ void SymbolImporter::AnalyseElf( // The function scanner has to be run on the main database so that // functions created before the importer was run are still // considered. Otherwise, duplicate functions will be created. - ScanForFunctions(database, worker_symbol_file, options); + ScanForFunctions(database, symbol_file, params.options); }); }); } @@ -239,9 +285,23 @@ void SymbolImporter::ShutdownWorkerThread() if (m_import_thread.joinable()) { m_interrupt_import_thread = true; + + // Make sure the import thread is woken up so we can shut it down. + { + std::lock_guard lock(m_elf_loaded_in_memory_mutex); + m_elf_loaded_in_memory = true; + } + m_elf_loaded_in_memory_condition_variable.notify_one(); + m_import_thread.join(); + m_interrupt_import_thread = false; } + + { + std::lock_guard lock(m_elf_loaded_in_memory_mutex); + m_elf_loaded_in_memory = false; + } } void SymbolImporter::ClearExistingSymbols(ccc::SymbolDatabase& database, const Pcsx2Config::DebugAnalysisOptions& options) diff --git a/pcsx2/DebugTools/SymbolImporter.h b/pcsx2/DebugTools/SymbolImporter.h index ad0496d3d09f8..729769c76fe08 100644 --- a/pcsx2/DebugTools/SymbolImporter.h +++ b/pcsx2/DebugTools/SymbolImporter.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -6,6 +6,8 @@ #include "Config.h" #include "SymbolGuardian.h" +#include + class DebugInterface; class SymbolImporter @@ -17,6 +19,7 @@ class SymbolImporter // that are used to determine when symbol tables should be loaded, and // should be called from the CPU thread. void OnElfChanged(std::vector elf, const std::string& elf_file_name); + void OnElfLoadedInMemory(); void OnDebuggerOpened(); void OnDebuggerClosed(); @@ -30,7 +33,11 @@ class SymbolImporter // Import symbols from the ELF file, nocash symbols, and scan for functions. // Should be called from the CPU thread. - void AnalyseElf(std::vector elf, const std::string& elf_file_name, Pcsx2Config::DebugAnalysisOptions options); + void AnalyseElf( + std::vector elf, + const std::string& elf_file_name, + Pcsx2Config::DebugAnalysisOptions options, + bool wait_until_elf_is_loaded); // Interrupt the import thread. Should be called from the CPU thread. void ShutdownWorkerThread(); @@ -77,6 +84,10 @@ class SymbolImporter std::thread m_import_thread; std::atomic_bool m_interrupt_import_thread = false; + std::mutex m_elf_loaded_in_memory_mutex; + std::condition_variable m_elf_loaded_in_memory_condition_variable; + bool m_elf_loaded_in_memory = false; + std::map m_builtin_types; }; diff --git a/pcsx2/Dmac.cpp b/pcsx2/Dmac.cpp index 36281cc0ea56e..c967fd02a2ae6 100644 --- a/pcsx2/Dmac.cpp +++ b/pcsx2/Dmac.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Dmac.h b/pcsx2/Dmac.h index 9be48512fba7a..92d7e824e71cb 100644 --- a/pcsx2/Dmac.h +++ b/pcsx2/Dmac.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Docs/GameIndex.md b/pcsx2/Docs/GameIndex.md index d454c09c1cf01..5e63455fd6f9c 100644 --- a/pcsx2/Docs/GameIndex.md +++ b/pcsx2/Docs/GameIndex.md @@ -47,10 +47,11 @@ SERIAL-12345: # !required! Serial number for the game, this is how games are loo mipmap: 1 preloadFrameData: 1 # The value of the speedhacks is assumed to be an integer, - # but at the time of writing speedhacks are effectively booleans (0/1) speedHacks: - mvuFlagSpeedHack: 0 - InstantVU1SpeedHack: 0 + mvuFlag: 0 + InstantVU1: 0 + mtvu: 0 + eeCycleRate: 2 memcardFilters: - "SERIAL-123" - "SERIAL-456" @@ -249,15 +250,17 @@ These values are in a key-value format, where the value is assumed to be an inte ### Options for SpeedHacks -* `mvuFlagSpeedHack` +* `mvuFlag` * Accepted Values - `0` / `1` * Katamari Damacy has a peculiar speed bug when this speed hack is enabled (and it is by default) -* `MTVUSpeedHack` +* `mtvu` * Accepted Values - `0` / `1` * T-bit games dislike MTVU, and some games are incompatible with MTVU. -* `InstantVU1SpeedHack` +* `instantVU1` * Accepted Values - `0` / `1` * Games such as PaRappa the Rapper 2 need VU1 to sync, so you can force sync with this parameter. +* `eeCycleRate` +* Accepted Values - `-3` / `3` ## Memory Card Filter Override diff --git a/pcsx2/Elfheader.cpp b/pcsx2/Elfheader.cpp index bc0ed03440884..78470e3a6f023 100644 --- a/pcsx2/Elfheader.cpp +++ b/pcsx2/Elfheader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Elfheader.h" diff --git a/pcsx2/Elfheader.h b/pcsx2/Elfheader.h index 71414e4021f53..e9ca38c97132e 100644 --- a/pcsx2/Elfheader.h +++ b/pcsx2/Elfheader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/FPU.cpp b/pcsx2/FPU.cpp index 3ac1ae3fd178c..f8c5a74d444f3 100644 --- a/pcsx2/FPU.cpp +++ b/pcsx2/FPU.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/FW.cpp b/pcsx2/FW.cpp index 796877c4a2683..4601b944fc5d1 100644 --- a/pcsx2/FW.cpp +++ b/pcsx2/FW.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IopDma.h" diff --git a/pcsx2/FW.h b/pcsx2/FW.h index a7f6da36dbda4..c9f79525db905 100644 --- a/pcsx2/FW.h +++ b/pcsx2/FW.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/FiFo.cpp b/pcsx2/FiFo.cpp index 6fa268eaf6a88..4ae11c86b58ac 100644 --- a/pcsx2/FiFo.cpp +++ b/pcsx2/FiFo.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/GS.cpp b/pcsx2/GS.cpp index a71a654af6c05..f48664306f6ea 100644 --- a/pcsx2/GS.cpp +++ b/pcsx2/GS.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Counters.h" diff --git a/pcsx2/GS.h b/pcsx2/GS.h index 35bab119c2175..79dfdaa145625 100644 --- a/pcsx2/GS.h +++ b/pcsx2/GS.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GS.cpp b/pcsx2/GS/GS.cpp index 84956d86a35c4..e17bad25ec790 100644 --- a/pcsx2/GS/GS.cpp +++ b/pcsx2/GS/GS.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Config.h" diff --git a/pcsx2/GS/GS.h b/pcsx2/GS/GS.h index f2882c3a7f105..81b97650e3627 100644 --- a/pcsx2/GS/GS.h +++ b/pcsx2/GS/GS.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSAlignedClass.h b/pcsx2/GS/GSAlignedClass.h index f54664bc277ee..d62a9529513f5 100644 --- a/pcsx2/GS/GSAlignedClass.h +++ b/pcsx2/GS/GSAlignedClass.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSBlock.cpp b/pcsx2/GS/GSBlock.cpp index b7801eff4d86e..576db1b9bd102 100644 --- a/pcsx2/GS/GSBlock.cpp +++ b/pcsx2/GS/GSBlock.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSBlock.h" diff --git a/pcsx2/GS/GSBlock.h b/pcsx2/GS/GSBlock.h index 08eb27316a12a..cba4282d1b657 100644 --- a/pcsx2/GS/GSBlock.h +++ b/pcsx2/GS/GSBlock.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSCapture.cpp b/pcsx2/GS/GSCapture.cpp index c9b0cff533799..d55faf43f4a18 100644 --- a/pcsx2/GS/GSCapture.cpp +++ b/pcsx2/GS/GSCapture.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GSCapture.h" diff --git a/pcsx2/GS/GSCapture.h b/pcsx2/GS/GSCapture.h index 174416e4f4553..237ed9caf363a 100644 --- a/pcsx2/GS/GSCapture.h +++ b/pcsx2/GS/GSCapture.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSClut.cpp b/pcsx2/GS/GSClut.cpp index 36797c91134d1..d518765140c94 100644 --- a/pcsx2/GS/GSClut.cpp +++ b/pcsx2/GS/GSClut.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GSClut.h" diff --git a/pcsx2/GS/GSClut.h b/pcsx2/GS/GSClut.h index 7392c770cb55c..0d27227fc35a8 100644 --- a/pcsx2/GS/GSClut.h +++ b/pcsx2/GS/GSClut.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSDrawingContext.cpp b/pcsx2/GS/GSDrawingContext.cpp index 90bbdd2ca90ec..b8aa57ecd04ff 100644 --- a/pcsx2/GS/GSDrawingContext.cpp +++ b/pcsx2/GS/GSDrawingContext.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GSDrawingContext.h" diff --git a/pcsx2/GS/GSDrawingContext.h b/pcsx2/GS/GSDrawingContext.h index f7665ac6cb726..f6f2b024fba8b 100644 --- a/pcsx2/GS/GSDrawingContext.h +++ b/pcsx2/GS/GSDrawingContext.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSDrawingEnvironment.h b/pcsx2/GS/GSDrawingEnvironment.h index cb1876dc7b7f7..762c55d4e98c0 100644 --- a/pcsx2/GS/GSDrawingEnvironment.h +++ b/pcsx2/GS/GSDrawingEnvironment.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSDump.cpp b/pcsx2/GS/GSDump.cpp index cdaea7990765f..ac4cb35f0e972 100644 --- a/pcsx2/GS/GSDump.cpp +++ b/pcsx2/GS/GSDump.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GSDump.h" diff --git a/pcsx2/GS/GSDump.h b/pcsx2/GS/GSDump.h index df774ee901025..1b1fb84476135 100644 --- a/pcsx2/GS/GSDump.h +++ b/pcsx2/GS/GSDump.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSExtra.h b/pcsx2/GS/GSExtra.h index 390b6cfe61bdb..4e32432213964 100644 --- a/pcsx2/GS/GSExtra.h +++ b/pcsx2/GS/GSExtra.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSGL.h b/pcsx2/GS/GSGL.h index f1fda24b30551..c331271fec97b 100644 --- a/pcsx2/GS/GSGL.h +++ b/pcsx2/GS/GSGL.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSJobQueue.h b/pcsx2/GS/GSJobQueue.h index 1446574b47efc..949cbb6aff171 100644 --- a/pcsx2/GS/GSJobQueue.h +++ b/pcsx2/GS/GSJobQueue.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSLocalMemory.cpp b/pcsx2/GS/GSLocalMemory.cpp index 409915bfa816a..c7ca7e313ab92 100644 --- a/pcsx2/GS/GSLocalMemory.cpp +++ b/pcsx2/GS/GSLocalMemory.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GS.h" @@ -662,11 +662,7 @@ void GSLocalMemory::SaveBMP(const std::string& fn, u32 bp, u32 bw, u32 psm, int } } -#ifdef PCSX2_DEVBUILD - GSPng::Save(GSPng::RGB_A_PNG, fn, static_cast(bits), w, h, pitch, GSConfig.PNGCompressionLevel, false); -#else - GSPng::Save(GSPng::RGB_PNG, fn, static_cast(bits), w, h, pitch, GSConfig.PNGCompressionLevel, false); -#endif + GSPng::Save((IsDevBuild || GSConfig.SaveAlpha) ? GSPng::RGB_A_PNG : GSPng::RGB_PNG, fn, static_cast(bits), w, h, pitch, GSConfig.PNGCompressionLevel, false); _aligned_free(bits); } diff --git a/pcsx2/GS/GSLocalMemory.h b/pcsx2/GS/GSLocalMemory.h index 4a3ac6ae2dbad..358ff83d3e719 100644 --- a/pcsx2/GS/GSLocalMemory.h +++ b/pcsx2/GS/GSLocalMemory.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSLocalMemoryMultiISA.cpp b/pcsx2/GS/GSLocalMemoryMultiISA.cpp index 5190c9204bc97..ce6bf609de7da 100644 --- a/pcsx2/GS/GSLocalMemoryMultiISA.cpp +++ b/pcsx2/GS/GSLocalMemoryMultiISA.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSLocalMemory.h" diff --git a/pcsx2/GS/GSLzma.cpp b/pcsx2/GS/GSLzma.cpp index 02bd925db6574..01ea3f567d7a3 100644 --- a/pcsx2/GS/GSLzma.cpp +++ b/pcsx2/GS/GSLzma.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/AlignedMalloc.h" diff --git a/pcsx2/GS/GSLzma.h b/pcsx2/GS/GSLzma.h index 504f7306353fa..9a00a542d443f 100644 --- a/pcsx2/GS/GSLzma.h +++ b/pcsx2/GS/GSLzma.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSPerfMon.cpp b/pcsx2/GS/GSPerfMon.cpp index fdc5916109c30..aaa9d6585059a 100644 --- a/pcsx2/GS/GSPerfMon.cpp +++ b/pcsx2/GS/GSPerfMon.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSPerfMon.h" diff --git a/pcsx2/GS/GSPerfMon.h b/pcsx2/GS/GSPerfMon.h index bbeb2e0652078..ad0534bf473d0 100644 --- a/pcsx2/GS/GSPerfMon.h +++ b/pcsx2/GS/GSPerfMon.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSPng.cpp b/pcsx2/GS/GSPng.cpp index 59761660221c8..7cb881345b2d6 100644 --- a/pcsx2/GS/GSPng.cpp +++ b/pcsx2/GS/GSPng.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSPng.h" diff --git a/pcsx2/GS/GSPng.h b/pcsx2/GS/GSPng.h index ea73903c98894..8a5aa6ed3ef92 100644 --- a/pcsx2/GS/GSPng.h +++ b/pcsx2/GS/GSPng.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSRegs.h b/pcsx2/GS/GSRegs.h index 30494578acad9..8ce7bb6e38b7d 100644 --- a/pcsx2/GS/GSRegs.h +++ b/pcsx2/GS/GSRegs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSRingHeap.cpp b/pcsx2/GS/GSRingHeap.cpp index e6625eb995c0c..a6877d6121bb1 100644 --- a/pcsx2/GS/GSRingHeap.cpp +++ b/pcsx2/GS/GSRingHeap.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSRingHeap.h" diff --git a/pcsx2/GS/GSRingHeap.h b/pcsx2/GS/GSRingHeap.h index 2c63e5b5e6bb3..bb83e05f66f01 100644 --- a/pcsx2/GS/GSRingHeap.h +++ b/pcsx2/GS/GSRingHeap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSState.cpp b/pcsx2/GS/GSState.cpp index 10ee676557993..54000504c14f1 100644 --- a/pcsx2/GS/GSState.cpp +++ b/pcsx2/GS/GSState.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GSState.h" diff --git a/pcsx2/GS/GSState.h b/pcsx2/GS/GSState.h index 94f9a5442bdf3..75416d86d5228 100644 --- a/pcsx2/GS/GSState.h +++ b/pcsx2/GS/GSState.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSTables.cpp b/pcsx2/GS/GSTables.cpp index 9bcbb8490928b..9a1b9c364d8b2 100644 --- a/pcsx2/GS/GSTables.cpp +++ b/pcsx2/GS/GSTables.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // clang-format off diff --git a/pcsx2/GS/GSTables.h b/pcsx2/GS/GSTables.h index 7a5a2d9bc1619..6b89a161eba57 100644 --- a/pcsx2/GS/GSTables.h +++ b/pcsx2/GS/GSTables.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSUtil.cpp b/pcsx2/GS/GSUtil.cpp index 63ae1db030883..4e4928d943a8e 100644 --- a/pcsx2/GS/GSUtil.cpp +++ b/pcsx2/GS/GSUtil.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GS.h" diff --git a/pcsx2/GS/GSUtil.h b/pcsx2/GS/GSUtil.h index 37cf244d49e5d..14e662e69a21a 100644 --- a/pcsx2/GS/GSUtil.h +++ b/pcsx2/GS/GSUtil.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSVector.cpp b/pcsx2/GS/GSVector.cpp index 7e0385584bcdf..c85e1e6dd2b98 100644 --- a/pcsx2/GS/GSVector.cpp +++ b/pcsx2/GS/GSVector.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSVector.h" diff --git a/pcsx2/GS/GSVector.h b/pcsx2/GS/GSVector.h index 4e1213b3f7e89..924a039adbb26 100644 --- a/pcsx2/GS/GSVector.h +++ b/pcsx2/GS/GSVector.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/GSVector4.h b/pcsx2/GS/GSVector4.h index 45c115c970b9d..c74b965ea4265 100644 --- a/pcsx2/GS/GSVector4.h +++ b/pcsx2/GS/GSVector4.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ class alignas(16) GSVector4 diff --git a/pcsx2/GS/GSVector4_arm64.h b/pcsx2/GS/GSVector4_arm64.h index b81acc41d6a2f..c78b0de3f837c 100644 --- a/pcsx2/GS/GSVector4_arm64.h +++ b/pcsx2/GS/GSVector4_arm64.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 class alignas(16) GSVector4 diff --git a/pcsx2/GS/GSVector4i.h b/pcsx2/GS/GSVector4i.h index cbcb6f420c435..53bfc2c6d5e37 100644 --- a/pcsx2/GS/GSVector4i.h +++ b/pcsx2/GS/GSVector4i.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ class alignas(16) GSVector4i diff --git a/pcsx2/GS/GSVector4i_arm64.h b/pcsx2/GS/GSVector4i_arm64.h index d04f2d44d591c..d15bb74f19124 100644 --- a/pcsx2/GS/GSVector4i_arm64.h +++ b/pcsx2/GS/GSVector4i_arm64.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #pragma once diff --git a/pcsx2/GS/GSVector8.h b/pcsx2/GS/GSVector8.h index 8b176c3c0abd9..9b4e4022f7da1 100644 --- a/pcsx2/GS/GSVector8.h +++ b/pcsx2/GS/GSVector8.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ class alignas(32) GSVector8 diff --git a/pcsx2/GS/GSVector8i.h b/pcsx2/GS/GSVector8i.h index 8db3586ae15d4..547bea3c9cbef 100644 --- a/pcsx2/GS/GSVector8i.h +++ b/pcsx2/GS/GSVector8i.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ class alignas(32) GSVector8i diff --git a/pcsx2/GS/GSXXH.cpp b/pcsx2/GS/GSXXH.cpp index c3491296de4fc..587bbc8eb2b28 100644 --- a/pcsx2/GS/GSXXH.cpp +++ b/pcsx2/GS/GSXXH.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MultiISA.h" @@ -22,7 +22,7 @@ MULTI_ISA_UNSHARED_IMPL; u64 __noinline CURRENT_ISA::GSXXH3_64_Long(const void* data, size_t len) { // XXH marks its function that calls this noinline, and it would be silly to stack noinline functions, so call the internal function directly - return XXH3_hashLong_64b_internal(data, len, XXH3_kSecret, sizeof(XXH3_kSecret), XXH3_accumulate_512, XXH3_scrambleAcc); + return XXH3_hashLong_64b_internal(data, len, XXH3_kSecret, sizeof(XXH3_kSecret), XXH3_accumulate, XXH3_scrambleAcc); } u32 CURRENT_ISA::GSXXH3_64_Update(void* state, const void* data, size_t len) diff --git a/pcsx2/GS/GSXXH.h b/pcsx2/GS/GSXXH.h index ba331e65dd5a3..aff44515c9adc 100644 --- a/pcsx2/GS/GSXXH.h +++ b/pcsx2/GS/GSXXH.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/MultiISA.cpp b/pcsx2/GS/MultiISA.cpp index 59e1a5099d6b0..6101915ed7acd 100644 --- a/pcsx2/GS/MultiISA.cpp +++ b/pcsx2/GS/MultiISA.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "MultiISA.h" diff --git a/pcsx2/GS/MultiISA.h b/pcsx2/GS/MultiISA.h index b6649ec862ccf..58d50348ecace 100644 --- a/pcsx2/GS/MultiISA.h +++ b/pcsx2/GS/MultiISA.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSDevice.cpp b/pcsx2/GS/Renderers/Common/GSDevice.cpp index 8e425bed03d52..33b7a8e554069 100644 --- a/pcsx2/GS/Renderers/Common/GSDevice.cpp +++ b/pcsx2/GS/Renderers/Common/GSDevice.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Common/GSDevice.h" @@ -409,14 +409,14 @@ bool GSDevice::UpdateImGuiFontTexture() if (m_imgui_font && m_imgui_font->GetWidth() == width && m_imgui_font->GetHeight() == height && m_imgui_font->Update(r, pixels, pitch)) { - io.Fonts->SetTexID(m_imgui_font->GetNativeHandle()); + io.Fonts->SetTexID(reinterpret_cast(m_imgui_font->GetNativeHandle())); return true; } GSTexture* new_font = CreateTexture(width, height, 1, GSTexture::Format::Color); if (!new_font || !new_font->Update(r, pixels, pitch)) { - io.Fonts->SetTexID(m_imgui_font ? m_imgui_font->GetNativeHandle() : nullptr); + io.Fonts->SetTexID(reinterpret_cast(m_imgui_font ? m_imgui_font->GetNativeHandle() : nullptr)); return false; } @@ -424,7 +424,7 @@ bool GSDevice::UpdateImGuiFontTexture() delete m_imgui_font; m_imgui_font = new_font; - ImGui::GetIO().Fonts->SetTexID(new_font->GetNativeHandle()); + ImGui::GetIO().Fonts->SetTexID(reinterpret_cast(new_font->GetNativeHandle())); return true; } diff --git a/pcsx2/GS/Renderers/Common/GSDevice.h b/pcsx2/GS/Renderers/Common/GSDevice.h index f2a3f13590fdc..96e1d7d3cd74b 100644 --- a/pcsx2/GS/Renderers/Common/GSDevice.h +++ b/pcsx2/GS/Renderers/Common/GSDevice.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSDirtyRect.cpp b/pcsx2/GS/Renderers/Common/GSDirtyRect.cpp index d63d47dd7ee93..104faa383a79f 100644 --- a/pcsx2/GS/Renderers/Common/GSDirtyRect.cpp +++ b/pcsx2/GS/Renderers/Common/GSDirtyRect.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSDirtyRect.h" diff --git a/pcsx2/GS/Renderers/Common/GSDirtyRect.h b/pcsx2/GS/Renderers/Common/GSDirtyRect.h index f423d77114c3f..4c979047acd4f 100644 --- a/pcsx2/GS/Renderers/Common/GSDirtyRect.h +++ b/pcsx2/GS/Renderers/Common/GSDirtyRect.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSFastList.h b/pcsx2/GS/Renderers/Common/GSFastList.h index bf539e057d981..92920978adf67 100644 --- a/pcsx2/GS/Renderers/Common/GSFastList.h +++ b/pcsx2/GS/Renderers/Common/GSFastList.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSFunctionMap.cpp b/pcsx2/GS/Renderers/Common/GSFunctionMap.cpp index b729fad452e87..f36f07072d060 100644 --- a/pcsx2/GS/Renderers/Common/GSFunctionMap.cpp +++ b/pcsx2/GS/Renderers/Common/GSFunctionMap.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Common/GSFunctionMap.h" diff --git a/pcsx2/GS/Renderers/Common/GSFunctionMap.h b/pcsx2/GS/Renderers/Common/GSFunctionMap.h index 0baba8954d7c3..2d7e81c3dfbe6 100644 --- a/pcsx2/GS/Renderers/Common/GSFunctionMap.h +++ b/pcsx2/GS/Renderers/Common/GSFunctionMap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSRenderer.cpp b/pcsx2/GS/Renderers/Common/GSRenderer.cpp index 43378499c81f1..fc068c13a4720 100644 --- a/pcsx2/GS/Renderers/Common/GSRenderer.cpp +++ b/pcsx2/GS/Renderers/Common/GSRenderer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ImGui/FullscreenUI.h" @@ -21,7 +21,7 @@ #include "common/StringUtil.h" #include "common/Timer.h" -#include "fmt/core.h" +#include "fmt/format.h" #include "IconsFontAwesome5.h" #include @@ -546,9 +546,9 @@ void GSRenderer::EndPresentFrame() void GSRenderer::VSync(u32 field, bool registers_written, bool idle_frame) { - if (GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) + if (GSConfig.SaveInfo && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) { - DumpGSPrivRegs(*m_regs, GetDrawDumpPath("vsync_%05d_f%05lld_gs_reg.txt", s_n, g_perfmon.GetFrame())); + DumpGSPrivRegs(*m_regs, GetDrawDumpPath("%05d_f%05lld_vsync_gs_reg.txt", s_n, g_perfmon.GetFrame())); } const int fb_sprite_blits = g_perfmon.GetDisplayFramebufferSpriteBlits(); diff --git a/pcsx2/GS/Renderers/Common/GSRenderer.h b/pcsx2/GS/Renderers/Common/GSRenderer.h index 4f2cf6fda52f2..bd388809e821c 100644 --- a/pcsx2/GS/Renderers/Common/GSRenderer.h +++ b/pcsx2/GS/Renderers/Common/GSRenderer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSTexture.cpp b/pcsx2/GS/Renderers/Common/GSTexture.cpp index 09d057d64e193..e0212a711011c 100644 --- a/pcsx2/GS/Renderers/Common/GSTexture.cpp +++ b/pcsx2/GS/Renderers/Common/GSTexture.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Common/GSTexture.h" @@ -35,11 +35,8 @@ bool GSTexture::Save(const std::string& fn) return res; } -#ifdef PCSX2_DEVBUILD - GSPng::Format format = GSPng::RGB_A_PNG; -#else - GSPng::Format format = GSPng::RGB_PNG; -#endif + GSPng::Format format = (IsDevBuild || GSConfig.SaveAlpha) ? GSPng::RGB_A_PNG : GSPng::RGB_PNG; + switch (m_format) { case Format::UNorm8: diff --git a/pcsx2/GS/Renderers/Common/GSTexture.h b/pcsx2/GS/Renderers/Common/GSTexture.h index f5b01e027a6fc..fab5ece270d9b 100644 --- a/pcsx2/GS/Renderers/Common/GSTexture.h +++ b/pcsx2/GS/Renderers/Common/GSTexture.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSVertex.h b/pcsx2/GS/Renderers/Common/GSVertex.h index 9a83c2b68689d..4f519da9cd9d8 100644 --- a/pcsx2/GS/Renderers/Common/GSVertex.h +++ b/pcsx2/GS/Renderers/Common/GSVertex.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSVertexTrace.cpp b/pcsx2/GS/Renderers/Common/GSVertexTrace.cpp index eca58441172f5..c431c86d3f0c2 100644 --- a/pcsx2/GS/Renderers/Common/GSVertexTrace.cpp +++ b/pcsx2/GS/Renderers/Common/GSVertexTrace.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSVertexTrace.h" diff --git a/pcsx2/GS/Renderers/Common/GSVertexTrace.h b/pcsx2/GS/Renderers/Common/GSVertexTrace.h index ba9ebfc44690f..d50c9b048839d 100644 --- a/pcsx2/GS/Renderers/Common/GSVertexTrace.h +++ b/pcsx2/GS/Renderers/Common/GSVertexTrace.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Common/GSVertexTraceFMM.cpp b/pcsx2/GS/Renderers/Common/GSVertexTraceFMM.cpp index 4b9e5e5801689..66bdb9565dd73 100644 --- a/pcsx2/GS/Renderers/Common/GSVertexTraceFMM.cpp +++ b/pcsx2/GS/Renderers/Common/GSVertexTraceFMM.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSVertexTrace.h" diff --git a/pcsx2/GS/Renderers/DX11/D3D.cpp b/pcsx2/GS/Renderers/DX11/D3D.cpp index d1fbec14cf8d9..88f85c4d28a61 100644 --- a/pcsx2/GS/Renderers/DX11/D3D.cpp +++ b/pcsx2/GS/Renderers/DX11/D3D.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Config.h" diff --git a/pcsx2/GS/Renderers/DX11/D3D.h b/pcsx2/GS/Renderers/DX11/D3D.h index 11a57caea66b8..997cdd56d25e0 100644 --- a/pcsx2/GS/Renderers/DX11/D3D.h +++ b/pcsx2/GS/Renderers/DX11/D3D.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.cpp b/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.cpp index a9fc564cbbeec..2fb4481a4dd82 100644 --- a/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.cpp +++ b/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/DX11/D3D11ShaderCache.h" diff --git a/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.h b/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.h index 1ccc97c85f521..9eef040ba65c0 100644 --- a/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.h +++ b/pcsx2/GS/Renderers/DX11/D3D11ShaderCache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX11/GSDevice11.cpp b/pcsx2/GS/Renderers/DX11/GSDevice11.cpp index 27ab26c80ea24..968af31579409 100644 --- a/pcsx2/GS/Renderers/DX11/GSDevice11.cpp +++ b/pcsx2/GS/Renderers/DX11/GSDevice11.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS.h" @@ -112,7 +112,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) { Host::ReportErrorAsync("GS", fmt::format( - TRANSLATE_FS("GS", "Failed to create D3D device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required."), + TRANSLATE_FS("GS", "Failed to create D3D11 device: 0x{:08X}. A GPU which supports Direct3D Feature Level 10.0 is required."), hr)); return false; } @@ -149,10 +149,10 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) if (m_dev.try_query_to(&dxgi_device) && SUCCEEDED(dxgi_device->GetParent(IID_PPV_ARGS(dxgi_adapter.put())))) { m_name = D3D::GetAdapterName(dxgi_adapter.get()); - Console.WriteLn(fmt::format("D3D Adapter: {}", m_name)); + Console.WriteLn(fmt::format("D3D11: Adapter: {}", m_name)); } else - Console.Error("Failed to obtain D3D adapter name."); + Console.Error("D3D11: Failed to obtain adapter name."); BOOL allow_tearing_supported = false; hr = m_dxgi_factory->CheckFeatureSupport( @@ -172,7 +172,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) m_annotation = m_ctx.try_query(); if (!m_shader_cache.Open(m_feature_level, GSConfig.UseDebugDevice)) - Console.Warning("Shader cache failed to open."); + Console.Warning("D3D11: Shader cache failed to open."); { // HACK: check AMD @@ -341,7 +341,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) bd.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; if (FAILED(m_dev->CreateBuffer(&bd, nullptr, m_vb.put()))) { - Console.Error("Failed to create vertex buffer."); + Console.Error("D3D11: Failed to create vertex buffer."); return false; } @@ -349,7 +349,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) bd.BindFlags = D3D11_BIND_INDEX_BUFFER; if (FAILED(m_dev->CreateBuffer(&bd, nullptr, m_ib.put()))) { - Console.Error("Failed to create index buffer."); + Console.Error("D3D11: Failed to create index buffer."); return false; } IASetIndexBuffer(m_ib.get()); @@ -363,7 +363,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) if (FAILED(m_dev->CreateBuffer(&bd, nullptr, m_expand_vb.put()))) { - Console.Error("Failed to create expand vertex buffer."); + Console.Error("D3D11: Failed to create expand vertex buffer."); return false; } @@ -371,7 +371,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) D3D11_SRV_DIMENSION_BUFFER, DXGI_FORMAT_UNKNOWN, 0, VERTEX_BUFFER_SIZE / sizeof(GSVertex)); if (FAILED(m_dev->CreateShaderResourceView(m_expand_vb.get(), &vb_srv_desc, m_expand_vb_srv.put()))) { - Console.Error("Failed to create expand vertex buffer SRV."); + Console.Error("D3D11: Failed to create expand vertex buffer SRV."); return false; } @@ -388,7 +388,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) const D3D11_SUBRESOURCE_DATA srd = {expand_data.get()}; if (FAILED(m_dev->CreateBuffer(&bd, &srd, m_expand_ib.put()))) { - Console.Error("Failed to create expand index buffer."); + Console.Error("D3D11: Failed to create expand index buffer."); return false; } } @@ -440,7 +440,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) if (FAILED(m_dev->CreateBuffer(&bd, nullptr, m_vs_cb.put()))) { - Console.Error("Failed to create vertex shader constant buffer."); + Console.Error("D3D11: Failed to create vertex shader constant buffer."); return false; } @@ -452,7 +452,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) if (FAILED(m_dev->CreateBuffer(&bd, nullptr, m_ps_cb.put()))) { - Console.Error("Failed to create pixel shader constant buffer."); + Console.Error("D3D11: Failed to create pixel shader constant buffer."); return false; } @@ -511,7 +511,7 @@ bool GSDevice11::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) if (m_feature_level < D3D_FEATURE_LEVEL_11_0) { Host::AddIconOSDMessage("d3d11_feature_level_warning", ICON_FA_EXCLAMATION_TRIANGLE, - TRANSLATE_SV("GS", "The Direct3D renderer is running at feature level 10.0. This is an UNSUPPORTED configuration.\n" + TRANSLATE_SV("GS", "The Direct3D11 renderer is running at feature level 10.0. This is an UNSUPPORTED configuration.\n" "Do not request support, please upgrade your hardware/drivers first."), Host::OSD_WARNING_DURATION); } @@ -594,7 +594,7 @@ void GSDevice11::SetFeatures(IDXGIAdapter1* adapter) if (SUCCEEDED(m_dev->CheckFeatureSupport(D3D11_FEATURE_D3D11_OPTIONS2, &options, sizeof(options))) && !options.TypedUAVLoadAdditionalFormats) { - Console.Warning("Disabling VS expand due to potentially buggy NVIDIA driver."); + Console.Warning("D3D11: Disabling VS expand due to potentially buggy NVIDIA driver."); m_features.vs_expand = false; } } @@ -616,7 +616,7 @@ void GSDevice11::SetVSyncMode(GSVSyncMode mode, bool allow_present_throttle) // Using mailbox-style no-allow-tearing causes tearing in exclusive fullscreen. if (mode == GSVSyncMode::Mailbox && m_is_exclusive_fullscreen) { - WARNING_LOG("Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); + WARNING_LOG("D3D11: Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); mode = GSVSyncMode::FIFO; } @@ -632,7 +632,7 @@ void GSDevice11::SetVSyncMode(GSVSyncMode mode, bool allow_present_throttle) { DestroySwapChain(); if (!CreateSwapChain()) - pxFailRel("Failed to recreate swap chain after vsync change."); + pxFailRel("D3D11: Failed to recreate swap chain after vsync change."); } } @@ -669,7 +669,7 @@ bool GSDevice11::CreateSwapChain() // Using mailbox-style no-allow-tearing causes tearing in exclusive fullscreen. if (m_vsync_mode == GSVSyncMode::Mailbox && m_is_exclusive_fullscreen) { - WARNING_LOG("Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); + WARNING_LOG("D3D11: Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); m_vsync_mode = GSVSyncMode::FIFO; } } @@ -709,12 +709,12 @@ bool GSDevice11::CreateSwapChain() fs_desc.Scaling = fullscreen_mode.Scaling; fs_desc.Windowed = FALSE; - Console.WriteLn("Creating a %dx%d exclusive fullscreen swap chain", fs_sd_desc.Width, fs_sd_desc.Height); + Console.WriteLn("D3D11: Creating a %dx%d exclusive fullscreen swap chain", fs_sd_desc.Width, fs_sd_desc.Height); hr = m_dxgi_factory->CreateSwapChainForHwnd( m_dev.get(), window_hwnd, &fs_sd_desc, &fs_desc, fullscreen_output.get(), m_swap_chain.put()); if (FAILED(hr)) { - Console.Warning("Failed to create fullscreen swap chain, trying windowed."); + Console.Warning("D3D11: Failed to create fullscreen swap chain, trying windowed."); m_is_exclusive_fullscreen = false; m_using_allow_tearing = m_allow_tearing_supported && m_using_flip_model_swap_chain; } @@ -722,7 +722,7 @@ bool GSDevice11::CreateSwapChain() if (!m_is_exclusive_fullscreen) { - Console.WriteLn("Creating a %dx%d %s windowed swap chain", swap_chain_desc.Width, swap_chain_desc.Height, + Console.WriteLn("D3D11: Creating a %dx%d %s windowed swap chain", swap_chain_desc.Width, swap_chain_desc.Height, m_using_flip_model_swap_chain ? "flip-discard" : "discard"); hr = m_dxgi_factory->CreateSwapChainForHwnd( m_dev.get(), window_hwnd, &swap_chain_desc, nullptr, nullptr, m_swap_chain.put()); @@ -730,7 +730,7 @@ bool GSDevice11::CreateSwapChain() if (FAILED(hr) && m_using_flip_model_swap_chain) { - Console.Warning("Failed to create a flip-discard swap chain, trying discard."); + Console.Warning("D3D11: Failed to create a flip-discard swap chain, trying discard."); swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; swap_chain_desc.Flags = 0; m_using_flip_model_swap_chain = false; @@ -740,7 +740,7 @@ bool GSDevice11::CreateSwapChain() m_dev.get(), window_hwnd, &swap_chain_desc, nullptr, nullptr, m_swap_chain.put()); if (FAILED(hr)) { - Console.Error("CreateSwapChainForHwnd failed: 0x%08X", hr); + Console.Error("D3D11: CreateSwapChainForHwnd failed: 0x%08X", hr); return false; } } @@ -752,11 +752,11 @@ bool GSDevice11::CreateSwapChain() { hr = swap_chain_factory->MakeWindowAssociation(window_hwnd, DXGI_MWA_NO_WINDOW_CHANGES); if (FAILED(hr)) - Console.ErrorFmt("MakeWindowAssociation() to disable ALT+ENTER failed: {}", Error::CreateHResult(hr).GetDescription()); + Console.ErrorFmt("D3D11: MakeWindowAssociation() to disable ALT+ENTER failed: {}", Error::CreateHResult(hr).GetDescription()); } else { - Console.ErrorFmt("GetParent() on swap chain to get factory failed: {}", Error::CreateHResult(hr).GetDescription()); + Console.ErrorFmt("D3D11: GetParent() on swap chain to get factory failed: {}", Error::CreateHResult(hr).GetDescription()); } if (!CreateSwapChainRTV()) @@ -777,7 +777,7 @@ bool GSDevice11::CreateSwapChainRTV() HRESULT hr = m_swap_chain->GetBuffer(0, IID_PPV_ARGS(backbuffer.put())); if (FAILED(hr)) { - Console.Error("GetBuffer for RTV failed: 0x%08X", hr); + Console.Error("D3D11: GetBuffer for RTV failed: 0x%08X", hr); return false; } @@ -789,14 +789,14 @@ bool GSDevice11::CreateSwapChainRTV() hr = m_dev->CreateRenderTargetView(backbuffer.get(), &rtv_desc, m_swap_chain_rtv.put()); if (FAILED(hr)) { - Console.Error("CreateRenderTargetView for swap chain failed: 0x%08X", hr); + Console.Error("D3D11: CreateRenderTargetView for swap chain failed: 0x%08X", hr); m_swap_chain_rtv.reset(); return false; } m_window_info.surface_width = backbuffer_desc.Width; m_window_info.surface_height = backbuffer_desc.Height; - DevCon.WriteLn("Swap chain buffer size: %ux%u", m_window_info.surface_width, m_window_info.surface_height); + DevCon.WriteLn("D3D11: Swap chain buffer size: %ux%u", m_window_info.surface_width, m_window_info.surface_height); if (m_window_info.type == WindowInfo::Type::Win32) { @@ -838,7 +838,7 @@ bool GSDevice11::UpdateWindow() if (m_window_info.type != WindowInfo::Type::Surfaceless && !CreateSwapChain()) { - Console.WriteLn("Failed to create swap chain on updated window"); + Console.WriteLn("D3D11: Failed to create swap chain on updated window"); return false; } @@ -911,7 +911,7 @@ void GSDevice11::ResizeWindow(s32 new_window_width, s32 new_window_height, float HRESULT hr = m_swap_chain->ResizeBuffers( 0, 0, 0, DXGI_FORMAT_UNKNOWN, m_using_allow_tearing ? DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING : 0); if (FAILED(hr)) - Console.Error("ResizeBuffers() failed: 0x%08X", hr); + Console.Error("D3D11: ResizeBuffers() failed: 0x%08X", hr); if (!CreateSwapChainRTV()) pxFailRel("Failed to recreate swap chain RTV after resize"); @@ -1031,7 +1031,7 @@ void GSDevice11::PopTimestampQuery() if (disjoint.Disjoint) { - DevCon.WriteLn("GPU timing disjoint, resetting."); + DevCon.WriteLn("D3D11: GPU timing disjoint, resetting."); m_read_timestamp_query = 0; m_write_timestamp_query = 0; m_waiting_timestamp_queries = 0; @@ -1217,7 +1217,7 @@ GSTexture* GSDevice11::CreateSurface(GSTexture::Type type, int width, int height HRESULT hr = m_dev->CreateTexture2D(&desc, nullptr, texture.put()); if (FAILED(hr)) { - Console.Error("DX11: Failed to allocate %dx%d surface", width, height); + Console.Error("D3D11: Failed to allocate %dx%d surface", width, height); return nullptr; } @@ -1630,7 +1630,7 @@ void GSDevice11::DoFXAA(GSTexture* sTex, GSTexture* dTex) const std::optional shader = ReadShaderSource("shaders/common/fxaa.fx"); if (!shader.has_value()) { - Console.Error("FXAA shader is missing"); + Console.Error("D3D11: FXAA shader is missing"); return; } @@ -1957,7 +1957,7 @@ bool GSDevice11::CreateCASShaders() m_cas.cs_upscale = m_shader_cache.GetComputeShader(m_dev.get(), cas_source.value(), nullptr, "main"); if (!m_cas.cs_sharpen || !m_cas.cs_upscale) { - Console.Error("Failed to create CAS compute shaders."); + Console.Error("D3D11: Failed to create CAS compute shaders."); return false; } @@ -1996,7 +1996,7 @@ bool GSDevice11::CreateImGuiResources() const std::optional hlsl = ReadShaderSource("shaders/dx11/imgui.fx"); if (!hlsl.has_value()) { - Console.Error("Failed to read imgui.fx"); + Console.Error("D3D11: Failed to read imgui.fx"); return false; } @@ -2013,7 +2013,7 @@ bool GSDevice11::CreateImGuiResources() std::size(layout), hlsl.value(), nullptr, "vs_main") || !(m_imgui.ps = m_shader_cache.GetPixelShader(m_dev.get(), hlsl.value(), nullptr, "ps_main"))) { - Console.Error("Failed to compile ImGui shaders"); + Console.Error("D3D11: Failed to compile ImGui shaders"); return false; } @@ -2029,7 +2029,7 @@ bool GSDevice11::CreateImGuiResources() hr = m_dev->CreateBlendState(&blend_desc, m_imgui.bs.put()); if (FAILED(hr)) { - Console.Error("CreateImGuiResources(): CreateBlendState() failed: %08X", hr); + Console.Error("D3D11: CreateImGuiResources(): CreateBlendState() failed: %08X", hr); return false; } @@ -2040,7 +2040,7 @@ bool GSDevice11::CreateImGuiResources() hr = m_dev->CreateBuffer(&buffer_desc, nullptr, m_imgui.vs_cb.put()); if (FAILED(hr)) { - Console.Error("CreateImGuiResources(): CreateBlendState() failed: %08X", hr); + Console.Error("D3D11: CreateImGuiResources(): CreateBlendState() failed: %08X", hr); return false; } @@ -2137,7 +2137,7 @@ void GSDevice11::RenderImGui() } // Since we don't have the GSTexture... - m_state.ps_sr_views[0] = static_cast(pcmd->GetTexID()); + m_state.ps_sr_views[0] = reinterpret_cast(pcmd->GetTexID()); PSUpdateShaderState(); m_ctx->DrawIndexed(pcmd->ElemCount, m_index.start + pcmd->IdxOffset, vertex_offset + pcmd->VtxOffset); @@ -2566,7 +2566,7 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config) { if (!IASetExpandVertexBuffer(config.verts, sizeof(*config.verts), config.nverts)) { - Console.Error("Failed to upload structured vertices (%u)", config.nverts); + Console.Error("D3D11: Failed to upload structured vertices (%u)", config.nverts); return; } @@ -2576,7 +2576,7 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config) { if (!IASetVertexBuffer(config.verts, sizeof(*config.verts), config.nverts)) { - Console.Error("Failed to upload vertices (%u)", config.nverts); + Console.Error("D3D11: Failed to upload vertices (%u)", config.nverts); return; } } @@ -2591,7 +2591,7 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config) { if (!IASetIndexBuffer(config.indices, config.nindices)) { - Console.Error("Failed to upload indices (%u)", config.nindices); + Console.Error("D3D11: Failed to upload indices (%u)", config.nindices); return; } } diff --git a/pcsx2/GS/Renderers/DX11/GSDevice11.h b/pcsx2/GS/Renderers/DX11/GSDevice11.h index d670f32d51fd4..a1c1d31e7a39d 100644 --- a/pcsx2/GS/Renderers/DX11/GSDevice11.h +++ b/pcsx2/GS/Renderers/DX11/GSDevice11.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX11/GSTexture11.cpp b/pcsx2/GS/Renderers/DX11/GSTexture11.cpp index fb58a0ab8fdc5..b7ecc85b2566e 100644 --- a/pcsx2/GS/Renderers/DX11/GSTexture11.cpp +++ b/pcsx2/GS/Renderers/DX11/GSTexture11.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSDevice11.h" diff --git a/pcsx2/GS/Renderers/DX11/GSTexture11.h b/pcsx2/GS/Renderers/DX11/GSTexture11.h index 5f2a590c1ca75..37ef01c4b0f43 100644 --- a/pcsx2/GS/Renderers/DX11/GSTexture11.h +++ b/pcsx2/GS/Renderers/DX11/GSTexture11.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX12/D3D12Builders.cpp b/pcsx2/GS/Renderers/DX12/D3D12Builders.cpp index 44f69d12c49ed..de8dc2d67b8fe 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12Builders.cpp +++ b/pcsx2/GS/Renderers/DX12/D3D12Builders.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/DX12/D3D12Builders.h" diff --git a/pcsx2/GS/Renderers/DX12/D3D12Builders.h b/pcsx2/GS/Renderers/DX12/D3D12Builders.h index 0d0eb9f24ea30..a84ea3fab341b 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12Builders.h +++ b/pcsx2/GS/Renderers/DX12/D3D12Builders.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.cpp b/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.cpp index c18a0fa7c7e6a..997e62193f3e2 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.cpp +++ b/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "PrecompiledHeader.h" diff --git a/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.h b/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.h index 759095a5a9fd5..1f8cdfe2cce87 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.h +++ b/pcsx2/GS/Renderers/DX12/D3D12DescriptorHeapManager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.cpp b/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.cpp index cbe4aaa32cb11..51da2024f5866 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.cpp +++ b/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/DX12/D3D12ShaderCache.h" diff --git a/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.h b/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.h index f82ec08c9e4d3..5f4d3331c359c 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.h +++ b/pcsx2/GS/Renderers/DX12/D3D12ShaderCache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.cpp b/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.cpp index 4398fd44e7df7..7219dc48f1e61 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.cpp +++ b/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/DX12/D3D12StreamBuffer.h" diff --git a/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.h b/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.h index 3ab2ea918d013..da1655f4bd527 100644 --- a/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.h +++ b/pcsx2/GS/Renderers/DX12/D3D12StreamBuffer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX12/GSDevice12.cpp b/pcsx2/GS/Renderers/DX12/GSDevice12.cpp index 7f5803e0182ac..a84dac236c9c8 100644 --- a/pcsx2/GS/Renderers/DX12/GSDevice12.cpp +++ b/pcsx2/GS/Renderers/DX12/GSDevice12.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GS.h" @@ -121,7 +121,7 @@ GSDevice12::ComPtr GSDevice12::CreateRootSignature(const D3 m_device->CreateRootSignature(0, blob->GetBufferPointer(), blob->GetBufferSize(), IID_PPV_ARGS(rs.put())); if (FAILED(hr)) { - Console.Error("CreateRootSignature() failed: %08X", hr); + Console.Error("D3D12: CreateRootSignature() failed: %08X", hr); return {}; } @@ -173,7 +173,7 @@ bool GSDevice12::CreateDevice(u32& vendor_id) } else { - Console.Error("Debug layer requested but not available."); + Console.Error("D3D12: Debug layer requested but not available."); enable_debug_layer = false; } } @@ -185,7 +185,7 @@ bool GSDevice12::CreateDevice(u32& vendor_id) hr = D3D12CreateDevice(m_adapter.get(), isIntel ? D3D_FEATURE_LEVEL_12_0 : D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device)); if (FAILED(hr)) { - Console.Error("Failed to create D3D12 device: %08X", hr); + Console.Error("D3D12: Failed to create device: %08X", hr); return false; } @@ -193,7 +193,7 @@ bool GSDevice12::CreateDevice(u32& vendor_id) { const LUID luid(m_device->GetAdapterLuid()); if (FAILED(m_dxgi_factory->EnumAdapterByLuid(luid, IID_PPV_ARGS(m_adapter.put())))) - Console.Error("Failed to get lookup adapter by device LUID"); + Console.Error("D3D12: Failed to get lookup adapter by device LUID"); } if (enable_debug_layer) @@ -226,7 +226,7 @@ bool GSDevice12::CreateDevice(u32& vendor_id) hr = m_device->CreateCommandQueue(&queue_desc, IID_PPV_ARGS(&m_command_queue)); if (FAILED(hr)) { - Console.Error("Failed to create command queue: %08X", hr); + Console.Error("D3D12: Failed to create command queue: %08X", hr); return false; } @@ -240,21 +240,21 @@ bool GSDevice12::CreateDevice(u32& vendor_id) hr = D3D12MA::CreateAllocator(&allocatorDesc, m_allocator.put()); if (FAILED(hr)) { - Console.Error("D3D12MA::CreateAllocator() failed with HRESULT %08X", hr); + Console.Error("D3D12: CreateAllocator() failed with HRESULT %08X", hr); return false; } hr = m_device->CreateFence(m_completed_fence_value, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&m_fence)); if (FAILED(hr)) { - Console.Error("Failed to create fence: %08X", hr); + Console.Error("D3D12: Failed to create fence: %08X", hr); return false; } m_fence_event = CreateEvent(nullptr, FALSE, FALSE, nullptr); if (m_fence_event == NULL) { - Console.Error("Failed to create fence event: %08X", GetLastError()); + Console.Error("D3D12: Failed to create fence event: %08X", GetLastError()); return false; } @@ -312,7 +312,7 @@ bool GSDevice12::CreateCommandLists() nullptr, IID_PPV_ARGS(res.command_lists[i].put())); if (FAILED(hr)) { - Console.Error("Failed to create command list: %08X", hr); + Console.Error("D3D12: Failed to create command list: %08X", hr); return false; } @@ -325,13 +325,13 @@ bool GSDevice12::CreateCommandLists() if (!res.descriptor_allocator.Create(m_device.get(), D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, MAX_GPU_SRVS)) { - Console.Error("Failed to create per frame descriptor allocator"); + Console.Error("D3D12: Failed to create per frame descriptor allocator"); return false; } if (!res.sampler_allocator.Create(m_device.get(), MAX_GPU_SAMPLERS)) { - Console.Error("Failed to create per frame sampler allocator"); + Console.Error("D3D12: Failed to create per frame sampler allocator"); return false; } } @@ -378,7 +378,7 @@ void GSDevice12::MoveToNextCommandList() } else { - Console.Warning("Map() for timestamp query failed: %08X", hr); + Console.Warning("D3D12: Map() for timestamp query failed: %08X", hr); } } @@ -432,7 +432,7 @@ bool GSDevice12::ExecuteCommandList(WaitType wait_for_completion) hr = res.command_lists[0]->Close(); if (FAILED(hr)) { - Console.Error("Closing init command list failed with HRESULT %08X", hr); + Console.Error("D3D12: Closing init command list failed with HRESULT %08X", hr); return false; } } @@ -441,7 +441,7 @@ bool GSDevice12::ExecuteCommandList(WaitType wait_for_completion) hr = res.command_lists[1]->Close(); if (FAILED(hr)) { - Console.Error("Closing main command list failed with HRESULT %08X", hr); + Console.Error("D3D12: Closing main command list failed with HRESULT %08X", hr); return false; } @@ -581,7 +581,7 @@ bool GSDevice12::CreateTimestampQuery() HRESULT hr = m_device->CreateQueryHeap(&desc, IID_PPV_ARGS(m_timestamp_query_heap.put())); if (FAILED(hr)) { - Console.Error("CreateQueryHeap() for timestamp failed with %08X", hr); + Console.Error("D3D12: CreateQueryHeap() for timestamp failed with %08X", hr); return false; } @@ -592,7 +592,7 @@ bool GSDevice12::CreateTimestampQuery() m_timestamp_query_allocation.put(), IID_PPV_ARGS(m_timestamp_query_buffer.put())); if (FAILED(hr)) { - Console.Error("CreateResource() for timestamp failed with %08X", hr); + Console.Error("D3D12: CreateResource() for timestamp failed with %08X", hr); return false; } @@ -600,7 +600,7 @@ bool GSDevice12::CreateTimestampQuery() hr = m_command_queue->GetTimestampFrequency(&frequency); if (FAILED(hr)) { - Console.Error("GetTimestampFrequency() failed: %08X", hr); + Console.Error("D3D12: GetTimestampFrequency() failed: %08X", hr); return false; } @@ -691,7 +691,7 @@ bool GSDevice12::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) if (!CheckFeatures(vendor_id)) { - Console.Error("Your GPU does not support the required D3D12 features."); + Console.Error("D3D12: Your GPU does not support the required D3D12 features."); return false; } @@ -715,7 +715,7 @@ bool GSDevice12::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) } if (!m_shader_cache.Open(m_feature_level, GSConfig.UseDebugDevice)) - Console.Warning("Shader cache failed to open."); + Console.Warning("D3D12: Shader cache failed to open."); if (!CreateNullTexture()) { @@ -769,7 +769,7 @@ void GSDevice12::SetVSyncMode(GSVSyncMode mode, bool allow_present_throttle) // Using mailbox-style no-allow-tearing causes tearing in exclusive fullscreen. if (mode == GSVSyncMode::Mailbox && m_is_exclusive_fullscreen) { - WARNING_LOG("Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); + WARNING_LOG("D3D12: Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); mode = GSVSyncMode::FIFO; } @@ -822,7 +822,7 @@ bool GSDevice12::CreateSwapChain() // Using mailbox-style no-allow-tearing causes tearing in exclusive fullscreen. if (m_vsync_mode == GSVSyncMode::Mailbox && m_is_exclusive_fullscreen) { - WARNING_LOG("Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); + WARNING_LOG("D3D12: Using FIFO instead of Mailbox vsync due to exclusive fullscreen."); m_vsync_mode = GSVSyncMode::FIFO; } } @@ -859,12 +859,12 @@ bool GSDevice12::CreateSwapChain() fs_desc.Scaling = fullscreen_mode.Scaling; fs_desc.Windowed = FALSE; - Console.WriteLn("Creating a %dx%d exclusive fullscreen swap chain", fs_sd_desc.Width, fs_sd_desc.Height); + Console.WriteLn("D3D12: Creating a %dx%d exclusive fullscreen swap chain", fs_sd_desc.Width, fs_sd_desc.Height); hr = m_dxgi_factory->CreateSwapChainForHwnd(m_command_queue.get(), window_hwnd, &fs_sd_desc, &fs_desc, fullscreen_output.get(), m_swap_chain.put()); if (FAILED(hr)) { - Console.Warning("Failed to create fullscreen swap chain, trying windowed."); + Console.Warning("D3D12: Failed to create fullscreen swap chain, trying windowed."); m_is_exclusive_fullscreen = false; m_using_allow_tearing = m_allow_tearing_supported; } @@ -872,12 +872,12 @@ bool GSDevice12::CreateSwapChain() if (!m_is_exclusive_fullscreen) { - Console.WriteLn("Creating a %dx%d windowed swap chain", swap_chain_desc.Width, swap_chain_desc.Height); + Console.WriteLn("D3D12: Creating a %dx%d windowed swap chain", swap_chain_desc.Width, swap_chain_desc.Height); hr = m_dxgi_factory->CreateSwapChainForHwnd( m_command_queue.get(), window_hwnd, &swap_chain_desc, nullptr, nullptr, m_swap_chain.put()); if (FAILED(hr)) - Console.Warning("Failed to create windowed swap chain."); + Console.Warning("D3D12: Failed to create windowed swap chain."); } // MWA needs to be called on the correct factory. @@ -887,11 +887,11 @@ bool GSDevice12::CreateSwapChain() { hr = swap_chain_factory->MakeWindowAssociation(window_hwnd, DXGI_MWA_NO_WINDOW_CHANGES); if (FAILED(hr)) - Console.ErrorFmt("MakeWindowAssociation() to disable ALT+ENTER failed: {}", Error::CreateHResult(hr).GetDescription()); + Console.ErrorFmt("D3D12: MakeWindowAssociation() to disable ALT+ENTER failed: {}", Error::CreateHResult(hr).GetDescription()); } else { - Console.ErrorFmt("GetParent() on swap chain to get factory failed: {}", Error::CreateHResult(hr).GetDescription()); + Console.ErrorFmt("D3D12: GetParent() on swap chain to get factory failed: {}", Error::CreateHResult(hr).GetDescription()); } if (!CreateSwapChainRTV()) @@ -926,7 +926,7 @@ bool GSDevice12::CreateSwapChainRTV() hr = m_swap_chain->GetBuffer(i, IID_PPV_ARGS(backbuffer.put())); if (FAILED(hr)) { - Console.Error("GetBuffer for RTV failed: 0x%08X", hr); + Console.Error("D3D12: GetBuffer for RTV failed: 0x%08X", hr); m_swap_chain_buffers.clear(); return false; } @@ -946,7 +946,7 @@ bool GSDevice12::CreateSwapChainRTV() m_window_info.surface_width = swap_chain_desc.BufferDesc.Width; m_window_info.surface_height = swap_chain_desc.BufferDesc.Height; - DevCon.WriteLn("Swap chain buffer size: %ux%u", m_window_info.surface_width, m_window_info.surface_height); + DevCon.WriteLn("D3D12: Swap chain buffer size: %ux%u", m_window_info.surface_width, m_window_info.surface_height); if (m_window_info.type == WindowInfo::Type::Win32) { @@ -998,7 +998,7 @@ bool GSDevice12::UpdateWindow() if (m_window_info.type != WindowInfo::Type::Surfaceless && !CreateSwapChain()) { - Console.WriteLn("Failed to create swap chain on updated window"); + Console.WriteLn("D3D12: Failed to create swap chain on updated window"); return false; } @@ -1066,7 +1066,7 @@ void GSDevice12::ResizeWindow(s32 new_window_width, s32 new_window_height, float HRESULT hr = m_swap_chain->ResizeBuffers( 0, 0, 0, DXGI_FORMAT_UNKNOWN, m_using_allow_tearing ? DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING : 0); if (FAILED(hr)) - Console.Error("ResizeBuffers() failed: 0x%08X", hr); + Console.Error("D3D12: ResizeBuffers() failed: 0x%08X", hr); if (!CreateSwapChainRTV()) pxFailRel("Failed to recreate swap chain RTV after resize"); @@ -1931,7 +1931,7 @@ bool GSDevice12::CompileCASPipelines() m_cas_sharpen_pipeline = cpb.Create(m_device.get(), m_shader_cache, false); if (!m_cas_upscale_pipeline || !m_cas_sharpen_pipeline) { - Console.Error("Failed to create CAS pipelines"); + Console.Error("D3D12: Failed to create CAS pipelines"); return false; } @@ -1943,7 +1943,7 @@ bool GSDevice12::CompileImGuiPipeline() const std::optional hlsl = ReadShaderSource("shaders/dx11/imgui.fx"); if (!hlsl.has_value()) { - Console.Error("Failed to read imgui.fx"); + Console.Error("D3D12: Failed to read imgui.fx"); return false; } @@ -1951,7 +1951,7 @@ bool GSDevice12::CompileImGuiPipeline() const ComPtr ps = m_shader_cache.GetPixelShader(hlsl.value(), nullptr, "ps_main"); if (!vs || !ps) { - Console.Error("Failed to compile ImGui shaders"); + Console.Error("D3D12: Failed to compile ImGui shaders"); return false; } @@ -1972,7 +1972,7 @@ bool GSDevice12::CompileImGuiPipeline() m_imgui_pipeline = gpb.Create(m_device.get(), m_shader_cache, false); if (!m_imgui_pipeline) { - Console.Error("Failed to compile ImGui pipeline"); + Console.Error("D3D12: Failed to compile ImGui pipeline"); return false; } @@ -2015,7 +2015,7 @@ void GSDevice12::RenderImGui() // just skip if we run out.. we can't resume the present render pass :/ if (!GetSamplerAllocator().LookupSingle(&m_utility_sampler_gpu, m_linear_sampler_cpu)) { - Console.Warning("Skipping ImGui draw because of no descriptors"); + Console.Warning("D3D12: Skipping ImGui draw because of no descriptors"); return; } } @@ -2032,7 +2032,7 @@ void GSDevice12::RenderImGui() const u32 size = sizeof(ImDrawVert) * static_cast(cmd_list->VtxBuffer.Size); if (!m_vertex_stream_buffer.ReserveMemory(size, sizeof(ImDrawVert))) { - Console.Warning("Skipping ImGui draw because of no vertex buffer space"); + Console.Warning("D3D12: Skipping ImGui draw because of no vertex buffer space"); return; } @@ -2057,7 +2057,7 @@ void GSDevice12::RenderImGui() SetScissor(GSVector4i(clip)); - GSTexture12* tex = static_cast(pcmd->GetTexID()); + GSTexture12* tex = reinterpret_cast(pcmd->GetTexID()); D3D12DescriptorHandle handle = m_null_texture->GetSRVDescriptor(); if (tex) { @@ -2072,7 +2072,7 @@ void GSDevice12::RenderImGui() if (!GetTextureGroupDescriptors(&m_utility_texture_gpu, &handle, 1)) { - Console.Warning("Skipping ImGui draw because of no descriptors"); + Console.Warning("D3D12: Skipping ImGui draw because of no descriptors"); return; } } @@ -2103,7 +2103,7 @@ bool GSDevice12::DoCAS( if (!GetTextureGroupDescriptors(&sTexDH, &sTex12->GetSRVDescriptor(), 1) || !GetTextureGroupDescriptors(&dTexDH, &dTex12->GetUAVDescriptor(), 1)) { - Console.Error("Failed to allocate CAS descriptors."); + Console.Error("D3D12: Failed to allocate CAS descriptors."); return false; } } @@ -3567,7 +3567,7 @@ bool GSDevice12::ApplyTFXState(bool already_execed) { if (already_execed) { - Console.Error("Failed to reserve vertex uniform space"); + Console.Error("D3D12: Failed to reserve vertex uniform space"); return false; } @@ -3588,7 +3588,7 @@ bool GSDevice12::ApplyTFXState(bool already_execed) { if (already_execed) { - Console.Error("Failed to reserve pixel uniform space"); + Console.Error("D3D12: Failed to reserve pixel uniform space"); return false; } @@ -3846,7 +3846,7 @@ void GSDevice12::RenderHW(GSHWDrawConfig& config) date_image = SetupPrimitiveTrackingDATE(config, pipe); if (!date_image) { - Console.WriteLn("Failed to allocate DATE image, aborting draw."); + Console.WriteLn("D3D12: Failed to allocate DATE image, aborting draw."); return; } } @@ -3874,7 +3874,7 @@ void GSDevice12::RenderHW(GSHWDrawConfig& config) hdr_rt = static_cast(CreateRenderTarget(rtsize.x, rtsize.y, GSTexture::Format::HDRColor, false)); if (!hdr_rt) { - Console.WriteLn("Failed to allocate HDR render target, aborting draw."); + Console.WriteLn("D3D12: Failed to allocate HDR render target, aborting draw."); if (date_image) Recycle(date_image); return; diff --git a/pcsx2/GS/Renderers/DX12/GSDevice12.h b/pcsx2/GS/Renderers/DX12/GSDevice12.h index 9a89a14390fa3..76af8bc54ed15 100644 --- a/pcsx2/GS/Renderers/DX12/GSDevice12.h +++ b/pcsx2/GS/Renderers/DX12/GSDevice12.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/DX12/GSTexture12.cpp b/pcsx2/GS/Renderers/DX12/GSTexture12.cpp index d587f16318b2b..d37281ad484f6 100644 --- a/pcsx2/GS/Renderers/DX12/GSTexture12.cpp +++ b/pcsx2/GS/Renderers/DX12/GSTexture12.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/DX12/GSTexture12.h" diff --git a/pcsx2/GS/Renderers/DX12/GSTexture12.h b/pcsx2/GS/Renderers/DX12/GSTexture12.h index b05afa8355a20..49c82d034f84a 100644 --- a/pcsx2/GS/Renderers/DX12/GSTexture12.h +++ b/pcsx2/GS/Renderers/DX12/GSTexture12.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/HW/GSHwHack.cpp b/pcsx2/GS/Renderers/HW/GSHwHack.cpp index 324f8e6449237..2d7239692d331 100644 --- a/pcsx2/GS/Renderers/HW/GSHwHack.cpp +++ b/pcsx2/GS/Renderers/HW/GSHwHack.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/HW/GSRendererHW.h" diff --git a/pcsx2/GS/Renderers/HW/GSHwHack.h b/pcsx2/GS/Renderers/HW/GSHwHack.h index d93aa4d23c04a..2da65232a11fb 100644 --- a/pcsx2/GS/Renderers/HW/GSHwHack.h +++ b/pcsx2/GS/Renderers/HW/GSHwHack.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/HW/GSRendererHW.h" diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index 1a2f4b13d4041..217bacd626d4d 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/HW/GSRendererHW.h" @@ -179,12 +179,9 @@ GSTexture* GSRendererHW::GetOutput(int i, float& scale, int& y_offset) } #ifdef ENABLE_OGL_DEBUG - if (GSConfig.DumpGSData) + if (GSConfig.SaveFrame && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) { - if (GSConfig.SaveFrame && s_n >= GSConfig.SaveN && g_perfmon.GetFrame() >= GSConfig.SaveNF) - { - t->Save(GetDrawDumpPath("%05d_f%05lld_fr%d_%05x_%s.bmp", s_n, g_perfmon.GetFrame(), i, static_cast(TEX0.TBP0), psm_str(TEX0.PSM))); - } + t->Save(GetDrawDumpPath("%05d_f%05lld_fr%d_%05x_%s.bmp", s_n, g_perfmon.GetFrame(), i, static_cast(TEX0.TBP0), psm_str(TEX0.PSM))); } #endif } @@ -211,7 +208,7 @@ GSTexture* GSRendererHW::GetFeedbackOutput(float& scale) scale = rt->m_scale; #ifdef ENABLE_OGL_DEBUG - if (GSConfig.DumpGSData && GSConfig.SaveFrame && s_n >= GSConfig.SaveN && g_perfmon.GetFrame() >= GSConfig.SaveNF) + if (GSConfig.SaveFrame && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) t->Save(GetDrawDumpPath("%05d_f%05lld_fr%d_%05x_%s.bmp", s_n, g_perfmon.GetFrame(), 3, static_cast(TEX0.TBP0), psm_str(TEX0.PSM))); #endif @@ -949,14 +946,25 @@ GSVector2i GSRendererHW::GetValidSize(const GSTextureCache::Source* tex) } } + // Make sure sizes are within max limit of 2048, + // this shouldn't happen but if it does it needs to be addressed, + // clamp the size so at least it doesn't cause a crash. + constexpr int valid_max_size = 2048; + if ((width > valid_max_size) || (height > valid_max_size)) + { + Console.Warning("Warning: GetValidSize out of bounds, X:%d Y:%d", width, height); + width = std::min(width, valid_max_size); + height = std::min(height, valid_max_size); + } + return GSVector2i(width, height); } -GSVector2i GSRendererHW::GetTargetSize(const GSTextureCache::Source* tex) +GSVector2i GSRendererHW::GetTargetSize(const GSTextureCache::Source* tex, const bool can_expand) { const GSVector2i valid_size = GetValidSize(tex); - return g_texture_cache->GetTargetSize(m_cached_ctx.FRAME.Block(), m_cached_ctx.FRAME.FBW, m_cached_ctx.FRAME.PSM, valid_size.x, valid_size.y); + return g_texture_cache->GetTargetSize(m_cached_ctx.FRAME.Block(), m_cached_ctx.FRAME.FBW, m_cached_ctx.FRAME.PSM, valid_size.x, valid_size.y, can_expand); } bool GSRendererHW::IsPossibleChannelShuffle() const @@ -1973,7 +1981,7 @@ void GSRendererHW::RoundSpriteOffset() void GSRendererHW::Draw() { - if (GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) + if (GSConfig.SaveInfo && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) { std::string s; @@ -2549,11 +2557,11 @@ void GSRendererHW::Draw() } } const bool possible_shuffle = !no_rt && (((shuffle_target && GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].bpp == 16) || (m_cached_ctx.FRAME.Block() == m_cached_ctx.TEX0.TBP0 && ((m_cached_ctx.TEX0.PSM & 0x6) || m_cached_ctx.FRAME.PSM != m_cached_ctx.TEX0.PSM))) || IsPossibleChannelShuffle()); - const bool need_aem_color = GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].trbpp <= 24 && GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].pal == 0 && m_context->ALPHA.C == 0 && m_env.TEXA.AEM; + const bool need_aem_color = GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].trbpp <= 24 && GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].pal == 0 && ((PRIM->ABE && m_context->ALPHA.C == 0) || IsDiscardingDstAlpha()) && m_draw_env->TEXA.AEM; const u32 color_mask = (m_vt.m_max.c > GSVector4i::zero()).mask(); const bool texture_function_color = m_cached_ctx.TEX0.TFX == TFX_DECAL || (color_mask & 0xFFF) || (m_cached_ctx.TEX0.TFX > TFX_DECAL && (color_mask & 0xF000)); const bool texture_function_alpha = m_cached_ctx.TEX0.TFX != TFX_MODULATE || (color_mask & 0xF000); - const bool req_color = texture_function_color && (!PRIM->ABE || (PRIM->ABE && (IsUsingCsInBlend() || need_aem_color))) && (possible_shuffle || (m_cached_ctx.FRAME.FBMSK & (fm_mask & 0x00FFFFFF)) != (fm_mask & 0x00FFFFFF)); + const bool req_color = (texture_function_color && (!PRIM->ABE || (PRIM->ABE && IsUsingCsInBlend())) && (possible_shuffle || (m_cached_ctx.FRAME.FBMSK & (fm_mask & 0x00FFFFFF)) != (fm_mask & 0x00FFFFFF))) || need_aem_color; const bool alpha_used = (GSUtil::GetChannelMask(m_context->TEX0.PSM) == 0x8 || (m_context->TEX0.TCC && texture_function_alpha)) && ((PRIM->ABE && IsUsingAsInBlend()) || (m_cached_ctx.TEST.ATE && m_cached_ctx.TEST.ATST > ATST_ALWAYS) || (possible_shuffle || (m_cached_ctx.FRAME.FBMSK & (fm_mask & 0xFF000000)) != (fm_mask & 0xFF000000))); const bool req_alpha = (GSUtil::GetChannelMask(m_context->TEX0.PSM) & 0x8) && alpha_used; @@ -2612,8 +2620,14 @@ void GSRendererHW::Draw() } } + // Urban Reign trolls by scissoring a draw to a target at 0x0-0x117F to 378x449 which ends up the size being rounded up to 640x480 + // causing the buffer to expand to around 0x1400, which makes a later framebuffer at 0x1180 to fail to be created correctly. + // We can cheese this by checking if the Z is masked and the resultant colour is going to be black anyway. + const bool output_black = PRIM->ABE && ((m_context->ALPHA.A == 1 && m_context->ALPHA.B == 0 && GetAlphaMinMax().min >= 128) || m_context->ALPHA.IsBlack()) && m_draw_env->COLCLAMP.CLAMP == 1; + const bool can_expand = !(m_cached_ctx.ZBUF.ZMSK && output_black); + // Estimate size based on the scissor rectangle and height cache. - const GSVector2i t_size = GetTargetSize(src); + const GSVector2i t_size = GetTargetSize(src, can_expand); const GSVector4i t_size_rect = GSVector4i::loadh(t_size); // Ensure draw rect is clamped to framebuffer size. Necessary for updating valid area. @@ -2722,7 +2736,7 @@ void GSRendererHW::Draw() } rt = g_texture_cache->CreateTarget(FRAME_TEX0, t_size, GetValidSize(src), (scale_draw < 0 && is_possible_mem_clear != ClearType::NormalClear) ? src->m_from_target->GetScale() : target_scale, GSTextureCache::RenderTarget, true, - fm, false, force_preload, preserve_rt_color | possible_shuffle, m_r, src); + fm, false, force_preload, preserve_rt_color || possible_shuffle, m_r, src); if (!rt) [[unlikely]] { GL_INS("ERROR: Failed to create FRAME target, skipping."); @@ -3406,24 +3420,24 @@ void GSRendererHW::Draw() if (GSConfig.SaveRT) { - s = GetDrawDumpPath("%05d_f%05lld_rt1_%05x_%s.bmp", s_n, frame, m_cached_ctx.FRAME.Block(), psm_str(m_cached_ctx.FRAME.PSM)); + s = GetDrawDumpPath("%05d_f%05lld_rt1_(%05x)_%s.bmp", s_n, frame, m_cached_ctx.FRAME.Block(), psm_str(m_cached_ctx.FRAME.PSM)); - if (rt) - rt->m_texture->Save(s); + rt->m_texture->Save(s); } if (GSConfig.SaveDepth) { - s = GetDrawDumpPath("%05d_f%05lld_rz1_%05x_%s.bmp", s_n, frame, m_cached_ctx.ZBUF.Block(), psm_str(m_cached_ctx.ZBUF.PSM)); + s = GetDrawDumpPath("%05d_f%05lld_rz1_(%05x)_%s.bmp", s_n, frame, m_cached_ctx.ZBUF.Block(), psm_str(m_cached_ctx.ZBUF.PSM)); - if (ds) - ds->m_texture->Save(s); + ds->m_texture->Save(s); } } if (rt) rt->m_last_draw = s_n; + if (ds) + ds->m_last_draw = s_n; #ifdef DISABLE_HW_TEXTURE_CACHE if (rt) g_texture_cache->Read(rt, real_rect); @@ -7267,7 +7281,8 @@ bool GSRendererHW::IsDiscardingDstRGB() bool GSRendererHW::IsDiscardingDstAlpha() const { return ((!PRIM->ABE || m_context->ALPHA.C != 1) && // not using Ad - ((m_cached_ctx.FRAME.FBMSK & GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].fmsk) & 0xFF000000u) == 0); // alpha isn't masked + ((m_cached_ctx.FRAME.FBMSK & GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].fmsk) & 0xFF000000u) == 0) && // alpha isn't masked + (!m_cached_ctx.TEST.ATE || !(m_cached_ctx.TEST.ATST == ATST_NEVER && m_cached_ctx.TEST.AFAIL == AFAIL_RGB_ONLY && m_cached_ctx.FRAME.PSM == PSMCT32)); // No alpha test or no rbg only } // Like PrimitiveCoversWithoutGaps but with texture coordinates. @@ -7401,9 +7416,10 @@ ClearType GSRendererHW::IsConstantDirectWriteMemClear() && !(m_draw_env->SCANMSK.MSK & 2) && !m_cached_ctx.TEST.ATE // no alpha test && !m_cached_ctx.TEST.DATE // no destination alpha test && (!m_cached_ctx.TEST.ZTE || m_cached_ctx.TEST.ZTST == ZTST_ALWAYS) // no depth test - && (m_vt.m_eq.rgba == 0xFFFF || m_vertex.next == 2)) // constant color write + && (m_vt.m_eq.rgba == 0xFFFF || m_vertex.next == 2) // constant color write + && (!PRIM->FGE || m_vt.m_min.p.w == 255.0f)) // No fog effect { - if (PRIM->ABE && (!m_context->ALPHA.IsOpaque() || m_cached_ctx.FRAME.FBMSK)) + if ((PRIM->ABE && !m_context->ALPHA.IsOpaque()) || (m_cached_ctx.FRAME.FBMSK & GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].fmsk)) return ClearWithDraw; return NormalClear; diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.h b/pcsx2/GS/Renderers/HW/GSRendererHW.h index 1ed0d96d92cb0..02dce7ece7759 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.h +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -214,7 +214,7 @@ class GSRendererHW : public GSRenderer void MergeSprite(GSTextureCache::Source* tex); float GetTextureScaleFactor() override; GSVector2i GetValidSize(const GSTextureCache::Source* tex = nullptr); - GSVector2i GetTargetSize(const GSTextureCache::Source* tex = nullptr); + GSVector2i GetTargetSize(const GSTextureCache::Source* tex = nullptr, const bool can_expand = true); void Reset(bool hardware_reset) override; void UpdateSettings(const Pcsx2Config::GSOptions& old_config) override; diff --git a/pcsx2/GS/Renderers/HW/GSRendererHWMultiISA.cpp b/pcsx2/GS/Renderers/HW/GSRendererHWMultiISA.cpp index 267b943222ed9..fe69653a31119 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHWMultiISA.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHWMultiISA.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSRendererHW.h" diff --git a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp index 25a7df769a28d..ffcc7b14169b6 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp +++ b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSTextureCache.h" @@ -2569,7 +2569,7 @@ bool GSTextureCache::PreloadTarget(GIFRegTEX0 TEX0, const GSVector2i& size, cons { const GSVector4i save_rect = preserve_target ? newrect : eerect; - if(!hw_clear) + if (!hw_clear) dst->UpdateValidity(save_rect); GL_INS("Preloading the RT DATA from updated GS Memory"); AddDirtyRectTarget(dst, save_rect, TEX0.PSM, TEX0.TBW, rgba, GSLocalMemory::m_psm[TEX0.PSM].trbpp >= 16); @@ -2605,12 +2605,14 @@ bool GSTextureCache::PreloadTarget(GIFRegTEX0 TEX0, const GSVector2i& size, cons auto j = i; Target* t = *j; - if (dst != t && t->m_TEX0.TBW == dst->m_TEX0.TBW && t->m_TEX0.PSM == dst->m_TEX0.PSM && t->m_TEX0.TBW > 4) + if (dst != t && t->m_TEX0.PSM == dst->m_TEX0.PSM/* && t->m_TEX0.TBW == dst->m_TEX0.TBW*/) if (t->Overlaps(dst->m_TEX0.TBP0, dst->m_TEX0.TBW, dst->m_TEX0.PSM, dst->m_valid)) { + const u32 buffer_width = std::max(1U, dst->m_TEX0.TBW); + // If the two targets are misaligned, it's likely a relocation, so we can just kill the old target. // Kill targets that are overlapping new targets, but ignore the copy if the old target is dirty because we favour GS memory. - if (((((t->m_TEX0.TBP0 - dst->m_TEX0.TBP0) >> 5) % dst->m_TEX0.TBW) != 0) && !t->m_dirty.empty()) + if (((((t->m_TEX0.TBP0 - dst->m_TEX0.TBP0) >> 5) % buffer_width) != 0) && !t->m_dirty.empty()) { InvalidateSourcesFromTarget(t); i = list.erase(j); @@ -2629,64 +2631,84 @@ bool GSTextureCache::PreloadTarget(GIFRegTEX0 TEX0, const GSVector2i& size, cons return hw_clear.value_or(false); } // The new texture is behind it but engulfs the whole thing, shrink the new target so it grows in the HW Draw resize. - else if (dst->m_TEX0.TBP0 < t->m_TEX0.TBP0 && (dst->UnwrappedEndBlock() + 1) > t->m_TEX0.TBP0 && dst->m_TEX0.TBP0 < (t->UnwrappedEndBlock() + 1)) + else if (dst->m_TEX0.TBP0 < t->m_TEX0.TBP0 && (dst->UnwrappedEndBlock() + 1) > t->m_TEX0.TBP0) { const int rt_pages = ((t->UnwrappedEndBlock() + 1) - t->m_TEX0.TBP0) >> 5; const int overlapping_pages = std::min(rt_pages, static_cast((dst->UnwrappedEndBlock() + 1) - t->m_TEX0.TBP0) >> 5); - const int overlapping_pages_height = (overlapping_pages / dst->m_TEX0.TBW) * GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.y; + const int overlapping_pages_height = ((overlapping_pages + (buffer_width - 1)) / buffer_width) * GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.y; - if (overlapping_pages_height == 0 || (overlapping_pages % dst->m_TEX0.TBW)) + if (overlapping_pages_height == 0 || (overlapping_pages % buffer_width)) { // No overlap top copy or the widths don't match. i++; continue; } - const int dst_offset_width = (((t->m_TEX0.TBP0 - dst->m_TEX0.TBP0) >> 5) % dst->m_TEX0.TBW) * GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.x; - const int dst_offset_height = ((((t->m_TEX0.TBP0 - dst->m_TEX0.TBP0) >> 5) / dst->m_TEX0.TBW) * GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.y); + const int dst_offset_height = ((((t->m_TEX0.TBP0 - dst->m_TEX0.TBP0) >> 5) / buffer_width) * GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.y); + const int texture_height = (dst->m_TEX0.TBW == t->m_TEX0.TBW) ? (dst_offset_height + t->m_valid.w) : (dst_offset_height + overlapping_pages_height); + + if (texture_height > dst->m_unscaled_size.y && !dst->ResizeTexture(dst->m_unscaled_size.x, texture_height, true)) + { + // Resize failed, probably ran out of VRAM, better luck next time. Fall back to CPU. + DevCon.Warning("Failed to resize target on preload? Draw %d", GSState::s_n); + i++; + continue; + } + + const int dst_offset_width = (((t->m_TEX0.TBP0 - dst->m_TEX0.TBP0) >> 5) % buffer_width) * GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.x; const int dst_offset_scaled_width = dst_offset_width * dst->m_scale; const int dst_offset_scaled_height = dst_offset_height * dst->m_scale; - const GSVector4i dst_rect_scale = GSVector4i(t->m_valid.x, dst_offset_height, t->m_valid.z, dst_offset_height + overlapping_pages_height); + const GSVector4i dst_rect_scale = GSVector4i(t->m_valid.x, dst_offset_height, t->m_valid.z, texture_height); + if (((!hw_clear && (preserve_target || preload)) || dst_rect_scale.rintersect(draw_rect).rempty()) && dst->GetScale() == t->GetScale()) { - const int copy_width = ((t->m_texture->GetWidth()) > (dst->m_texture->GetWidth()) ? (dst->m_texture->GetWidth()) : t->m_texture->GetWidth()) - dst_offset_scaled_width; - const int copy_height = overlapping_pages_height * t->m_scale; + int copy_width = ((t->m_texture->GetWidth()) > (dst->m_texture->GetWidth()) ? (dst->m_texture->GetWidth()) : t->m_texture->GetWidth()) - dst_offset_scaled_width; + int copy_height = (texture_height - dst_offset_height) * t->m_scale; GL_INS("RT double buffer copy from FBP 0x%x, %dx%d => %d,%d", t->m_TEX0.TBP0, copy_width, copy_height, 0, dst_offset_scaled_height); // Clear the dirty first t->Update(); dst->Update(); + + // Clamp it if it gets too small, shouldn't happen but stranger things have happened. + if (copy_width < 0) + { + copy_width = 0; + } + // Invalidate has been moved to after DrawPrims(), because we might kill the current sources' backing. if (!t->m_valid_rgb || !(t->m_valid_alpha_high || t->m_valid_alpha_low) || t->m_scale != dst->m_scale) { const GSVector4 src_rect = GSVector4(0, 0, copy_width, copy_height) / (GSVector4(t->m_texture->GetSize()).xyxy()); - const GSVector4 dst_rect = GSVector4(dst_offset_scaled_width, dst_offset_scaled_height, dst_offset_scaled_width + copy_width, dst_offset_scaled_width + copy_height); + const GSVector4 dst_rect = GSVector4(dst_offset_scaled_width, dst_offset_scaled_height, dst_offset_scaled_width + copy_width, dst_offset_scaled_height + copy_height); g_gs_device->StretchRect(t->m_texture, src_rect, dst->m_texture, dst_rect, t->m_valid_rgb, t->m_valid_rgb, t->m_valid_rgb, t->m_valid_alpha_high || t->m_valid_alpha_low); } else { - // Invalidate has been moved to after DrawPrims(), because we might kill the current sources' backing. + if ((copy_width + dst_offset_scaled_width) > (dst->m_unscaled_size.x * dst->m_scale) || (copy_height + dst_offset_scaled_height) > (dst->m_unscaled_size.y * dst->m_scale)) + { + copy_width = std::min(copy_width, static_cast((dst->m_unscaled_size.x * dst->m_scale) - dst_offset_scaled_width)); + copy_height = std::min(copy_height, static_cast((dst->m_unscaled_size.y * dst->m_scale) - dst_offset_scaled_height)); + } + g_gs_device->CopyRect(t->m_texture, dst->m_texture, GSVector4i(0, 0, copy_width, copy_height), dst_offset_scaled_width, dst_offset_scaled_height); } } - if ((overlapping_pages < rt_pages) || (src && src->m_target && src->m_from_target == t)) - { - // This should never happen as we're making a new target so the src should never be something it overlaps, but just incase.. - GSVector4i new_valid = t->m_valid; - new_valid.y = std::max(new_valid.y - overlapping_pages_height, 0); - new_valid.w = std::max(new_valid.w - overlapping_pages_height, 0); - t->m_TEX0.TBP0 += (overlapping_pages_height / GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.y) << 5; - t->ResizeValidity(new_valid); - } - else + // src is using this target, so point it at the new copy. + if (src && src->m_target && src->m_from_target == t) { - InvalidateSourcesFromTarget(t); - i = list.erase(j); - delete t; + src->m_from_target = dst; + src->m_texture = dst->m_texture; + src->m_region.SetY(src->m_region.GetMinY() + dst_offset_height, src->m_region.GetMaxY() + dst_offset_height); + src->m_region.SetX(src->m_region.GetMinX() + dst_offset_width, src->m_region.GetMaxX() + dst_offset_width); } - return hw_clear.value_or(false); + + InvalidateSourcesFromTarget(t); + i = list.erase(j); + delete t; + continue; } } i++; @@ -3736,6 +3758,19 @@ bool GSTextureCache::Move(u32 SBP, u32 SBW, u32 SPSM, int sx, int sy, u32 DBP, u if (alpha_only && (!dst || GSLocalMemory::m_psm[dst->m_TEX0.PSM].bpp != 32)) return false; + // Beware of the case where a game might create a larger texture by moving a bunch of chunks around. + if (dst && DBP == SBP && dy > dst->m_unscaled_size.y) + { + const u32 new_DBP = DBP + (((dy / GSLocalMemory::m_psm[dst->m_TEX0.PSM].pgs.y) * DBW) << 5); + + dst = nullptr; + + DBP = new_DBP; + dy = 0; + + dst = GetExactTarget(DBP, DBW, dpsm_s.depth ? DepthStencil : RenderTarget, DBP); + } + // Beware of the case where a game might create a larger texture by moving a bunch of chunks around. // We use dx/dy == 0 and the TBW check as a safeguard to make sure these go through to local memory. // We can also recreate the target if it's previously been created in the height cache with a valid size. @@ -4182,7 +4217,7 @@ GSTextureCache::Target* GSTextureCache::FindOverlappingTarget(u32 BP, u32 BW, u3 return FindOverlappingTarget(BP, end_bp); } -GSVector2i GSTextureCache::GetTargetSize(u32 bp, u32 fbw, u32 psm, s32 min_width, s32 min_height) +GSVector2i GSTextureCache::GetTargetSize(u32 bp, u32 fbw, u32 psm, s32 min_width, s32 min_height, bool can_expand) { TargetHeightElem search = {}; search.bp = bp; @@ -4196,14 +4231,17 @@ GSVector2i GSTextureCache::GetTargetSize(u32 bp, u32 fbw, u32 psm, s32 min_width TargetHeightElem& elem = const_cast(*it); if (elem.bits == search.bits) { - if (elem.width < min_width || elem.height < min_height) + if (can_expand) { - DbgCon.WriteLn("Expand size at %x %u %u from %ux%u to %ux%u", bp, fbw, psm, elem.width, elem.height, - min_width, min_height); - } + if (elem.width < min_width || elem.height < min_height) + { + DbgCon.WriteLn("Expand size at %x %u %u from %ux%u to %ux%u", bp, fbw, psm, elem.width, elem.height, + min_width, min_height); + } - elem.width = std::max(elem.width, min_width); - elem.height = std::max(elem.height, min_height); + elem.width = std::max(elem.width, min_width); + elem.height = std::max(elem.height, min_height); + } m_target_heights.MoveFront(it.Index()); elem.age = 0; @@ -4211,7 +4249,7 @@ GSVector2i GSTextureCache::GetTargetSize(u32 bp, u32 fbw, u32 psm, s32 min_width } } - DbgCon.WriteLn("New size at %x %u %u: %ux%u", bp, fbw, psm, min_width, min_height); + DbgCon.WriteLn("New size at %x %u %u: %ux%u draw %d", bp, fbw, psm, min_width, min_height, GSState::s_n); m_target_heights.push_front(search); return GSVector2i(min_width, min_height); } diff --git a/pcsx2/GS/Renderers/HW/GSTextureCache.h b/pcsx2/GS/Renderers/HW/GSTextureCache.h index c2551f4b399d2..3ee9f925b0aaa 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureCache.h +++ b/pcsx2/GS/Renderers/HW/GSTextureCache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -504,7 +504,7 @@ class GSTextureCache Target* FindOverlappingTarget(u32 BP, u32 end_bp) const; Target* FindOverlappingTarget(u32 BP, u32 BW, u32 PSM, GSVector4i rc) const; - GSVector2i GetTargetSize(u32 bp, u32 fbw, u32 psm, s32 min_width, s32 min_height); + GSVector2i GetTargetSize(u32 bp, u32 fbw, u32 psm, s32 min_width, s32 min_height, bool can_expand = true); bool HasTargetInHeightCache(u32 bp, u32 fbw, u32 psm, u32 max_age = std::numeric_limits::max(), bool move_front = true); bool Has32BitTarget(u32 bp); diff --git a/pcsx2/GS/Renderers/HW/GSTextureReplacementLoaders.cpp b/pcsx2/GS/Renderers/HW/GSTextureReplacementLoaders.cpp index cdfa73a4fe27b..e94a4e67cd8d0 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureReplacementLoaders.cpp +++ b/pcsx2/GS/Renderers/HW/GSTextureReplacementLoaders.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/BitUtils.h" diff --git a/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp b/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp index 3274d7dcbf876..a8d71bb151875 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp +++ b/pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/AlignedMalloc.h" diff --git a/pcsx2/GS/Renderers/HW/GSTextureReplacements.h b/pcsx2/GS/Renderers/HW/GSTextureReplacements.h index 26fd2de820fe1..f07c1d1a4c0b2 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureReplacements.h +++ b/pcsx2/GS/Renderers/HW/GSTextureReplacements.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/HW/GSVertexHW.h b/pcsx2/GS/Renderers/HW/GSVertexHW.h index 78d7f497fec10..a2add8925cf78 100644 --- a/pcsx2/GS/Renderers/HW/GSVertexHW.h +++ b/pcsx2/GS/Renderers/HW/GSVertexHW.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Metal/GSDeviceMTL.h b/pcsx2/GS/Renderers/Metal/GSDeviceMTL.h index 00adc83124a02..24dd039f6d6a3 100644 --- a/pcsx2/GS/Renderers/Metal/GSDeviceMTL.h +++ b/pcsx2/GS/Renderers/Metal/GSDeviceMTL.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm b/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm index 55d917368cbe9..aaf5bb7e01846 100644 --- a/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm +++ b/pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" @@ -2464,7 +2464,7 @@ static bool usesStencil(GSHWDrawConfig::DestinationAlphaMode dstalpha) simd::float2 fb_size = simd_float(last_scissor.zw); simd::float2 clip_off = ToSimd(data->DisplayPos); // (0,0) unless using multi-viewports simd::float2 clip_scale = ToSimd(data->FramebufferScale); // (1,1) unless using retina display which are often (2,2) - ImTextureID last_tex = nullptr; + ImTextureID last_tex = reinterpret_cast(nullptr); for (int i = 0; i < data->CmdListsCount; i++) { diff --git a/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.h b/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.h index 507fbe51449f1..de5c38a6248ff 100644 --- a/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.h +++ b/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.mm b/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.mm index 94a543c3d7ec6..c55d3c09e819a 100644 --- a/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.mm +++ b/pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.mm @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSMTLDeviceInfo.h" diff --git a/pcsx2/GS/Renderers/Metal/GSMTLShaderCommon.h b/pcsx2/GS/Renderers/Metal/GSMTLShaderCommon.h index 580857506d50a..25eaa5101d8d7 100644 --- a/pcsx2/GS/Renderers/Metal/GSMTLShaderCommon.h +++ b/pcsx2/GS/Renderers/Metal/GSMTLShaderCommon.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Metal/GSMTLSharedHeader.h b/pcsx2/GS/Renderers/Metal/GSMTLSharedHeader.h index 57a190577e399..26ccccf393dad 100644 --- a/pcsx2/GS/Renderers/Metal/GSMTLSharedHeader.h +++ b/pcsx2/GS/Renderers/Metal/GSMTLSharedHeader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Metal/GSMetalCPPAccessible.h b/pcsx2/GS/Renderers/Metal/GSMetalCPPAccessible.h index d37fbd0d91f8a..ac4dbbe7fe732 100644 --- a/pcsx2/GS/Renderers/Metal/GSMetalCPPAccessible.h +++ b/pcsx2/GS/Renderers/Metal/GSMetalCPPAccessible.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Metal/GSTextureMTL.h b/pcsx2/GS/Renderers/Metal/GSTextureMTL.h index 2447c89f7c506..d345a7287c5aa 100644 --- a/pcsx2/GS/Renderers/Metal/GSTextureMTL.h +++ b/pcsx2/GS/Renderers/Metal/GSTextureMTL.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Metal/GSTextureMTL.mm b/pcsx2/GS/Renderers/Metal/GSTextureMTL.mm index eff40bea1c792..aa1aa05d6006e 100644 --- a/pcsx2/GS/Renderers/Metal/GSTextureMTL.mm +++ b/pcsx2/GS/Renderers/Metal/GSTextureMTL.mm @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Metal/GSTextureMTL.h" diff --git a/pcsx2/GS/Renderers/Metal/cas.metal b/pcsx2/GS/Renderers/Metal/cas.metal index 01bbf45b76084..523ba119474e9 100644 --- a/pcsx2/GS/Renderers/Metal/cas.metal +++ b/pcsx2/GS/Renderers/Metal/cas.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define A_GPU 1 diff --git a/pcsx2/GS/Renderers/Metal/convert.metal b/pcsx2/GS/Renderers/Metal/convert.metal index 7ffddaec0a3dd..6c3aa84356255 100644 --- a/pcsx2/GS/Renderers/Metal/convert.metal +++ b/pcsx2/GS/Renderers/Metal/convert.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSMTLShaderCommon.h" diff --git a/pcsx2/GS/Renderers/Metal/fxaa.metal b/pcsx2/GS/Renderers/Metal/fxaa.metal index 357fa8e3a56e5..68c9a249f7f2a 100644 --- a/pcsx2/GS/Renderers/Metal/fxaa.metal +++ b/pcsx2/GS/Renderers/Metal/fxaa.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSMTLShaderCommon.h" diff --git a/pcsx2/GS/Renderers/Metal/interlace.metal b/pcsx2/GS/Renderers/Metal/interlace.metal index 02e52fd754e5c..fbe2ffbdfe29a 100644 --- a/pcsx2/GS/Renderers/Metal/interlace.metal +++ b/pcsx2/GS/Renderers/Metal/interlace.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSMTLShaderCommon.h" diff --git a/pcsx2/GS/Renderers/Metal/merge.metal b/pcsx2/GS/Renderers/Metal/merge.metal index 08e0464ed2b3b..f579cccf657bf 100644 --- a/pcsx2/GS/Renderers/Metal/merge.metal +++ b/pcsx2/GS/Renderers/Metal/merge.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSMTLShaderCommon.h" diff --git a/pcsx2/GS/Renderers/Metal/misc.metal b/pcsx2/GS/Renderers/Metal/misc.metal index 7ff171a7d6592..70b4d5336eb69 100644 --- a/pcsx2/GS/Renderers/Metal/misc.metal +++ b/pcsx2/GS/Renderers/Metal/misc.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ kernel void waste_time(constant uint& cycles [[buffer(0)]], device uint* spin [[buffer(1)]]) diff --git a/pcsx2/GS/Renderers/Metal/present.metal b/pcsx2/GS/Renderers/Metal/present.metal index b8ddb071f0a6f..30e86d271c541 100644 --- a/pcsx2/GS/Renderers/Metal/present.metal +++ b/pcsx2/GS/Renderers/Metal/present.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSMTLShaderCommon.h" diff --git a/pcsx2/GS/Renderers/Metal/tfx.metal b/pcsx2/GS/Renderers/Metal/tfx.metal index a13c6cdb30c0c..b7c2f99c1cd5d 100644 --- a/pcsx2/GS/Renderers/Metal/tfx.metal +++ b/pcsx2/GS/Renderers/Metal/tfx.metal @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSMTLShaderCommon.h" diff --git a/pcsx2/GS/Renderers/Null/GSRendererNull.cpp b/pcsx2/GS/Renderers/Null/GSRendererNull.cpp index b581d4a200173..eb0aba5f5eaf7 100644 --- a/pcsx2/GS/Renderers/Null/GSRendererNull.cpp +++ b/pcsx2/GS/Renderers/Null/GSRendererNull.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSRendererNull.h" diff --git a/pcsx2/GS/Renderers/Null/GSRendererNull.h b/pcsx2/GS/Renderers/Null/GSRendererNull.h index 277c603afa78b..9c5b0dcb8796c 100644 --- a/pcsx2/GS/Renderers/Null/GSRendererNull.h +++ b/pcsx2/GS/Renderers/Null/GSRendererNull.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLContext.cpp b/pcsx2/GS/Renderers/OpenGL/GLContext.cpp index bced545ad4121..c30d1fa1f7188 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContext.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLContext.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLContext.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLContext.h b/pcsx2/GS/Renderers/OpenGL/GLContext.h index a94887349c168..2c875ccf7d38e 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContext.h +++ b/pcsx2/GS/Renderers/OpenGL/GLContext.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextEGL.cpp b/pcsx2/GS/Renderers/OpenGL/GLContextEGL.cpp index fd6fc04d2273a..ac1f194197b77 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextEGL.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLContextEGL.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLContextEGL.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextEGL.h b/pcsx2/GS/Renderers/OpenGL/GLContextEGL.h index b5965ddfcf24f..e474968857e34 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextEGL.h +++ b/pcsx2/GS/Renderers/OpenGL/GLContextEGL.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.cpp b/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.cpp index 5e730dab9ec5b..45be22eeb5f21 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLContextEGLWayland.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.h b/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.h index f27fa6b541297..b7e5a7eb6adc7 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.h +++ b/pcsx2/GS/Renderers/OpenGL/GLContextEGLWayland.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.cpp b/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.cpp index dbc8d80bf0456..0264c2539f1f9 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLContextEGLX11.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.h b/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.h index 524a55d58dadb..7bbd5b93bf8c8 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.h +++ b/pcsx2/GS/Renderers/OpenGL/GLContextEGLX11.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextWGL.cpp b/pcsx2/GS/Renderers/OpenGL/GLContextWGL.cpp index 09ecc0bd7b8c4..2236daa8ad8da 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextWGL.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLContextWGL.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLContextWGL.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLContextWGL.h b/pcsx2/GS/Renderers/OpenGL/GLContextWGL.h index 2115bf82b29eb..8b31ced7ec7d2 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLContextWGL.h +++ b/pcsx2/GS/Renderers/OpenGL/GLContextWGL.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLProgram.cpp b/pcsx2/GS/Renderers/OpenGL/GLProgram.cpp index b4fbb26bc0cb1..2d3b2dcc370c8 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLProgram.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLProgram.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Config.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLProgram.h b/pcsx2/GS/Renderers/OpenGL/GLProgram.h index 5f42de4376ef1..71211be2c8163 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLProgram.h +++ b/pcsx2/GS/Renderers/OpenGL/GLProgram.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLShaderCache.cpp b/pcsx2/GS/Renderers/OpenGL/GLShaderCache.cpp index e829afa9bdaca..f89beedd9c398 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLShaderCache.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLShaderCache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLShaderCache.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLShaderCache.h b/pcsx2/GS/Renderers/OpenGL/GLShaderCache.h index 350194dc5effc..f2e8d3dda29f8 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLShaderCache.h +++ b/pcsx2/GS/Renderers/OpenGL/GLShaderCache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLState.cpp b/pcsx2/GS/Renderers/OpenGL/GLState.cpp index 93f4582da6fd5..2fd71ebcda144 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLState.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLState.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GLState.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLState.h b/pcsx2/GS/Renderers/OpenGL/GLState.h index 9c925741b4d3e..f524851d262df 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLState.h +++ b/pcsx2/GS/Renderers/OpenGL/GLState.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.cpp b/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.cpp index dda3f55cdb952..0271500956220 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLStreamBuffer.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.h b/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.h index f58f1d014ee6c..3da57e125eaa8 100644 --- a/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.h +++ b/pcsx2/GS/Renderers/OpenGL/GLStreamBuffer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp b/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp index bbfde82f5dc45..91989e7a05cd8 100644 --- a/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GLContext.h" @@ -170,13 +170,13 @@ bool GSDeviceOGL::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) m_gl_context = GLContext::Create(m_window_info, &error); if (!m_gl_context) { - Console.ErrorFmt("Failed to create any GL context: {}", error.GetDescription()); + Console.ErrorFmt("GL: Failed to create any context: {}", error.GetDescription()); return false; } if (!m_gl_context->MakeCurrent()) { - Console.Error("Failed to make GL context current"); + Console.Error("GL: Failed to make context current"); return false; } @@ -196,11 +196,11 @@ bool GSDeviceOGL::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) if (!GSConfig.DisableShaderCache) { if (!m_shader_cache.Open()) - Console.Warning("Shader cache failed to open."); + Console.Warning("GL: Shader cache failed to open."); } else { - Console.WriteLn("Not using shader cache."); + Console.WriteLn("GL: Not using shader cache."); } // because of fbo bindings below... @@ -544,7 +544,7 @@ bool GSDeviceOGL::Create(GSVSyncMode vsync_mode, bool allow_present_throttle) } else { - Console.Error("Failed to create texture upload buffer. Using slow path."); + Console.Error("GL: Failed to create texture upload buffer. Using slow path."); } } @@ -617,17 +617,17 @@ bool GSDeviceOGL::CheckFeatures(bool& buggy_pbo) if (std::strstr(vendor, "Advanced Micro Devices") || std::strstr(vendor, "ATI Technologies Inc.") || std::strstr(vendor, "ATI")) { - Console.WriteLn(Color_StrongRed, "OGL: AMD GPU detected."); + Console.WriteLn(Color_StrongRed, "GL: AMD GPU detected."); //vendor_id_amd = true; } else if (std::strstr(vendor, "NVIDIA Corporation")) { - Console.WriteLn(Color_StrongGreen, "OGL: NVIDIA GPU detected."); + Console.WriteLn(Color_StrongGreen, "GL: NVIDIA GPU detected."); vendor_id_nvidia = true; } else if (std::strstr(vendor, "Intel")) { - Console.WriteLn(Color_StrongBlue, "OGL: Intel GPU detected."); + Console.WriteLn(Color_StrongBlue, "GL: Intel GPU detected."); //vendor_id_intel = true; } @@ -706,13 +706,13 @@ bool GSDeviceOGL::CheckFeatures(bool& buggy_pbo) // using the normal texture update routines and letting the driver take care of it. buggy_pbo = !GLAD_GL_VERSION_4_4 && !GLAD_GL_ARB_buffer_storage && !GLAD_GL_EXT_buffer_storage; if (buggy_pbo) - Console.Warning("Not using PBOs for texture uploads because buffer_storage is unavailable."); + Console.Warning("GL: Not using PBOs for texture uploads because buffer_storage is unavailable."); // Give the user the option to disable PBO usage for downloads. // Most drivers seem to be faster with PBO. m_disable_download_pbo = Host::GetBoolSettingValue("EmuCore/GS", "DisableGLDownloadPBO", false); if (m_disable_download_pbo) - Console.Warning("Not using PBOs for texture downloads, this may reduce performance."); + Console.Warning("GL: Not using PBOs for texture downloads, this may reduce performance."); // optional features based on context m_features.broken_point_sampler = false; @@ -751,7 +751,7 @@ bool GSDeviceOGL::CheckFeatures(bool& buggy_pbo) const bool buggy_vs_expand = vendor_id_nvidia && (!GLAD_GL_ARB_bindless_texture && !GLAD_GL_NV_bindless_texture); if (buggy_vs_expand) - Console.Warning("Disabling vertex shader expand due to broken NVIDIA driver."); + Console.Warning("GL: Disabling vertex shader expand due to broken NVIDIA driver."); if (GLAD_GL_ARB_shader_storage_buffer_object) { @@ -762,7 +762,7 @@ bool GSDeviceOGL::CheckFeatures(bool& buggy_pbo) GLAD_GL_ARB_gpu_shader5); } if (!m_features.vs_expand) - Console.Warning("Vertex expansion is not supported. This will reduce performance."); + Console.Warning("GL: Vertex expansion is not supported. This will reduce performance."); GLint point_range[2] = {}; glGetIntegerv(GL_ALIASED_POINT_SIZE_RANGE, point_range); @@ -774,7 +774,7 @@ bool GSDeviceOGL::CheckFeatures(bool& buggy_pbo) glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size); m_max_texture_size = std::max(1024u, static_cast(max_texture_size)); - Console.WriteLn("Using %s for point expansion, %s for line expansion and %s for sprite expansion.", + Console.WriteLn("GL: Using %s for point expansion, %s for line expansion and %s for sprite expansion.", m_features.point_expand ? "hardware" : (m_features.vs_expand ? "vertex expanding" : "UNSUPPORTED"), m_features.line_expand ? "hardware" : (m_features.vs_expand ? "vertex expanding" : "UNSUPPORTED"), m_features.vs_expand ? "vertex expanding" : "CPU"); @@ -798,7 +798,7 @@ void GSDeviceOGL::SetSwapInterval() glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); if (!m_gl_context->SetSwapInterval(interval)) - WARNING_LOG("Failed to set swap interval to {}", interval); + WARNING_LOG("GL: Failed to set swap interval to {}", interval); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current_fbo); } @@ -881,7 +881,7 @@ bool GSDeviceOGL::UpdateWindow() if (!m_gl_context->ChangeSurface(m_window_info)) { - Console.Error("Failed to change surface"); + Console.Error("GL: Failed to change surface"); return false; } @@ -920,7 +920,7 @@ void GSDeviceOGL::DestroySurface() { m_window_info = {}; if (!m_gl_context->ChangeSurface(m_window_info)) - Console.Error("Failed to switch to surfaceless"); + Console.Error("GL: Failed to switch to surfaceless"); } std::string GSDeviceOGL::GetDriverInfo() const @@ -1336,7 +1336,7 @@ std::string GSDeviceOGL::GenGlslHeader(const std::string_view entry, GLenum type std::string GSDeviceOGL::GetVSSource(VSSelector sel) { - DevCon.WriteLn("Compiling new vertex shader with selector 0x%" PRIX64, sel.key); + DevCon.WriteLn("GL: Compiling new vertex shader with selector 0x%" PRIX64, sel.key); std::string macro = fmt::format("#define VS_FST {}\n", static_cast(sel.fst)) + fmt::format("#define VS_IIP {}\n", static_cast(sel.iip)) @@ -1350,7 +1350,7 @@ std::string GSDeviceOGL::GetVSSource(VSSelector sel) std::string GSDeviceOGL::GetPSSource(const PSSelector& sel) { - DevCon.WriteLn("Compiling new pixel shader with selector 0x%" PRIX64 "%08X", sel.key_hi, sel.key_lo); + DevCon.WriteLn("GL: Compiling new pixel shader with selector 0x%" PRIX64 "%08X", sel.key_hi, sel.key_lo); std::string macro = fmt::format("#define PS_FST {}\n", sel.fst) + fmt::format("#define PS_WMS {}\n", sel.wms) @@ -1834,7 +1834,7 @@ bool GSDeviceOGL::CompileFXAAProgram() const std::optional shader = ReadShaderSource("shaders/common/fxaa.fx"); if (!shader.has_value()) { - Console.Error("Failed to read fxaa.fs"); + Console.Error("GL: Failed to read fxaa.fs"); return false; } @@ -1842,7 +1842,7 @@ bool GSDeviceOGL::CompileFXAAProgram() std::optional prog = m_shader_cache.GetProgram(m_convert.vs, ps); if (!prog.has_value()) { - Console.Error("Failed to compile FXAA fragment shader"); + Console.Error("GL: Failed to compile FXAA fragment shader"); return false; } @@ -2065,7 +2065,7 @@ bool GSDeviceOGL::CreateImGuiProgram() const std::optional glsl = ReadShaderSource("shaders/opengl/imgui.glsl"); if (!glsl.has_value()) { - Console.Error("Failed to read imgui.glsl"); + Console.Error("GL: Failed to read imgui.glsl"); return false; } @@ -2074,7 +2074,7 @@ bool GSDeviceOGL::CreateImGuiProgram() GetShaderSource("ps_main", GL_FRAGMENT_SHADER, glsl.value())); if (!prog.has_value()) { - Console.Error("Failed to compile imgui shaders"); + Console.Error("GL: Failed to compile imgui shaders"); return false; } @@ -2166,7 +2166,7 @@ void GSDeviceOGL::RenderImGui() } // Since we don't have the GSTexture... - const GLuint texture_id = static_cast(reinterpret_cast(pcmd->GetTexID())); + const GLuint texture_id = static_cast(pcmd->GetTexID()); if (GLState::tex_unit[0] != texture_id) { GLState::tex_unit[0] = texture_id; diff --git a/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.h b/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.h index 31c60d48c5ffe..ebb36bd9bae58 100644 --- a/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.h +++ b/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.cpp b/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.cpp index f67f7c0896569..238ad16ea8e76 100644 --- a/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/OpenGL/GSDeviceOGL.h" diff --git a/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.h b/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.h index 8dcffa4d473f9..9eedb41fa9a55 100644 --- a/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.h +++ b/pcsx2/GS/Renderers/OpenGL/GSTextureOGL.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSDrawScanline.cpp b/pcsx2/GS/Renderers/SW/GSDrawScanline.cpp index e6fa605090eb8..b63a9b81c960c 100644 --- a/pcsx2/GS/Renderers/SW/GSDrawScanline.cpp +++ b/pcsx2/GS/Renderers/SW/GSDrawScanline.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/SW/GSDrawScanline.h" diff --git a/pcsx2/GS/Renderers/SW/GSDrawScanline.h b/pcsx2/GS/Renderers/SW/GSDrawScanline.h index 89c5bdc90f411..bc54db592793d 100644 --- a/pcsx2/GS/Renderers/SW/GSDrawScanline.h +++ b/pcsx2/GS/Renderers/SW/GSDrawScanline.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.cpp b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.cpp index 59669f98a95ad..64116610a5a8d 100644 --- a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.cpp +++ b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSDrawScanlineCodeGenerator.all.h" diff --git a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.h b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.h index 5256a8c982a1d..575552a7ede30 100644 --- a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.h +++ b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.all.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.cpp b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.cpp index e95699932760d..2da975785c138 100644 --- a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.cpp +++ b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #include "GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.h" diff --git a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.h b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.h index dab68b879b726..8edb9c2946379 100644 --- a/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.h +++ b/pcsx2/GS/Renderers/SW/GSDrawScanlineCodeGenerator.arm64.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSNewCodeGenerator.h b/pcsx2/GS/Renderers/SW/GSNewCodeGenerator.h index d23c713a28e01..b1f4d138de978 100644 --- a/pcsx2/GS/Renderers/SW/GSNewCodeGenerator.h +++ b/pcsx2/GS/Renderers/SW/GSNewCodeGenerator.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSRasterizer.cpp b/pcsx2/GS/Renderers/SW/GSRasterizer.cpp index dda8409316ecd..25f77a98aa3bd 100644 --- a/pcsx2/GS/Renderers/SW/GSRasterizer.cpp +++ b/pcsx2/GS/Renderers/SW/GSRasterizer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // TODO: JIT Draw* (flags: depth, texture, color (+iip), scissor) diff --git a/pcsx2/GS/Renderers/SW/GSRasterizer.h b/pcsx2/GS/Renderers/SW/GSRasterizer.h index 7b8744261998f..b36e605ebb993 100644 --- a/pcsx2/GS/Renderers/SW/GSRasterizer.h +++ b/pcsx2/GS/Renderers/SW/GSRasterizer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSRendererSW.cpp b/pcsx2/GS/Renderers/SW/GSRendererSW.cpp index 94ebb73073580..4114b504d3cbb 100644 --- a/pcsx2/GS/Renderers/SW/GSRendererSW.cpp +++ b/pcsx2/GS/Renderers/SW/GSRendererSW.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/SW/GSRendererSW.h" @@ -179,7 +179,7 @@ GSTexture* GSRendererSW::GetOutput(int i, float& scale, int& y_offset) m_texture[index]->Update(out_r, m_output, pitch); - if (GSConfig.ShouldDump(s_n, g_perfmon.GetFrame()) && GSConfig.SaveFrame) + if (GSConfig.SaveFrame && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) { m_texture[index]->Save(GetDrawDumpPath("%05d_f%05lld_fr%d_%05x_%s.bmp", s_n, g_perfmon.GetFrame(), i, (int)curFramebuffer.Block(), psm_str(curFramebuffer.PSM))); } @@ -309,10 +309,12 @@ void GSRendererSW::Draw() { const GSDrawingContext* context = m_context; - if (GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) + if (GSConfig.SaveInfo && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) { + std::string s; + // Dump Register state - std::string s = GetDrawDumpPath("%05d_context.txt", s_n); + s = GetDrawDumpPath("%05d_context.txt", s_n); m_draw_env->Dump(s); m_context->Dump(s); @@ -1533,18 +1535,22 @@ void GSRendererSW::SharedData::UpdateSource() if (GSConfig.SaveTexture && GSConfig.ShouldDump(s_n, g_perfmon.GetFrame())) { + const u64 frame = g_perfmon.GetFrame(); + + std::string s; + for (size_t i = 0; m_tex[i].t; i++) { const GIFRegTEX0& TEX0 = g_gs_renderer->GetTex0Layer(i); - std::string s = GetDrawDumpPath("%05d_f%05lld_itex%d_%05x_%s.bmp", g_gs_renderer->s_n, g_perfmon.GetFrame(), i, TEX0.TBP0, psm_str(TEX0.PSM)); + s = GetDrawDumpPath("%05d_f%05lld_itex%d_%05x_%s.bmp", g_gs_renderer->s_n, frame, i, TEX0.TBP0, psm_str(TEX0.PSM)); m_tex[i].t->Save(s); } if (global.clut) { - std::string s = GetDrawDumpPath("%05d_f%05lld_itexp_%05x_%s.bmp", g_gs_renderer->s_n, g_perfmon.GetFrame(), (int)g_gs_renderer->m_context->TEX0.CBP, psm_str(g_gs_renderer->m_context->TEX0.CPSM)); + s = GetDrawDumpPath("%05d_f%05lld_itexp_%05x_%s.bmp", g_gs_renderer->s_n, frame, (int)g_gs_renderer->m_context->TEX0.CBP, psm_str(g_gs_renderer->m_context->TEX0.CPSM)); GSPng::Save((IsDevBuild || GSConfig.SaveAlpha) ? GSPng::RGB_A_PNG : GSPng::RGB_PNG, s, reinterpret_cast(global.clut), 256, 1, sizeof(u32) * 256, GSConfig.PNGCompressionLevel, false); } } diff --git a/pcsx2/GS/Renderers/SW/GSRendererSW.h b/pcsx2/GS/Renderers/SW/GSRendererSW.h index 746b134b65bd9..7b49c0d019cae 100644 --- a/pcsx2/GS/Renderers/SW/GSRendererSW.h +++ b/pcsx2/GS/Renderers/SW/GSRendererSW.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSScanlineEnvironment.h b/pcsx2/GS/Renderers/SW/GSScanlineEnvironment.h index 9ae55a2ab9be5..10440a5ed164a 100644 --- a/pcsx2/GS/Renderers/SW/GSScanlineEnvironment.h +++ b/pcsx2/GS/Renderers/SW/GSScanlineEnvironment.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.cpp b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.cpp index 104e998572415..dd884455748d3 100644 --- a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.cpp +++ b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GSSetupPrimCodeGenerator.all.h" diff --git a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.h b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.h index 35be562eef73b..8533f72b8c499 100644 --- a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.h +++ b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.all.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.cpp b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.cpp index 0230e8754c15b..4fba76acfa66d 100644 --- a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.cpp +++ b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #include "GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.h" diff --git a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.h b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.h index cbcb80e58174d..875a6046e5cda 100644 --- a/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.h +++ b/pcsx2/GS/Renderers/SW/GSSetupPrimCodeGenerator.arm64.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSTextureCacheSW.cpp b/pcsx2/GS/Renderers/SW/GSTextureCacheSW.cpp index 882e3d57d2f2e..2f8d53fecc7da 100644 --- a/pcsx2/GS/Renderers/SW/GSTextureCacheSW.cpp +++ b/pcsx2/GS/Renderers/SW/GSTextureCacheSW.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/SW/GSTextureCacheSW.h" diff --git a/pcsx2/GS/Renderers/SW/GSTextureCacheSW.h b/pcsx2/GS/Renderers/SW/GSTextureCacheSW.h index 180bc9a0a7997..ae5b1197a3209 100644 --- a/pcsx2/GS/Renderers/SW/GSTextureCacheSW.h +++ b/pcsx2/GS/Renderers/SW/GSTextureCacheSW.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/SW/GSVertexSW.h b/pcsx2/GS/Renderers/SW/GSVertexSW.h index ffa1adb16b2db..d1e8554099be4 100644 --- a/pcsx2/GS/Renderers/SW/GSVertexSW.h +++ b/pcsx2/GS/Renderers/SW/GSVertexSW.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp index a58f82d924ca3..5b5f75fa51f3a 100644 --- a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp +++ b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GS.h" @@ -157,7 +157,7 @@ bool GSDeviceVK::SelectInstanceExtensions(ExtensionList* extension_list, const W if (extension_count == 0) { - Console.Error("Vulkan: No extensions supported by instance."); + Console.Error("VK: No extensions supported by instance."); return false; } @@ -170,13 +170,13 @@ bool GSDeviceVK::SelectInstanceExtensions(ExtensionList* extension_list, const W [name](const VkExtensionProperties& properties) { return !strcmp(name, properties.extensionName); }) != available_extension_list.end()) { - DevCon.WriteLn("Enabling extension: %s", name); + DevCon.WriteLn("VK: Enabling extension: %s", name); extension_list->push_back(name); return true; } if (required) - Console.Error("Vulkan: Missing required extension %s.", name); + Console.Error("VK: Missing required extension %s.", name); return false; }; @@ -204,7 +204,7 @@ bool GSDeviceVK::SelectInstanceExtensions(ExtensionList* extension_list, const W // VK_EXT_debug_utils if (enable_debug_utils && !SupportsExtension(VK_EXT_DEBUG_UTILS_EXTENSION_NAME, false)) - Console.Warning("Vulkan: Debug report requested, but extension is not available."); + Console.Warning("VK: Debug report requested, but extension is not available."); oe->vk_ext_swapchain_maintenance1 = (wi.type != WindowInfo::Type::Surfaceless && SupportsExtension(VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME, false)); @@ -231,7 +231,7 @@ GSDeviceVK::GPUList GSDeviceVK::EnumerateGPUs(VkInstance instance) res = vkEnumeratePhysicalDevices(instance, &gpu_count, physical_devices.data()); if (res == VK_INCOMPLETE) { - Console.Warning("First vkEnumeratePhysicalDevices() call returned %zu devices, but second returned %u", + Console.Warning("VK: First vkEnumeratePhysicalDevices() call returned %zu devices, but second returned %u", physical_devices.size(), gpu_count); } else if (res != VK_SUCCESS) @@ -254,7 +254,7 @@ GSDeviceVK::GPUList GSDeviceVK::EnumerateGPUs(VkInstance instance) if (VK_API_VERSION_VARIANT(props.apiVersion) == 0 && VK_API_VERSION_MAJOR(props.apiVersion) <= 1 && VK_API_VERSION_MINOR(props.apiVersion) < 1) { - Console.Warning(fmt::format("Ignoring Vulkan GPU '{}' because it only claims support for Vulkan {}.{}.{}", + Console.Warning(fmt::format("VK: Ignoring GPU '{}' because it only claims support for Vulkan {}.{}.{}", props.deviceName, VK_API_VERSION_MAJOR(props.apiVersion), VK_API_VERSION_MINOR(props.apiVersion), VK_API_VERSION_PATCH(props.apiVersion))); continue; @@ -265,7 +265,7 @@ GSDeviceVK::GPUList GSDeviceVK::EnumerateGPUs(VkInstance instance) res = vkEnumerateDeviceExtensionProperties(device, nullptr, &extension_count, nullptr); if (res != VK_SUCCESS) { - Console.Warning(fmt::format("Ignoring Vulkan GPU '{}' because vkEnumerateInstanceExtensionProperties() failed: ", + Console.Warning(fmt::format("VK: Ignoring GPU '{}' because vkEnumerateInstanceExtensionProperties() failed: ", props.deviceName, Vulkan::VkResultToString(res))); continue; } @@ -283,7 +283,7 @@ GSDeviceVK::GPUList GSDeviceVK::EnumerateGPUs(VkInstance instance) return (std::strcmp(required_extension_name, ext.extensionName) == 0); }) == available_extension_list.end()) { - Console.Warning(fmt::format("Ignoring Vulkan GPU '{}' because is is missing required extension {}", + Console.Warning(fmt::format("VK: Ignoring GPU '{}' because is is missing required extension {}", props.deviceName, required_extension_name)); has_missing_extension = true; } @@ -360,7 +360,7 @@ bool GSDeviceVK::SelectDeviceExtensions(ExtensionList* extension_list, bool enab if (extension_count == 0) { - Console.Error("Vulkan: No extensions supported by device."); + Console.Error("VK: No extensions supported by device."); return false; } @@ -377,7 +377,7 @@ bool GSDeviceVK::SelectDeviceExtensions(ExtensionList* extension_list, bool enab if (std::none_of(extension_list->begin(), extension_list->end(), [name](const char* existing_name) { return (std::strcmp(existing_name, name) == 0); })) { - DevCon.WriteLn("Enabling extension: %s", name); + DevCon.WriteLn("VK: Enabling extension: %s", name); extension_list->push_back(name); } @@ -385,7 +385,7 @@ bool GSDeviceVK::SelectDeviceExtensions(ExtensionList* extension_list, bool enab } if (required) - Console.Error("Vulkan: Missing required extension %s.", name); + Console.Error("VK: Missing required extension %s.", name); return false; }; @@ -531,12 +531,12 @@ bool GSDeviceVK::CreateDevice(VkSurfaceKHR surface, bool enable_validation_layer } if (m_graphics_queue_family_index == queue_family_count) { - Console.Error("Vulkan: Failed to find an acceptable graphics queue."); + Console.Error("VK: Failed to find an acceptable graphics queue."); return false; } if (surface != VK_NULL_HANDLE && m_present_queue_family_index == queue_family_count) { - Console.Error("Vulkan: Failed to find an acceptable present queue."); + Console.Error("VK: Failed to find an acceptable present queue."); return false; } @@ -758,7 +758,7 @@ bool GSDeviceVK::ProcessDeviceExtensions() // confirm we actually support it if (push_descriptor_properties.maxPushDescriptors < NUM_TFX_TEXTURES) { - Console.Error("maxPushDescriptors (%u) is below required (%u)", push_descriptor_properties.maxPushDescriptors, + Console.Error("VK: maxPushDescriptors (%u) is below required (%u)", push_descriptor_properties.maxPushDescriptors, NUM_TFX_TEXTURES); return false; } @@ -766,7 +766,7 @@ bool GSDeviceVK::ProcessDeviceExtensions() if (!line_rasterization_feature.bresenhamLines) { // See note in SelectDeviceExtensions(). - Console.Error("bresenhamLines is not supported."); + Console.Error("VK: bresenhamLines is not supported."); #ifndef __APPLE__ return false; #else @@ -870,7 +870,7 @@ bool GSDeviceVK::CreateAllocator() if (heap_size_limits[type.heapIndex] == VK_WHOLE_SIZE) { - Console.Warning("Disabling allocation from upload heap #%u (%.2f MB) due to debug device.", + Console.Warning("VK: Disabling allocation from upload heap #%u (%.2f MB) due to debug device.", type.heapIndex, static_cast(heap.size) / 1048576.0f); heap_size_limits[type.heapIndex] = 0; has_upload_heap = true; @@ -1447,22 +1447,22 @@ VKAPI_ATTR VkBool32 VKAPI_CALL DebugMessengerCallback(VkDebugUtilsMessageSeverit { if (severity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) { - Console.Error("Vulkan debug report: (%s) %s", + Console.Error("VK: debug report: (%s) %s", pCallbackData->pMessageIdName ? pCallbackData->pMessageIdName : "", pCallbackData->pMessage); } else if (severity & (VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT)) { - Console.Warning("Vulkan debug report: (%s) %s", + Console.Warning("VK: debug report: (%s) %s", pCallbackData->pMessageIdName ? pCallbackData->pMessageIdName : "", pCallbackData->pMessage); } else if (severity & VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT) { - Console.WriteLn("Vulkan debug report: (%s) %s", + Console.WriteLn("VK: debug report: (%s) %s", pCallbackData->pMessageIdName ? pCallbackData->pMessageIdName : "", pCallbackData->pMessage); } else { - DevCon.WriteLn("Vulkan debug report: (%s) %s", + DevCon.WriteLn("VK: debug report: (%s) %s", pCallbackData->pMessageIdName ? pCallbackData->pMessageIdName : "", pCallbackData->pMessage); } @@ -2173,7 +2173,7 @@ bool GSDeviceVK::UpdateWindow() VkSurfaceKHR surface = VKSwapChain::CreateVulkanSurface(m_instance, m_physical_device, &m_window_info); if (surface == VK_NULL_HANDLE) { - Console.Error("Failed to create new surface for swap chain"); + Console.Error("VK: Failed to create new surface for swap chain"); return false; } @@ -2182,7 +2182,7 @@ bool GSDeviceVK::UpdateWindow() !(m_swap_chain = VKSwapChain::Create(m_window_info, surface, present_mode, Pcsx2Config::GSOptions::TriStateToOptionalBoolean(GSConfig.ExclusiveFullscreenControl)))) { - Console.Error("Failed to create swap chain"); + Console.Error("VK: Failed to create swap chain"); VKSwapChain::DestroyVulkanSurface(m_instance, &m_window_info, surface); return false; } @@ -2210,7 +2210,7 @@ void GSDeviceVK::ResizeWindow(s32 new_window_width, s32 new_window_height, float if (!m_swap_chain->ResizeSwapChain(new_window_width, new_window_height, new_window_scale)) { // AcquireNextImage() will fail, and we'll recreate the surface. - Console.Error("Failed to resize swap chain. Next present will fail."); + Console.Error("VK: Failed to resize swap chain. Next present will fail."); return; } @@ -2316,10 +2316,10 @@ GSDevice::PresentResult GSDeviceVK::BeginPresent(bool frame_skip) } else if (res == VK_ERROR_SURFACE_LOST_KHR) { - Console.Warning("Surface lost, attempting to recreate"); + Console.Warning("VK: Surface lost, attempting to recreate"); if (!m_swap_chain->RecreateSurface(m_window_info)) { - Console.Error("Failed to recreate surface after loss"); + Console.Error("VK: Failed to recreate surface after loss"); ExecuteCommandBuffer(false); return PresentResult::FrameSkipped; } @@ -2494,7 +2494,7 @@ bool GSDeviceVK::CreateDeviceAndSwapChain() return false; } - ERROR_LOG("Vulkan validation/debug layers requested but are unavailable. Creating non-debug device."); + ERROR_LOG("VK: validation/debug layers requested but are unavailable. Creating non-debug device."); } } @@ -2624,7 +2624,7 @@ bool GSDeviceVK::CheckFeatures() m_features.vs_expand = !GSConfig.DisableVertexShaderExpand; if (!m_features.texture_barrier) - Console.Warning("Texture buffers are disabled. This may break some graphical effects."); + Console.Warning("VK: Texture buffers are disabled. This may break some graphical effects."); // Test for D32S8 support. { @@ -2670,7 +2670,7 @@ bool GSDeviceVK::CheckFeatures() vkGetPhysicalDeviceFormatProperties(m_physical_device, vkfmt, &props); if ((props.optimalTilingFeatures & bits) != bits) { - Host::ReportFormattedErrorAsync("Vulkan Renderer Unavailable", + Host::ReportFormattedErrorAsync("VK: Renderer Unavailable", "Required format %u is missing bits, you may need to update your driver. (vk:%u, has:0x%x, needs:0x%x)", fmt, static_cast(vkfmt), props.optimalTilingFeatures, bits); return false; @@ -4387,14 +4387,14 @@ bool GSDeviceVK::CompileImGuiPipeline() const std::optional glsl = ReadShaderSource("shaders/vulkan/imgui.glsl"); if (!glsl.has_value()) { - Console.Error("Failed to read imgui.glsl"); + Console.Error("VK: Failed to read imgui.glsl"); return false; } VkShaderModule vs = GetUtilityVertexShader(glsl.value(), "vs_main"); if (vs == VK_NULL_HANDLE) { - Console.Error("Failed to compile ImGui vertex shader"); + Console.Error("VK: Failed to compile ImGui vertex shader"); return false; } ScopedGuard vs_guard([this, &vs]() { vkDestroyShaderModule(m_device, vs, nullptr); }); @@ -4402,7 +4402,7 @@ bool GSDeviceVK::CompileImGuiPipeline() VkShaderModule ps = GetUtilityFragmentShader(glsl.value(), "ps_main"); if (ps == VK_NULL_HANDLE) { - Console.Error("Failed to compile ImGui pixel shader"); + Console.Error("VK: Failed to compile ImGui pixel shader"); return false; } ScopedGuard ps_guard([this, &ps]() { vkDestroyShaderModule(m_device, ps, nullptr); }); @@ -4429,7 +4429,7 @@ bool GSDeviceVK::CompileImGuiPipeline() m_imgui_pipeline = gpb.Create(m_device, g_vulkan_shader_cache->GetPipelineCache(), false); if (!m_imgui_pipeline) { - Console.Error("Failed to compile ImGui pipeline"); + Console.Error("VK: Failed to compile ImGui pipeline"); return false; } @@ -4474,7 +4474,7 @@ void GSDeviceVK::RenderImGui() const u32 size = sizeof(ImDrawVert) * static_cast(cmd_list->VtxBuffer.Size); if (!m_vertex_stream_buffer.ReserveMemory(size, sizeof(ImDrawVert))) { - Console.Warning("Skipping ImGui draw because of no vertex buffer space"); + Console.Warning("VK: Skipping ImGui draw because of no vertex buffer space"); return; } @@ -4498,7 +4498,7 @@ void GSDeviceVK::RenderImGui() SetScissor(GSVector4i(clip).max_i32(GSVector4i::zero())); // Since we don't have the GSTexture... - GSTextureVK* tex = static_cast(pcmd->GetTexID()); + GSTextureVK* tex = reinterpret_cast(pcmd->GetTexID()); if (tex) SetUtilityTexture(tex, m_linear_sampler); @@ -4518,7 +4518,7 @@ void GSDeviceVK::RenderBlankFrame() VkResult res = m_swap_chain->AcquireNextImage(); if (res != VK_SUCCESS) { - Console.Error("Failed to acquire image for blank frame present"); + Console.Error("VK: Failed to acquire image for blank frame present"); return; } @@ -5021,13 +5021,13 @@ void GSDeviceVK::ExecuteCommandBuffer(bool wait_for_completion, const char* reas const std::string reason_str(StringUtil::StdStringFromFormatV(reason, ap)); va_end(ap); - Console.Warning("Vulkan: Executing command buffer due to '%s'", reason_str.c_str()); + Console.Warning("VK: Executing command buffer due to '%s'", reason_str.c_str()); ExecuteCommandBuffer(wait_for_completion); } void GSDeviceVK::ExecuteCommandBufferAndRestartRenderPass(bool wait_for_completion, const char* reason) { - Console.Warning("Vulkan: Executing command buffer due to '%s'", reason); + Console.Warning("VK: Executing command buffer due to '%s'", reason); const VkRenderPass render_pass = m_current_render_pass; const GSVector4i render_pass_area = m_current_render_pass_area; @@ -5344,7 +5344,7 @@ bool GSDeviceVK::ApplyTFXState(bool already_execed) { if (already_execed) { - Console.Error("Failed to reserve vertex uniform space"); + Console.Error("VK: Failed to reserve vertex uniform space"); return false; } @@ -5365,7 +5365,7 @@ bool GSDeviceVK::ApplyTFXState(bool already_execed) { if (already_execed) { - Console.Error("Failed to reserve pixel uniform space"); + Console.Error("VK: Failed to reserve pixel uniform space"); return false; } @@ -5991,7 +5991,7 @@ void GSDeviceVK::SendHWDraw(const GSHWDrawConfig& config, GSTextureVK* draw_rt, #ifdef PCSX2_DEVBUILD if ((one_barrier || full_barrier) && !m_pipeline_selector.ps.IsFeedbackLoop()) [[unlikely]] - Console.Warning("GS: Possible unnecessary barrier detected."); + Console.Warning("VK: Possible unnecessary barrier detected."); #endif const VkDependencyFlags barrier_flags = GetColorBufferBarrierFlags(); if (full_barrier) diff --git a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h index b1aeb3a82cebb..153d075a25d97 100644 --- a/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h +++ b/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/GSTextureVK.cpp b/pcsx2/GS/Renderers/Vulkan/GSTextureVK.cpp index db2df37aafbc3..1ce0bc3c69eae 100644 --- a/pcsx2/GS/Renderers/Vulkan/GSTextureVK.cpp +++ b/pcsx2/GS/Renderers/Vulkan/GSTextureVK.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GSGL.h" diff --git a/pcsx2/GS/Renderers/Vulkan/GSTextureVK.h b/pcsx2/GS/Renderers/Vulkan/GSTextureVK.h index ef703e99ce105..e798514365e25 100644 --- a/pcsx2/GS/Renderers/Vulkan/GSTextureVK.h +++ b/pcsx2/GS/Renderers/Vulkan/GSTextureVK.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/VKBuilders.cpp b/pcsx2/GS/Renderers/Vulkan/VKBuilders.cpp index b687cde8810e8..2c78d97154c67 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKBuilders.cpp +++ b/pcsx2/GS/Renderers/Vulkan/VKBuilders.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Vulkan/VKBuilders.h" diff --git a/pcsx2/GS/Renderers/Vulkan/VKBuilders.h b/pcsx2/GS/Renderers/Vulkan/VKBuilders.h index f12ceb639adf9..8ebde70fc9bde 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKBuilders.h +++ b/pcsx2/GS/Renderers/Vulkan/VKBuilders.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.h b/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.h index 0e1f211ca82dd..e9c3c8eac2931 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.h +++ b/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.inl b/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.inl index b0bdecc4cc77b..60a72c77ee192 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.inl +++ b/pcsx2/GS/Renderers/Vulkan/VKEntryPoints.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // Expands the VULKAN_ENTRY_POINT macro for each function when this file is included. diff --git a/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp b/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp index e386e6fe530c4..164ca0f897f7e 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp +++ b/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Vulkan/VKLoader.h" diff --git a/pcsx2/GS/Renderers/Vulkan/VKLoader.h b/pcsx2/GS/Renderers/Vulkan/VKLoader.h index 736723fca5566..86e96cb8ae96b 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKLoader.h +++ b/pcsx2/GS/Renderers/Vulkan/VKLoader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp b/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp index 6128a8177bd15..d86d599ad723a 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp +++ b/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GS.h" diff --git a/pcsx2/GS/Renderers/Vulkan/VKShaderCache.h b/pcsx2/GS/Renderers/Vulkan/VKShaderCache.h index e35f6e47bbee6..74eac9434f00f 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKShaderCache.h +++ b/pcsx2/GS/Renderers/Vulkan/VKShaderCache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.cpp b/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.cpp index 70bad89856b09..8f6323d6fa7f5 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.cpp +++ b/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Vulkan/GSDeviceVK.h" diff --git a/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.h b/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.h index d658fc7309798..e0839a838eb11 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.h +++ b/pcsx2/GS/Renderers/Vulkan/VKStreamBuffer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/VKSwapChain.cpp b/pcsx2/GS/Renderers/Vulkan/VKSwapChain.cpp index 6d19cf44426ec..9b9295ed3a6a8 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKSwapChain.cpp +++ b/pcsx2/GS/Renderers/Vulkan/VKSwapChain.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Vulkan/GSDeviceVK.h" diff --git a/pcsx2/GS/Renderers/Vulkan/VKSwapChain.h b/pcsx2/GS/Renderers/Vulkan/VKSwapChain.h index d3fe8418ea19b..2ac3ae8fad25a 100644 --- a/pcsx2/GS/Renderers/Vulkan/VKSwapChain.h +++ b/pcsx2/GS/Renderers/Vulkan/VKSwapChain.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GS/Renderers/Vulkan/vk_mem_alloc.cpp b/pcsx2/GS/Renderers/Vulkan/vk_mem_alloc.cpp index b7ac56ad511e0..0f604576f9512 100644 --- a/pcsx2/GS/Renderers/Vulkan/vk_mem_alloc.cpp +++ b/pcsx2/GS/Renderers/Vulkan/vk_mem_alloc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define VMA_IMPLEMENTATION 1 diff --git a/pcsx2/GSDumpReplayer.cpp b/pcsx2/GSDumpReplayer.cpp index 46e20cf7fbae1..22503a7bba248 100644 --- a/pcsx2/GSDumpReplayer.cpp +++ b/pcsx2/GSDumpReplayer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS.h" @@ -16,7 +16,7 @@ #include "imgui.h" -#include "fmt/core.h" +#include "fmt/format.h" #include "common/Error.h" #include "common/FileSystem.h" diff --git a/pcsx2/GSDumpReplayer.h b/pcsx2/GSDumpReplayer.h index 9a413451b8747..5fab8d4b4a918 100644 --- a/pcsx2/GSDumpReplayer.h +++ b/pcsx2/GSDumpReplayer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GameDatabase.cpp b/pcsx2/GameDatabase.cpp index 08dafee041537..b1fdbca31a0af 100644 --- a/pcsx2/GameDatabase.cpp +++ b/pcsx2/GameDatabase.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GameDatabase.h" @@ -18,7 +18,7 @@ #include #include "ryml_std.hpp" #include "ryml.hpp" -#include "fmt/core.h" +#include "fmt/format.h" #include "fmt/ranges.h" #include #include @@ -118,7 +118,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: if (eeVal >= 0 && eeVal < static_cast(FPRoundMode::MaxCount)) gameEntry.eeRoundMode = static_cast(eeVal); else - Console.Error(fmt::format("[GameDB] Invalid EE round mode '{}', specified for serial: '{}'.", eeVal, serial)); + Console.Error(fmt::format("GameDB: Invalid EE round mode '{}', specified for serial: '{}'.", eeVal, serial)); } if (node["roundModes"].has_child("eeDivRoundMode")) { @@ -127,7 +127,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: if (eeVal >= 0 && eeVal < static_cast(FPRoundMode::MaxCount)) gameEntry.eeDivRoundMode = static_cast(eeVal); else - Console.Error(fmt::format("[GameDB] Invalid EE division round mode '{}', specified for serial: '{}'.", eeVal, serial)); + Console.Error(fmt::format("GameDB: Invalid EE division round mode '{}', specified for serial: '{}'.", eeVal, serial)); } if (node["roundModes"].has_child("vuRoundMode")) { @@ -140,7 +140,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: } else { - Console.Error(fmt::format("[GameDB] Invalid VU round mode '{}', specified for serial: '{}'.", vuVal, serial)); + Console.Error(fmt::format("GameDB: Invalid VU round mode '{}', specified for serial: '{}'.", vuVal, serial)); } } if (node["roundModes"].has_child("vu0RoundMode")) @@ -150,7 +150,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: if (vuVal >= 0 && vuVal < static_cast(FPRoundMode::MaxCount)) gameEntry.vu0RoundMode = static_cast(vuVal); else - Console.Error(fmt::format("[GameDB] Invalid VU0 round mode '{}', specified for serial: '{}'.", vuVal, serial)); + Console.Error(fmt::format("GameDB: Invalid VU0 round mode '{}', specified for serial: '{}'.", vuVal, serial)); } if (node["roundModes"].has_child("vu1RoundMode")) { @@ -159,7 +159,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: if (vuVal >= 0 && vuVal < static_cast(FPRoundMode::MaxCount)) gameEntry.vu1RoundMode = static_cast(vuVal); else - Console.Error(fmt::format("[GameDB] Invalid VU1 round mode '{}', specified for serial: '{}'.", vuVal, serial)); + Console.Error(fmt::format("GameDB: Invalid VU1 round mode '{}', specified for serial: '{}'.", vuVal, serial)); } } if (node.has_child("clampModes")) @@ -217,7 +217,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: if (!fixValidated) { - Console.Error(fmt::format("[GameDB] Invalid gamefix: '{}', specified for serial: '{}'. Dropping!", fix, serial)); + Console.Error(fmt::format("GameDB: Invalid gamefix: '{}', specified for serial: '{}'. Dropping!", fix, serial)); } } } @@ -239,7 +239,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: } else { - Console.Error(fmt::format("[GameDB] Invalid speedhack: '{}={}', specified for serial: '{}'. Dropping!", + Console.Error(fmt::format("GameDB: Invalid speedhack: '{}={}', specified for serial: '{}'. Dropping!", id_view, value_view, serial)); } } @@ -266,7 +266,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: if (value.value_or(-1) < 0) { - Console.Error(fmt::format("[GameDB] Invalid GS HW Fix Value for '{}' in '{}': '{}'", id_name, serial, str_value)); + Console.Error(fmt::format("GameDB: Invalid GS HW Fix Value for '{}' in '{}': '{}'", id_name, serial, str_value)); continue; } } @@ -276,7 +276,7 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: } if (!id.has_value() || !value.has_value()) { - Console.Error(fmt::format("[GameDB] Invalid GS HW Fix: '{}' specified for serial '{}'. Dropping!", id_name, serial)); + Console.Error(fmt::format("GameDB: Invalid GS HW Fix: '{}' specified for serial '{}'. Dropping!", id_name, serial)); continue; } @@ -305,12 +305,12 @@ void GameDatabase::parseAndInsert(const std::string_view serial, const c4::yml:: const std::optional crc = (StringUtil::compareNoCase(crc_str, "default")) ? std::optional(0) : StringUtil::FromChars(crc_str, 16); if (!crc.has_value()) { - Console.Error(fmt::format("[GameDB] Invalid CRC '{}' found for serial: '{}'. Skipping!", crc_str, serial)); + Console.Error(fmt::format("GameDB: Invalid CRC '{}' found for serial: '{}'. Skipping!", crc_str, serial)); continue; } if (gameEntry.patches.find(crc.value()) != gameEntry.patches.end()) { - Console.Error(fmt::format("[GameDB] Duplicate CRC '{}' found for serial: '{}'. Skipping, CRCs are case-insensitive!", crc_str, serial)); + Console.Error(fmt::format("GameDB: Duplicate CRC '{}' found for serial: '{}'. Skipping, CRCs are case-insensitive!", crc_str, serial)); continue; } @@ -442,18 +442,18 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app { // Only apply core game fixes if the user has enabled them. if (!applyAuto) - Console.Warning("[GameDB] Game Fixes are disabled"); + Console.Warning("GameDB: Game Fixes are disabled"); if (eeRoundMode < FPRoundMode::MaxCount) { if (applyAuto) { - Console.WriteLn("(GameDB) Changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeRoundMode)]); + Console.WriteLn("GameDB: Changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeRoundMode)]); config.Cpu.FPUFPCR.SetRoundMode(eeRoundMode); } else { - Console.Warning("[GameDB] Skipping changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeRoundMode)]); + Console.Warning("GameDB: Skipping changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeRoundMode)]); } } @@ -461,12 +461,12 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app { if (applyAuto) { - Console.WriteLn("(GameDB) Changing EE/FPU divison roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeDivRoundMode)]); + Console.WriteLn("GameDB: Changing EE/FPU divison roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeDivRoundMode)]); config.Cpu.FPUDivFPCR.SetRoundMode(eeDivRoundMode); } else { - Console.Warning("[GameDB] Skipping changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeRoundMode)]); + Console.Warning("GameDB: Skipping changing EE/FPU roundmode to %d [%s]", eeRoundMode, s_round_modes[static_cast(eeRoundMode)]); } } @@ -474,12 +474,12 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app { if (applyAuto) { - Console.WriteLn("(GameDB) Changing VU0 roundmode to %d [%s]", vu0RoundMode, s_round_modes[static_cast(vu0RoundMode)]); + Console.WriteLn("GameDB: Changing VU0 roundmode to %d [%s]", vu0RoundMode, s_round_modes[static_cast(vu0RoundMode)]); config.Cpu.VU0FPCR.SetRoundMode(vu0RoundMode); } else { - Console.Warning("[GameDB] Skipping changing VU0 roundmode to %d [%s]", vu0RoundMode, s_round_modes[static_cast(vu0RoundMode)]); + Console.Warning("GameDB: Skipping changing VU0 roundmode to %d [%s]", vu0RoundMode, s_round_modes[static_cast(vu0RoundMode)]); } } @@ -487,12 +487,12 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app { if (applyAuto) { - Console.WriteLn("(GameDB) Changing VU1 roundmode to %d [%s]", vu1RoundMode, s_round_modes[static_cast(vu1RoundMode)]); + Console.WriteLn("GameDB: Changing VU1 roundmode to %d [%s]", vu1RoundMode, s_round_modes[static_cast(vu1RoundMode)]); config.Cpu.VU1FPCR.SetRoundMode(vu1RoundMode); } else { - Console.Warning("[GameDB] Skipping changing VU1 roundmode to %d [%s]", vu1RoundMode, s_round_modes[static_cast(vu1RoundMode)]); + Console.Warning("GameDB: Skipping changing VU1 roundmode to %d [%s]", vu1RoundMode, s_round_modes[static_cast(vu1RoundMode)]); } } @@ -501,13 +501,13 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app const int clampMode = enum_cast(eeClampMode); if (applyAuto) { - Console.WriteLn("(GameDB) Changing EE/FPU clamp mode [mode=%d]", clampMode); + Console.WriteLn("GameDB: Changing EE/FPU clamp mode [mode=%d]", clampMode); config.Cpu.Recompiler.fpuOverflow = (clampMode >= 1); config.Cpu.Recompiler.fpuExtraOverflow = (clampMode >= 2); config.Cpu.Recompiler.fpuFullMode = (clampMode >= 3); } else - Console.Warning("[GameDB] Skipping changing EE/FPU clamp mode [mode=%d]", clampMode); + Console.Warning("GameDB: Skipping changing EE/FPU clamp mode [mode=%d]", clampMode); } if (vu0ClampMode != GameDatabaseSchema::ClampMode::Undefined) @@ -515,13 +515,13 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app const int clampMode = enum_cast(vu0ClampMode); if (applyAuto) { - Console.WriteLn("(GameDB) Changing VU0 clamp mode [mode=%d]", clampMode); + Console.WriteLn("GameDB: Changing VU0 clamp mode [mode=%d]", clampMode); config.Cpu.Recompiler.vu0Overflow = (clampMode >= 1); config.Cpu.Recompiler.vu0ExtraOverflow = (clampMode >= 2); config.Cpu.Recompiler.vu0SignOverflow = (clampMode >= 3); } else - Console.Warning("[GameDB] Skipping changing VU0 clamp mode [mode=%d]", clampMode); + Console.Warning("GameDB: Skipping changing VU0 clamp mode [mode=%d]", clampMode); } if (vu1ClampMode != GameDatabaseSchema::ClampMode::Undefined) @@ -529,13 +529,13 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app const int clampMode = enum_cast(vu1ClampMode); if (applyAuto) { - Console.WriteLn("(GameDB) Changing VU1 clamp mode [mode=%d]", clampMode); + Console.WriteLn("GameDB: Changing VU1 clamp mode [mode=%d]", clampMode); config.Cpu.Recompiler.vu1Overflow = (clampMode >= 1); config.Cpu.Recompiler.vu1ExtraOverflow = (clampMode >= 2); config.Cpu.Recompiler.vu1SignOverflow = (clampMode >= 3); } else - Console.Warning("[GameDB] Skipping changing VU1 clamp mode [mode=%d]", clampMode); + Console.Warning("GameDB: Skipping changing VU1 clamp mode [mode=%d]", clampMode); } // TODO - config - this could be simplified with maps instead of bitfields and enums @@ -543,14 +543,14 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app { if (!applyAuto) { - Console.Warning("[GameDB] Skipping setting Speedhack '%s' to [mode=%d]", + Console.Warning("GameDB: Skipping setting Speedhack '%s' to [mode=%d]", Pcsx2Config::SpeedhackOptions::GetSpeedHackName(it.first), it.second); continue; } // Legacy note - speedhacks are setup in the GameDB as integer values, but // are effectively booleans like the gamefixes config.Speedhacks.Set(it.first, it.second); - Console.WriteLn("(GameDB) Setting Speedhack '%s' to [mode=%d]", + Console.WriteLn("GameDB: Setting Speedhack '%s' to [mode=%d]", Pcsx2Config::SpeedhackOptions::GetSpeedHackName(it.first), it.second); } @@ -559,12 +559,12 @@ void GameDatabaseSchema::GameEntry::applyGameFixes(Pcsx2Config& config, bool app { if (!applyAuto) { - Console.Warning("[GameDB] Skipping Gamefix: %s", Pcsx2Config::GamefixOptions::GetGameFixName(id)); + Console.Warning("GameDB: Skipping Gamefix: %s", Pcsx2Config::GamefixOptions::GetGameFixName(id)); continue; } // if the fix is present, it is said to be enabled config.Gamefixes.Set(id, true); - Console.WriteLn("(GameDB) Enabled Gamefix: %s", Pcsx2Config::GamefixOptions::GetGameFixName(id)); + Console.WriteLn("GameDB: Enabled Gamefix: %s", Pcsx2Config::GamefixOptions::GetGameFixName(id)); // The LUT is only used for 1 game so we allocate it only when the gamefix is enabled (save 4MB) if (id == Fix_GoemonTlbMiss && true) @@ -694,7 +694,7 @@ void GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions& const bool apply_auto_fixes = !config.ManualUserHacks; const bool is_sw_renderer = EmuConfig.GS.Renderer == GSRendererType::SW; if (!apply_auto_fixes) - Console.Warning("[GameDB] Manual GS hardware renderer fixes are enabled, not using automatic hardware renderer fixes from GameDB."); + Console.Warning("GameDB: Manual GS hardware renderer fixes are enabled, not using automatic hardware renderer fixes from GameDB."); for (const auto& [id, value] : gsHWFixes) { @@ -703,7 +703,7 @@ void GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions& if (configMatchesHWFix(config, id, value)) continue; - Console.Warning("[GameDB] Skipping GS Hardware Fix: %s to [mode=%d]", getHWFixName(id), value); + Console.Warning("GameDB: Skipping GS Hardware Fix: %s to [mode=%d]", getHWFixName(id), value); fmt::format_to(std::back_inserter(disabled_fixes), "{} {} = {}", disabled_fixes.empty() ? " " : "\n ", getHWFixName(id), value); continue; } @@ -790,7 +790,7 @@ void GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions& if (config.TriFilter == TriFiltering::Automatic) config.TriFilter = static_cast(value); else if (config.TriFilter > TriFiltering::Off) - Console.Warning("[GameDB] Game requires trilinear filtering to be disabled."); + Console.Warning("GameDB: Game requires trilinear filtering to be disabled."); } } break; @@ -832,7 +832,7 @@ void GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions& if (config.InterlaceMode == GSInterlaceMode::Automatic) config.InterlaceMode = static_cast(value); else - Console.Warning("[GameDB] Game requires different deinterlace mode but it has been overridden by user setting."); + Console.Warning("GameDB: Game requires different deinterlace mode but it has been overridden by user setting."); } } break; @@ -919,7 +919,7 @@ void GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions& break; } - Console.WriteLn("[GameDB] Enabled GS Hardware Fix: %s to [mode=%d]", getHWFixName(id), value); + Console.WriteLn("GameDB: Enabled GS Hardware Fix: %s to [mode=%d]", getHWFixName(id), value); } // fixup skipdraw range just in case the db has a bad range (but the linter should catch this) @@ -954,7 +954,7 @@ void GameDatabase::initDatabase() auto buf = FileSystem::ReadFileToString(Path::Combine(EmuFolders::Resources, GAMEDB_YAML_FILE_NAME).c_str()); if (!buf.has_value()) { - Console.Error("[GameDB] Unable to open GameDB file, file does not exist."); + Console.Error("GameDB: Unable to open GameDB file, file does not exist."); return; } @@ -971,7 +971,7 @@ void GameDatabase::initDatabase() // However, YAML's keys are as expected case-sensitive, so we have to explicitly do our own duplicate checking if (s_game_db.count(serial) == 1) { - Console.Error(fmt::format("[GameDB] Duplicate serial '{}' found in GameDB. Skipping, Serials are case-insensitive!", serial)); + Console.Error(fmt::format("GameDB: Duplicate serial '{}' found in GameDB. Skipping, Serials are case-insensitive!", serial)); continue; } @@ -988,9 +988,9 @@ void GameDatabase::ensureLoaded() { std::call_once(s_load_once_flag, []() { Common::Timer timer; - Console.WriteLn(fmt::format("[GameDB] Has not been initialized yet, initializing...")); + Console.WriteLn(fmt::format("GameDB: Has not been initialized yet, initializing...")); initDatabase(); - Console.WriteLn("[GameDB] %zu games on record (loaded in %.2fms)", s_game_db.size(), timer.GetTimeMilliseconds()); + Console.WriteLn("GameDB: %zu games on record (loaded in %.2fms)", s_game_db.size(), timer.GetTimeMilliseconds()); }); } @@ -1115,7 +1115,7 @@ bool GameDatabase::loadHashDatabase() auto buf = FileSystem::ReadFileToString(Path::Combine(EmuFolders::Resources, HASHDB_YAML_FILE_NAME).c_str()); if (!buf.has_value()) { - Console.Error("[GameDB] Unable to open hash database file, file does not exist."); + Console.Error("GameDB: Unable to open hash database file, file does not exist."); return false; } diff --git a/pcsx2/GameDatabase.h b/pcsx2/GameDatabase.h index 96ca6dcea13b4..19d4790359553 100644 --- a/pcsx2/GameDatabase.h +++ b/pcsx2/GameDatabase.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/GameList.cpp b/pcsx2/GameList.cpp index d595d6e57a8eb..52bbea8063a8e 100644 --- a/pcsx2/GameList.cpp +++ b/pcsx2/GameList.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "CDVD/CDVD.h" diff --git a/pcsx2/GameList.h b/pcsx2/GameList.h index f7f7cb0c89441..cc449eaf21abb 100644 --- a/pcsx2/GameList.h +++ b/pcsx2/GameList.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Gif.cpp b/pcsx2/Gif.cpp index 5e59aaba35d77..23f01df236b1e 100644 --- a/pcsx2/Gif.cpp +++ b/pcsx2/Gif.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Gif.h b/pcsx2/Gif.h index 587e209d2a4ea..bd7e08b09b787 100644 --- a/pcsx2/Gif.h +++ b/pcsx2/Gif.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Gif_Logger.cpp b/pcsx2/Gif_Logger.cpp index b5e09982d12b2..718d0d44a4544 100644 --- a/pcsx2/Gif_Logger.cpp +++ b/pcsx2/Gif_Logger.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Gif_Unit.cpp b/pcsx2/Gif_Unit.cpp index a2a6f2af522d4..793f1e9004f2d 100644 --- a/pcsx2/Gif_Unit.cpp +++ b/pcsx2/Gif_Unit.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Gif_Unit.h b/pcsx2/Gif_Unit.h index 31428e7b2a834..c47a6fa82b1e1 100644 --- a/pcsx2/Gif_Unit.h +++ b/pcsx2/Gif_Unit.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Hardware.h b/pcsx2/Hardware.h index c1e3579a578aa..f3acb47e2a2ae 100644 --- a/pcsx2/Hardware.h +++ b/pcsx2/Hardware.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Host.cpp b/pcsx2/Host.cpp index bd64ad0770d43..b25c813af52e6 100644 --- a/pcsx2/Host.cpp +++ b/pcsx2/Host.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BuildVersion.h" diff --git a/pcsx2/Host.h b/pcsx2/Host.h index 3028455ecc77f..613195c532f01 100644 --- a/pcsx2/Host.h +++ b/pcsx2/Host.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -10,6 +10,7 @@ #include #include +#include #include #include #include diff --git a/pcsx2/Host/AudioStream.cpp b/pcsx2/Host/AudioStream.cpp index ce24f6dd59c40..6a8aaa6c105fc 100644 --- a/pcsx2/Host/AudioStream.cpp +++ b/pcsx2/Host/AudioStream.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host/AudioStream.h" diff --git a/pcsx2/Host/AudioStream.h b/pcsx2/Host/AudioStream.h index de80c7fa9bffc..68693e0e70230 100644 --- a/pcsx2/Host/AudioStream.h +++ b/pcsx2/Host/AudioStream.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Host/AudioStreamTypes.h b/pcsx2/Host/AudioStreamTypes.h index 9e01dc30bb070..3eff6adb04abf 100644 --- a/pcsx2/Host/AudioStreamTypes.h +++ b/pcsx2/Host/AudioStreamTypes.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Host/CubebAudioStream.cpp b/pcsx2/Host/CubebAudioStream.cpp index 4cd9993cae6dc..7c00c9e1f2349 100644 --- a/pcsx2/Host/CubebAudioStream.cpp +++ b/pcsx2/Host/CubebAudioStream.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host/AudioStream.h" diff --git a/pcsx2/Host/SDLAudioStream.cpp b/pcsx2/Host/SDLAudioStream.cpp index 7a10be52e1acd..5bd2b67fff139 100644 --- a/pcsx2/Host/SDLAudioStream.cpp +++ b/pcsx2/Host/SDLAudioStream.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host/AudioStream.h" diff --git a/pcsx2/Hotkeys.cpp b/pcsx2/Hotkeys.cpp index b71e5494f5631..fd74ed4c8fe19 100644 --- a/pcsx2/Hotkeys.cpp +++ b/pcsx2/Hotkeys.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Achievements.h" diff --git a/pcsx2/Hw.cpp b/pcsx2/Hw.cpp index 64f3d1df1be38..e52b9e47ee1db 100644 --- a/pcsx2/Hw.cpp +++ b/pcsx2/Hw.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" @@ -9,7 +9,7 @@ #include "common/WrappedMemCopy.h" -#include "fmt/core.h" +#include "fmt/format.h" using namespace R5900; diff --git a/pcsx2/Hw.h b/pcsx2/Hw.h index 23abbcc5a3ca5..afcd93a9e8c67 100644 --- a/pcsx2/Hw.h +++ b/pcsx2/Hw.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/HwRead.cpp b/pcsx2/HwRead.cpp index d54c0271f6803..4f7a9a3d22275 100644 --- a/pcsx2/HwRead.cpp +++ b/pcsx2/HwRead.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/HwWrite.cpp b/pcsx2/HwWrite.cpp index f45d4bf64aa75..c5f3d438b2133 100644 --- a/pcsx2/HwWrite.cpp +++ b/pcsx2/HwWrite.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/INISettingsInterface.cpp b/pcsx2/INISettingsInterface.cpp index 0ff93aaa82903..e7b84f7bd1067 100644 --- a/pcsx2/INISettingsInterface.cpp +++ b/pcsx2/INISettingsInterface.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "INISettingsInterface.h" diff --git a/pcsx2/INISettingsInterface.h b/pcsx2/INISettingsInterface.h index d3d8ca0e998d0..a9bfd09c027aa 100644 --- a/pcsx2/INISettingsInterface.h +++ b/pcsx2/INISettingsInterface.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IPU/IPU.cpp b/pcsx2/IPU/IPU.cpp index 77c00e2ceb57c..afeae67e9441a 100644 --- a/pcsx2/IPU/IPU.cpp +++ b/pcsx2/IPU/IPU.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IPU/IPU.h b/pcsx2/IPU/IPU.h index 53dadcb9e36fe..33c409ad17aac 100644 --- a/pcsx2/IPU/IPU.h +++ b/pcsx2/IPU/IPU.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IPU/IPU_Fifo.cpp b/pcsx2/IPU/IPU_Fifo.cpp index d549e655c50a1..16e4785224ef3 100644 --- a/pcsx2/IPU/IPU_Fifo.cpp +++ b/pcsx2/IPU/IPU_Fifo.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IPU/IPU_Fifo.h b/pcsx2/IPU/IPU_Fifo.h index e0d3d1c10874b..47e187e2b509d 100644 --- a/pcsx2/IPU/IPU_Fifo.h +++ b/pcsx2/IPU/IPU_Fifo.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IPU/IPU_MultiISA.cpp b/pcsx2/IPU/IPU_MultiISA.cpp index 676010227e9d7..010eb4b6084b0 100644 --- a/pcsx2/IPU/IPU_MultiISA.cpp +++ b/pcsx2/IPU/IPU_MultiISA.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ // Some of the functions in this file are based on the mpeg2dec library, diff --git a/pcsx2/IPU/IPU_MultiISA.h b/pcsx2/IPU/IPU_MultiISA.h index 91f5242e8aaec..a6d52086a5086 100644 --- a/pcsx2/IPU/IPU_MultiISA.h +++ b/pcsx2/IPU/IPU_MultiISA.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IPU/IPUdither.cpp b/pcsx2/IPU/IPUdither.cpp index 2d133c230cb90..f88fd8c2197ac 100644 --- a/pcsx2/IPU/IPUdither.cpp +++ b/pcsx2/IPU/IPUdither.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IPU/IPUdma.cpp b/pcsx2/IPU/IPUdma.cpp index 589559f1e47f3..e63ebeb6ea5d6 100644 --- a/pcsx2/IPU/IPUdma.cpp +++ b/pcsx2/IPU/IPUdma.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IPU/IPUdma.h b/pcsx2/IPU/IPUdma.h index e884088962666..f1820493c7161 100644 --- a/pcsx2/IPU/IPUdma.h +++ b/pcsx2/IPU/IPUdma.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IPU/mpeg2_vlc.h b/pcsx2/IPU/mpeg2_vlc.h index f3384bb92d056..ec0c9f375230f 100644 --- a/pcsx2/IPU/mpeg2_vlc.h +++ b/pcsx2/IPU/mpeg2_vlc.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ /* NOTE: While part of this header is originally from libmpeg2, which is GPL - licensed, diff --git a/pcsx2/IPU/yuv2rgb.cpp b/pcsx2/IPU/yuv2rgb.cpp index b68050bdba712..51fe11d65706c 100644 --- a/pcsx2/IPU/yuv2rgb.cpp +++ b/pcsx2/IPU/yuv2rgb.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IPU/yuv2rgb.h b/pcsx2/IPU/yuv2rgb.h index 8df99e642ea73..6ec2b85656c55 100644 --- a/pcsx2/IPU/yuv2rgb.h +++ b/pcsx2/IPU/yuv2rgb.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/ImGui/FullscreenUI.cpp b/pcsx2/ImGui/FullscreenUI.cpp index 27e28017d47d6..6bbf02ad8de3f 100644 --- a/pcsx2/ImGui/FullscreenUI.cpp +++ b/pcsx2/ImGui/FullscreenUI.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define IMGUI_DEFINE_MATH_OPERATORS @@ -47,7 +47,7 @@ #include "imgui_internal.h" #include "fmt/chrono.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include @@ -1200,7 +1200,8 @@ void FullscreenUI::DrawLandingTemplate(ImVec2* menu_pos, ImVec2* menu_size) { const ImVec2 logo_pos = LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING, LAYOUT_MENU_BUTTON_Y_PADDING); const ImVec2 logo_size = LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY, LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY); - dl->AddImage(GetCachedTexture("icons/AppIconLarge.png")->GetNativeHandle(), logo_pos, logo_pos + logo_size); + dl->AddImage(reinterpret_cast(GetCachedTexture("icons/AppIconLarge.png")->GetNativeHandle()), + logo_pos, logo_pos + logo_size); dl->AddText(heading_font, heading_font->FontSize, ImVec2(logo_pos.x + logo_size.x + LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING), logo_pos.y), ImGui::GetColorU32(ImGuiCol_Text), "PCSX2"); @@ -1238,8 +1239,8 @@ void FullscreenUI::DrawLandingTemplate(ImVec2* menu_pos, ImVec2* menu_size) const ImVec2 badge_pos = ImVec2(name_pos.x - badge_size.x - LayoutScale(LAYOUT_MENU_BUTTON_X_PADDING), time_pos.y); - dl->AddImage(GetCachedTextureAsync(badge_path)->GetNativeHandle(), badge_pos, - badge_pos + badge_size); + dl->AddImage(reinterpret_cast(GetCachedTextureAsync(badge_path)->GetNativeHandle()), + badge_pos, badge_pos + badge_size); } } } @@ -3705,6 +3706,15 @@ void FullscreenUI::DrawGraphicsSettingsPage(SettingsInterface* bsi, bool show_ad "EmuCore/GS", "StretchY", 100, 10, 300, FSUI_CSTR("%d%%")); DrawIntRectSetting(bsi, FSUI_CSTR("Crop"), FSUI_CSTR("Crops the image, while respecting aspect ratio."), "EmuCore/GS", "CropLeft", 0, "CropTop", 0, "CropRight", 0, "CropBottom", 0, 0, 720, 1, FSUI_CSTR("%dpx")); + + if (!IsEditingGameSettings(bsi)) + { + DrawToggleSetting(bsi, FSUI_CSTR("Enable Widescreen Patches"), FSUI_CSTR("Enables loading widescreen patches from pnach files."), + "EmuCore", "EnableWideScreenPatches", false); + DrawToggleSetting(bsi, FSUI_CSTR("Enable No-Interlacing Patches"), + FSUI_CSTR("Enables loading no-interlacing patches from pnach files."), "EmuCore", "EnableNoInterlacingPatches", false); + } + DrawIntListSetting(bsi, FSUI_CSTR("Bilinear Upscaling"), FSUI_CSTR("Smooths out the image when upscaling the console to the screen."), "EmuCore/GS", "linear_present_mode", static_cast(GSPostBilinearMode::BilinearSharp), s_bilinear_present_options, std::size(s_bilinear_present_options), true); @@ -5055,7 +5065,7 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type) const ImVec2 image_max(image_min.x + LayoutScale(image_width), image_min.y + LayoutScale(image_height) + rp_height); const ImRect image_rect(CenterImage( ImRect(image_min, image_max), ImVec2(static_cast(cover->GetWidth()), static_cast(cover->GetHeight())))); - dl->AddImage(cover->GetNativeHandle(), image_rect.Min, image_rect.Max); + dl->AddImage(reinterpret_cast(cover->GetNativeHandle()), image_rect.Min, image_rect.Max); } // current time / play time @@ -5605,8 +5615,8 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading) const ImRect image_rect(CenterImage(ImRect(bb.Min, bb.Min + image_size), ImVec2(static_cast(screenshot->GetWidth()), static_cast(screenshot->GetHeight())))); - ImGui::GetWindowDrawList()->AddImage(screenshot->GetNativeHandle(), image_rect.Min, image_rect.Max, ImVec2(0.0f, 0.0f), - ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(screenshot->GetNativeHandle()), + image_rect.Min, image_rect.Max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); const ImVec2 title_pos(bb.Min.x, bb.Min.y + image_height + title_spacing); const ImRect title_bb(title_pos, ImVec2(bb.Max.x, title_pos.y + g_large_font->FontSize)); @@ -5729,8 +5739,8 @@ void FullscreenUI::DrawResumeStateSelector() const ImVec2 pos(ImGui::GetCursorScreenPos() + ImVec2((ImGui::GetCurrentWindow()->WorkRect.GetWidth() - image_width) * 0.5f, LayoutScale(20.0f))); const ImRect image_bb(pos, pos + ImVec2(image_width, image_height)); - ImGui::GetWindowDrawList()->AddImage(static_cast(entry.preview_texture ? entry.preview_texture->GetNativeHandle() : - GetPlaceholderTexture()->GetNativeHandle()), + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(entry.preview_texture ? entry.preview_texture->GetNativeHandle() : + GetPlaceholderTexture()->GetNativeHandle()), image_bb.Min, image_bb.Max); ImGui::SetCursorPosY(ImGui::GetCursorPosY() + image_height + LayoutScale(40.0f)); @@ -6034,8 +6044,8 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size) const ImRect image_rect(CenterImage(ImRect(bb.Min, bb.Min + image_size), ImVec2(static_cast(cover_texture->GetWidth()), static_cast(cover_texture->GetHeight())))); - ImGui::GetWindowDrawList()->AddImage(cover_texture->GetNativeHandle(), image_rect.Min, image_rect.Max, ImVec2(0.0f, 0.0f), - ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(cover_texture->GetNativeHandle()), + image_rect.Min, image_rect.Max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); const float midpoint = bb.Min.y + g_large_font->FontSize + LayoutScale(4.0f); const float text_start_x = bb.Min.x + image_size.x + LayoutScale(15.0f); @@ -6084,8 +6094,8 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size) ImVec2(static_cast(cover_texture->GetWidth()), static_cast(cover_texture->GetHeight())))); ImGui::SetCursorPos(LayoutScale(ImVec2(128.0f, 20.0f)) + image_rect.Min); - ImGui::Image(selected_entry ? GetGameListCover(selected_entry)->GetNativeHandle() : - GetTextureForGameListEntryType(GameList::EntryType::Count)->GetNativeHandle(), + ImGui::Image(reinterpret_cast(selected_entry ? GetGameListCover(selected_entry)->GetNativeHandle() : + GetTextureForGameListEntryType(GameList::EntryType::Count)->GetNativeHandle()), image_rect.GetSize()); } @@ -6131,7 +6141,7 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size) std::string flag_texture(fmt::format("icons/flags/{}.png", GameList::RegionToString(selected_entry->region))); ImGui::TextUnformatted(FSUI_CSTR("Region: ")); ImGui::SameLine(); - ImGui::Image(GetCachedTextureAsync(flag_texture.c_str())->GetNativeHandle(), LayoutScale(23.0f, 16.0f)); + ImGui::Image(reinterpret_cast(GetCachedTextureAsync(flag_texture.c_str())->GetNativeHandle()), LayoutScale(23.0f, 16.0f)); ImGui::SameLine(); ImGui::Text(" (%s)", GameList::RegionToString(selected_entry->region)); } @@ -6141,7 +6151,7 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size) ImGui::SameLine(); if (selected_entry->compatibility_rating != GameDatabaseSchema::Compatibility::Unknown) { - ImGui::Image(s_game_compatibility_textures[static_cast(selected_entry->compatibility_rating) - 1]->GetNativeHandle(), + ImGui::Image(reinterpret_cast(s_game_compatibility_textures[static_cast(selected_entry->compatibility_rating) - 1]->GetNativeHandle()), LayoutScale(64.0f, 16.0f)); ImGui::SameLine(); } @@ -6260,8 +6270,8 @@ void FullscreenUI::DrawGameGrid(const ImVec2& heading_size) const ImRect image_rect(CenterImage(ImRect(bb.Min, bb.Min + image_size), ImVec2(static_cast(cover_texture->GetWidth()), static_cast(cover_texture->GetHeight())))); - ImGui::GetWindowDrawList()->AddImage(cover_texture->GetNativeHandle(), image_rect.Min, image_rect.Max, ImVec2(0.0f, 0.0f), - ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); + ImGui::GetWindowDrawList()->AddImage(reinterpret_cast(cover_texture->GetNativeHandle()), + image_rect.Min, image_rect.Max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, 255)); const ImRect title_bb(ImVec2(bb.Min.x, bb.Min.y + image_height + title_spacing), bb.Max); const std::string_view title(std::string_view(entry->GetTitle(true)).substr(0, 31)); @@ -7050,6 +7060,10 @@ TRANSLATE_NOOP("FullscreenUI", "Increases or decreases the virtual picture size TRANSLATE_NOOP("FullscreenUI", "Crop"); TRANSLATE_NOOP("FullscreenUI", "Crops the image, while respecting aspect ratio."); TRANSLATE_NOOP("FullscreenUI", "%dpx"); +TRANSLATE_NOOP("FullscreenUI", "Enable Widescreen Patches"); +TRANSLATE_NOOP("FullscreenUI", "Enables loading widescreen patches from pnach files."); +TRANSLATE_NOOP("FullscreenUI", "Enable No-Interlacing Patches"); +TRANSLATE_NOOP("FullscreenUI", "Enables loading no-interlacing patches from pnach files."); TRANSLATE_NOOP("FullscreenUI", "Bilinear Upscaling"); TRANSLATE_NOOP("FullscreenUI", "Smooths out the image when upscaling the console to the screen."); TRANSLATE_NOOP("FullscreenUI", "Integer Upscaling"); diff --git a/pcsx2/ImGui/FullscreenUI.h b/pcsx2/ImGui/FullscreenUI.h index 7f082832ce883..03ddaf783c12d 100644 --- a/pcsx2/ImGui/FullscreenUI.h +++ b/pcsx2/ImGui/FullscreenUI.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/ImGui/ImGuiAnimated.h b/pcsx2/ImGui/ImGuiAnimated.h index c4d13028f34da..c89cf5babd96e 100644 --- a/pcsx2/ImGui/ImGuiAnimated.h +++ b/pcsx2/ImGui/ImGuiAnimated.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/ImGui/ImGuiFullscreen.cpp b/pcsx2/ImGui/ImGuiFullscreen.cpp index 8d9a8a07e0e55..3bee11ee69955 100644 --- a/pcsx2/ImGui/ImGuiFullscreen.cpp +++ b/pcsx2/ImGui/ImGuiFullscreen.cpp @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define IMGUI_DEFINE_MATH_OPERATORS -#include "fmt/core.h" +#include "fmt/format.h" #include "Host.h" #include "GS/Renderers/Common/GSDevice.h" #include "GS/Renderers/Common/GSTexture.h" @@ -589,8 +589,8 @@ void ImGuiFullscreen::ForceKeyNavEnabled() ImGuiContext& g = *ImGui::GetCurrentContext(); g.ActiveIdSource = (g.ActiveIdSource == ImGuiInputSource_Mouse) ? ImGuiInputSource_Keyboard : g.ActiveIdSource; g.NavInputSource = (g.NavInputSource == ImGuiInputSource_Mouse) ? ImGuiInputSource_Keyboard : g.ActiveIdSource; - g.NavDisableHighlight = false; - g.NavDisableMouseHover = true; + g.NavCursorVisible = true; + g.NavHighlightItemUnderNav = true; } bool ImGuiFullscreen::WantsToCloseMenu() @@ -1289,7 +1289,9 @@ bool ImGuiFullscreen::FloatingButton(const char* text, float x, float y, float w bool pressed; if (enabled) { - pressed = ImGui::ButtonBehavior(bb, id, &hovered, &held, repeat_button ? ImGuiButtonFlags_Repeat : 0); + ImGui::PushItemFlag(ImGuiItemFlags_ButtonRepeat, repeat_button); + pressed = ImGui::ButtonBehavior(bb, id, &hovered, &held, 0); + ImGui::PopItemFlag(); if (hovered) { const float t = std::min(std::abs(std::sin(ImGui::GetTime() * 0.75) * 1.1), 1.0f); @@ -1822,7 +1824,7 @@ bool ImGuiFullscreen::HorizontalMenuItem(GSTexture* icon, const char* title, con const ImVec2 icon_pos = bb.Min + ImVec2((avail_width - icon_size) * 0.5f, 0.0f); ImDrawList* dl = ImGui::GetWindowDrawList(); - dl->AddImage(icon->GetNativeHandle(), icon_pos, icon_pos + ImVec2(icon_size, icon_size)); + dl->AddImage(reinterpret_cast(icon->GetNativeHandle()), icon_pos, icon_pos + ImVec2(icon_size, icon_size)); ImFont* title_font = g_large_font; const ImVec2 title_size = title_font->CalcTextSizeA(title_font->FontSize, avail_width, 0.0f, title); @@ -2746,7 +2748,7 @@ void ImGuiFullscreen::DrawNotifications(ImVec2& position, float spacing) GSTexture* tex = GetCachedTexture(notif.badge_path.c_str()); if (tex) { - dl->AddImage(tex->GetNativeHandle(), badge_min, badge_max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), + dl->AddImage(reinterpret_cast(tex->GetNativeHandle()), badge_min, badge_max, ImVec2(0.0f, 0.0f), ImVec2(1.0f, 1.0f), IM_COL32(255, 255, 255, opacity)); } } diff --git a/pcsx2/ImGui/ImGuiFullscreen.h b/pcsx2/ImGui/ImGuiFullscreen.h index 8dd73311b550a..14b20519ea5e3 100644 --- a/pcsx2/ImGui/ImGuiFullscreen.h +++ b/pcsx2/ImGui/ImGuiFullscreen.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/ImGui/ImGuiManager.cpp b/pcsx2/ImGui/ImGuiManager.cpp index 234565ce32b16..975818ae7c2a8 100644 --- a/pcsx2/ImGui/ImGuiManager.cpp +++ b/pcsx2/ImGui/ImGuiManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/Renderers/Common/GSDevice.h" @@ -23,7 +23,7 @@ #include "common/Path.h" #include "common/Timer.h" -#include "fmt/core.h" +#include "fmt/format.h" #include "imgui.h" #include "imgui_internal.h" #include "common/Image.h" @@ -143,8 +143,6 @@ bool ImGuiManager::Initialize() ImGuiIO& io = ImGui::GetIO(); io.IniFilename = nullptr; io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset | ImGuiBackendFlags_HasGamepad; - io.BackendUsingLegacyKeyArrays = 0; - io.BackendUsingLegacyNavInputArray = 0; io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard | ImGuiConfigFlags_NavEnableGamepad; io.KeyRepeatDelay = 0.5f; @@ -344,7 +342,7 @@ void ImGuiManager::SetStyle() colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.00f, 0.60f, 0.00f, 1.00f); colors[ImGuiCol_TextSelectedBg] = ImVec4(0.26f, 0.59f, 0.98f, 0.35f); colors[ImGuiCol_DragDropTarget] = ImVec4(1.00f, 1.00f, 0.00f, 0.90f); - colors[ImGuiCol_NavHighlight] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); + colors[ImGuiCol_NavCursor] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f); colors[ImGuiCol_NavWindowingHighlight] = ImVec4(1.00f, 1.00f, 1.00f, 0.70f); colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f); colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.35f); diff --git a/pcsx2/ImGui/ImGuiManager.h b/pcsx2/ImGui/ImGuiManager.h index 2c4864ef343c4..f3acb779b57f6 100644 --- a/pcsx2/ImGui/ImGuiManager.h +++ b/pcsx2/ImGui/ImGuiManager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/ImGui/ImGuiOverlays.cpp b/pcsx2/ImGui/ImGuiOverlays.cpp index 3224fafea0a9d..692e0f027ccb5 100644 --- a/pcsx2/ImGui/ImGuiOverlays.cpp +++ b/pcsx2/ImGui/ImGuiOverlays.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BuildVersion.h" @@ -47,6 +47,8 @@ #include #include +InputRecordingUI::InputRecordingData g_InputRecordingData; + namespace ImGuiManager { static void FormatProcessorStat(SmallStringBase& text, double usage, double time); @@ -397,9 +399,10 @@ __ri void ImGuiManager::DrawSettingsOverlay(float scale, float margin, float spa EmuConfig.Cpu.Recompiler.GetEEClampMode(), static_cast(EmuConfig.Cpu.VU0FPCR.GetRoundMode()), EmuConfig.Cpu.Recompiler.GetVUClampMode(), EmuConfig.GS.VsyncQueueSize); - if (EmuConfig.EnableCheats) + if (EmuConfig.EnableCheats || EmuConfig.EnableWideScreenPatches || EmuConfig.EnableNoInterlacingPatches) { - APPEND("CHT "); + APPEND("C={}{}{} ", EmuConfig.EnableCheats ? "C" : "", EmuConfig.EnableWideScreenPatches ? "W" : "", + EmuConfig.EnableNoInterlacingPatches ? "N" : ""); } if (GSIsHardwareRenderer()) @@ -679,7 +682,7 @@ __ri void ImGuiManager::DrawInputRecordingOverlay(float& position_y, float scale } while (0) // Status Indicators - if (g_InputRecording.getControls().isRecording()) + if (g_InputRecordingData.is_recording) { DRAW_LINE(standard_font, TinyString::from_format(TRANSLATE_FS("ImGuiOverlays", "{} Recording Input"), ICON_PF_CIRCLE).c_str(), IM_COL32(255, 0, 0, 255)); } @@ -689,9 +692,9 @@ __ri void ImGuiManager::DrawInputRecordingOverlay(float& position_y, float scale } // Input Recording Metadata - DRAW_LINE(fixed_font, TinyString::from_format(TRANSLATE_FS("ImGuiOverlays", "Input Recording Active: {}"), g_InputRecording.getData().getFilename()).c_str(), IM_COL32(117, 255, 241, 255)); - DRAW_LINE(fixed_font, TinyString::from_format(TRANSLATE_FS("ImGuiOverlays", "Frame: {}/{} ({})"), g_InputRecording.getFrameCounter() + 1, g_InputRecording.getData().getTotalFrames(), g_FrameCount).c_str(), IM_COL32(117, 255, 241, 255)); - DRAW_LINE(fixed_font, TinyString::from_format(TRANSLATE_FS("ImGuiOverlays", "Undo Count: {}"), g_InputRecording.getData().getUndoCount()).c_str(), IM_COL32(117, 255, 241, 255)); + DRAW_LINE(fixed_font, g_InputRecordingData.recording_active_message.c_str(), IM_COL32(117, 255, 241, 255)); + DRAW_LINE(fixed_font, g_InputRecordingData.frame_data_message.c_str(), IM_COL32(117, 255, 241, 255)); + DRAW_LINE(fixed_font, g_InputRecordingData.undo_count_message.c_str(), IM_COL32(117, 255, 241, 255)); #undef DRAW_LINE } @@ -1037,7 +1040,7 @@ void SaveStateSelectorUI::Draw() { ImGui::SetCursorPosY(y_start + padding); ImGui::SetCursorPosX(padding); - ImGui::Image(preview_texture->GetNativeHandle(), image_size); + ImGui::Image(reinterpret_cast(preview_texture->GetNativeHandle()), image_size); } ImGui::SetCursorPosY(y_start + padding); diff --git a/pcsx2/ImGui/ImGuiOverlays.h b/pcsx2/ImGui/ImGuiOverlays.h index 05f856066c2ff..946a5a7acfdbe 100644 --- a/pcsx2/ImGui/ImGuiOverlays.h +++ b/pcsx2/ImGui/ImGuiOverlays.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -28,3 +28,16 @@ namespace SaveStateSelectorUI void LoadCurrentSlot(); void SaveCurrentSlot(); } // namespace SaveStateSelectorUI + +namespace InputRecordingUI +{ + struct InputRecordingData + { + bool is_recording = false; + TinyString recording_active_message = ""; + TinyString frame_data_message = ""; + TinyString undo_count_message = ""; + }; +} + +extern InputRecordingUI::InputRecordingData g_InputRecordingData; diff --git a/pcsx2/Input/DInputSource.cpp b/pcsx2/Input/DInputSource.cpp index 4b00397c55c2e..aee9ad83b4fc0 100644 --- a/pcsx2/Input/DInputSource.cpp +++ b/pcsx2/Input/DInputSource.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define INITGUID diff --git a/pcsx2/Input/DInputSource.h b/pcsx2/Input/DInputSource.h index c77733998d74e..b210004044549 100644 --- a/pcsx2/Input/DInputSource.h +++ b/pcsx2/Input/DInputSource.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Input/InputManager.cpp b/pcsx2/Input/InputManager.cpp index 33dde367afc12..2f706e4abfe08 100644 --- a/pcsx2/Input/InputManager.cpp +++ b/pcsx2/Input/InputManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ImGui/ImGuiManager.h" @@ -16,7 +16,7 @@ #include "IconsPromptFont.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include diff --git a/pcsx2/Input/InputManager.h b/pcsx2/Input/InputManager.h index 0b735205df40d..51b93e1fe9681 100644 --- a/pcsx2/Input/InputManager.h +++ b/pcsx2/Input/InputManager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Input/InputSource.cpp b/pcsx2/Input/InputSource.cpp index 52e1a899bd67f..1d7fb97117d05 100644 --- a/pcsx2/Input/InputSource.cpp +++ b/pcsx2/Input/InputSource.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Input/InputSource.h" diff --git a/pcsx2/Input/InputSource.h b/pcsx2/Input/InputSource.h index cde3ced1a1ade..7c8e215c262a5 100644 --- a/pcsx2/Input/InputSource.h +++ b/pcsx2/Input/InputSource.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Input/SDLInputSource.cpp b/pcsx2/Input/SDLInputSource.cpp index 0e56b1fd46d81..c9012196ffeb5 100644 --- a/pcsx2/Input/SDLInputSource.cpp +++ b/pcsx2/Input/SDLInputSource.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Config.h" @@ -119,10 +119,10 @@ static constexpr const char* s_sdl_hat_direction_names[] = { }; static constexpr const char* s_sdl_default_led_colors[] = { - "0000ff", // SDL-0 - "ff0000", // SDL-1 - "00ff00", // SDL-2 - "ffff00", // SDL-3 + "000080", // SDL-0 + "800000", // SDL-1 + "008000", // SDL-2 + "808000", // SDL-3 }; static void SetControllerRGBLED(SDL_GameController* gc, u32 color) @@ -540,14 +540,14 @@ bool SDLInputSource::ProcessSDLEvent(const SDL_Event* event) { case SDL_CONTROLLERDEVICEADDED: { - Console.WriteLn("(SDLInputSource) Controller %d inserted", event->cdevice.which); + Console.WriteLn("SDLInputSource: Controller %d inserted", event->cdevice.which); OpenDevice(event->cdevice.which, true); return true; } case SDL_CONTROLLERDEVICEREMOVED: { - Console.WriteLn("(SDLInputSource) Controller %d removed", event->cdevice.which); + Console.WriteLn("SDLInputSource: Controller %d removed", event->cdevice.which); CloseDevice(event->cdevice.which); return true; } @@ -558,7 +558,7 @@ bool SDLInputSource::ProcessSDLEvent(const SDL_Event* event) if (SDL_IsGameController(event->jdevice.which)) return false; - Console.WriteLn("(SDLInputSource) Joystick %d inserted", event->jdevice.which); + Console.WriteLn("SDLInputSource: Joystick %d inserted", event->jdevice.which); OpenDevice(event->cdevice.which, false); return true; } @@ -569,7 +569,7 @@ bool SDLInputSource::ProcessSDLEvent(const SDL_Event* event) if (auto it = GetControllerDataForJoystickId(event->cdevice.which); it != m_controllers.end() && it->game_controller) return false; - Console.WriteLn("(SDLInputSource) Joystick %d removed", event->jdevice.which); + Console.WriteLn("SDLInputSource: Joystick %d removed", event->jdevice.which); CloseDevice(event->cdevice.which); return true; } @@ -657,7 +657,7 @@ bool SDLInputSource::OpenDevice(int index, bool is_gamecontroller) if (!gcontroller && !joystick) { - ERROR_LOG("(SDLInputSource) Failed to open controller {}", index); + ERROR_LOG("SDLInputSource: Failed to open controller {}", index); return false; } @@ -667,7 +667,7 @@ bool SDLInputSource::OpenDevice(int index, bool is_gamecontroller) { if (it->joystick_id == joystick_id) { - ERROR_LOG("(SDLInputSource) Controller {}, instance {}, player {} already connected, ignoring.", index, joystick_id, player_id); + ERROR_LOG("SDLInputSource: Controller {}, instance {}, player {} already connected, ignoring.", index, joystick_id, player_id); if (gcontroller) SDL_GameControllerClose(gcontroller); else @@ -680,7 +680,7 @@ bool SDLInputSource::OpenDevice(int index, bool is_gamecontroller) if (player_id < 0 || GetControllerDataForPlayerId(player_id) != m_controllers.end()) { const int free_player_id = GetFreePlayerId(); - WARNING_LOG("(SDLInputSource) Controller {} (joystick {}) returned player ID {}, which is invalid or in " + WARNING_LOG("SDLInputSource: Controller {} (joystick {}) returned player ID {}, which is invalid or in " "use. Using ID {} instead.", index, joystick_id, player_id, free_player_id); player_id = free_player_id; @@ -690,7 +690,7 @@ bool SDLInputSource::OpenDevice(int index, bool is_gamecontroller) if (!name) name = "Unknown Device"; - INFO_LOG("(SDLInputSource) Opened {} {} (instance id {}, player id {}): {}", is_gamecontroller ? "game controller" : "joystick", + INFO_LOG("SDLInputSource: Opened {} {} (instance id {}, player id {}): {}", is_gamecontroller ? "game controller" : "joystick", index, joystick_id, player_id, name); ControllerData cd = {}; @@ -717,7 +717,7 @@ bool SDLInputSource::OpenDevice(int index, bool is_gamecontroller) for (size_t i = 0; i < std::size(s_sdl_button_names); i++) mark_bind(SDL_GameControllerGetBindForButton(gcontroller, static_cast(i))); - INFO_LOG("(SDLInputSource) Controller {} has {} axes and {} buttons", player_id, num_axes, num_buttons); + INFO_LOG("SDLInputSource: Controller {} has {} axes and {} buttons", player_id, num_axes, num_buttons); } else { @@ -726,14 +726,14 @@ bool SDLInputSource::OpenDevice(int index, bool is_gamecontroller) if (num_hats > 0) cd.last_hat_state.resize(static_cast(num_hats), u8(0)); - INFO_LOG("(SDLInputSource) Joystick {} has {} axes, {} buttons and {} hats", player_id, + INFO_LOG("SDLInputSource: Joystick {} has {} axes, {} buttons and {} hats", player_id, SDL_JoystickNumAxes(joystick), SDL_JoystickNumButtons(joystick), num_hats); } cd.use_game_controller_rumble = (gcontroller && SDL_GameControllerRumble(gcontroller, 0, 0, 0) == 0); if (cd.use_game_controller_rumble) { - INFO_LOG("(SDLInputSource) Rumble is supported on '{}' via gamecontroller", name); + INFO_LOG("SDLInputSource: Rumble is supported on '{}' via gamecontroller", name); } else { @@ -752,25 +752,25 @@ bool SDLInputSource::OpenDevice(int index, bool is_gamecontroller) } else { - ERROR_LOG("(SDLInputSource) Failed to create haptic left/right effect: {}", SDL_GetError()); + ERROR_LOG("SDLInputSource: Failed to create haptic left/right effect: {}", SDL_GetError()); if (SDL_HapticRumbleSupported(haptic) && SDL_HapticRumbleInit(haptic) != 0) { cd.haptic = haptic; } else { - ERROR_LOG("(SDLInputSource) No haptic rumble supported: {}", SDL_GetError()); + ERROR_LOG("SDLInputSource: No haptic rumble supported: {}", SDL_GetError()); SDL_HapticClose(haptic); } } } if (cd.haptic) - INFO_LOG("(SDLInputSource) Rumble is supported on '{}' via haptic", name); + INFO_LOG("SDLInputSource: Rumble is supported on '{}' via haptic", name); } if (!cd.haptic && !cd.use_game_controller_rumble) - WARNING_LOG("(SDLInputSource) Rumble is not supported on '{}'", name); + WARNING_LOG("SDLInputSource: Rumble is not supported on '{}'", name); if (player_id >= 0 && static_cast(player_id) < MAX_LED_COLORS && gcontroller && SDL_GameControllerHasLED(gcontroller)) { diff --git a/pcsx2/Input/SDLInputSource.h b/pcsx2/Input/SDLInputSource.h index ccd952895e10c..5c10b1699167f 100644 --- a/pcsx2/Input/SDLInputSource.h +++ b/pcsx2/Input/SDLInputSource.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Input/XInputSource.cpp b/pcsx2/Input/XInputSource.cpp index 215f8e55d76d4..138776f04ffd7 100644 --- a/pcsx2/Input/XInputSource.cpp +++ b/pcsx2/Input/XInputSource.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Input/XInputSource.h" @@ -10,6 +10,8 @@ #include "IconsPromptFont.h" +#include "fmt/format.h" + #include static const char* s_axis_names[XInputSource::NUM_AXES] = { diff --git a/pcsx2/Input/XInputSource.h b/pcsx2/Input/XInputSource.h index bf6380033b602..7ec20548c05ef 100644 --- a/pcsx2/Input/XInputSource.h +++ b/pcsx2/Input/XInputSource.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Interpreter.cpp b/pcsx2/Interpreter.cpp index efca7d489629f..3e3560c4dd185 100644 --- a/pcsx2/Interpreter.cpp +++ b/pcsx2/Interpreter.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IopBios.cpp b/pcsx2/IopBios.cpp index 6d848c492a89d..4b270585a6299 100644 --- a/pcsx2/IopBios.cpp +++ b/pcsx2/IopBios.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IopBios.h b/pcsx2/IopBios.h index 4e400ae842f9e..770b57cebb638 100644 --- a/pcsx2/IopBios.h +++ b/pcsx2/IopBios.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IopCounters.cpp b/pcsx2/IopCounters.cpp index 4b546c066d7a4..216c87f830c13 100644 --- a/pcsx2/IopCounters.cpp +++ b/pcsx2/IopCounters.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // Note on INTC usage: All counters code is always called from inside the context of an diff --git a/pcsx2/IopCounters.h b/pcsx2/IopCounters.h index 22c4d98b3244e..c3c258d2fc3aa 100644 --- a/pcsx2/IopCounters.h +++ b/pcsx2/IopCounters.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IopDma.cpp b/pcsx2/IopDma.cpp index f335133ea703f..806db43e8f28d 100644 --- a/pcsx2/IopDma.cpp +++ b/pcsx2/IopDma.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "R3000A.h" diff --git a/pcsx2/IopDma.h b/pcsx2/IopDma.h index 6b3f4c0a1a471..3d86e93731335 100644 --- a/pcsx2/IopDma.h +++ b/pcsx2/IopDma.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IopGte.cpp b/pcsx2/IopGte.cpp index ee18d275efc71..3da8d0db257df 100644 --- a/pcsx2/IopGte.cpp +++ b/pcsx2/IopGte.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IopGte.h" diff --git a/pcsx2/IopGte.h b/pcsx2/IopGte.h index 33d5da183d121..a205a457c6d39 100644 --- a/pcsx2/IopGte.h +++ b/pcsx2/IopGte.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IopHw.cpp b/pcsx2/IopHw.cpp index 6c277f37fc118..8b300bdcaace8 100644 --- a/pcsx2/IopHw.cpp +++ b/pcsx2/IopHw.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/IopHw.h b/pcsx2/IopHw.h index 9f3ae4a582559..eba60e4f16414 100644 --- a/pcsx2/IopHw.h +++ b/pcsx2/IopHw.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IopIrq.cpp b/pcsx2/IopIrq.cpp index 573fb90120212..16c80c4e69add 100644 --- a/pcsx2/IopIrq.cpp +++ b/pcsx2/IopIrq.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DEV9/DEV9.h" diff --git a/pcsx2/IopMem.cpp b/pcsx2/IopMem.cpp index 11cdea42b539f..c633e8bfabe7a 100644 --- a/pcsx2/IopMem.cpp +++ b/pcsx2/IopMem.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/AlignedMalloc.h" diff --git a/pcsx2/IopMem.h b/pcsx2/IopMem.h index cbb0ff1c70ccd..f4c148214b62b 100644 --- a/pcsx2/IopMem.h +++ b/pcsx2/IopMem.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/IopModuleNames.cpp b/pcsx2/IopModuleNames.cpp index 869744eafe948..db1e0496fb9fc 100644 --- a/pcsx2/IopModuleNames.cpp +++ b/pcsx2/IopModuleNames.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define MODULE(n) if (#n == libname) switch (index) { diff --git a/pcsx2/LayeredSettingsInterface.cpp b/pcsx2/LayeredSettingsInterface.cpp index 4bcc3365f3264..386ee3caf9a22 100644 --- a/pcsx2/LayeredSettingsInterface.cpp +++ b/pcsx2/LayeredSettingsInterface.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "LayeredSettingsInterface.h" diff --git a/pcsx2/LayeredSettingsInterface.h b/pcsx2/LayeredSettingsInterface.h index 17d529661bd67..a89b94781febb 100644 --- a/pcsx2/LayeredSettingsInterface.h +++ b/pcsx2/LayeredSettingsInterface.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/MMI.cpp b/pcsx2/MMI.cpp index 0830bf4293fa2..8e5086e29547d 100644 --- a/pcsx2/MMI.cpp +++ b/pcsx2/MMI.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/MTGS.cpp b/pcsx2/MTGS.cpp index 74a9c77d8307c..4eccd24bf2af8 100644 --- a/pcsx2/MTGS.cpp +++ b/pcsx2/MTGS.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS.h" diff --git a/pcsx2/MTGS.h b/pcsx2/MTGS.h index 5dd79742bf36c..442e8e6d2cf16 100644 --- a/pcsx2/MTGS.h +++ b/pcsx2/MTGS.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/MTVU.cpp b/pcsx2/MTVU.cpp index 51c0eff97470c..907b1c6528f0f 100644 --- a/pcsx2/MTVU.cpp +++ b/pcsx2/MTVU.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/MTVU.h b/pcsx2/MTVU.h index 658555378d654..7625c47664e86 100644 --- a/pcsx2/MTVU.h +++ b/pcsx2/MTVU.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Mdec.cpp b/pcsx2/Mdec.cpp index a44e037df6c81..dd0a7d2a9bed1 100644 --- a/pcsx2/Mdec.cpp +++ b/pcsx2/Mdec.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ /* This code was based on the FPSE v0.08 Mdec decoder*/ diff --git a/pcsx2/Mdec.h b/pcsx2/Mdec.h index 2af09ea5d4581..8a3aa8fa3dcd0 100644 --- a/pcsx2/Mdec.h +++ b/pcsx2/Mdec.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #pragma once diff --git a/pcsx2/Memory.cpp b/pcsx2/Memory.cpp index 4392d1ab097da..22bd1209ebca2 100644 --- a/pcsx2/Memory.cpp +++ b/pcsx2/Memory.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* diff --git a/pcsx2/Memory.h b/pcsx2/Memory.h index cc3e9f33e08b3..6b50e5842899a 100644 --- a/pcsx2/Memory.h +++ b/pcsx2/Memory.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/MemoryTypes.h b/pcsx2/MemoryTypes.h index 3bccc81f94e3e..3f550c46b4019 100644 --- a/pcsx2/MemoryTypes.h +++ b/pcsx2/MemoryTypes.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/PINE.cpp b/pcsx2/PINE.cpp index a7bf73af01d60..aea4ffe22b77f 100644 --- a/pcsx2/PINE.cpp +++ b/pcsx2/PINE.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BuildVersion.h" diff --git a/pcsx2/PINE.h b/pcsx2/PINE.h index a71e1be85348c..d176796635065 100644 --- a/pcsx2/PINE.h +++ b/pcsx2/PINE.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* A reference client implementation for interfacing with PINE is available diff --git a/pcsx2/Patch.cpp b/pcsx2/Patch.cpp index 7e63d1db6e577..add4a078c9b60 100644 --- a/pcsx2/Patch.cpp +++ b/pcsx2/Patch.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define _PC_ // disables MIPS opcode macros. @@ -156,18 +156,22 @@ namespace Patch static bool PatchStringHasUnlabelledPatch(const std::string& pnach_data); static void ExtractPatchInfo(PatchInfoList* dst, const std::string& pnach_data, u32* num_unlabelled_patches); static void ReloadEnabledLists(); - static u32 EnablePatches(const PatchList& patches, const EnablePatchList& enable_list); + static u32 EnablePatches(const PatchList& patches, const EnablePatchList& enable_list, const EnablePatchList& enable_immediately_list); static void ApplyPatch(const PatchCommand* p); static void ApplyDynaPatch(const DynamicPatch& patch, u32 address); static void writeCheat(); static void handle_extended_t(const PatchCommand* p); + // Name of patches which will be auto-enabled based on global options. + static constexpr std::string_view WS_PATCH_NAME = "Widescreen 16:9"; + static constexpr std::string_view NI_PATCH_NAME = "No-Interlacing"; static constexpr std::string_view PATCHES_ZIP_NAME = "patches.zip"; const char* PATCHES_CONFIG_SECTION = "Patches"; const char* CHEATS_CONFIG_SECTION = "Cheats"; const char* PATCH_ENABLE_CONFIG_KEY = "Enable"; + const char* PATCH_DISABLE_CONFIG_KEY = "Disable"; static zip_t* s_patches_zip; static PatchList s_gamedb_patches; @@ -179,6 +183,8 @@ namespace Patch static std::vector s_active_pnach_dynamic_patches; static EnablePatchList s_enabled_cheats; static EnablePatchList s_enabled_patches; + static EnablePatchList s_just_enabled_cheats; + static EnablePatchList s_just_enabled_patches; static u32 s_patches_crc; static std::optional s_override_aspect_ratio; static std::optional s_override_interlace_mode; @@ -362,12 +368,14 @@ bool Patch::OpenPatchesZip() std::string Patch::GetPnachTemplate(const std::string_view serial, u32 crc, bool include_serial, bool add_wildcard, bool all_crcs) { pxAssert(!all_crcs || (include_serial && add_wildcard)); - if (all_crcs) - return fmt::format("{}_*.pnach", serial); - else if (include_serial) - return fmt::format("{}_{:08X}{}.pnach", serial, crc, add_wildcard ? "*" : ""); - else - return fmt::format("{:08X}{}.pnach", crc, add_wildcard ? "*" : ""); + if (!serial.empty()) + { + if (all_crcs) + return fmt::format("{}_*.pnach", serial); + else if (include_serial) + return fmt::format("{}_{:08X}{}.pnach", serial, crc, add_wildcard ? "*" : ""); + } + return fmt::format("{:08X}{}.pnach", crc, add_wildcard ? "*" : ""); } std::vector Patch::FindPatchFilesOnDisk(const std::string_view serial, u32 crc, bool cheats, bool all_crcs) @@ -579,16 +587,67 @@ std::string Patch::GetPnachFilename(const std::string_view serial, u32 crc, bool void Patch::ReloadEnabledLists() { + const EnablePatchList prev_enabled_cheats = std::move(s_enabled_cheats); if (EmuConfig.EnableCheats && !Achievements::IsHardcoreModeActive()) s_enabled_cheats = Host::GetStringListSetting(CHEATS_CONFIG_SECTION, PATCH_ENABLE_CONFIG_KEY); else s_enabled_cheats = {}; - s_enabled_patches = Host::GetStringListSetting(PATCHES_CONFIG_SECTION, PATCH_ENABLE_CONFIG_KEY); + const EnablePatchList prev_enabled_patches = std::exchange(s_enabled_patches, Host::GetStringListSetting(PATCHES_CONFIG_SECTION, PATCH_ENABLE_CONFIG_KEY)); + const EnablePatchList disabled_patches = Host::GetStringListSetting(PATCHES_CONFIG_SECTION, PATCH_DISABLE_CONFIG_KEY); + + // Name based matching for widescreen/NI settings. + if (EmuConfig.EnableWideScreenPatches) + { + if (std::none_of(s_enabled_patches.begin(), s_enabled_patches.end(), + [](const std::string& it) { return (it == WS_PATCH_NAME); })) + { + s_enabled_patches.emplace_back(WS_PATCH_NAME); + } + } + if (EmuConfig.EnableNoInterlacingPatches) + { + if (std::none_of(s_enabled_patches.begin(), s_enabled_patches.end(), + [](const std::string& it) { return (it == NI_PATCH_NAME); })) + { + s_enabled_patches.emplace_back(NI_PATCH_NAME); + } + } + + for (auto it = s_enabled_patches.begin(); it != s_enabled_patches.end();) + { + if (std::find(disabled_patches.begin(), disabled_patches.end(), *it) != disabled_patches.end()) + { + it = s_enabled_patches.erase(it); + } + else + { + ++it; + } + } + + s_just_enabled_cheats.clear(); + s_just_enabled_patches.clear(); + for (const auto& p : s_enabled_cheats) + { + if (std::find(prev_enabled_cheats.begin(), prev_enabled_cheats.end(), p) == prev_enabled_cheats.end()) + { + s_just_enabled_cheats.emplace_back(p); + } + } + for (const auto& p : s_enabled_patches) + { + if (std::find(prev_enabled_patches.begin(), prev_enabled_patches.end(), p) == prev_enabled_patches.end()) + { + s_just_enabled_patches.emplace_back(p); + } + } } -u32 Patch::EnablePatches(const PatchList& patches, const EnablePatchList& enable_list) +u32 Patch::EnablePatches(const PatchList& patches, const EnablePatchList& enable_list, const EnablePatchList& enable_immediately_list) { + ActivePatchList patches_to_apply_immediately; + u32 count = 0; for (const PatchGroup& p : patches) { @@ -600,6 +659,7 @@ u32 Patch::EnablePatches(const PatchList& patches, const EnablePatchList& enable Console.WriteLn(Color_Green, fmt::format("Enabled patch: {}", p.name.empty() ? std::string_view("") : std::string_view(p.name))); + const bool apply_immediately = std::find(enable_immediately_list.begin(), enable_immediately_list.end(), p.name) != enable_immediately_list.end(); for (const PatchCommand& ip : p.patches) { // print the actual patch lines only in verbose mode (even in devel) @@ -607,6 +667,8 @@ u32 Patch::EnablePatches(const PatchList& patches, const EnablePatchList& enable DevCon.WriteLnFmt(" {}", ip.ToString()); s_active_patches.push_back(&ip); + if (apply_immediately && ip.placetopatch == PPT_ONCE_ON_LOAD) + patches_to_apply_immediately.push_back(&ip); } for (const DynamicPatch& dp : p.dpatches) @@ -623,6 +685,16 @@ u32 Patch::EnablePatches(const PatchList& patches, const EnablePatchList& enable count += p.name.empty() ? (static_cast(p.patches.size()) + static_cast(p.dpatches.size())) : 1; } + if (!patches_to_apply_immediately.empty()) + { + Host::RunOnCPUThread([patches = std::move(patches_to_apply_immediately)]() { + for (const PatchCommand* i : patches) + { + ApplyPatch(i); + } + }); + } + return count; } @@ -667,10 +739,10 @@ void Patch::ReloadPatches(const std::string& serial, u32 crc, bool reload_files, }); } - UpdateActivePatches(reload_enabled_list, verbose, verbose_if_changed); + UpdateActivePatches(reload_enabled_list, verbose, verbose_if_changed, false); } -void Patch::UpdateActivePatches(bool reload_enabled_list, bool verbose, bool verbose_if_changed) +void Patch::UpdateActivePatches(bool reload_enabled_list, bool verbose, bool verbose_if_changed, bool apply_new_patches) { if (reload_enabled_list) ReloadEnabledLists(); @@ -685,19 +757,19 @@ void Patch::UpdateActivePatches(bool reload_enabled_list, bool verbose, bool ver u32 gp_count = 0; if (EmuConfig.EnablePatches) { - gp_count = EnablePatches(s_gamedb_patches, EnablePatchList()); + gp_count = EnablePatches(s_gamedb_patches, EnablePatchList(), EnablePatchList()); if (gp_count > 0) message.append(TRANSLATE_PLURAL_STR("Patch", "%n GameDB patches are active.", "OSD Message", gp_count)); } - const u32 p_count = EnablePatches(s_game_patches, s_enabled_patches); + const u32 p_count = EnablePatches(s_game_patches, s_enabled_patches, apply_new_patches ? s_just_enabled_patches : EnablePatchList()); if (p_count > 0) { message.append_format("{}{}", message.empty() ? "" : "\n", TRANSLATE_PLURAL_STR("Patch", "%n game patches are active.", "OSD Message", p_count)); } - const u32 c_count = EmuConfig.EnableCheats ? EnablePatches(s_cheat_patches, s_enabled_cheats) : 0; + const u32 c_count = EmuConfig.EnableCheats ? EnablePatches(s_cheat_patches, s_enabled_cheats, apply_new_patches ? s_just_enabled_cheats : EnablePatchList()) : 0; if (c_count > 0) { message.append_format("{}{}", message.empty() ? "" : "\n", @@ -1006,6 +1078,11 @@ void Patch::ApplyLoadedPatches(patch_place_type place) } } +bool Patch::IsGloballyToggleablePatch(const PatchInfo& patch_info) +{ + return patch_info.name == WS_PATCH_NAME || patch_info.name == NI_PATCH_NAME; +} + void Patch::ApplyDynamicPatches(u32 pc) { for (const auto& dynpatch : s_active_pnach_dynamic_patches) diff --git a/pcsx2/Patch.h b/pcsx2/Patch.h index 34d3e25801ba7..4a3f46fd9c06f 100644 --- a/pcsx2/Patch.h +++ b/pcsx2/Patch.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -78,6 +78,7 @@ namespace Patch extern const char* PATCHES_CONFIG_SECTION; extern const char* CHEATS_CONFIG_SECTION; extern const char* PATCH_ENABLE_CONFIG_KEY; + extern const char* PATCH_DISABLE_CONFIG_KEY; extern PatchInfoList GetPatchInfo(const std::string_view serial, u32 crc, bool cheats, bool showAllCRCS, u32* num_unlabelled_patches); @@ -87,7 +88,7 @@ namespace Patch /// Reloads cheats/patches. If verbose is set, the number of patches loaded will be shown in the OSD. extern void ReloadPatches(const std::string& serial, u32 crc, bool reload_files, bool reload_enabled_list, bool verbose, bool verbose_if_changed); - extern void UpdateActivePatches(bool reload_enabled_list, bool verbose, bool verbose_if_changed); + extern void UpdateActivePatches(bool reload_enabled_list, bool verbose, bool verbose_if_changed, bool apply_new_patches); extern void ApplyPatchSettingOverrides(); extern bool ReloadPatchAffectingOptions(); extern void UnloadPatches(); @@ -103,4 +104,6 @@ namespace Patch // and then it loads only the ones which are enabled according to the current config // (this happens at AppCoreThread::ApplySettings(...) ) extern void ApplyLoadedPatches(patch_place_type place); + + extern bool IsGloballyToggleablePatch(const PatchInfo& patch_info); } // namespace Patch \ No newline at end of file diff --git a/pcsx2/Pcsx2Config.cpp b/pcsx2/Pcsx2Config.cpp index 0643e9c1c189a..52212a0da70af 100644 --- a/pcsx2/Pcsx2Config.cpp +++ b/pcsx2/Pcsx2Config.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/CocoaTools.h" @@ -971,6 +971,7 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap) SettingsWrapBitBoolEx(SaveTexture, "savet"); SettingsWrapBitBoolEx(SaveDepth, "savez"); SettingsWrapBitBoolEx(SaveAlpha, "savea"); + SettingsWrapBitBoolEx(SaveInfo, "savei"); SettingsWrapBitBool(DumpReplaceableTextures); SettingsWrapBitBool(DumpReplaceableMipmaps); SettingsWrapBitBool(DumpTexturesWithFMVActive); @@ -1031,10 +1032,10 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap) SettingsWrapBitfieldEx(PNGCompressionLevel, "png_compression_level"); SettingsWrapBitfieldEx(SaveN, "saven"); SettingsWrapBitfieldEx(SaveL, "savel"); - SettingsWrapBitfieldEx(SaveL, "saveb"); + SettingsWrapBitfieldEx(SaveB, "saveb"); SettingsWrapBitfieldEx(SaveNF, "savenf"); SettingsWrapBitfieldEx(SaveLF, "savelf"); - SettingsWrapBitfieldEx(SaveLF, "savebf"); + SettingsWrapBitfieldEx(SaveBF, "savebf"); SettingsWrapEntryEx(CaptureContainer, "CaptureContainer"); SettingsWrapEntryEx(VideoCaptureCodec, "VideoCaptureCodec"); @@ -1122,8 +1123,8 @@ bool Pcsx2Config::GSOptions::UseHardwareRenderer() const bool Pcsx2Config::GSOptions::ShouldDump(int draw, int frame) const { return DumpGSData && - (SaveN <= draw) && (draw < SaveN + SaveL) && (draw % SaveB == 0) && - (SaveNF <= frame) && (frame < SaveNF + SaveLF) && (frame % SaveBF == 0); + (SaveN <= draw) && ((SaveL < 0) || (draw < SaveN + SaveL)) && (draw % SaveB == 0) && + (SaveNF <= frame) && ((SaveLF < 0) || (frame < SaveNF + SaveLF)) && (frame % SaveBF == 0); } static constexpr const std::array s_spu2_sync_mode_names = { @@ -1914,6 +1915,7 @@ Pcsx2Config::Pcsx2Config() InhibitScreensaver = true; BackupSavestate = true; WarnAboutUnsafeSettings = true; + ManuallySetRealTimeClock = false; // To be moved to FileMemoryCard pluign (someday) for (uint slot = 0; slot < 8; ++slot) @@ -1926,6 +1928,12 @@ Pcsx2Config::Pcsx2Config() GzipIsoIndexTemplate = "$(f).pindex.tmp"; PINESlot = 28011; + RtcYear = 0; + RtcMonth = 1; + RtcDay = 1; + RtcHour = 0; + RtcMinute = 0; + RtcSecond = 0; } void Pcsx2Config::LoadSaveCore(SettingsWrapper& wrap) @@ -1938,6 +1946,8 @@ void Pcsx2Config::LoadSaveCore(SettingsWrapper& wrap) SettingsWrapBitBool(EnablePatches); SettingsWrapBitBool(EnableCheats); SettingsWrapBitBool(EnablePINE); + SettingsWrapBitBool(EnableWideScreenPatches); + SettingsWrapBitBool(EnableNoInterlacingPatches); SettingsWrapBitBool(EnableFastBoot); SettingsWrapBitBool(EnableFastBootFastForward); SettingsWrapBitBool(EnableThreadPinning); @@ -1954,6 +1964,8 @@ void Pcsx2Config::LoadSaveCore(SettingsWrapper& wrap) SettingsWrapBitBool(WarnAboutUnsafeSettings); + SettingsWrapBitBool(ManuallySetRealTimeClock); + // Process various sub-components: Speedhacks.LoadSave(wrap); @@ -1973,6 +1985,12 @@ void Pcsx2Config::LoadSaveCore(SettingsWrapper& wrap) SettingsWrapEntry(GzipIsoIndexTemplate); SettingsWrapEntry(PINESlot); + SettingsWrapEntry(RtcYear); + SettingsWrapEntry(RtcMonth); + SettingsWrapEntry(RtcDay); + SettingsWrapEntry(RtcHour); + SettingsWrapEntry(RtcMinute); + SettingsWrapEntry(RtcSecond); // For now, this in the derived config for backwards ini compatibility. SettingsWrapEntryEx(CurrentBlockdump, "BlockDumpSaveDirectory"); diff --git a/pcsx2/PerformanceMetrics.cpp b/pcsx2/PerformanceMetrics.cpp index 53d2ad5d1142d..990cc6f0db03b 100644 --- a/pcsx2/PerformanceMetrics.cpp +++ b/pcsx2/PerformanceMetrics.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/PerformanceMetrics.h b/pcsx2/PerformanceMetrics.h index fea888a65ca95..5cf5620db85e8 100644 --- a/pcsx2/PerformanceMetrics.h +++ b/pcsx2/PerformanceMetrics.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/PrecompiledHeader.cpp b/pcsx2/PrecompiledHeader.cpp index 8ac5a5df696d6..c58ca9311f4be 100644 --- a/pcsx2/PrecompiledHeader.cpp +++ b/pcsx2/PrecompiledHeader.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "PrecompiledHeader.h" diff --git a/pcsx2/PrecompiledHeader.h b/pcsx2/PrecompiledHeader.h index c558b6c223475..faee680d48987 100644 --- a/pcsx2/PrecompiledHeader.h +++ b/pcsx2/PrecompiledHeader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -43,5 +43,5 @@ // We use fmt a fair bit now. // fmt pch breaks GCC in debug builds: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114370 #if !defined(__GNUC__) || defined(__clang__) -#include "fmt/core.h" +#include "fmt/format.h" #endif diff --git a/pcsx2/R3000A.cpp b/pcsx2/R3000A.cpp index e5ad66f485c8c..2d263cf0efbcd 100644 --- a/pcsx2/R3000A.cpp +++ b/pcsx2/R3000A.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "R3000A.h" diff --git a/pcsx2/R3000A.h b/pcsx2/R3000A.h index e8db218ff46d8..0760c25671210 100644 --- a/pcsx2/R3000A.h +++ b/pcsx2/R3000A.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/R3000AInterpreter.cpp b/pcsx2/R3000AInterpreter.cpp index ff4daafaf07e5..67cb011533cb3 100644 --- a/pcsx2/R3000AInterpreter.cpp +++ b/pcsx2/R3000AInterpreter.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "R3000A.h" @@ -237,7 +237,7 @@ static void doBranch(s32 tar) { // This detects when SYSMEM is called and clears the modules then if(tar == 0x890) { - DevCon.WriteLn(Color_Gray, "[R3000 Debugger] Branch to 0x890 (SYSMEM). Clearing modules."); + DevCon.WriteLn(Color_Gray, "R3000 Debugger: Branch to 0x890 (SYSMEM). Clearing modules."); R3000SymbolGuardian.ClearIrxModules(); } diff --git a/pcsx2/R3000AOpcodeTables.cpp b/pcsx2/R3000AOpcodeTables.cpp index 230c43e77feca..6859d3c17ae48 100644 --- a/pcsx2/R3000AOpcodeTables.cpp +++ b/pcsx2/R3000AOpcodeTables.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "R3000A.h" diff --git a/pcsx2/R5900.cpp b/pcsx2/R5900.cpp index da3e80f055e76..a2cde6596def8 100644 --- a/pcsx2/R5900.cpp +++ b/pcsx2/R5900.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" @@ -36,6 +36,8 @@ u32 EEoCycle; alignas(16) cpuRegistersPack _cpuRegistersPack; alignas(16) tlbs tlb[48]; +cachedTlbs_t cachedTlbs; + R5900cpu *Cpu = NULL; static constexpr uint eeWaitCycles = 3072; @@ -59,6 +61,7 @@ void cpuReset() std::memset(&cpuRegs, 0, sizeof(cpuRegs)); std::memset(&fpuRegs, 0, sizeof(fpuRegs)); std::memset(&tlb, 0, sizeof(tlb)); + cachedTlbs.count = 0; cpuRegs.pc = 0xbfc00000; //set pc reg to stack cpuRegs.CP0.n.Config = 0x440; diff --git a/pcsx2/R5900.h b/pcsx2/R5900.h index 164f3171aee5b..b786b54842c79 100644 --- a/pcsx2/R5900.h +++ b/pcsx2/R5900.h @@ -1,10 +1,12 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once #include "common/Pcsx2Defs.h" +#include + // -------------------------------------------------------------------------------------- // EE Bios function name tables. // -------------------------------------------------------------------------------------- @@ -160,17 +162,68 @@ struct fpuRegisters { u32 ACCflag; // an internal accumulator overflow flag }; +union PageMask_t +{ + struct + { + u32 : 13; + u32 Mask : 12; + u32 : 7; + }; + u32 UL; +}; + +union EntryHi_t +{ + struct + { + u32 ASID:8; + u32 : 5; + u32 VPN2:19; + }; + u32 UL; +}; + +union EntryLo_t +{ + struct + { + u32 G:1; + u32 V:1; + u32 D:1; + u32 C:3; + u32 PFN:20; + u32 : 5; + u32 S : 1; // Only used in EntryLo0 + }; + u32 UL; + + constexpr bool isCached() const { return C == 0x3; } + constexpr bool isValidCacheMode() const { return C == 0x2 || C == 0x3 || C == 0x7; } +}; + struct tlbs { - u32 PageMask,EntryHi; - u32 EntryLo0,EntryLo1; - u32 Mask, nMask; - u32 G; - u32 ASID; - u32 VPN2; - u32 PFN0; - u32 PFN1; - u32 S; + PageMask_t PageMask; + EntryHi_t EntryHi; + EntryLo_t EntryLo0; + EntryLo_t EntryLo1; + + // (((cpuRegs.CP0.n.EntryLo0 >> 6) & 0xFFFFF) & (~tlb[i].Mask())) << 12; + constexpr u32 PFN0() const { return (EntryLo0.PFN & ~Mask()) << 12; } + constexpr u32 PFN1() const { return (EntryLo1.PFN & ~Mask()) << 12; } + constexpr u32 VPN2() const {return ((EntryHi.VPN2) & (~Mask())) << 13; } + constexpr u32 Mask() const { return PageMask.Mask; } + constexpr bool isGlobal() const { return EntryLo0.G && EntryLo1.G; } + constexpr bool isSPR() const { return EntryLo0.S; } + + constexpr bool operator==(const tlbs& other) const + { + return PageMask.UL == other.PageMask.UL && + EntryHi.UL == other.EntryHi.UL && + EntryLo0.UL == other.EntryLo0.UL && + EntryLo1.UL == other.EntryLo1.UL; + } }; #ifndef _PC_ @@ -211,6 +264,19 @@ struct cpuRegistersPack alignas(16) extern cpuRegistersPack _cpuRegistersPack; alignas(16) extern tlbs tlb[48]; +struct cachedTlbs_t +{ + u32 count; + + alignas(16) std::array PageMasks; + alignas(16) std::array PFN1s; + alignas(16) std::array CacheEnabled1; + alignas(16) std::array PFN0s; + alignas(16) std::array CacheEnabled0; +}; + +extern cachedTlbs_t cachedTlbs; + static cpuRegisters& cpuRegs = _cpuRegistersPack.cpuRegs; static fpuRegisters& fpuRegs = _cpuRegistersPack.fpuRegs; diff --git a/pcsx2/R5900OpcodeImpl.cpp b/pcsx2/R5900OpcodeImpl.cpp index 81e1dc6065e6d..4727dfad81307 100644 --- a/pcsx2/R5900OpcodeImpl.cpp +++ b/pcsx2/R5900OpcodeImpl.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/R5900OpcodeTables.cpp b/pcsx2/R5900OpcodeTables.cpp index b170b42d54c10..e0e3515e01ae7 100644 --- a/pcsx2/R5900OpcodeTables.cpp +++ b/pcsx2/R5900OpcodeTables.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ //all tables for R5900 are define here.. diff --git a/pcsx2/R5900OpcodeTables.h b/pcsx2/R5900OpcodeTables.h index 9d3b6b79d71c5..369d1011ec5d5 100644 --- a/pcsx2/R5900OpcodeTables.h +++ b/pcsx2/R5900OpcodeTables.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/RDebug/deci2.cpp b/pcsx2/RDebug/deci2.cpp index cb2b3b1e72d7d..bf17b573f4280 100644 --- a/pcsx2/RDebug/deci2.cpp +++ b/pcsx2/RDebug/deci2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/RDebug/deci2.h b/pcsx2/RDebug/deci2.h index 03f68e2f170a9..fd5d7eeecba57 100644 --- a/pcsx2/RDebug/deci2.h +++ b/pcsx2/RDebug/deci2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/RDebug/deci2_dbgp.cpp b/pcsx2/RDebug/deci2_dbgp.cpp index de0a1712030d0..f67006fadbe72 100644 --- a/pcsx2/RDebug/deci2_dbgp.cpp +++ b/pcsx2/RDebug/deci2_dbgp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "VUmicro.h" diff --git a/pcsx2/RDebug/deci2_dbgp.h b/pcsx2/RDebug/deci2_dbgp.h index 8fe256f57bc3a..8a97f501199f9 100644 --- a/pcsx2/RDebug/deci2_dbgp.h +++ b/pcsx2/RDebug/deci2_dbgp.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/RDebug/deci2_dcmp.cpp b/pcsx2/RDebug/deci2_dcmp.cpp index f2689cae0eb1c..300d256ef092b 100644 --- a/pcsx2/RDebug/deci2_dcmp.cpp +++ b/pcsx2/RDebug/deci2_dcmp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/RDebug/deci2_dcmp.h b/pcsx2/RDebug/deci2_dcmp.h index 30bf0dd7578f3..ce38f71aa9133 100644 --- a/pcsx2/RDebug/deci2_dcmp.h +++ b/pcsx2/RDebug/deci2_dcmp.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/RDebug/deci2_drfp.cpp b/pcsx2/RDebug/deci2_drfp.cpp index 72887566c1fe6..93e8368a5a0a4 100644 --- a/pcsx2/RDebug/deci2_drfp.cpp +++ b/pcsx2/RDebug/deci2_drfp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/RDebug/deci2_drfp.h b/pcsx2/RDebug/deci2_drfp.h index ca610fb37609c..f24fdefc5b017 100644 --- a/pcsx2/RDebug/deci2_drfp.h +++ b/pcsx2/RDebug/deci2_drfp.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/RDebug/deci2_iloadp.cpp b/pcsx2/RDebug/deci2_iloadp.cpp index 5d0d9a2611f55..b9a4fdec0307f 100644 --- a/pcsx2/RDebug/deci2_iloadp.cpp +++ b/pcsx2/RDebug/deci2_iloadp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IopBios2.h" diff --git a/pcsx2/RDebug/deci2_iloadp.h b/pcsx2/RDebug/deci2_iloadp.h index 0f15d824da603..93fb80e8bf036 100644 --- a/pcsx2/RDebug/deci2_iloadp.h +++ b/pcsx2/RDebug/deci2_iloadp.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/RDebug/deci2_netmp.cpp b/pcsx2/RDebug/deci2_netmp.cpp index 99ee41899da1b..f8994899e8393 100644 --- a/pcsx2/RDebug/deci2_netmp.cpp +++ b/pcsx2/RDebug/deci2_netmp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/RDebug/deci2_netmp.h b/pcsx2/RDebug/deci2_netmp.h index cae48ae5a53c0..6c6a5d2fa8f15 100644 --- a/pcsx2/RDebug/deci2_netmp.h +++ b/pcsx2/RDebug/deci2_netmp.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/RDebug/deci2_ttyp.cpp b/pcsx2/RDebug/deci2_ttyp.cpp index 84734b2793f06..88e26bdb81859 100644 --- a/pcsx2/RDebug/deci2_ttyp.cpp +++ b/pcsx2/RDebug/deci2_ttyp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/RDebug/deci2_ttyp.h b/pcsx2/RDebug/deci2_ttyp.h index a82c3f986c40c..b62014f085f2c 100644 --- a/pcsx2/RDebug/deci2_ttyp.h +++ b/pcsx2/RDebug/deci2_ttyp.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Recording/InputRecording.cpp b/pcsx2/Recording/InputRecording.cpp index ceb57857a22cd..35c947d2e984b 100644 --- a/pcsx2/Recording/InputRecording.cpp +++ b/pcsx2/Recording/InputRecording.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Counters.h" @@ -26,6 +26,8 @@ bool SaveStateBase::InputRecordingFreeze() #include "Counters.h" #include "SaveState.h" #include "VMManager.h" +#include "Host.h" +#include "ImGui/ImGuiOverlays.h" #include "DebugTools/Debug.h" #include "GameDatabase.h" #include "fmt/format.h" @@ -237,8 +239,9 @@ void InputRecording::incFrameCounter() if (m_controls.isReplaying()) { + InformGSThread(); // If we've reached the end of the recording while replaying, pause - if (m_frame_counter == m_file.getTotalFrames() - 1) + if (m_frame_counter == m_file.getTotalFrames()) { VMManager::SetPaused(true); // Can also stop watching for re-records, they've watched to the end of the recording @@ -247,6 +250,7 @@ void InputRecording::incFrameCounter() } if (m_controls.isRecording()) { + m_frame_counter_stateless++; m_file.setTotalFrames(m_frame_counter); // If we've been in record mode and moved to the next frame, we've overrote something // if this was following a save-state loading, this is considered a re-record, a.k.a an undo @@ -255,14 +259,20 @@ void InputRecording::incFrameCounter() m_file.incrementUndoCount(); m_watching_for_rerecords = false; } + InformGSThread(); } } -u64 InputRecording::getFrameCounter() const +u32 InputRecording::getFrameCounter() const { return m_frame_counter; } +u32 InputRecording::getFrameCounterStateless() const +{ + return m_frame_counter_stateless; +} + bool InputRecording::isActive() const { return m_is_active; @@ -320,6 +330,12 @@ void InputRecording::setStartingFrame(u32 startingFrame) } InputRec::consoleLog(fmt::format("Internal Starting Frame: {}", startingFrame)); m_starting_frame = startingFrame; + InformGSThread(); +} + +u32 InputRecording::getStartingFrame() +{ + return m_starting_frame; } void InputRecording::adjustFrameCounterOnReRecord(u32 newFrameCounter) @@ -351,6 +367,9 @@ void InputRecording::adjustFrameCounterOnReRecord(u32 newFrameCounter) getControls().setReplayMode(); } m_frame_counter = newFrameCounter - m_starting_frame; + m_frame_counter_stateless--; + m_file.setTotalFrames(m_frame_counter); + InformGSThread(); } InputRecordingControls& InputRecording::getControls() @@ -367,4 +386,20 @@ void InputRecording::initializeState() { m_frame_counter = 0; m_watching_for_rerecords = false; + InformGSThread(); +} + +void InputRecording::InformGSThread() +{ + TinyString recording_active_message = TinyString::from_format(TRANSLATE_FS("InputRecording", "Input Recording Active: {}"), g_InputRecording.getData().getFilename()); + TinyString frame_data_message = TinyString::from_format(TRANSLATE_FS("InputRecording", "Frame: {}/{} ({})"), g_InputRecording.getFrameCounter(), g_InputRecording.getData().getTotalFrames(), g_InputRecording.getFrameCounterStateless()); + TinyString undo_count_message = TinyString::from_format(TRANSLATE_FS("InputRecording", "Undo Count: {}"), g_InputRecording.getData().getUndoCount()); + + MTGS::RunOnGSThread([recording_active_message, frame_data_message, undo_count_message](bool is_recording = g_InputRecording.getControls().isRecording()) + { + g_InputRecordingData.is_recording = is_recording; + g_InputRecordingData.recording_active_message = recording_active_message; + g_InputRecordingData.frame_data_message = frame_data_message; + g_InputRecordingData.undo_count_message = undo_count_message; + }); } diff --git a/pcsx2/Recording/InputRecording.h b/pcsx2/Recording/InputRecording.h index 36d1a7e8b9d57..675253db16bc6 100644 --- a/pcsx2/Recording/InputRecording.h +++ b/pcsx2/Recording/InputRecording.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -22,14 +22,19 @@ class InputRecording bool play(const std::string& path); void stop(); + static void InformGSThread(); void handleControllerDataUpdate(); void saveControllerData(const PadData& data, const int port, const int slot); std::optional updateControllerData(const int port, const int slot); void incFrameCounter(); - u64 getFrameCounter() const; + u32 getFrameCounter() const; + u32 getFrameCounterStateless() const; bool isActive() const; void processRecordQueue(); + void setStartingFrame(u32 startingFrame); + u32 getStartingFrame(); + void handleExceededFrameCounter(); void handleReset(); void handleLoadingSavestate(); @@ -53,11 +58,11 @@ class InputRecording std::queue> m_recordingQueue; u32 m_frame_counter = 0; + u32 m_frame_counter_stateless = 0; // Either 0 for a power-on movie, or the g_FrameCount that is stored on the starting frame u32 m_starting_frame = 0; void initializeState(); - void setStartingFrame(u32 startingFrame); void closeActiveFile(); }; diff --git a/pcsx2/Recording/InputRecordingControls.cpp b/pcsx2/Recording/InputRecordingControls.cpp index d8fdcefa949dc..ed3cef6a2b434 100644 --- a/pcsx2/Recording/InputRecordingControls.cpp +++ b/pcsx2/Recording/InputRecordingControls.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DebugTools/Debug.h" diff --git a/pcsx2/Recording/InputRecordingControls.h b/pcsx2/Recording/InputRecordingControls.h index b15b4bdc66192..d3dd6bc63e25d 100644 --- a/pcsx2/Recording/InputRecordingControls.h +++ b/pcsx2/Recording/InputRecordingControls.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Recording/InputRecordingFile.cpp b/pcsx2/Recording/InputRecordingFile.cpp index b3c5fbd1c5dbf..e4d7bd099242f 100644 --- a/pcsx2/Recording/InputRecordingFile.cpp +++ b/pcsx2/Recording/InputRecordingFile.cpp @@ -1,7 +1,8 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "InputRecordingFile.h" +#include "InputRecording.h" #include "BuildVersion.h" #include "Utilities/InputRecordingLogger.h" @@ -89,6 +90,7 @@ void InputRecordingFile::incrementUndoCount() } fseek(m_recordingFile, s_seekpointUndoCount, SEEK_SET); fwrite(&m_undoCount, 4, 1, m_recordingFile); + InputRecording::InformGSThread(); } bool InputRecordingFile::openNew(const std::string& path, bool fromSavestate) @@ -104,6 +106,7 @@ bool InputRecordingFile::openNew(const std::string& path, bool fromSavestate) m_undoCount = 0; m_header.init(); m_savestate = fromSavestate; + InputRecording::InformGSThread(); return true; } @@ -123,6 +126,7 @@ bool InputRecordingFile::openExisting(const std::string& path) } m_filename = path; + InputRecording::InformGSThread(); return true; } @@ -147,13 +151,14 @@ std::optional InputRecordingFile::readPadData(const uint frame, const u void InputRecordingFile::setTotalFrames(u32 frame) { - if (m_recordingFile == nullptr || m_totalFrames >= frame) + if (m_recordingFile == nullptr) { return; } m_totalFrames = frame; fseek(m_recordingFile, s_seekpointTotalFrames, SEEK_SET); fwrite(&m_totalFrames, 4, 1, m_recordingFile); + InputRecording::InformGSThread(); } bool InputRecordingFile::writeHeader() const diff --git a/pcsx2/Recording/InputRecordingFile.h b/pcsx2/Recording/InputRecordingFile.h index 88319e1ec7125..fe25c1aafce2a 100644 --- a/pcsx2/Recording/InputRecordingFile.h +++ b/pcsx2/Recording/InputRecordingFile.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Recording/PadData.cpp b/pcsx2/Recording/PadData.cpp index c07233618ce3c..e7f0e9ef11fa3 100644 --- a/pcsx2/Recording/PadData.cpp +++ b/pcsx2/Recording/PadData.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "DebugTools/Debug.h" @@ -7,7 +7,7 @@ #include "SIO/Pad/PadDualshock2.h" #include "SIO/Sio.h" -#include +#include "fmt/format.h" PadData::PadData(const int port, const int slot) { diff --git a/pcsx2/Recording/PadData.h b/pcsx2/Recording/PadData.h index 7482c7769aefd..08a00384555ae 100644 --- a/pcsx2/Recording/PadData.h +++ b/pcsx2/Recording/PadData.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Recording/Utilities/InputRecordingLogger.cpp b/pcsx2/Recording/Utilities/InputRecordingLogger.cpp index 434acf6a99023..2199fed082c75 100644 --- a/pcsx2/Recording/Utilities/InputRecordingLogger.cpp +++ b/pcsx2/Recording/Utilities/InputRecordingLogger.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "InputRecordingLogger.h" @@ -10,7 +10,7 @@ #include "GS.h" #include "Host.h" -#include +#include "fmt/format.h" namespace InputRec { diff --git a/pcsx2/Recording/Utilities/InputRecordingLogger.h b/pcsx2/Recording/Utilities/InputRecordingLogger.h index d1015c9b73c8a..68ebcd636f256 100644 --- a/pcsx2/Recording/Utilities/InputRecordingLogger.h +++ b/pcsx2/Recording/Utilities/InputRecordingLogger.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Memcard/MemoryCardFile.cpp b/pcsx2/SIO/Memcard/MemoryCardFile.cpp index e48a0eacb7ae2..07534b47a8531 100644 --- a/pcsx2/SIO/Memcard/MemoryCardFile.cpp +++ b/pcsx2/SIO/Memcard/MemoryCardFile.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Memcard/MemoryCardFile.h" @@ -20,7 +20,7 @@ #include "Host.h" #include "IconsPromptFont.h" -#include "fmt/core.h" +#include "fmt/format.h" #include @@ -157,6 +157,7 @@ class FileMemoryCard { protected: std::FILE* m_file[8] = {}; + s64 m_fileSize[8] = {}; std::string m_filenames[8] = {}; std::vector m_currentdata; u64 m_chksum[8] = {}; @@ -246,7 +247,13 @@ std::string FileMcd_GetDefaultName(uint slot) return StringUtil::StdStringFromFormat("Mcd%03u.ps2", slot + 1); } -FileMemoryCard::FileMemoryCard() = default; +FileMemoryCard::FileMemoryCard() +{ + for (u8 slot = 0; slot < 8; slot++) + { + m_fileSize[slot] = -1; + } +} FileMemoryCard::~FileMemoryCard() = default; @@ -285,7 +292,7 @@ void FileMemoryCard::Open() } } - if (fname.ends_with(".bin")) + if (fname.ends_with(".bin") || fname.ends_with(".mc2")) { std::string newname(fname + "x"); if (!ConvertNoECCtoRAW(fname.c_str(), newname.c_str())) @@ -314,12 +321,14 @@ void FileMemoryCard::Open() } else // Load checksum { + m_fileSize[slot] = FileSystem::FSize64(m_file[slot]); + Console.WriteLnFmt(Color_Green, "McdSlot {} [File]: {} [{} MB, {}]", slot, Path::GetFileName(fname), - (FileSystem::FSize64(m_file[slot]) + (MCD_SIZE + 1)) / MC2_MBSIZE, + (m_fileSize[slot] + (MCD_SIZE + 1)) / MC2_MBSIZE, FileMcd_IsMemoryCardFormatted(m_file[slot]) ? "Formatted" : "UNFORMATTED"); m_filenames[slot] = std::move(fname); - m_ispsx[slot] = FileSystem::FSize64(m_file[slot]) == 0x20000; + m_ispsx[slot] = m_fileSize[slot] == 0x20000; m_chkaddr = 0x210; if (!m_ispsx[slot] && FileSystem::FSeek64(m_file[slot], m_chkaddr, SEEK_SET) == 0) @@ -346,7 +355,7 @@ void FileMemoryCard::Close() std::fclose(m_file[slot]); m_file[slot] = nullptr; - if (m_filenames[slot].ends_with(".bin")) + if (m_filenames[slot].ends_with(".bin") || m_filenames[slot].ends_with(".mc2")) { const std::string name_in(m_filenames[slot] + 'x'); if (ConvertRAWtoNoECC(name_in.c_str(), m_filenames[slot].c_str())) @@ -354,30 +363,14 @@ void FileMemoryCard::Close() } m_filenames[slot] = {}; + m_fileSize[slot] = -1; } } // Returns FALSE if the seek failed (is outside the bounds of the file). bool FileMemoryCard::Seek(std::FILE* f, u32 adr) { - const s64 size = FileSystem::FSize64(f); - - // If anyone knows why this filesize logic is here (it appears to be related to legacy PSX - // cards, perhaps hacked support for some special emulator-specific memcard formats that - // had header info?), then please replace this comment with something useful. Thanks! -- air - - u32 offset = 0; - - if (size == MCD_SIZE + 64) - offset = 64; - else if (size == MCD_SIZE + 3904) - offset = 3904; - else - { - // perform sanity checks here? - } - - return (FileSystem::FSeek64(f, adr + offset, SEEK_SET) == 0); + return (FileSystem::FSeek64(f, adr, SEEK_SET) == 0); } // returns FALSE if an error occurred (either permission denied or disk full) @@ -415,7 +408,7 @@ void FileMemoryCard::GetSizeInfo(uint slot, McdSizeInfo& outways) pxAssert(m_file[slot]); if (m_file[slot]) - outways.McdSizeInSectors = static_cast(FileSystem::FSize64(m_file[slot])) / (outways.SectorSize + outways.EraseBlockSizeInSectors); + outways.McdSizeInSectors = static_cast(m_fileSize[slot]) / (outways.SectorSize + outways.EraseBlockSizeInSectors); else outways.McdSizeInSectors = 0x4000; @@ -542,7 +535,7 @@ u64 FileMemoryCard::GetCRC(uint slot) if (!Seek(mcfp, 0)) return 0; - const s64 mcfpsize = FileSystem::FSize64(mcfp); + const s64 mcfpsize = m_fileSize[slot]; if (mcfpsize < 0) return 0; @@ -786,13 +779,14 @@ int FileMcd_ReIndex(uint port, uint slot, const std::string& filter) static MemoryCardFileType GetMemoryCardFileTypeFromSize(s64 size) { - if (size == (8 * MC2_MBSIZE)) + // Handle both ecc and non ecc versions + if (size == (8 * MC2_MBSIZE) || size == _8mb) return MemoryCardFileType::PS2_8MB; - else if (size == (16 * MC2_MBSIZE)) + else if (size == (16 * MC2_MBSIZE) || size == _16mb) return MemoryCardFileType::PS2_16MB; - else if (size == (32 * MC2_MBSIZE)) + else if (size == (32 * MC2_MBSIZE) || size == _32mb) return MemoryCardFileType::PS2_32MB; - else if (size == (64 * MC2_MBSIZE)) + else if (size == (64 * MC2_MBSIZE) || size == _64mb) return MemoryCardFileType::PS2_64MB; else if (size == MCD_SIZE) return MemoryCardFileType::PS1; @@ -862,7 +856,8 @@ std::vector FileMcd_GetAvailableCards(bool include_in_use_card // We only want relevant file types. if (!(fd.FileName.ends_with(".ps2") || fd.FileName.ends_with(".mcr") || - fd.FileName.ends_with(".mcd") || fd.FileName.ends_with(".bin"))) + fd.FileName.ends_with(".mcd") || fd.FileName.ends_with(".bin") || + fd.FileName.ends_with(".mc2"))) continue; if (fd.Attributes & FILESYSTEM_FILE_ATTRIBUTE_DIRECTORY) diff --git a/pcsx2/SIO/Memcard/MemoryCardFile.h b/pcsx2/SIO/Memcard/MemoryCardFile.h index 67202aed84b26..08419b9007a38 100644 --- a/pcsx2/SIO/Memcard/MemoryCardFile.h +++ b/pcsx2/SIO/Memcard/MemoryCardFile.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Memcard/MemoryCardFolder.cpp b/pcsx2/SIO/Memcard/MemoryCardFolder.cpp index bcdb121b253c0..ac9298c529f66 100644 --- a/pcsx2/SIO/Memcard/MemoryCardFolder.cpp +++ b/pcsx2/SIO/Memcard/MemoryCardFolder.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Memcard/MemoryCardFile.h" @@ -17,7 +17,7 @@ #include "common/StringUtil.h" #include "common/Timer.h" -#include "fmt/core.h" +#include "fmt/format.h" #include "ryml_std.hpp" #include "ryml.hpp" @@ -260,11 +260,11 @@ void FolderMemoryCard::LoadMemoryCardData(const u32 sizeInClusters, const bool e { if (enableFiltering) { - Console.WriteLn(Color_Green, "(FolderMcd) Indexing slot %u with filter \"%s\".", m_slot, filter.c_str()); + Console.WriteLn(Color_Green, "FolderMcd: Indexing slot %u with filter \"%s\".", m_slot, filter.c_str()); } else { - Console.WriteLn(Color_Green, "(FolderMcd) Indexing slot %u without filter.", m_slot); + Console.WriteLn(Color_Green, "FolderMcd: Indexing slot %u without filter.", m_slot); } CreateFat(); @@ -636,7 +636,7 @@ bool FolderMemoryCard::AddFile(MemoryCardFileEntry* const dirEntry, const std::s } else { - Console.WriteLn("(FolderMcd) Could not open file: %s", relativeFilePath.c_str()); + Console.WriteLn("FolderMcd: Could not open file: %s", relativeFilePath.c_str()); return false; } } @@ -1082,7 +1082,7 @@ void FolderMemoryCard::Flush() WriteToFile(m_folderName.GetFullPath().RemoveLast() + L"-debug_" + wxDateTime::Now().Format(L"%Y-%m-%d-%H-%M-%S") + L"_pre-flush.ps2"); #endif - Console.WriteLn("(FolderMcd) Writing data for slot %u to file system...", m_slot); + Console.WriteLn("FolderMcd: Writing data for slot %u to file system...", m_slot); Common::Timer timeFlushStart; // Keep a copy of the old file entries so we can figure out which files and directories, if any, have been deleted from the memory card. @@ -1104,7 +1104,7 @@ void FolderMemoryCard::Flush() FlushBlock(m_superBlock.data.backup_block2); if (m_backupBlock2.programmedBlock != 0xFFFFFFFFu) { - Console.Warning("(FolderMcd) Aborting flush of slot %u, emulation was interrupted during save process!", m_slot); + Console.Warning("FolderMcd: Aborting flush of slot %u, emulation was interrupted during save process!", m_slot); return; } @@ -1150,7 +1150,7 @@ void FolderMemoryCard::Flush() m_lastAccessedFile.ClearMetadataWriteState(); m_oldDataCache.clear(); - Console.WriteLn("(FolderMcd) Done! Took %.2f ms.", timeFlushStart.GetTimeMilliseconds()); + Console.WriteLn("FolderMcd: Done! Took %.2f ms.", timeFlushStart.GetTimeMilliseconds()); #ifdef DEBUG_WRITE_FOLDER_CARD_IN_MEMORY_TO_FILE_ON_CHANGE WriteToFile(m_folderName.GetFullPath().RemoveLast() + L"-debug_" + wxDateTime::Now().Format(L"%Y-%m-%d-%H-%M-%S") + L"_post-flush.ps2"); @@ -1763,7 +1763,7 @@ std::string FolderMemoryCard::GetDisabledMessage(uint slot) const std::string FolderMemoryCard::GetCardFullMessage(const std::string& filePath) const { - return fmt::format("(FolderMcd) Memory Card is full, could not add: {}", filePath); + return fmt::format("FolderMcd: Memory Card is full, could not add: {}", filePath); } std::vector FolderMemoryCard::GetOrderedFiles(const std::string& dirPath) const diff --git a/pcsx2/SIO/Memcard/MemoryCardFolder.h b/pcsx2/SIO/Memcard/MemoryCardFolder.h index 7f5dc6d42432c..1831ccedf66b2 100644 --- a/pcsx2/SIO/Memcard/MemoryCardFolder.h +++ b/pcsx2/SIO/Memcard/MemoryCardFolder.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -10,8 +10,6 @@ #include "Config.h" -#include "fmt/core.h" - //#define DEBUG_WRITE_FOLDER_CARD_IN_MEMORY_TO_FILE_ON_CHANGE // -------------------------------------------------------------------------------------- diff --git a/pcsx2/SIO/Memcard/MemoryCardProtocol.cpp b/pcsx2/SIO/Memcard/MemoryCardProtocol.cpp index 3513cd5ab2fbc..2efbdd690479f 100644 --- a/pcsx2/SIO/Memcard/MemoryCardProtocol.cpp +++ b/pcsx2/SIO/Memcard/MemoryCardProtocol.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Memcard/MemoryCardProtocol.h" diff --git a/pcsx2/SIO/Memcard/MemoryCardProtocol.h b/pcsx2/SIO/Memcard/MemoryCardProtocol.h index 3d594a85fba2e..688fe39d3aeec 100644 --- a/pcsx2/SIO/Memcard/MemoryCardProtocol.h +++ b/pcsx2/SIO/Memcard/MemoryCardProtocol.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Multitap/MultitapProtocol.cpp b/pcsx2/SIO/Multitap/MultitapProtocol.cpp index 873d37ff97ac2..534fbc3aa8008 100644 --- a/pcsx2/SIO/Multitap/MultitapProtocol.cpp +++ b/pcsx2/SIO/Multitap/MultitapProtocol.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/SIO/Multitap/MultitapProtocol.h b/pcsx2/SIO/Multitap/MultitapProtocol.h index f30e89dfed7bc..98f611693178b 100644 --- a/pcsx2/SIO/Multitap/MultitapProtocol.h +++ b/pcsx2/SIO/Multitap/MultitapProtocol.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/Pad.cpp b/pcsx2/SIO/Pad/Pad.cpp index 3a70bdf387612..ae284f0bc2b6e 100644 --- a/pcsx2/SIO/Pad/Pad.cpp +++ b/pcsx2/SIO/Pad/Pad.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/SIO/Pad/Pad.h b/pcsx2/SIO/Pad/Pad.h index d8ed25b63e8f1..dccd04cc134b8 100644 --- a/pcsx2/SIO/Pad/Pad.h +++ b/pcsx2/SIO/Pad/Pad.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadBase.cpp b/pcsx2/SIO/Pad/PadBase.cpp index 2b13688aa22a9..526f6f8fcd2cd 100644 --- a/pcsx2/SIO/Pad/PadBase.cpp +++ b/pcsx2/SIO/Pad/PadBase.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Pad/PadBase.h" diff --git a/pcsx2/SIO/Pad/PadBase.h b/pcsx2/SIO/Pad/PadBase.h index e628ecaf62c01..0c1e4aacc6861 100644 --- a/pcsx2/SIO/Pad/PadBase.h +++ b/pcsx2/SIO/Pad/PadBase.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadDualshock2.cpp b/pcsx2/SIO/Pad/PadDualshock2.cpp index 21fd90dd9831e..32fb453bd3ceb 100644 --- a/pcsx2/SIO/Pad/PadDualshock2.cpp +++ b/pcsx2/SIO/Pad/PadDualshock2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Pad/PadDualshock2.h" @@ -145,7 +145,7 @@ void PadDualshock2::ConfigLog() // VS: Vibration Small (how is the small vibration motor mapped) // VL: Vibration Large (how is the large vibration motor mapped) // RB: Response Bytes (what data is included in the controller's responses - D = Digital, A = Analog, P = Pressure) - Console.WriteLn(fmt::format("[Pad] DS2 Config Finished - P{0}/S{1} - AL: {2} - AB: {3} - VS: {4} - VL: {5} - RB: {6} (0x{7:08X})", + Console.WriteLn(fmt::format("Pad: DS2 Config Finished - P{0}/S{1} - AL: {2} - AB: {3} - VS: {4} - VL: {5} - RB: {6} (0x{7:08X})", port + 1, slot + 1, (this->analogLight ? "On" : "Off"), diff --git a/pcsx2/SIO/Pad/PadDualshock2.h b/pcsx2/SIO/Pad/PadDualshock2.h index 83a70a21f6a3a..f205d3ba91569 100644 --- a/pcsx2/SIO/Pad/PadDualshock2.h +++ b/pcsx2/SIO/Pad/PadDualshock2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadGuitar.cpp b/pcsx2/SIO/Pad/PadGuitar.cpp index 50f958e3b255d..5e2c531bb3536 100644 --- a/pcsx2/SIO/Pad/PadGuitar.cpp +++ b/pcsx2/SIO/Pad/PadGuitar.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Pad/PadGuitar.h" @@ -47,7 +47,7 @@ void PadGuitar::ConfigLog() // AL: Analog Light (is it turned on right now) // AB: Analog Button (is it useable or is it locked in its current state) - Console.WriteLn(fmt::format("[Pad] Guitar Config Finished - P{0}/S{1} - AL: {2} - AB: {3}", + Console.WriteLn(fmt::format("Pad: Guitar Config Finished - P{0}/S{1} - AL: {2} - AB: {3}", port + 1, slot + 1, (this->analogLight ? "On" : "Off"), diff --git a/pcsx2/SIO/Pad/PadGuitar.h b/pcsx2/SIO/Pad/PadGuitar.h index d520c8724d018..1dc3ef46f838b 100644 --- a/pcsx2/SIO/Pad/PadGuitar.h +++ b/pcsx2/SIO/Pad/PadGuitar.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadJogcon.cpp b/pcsx2/SIO/Pad/PadJogcon.cpp index 320a2c51d7930..b7ef9456b4e34 100644 --- a/pcsx2/SIO/Pad/PadJogcon.cpp +++ b/pcsx2/SIO/Pad/PadJogcon.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Pad/PadJogcon.h" @@ -53,7 +53,7 @@ void PadJogcon::ConfigLog() // AL: Analog Light (is it turned on right now) // AB: Analog Button (is it useable or is it locked in its current state) - Console.WriteLn(fmt::format("[Pad] Jogcon Config Finished - P{0}/S{1} - AL: {2} - AB: {3}", + Console.WriteLn(fmt::format("Pad: Jogcon Config Finished - P{0}/S{1} - AL: {2} - AB: {3}", port + 1, slot + 1, (this->analogLight ? "On" : "Off"), diff --git a/pcsx2/SIO/Pad/PadJogcon.h b/pcsx2/SIO/Pad/PadJogcon.h index a0367cb8e7e3d..2a3189cd3cc5b 100644 --- a/pcsx2/SIO/Pad/PadJogcon.h +++ b/pcsx2/SIO/Pad/PadJogcon.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadNegcon.cpp b/pcsx2/SIO/Pad/PadNegcon.cpp index a62fd56c2030b..9aa9575ede7f2 100644 --- a/pcsx2/SIO/Pad/PadNegcon.cpp +++ b/pcsx2/SIO/Pad/PadNegcon.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Pad/PadNegcon.h" @@ -50,7 +50,7 @@ void PadNegcon::ConfigLog() // AL: Analog Light (is it turned on right now) // AB: Analog Button (is it useable or is it locked in its current state) - Console.WriteLn(fmt::format("[Pad] Negcon Config Finished - P{0}/S{1} - AL: {2} - AB: {3}", + Console.WriteLn(fmt::format("Pad: Negcon Config Finished - P{0}/S{1} - AL: {2} - AB: {3}", port + 1, slot + 1, (this->analogLight ? "On" : "Off"), diff --git a/pcsx2/SIO/Pad/PadNegcon.h b/pcsx2/SIO/Pad/PadNegcon.h index d91f86f2d4a1f..5fca6bf9c5960 100644 --- a/pcsx2/SIO/Pad/PadNegcon.h +++ b/pcsx2/SIO/Pad/PadNegcon.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadNotConnected.cpp b/pcsx2/SIO/Pad/PadNotConnected.cpp index e305695991a12..056efef2a6d7d 100644 --- a/pcsx2/SIO/Pad/PadNotConnected.cpp +++ b/pcsx2/SIO/Pad/PadNotConnected.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Pad/PadNotConnected.h" diff --git a/pcsx2/SIO/Pad/PadNotConnected.h b/pcsx2/SIO/Pad/PadNotConnected.h index 564cdcaab386e..ed88e8869c09e 100644 --- a/pcsx2/SIO/Pad/PadNotConnected.h +++ b/pcsx2/SIO/Pad/PadNotConnected.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadPopn.cpp b/pcsx2/SIO/Pad/PadPopn.cpp index 39d0d5df55ca0..dc91df2a6542a 100644 --- a/pcsx2/SIO/Pad/PadPopn.cpp +++ b/pcsx2/SIO/Pad/PadPopn.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Pad/PadPopn.h" @@ -56,7 +56,7 @@ void PadPopn::ConfigLog() // AL: Analog Light (is it turned on right now) // AB: Analog Button (is it useable or is it locked in its current state) // RB: Response Bytes (what data is included in the controller's responses - D = Digital, A = Analog, P = Pressure) - Console.WriteLn(fmt::format("[Pad] Pop'n Config Finished - P{0}/S{1} - AL: {2} - AB: {3} - RB: {4} (0x{5:08X})", + Console.WriteLn(fmt::format("Pad: Pop'n Config Finished - P{0}/S{1} - AL: {2} - AB: {3} - RB: {4} (0x{5:08X})", port + 1, slot + 1, (this->analogLight ? "On" : "Off"), diff --git a/pcsx2/SIO/Pad/PadPopn.h b/pcsx2/SIO/Pad/PadPopn.h index 3adbd521803c7..bc9c96736d9f1 100644 --- a/pcsx2/SIO/Pad/PadPopn.h +++ b/pcsx2/SIO/Pad/PadPopn.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Pad/PadTypes.h b/pcsx2/SIO/Pad/PadTypes.h index cf02d6236cd96..31efaaa3f3fe6 100644 --- a/pcsx2/SIO/Pad/PadTypes.h +++ b/pcsx2/SIO/Pad/PadTypes.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Sio.cpp b/pcsx2/SIO/Sio.cpp index 9dd22932f8320..e7c92faea8366 100644 --- a/pcsx2/SIO/Sio.cpp +++ b/pcsx2/SIO/Sio.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SIO/Sio.h" @@ -162,6 +162,6 @@ void MemcardBusy::CheckSaveStateDependency() if (g_FrameCount - sioLastFrameMcdBusy > NUM_FRAMES_BEFORE_SAVESTATE_DEPENDENCY_WARNING) { Host::AddIconOSDMessage("MemcardBusy", ICON_PF_MEMORY_CARD, - TRANSLATE_SV("MemoryCard", "The virtual console hasn't saved to your memory card for quite some time. Savestates should not be used in place of in-game saves."), Host::OSD_INFO_DURATION); + TRANSLATE_SV("MemoryCard", "The virtual console hasn't saved to your memory card in a long time.\nSavestates should not be used in place of in-game saves."), Host::OSD_INFO_DURATION); } } diff --git a/pcsx2/SIO/Sio.h b/pcsx2/SIO/Sio.h index 565761dda91fc..09e290619462c 100644 --- a/pcsx2/SIO/Sio.h +++ b/pcsx2/SIO/Sio.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // Huge thanks to PSI for his work reversing the PS2, his documentation on SIO2 pretty much saved diff --git a/pcsx2/SIO/Sio0.cpp b/pcsx2/SIO/Sio0.cpp index 6f63cb29c6925..185abcff3f8b7 100644 --- a/pcsx2/SIO/Sio0.cpp +++ b/pcsx2/SIO/Sio0.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/SIO/Sio0.h b/pcsx2/SIO/Sio0.h index 305a8801ca1bd..4750e0bbc3b1d 100644 --- a/pcsx2/SIO/Sio0.h +++ b/pcsx2/SIO/Sio0.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/Sio2.cpp b/pcsx2/SIO/Sio2.cpp index 3f6ad6aec93a9..96d4646e610b2 100644 --- a/pcsx2/SIO/Sio2.cpp +++ b/pcsx2/SIO/Sio2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/SIO/Sio2.h b/pcsx2/SIO/Sio2.h index 1fb7111f47c94..57e133a0e00b7 100644 --- a/pcsx2/SIO/Sio2.h +++ b/pcsx2/SIO/Sio2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SIO/SioTypes.h b/pcsx2/SIO/SioTypes.h index 6e2649d492d20..32f06cfba675b 100644 --- a/pcsx2/SIO/SioTypes.h +++ b/pcsx2/SIO/SioTypes.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPR.cpp b/pcsx2/SPR.cpp index e6f562c21d585..1be6c07355c55 100644 --- a/pcsx2/SPR.cpp +++ b/pcsx2/SPR.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/SPR.h b/pcsx2/SPR.h index 4a881dc8a2cd5..a15fab5cf4a79 100644 --- a/pcsx2/SPR.h +++ b/pcsx2/SPR.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/ADSR.cpp b/pcsx2/SPU2/ADSR.cpp index 4455dad867914..d88c392c3d611 100644 --- a/pcsx2/SPU2/ADSR.cpp +++ b/pcsx2/SPU2/ADSR.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/defs.h" diff --git a/pcsx2/SPU2/Debug.cpp b/pcsx2/SPU2/Debug.cpp index 0da945e2b7f55..5ef30f26211d4 100644 --- a/pcsx2/SPU2/Debug.cpp +++ b/pcsx2/SPU2/Debug.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/Debug.h" diff --git a/pcsx2/SPU2/Debug.h b/pcsx2/SPU2/Debug.h index bbef1a8243b84..08463a3a3866c 100644 --- a/pcsx2/SPU2/Debug.h +++ b/pcsx2/SPU2/Debug.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/Dma.cpp b/pcsx2/SPU2/Dma.cpp index 4b79fcd85276e..bc9f8e1bacddb 100644 --- a/pcsx2/SPU2/Dma.cpp +++ b/pcsx2/SPU2/Dma.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/defs.h" diff --git a/pcsx2/SPU2/Dma.h b/pcsx2/SPU2/Dma.h index 55fdd40fce1b5..13c5258b99cab 100644 --- a/pcsx2/SPU2/Dma.h +++ b/pcsx2/SPU2/Dma.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/Mixer.cpp b/pcsx2/SPU2/Mixer.cpp index e690032000839..7a929ed921c5a 100644 --- a/pcsx2/SPU2/Mixer.cpp +++ b/pcsx2/SPU2/Mixer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host/AudioStream.h" diff --git a/pcsx2/SPU2/ReadInput.cpp b/pcsx2/SPU2/ReadInput.cpp index 3c25ba0a01656..afd3615495d84 100644 --- a/pcsx2/SPU2/ReadInput.cpp +++ b/pcsx2/SPU2/ReadInput.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Dma.h" diff --git a/pcsx2/SPU2/RegTable.cpp b/pcsx2/SPU2/RegTable.cpp index 60596cede58f3..ac34b2d85ee72 100644 --- a/pcsx2/SPU2/RegTable.cpp +++ b/pcsx2/SPU2/RegTable.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/defs.h" diff --git a/pcsx2/SPU2/Reverb.cpp b/pcsx2/SPU2/Reverb.cpp index b5346d213267f..fc43df07a4691 100644 --- a/pcsx2/SPU2/Reverb.cpp +++ b/pcsx2/SPU2/Reverb.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/defs.h" diff --git a/pcsx2/SPU2/ReverbResample.cpp b/pcsx2/SPU2/ReverbResample.cpp index 16e46dc4443a2..cbee5ae5d3e8b 100644 --- a/pcsx2/SPU2/ReverbResample.cpp +++ b/pcsx2/SPU2/ReverbResample.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GSVector.h" diff --git a/pcsx2/SPU2/Wavedump_wav.cpp b/pcsx2/SPU2/Wavedump_wav.cpp index 0954c15a1ff54..2479cbf3c5bf6 100644 --- a/pcsx2/SPU2/Wavedump_wav.cpp +++ b/pcsx2/SPU2/Wavedump_wav.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/Debug.h" diff --git a/pcsx2/SPU2/defs.h b/pcsx2/SPU2/defs.h index d71261e06a923..711acccd91278 100644 --- a/pcsx2/SPU2/defs.h +++ b/pcsx2/SPU2/defs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/interpolate_table.h b/pcsx2/SPU2/interpolate_table.h index 5943336e3c199..039632371462c 100644 --- a/pcsx2/SPU2/interpolate_table.h +++ b/pcsx2/SPU2/interpolate_table.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/regs.h b/pcsx2/SPU2/regs.h index 79f501f814986..911826e8b81e9 100644 --- a/pcsx2/SPU2/regs.h +++ b/pcsx2/SPU2/regs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/spdif.h b/pcsx2/SPU2/spdif.h index 2fd7ce3750be2..ff8687a85347c 100644 --- a/pcsx2/SPU2/spdif.h +++ b/pcsx2/SPU2/spdif.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/spu2.cpp b/pcsx2/SPU2/spu2.cpp index f9628d4711d1e..4da7e1c253edd 100644 --- a/pcsx2/SPU2/spu2.cpp +++ b/pcsx2/SPU2/spu2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/spu2.h" diff --git a/pcsx2/SPU2/spu2.h b/pcsx2/SPU2/spu2.h index cef65c1b8b25b..3865b6ed3dbb5 100644 --- a/pcsx2/SPU2/spu2.h +++ b/pcsx2/SPU2/spu2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SPU2/spu2freeze.cpp b/pcsx2/SPU2/spu2freeze.cpp index 863a434409c94..0812dc62b7d2c 100644 --- a/pcsx2/SPU2/spu2freeze.cpp +++ b/pcsx2/SPU2/spu2freeze.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "SPU2/defs.h" diff --git a/pcsx2/SPU2/spu2sys.cpp b/pcsx2/SPU2/spu2sys.cpp index 359574abcfa97..5b3e6b968f8d4 100644 --- a/pcsx2/SPU2/spu2sys.cpp +++ b/pcsx2/SPU2/spu2sys.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // ====================================================================================== diff --git a/pcsx2/SaveState.cpp b/pcsx2/SaveState.cpp index 1dcae02518a0b..66dd696b6ae61 100644 --- a/pcsx2/SaveState.cpp +++ b/pcsx2/SaveState.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Achievements.h" @@ -9,6 +9,7 @@ #include "Config.h" #include "Counters.h" #include "DebugTools/Breakpoints.h" +#include "DebugTools/SymbolImporter.h" #include "Elfheader.h" #include "GS.h" #include "GS/GS.h" @@ -37,7 +38,7 @@ #include "common/StringUtil.h" #include "common/ZipHelpers.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include @@ -80,6 +81,9 @@ static void PostLoadPrep() CBreakPoints::SetSkipFirst(BREAKPOINT_IOP, 0); UpdateVSyncRate(true); + + if (VMManager::Internal::HasBootedELF()) + R5900SymbolImporter.OnElfLoadedInMemory(); } // -------------------------------------------------------------------------------------- @@ -183,6 +187,7 @@ bool SaveStateBase::FreezeInternals(Error* error) Freeze(psxRegs); // iop regs Freeze(fpuRegs); Freeze(tlb); // tlbs + Freeze(cachedTlbs); // cached tlbs Freeze(AllowParams1); //OSDConfig written (Fast Boot) Freeze(AllowParams2); diff --git a/pcsx2/SaveState.h b/pcsx2/SaveState.h index 709468b709930..feab394dd7ae1 100644 --- a/pcsx2/SaveState.h +++ b/pcsx2/SaveState.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -25,7 +25,7 @@ enum class FreezeAction // [SAVEVERSION+] // This informs the auto updater that the users savestates will be invalidated. -static const u32 g_SaveVersion = (0x9A52 << 16) | 0x0000; +static const u32 g_SaveVersion = (0x9A53 << 16) | 0x0000; // the freezing data between submodules and core diff --git a/pcsx2/ShaderCacheVersion.h b/pcsx2/ShaderCacheVersion.h index e60f18e20bfcd..b8eda02966a62 100644 --- a/pcsx2/ShaderCacheVersion.h +++ b/pcsx2/ShaderCacheVersion.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /// Version number for GS and other shaders. Increment whenever any of the contents of the diff --git a/pcsx2/ShiftJisToUnicode.cpp b/pcsx2/ShiftJisToUnicode.cpp index ada7d7854e9ab..4353830bbb1fd 100644 --- a/pcsx2/ShiftJisToUnicode.cpp +++ b/pcsx2/ShiftJisToUnicode.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Sif.cpp b/pcsx2/Sif.cpp index bf1a4d1d1f9b2..52b5c6ada737b 100644 --- a/pcsx2/Sif.cpp +++ b/pcsx2/Sif.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define _PC_ // disables MIPS opcode macros. diff --git a/pcsx2/Sif.h b/pcsx2/Sif.h index ebe5fb34fa0ad..c830d6a0891e8 100644 --- a/pcsx2/Sif.h +++ b/pcsx2/Sif.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Sif0.cpp b/pcsx2/Sif0.cpp index 514b84d107303..915f468e4ece7 100644 --- a/pcsx2/Sif0.cpp +++ b/pcsx2/Sif0.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define _PC_ // disables MIPS opcode macros. diff --git a/pcsx2/Sif1.cpp b/pcsx2/Sif1.cpp index 8aa08cbbb2c04..a3880d024df2b 100644 --- a/pcsx2/Sif1.cpp +++ b/pcsx2/Sif1.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define _PC_ // disables MIPS opcode macros. diff --git a/pcsx2/Sifcmd.h b/pcsx2/Sifcmd.h index 8ed230f7959f8..b59960d1aa85c 100644 --- a/pcsx2/Sifcmd.h +++ b/pcsx2/Sifcmd.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SourceLog.cpp b/pcsx2/SourceLog.cpp index 582a70cd1445b..a40242d65ee8e 100644 --- a/pcsx2/SourceLog.cpp +++ b/pcsx2/SourceLog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // -------------------------------------------------------------------------------------- @@ -13,7 +13,7 @@ #include "R3000A.h" #include "R5900.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include diff --git a/pcsx2/StateWrapper.cpp b/pcsx2/StateWrapper.cpp index c5035e3dce65c..8387433e86f7d 100644 --- a/pcsx2/StateWrapper.cpp +++ b/pcsx2/StateWrapper.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "StateWrapper.h" diff --git a/pcsx2/StateWrapper.h b/pcsx2/StateWrapper.h index 60e09f870a0bf..05272d5a46c97 100644 --- a/pcsx2/StateWrapper.h +++ b/pcsx2/StateWrapper.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/SupportURLs.h b/pcsx2/SupportURLs.h index 8a280fbe66590..5af4a699f046b 100644 --- a/pcsx2/SupportURLs.h +++ b/pcsx2/SupportURLs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/USB.cpp b/pcsx2/USB/USB.cpp index bee5d50072a2d..681e7fb751324 100644 --- a/pcsx2/USB/USB.cpp +++ b/pcsx2/USB/USB.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/USB/USB.h b/pcsx2/USB/USB.h index 9c559f9648701..5b8de046f8c26 100644 --- a/pcsx2/USB/USB.h +++ b/pcsx2/USB/USB.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/deviceproxy.cpp b/pcsx2/USB/deviceproxy.cpp index 2515d95dd4688..d44e7d8d1b248 100644 --- a/pcsx2/USB/deviceproxy.cpp +++ b/pcsx2/USB/deviceproxy.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "deviceproxy.h" diff --git a/pcsx2/USB/deviceproxy.h b/pcsx2/USB/deviceproxy.h index b03e93952ca6f..dc7b65811dd7b 100644 --- a/pcsx2/USB/deviceproxy.h +++ b/pcsx2/USB/deviceproxy.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/qemu-usb/USBinternal.h b/pcsx2/USB/qemu-usb/USBinternal.h index e907521c95fe3..22dbf10ab4e01 100644 --- a/pcsx2/USB/qemu-usb/USBinternal.h +++ b/pcsx2/USB/qemu-usb/USBinternal.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #pragma once diff --git a/pcsx2/USB/qemu-usb/bus.cpp b/pcsx2/USB/qemu-usb/bus.cpp index 22ecd76c3a805..fe356339c1b38 100644 --- a/pcsx2/USB/qemu-usb/bus.cpp +++ b/pcsx2/USB/qemu-usb/bus.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #include "USB/qemu-usb/USBinternal.h" diff --git a/pcsx2/USB/qemu-usb/core.cpp b/pcsx2/USB/qemu-usb/core.cpp index 31d35adb84e1f..825f4becdf9d5 100644 --- a/pcsx2/USB/qemu-usb/core.cpp +++ b/pcsx2/USB/qemu-usb/core.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: MIT /* diff --git a/pcsx2/USB/qemu-usb/desc.cpp b/pcsx2/USB/qemu-usb/desc.cpp index 00e78a30d3679..51874a1cd806e 100644 --- a/pcsx2/USB/qemu-usb/desc.cpp +++ b/pcsx2/USB/qemu-usb/desc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #include "USB/qemu-usb/qusb.h" diff --git a/pcsx2/USB/qemu-usb/desc.h b/pcsx2/USB/qemu-usb/desc.h index dda9b557a7956..bd0a4480824b0 100644 --- a/pcsx2/USB/qemu-usb/desc.h +++ b/pcsx2/USB/qemu-usb/desc.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #pragma once diff --git a/pcsx2/USB/qemu-usb/hid.cpp b/pcsx2/USB/qemu-usb/hid.cpp index ee66253d1f2a6..f8b41bac6d824 100644 --- a/pcsx2/USB/qemu-usb/hid.cpp +++ b/pcsx2/USB/qemu-usb/hid.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: MIT /* diff --git a/pcsx2/USB/qemu-usb/hid.h b/pcsx2/USB/qemu-usb/hid.h index e3d515e27a2a5..7751ca6551abf 100644 --- a/pcsx2/USB/qemu-usb/hid.h +++ b/pcsx2/USB/qemu-usb/hid.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #pragma once diff --git a/pcsx2/USB/qemu-usb/input-keymap-qcode-to-qnum.cpp b/pcsx2/USB/qemu-usb/input-keymap-qcode-to-qnum.cpp index 0e8c7df426e25..cc1966f695291 100644 --- a/pcsx2/USB/qemu-usb/input-keymap-qcode-to-qnum.cpp +++ b/pcsx2/USB/qemu-usb/input-keymap-qcode-to-qnum.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "input-keymap.h" diff --git a/pcsx2/USB/qemu-usb/input-keymap.h b/pcsx2/USB/qemu-usb/input-keymap.h index 4042078e5a5ab..fb10d53a7eea0 100644 --- a/pcsx2/USB/qemu-usb/input-keymap.h +++ b/pcsx2/USB/qemu-usb/input-keymap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "hid.h" diff --git a/pcsx2/USB/qemu-usb/qusb.h b/pcsx2/USB/qemu-usb/qusb.h index 2f7d35312adf3..eb1bcbd4d2b30 100644 --- a/pcsx2/USB/qemu-usb/qusb.h +++ b/pcsx2/USB/qemu-usb/qusb.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: MIT #pragma once diff --git a/pcsx2/USB/qemu-usb/usb-ohci.cpp b/pcsx2/USB/qemu-usb/usb-ohci.cpp index f6bf4ce0e1a20..2fc9d3c89af3d 100644 --- a/pcsx2/USB/qemu-usb/usb-ohci.cpp +++ b/pcsx2/USB/qemu-usb/usb-ohci.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-2.0+ #include "USB/qemu-usb/qusb.h" diff --git a/pcsx2/USB/shared/ringbuffer.cpp b/pcsx2/USB/shared/ringbuffer.cpp index ee451642db18f..a5d94fa739781 100644 --- a/pcsx2/USB/shared/ringbuffer.cpp +++ b/pcsx2/USB/shared/ringbuffer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ringbuffer.h" diff --git a/pcsx2/USB/shared/ringbuffer.h b/pcsx2/USB/shared/ringbuffer.h index a5bcd51d76cdd..4636f613b158f 100644 --- a/pcsx2/USB/shared/ringbuffer.h +++ b/pcsx2/USB/shared/ringbuffer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-eyetoy/cam-jpeg.cpp b/pcsx2/USB/usb-eyetoy/cam-jpeg.cpp index dd51d4ddbd9ae..c1d638b49e534 100644 --- a/pcsx2/USB/usb-eyetoy/cam-jpeg.cpp +++ b/pcsx2/USB/usb-eyetoy/cam-jpeg.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "cam-jpeg.h" diff --git a/pcsx2/USB/usb-eyetoy/cam-jpeg.h b/pcsx2/USB/usb-eyetoy/cam-jpeg.h index 3d15a89315b5a..700e575403319 100644 --- a/pcsx2/USB/usb-eyetoy/cam-jpeg.h +++ b/pcsx2/USB/usb-eyetoy/cam-jpeg.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Pcsx2Defs.h" diff --git a/pcsx2/USB/usb-eyetoy/cam-linux.cpp b/pcsx2/USB/usb-eyetoy/cam-linux.cpp index 587ae174ff2bf..3e2ac65a42293 100644 --- a/pcsx2/USB/usb-eyetoy/cam-linux.cpp +++ b/pcsx2/USB/usb-eyetoy/cam-linux.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "cam-linux.h" diff --git a/pcsx2/USB/usb-eyetoy/cam-linux.h b/pcsx2/USB/usb-eyetoy/cam-linux.h index 875b8ad9b9903..23f91f4fc6fde 100644 --- a/pcsx2/USB/usb-eyetoy/cam-linux.h +++ b/pcsx2/USB/usb-eyetoy/cam-linux.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "videodev.h" diff --git a/pcsx2/USB/usb-eyetoy/cam-noop.cpp b/pcsx2/USB/usb-eyetoy/cam-noop.cpp index 7f5a4619dedfb..030636f421796 100644 --- a/pcsx2/USB/usb-eyetoy/cam-noop.cpp +++ b/pcsx2/USB/usb-eyetoy/cam-noop.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/StringUtil.h" diff --git a/pcsx2/USB/usb-eyetoy/cam-windows.cpp b/pcsx2/USB/usb-eyetoy/cam-windows.cpp index 73552a3b22ddf..eb5d4b5404718 100644 --- a/pcsx2/USB/usb-eyetoy/cam-windows.cpp +++ b/pcsx2/USB/usb-eyetoy/cam-windows.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Console.h" diff --git a/pcsx2/USB/usb-eyetoy/cam-windows.h b/pcsx2/USB/usb-eyetoy/cam-windows.h index f4eff904cfc9b..4d11544cc41a7 100644 --- a/pcsx2/USB/usb-eyetoy/cam-windows.h +++ b/pcsx2/USB/usb-eyetoy/cam-windows.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "videodev.h" diff --git a/pcsx2/USB/usb-eyetoy/jo_mpeg.h b/pcsx2/USB/usb-eyetoy/jo_mpeg.h index 3e36e5c27268e..b1d41b16f2b81 100644 --- a/pcsx2/USB/usb-eyetoy/jo_mpeg.h +++ b/pcsx2/USB/usb-eyetoy/jo_mpeg.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef __cplusplus diff --git a/pcsx2/USB/usb-eyetoy/ov519.h b/pcsx2/USB/usb-eyetoy/ov519.h index c48cd798c4794..76fecc42285f7 100644 --- a/pcsx2/USB/usb-eyetoy/ov519.h +++ b/pcsx2/USB/usb-eyetoy/ov519.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* I2C registers */ diff --git a/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp b/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp index 603f2a8c52faf..7c483487e0935 100644 --- a/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp +++ b/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.h b/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.h index dceecdd275854..2aa599daa7da1 100644 --- a/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.h +++ b/pcsx2/USB/usb-eyetoy/usb-eyetoy-webcam.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-eyetoy/videodev.h b/pcsx2/USB/usb-eyetoy/videodev.h index c2e6e21aefbf6..dfc642242092c 100644 --- a/pcsx2/USB/usb-eyetoy/videodev.h +++ b/pcsx2/USB/usb-eyetoy/videodev.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-hid/usb-hid.h b/pcsx2/USB/usb-hid/usb-hid.h index 1169882919079..ae3c00adc161a 100644 --- a/pcsx2/USB/usb-hid/usb-hid.h +++ b/pcsx2/USB/usb-hid/usb-hid.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-lightgun/guncon2.cpp b/pcsx2/USB/usb-lightgun/guncon2.cpp index 2fe57b060d2d8..ad66a0612d602 100644 --- a/pcsx2/USB/usb-lightgun/guncon2.cpp +++ b/pcsx2/USB/usb-lightgun/guncon2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "GS/GS.h" diff --git a/pcsx2/USB/usb-lightgun/guncon2.h b/pcsx2/USB/usb-lightgun/guncon2.h index 9fd8bd39be8d7..8f7e1db179bad 100644 --- a/pcsx2/USB/usb-lightgun/guncon2.h +++ b/pcsx2/USB/usb-lightgun/guncon2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-mic/audiodev-cubeb.cpp b/pcsx2/USB/usb-mic/audiodev-cubeb.cpp index 3908e7d3131f5..0db8a1bdd35ab 100644 --- a/pcsx2/USB/usb-mic/audiodev-cubeb.cpp +++ b/pcsx2/USB/usb-mic/audiodev-cubeb.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "USB/usb-mic/audiodev-cubeb.h" diff --git a/pcsx2/USB/usb-mic/audiodev-cubeb.h b/pcsx2/USB/usb-mic/audiodev-cubeb.h index f2123a84db1fd..35989dc1da8e3 100644 --- a/pcsx2/USB/usb-mic/audiodev-cubeb.h +++ b/pcsx2/USB/usb-mic/audiodev-cubeb.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "USB/shared/ringbuffer.h" diff --git a/pcsx2/USB/usb-mic/audiodev-noop.h b/pcsx2/USB/usb-mic/audiodev-noop.h index d26ff4aa737e2..ef79c7b52d97d 100644 --- a/pcsx2/USB/usb-mic/audiodev-noop.h +++ b/pcsx2/USB/usb-mic/audiodev-noop.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-mic/audiodev.h b/pcsx2/USB/usb-mic/audiodev.h index 4845cc285340a..0a2123cfd05e4 100644 --- a/pcsx2/USB/usb-mic/audiodev.h +++ b/pcsx2/USB/usb-mic/audiodev.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // diff --git a/pcsx2/USB/usb-mic/usb-headset.h b/pcsx2/USB/usb-mic/usb-headset.h index b16e8779b6833..79594099785f1 100644 --- a/pcsx2/USB/usb-mic/usb-headset.h +++ b/pcsx2/USB/usb-mic/usb-headset.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "USB/deviceproxy.h" diff --git a/pcsx2/USB/usb-mic/usb-mic.h b/pcsx2/USB/usb-mic/usb-mic.h index 74da32351469f..fd8b14f27fe71 100644 --- a/pcsx2/USB/usb-mic/usb-mic.h +++ b/pcsx2/USB/usb-mic/usb-mic.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-msd/usb-msd.cpp b/pcsx2/USB/usb-msd/usb-msd.cpp index d1c3c1a622b35..0010c52b38c63 100644 --- a/pcsx2/USB/usb-msd/usb-msd.cpp +++ b/pcsx2/USB/usb-msd/usb-msd.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "USB/qemu-usb/qusb.h" diff --git a/pcsx2/USB/usb-msd/usb-msd.h b/pcsx2/USB/usb-msd/usb-msd.h index 6619d2775d879..9a4cebdecc7a9 100644 --- a/pcsx2/USB/usb-msd/usb-msd.h +++ b/pcsx2/USB/usb-msd/usb-msd.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/lg/lg_ff.cpp b/pcsx2/USB/usb-pad/lg/lg_ff.cpp index 57185012da058..6ff161bdc2645 100644 --- a/pcsx2/USB/usb-pad/lg/lg_ff.cpp +++ b/pcsx2/USB/usb-pad/lg/lg_ff.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0-only #include "lg_ff.h" diff --git a/pcsx2/USB/usb-pad/lg/lg_ff.h b/pcsx2/USB/usb-pad/lg/lg_ff.h index a59b9b6a65751..dcf09770970dd 100644 --- a/pcsx2/USB/usb-pad/lg/lg_ff.h +++ b/pcsx2/USB/usb-pad/lg/lg_ff.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0-only #pragma once diff --git a/pcsx2/USB/usb-pad/usb-buzz.cpp b/pcsx2/USB/usb-pad/usb-buzz.cpp index 9f9bc5eb79b4e..08a3a1c2e3a6b 100644 --- a/pcsx2/USB/usb-pad/usb-buzz.cpp +++ b/pcsx2/USB/usb-pad/usb-buzz.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/USB/usb-pad/usb-buzz.h b/pcsx2/USB/usb-pad/usb-buzz.h index 88e2260797a0c..237a07f8c17b0 100644 --- a/pcsx2/USB/usb-pad/usb-buzz.h +++ b/pcsx2/USB/usb-pad/usb-buzz.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/usb-gametrak.cpp b/pcsx2/USB/usb-pad/usb-gametrak.cpp index 5085a6dc3bf22..1fe279914a26d 100644 --- a/pcsx2/USB/usb-pad/usb-gametrak.cpp +++ b/pcsx2/USB/usb-pad/usb-gametrak.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/USB/usb-pad/usb-gametrak.h b/pcsx2/USB/usb-pad/usb-gametrak.h index 76bfdeb3a7042..a1df8622239e7 100644 --- a/pcsx2/USB/usb-pad/usb-gametrak.h +++ b/pcsx2/USB/usb-pad/usb-gametrak.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/usb-pad-ff.cpp b/pcsx2/USB/usb-pad/usb-pad-ff.cpp index 86d03b7d92541..4ef6f093b8dd5 100644 --- a/pcsx2/USB/usb-pad/usb-pad-ff.cpp +++ b/pcsx2/USB/usb-pad/usb-pad-ff.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "usb-pad.h" diff --git a/pcsx2/USB/usb-pad/usb-pad-sdl-ff.cpp b/pcsx2/USB/usb-pad/usb-pad-sdl-ff.cpp index 8d14f21be6e62..642a201f862e1 100644 --- a/pcsx2/USB/usb-pad/usb-pad-sdl-ff.cpp +++ b/pcsx2/USB/usb-pad/usb-pad-sdl-ff.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Input/InputManager.h" diff --git a/pcsx2/USB/usb-pad/usb-pad-sdl-ff.h b/pcsx2/USB/usb-pad/usb-pad-sdl-ff.h index 25d5c09978461..0a8c034b17840 100644 --- a/pcsx2/USB/usb-pad/usb-pad-sdl-ff.h +++ b/pcsx2/USB/usb-pad/usb-pad-sdl-ff.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/usb-pad.cpp b/pcsx2/USB/usb-pad/usb-pad.cpp index 345ecfbd7fa62..fe329f6f7ba44 100644 --- a/pcsx2/USB/usb-pad/usb-pad.cpp +++ b/pcsx2/USB/usb-pad/usb-pad.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "usb-pad.h" diff --git a/pcsx2/USB/usb-pad/usb-pad.h b/pcsx2/USB/usb-pad/usb-pad.h index 4a8da1f21aa26..6f1f7133fee12 100644 --- a/pcsx2/USB/usb-pad/usb-pad.h +++ b/pcsx2/USB/usb-pad/usb-pad.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/usb-realplay.cpp b/pcsx2/USB/usb-pad/usb-realplay.cpp index d5f5a1d7d4926..5b605c36f8ecb 100644 --- a/pcsx2/USB/usb-pad/usb-realplay.cpp +++ b/pcsx2/USB/usb-pad/usb-realplay.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/USB/usb-pad/usb-realplay.h b/pcsx2/USB/usb-pad/usb-realplay.h index bc479654c9ca2..fd12c093cc758 100644 --- a/pcsx2/USB/usb-pad/usb-realplay.h +++ b/pcsx2/USB/usb-pad/usb-realplay.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/usb-seamic.cpp b/pcsx2/USB/usb-pad/usb-seamic.cpp index b8c1d3270c1bd..09dcba1ce5f60 100644 --- a/pcsx2/USB/usb-pad/usb-seamic.cpp +++ b/pcsx2/USB/usb-pad/usb-seamic.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/USB/usb-pad/usb-train.cpp b/pcsx2/USB/usb-pad/usb-train.cpp index 42cbaef9753f9..b817b88e58070 100644 --- a/pcsx2/USB/usb-pad/usb-train.cpp +++ b/pcsx2/USB/usb-pad/usb-train.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "usb-train.h" diff --git a/pcsx2/USB/usb-pad/usb-train.h b/pcsx2/USB/usb-pad/usb-train.h index f63c2d70dfae4..5d6f44a09e396 100644 --- a/pcsx2/USB/usb-pad/usb-train.h +++ b/pcsx2/USB/usb-pad/usb-train.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/usb-trance-vibrator.cpp b/pcsx2/USB/usb-pad/usb-trance-vibrator.cpp index 2b3f58752762f..3fd49480080e3 100644 --- a/pcsx2/USB/usb-pad/usb-trance-vibrator.cpp +++ b/pcsx2/USB/usb-pad/usb-trance-vibrator.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" diff --git a/pcsx2/USB/usb-pad/usb-trance-vibrator.h b/pcsx2/USB/usb-pad/usb-trance-vibrator.h index d1f74ad8d1fdf..69eba425f4b74 100644 --- a/pcsx2/USB/usb-pad/usb-trance-vibrator.h +++ b/pcsx2/USB/usb-pad/usb-trance-vibrator.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-pad/usb-turntable.cpp b/pcsx2/USB/usb-pad/usb-turntable.cpp index c16bfa8f10e2d..8702e48ad736a 100644 --- a/pcsx2/USB/usb-pad/usb-turntable.cpp +++ b/pcsx2/USB/usb-pad/usb-turntable.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Host.h" @@ -93,19 +93,19 @@ namespace usb_pad u8 right_turntable = 0x80; if (data.left_turntable_ccw > 0) { - left_turntable -= static_cast(std::min(data.left_turntable_ccw * turntable_multiplier, 0x7F)); + left_turntable -= static_cast(std::min(data.left_turntable_ccw, 0x7F)); } else { - left_turntable += static_cast(std::min(data.left_turntable_cw * turntable_multiplier, 0x7F)); + left_turntable += static_cast(std::min(data.left_turntable_cw, 0x7F)); } if (data.right_turntable_ccw > 0) { - right_turntable -= static_cast(std::min(data.right_turntable_ccw * turntable_multiplier, 0x7F)); + right_turntable -= static_cast(std::min(data.right_turntable_ccw, 0x7F)); } else { - right_turntable += static_cast(std::min(data.right_turntable_cw * turntable_multiplier, 0x7F)); + right_turntable += static_cast(std::min(data.right_turntable_cw, 0x7F)); } buf[3] = 0x80; buf[4] = 0x80; @@ -369,19 +369,19 @@ namespace usb_pad break; case CID_DJ_LEFT_TURNTABLE_CW: - s->data.left_turntable_cw = static_cast(std::clamp(std::lroundf(value * 128.0f), 0, 128)); + s->data.left_turntable_cw = static_cast(std::clamp(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128)); break; case CID_DJ_LEFT_TURNTABLE_CCW: - s->data.left_turntable_ccw = static_cast(std::clamp(std::lroundf(value * 128.0f), 0, 128)); + s->data.left_turntable_ccw = static_cast(std::clamp(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128)); break; case CID_DJ_RIGHT_TURNTABLE_CW: - s->data.right_turntable_cw = static_cast(std::clamp(std::lroundf(value * 128.0f), 0, 128)); + s->data.right_turntable_cw = static_cast(std::clamp(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128)); break; case CID_DJ_RIGHT_TURNTABLE_CCW: - s->data.right_turntable_ccw = static_cast(std::clamp(std::lroundf(value * 128.0f), 0, 128)); + s->data.right_turntable_ccw = static_cast(std::clamp(std::lroundf(value * s->turntable_multiplier * 128.0f), 0, 128)); break; case CID_DJ_DPAD_UP: @@ -446,8 +446,8 @@ namespace usb_pad {"EffectsKnobRight", TRANSLATE_NOOP("USB", "Effects Knob Right"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_EFFECTSKNOB_RIGHT, GenericInputBinding::RightStickRight}, {"LeftTurntableCW", TRANSLATE_NOOP("USB", "Left Turntable Clockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_LEFT_TURNTABLE_CW, GenericInputBinding::LeftStickRight}, {"LeftTurntableCCW", TRANSLATE_NOOP("USB", "Left Turntable Counterclockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_LEFT_TURNTABLE_CCW, GenericInputBinding::LeftStickLeft}, - {"RightTurntableCW", TRANSLATE_NOOP("USB", "Right Turntable Clockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CW, GenericInputBinding::LeftStickDown}, - {"RightTurntableCCW", TRANSLATE_NOOP("USB", "Right Turntable Counterclockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CCW, GenericInputBinding::LeftStickUp}, + {"RightTurntableCW", TRANSLATE_NOOP("USB", "Right Turntable Clockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CW, GenericInputBinding::LeftStickUp}, + {"RightTurntableCCW", TRANSLATE_NOOP("USB", "Right Turntable Counterclockwise"), nullptr, InputBindingInfo::Type::HalfAxis, CID_DJ_RIGHT_TURNTABLE_CCW, GenericInputBinding::LeftStickDown}, {"LeftTurntableGreen", TRANSLATE_NOOP("USB", "Left Turntable Green"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_GREEN, GenericInputBinding::Unknown}, {"LeftTurntableRed", TRANSLATE_NOOP("USB", "Left Turntable Red"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_RED, GenericInputBinding::Unknown}, {"LeftTurntableBlue", TRANSLATE_NOOP("USB", "Left Turntable Blue"), nullptr, InputBindingInfo::Type::Button, CID_DJ_LEFT_BLUE, GenericInputBinding::Unknown}, @@ -464,8 +464,8 @@ namespace usb_pad { static constexpr const SettingInfo info[] = { {SettingInfo::Type::Float, "TurntableMultiplier", TRANSLATE_NOOP("USB", "Turntable Multiplier"), - TRANSLATE_NOOP("USB", "Apply a multiplier to the turntable"), - "1.00", "0.00", "100.0", "1.0", "%.0fx", nullptr, nullptr, 1.0f}}; + TRANSLATE_NOOP("USB", "Apply a sensitivity multiplier to turntable rotation.\nXbox 360 turntables require a 256x multiplier, most other turntables can use the default 1x multiplier."), + "1.00", "0.00", "512.0", "1.0", "%.0fx", nullptr, nullptr, 1.0f}}; return info; } diff --git a/pcsx2/USB/usb-pad/usb-turntable.h b/pcsx2/USB/usb-pad/usb-turntable.h index a5ce1fc0fd3a8..87ce0375f6efc 100644 --- a/pcsx2/USB/usb-pad/usb-turntable.h +++ b/pcsx2/USB/usb-pad/usb-turntable.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/USB/usb-printer/usb-printer.cpp b/pcsx2/USB/usb-printer/usb-printer.cpp index 9ae017db86920..e09137fc0fe92 100644 --- a/pcsx2/USB/usb-printer/usb-printer.cpp +++ b/pcsx2/USB/usb-printer/usb-printer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "USB/qemu-usb/qusb.h" diff --git a/pcsx2/USB/usb-printer/usb-printer.h b/pcsx2/USB/usb-printer/usb-printer.h index c92344318622b..437a697a5790c 100644 --- a/pcsx2/USB/usb-printer/usb-printer.h +++ b/pcsx2/USB/usb-printer/usb-printer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/VMManager.cpp b/pcsx2/VMManager.cpp index cb0321c50baad..d4ddc5d4e76bd 100644 --- a/pcsx2/VMManager.cpp +++ b/pcsx2/VMManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Achievements.h" @@ -57,7 +57,7 @@ #include "IconsPromptFont.h" #include "cpuinfo.h" #include "discord_rpc.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include @@ -415,6 +415,10 @@ bool VMManager::Internal::CPUThreadInitialize() if (EmuConfig.EnableDiscordPresence) InitializeDiscordPresence(); + // Check for advanced settings status and warn the user if its enabled + if (Host::GetBaseBoolSettingValue("UI", "ShowAdvancedSettings", false)) + Console.Warning("Settings: Advanced Settings are enabled; only proceed if you know what you're doing! No support will be provided if you have the option enabled."); + return true; } @@ -756,7 +760,7 @@ bool VMManager::ReloadGameSettings() return false; // Patches must come first, because they can affect aspect ratio/interlacing. - Patch::UpdateActivePatches(true, false, true); + Patch::UpdateActivePatches(true, false, true, HasValidVM()); ApplySettings(); return true; } @@ -2557,6 +2561,11 @@ void VMManager::InitializeCPUProviders() CpuMicroVU0.Reserve(); CpuMicroVU1.Reserve(); +#else + // Despite not having any VU recompilers on ARM64, therefore no MTVU, + // we still need the thread alive. Otherwise the read and write positions + // of the ring buffer wont match, and various systems in the emulator end up deadlocked. + vu1Thread.Open(); #endif VifUnpackSSE_Init(); @@ -2576,6 +2585,11 @@ void VMManager::ShutdownCPUProviders() psxRec.Shutdown(); recCpu.Shutdown(); +#else + // See the comment in the InitializeCPUProviders for an explaination why we + // still need to manage the MTVU thread. + if(vu1Thread.IsOpen()) + vu1Thread.WaitVU(); #endif } @@ -2767,6 +2781,7 @@ void VMManager::Internal::EntryPointCompilingOnCPUThread() HandleELFChange(true); Patch::ApplyLoadedPatches(Patch::PPT_ONCE_ON_LOAD); + Patch::ApplyLoadedPatches(Patch::PPT_COMBINED_0_1); // If the config changes at this point, it's a reset, so the game doesn't currently know about the memcard // so there's no need to leave the eject running. FileMcd_CancelEject(); @@ -2774,6 +2789,8 @@ void VMManager::Internal::EntryPointCompilingOnCPUThread() // Toss all the recs, we're going to be executing new code. mmap_ResetBlockTracking(); ClearCPUExecutionCaches(); + + R5900SymbolImporter.OnElfLoadedInMemory(); } void VMManager::Internal::VSyncOnCPUThread() @@ -2887,12 +2904,14 @@ void VMManager::CheckForEmulationSpeedConfigChanges(const Pcsx2Config& old_confi void VMManager::CheckForPatchConfigChanges(const Pcsx2Config& old_config) { if (EmuConfig.EnableCheats == old_config.EnableCheats && + EmuConfig.EnableWideScreenPatches == old_config.EnableWideScreenPatches && + EmuConfig.EnableNoInterlacingPatches == old_config.EnableNoInterlacingPatches && EmuConfig.EnablePatches == old_config.EnablePatches) { return; } - Patch::UpdateActivePatches(true, false, true); + Patch::UpdateActivePatches(true, false, true, HasValidVM()); // This is a bit messy, because the patch config update happens after the settings are loaded, // if we disable widescreen patches, we have to reload the original settings again. diff --git a/pcsx2/VMManager.h b/pcsx2/VMManager.h index 5e73e51da8f20..11af8cd5192e7 100644 --- a/pcsx2/VMManager.h +++ b/pcsx2/VMManager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/VU.h b/pcsx2/VU.h index 1f8224bc396b5..15d944c90b113 100644 --- a/pcsx2/VU.h +++ b/pcsx2/VU.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/VU0.cpp b/pcsx2/VU0.cpp index f0acab03ec564..3324c0876f606 100644 --- a/pcsx2/VU0.cpp +++ b/pcsx2/VU0.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* TODO diff --git a/pcsx2/VU0micro.cpp b/pcsx2/VU0micro.cpp index a6f4566f08074..55c58f9a0c9f4 100644 --- a/pcsx2/VU0micro.cpp +++ b/pcsx2/VU0micro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // This module contains code shared by both the dynarec and interpreter versions diff --git a/pcsx2/VU0microInterp.cpp b/pcsx2/VU0microInterp.cpp index 7b1448261e5fe..42da928ec6689 100644 --- a/pcsx2/VU0microInterp.cpp +++ b/pcsx2/VU0microInterp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/VU1micro.cpp b/pcsx2/VU1micro.cpp index 8f5ca863df331..c5b6b26c00277 100644 --- a/pcsx2/VU1micro.cpp +++ b/pcsx2/VU1micro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // This module contains code shared by both the dynarec and interpreter versions diff --git a/pcsx2/VU1microInterp.cpp b/pcsx2/VU1microInterp.cpp index 57fcd9dfc2a89..19c3acc94b98c 100644 --- a/pcsx2/VU1microInterp.cpp +++ b/pcsx2/VU1microInterp.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/VUflags.cpp b/pcsx2/VUflags.cpp index 22632cf36b613..dd5921a69d957 100644 --- a/pcsx2/VUflags.cpp +++ b/pcsx2/VUflags.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/VUflags.h b/pcsx2/VUflags.h index 86e844ae628f0..3ac149d5fe505 100644 --- a/pcsx2/VUflags.h +++ b/pcsx2/VUflags.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/VUmicro.cpp b/pcsx2/VUmicro.cpp index 28ebde89fd867..e4369edd930bb 100644 --- a/pcsx2/VUmicro.cpp +++ b/pcsx2/VUmicro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/VUmicro.h b/pcsx2/VUmicro.h index a9dab4df9253d..6c27af32482f0 100644 --- a/pcsx2/VUmicro.h +++ b/pcsx2/VUmicro.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/VUmicroMem.cpp b/pcsx2/VUmicroMem.cpp index 62e863f28bd4d..de16552b821cf 100644 --- a/pcsx2/VUmicroMem.cpp +++ b/pcsx2/VUmicroMem.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/VUops.cpp b/pcsx2/VUops.cpp index dfa777e8aeea5..04fc191a89ab1 100644 --- a/pcsx2/VUops.cpp +++ b/pcsx2/VUops.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/VUops.h b/pcsx2/VUops.h index 9273bb490912b..bebca654eb507 100644 --- a/pcsx2/VUops.h +++ b/pcsx2/VUops.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Vif.cpp b/pcsx2/Vif.cpp index be0e38d8c92ab..098adde386a6a 100644 --- a/pcsx2/Vif.cpp +++ b/pcsx2/Vif.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Vif.h b/pcsx2/Vif.h index 94c75f6842816..dff96ed81c4b7 100644 --- a/pcsx2/Vif.h +++ b/pcsx2/Vif.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Vif0_Dma.cpp b/pcsx2/Vif0_Dma.cpp index ecacc48403026..f9e038c479a6d 100644 --- a/pcsx2/Vif0_Dma.cpp +++ b/pcsx2/Vif0_Dma.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Vif1_Dma.cpp b/pcsx2/Vif1_Dma.cpp index c58b31a37ac6f..1b69e795906aa 100644 --- a/pcsx2/Vif1_Dma.cpp +++ b/pcsx2/Vif1_Dma.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Vif1_MFIFO.cpp b/pcsx2/Vif1_MFIFO.cpp index 654a9d165d074..eaa7058436f44 100644 --- a/pcsx2/Vif1_MFIFO.cpp +++ b/pcsx2/Vif1_MFIFO.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Vif_Codes.cpp b/pcsx2/Vif_Codes.cpp index 673359a6c9760..824db8c85238a 100644 --- a/pcsx2/Vif_Codes.cpp +++ b/pcsx2/Vif_Codes.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Vif_Dma.h b/pcsx2/Vif_Dma.h index 020eaa6ddcac6..c92b140b2a407 100644 --- a/pcsx2/Vif_Dma.h +++ b/pcsx2/Vif_Dma.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Vif_Dynarec.h b/pcsx2/Vif_Dynarec.h index 33e4fb4f2700a..da8da07a7253a 100644 --- a/pcsx2/Vif_Dynarec.h +++ b/pcsx2/Vif_Dynarec.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/Vif_HashBucket.h b/pcsx2/Vif_HashBucket.h index 6e650d0458c38..8bd6d9084d69d 100644 --- a/pcsx2/Vif_HashBucket.h +++ b/pcsx2/Vif_HashBucket.h @@ -1,10 +1,9 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once #include -#include "fmt/core.h" #include "common/AlignedMalloc.h" // nVifBlock - Ordered for Hashing; the 'num' and 'upkType' fields are diff --git a/pcsx2/Vif_Transfer.cpp b/pcsx2/Vif_Transfer.cpp index e7c51758bc93a..081dfc7a238ed 100644 --- a/pcsx2/Vif_Transfer.cpp +++ b/pcsx2/Vif_Transfer.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Vif_Unpack.cpp b/pcsx2/Vif_Unpack.cpp index 7fb229523cead..4246bafc4bf7e 100644 --- a/pcsx2/Vif_Unpack.cpp +++ b/pcsx2/Vif_Unpack.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/Vif_Unpack.h b/pcsx2/Vif_Unpack.h index 93dc1057269a9..8f6abe5cec51c 100644 --- a/pcsx2/Vif_Unpack.h +++ b/pcsx2/Vif_Unpack.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/arm64/AsmHelpers.cpp b/pcsx2/arm64/AsmHelpers.cpp index 7c291f9eaab00..4314c11c2d2c8 100644 --- a/pcsx2/arm64/AsmHelpers.cpp +++ b/pcsx2/arm64/AsmHelpers.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #include "arm64/AsmHelpers.h" diff --git a/pcsx2/arm64/AsmHelpers.h b/pcsx2/arm64/AsmHelpers.h index 0fbc8d549f384..550b3c6102cb9 100644 --- a/pcsx2/arm64/AsmHelpers.h +++ b/pcsx2/arm64/AsmHelpers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #pragma once diff --git a/pcsx2/arm64/RecStubs.cpp b/pcsx2/arm64/RecStubs.cpp index f52cb45290d87..a22185bd97ca1 100644 --- a/pcsx2/arm64/RecStubs.cpp +++ b/pcsx2/arm64/RecStubs.cpp @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 +#include "common/Console.h" +#include "MTVU.h" #include "SaveState.h" #include "vtlb.h" @@ -13,6 +15,16 @@ void vtlb_DynBackpatchLoadStore(uptr code_address, u32 code_size, u32 guest_pc, bool SaveStateBase::vuJITFreeze() { - pxFailRel("Not implemented."); - return false; + if(IsSaving()) + vu1Thread.WaitVU(); + + Console.Warning("recompiler state is stubbed in arm64!"); + + // HACK!! + + // size of microRegInfo structure + std::array empty_data{}; + Freeze(empty_data); + Freeze(empty_data); + return true; } diff --git a/pcsx2/arm64/Vif_Dynarec.cpp b/pcsx2/arm64/Vif_Dynarec.cpp index 5328b3adc7e33..cda10c41fc211 100644 --- a/pcsx2/arm64/Vif_Dynarec.cpp +++ b/pcsx2/arm64/Vif_Dynarec.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #include "arm64/Vif_UnpackNEON.h" diff --git a/pcsx2/arm64/Vif_UnpackNEON.cpp b/pcsx2/arm64/Vif_UnpackNEON.cpp index 25af5561dcdc7..18d5d4879ead9 100644 --- a/pcsx2/arm64/Vif_UnpackNEON.cpp +++ b/pcsx2/arm64/Vif_UnpackNEON.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #include "Vif_UnpackNEON.h" diff --git a/pcsx2/arm64/Vif_UnpackNEON.h b/pcsx2/arm64/Vif_UnpackNEON.h index a9f3e9240403d..556bc6c56f4d8 100644 --- a/pcsx2/arm64/Vif_UnpackNEON.h +++ b/pcsx2/arm64/Vif_UnpackNEON.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0 #pragma once diff --git a/pcsx2/ps2/BiosTools.cpp b/pcsx2/ps2/BiosTools.cpp index 0f3f9a33c0f82..7e92f11891fac 100644 --- a/pcsx2/ps2/BiosTools.cpp +++ b/pcsx2/ps2/BiosTools.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/ps2/BiosTools.h b/pcsx2/ps2/BiosTools.h index 63bb43a455692..139210b2c8a39 100644 --- a/pcsx2/ps2/BiosTools.h +++ b/pcsx2/ps2/BiosTools.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/ps2/HwInternal.h b/pcsx2/ps2/HwInternal.h index 8c72fc0049aa0..5871e4b7fb8e3 100644 --- a/pcsx2/ps2/HwInternal.h +++ b/pcsx2/ps2/HwInternal.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/ps2/Iop/IopHwRead.cpp b/pcsx2/ps2/Iop/IopHwRead.cpp index e3f577e8fc559..89206f8c9c72c 100644 --- a/pcsx2/ps2/Iop/IopHwRead.cpp +++ b/pcsx2/ps2/Iop/IopHwRead.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IopHw_Internal.h" diff --git a/pcsx2/ps2/Iop/IopHwWrite.cpp b/pcsx2/ps2/Iop/IopHwWrite.cpp index d8ad5e2311b14..628e747ed6268 100644 --- a/pcsx2/ps2/Iop/IopHwWrite.cpp +++ b/pcsx2/ps2/Iop/IopHwWrite.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "IopHw_Internal.h" diff --git a/pcsx2/ps2/Iop/IopHw_Internal.h b/pcsx2/ps2/Iop/IopHw_Internal.h index 66baa54191d90..be94605da3251 100644 --- a/pcsx2/ps2/Iop/IopHw_Internal.h +++ b/pcsx2/ps2/Iop/IopHw_Internal.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -6,7 +6,7 @@ #include "Common.h" #include "IopHw.h" -#include "fmt/core.h" +#include "fmt/format.h" namespace IopMemory { namespace Internal { diff --git a/pcsx2/ps2/Iop/PsxBios.cpp b/pcsx2/ps2/Iop/PsxBios.cpp index 3810bf462eebe..39cf54579735d 100644 --- a/pcsx2/ps2/Iop/PsxBios.cpp +++ b/pcsx2/ps2/Iop/PsxBios.cpp @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" #include "R3000A.h" #include "IopMem.h" -#include "fmt/core.h" +#include "fmt/format.h" static std::string psxout_buf; diff --git a/pcsx2/ps2/eeHwTraceLog.inl b/pcsx2/ps2/eeHwTraceLog.inl index ebd3fd94c3e45..95dde85290798 100644 --- a/pcsx2/ps2/eeHwTraceLog.inl +++ b/pcsx2/ps2/eeHwTraceLog.inl @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once -#include "fmt/core.h" +#include "fmt/format.h" #define eeAddrInRange(name, addr) \ (addr >= EEMemoryMap::name##_Start && addr < EEMemoryMap::name##_End) diff --git a/pcsx2/ps2/pgif.cpp b/pcsx2/ps2/pgif.cpp index 0b5d6dc1b17b6..fcc1aec2a8a62 100644 --- a/pcsx2/ps2/pgif.cpp +++ b/pcsx2/ps2/pgif.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "ps2/Iop/IopHw_Internal.h" diff --git a/pcsx2/ps2/pgif.h b/pcsx2/ps2/pgif.h index 86a921f8a0828..8c32b869c4815 100644 --- a/pcsx2/ps2/pgif.h +++ b/pcsx2/ps2/pgif.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/sif2.cpp b/pcsx2/sif2.cpp index d916662503feb..670f2161ef693 100644 --- a/pcsx2/sif2.cpp +++ b/pcsx2/sif2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #define _PC_ // disables MIPS opcode macros. diff --git a/pcsx2/vtlb.cpp b/pcsx2/vtlb.cpp index 6934639d4cc0a..2b94267042d94 100644 --- a/pcsx2/vtlb.cpp +++ b/pcsx2/vtlb.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ /* @@ -27,7 +27,7 @@ #include "common/BitUtils.h" #include "common/Error.h" -#include "fmt/core.h" +#include "fmt/format.h" #include #include @@ -109,46 +109,114 @@ vtlb_private::VTLBVirtual::VTLBVirtual(VTLBPhysical phys, u32 paddr, u32 vaddr) } } -__inline int ConvertPageMask(u32 PageMask) -{ - const u32 mask = std::popcount(PageMask >> 13); - - pxAssertMsg(!((mask & 1) || mask > 12), "Invalid page mask for this TLB entry. EE cache doesn't know what to do here."); - - return (1 << (12 + mask)) - 1; -} +#if defined(_M_X86) +#include +#elif defined(_M_ARM64) +#if defined(_MSC_VER) && !defined(__clang__) +#include +#else +#include +#endif +#endif __inline int CheckCache(u32 addr) { - u32 mask; - + // Check if the cache is enabled if (((cpuRegs.CP0.n.Config >> 16) & 0x1) == 0) { - //DevCon.Warning("Data Cache Disabled! %x", cpuRegs.CP0.n.Config); - return false; // + return false; } - for (int i = 1; i < 48; i++) + size_t i = 0; + const size_t size = cachedTlbs.count; + +#if defined(_M_X86) + const int stride = 4; + + const __m128i addr_vec = _mm_set1_epi32(addr); + + for (; i + stride <= size; i += stride) { - if (((tlb[i].EntryLo1 & 0x38) >> 3) == 0x3) + const __m128i pfn1_vec = _mm_loadu_si128(reinterpret_cast(&cachedTlbs.PFN1s[i])); + const __m128i pfn0_vec = _mm_loadu_si128(reinterpret_cast(&cachedTlbs.PFN0s[i])); + const __m128i mask_vec = _mm_loadu_si128(reinterpret_cast(&cachedTlbs.PageMasks[i])); + + const __m128i cached1_vec = _mm_loadu_si128(reinterpret_cast(&cachedTlbs.CacheEnabled1[i])); + const __m128i cached0_vec = _mm_loadu_si128(reinterpret_cast(&cachedTlbs.CacheEnabled0[i])); + + const __m128i pfn1_end_vec = _mm_add_epi32(pfn1_vec, mask_vec); + const __m128i pfn0_end_vec = _mm_add_epi32(pfn0_vec, mask_vec); + + // pfn0 <= addr + const __m128i gteLowerBound0 = _mm_or_si128( + _mm_cmpgt_epi32(addr_vec, pfn0_vec), + _mm_cmpeq_epi32(addr_vec, pfn0_vec)); + // pfn0 + mask >= addr + const __m128i gteUpperBound0 = _mm_or_si128( + _mm_cmpgt_epi32(pfn0_end_vec, addr_vec), + _mm_cmpeq_epi32(pfn0_end_vec, addr_vec)); + + // pfn1 <= addr + const __m128i gteUpperBound1 = _mm_or_si128( + _mm_cmpgt_epi32(pfn1_end_vec, addr_vec), + _mm_cmpeq_epi32(pfn1_end_vec, addr_vec)); + // pfn1 + mask >= addr + const __m128i gteLowerBound1 = _mm_or_si128( + _mm_cmpgt_epi32(addr_vec, pfn1_vec), + _mm_cmpeq_epi32(addr_vec, pfn1_vec)); + + // pfn0 <= addr <= pfn0 + mask + __m128i cmp0 = _mm_and_si128(gteLowerBound0, gteUpperBound0); + // pfn1 <= addr <= pfn1 + mask + __m128i cmp1 = _mm_and_si128(gteLowerBound1, gteUpperBound1); + + cmp1 = _mm_and_si128(cmp1, cached1_vec); + cmp0 = _mm_and_si128(cmp0, cached0_vec); + + const __m128i cmp = _mm_or_si128(cmp1, cmp0); + + if (!_mm_testz_si128(cmp, cmp)) { - mask = ConvertPageMask(tlb[i].PageMask); - if ((addr >= tlb[i].PFN1) && (addr <= tlb[i].PFN1 + mask)) - { - //DevCon.Warning("Yay! Cache check cache addr=%x, mask=%x, addr+mask=%x, VPN2=%x PFN0=%x", addr, mask, (addr & mask), tlb[i].VPN2, tlb[i].PFN0); - return true; - } + return true; } - if (((tlb[i].EntryLo0 & 0x38) >> 3) == 0x3) + } +#elif defined(_M_ARM64) + const int stride = 4; + + const uint32x4_t addr_vec = vld1q_dup_u32(&addr); + + for (; i + stride <= size; i += stride) + { + const uint32x4_t pfn1_vec = vld1q_u32(&cachedTlbs.PFN1s[i]); + const uint32x4_t pfn0_vec = vld1q_u32(&cachedTlbs.PFN0s[i]); + const uint32x4_t mask_vec = vld1q_u32(&cachedTlbs.PageMasks[i]); + + const uint32x4_t cached1_vec = vld1q_u32(&cachedTlbs.CacheEnabled1[i]); + const uint32x4_t cached0_vec = vld1q_u32(&cachedTlbs.CacheEnabled0[i]); + + const uint32x4_t pfn1_end_vec = vaddq_u32(pfn1_vec, mask_vec); + const uint32x4_t pfn0_end_vec = vaddq_u32(pfn0_vec, mask_vec); + + const uint32x4_t cmp1 = vandq_u32(vcgeq_u32(addr_vec, pfn1_vec), vcleq_u32(addr_vec, pfn1_end_vec)); + const uint32x4_t cmp0 = vandq_u32(vcgeq_u32(addr_vec, pfn0_vec), vcleq_u32(addr_vec, pfn0_end_vec)); + + const uint32x4_t lanes_enabled = vorrq_u32(vandq_u32(cached1_vec, cmp1), vandq_u32(cached0_vec, cmp0)); + + const uint32x2_t tmp = vorr_u32(vget_low_u32(lanes_enabled), vget_high_u32(lanes_enabled)); + if (vget_lane_u32(vpmax_u32(tmp, tmp), 0)) + return true; + } +#endif + for (; i < size; i++) + { + const u32 mask = cachedTlbs.PageMasks[i]; + if ((cachedTlbs.CacheEnabled1[i] && addr >= cachedTlbs.PFN1s[i] && addr <= cachedTlbs.PFN1s[i] + mask) || + (cachedTlbs.CacheEnabled0[i] && addr >= cachedTlbs.PFN0s[i] && addr <= cachedTlbs.PFN0s[i] + mask)) { - mask = ConvertPageMask(tlb[i].PageMask); - if ((addr >= tlb[i].PFN0) && (addr <= tlb[i].PFN0 + mask)) - { - //DevCon.Warning("Yay! Cache check cache addr=%x, mask=%x, addr+mask=%x, VPN2=%x PFN0=%x", addr, mask, (addr & mask), tlb[i].VPN2, tlb[i].PFN0); - return true; - } + return true; } } + return false; } // -------------------------------------------------------------------------------------- diff --git a/pcsx2/vtlb.h b/pcsx2/vtlb.h index ad09c4bcd8667..bf069c1631ce0 100644 --- a/pcsx2/vtlb.h +++ b/pcsx2/vtlb.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/windows/Optimus.cpp b/pcsx2/windows/Optimus.cpp index c90bed079bb9e..0f968f662c605 100644 --- a/pcsx2/windows/Optimus.cpp +++ b/pcsx2/windows/Optimus.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #ifdef _WIN32 diff --git a/pcsx2/x86/BaseblockEx.cpp b/pcsx2/x86/BaseblockEx.cpp index ee214f4212040..abdc95f102add 100644 --- a/pcsx2/x86/BaseblockEx.cpp +++ b/pcsx2/x86/BaseblockEx.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "BaseblockEx.h" diff --git a/pcsx2/x86/BaseblockEx.h b/pcsx2/x86/BaseblockEx.h index f1fb4aca5e288..3268fb9431267 100644 --- a/pcsx2/x86/BaseblockEx.h +++ b/pcsx2/x86/BaseblockEx.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/R5900_Profiler.h b/pcsx2/x86/R5900_Profiler.h index a42e862fc0bd2..59776fb7c99ef 100644 --- a/pcsx2/x86/R5900_Profiler.h +++ b/pcsx2/x86/R5900_Profiler.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/Vif_Dynarec.cpp b/pcsx2/x86/Vif_Dynarec.cpp index 71bb58d1eb3b4..1a37ab8f59b66 100644 --- a/pcsx2/x86/Vif_Dynarec.cpp +++ b/pcsx2/x86/Vif_Dynarec.cpp @@ -1,11 +1,10 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Vif_UnpackSSE.h" #include "MTVU.h" #include "common/Perf.h" #include "common/StringUtil.h" -#include "fmt/core.h" void dVifReset(int idx) { diff --git a/pcsx2/x86/Vif_UnpackSSE.cpp b/pcsx2/x86/Vif_UnpackSSE.cpp index 469409e484f89..6d3b92ba28d69 100644 --- a/pcsx2/x86/Vif_UnpackSSE.cpp +++ b/pcsx2/x86/Vif_UnpackSSE.cpp @@ -1,9 +1,8 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Vif_UnpackSSE.h" #include "common/Perf.h" -#include "fmt/core.h" #define xMOV8(regX, loc) xMOVSSZX(regX, loc) #define xMOV16(regX, loc) xMOVSSZX(regX, loc) diff --git a/pcsx2/x86/Vif_UnpackSSE.h b/pcsx2/x86/Vif_UnpackSSE.h index 866a5ce1a753f..c78600ead85e0 100644 --- a/pcsx2/x86/Vif_UnpackSSE.h +++ b/pcsx2/x86/Vif_UnpackSSE.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iCOP0.cpp b/pcsx2/x86/iCOP0.cpp index c1383bc45d05f..3e3a5524d8260 100644 --- a/pcsx2/x86/iCOP0.cpp +++ b/pcsx2/x86/iCOP0.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ // Important Note to Future Developers: diff --git a/pcsx2/x86/iCOP0.h b/pcsx2/x86/iCOP0.h index fbb1f8e1e1d76..3f5d968bd2e07 100644 --- a/pcsx2/x86/iCOP0.h +++ b/pcsx2/x86/iCOP0.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iCore.cpp b/pcsx2/x86/iCore.cpp index a0fc64ab10b60..3c0dbdb3f2ae7 100644 --- a/pcsx2/x86/iCore.cpp +++ b/pcsx2/x86/iCore.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Config.h" diff --git a/pcsx2/x86/iCore.h b/pcsx2/x86/iCore.h index fabdfaca24b9c..d9588e6703818 100644 --- a/pcsx2/x86/iCore.h +++ b/pcsx2/x86/iCore.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iFPU.cpp b/pcsx2/x86/iFPU.cpp index c9dcc863b0d91..cd30674690fac 100644 --- a/pcsx2/x86/iFPU.cpp +++ b/pcsx2/x86/iFPU.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/iFPU.h b/pcsx2/x86/iFPU.h index 08a36e96756ec..8949cb409cbaf 100644 --- a/pcsx2/x86/iFPU.h +++ b/pcsx2/x86/iFPU.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iFPUd.cpp b/pcsx2/x86/iFPUd.cpp index 27a135a758ee4..db1f722a194eb 100644 --- a/pcsx2/x86/iFPUd.cpp +++ b/pcsx2/x86/iFPUd.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/iMMI.cpp b/pcsx2/x86/iMMI.cpp index 6f3c11fd88e7a..b934d49f912d4 100644 --- a/pcsx2/x86/iMMI.cpp +++ b/pcsx2/x86/iMMI.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/iMMI.h b/pcsx2/x86/iMMI.h index 2b9286728face..0db08549be58a 100644 --- a/pcsx2/x86/iMMI.h +++ b/pcsx2/x86/iMMI.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR3000A.cpp b/pcsx2/x86/iR3000A.cpp index 1e23c45da63b5..0a2daffc648e3 100644 --- a/pcsx2/x86/iR3000A.cpp +++ b/pcsx2/x86/iR3000A.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "iR3000A.h" @@ -26,8 +26,6 @@ #include "common/Perf.h" #include "DebugTools/Breakpoints.h" -#include "fmt/core.h" - // #define DUMP_BLOCKS 1 // #define TRACE_BLOCKS 1 @@ -155,7 +153,6 @@ static void iopRecRecompile(u32 startpc); static const void* iopDispatcherEvent = nullptr; static const void* iopDispatcherReg = nullptr; static const void* iopJITCompile = nullptr; -static const void* iopJITCompileInBlock = nullptr; static const void* iopEnterRecompiledCode = nullptr; static const void* iopExitRecompiledCode = nullptr; @@ -183,13 +180,6 @@ static const void* _DynGen_JITCompile() return retval; } -static const void* _DynGen_JITCompileInBlock() -{ - u8* retval = xGetPtr(); - xJMP((void*)iopJITCompile); - return retval; -} - // called when jumping to variable pc address static const void* _DynGen_DispatcherReg() { @@ -244,7 +234,6 @@ static void _DynGen_Dispatchers() iopDispatcherReg = _DynGen_DispatcherReg(); iopJITCompile = _DynGen_JITCompile(); - iopJITCompileInBlock = _DynGen_JITCompileInBlock(); iopEnterRecompiledCode = _DynGen_EnterRecompiledCode(); recBlocks.SetJITCompile(iopJITCompile); @@ -1543,7 +1532,7 @@ static void iopRecRecompile(const u32 startpc) // This detects when SYSMEM is called and clears the modules then if(startpc == 0x890) { - DevCon.WriteLn(Color_Gray, "[R3000 Debugger] Branch to 0x890 (SYSMEM). Clearing modules."); + DevCon.WriteLn(Color_Gray, "R3000 Debugger: Branch to 0x890 (SYSMEM). Clearing modules."); R3000SymbolGuardian.ClearIrxModules(); } @@ -1570,7 +1559,7 @@ static void iopRecRecompile(const u32 startpc) s_pCurBlock = PSX_GETBLOCK(startpc); - pxAssert(s_pCurBlock->GetFnptr() == (uptr)iopJITCompile || s_pCurBlock->GetFnptr() == (uptr)iopJITCompileInBlock); + pxAssert(s_pCurBlock->GetFnptr() == (uptr)iopJITCompile); s_pCurBlockEx = recBlocks.Get(HWADDR(startpc)); @@ -1607,7 +1596,7 @@ static void iopRecRecompile(const u32 startpc) while (1) { BASEBLOCK* pblock = PSX_GETBLOCK(i); - if (i != startpc && pblock->GetFnptr() != (uptr)iopJITCompile && pblock->GetFnptr() != (uptr)iopJITCompileInBlock) + if (i != startpc && pblock->GetFnptr() != (uptr)iopJITCompile) { // branch = 3 willbranch3 = 1; @@ -1716,12 +1705,6 @@ static void iopRecRecompile(const u32 startpc) pxAssert((psxpc - startpc) >> 2 <= 0xffff); s_pCurBlockEx->size = (psxpc - startpc) >> 2; - for (i = 1; i < (u32)s_pCurBlockEx->size; ++i) - { - if (s_pCurBlock[i].GetFnptr() == (uptr)iopJITCompile) - s_pCurBlock[i].SetFnptr((uptr)iopJITCompileInBlock); - } - if (!(psxpc & 0x10000000)) g_psxMaxRecMem = std::max((psxpc & ~0xa0000000), g_psxMaxRecMem); diff --git a/pcsx2/x86/iR3000A.h b/pcsx2/x86/iR3000A.h index f5751524745e0..d0f66a4060f9b 100644 --- a/pcsx2/x86/iR3000A.h +++ b/pcsx2/x86/iR3000A.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR3000Atables.cpp b/pcsx2/x86/iR3000Atables.cpp index 1732b90cba7ac..2b1801bd542b2 100644 --- a/pcsx2/x86/iR3000Atables.cpp +++ b/pcsx2/x86/iR3000Atables.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include diff --git a/pcsx2/x86/iR5900.h b/pcsx2/x86/iR5900.h index 1c0bfe4a4b3df..98ded3d5cdc43 100644 --- a/pcsx2/x86/iR5900.h +++ b/pcsx2/x86/iR5900.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900Analysis.cpp b/pcsx2/x86/iR5900Analysis.cpp index 280c086efdee3..a292222e91037 100644 --- a/pcsx2/x86/iR5900Analysis.cpp +++ b/pcsx2/x86/iR5900Analysis.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "iR5900Analysis.h" diff --git a/pcsx2/x86/iR5900Analysis.h b/pcsx2/x86/iR5900Analysis.h index e3f43cc519c82..3d5aafde42bc1 100644 --- a/pcsx2/x86/iR5900Analysis.h +++ b/pcsx2/x86/iR5900Analysis.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900Arit.h b/pcsx2/x86/iR5900Arit.h index fbbb0dab0bf9c..fbf340e59b773 100644 --- a/pcsx2/x86/iR5900Arit.h +++ b/pcsx2/x86/iR5900Arit.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900AritImm.h b/pcsx2/x86/iR5900AritImm.h index fb2445ef40fb6..0a10906b88e94 100644 --- a/pcsx2/x86/iR5900AritImm.h +++ b/pcsx2/x86/iR5900AritImm.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900Branch.h b/pcsx2/x86/iR5900Branch.h index f5d2d4ead3274..56c79d8428158 100644 --- a/pcsx2/x86/iR5900Branch.h +++ b/pcsx2/x86/iR5900Branch.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900Jump.h b/pcsx2/x86/iR5900Jump.h index 03100abad26b1..f56706952eec8 100644 --- a/pcsx2/x86/iR5900Jump.h +++ b/pcsx2/x86/iR5900Jump.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900LoadStore.h b/pcsx2/x86/iR5900LoadStore.h index d2247a2702216..bac23f9d2b72e 100644 --- a/pcsx2/x86/iR5900LoadStore.h +++ b/pcsx2/x86/iR5900LoadStore.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900Misc.cpp b/pcsx2/x86/iR5900Misc.cpp index a561a5e914787..283468eb3f02c 100644 --- a/pcsx2/x86/iR5900Misc.cpp +++ b/pcsx2/x86/iR5900Misc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/iR5900Move.h b/pcsx2/x86/iR5900Move.h index 78f9d6059b8e1..7c5093b3e9dd8 100644 --- a/pcsx2/x86/iR5900Move.h +++ b/pcsx2/x86/iR5900Move.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900MultDiv.h b/pcsx2/x86/iR5900MultDiv.h index bf8f1465df6c0..ede93ee2006aa 100644 --- a/pcsx2/x86/iR5900MultDiv.h +++ b/pcsx2/x86/iR5900MultDiv.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/iR5900Shift.h b/pcsx2/x86/iR5900Shift.h index 438f51894f3b1..b140ed5668d80 100644 --- a/pcsx2/x86/iR5900Shift.h +++ b/pcsx2/x86/iR5900Shift.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/ix86-32/iCore.cpp b/pcsx2/x86/ix86-32/iCore.cpp index 2e867be16273e..ddd365659eede 100644 --- a/pcsx2/x86/ix86-32/iCore.cpp +++ b/pcsx2/x86/ix86-32/iCore.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "R3000A.h" diff --git a/pcsx2/x86/ix86-32/iR5900.cpp b/pcsx2/x86/ix86-32/iR5900.cpp index c08bb247de800..78d85ddb2d250 100644 --- a/pcsx2/x86/ix86-32/iR5900.cpp +++ b/pcsx2/x86/ix86-32/iR5900.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" @@ -350,7 +350,6 @@ static void dyna_page_reset(u32 start, u32 sz); static const void* DispatcherEvent = nullptr; static const void* DispatcherReg = nullptr; static const void* JITCompile = nullptr; -static const void* JITCompileInBlock = nullptr; static const void* EnterRecompiledCode = nullptr; static const void* DispatchBlockDiscard = nullptr; static const void* DispatchPageReset = nullptr; @@ -389,13 +388,6 @@ static const void* _DynGen_JITCompile() return retval; } -static const void* _DynGen_JITCompileInBlock() -{ - u8* retval = xGetAlignedCallTarget(); - xJMP(JITCompile); - return retval; -} - // called when jumping to variable pc address static const void* _DynGen_DispatcherReg() { @@ -479,7 +471,6 @@ static void _DynGen_Dispatchers() DispatcherReg = _DynGen_DispatcherReg(); JITCompile = _DynGen_JITCompile(); - JITCompileInBlock = _DynGen_JITCompileInBlock(); EnterRecompiledCode = _DynGen_EnterRecompiledCode(); DispatchBlockDiscard = _DynGen_DispatchBlockDiscard(); DispatchPageReset = _DynGen_DispatchPageReset(); @@ -773,9 +764,7 @@ void recClear(u32 addr, u32 size) lowerextent = std::min(lowerextent, blockstart); upperextent = std::max(upperextent, blockend); - // This might end up inside a block that doesn't contain the clearing range, - // so set it to recompile now. This will become JITCompile if we clear it. - pblock->SetFnptr((uptr)JITCompileInBlock); + pblock->SetFnptr((uptr)JITCompile); blockidx--; } @@ -2196,7 +2185,7 @@ static void recRecompile(const u32 startpc) s_pCurBlock = PC_GETBLOCK(startpc); - pxAssert(s_pCurBlock->GetFnptr() == (uptr)JITCompile || s_pCurBlock->GetFnptr() == (uptr)JITCompileInBlock); + pxAssert(s_pCurBlock->GetFnptr() == (uptr)JITCompile); s_pCurBlockEx = recBlocks.Get(HWADDR(startpc)); pxAssert(!s_pCurBlockEx || s_pCurBlockEx->startpc != HWADDR(startpc)); @@ -2325,7 +2314,7 @@ static void recRecompile(const u32 startpc) break; } - if (pblock->GetFnptr() != (uptr)JITCompile && pblock->GetFnptr() != (uptr)JITCompileInBlock) + if (pblock->GetFnptr() != (uptr)JITCompile) { willbranch3 = 1; s_nEndBlock = i; @@ -2664,12 +2653,6 @@ static void recRecompile(const u32 startpc) s_pCurBlock->SetFnptr((uptr)recPtr); - for (i = 1; i < static_cast(s_pCurBlockEx->size); i++) - { - if ((uptr)JITCompile == s_pCurBlock[i].GetFnptr()) - s_pCurBlock[i].SetFnptr((uptr)JITCompileInBlock); - } - if (!(pc & 0x10000000)) maxrecmem = std::max((pc & ~0xa0000000), maxrecmem); diff --git a/pcsx2/x86/ix86-32/iR5900Arit.cpp b/pcsx2/x86/ix86-32/iR5900Arit.cpp index 8025c403a877d..ce1ea149ce838 100644 --- a/pcsx2/x86/ix86-32/iR5900Arit.cpp +++ b/pcsx2/x86/ix86-32/iR5900Arit.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900AritImm.cpp b/pcsx2/x86/ix86-32/iR5900AritImm.cpp index c40ff59298a3e..41baf5a31d195 100644 --- a/pcsx2/x86/ix86-32/iR5900AritImm.cpp +++ b/pcsx2/x86/ix86-32/iR5900AritImm.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900Branch.cpp b/pcsx2/x86/ix86-32/iR5900Branch.cpp index 1cf9f296387ee..b555bc7627918 100644 --- a/pcsx2/x86/ix86-32/iR5900Branch.cpp +++ b/pcsx2/x86/ix86-32/iR5900Branch.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900Jump.cpp b/pcsx2/x86/ix86-32/iR5900Jump.cpp index f01a4bf4a54e0..85b115221fd5d 100644 --- a/pcsx2/x86/ix86-32/iR5900Jump.cpp +++ b/pcsx2/x86/ix86-32/iR5900Jump.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900LoadStore.cpp b/pcsx2/x86/ix86-32/iR5900LoadStore.cpp index 400d6d8b8b6cd..7f433de48ddb2 100644 --- a/pcsx2/x86/ix86-32/iR5900LoadStore.cpp +++ b/pcsx2/x86/ix86-32/iR5900LoadStore.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900Move.cpp b/pcsx2/x86/ix86-32/iR5900Move.cpp index 62de60b10a5ce..cd2cc5bfad2dc 100644 --- a/pcsx2/x86/ix86-32/iR5900Move.cpp +++ b/pcsx2/x86/ix86-32/iR5900Move.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900MultDiv.cpp b/pcsx2/x86/ix86-32/iR5900MultDiv.cpp index 92eaa7385a5eb..5fef7d47567eb 100644 --- a/pcsx2/x86/ix86-32/iR5900MultDiv.cpp +++ b/pcsx2/x86/ix86-32/iR5900MultDiv.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900Shift.cpp b/pcsx2/x86/ix86-32/iR5900Shift.cpp index c65494041de6d..14e7d85d75a4e 100644 --- a/pcsx2/x86/ix86-32/iR5900Shift.cpp +++ b/pcsx2/x86/ix86-32/iR5900Shift.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/iR5900Templates.cpp b/pcsx2/x86/ix86-32/iR5900Templates.cpp index a96d2b661dcaa..c1ffa0e3975d7 100644 --- a/pcsx2/x86/ix86-32/iR5900Templates.cpp +++ b/pcsx2/x86/ix86-32/iR5900Templates.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/ix86-32/recVTLB.cpp b/pcsx2/x86/ix86-32/recVTLB.cpp index d6e9a099aca57..1360469791c3e 100644 --- a/pcsx2/x86/ix86-32/recVTLB.cpp +++ b/pcsx2/x86/ix86-32/recVTLB.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Common.h" diff --git a/pcsx2/x86/microVU.cpp b/pcsx2/x86/microVU.cpp index 6c2c4b2a2e3a3..272bdd60b3edb 100644 --- a/pcsx2/x86/microVU.cpp +++ b/pcsx2/x86/microVU.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "microVU.h" diff --git a/pcsx2/x86/microVU.h b/pcsx2/x86/microVU.h index 2fd22f678d60d..4c0daa4a75d69 100644 --- a/pcsx2/x86/microVU.h +++ b/pcsx2/x86/microVU.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Alloc.inl b/pcsx2/x86/microVU_Alloc.inl index c21309008f376..63ee2b2b03da7 100644 --- a/pcsx2/x86/microVU_Alloc.inl +++ b/pcsx2/x86/microVU_Alloc.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Analyze.inl b/pcsx2/x86/microVU_Analyze.inl index 4f5284f56d345..16d5671863129 100644 --- a/pcsx2/x86/microVU_Analyze.inl +++ b/pcsx2/x86/microVU_Analyze.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Branch.inl b/pcsx2/x86/microVU_Branch.inl index 06f71bb21411e..64514d5004ef0 100644 --- a/pcsx2/x86/microVU_Branch.inl +++ b/pcsx2/x86/microVU_Branch.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Clamp.inl b/pcsx2/x86/microVU_Clamp.inl index 2b0086e3cda3c..297ae444c7d7f 100644 --- a/pcsx2/x86/microVU_Clamp.inl +++ b/pcsx2/x86/microVU_Clamp.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Compile.inl b/pcsx2/x86/microVU_Compile.inl index 97df37b080799..b1d2c506f9347 100644 --- a/pcsx2/x86/microVU_Compile.inl +++ b/pcsx2/x86/microVU_Compile.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Execute.inl b/pcsx2/x86/microVU_Execute.inl index f59910988ad9e..30be7648a1cd5 100644 --- a/pcsx2/x86/microVU_Execute.inl +++ b/pcsx2/x86/microVU_Execute.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Flags.inl b/pcsx2/x86/microVU_Flags.inl index f20f62d8c38a1..c904d2ace602a 100644 --- a/pcsx2/x86/microVU_Flags.inl +++ b/pcsx2/x86/microVU_Flags.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_IR.h b/pcsx2/x86/microVU_IR.h index 855e064570c56..81cadc4aa3386 100644 --- a/pcsx2/x86/microVU_IR.h +++ b/pcsx2/x86/microVU_IR.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Log.inl b/pcsx2/x86/microVU_Log.inl index 31d146e13368c..8e9b4bfd850f7 100644 --- a/pcsx2/x86/microVU_Log.inl +++ b/pcsx2/x86/microVU_Log.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -8,7 +8,7 @@ #include "common/FileSystem.h" #include "common/Path.h" -#include "fmt/core.h" +#include "fmt/format.h" // writes text directly to mVU.logFile, no newlines appended. _mVUt void __mVULog(const char* fmt, ...) diff --git a/pcsx2/x86/microVU_Lower.inl b/pcsx2/x86/microVU_Lower.inl index 916f6cb43ca1c..1ba722cc43a86 100644 --- a/pcsx2/x86/microVU_Lower.inl +++ b/pcsx2/x86/microVU_Lower.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Macro.inl b/pcsx2/x86/microVU_Macro.inl index 7a25994e45c4c..8080bf80480a9 100644 --- a/pcsx2/x86/microVU_Macro.inl +++ b/pcsx2/x86/microVU_Macro.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Misc.h b/pcsx2/x86/microVU_Misc.h index 9c587820a2ef7..0b62880f7438e 100644 --- a/pcsx2/x86/microVU_Misc.h +++ b/pcsx2/x86/microVU_Misc.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Misc.inl b/pcsx2/x86/microVU_Misc.inl index f9e9663a56c2a..102d8479a5cb3 100644 --- a/pcsx2/x86/microVU_Misc.inl +++ b/pcsx2/x86/microVU_Misc.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Profiler.h b/pcsx2/x86/microVU_Profiler.h index 8c18f974bc2aa..32281874549cd 100644 --- a/pcsx2/x86/microVU_Profiler.h +++ b/pcsx2/x86/microVU_Profiler.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Tables.inl b/pcsx2/x86/microVU_Tables.inl index c51ba8bb9a750..5c2ae851122e3 100644 --- a/pcsx2/x86/microVU_Tables.inl +++ b/pcsx2/x86/microVU_Tables.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/microVU_Upper.inl b/pcsx2/x86/microVU_Upper.inl index 6dc786d1cba02..f2d1573d09abf 100644 --- a/pcsx2/x86/microVU_Upper.inl +++ b/pcsx2/x86/microVU_Upper.inl @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/pcsx2/x86/newVif.h b/pcsx2/x86/newVif.h index 043c39a794e9a..c5a6222028d1f 100644 --- a/pcsx2/x86/newVif.h +++ b/pcsx2/x86/newVif.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/tests/ctest/common/byteswap_tests.cpp b/tests/ctest/common/byteswap_tests.cpp index bf95027067eee..41ce2490a2175 100644 --- a/tests/ctest/common/byteswap_tests.cpp +++ b/tests/ctest/common/byteswap_tests.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Pcsx2Defs.h" diff --git a/tests/ctest/common/filesystem_tests.cpp b/tests/ctest/common/filesystem_tests.cpp index d0fd9b89304ad..f1b9e89fae479 100644 --- a/tests/ctest/common/filesystem_tests.cpp +++ b/tests/ctest/common/filesystem_tests.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/FileSystem.h" diff --git a/tests/ctest/common/path_tests.cpp b/tests/ctest/common/path_tests.cpp index e967a61ab0ebf..207821253710d 100644 --- a/tests/ctest/common/path_tests.cpp +++ b/tests/ctest/common/path_tests.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/FileSystem.h" diff --git a/tests/ctest/common/string_util_tests.cpp b/tests/ctest/common/string_util_tests.cpp index 26091338ee2d7..7d2562bbceb24 100644 --- a/tests/ctest/common/string_util_tests.cpp +++ b/tests/ctest/common/string_util_tests.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Pcsx2Defs.h" diff --git a/tests/ctest/common/x86emitter/codegen_tests.cpp b/tests/ctest/common/x86emitter/codegen_tests.cpp index 95c24dfa58f6b..60c5b9e4b0f5a 100644 --- a/tests/ctest/common/x86emitter/codegen_tests.cpp +++ b/tests/ctest/common/x86emitter/codegen_tests.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "codegen_tests.h" diff --git a/tests/ctest/common/x86emitter/codegen_tests.h b/tests/ctest/common/x86emitter/codegen_tests.h index e10d1ece5f3d8..76d61a56204d0 100644 --- a/tests/ctest/common/x86emitter/codegen_tests.h +++ b/tests/ctest/common/x86emitter/codegen_tests.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "common/Pcsx2Defs.h" diff --git a/tests/ctest/common/x86emitter/codegen_tests_main.cpp b/tests/ctest/common/x86emitter/codegen_tests_main.cpp index 1efb5a06181fe..71c57c5a2d33d 100644 --- a/tests/ctest/common/x86emitter/codegen_tests_main.cpp +++ b/tests/ctest/common/x86emitter/codegen_tests_main.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "codegen_tests.h" diff --git a/tests/ctest/core/GS/swizzle_test_main.cpp b/tests/ctest/core/GS/swizzle_test_main.cpp index b0142463599eb..5366762b6b11a 100644 --- a/tests/ctest/core/GS/swizzle_test_main.cpp +++ b/tests/ctest/core/GS/swizzle_test_main.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "pcsx2/GS/GSBlock.h" diff --git a/tests/ctest/core/StubHost.cpp b/tests/ctest/core/StubHost.cpp index fdef880839133..f4de106a92a9a 100644 --- a/tests/ctest/core/StubHost.cpp +++ b/tests/ctest/core/StubHost.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "pcsx2/Achievements.h" diff --git a/tools/generate_update_fa_glyph_ranges.py b/tools/generate_update_fa_glyph_ranges.py index 6b90dc58b91aa..589f12313dec2 100755 --- a/tools/generate_update_fa_glyph_ranges.py +++ b/tools/generate_update_fa_glyph_ranges.py @@ -7,7 +7,7 @@ import functools # PCSX2 - PS2 Emulator for PCs -# Copyright (C) 2002-2024 PCSX2 Dev Team +# Copyright (C) 2002-2025 PCSX2 Dev Team # # PCSX2 is free software: you can redistribute it and/or modify it under the terms # of the GNU General Public License as published by the Free Software Found- diff --git a/tools/merge_ws_ni_patches.py b/tools/merge_ws_ni_patches.py index bffa67e3e31a6..3a15a85b8725d 100644 --- a/tools/merge_ws_ni_patches.py +++ b/tools/merge_ws_ni_patches.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # PCSX2 - PS2 Emulator for PCs -# Copyright (C) 2002-2024 PCSX2 Dev Team +# Copyright (C) 2002-2025 PCSX2 Dev Team # # PCSX2 is free software: you can redistribute it and/or modify it under the terms # of the GNU General Public License as published by the Free Software Found- diff --git a/tools/texture_dump_alpha_scaler.py b/tools/texture_dump_alpha_scaler.py index d729f952d9286..da359b344a119 100755 --- a/tools/texture_dump_alpha_scaler.py +++ b/tools/texture_dump_alpha_scaler.py @@ -7,7 +7,7 @@ from PIL import Image # PCSX2 - PS2 Emulator for PCs -# Copyright (C) 2002-2024 PCSX2 Dev Team +# Copyright (C) 2002-2025 PCSX2 Dev Team # # PCSX2 is free software: you can redistribute it and/or modify it under the terms # of the GNU General Public License as published by the Free Software Found- diff --git a/updater/SZErrors.h b/updater/SZErrors.h index fdf748e237e18..9e8ea10f08bdc 100644 --- a/updater/SZErrors.h +++ b/updater/SZErrors.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/updater/Updater.cpp b/updater/Updater.cpp index 3235cddee760b..22dd54d9c69d4 100644 --- a/updater/Updater.cpp +++ b/updater/Updater.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Updater.h" diff --git a/updater/Updater.h b/updater/Updater.h index 0e5746b6c005e..5c85d344ec385 100644 --- a/updater/Updater.h +++ b/updater/Updater.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once diff --git a/updater/UpdaterExtractor.h b/updater/UpdaterExtractor.h index 7069c3f251104..3cc7b73946e7f 100644 --- a/updater/UpdaterExtractor.h +++ b/updater/UpdaterExtractor.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #pragma once @@ -7,7 +7,7 @@ #include "common/ScopedGuard.h" #include "common/StringUtil.h" -#include "fmt/core.h" +#include "fmt/format.h" #if defined(_WIN32) #include "7z.h" diff --git a/updater/Windows/WindowsUpdater.cpp b/updater/Windows/WindowsUpdater.cpp index af6867943471f..f29c5435e7a57 100644 --- a/updater/Windows/WindowsUpdater.cpp +++ b/updater/Windows/WindowsUpdater.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team +// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team // SPDX-License-Identifier: GPL-3.0+ #include "Updater.h"